亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? qlineedit.cpp

?? qtopia-phone-2.2.0下公共的控件實現源代碼。
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
	    }	    break;	case Key_E:	    end( e->state() & ShiftButton );	    break;	case Key_F:	    cursorRight( e->state() & ShiftButton );	    break;	case Key_H:	    if ( !d->readonly ) {		d->ignoreUndoWithDel = ignoreUndoWithDel;		backspace();	    }	    break;	case Key_K:	    if ( !d->readonly && cursorPos < (int)tbuf.length() ) {		QString t( tbuf );		if ( d->undoList.isEmpty() || d->undoList.last().str != tbuf ) {		    d->undoList += QLineEditUndoItem(tbuf, cursorPos );		    d->redoList.clear();		}		t.truncate( cursorPos );		validateAndSet( t, cursorPos, cursorPos, cursorPos );	    }	    break;#ifndef QT_NO_CLIPBOARD	case Key_V:	    if ( !d->readonly )		insert( QApplication::clipboard()->text() );	    break;	case Key_X:	    if ( !d->readonly && hasMarkedText() && echoMode() == Normal ) {		copy();		del();	    }	    break;#if defined (_WS_WIN_)	case Key_Insert:	    copy();	    break;#endif#endif	case Key_Right:	    if ( echoMode() == Normal )		cursorWordForward( e->state() & ShiftButton );	    else		end( e->state() & ShiftButton );	    break;	case Key_Left:	    if ( echoMode() == Normal )		cursorWordBackward( e->state() & ShiftButton );	    else		home( e->state() & ShiftButton );	    break;	case Key_Z:	    if ( !d->readonly )		undoInternal();	    break;	case Key_Y:	    if ( !d->readonly )		redoInternal();	    break;	default:	    unknown++;	}    } else {	switch ( e->key() ) {	case Key_Left:	    cursorLeft( e->state() & ShiftButton );	    break;	case Key_Right:	    cursorRight( e->state() & ShiftButton );	    break;#ifdef QT_KEYPAD_MODE	case Key_No:	    if( qt_modalEditingEnabled ) {		setText(d->orgTxt);		setModalEditing( FALSE );	    } else {		++unknown;	    }	    break;	case Key_Back:	    if( qt_modalEditingEnabled ) {		if (!e->isAutoRepeat()) {		    if (isReadOnly()) {			setModalEditing( FALSE );		    } else if (tbuf.length() == 0) {			setText(d->orgTxt);			setModalEditing( FALSE );		    } else if ( d->deleteAllTimerId < 0) {			d->deleteAllTimerId = startTimer(750);		    } else {			++unknown;		    }		}	    } else {		++unknown;	    }	    break;#endif	case Key_Backspace:	    if ( !d->readonly ) {		d->ignoreUndoWithDel = ignoreUndoWithDel;		backspace();	    }	    break;	case Key_Home:	    home( e->state() & ShiftButton );	    break;	case Key_End:	    end( e->state() & ShiftButton );	    break;	case Key_Delete:	    if ( !d->readonly ) {#if defined (_WS_WIN_)		if ( e->state() & ShiftButton ) {		    cut();		    break;		}#endif		d->ignoreUndoWithDel = ignoreUndoWithDel;		del();	    }	    break;#if defined (_WS_WIN_)	case Key_Insert:	    if ( !d->readonly && e->state() & ShiftButton )		paste();	    else		unknown++;	    break;#endif	case Key_F14: // Undo key on Sun keyboards	    if ( !d->readonly )		undoInternal();	    break;#ifndef QT_NO_CLIPBOARD	case Key_F16: // Copy key on Sun keyboards	    copy();	    break;	case Key_F18: // Paste key on Sun keyboards	    if ( !d->readonly )		insert( QApplication::clipboard()->text() );	    break;	case Key_F20: // Cut key on Sun keyboards	    if ( !d->readonly && hasMarkedText() && echoMode() == Normal ) {		copy();		del();	    }	    break;#endif	default:	    unknown++;	}    }    if ( unknown ) {				// unknown key	d->needundo = needundo;	e->ignore();	return;    }}/*!\reimp*/void QLineEdit::focusInEvent( QFocusEvent * e){    d->pmDirty = TRUE;    cursorOn = FALSE;    blinkOn();#ifdef QT_KEYPAD_MODE    if( !qt_modalEditingEnabled )#endif    if ( e->reason() == QFocusEvent::Tab )	selectAll();    d->pmDirty = TRUE;    repaint( FALSE );}/*!\reimp*/void QLineEdit::focusOutEvent( QFocusEvent * e ){#ifdef QT_KEYPAD_MODE    if( qt_modalEditingEnabled ) {	if ( isModalEditing() ) // && e->reason() != QFocusEvent::Popup )	    setModalEditing( FALSE );    }#endif    if ( e->reason() != QFocusEvent::ActiveWindow	 && e->reason() != QFocusEvent::Popup )	deselect();    d->dragTimer.stop();    if ( cursorOn )	blinkSlot();    d->pmDirty = TRUE;#ifdef _WS_QWS_    if ( qt_lineedit_password_visible_on_focus &&	 d->resumePassword ) {	d->resumePassword = false;	setEchoMode( Password );    }#endif    repaint( FALSE );}/*!\reimp*/void QLineEdit::leaveEvent( QEvent * ){}extern QPoint qt_backgroundOffset(const QWidget *w);/*!\reimp*/void QLineEdit::paintEvent( QPaintEvent *e ){    if ( d->offsetDirty )	updateOffset();    if ( !d->pm || d->pmDirty ) {	makePixmap();	if ( d->pm->isNull() ) {	    delete d->pm;	    d->pm = 0;	    return;	}	QPainter p( d->pm, this );	const QColorGroup & g = colorGroup();	QBrush bg = g.brush((isEnabled()) ? QColorGroup::Base :			    QColorGroup::Background);#ifdef QT_KEYPAD_MODE	if( qt_modalEditingEnabled ) {	    if ( !isModalEditing() ) {		bg = g.brush(QColorGroup::Background);		QPoint off;		if (parentWidget())		    off = qt_backgroundOffset(parentWidget()) + pos();		p.setBrushOrigin(-(off.x()+frameW()), -(off.y()+frameW()));	    }	}#endif	QFontMetrics fm = fontMetrics();	int markBegin = minMark();	int markEnd = maxMark();#ifndef QT_NO_QWS_IM	if ( d->preeditLength > 0 && d->preeditSelLen > 0 ) {	    markBegin = d->preeditStart + d->preeditCPos;	    markEnd = markBegin + d->preeditSelLen;	}#endif	p.fillRect( 0, 0, width(), height(), bg );	QString display = displayText();	QString before = display.mid( 0, markBegin );	QString marked = display.mid( markBegin, markEnd - markBegin );	QString after = display.mid( markEnd, display.length() );	int y = (d->pm->height() + fm.height())/2 - fm.descent() - 1 ;	int x = offset + 2;	int w;	w = fm.width( before );#ifndef QT_NO_QWS_IM	//We're lazy and also fill in the about-to-be-selected part	if ( composeMode() ) {	    QString beforePre = display.mid( 0, d->preeditStart );	    QString preed = display.mid( d->preeditStart, d->preeditLength );	    int bw = fm.width( beforePre );	    int pw = fm.width( preed );	    if ( !qt_im_compose_background ) {		p.setPen( g.text() );		p.drawLine( x+bw, y+2, x+bw+pw, y+2 ); 	    } else {		p.fillRect( x+bw, 0, pw, height(), *qt_im_compose_background );	    }	}#endif	if ( x < d->pm->width() && x + w >= 0 ) {	    p.setPen( g.text() );	    p.drawText( x, y, before );	}	x += w;	w = fm.width( marked );	if ( x < d->pm->width() && x + w >= 0 ) {	    p.fillRect( x, y-fm.ascent()-1, w, fm.height()+2,			g.brush( QColorGroup::Highlight ) );	    p.setPen( g.highlightedText() );	    p.drawText( x, y, marked );	}	x += w;	w = fm.width( after );	if ( x < d->pm->width() && x + w >= 0 ) {	    p.setPen( g.text() );	    p.drawText( x, y, after );	}	// ... x += w;	p.setPen( g.text() );	d->cursorRepaintRect.setTop( y + frameW() - fm.ascent() );	d->cursorRepaintRect.setHeight( fm.height() );	d->pmDirty = FALSE;    }    QPainter p( this );    if ( frame() ) {	style().drawPanel( &p, 0, 0, width(), height(), colorGroup(),			   TRUE, style().defaultFrameWidth() );	p.drawPixmap( frameW(), frameW(), *d->pm );    } else {	p.drawPixmap( 0, 0, *d->pm );    }    if ( hasFocus() ) {	d->cursorRepaintRect	    = QRect( offset + frameW() +		     fontMetrics().width( displayText().left( cursorPos ) ),		     d->cursorRepaintRect.top(),		     5, d->cursorRepaintRect.height() );	int curYTop = d->cursorRepaintRect.y();	int curYBot = d->cursorRepaintRect.bottom();	int curXPos = d->cursorRepaintRect.x() + 2;	if ( !d->readonly && cursorOn &&#ifdef QT_KEYPAD_MODE	     (!qt_modalEditingEnabled || isModalEditing()) &&#endif	     d->cursorRepaintRect.intersects( e->rect() ) ) {	    p.setPen( colorGroup().text() );	    p.drawLine( curXPos, curYTop, curXPos, curYBot );	    if ( style() != WindowsStyle ) {		p.drawLine( curXPos - 2, curYTop, curXPos + 2, curYTop );		p.drawLine( curXPos - 2, curYBot, curXPos + 2, curYBot );	    }	}#ifdef QT_KEYPAD_MODE	if( qt_modalEditingEnabled ) {	    if(!isModalEditing()) {		style().drawFocusRect( &p, QRect(0, 0, width(), height()), 			colorGroup(), &colorGroup().highlight(), frame());	    }	}#endif	// Now is the optimal time to set this - all the repaint-minimization	// then also reduces the number of calls to setMicroFocusHint().	if ( inBlinkOn )	    setMicroFocusHint( curXPos, curYTop, 1, curYBot-curYTop+1 );    } else {	delete d->pm;	d->pm = 0;    }}/*!\reimp*/void QLineEdit::resizeEvent( QResizeEvent * ){    delete d->pm;    d->pm = 0;    offset = 0;    updateOffset();}/*! \reimp*/bool QLineEdit::event( QEvent * e ){    switch ( e->type() ) {    case QEvent::AccelOverride:	if (!d->readonly ) {	    QKeyEvent* ke = (QKeyEvent*) e;	    if ( ke->state() == NoButton ) {		if ( ke->key() < Key_Escape ) {		    ke->accept();		} else {		    switch ( ke->key() ) {		    case Key_Delete:		    case Key_Home:		    case Key_End:		    case Key_Backspace:			ke->accept();		    default:			break;		    }		}	    } else if ( ke->state() & ControlButton ) {		switch ( ke->key() ) {		    // Those are too frequently used for application functionality		    /*	    case Key_A:				    case Key_B:			    case Key_D:			    case Key_E:			    case Key_F:			    case Key_H:			    case Key_K:		    */		case Key_C:		case Key_V:		case Key_X:	    		case Key_Y:		case Key_Z:	    		case Key_Left:		case Key_Right:#if defined (_WS_WIN_)		case Key_Insert:#endif		    ke->accept();		default:		    break;		}	    }	}	break;#ifndef QT_NO_QWS_IM    case QEvent::IMStart: {#ifdef QT_KEYPAD_MODE	if( qt_modalEditingEnabled ) {	    if ( !isModalEditing() ) {		setModalEditing( TRUE );		clear();	    }	}#ifdef _WS_QWS_	if ( qt_lineedit_password_visible_on_focus &&	     echoMode() == Password ) {	    clear();	    setEchoMode( Normal );	    d->resumePassword = TRUE;	}#endif	#endif // QT_KEYPAD_MODE	QIMEvent *i = (QIMEvent *) e;	imStartEvent(i);	if (! i->isAccepted())	    return FALSE;    }    break;    case QEvent::IMCompose: {	QIMEvent *i = (QIMEvent *) e;	imComposeEvent(i);	if (! i->isAccepted())	    return FALSE;    }    break;    case QEvent::IMEnd: {	QIMEvent *i = (QIMEvent *) e;	imEndEvent(i);	if (! i->isAccepted())	    return FALSE;    }    break;#endif //QT_NO_QWS_IM#ifdef QT_KEYPAD_MODE    case QEvent::EnterModalEdit:	if( qt_modalEditingEnabled ) {	    end( FALSE );	    d->orgTxt = tbuf;	    d->pmDirty = TRUE;#ifdef _WS_QWS_	    if ( qt_lineedit_password_visible_on_focus &&		 echoMode() == Password )		selectAll();#endif	    repaint(FALSE);	}	break;    case QEvent::LeaveModalEdit:	if( qt_modalEditingEnabled ) {#ifdef _WS_QWS_	    if ( qt_lineedit_password_visible_on_focus &&		 d->resumePassword ) {		d->resumePassword = false;		setEchoMode( Password );	    }#endif	    home( FALSE );	    d->pmDirty = TRUE;	    repaint(FALSE);	}	break;    case QEvent::KeyRelease:	if( qt_modalEditingEnabled ) {	    QKeyEvent *ke = (QKeyEvent *)e;	    if ( !ke->isAutoRepeat() && !d->readonly &&		 ke->key() == Key_Back &&		 d->deleteAllTimerId > 0) {		killTimer(d->deleteAllTimerId);		d->deleteAllTimerId = -1;		backspace();	    }	}	break;    case QEvent::Timer: 	if( qt_modalEditingEnabled ) {	    QTimerEvent *te = (QTimerEvent *)e;	    if ( te->timerId() == d->deleteAllTimerId ) {		killTimer(d->deleteAllTimerId);		d->deleteAllTimerId = -1;		clear();	    }	}	break;#endif    default:	break;    }     return QWidget::event( e );}#ifndef QT_NO_QWS_IM//### ??? Undo/Redo for IM events void QLineEdit::imStartEvent( QIMEvent *e ){    /*    setMicroFocusHint( d->cursor->x() - d->offset, d->cursor->y(), 0,	d->cursor->paragraph()->rect().height(), TRUE );    */    //remove selected text:    insert(""); //####    d->preeditStart = cursorPos;    d->preeditLength = 0;    e->accept();//    qDebug( "%p QLineEdit::imStartEvent txt %s cp %d sl %d cursor %d", this,//	      e->text().latin1(), //	      e->cursorPos(), e->selectionLength(), cursorPos );    d->mousePressed = FALSE; //### stop any dragging}void QLineEdit::imComposeEvent( QIMEvent *e ){    if ( isReadOnly() )	return;//    qDebug( "QLineEdit::imComposeEvent txt %s cp %d sl %d", //    e->text().latin1(), //	      e->cursorPos(), e->selectionLength() );    QString test( tbuf);        test.remove( d->preeditStart, d->preeditLength );	    d->preeditLength = e->text().length();    test.insert( d->preeditStart, e->text() );    d->preeditCPos = e->cursorPos();    d->preeditSelLen = e->selectionLength();    cursorPos = d->preeditStart + e->cursorPos();    tbuf = test;    d->pmDirty = TRUE;    d->offsetDirty = TRUE;    blinkOn();    e->accept();#ifdef _WS_QWS_    if ( qt_lineedit_password_visible_on_focus &&	 echoMode() == Password ) {	setEchoMode( Normal );	d->resumePassword = TRUE;    }#endif    ed = TRUE;    emit textChanged( tbuf );}void QLineEdit::forceIMEnd(){    if (composeMode()) {	// force an end.	d->preeditStart = -1;	d->preeditLength = 0;	d->preeditCPos = -1;	d->preeditSelLen = 0;	// possible the below should generate an event to result in an imEnd	// event, but that just seems too complicated.#ifdef _WS_QWS_	QInputContext::notifyWidgetForcedIMEnd(this);#endif    }}/*! \reimp */void QLineEdit::imEndEvent( QIMEvent *e ){//    qDebug( "%p QLineEdit::imEndEvent txt %s cp %d sl %d", this,//	      e->text().latin1(), //	      e->cursorPos(), e->selectionLength() );    QString test( tbuf);#if 0    d->ignoreUndoWithDel = TRUE;    if ( d->undo && ( (d->needundo && !d->ignoreUndoWithDel) || hasMarkedText() ) ) {	if ( d->undoList.isEmpty() || d->undoList.last().str != tbuf ) {	    d->undoList += QLineEditUndoItem(tbuf, cursorPos );	    d->redoList.clear();	}    }#endif        test.remove( d->preeditStart, d->preeditLength );    test.insert( d->preeditStart, e->text() );    int newcp = d->preeditStart+e->text().length();    d->preeditStart = -1;    d->preeditLength = 0;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线观看一区二区| 肉肉av福利一精品导航| 欧美人与性动xxxx| 国产高清不卡一区| 日本亚洲免费观看| 懂色av一区二区三区免费看| 欧美精品一区二区三| 一色屋精品亚洲香蕉网站| 免费成人小视频| 国产精品高潮呻吟久久| 国产成人午夜视频| 极品少妇一区二区| 久久er99热精品一区二区| 日本亚洲电影天堂| 人人爽香蕉精品| 秋霞av亚洲一区二区三| 亚洲一区二区三区自拍| 亚洲激情图片qvod| 国产精品免费网站在线观看| 国产色一区二区| 26uuu精品一区二区三区四区在线| 韩国午夜理伦三级不卡影院| 国产自产2019最新不卡| 久久99精品国产麻豆婷婷洗澡| 亚洲 欧美综合在线网络| 一区二区免费在线| 亚洲美女屁股眼交3| 亚洲综合自拍偷拍| 亚洲一区二区在线观看视频| 亚洲欧美日韩成人高清在线一区| 一区二区欧美国产| 亚洲妇女屁股眼交7| 亚洲狠狠爱一区二区三区| 亚洲不卡在线观看| 视频一区二区欧美| 美女尤物国产一区| 国产成人亚洲精品青草天美 | 日韩在线一区二区| 免费看精品久久片| 精品一区二区三区免费| 国产在线精品一区二区不卡了 | 欧美色图激情小说| 777奇米四色成人影色区| 91麻豆精品国产91久久久久久久久| 制服丝袜亚洲精品中文字幕| 91精品国产91综合久久蜜臀| 日韩欧美自拍偷拍| 国产精品国产自产拍高清av | 欧美日韩在线一区二区| 色香蕉成人二区免费| 欧美天堂亚洲电影院在线播放| 欧美日韩精品专区| 欧美成人性战久久| 亚洲欧洲日韩av| 亚州成人在线电影| 国产剧情一区在线| 欧美亚洲动漫制服丝袜| 日韩一级黄色片| 欧美精品一区二区三区在线播放| 亚洲欧洲三级电影| 亚洲v日本v欧美v久久精品| 九九热在线视频观看这里只有精品| 国产不卡高清在线观看视频| 91视频免费观看| 欧美日韩国产一区| 国产网站一区二区| 亚洲一二三区不卡| 国产99久久精品| 在线观看欧美精品| 久久奇米777| 视频在线观看一区| 成人深夜视频在线观看| 欧美电影影音先锋| 亚洲色图制服诱惑 | 欧美精品一区二区三区蜜桃| 亚洲色图另类专区| 国产乱人伦精品一区二区在线观看 | 欧美电影在线免费观看| 欧美老女人在线| 国产免费久久精品| 一片黄亚洲嫩模| 成人app网站| 日韩一区二区三区三四区视频在线观看 | 欧美在线一二三四区| 日韩欧美亚洲国产精品字幕久久久 | 91小视频在线| 精品剧情在线观看| 一区二区三区四区国产精品| 懂色av一区二区三区免费观看 | 欧美电视剧在线看免费| 久久精品亚洲国产奇米99| 五月婷婷久久丁香| 99精品国产99久久久久久白柏| 欧美一区二区三区色| 国产亚洲欧美一级| 国产精品夜夜嗨| 日韩一区二区电影网| 亚洲成人第一页| 91美女在线视频| 国产日韩精品久久久| 黄页网站大全一区二区| 欧美精品一卡两卡| 亚洲精品欧美二区三区中文字幕| 99久久99久久精品国产片果冻 | 99久久综合99久久综合网站| 久久午夜羞羞影院免费观看| 五月综合激情日本mⅴ| 欧美日韩一区在线观看| 综合久久给合久久狠狠狠97色| 美女视频黄频大全不卡视频在线播放| 欧美视频精品在线观看| 最新国产成人在线观看| 黑人精品欧美一区二区蜜桃| 欧美va在线播放| 亚洲无线码一区二区三区| 欧美亚洲禁片免费| 亚洲欧美精品午睡沙发| 91丨porny丨蝌蚪视频| 国产欧美日产一区| gogogo免费视频观看亚洲一| 欧美国产禁国产网站cc| 美女精品一区二区| 精品国产网站在线观看| 久久精品国产久精国产爱| 2021国产精品久久精品| 国产在线播放一区二区三区| 久久亚洲春色中文字幕久久久| 久久99精品久久久久久动态图| 亚洲精品在线网站| 国产一区二区精品久久99| 欧美一级专区免费大片| 蜜桃久久av一区| 日韩欧美不卡在线观看视频| 国产在线精品视频| 亚洲色图丝袜美腿| 欧美男男青年gay1069videost| 美腿丝袜亚洲一区| 欧美经典一区二区三区| 91免费观看视频| 免费在线看一区| 日本一区二区视频在线观看| 色悠悠久久综合| 日本美女一区二区| 久久久久久久av麻豆果冻| 不卡欧美aaaaa| 亚洲国产精品麻豆| 日韩欧美国产1| 97精品久久久久中文字幕| 午夜精品久久久久影视| 久久亚洲欧美国产精品乐播| 成人av集中营| 丝袜美腿亚洲一区二区图片| 国产色产综合色产在线视频| 在线亚洲一区观看| 精品一区二区免费在线观看| 亚洲欧洲在线观看av| 欧美一区二区三级| 成人av免费在线播放| 麻豆精品在线看| 中文字幕一区二区视频| 欧美性大战xxxxx久久久| 精品一区二区三区在线观看| 精品国产一区二区三区久久久蜜月| 99精品视频在线免费观看| 亚洲精品国产第一综合99久久| 日韩欧美成人激情| av一区二区三区在线| 蜜桃在线一区二区三区| 亚洲男同1069视频| 欧美大胆一级视频| 在线免费精品视频| 看国产成人h片视频| 一区二区三区免费网站| 精品国产一区二区三区久久久蜜月 | 色婷婷久久久亚洲一区二区三区| 蜜桃av一区二区| 成人欧美一区二区三区| 在线不卡一区二区| 国产成人免费视频精品含羞草妖精| 亚洲欧美视频一区| 欧美精品一区二区三| 欧美在线999| 成人av网在线| 久久精品国产99| 午夜电影网一区| 国产精品国产三级国产a| 精品国产一区二区三区av性色 | 亚洲天堂成人网| 日韩精品在线看片z| 在线看日韩精品电影| 国产一区二区三区视频在线播放| 肉色丝袜一区二区| 亚洲手机成人高清视频| 欧美激情在线免费观看| 欧美一卡二卡在线| 欧美一区二区视频网站| 色综合久久久久久久| 成人的网站免费观看| 麻豆91在线观看| 男人的天堂亚洲一区|