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

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

?? qpopupmenu.cpp

?? qtopia-phone-2.2.0下公共的控件實現源代碼。
?? CPP
?? 第 1 頁 / 共 4 頁
字號:
    if ( isVisible() ) {	updateSize();	update();    }}/*!\reimp*/void QPopupMenu::show(){    if ( !isPopup() && isVisible() )	hide();    if ( isVisible() ) {	supressAboutToShow = FALSE;	QWidget::show();	return;    }    if (!supressAboutToShow)	emit aboutToShow();    else	supressAboutToShow = FALSE;    if ( badSize )	updateSize();    QWidget::show();    popupActive = -1;}/*!\reimp*/void QPopupMenu::hide(){    if ( syncMenu == this && qApp ) {	qApp->exit_loop();	syncMenu = 0;    }    if ( !isVisible() ) {	QWidget::hide();  	return;    }    emit aboutToHide();    actItem = popupActive = -1;    mouseBtDn = FALSE;				// mouse button up    hidePopups();    QWidget::hide();}/*!  Calculates the height in pixels of the item in row \a row. */int QPopupMenu::itemHeight( int row ) const{    return itemHeight( mitems->at( row ) );}/*!  Calculates the height in pixels of the item \a mi. */int QPopupMenu::itemHeight( QMenuItem *mi ) const{    if  ( mi->widget() )	return QMAX( mi->widget()->height(), QApplication::globalStrut().height() );    if ( mi->custom() && mi->custom()->fullSpan() )	return QMAX( mi->custom()->sizeHint().height(), QApplication::globalStrut().height() );    if ( mi->isSeparator() )	return style().popupMenuItemHeight( checkable, mi, fontMetrics() );//    return QMAX( style().popupMenuItemHeight( checkable, mi, fontMetrics() ), QApplication::globalStrut().height() );    return style().popupMenuItemHeight( checkable, mi, fontMetrics());}/*!  Draws item \a mi in the area \a x, \a y, \a w, \a h,  using painter \a p.  The item is drawn active or inactive according  to \a act, and using the rightmost \a tab_ pixels for accelerator  text.  \sa QStyle::drawPopupMenuItem()*/void QPopupMenu::drawItem( QPainter* p, int tab_, QMenuItem* mi,			   bool act, int x, int y, int w, int h){    bool dis = !mi->isEnabled();    if ( mi->custom() && mi->custom()->fullSpan() ) {	QMenuItem dummy;	style().drawPopupMenuItem(p, checkable, maxPMWidth, tab_, &dummy, palette(),				  act, !dis, x, y, w, h);	mi->custom()->paint( p, colorGroup(), act, !dis, x, y, w, h );    }    else	style().drawPopupMenuItem(p, checkable, maxPMWidth, tab_, mi, palette(),				  act, !dis, x, y, w, h);}/*!  Draws all menu items.*/void QPopupMenu::drawContents( QPainter* p ){    QMenuItemListIt it(*mitems);    QMenuItem *mi;    int row = 0;    int x = contentsRect().x();    int y = contentsRect().y();    int itemw = contentsRect().width() / ncols;    while ( (mi=it.current()) ) {	++it;	int itemh = itemHeight( row );	if ( ncols > 1 && y + itemh > contentsRect().bottom() ) {	    if ( y < contentsRect().bottom() ) {		style().drawPopupMenuItem(p, checkable, maxPMWidth, tab, 0, palette(),					  FALSE, TRUE, x, y, itemw, contentsRect().bottom()-y);	    }	    y = contentsRect().y();	    x +=itemw;	}	drawItem( p, tab, mi, row == actItem, x, y, itemw, itemh );	y += itemh;	++row;    }    if ( y < contentsRect().bottom() )	style().drawPopupMenuItem(p, checkable, maxPMWidth, tab, 0, palette(),				  FALSE, TRUE, x, y, itemw, contentsRect().bottom()-y);}/*****************************************************************************  Event handlers *****************************************************************************//*!\reimp*/void QPopupMenu::paintEvent( QPaintEvent *e ){    QFrame::paintEvent( e );}/*!\reimp*/void QPopupMenu::closeEvent( QCloseEvent * e) {    e->accept();    hide();    byeMenuBar();}/*!\reimp*/void QPopupMenu::mousePressEvent( QMouseEvent *e ){    mouseBtDn = TRUE;				// mouse button down    int item = itemAtPos( e->pos() );    if ( item == -1 ) {	if ( !rect().contains(e->pos()) && !tryMenuBar(e) ) {	    byeMenuBar();	}	return;    }    register QMenuItem *mi = mitems->at(item);    if ( item != actItem )			// new item activated	setActiveItem( item );    QPopupMenu *popup = mi->popup();    if ( popup ) {	if ( popup->isVisible() ) {		// sub menu already open	    int pactItem = popup->actItem;	    popup->actItem = -1;	    popup->hidePopups();	    popup->updateRow( pactItem );	} else {				// open sub menu	    hidePopups();	    popupSubMenuLater( 20, this );	}    } else {	hidePopups();    }}/*!\reimp*/void QPopupMenu::mouseReleaseEvent( QMouseEvent *e ){    if ( !mouseBtDn && !parentMenu && actItem < 0 && motion < 6 )	return;    mouseBtDn = FALSE;    int item = itemAtPos( e->pos() );    if ( item == -1 ) {	if ( !rect().contains( e->pos() ) && tryMenuBar(e) )	    return;    }    if ( actItem >= 0 ) {			// selected menu item!	register QMenuItem *mi = mitems->at(actItem);	if ( mi ->widget() ) {	    QWidget* widgetAt = QApplication::widgetAt( e->globalPos(), TRUE );	    if ( widgetAt && widgetAt != this ) {		QMouseEvent me( e->type(), widgetAt->mapFromGlobal( e->globalPos() ),				e->globalPos(), e->button(), e->state() );		QApplication::sendEvent( widgetAt, &me );	    }	}	QPopupMenu *popup = mi->popup();#ifndef QT_NO_WHATSTHIS	    bool b = QWhatsThis::inWhatsThisMode();#else	    const bool b = FALSE;#endif	if ( !mi->isEnabled() ) {#ifndef QT_NO_WHATSTHIS	    if ( b ) {		actItem = -1;		updateItem( mi->id() );		byeMenuBar();		actSig( mi->id(), b);	    }#endif	} else 	if ( popup ) {	    popup->setFirstItemActive();	} else {				// normal menu item	    byeMenuBar();			// deactivate menu bar	    if ( mi->isEnabled() ) {		actItem = -1;		updateItem( mi->id() );		active_popup_menu = this;		actSig( mi->id(), b );		if ( mi->signal() && !b )		    mi->signal()->activate();		active_popup_menu = 0;	    }	}    } else {	byeMenuBar();    }}/*!\reimp*/void QPopupMenu::mouseMoveEvent( QMouseEvent *e ){    motion++;    if ( parentMenu && parentMenu->isPopupMenu ) {	QPopupMenu* p = (QPopupMenu*)parentMenu;	int myIndex;	QPoint pPos;	p->findPopup( this, &myIndex );	pPos = p->mapFromParent( mapToGlobal( e->pos() ) );	if ( p->actItem != myIndex && !p->rect().contains( pPos ) )	    p->setActiveItem( myIndex );    }    if ( (e->state() & Qt::MouseButtonMask) == 0 &&	 !hasMouseTracking() )	return;    int	 item = itemAtPos( e->pos() );    if ( item == -1 ) {				// no valid item	int lastActItem = actItem;	actItem = -1;	if ( lastActItem >= 0 )	    updateRow( lastActItem );	if ( !rect().contains( e->pos() )  && !tryMenuBar( e ) )	    popupSubMenuLater( style() == WindowsStyle ? 256 : 96, this );    } else {					// mouse on valid item	// but did not register mouse press	if ( (e->state() & Qt::MouseButtonMask) && !mouseBtDn )	    mouseBtDn = TRUE; // so mouseReleaseEvent will pop down	register QMenuItem *mi = mitems->at( item );	if ( mi ->widget() ) {	    QWidget* widgetAt = QApplication::widgetAt( e->globalPos(), TRUE );	    if ( widgetAt && widgetAt != this ) {		QMouseEvent me( e->type(), widgetAt->mapFromGlobal( e->globalPos() ),				e->globalPos(), e->button(), e->state() );		QApplication::sendEvent( widgetAt, &me );	    }	}	if ( actItem == item )	    return;	if ( mi->popup() || (popupActive >= 0 && popupActive != item) )	    popupSubMenuLater( style() == WindowsStyle ? 256 : 96, this );	else if ( singleSingleShot && *singleSingleShot )	    (*singleSingleShot)->stop();	if ( item != actItem )	    setActiveItem( item );    }}/*!\reimp*/void QPopupMenu::keyPressEvent( QKeyEvent *e ){#if 0	// disabled until some way to SAVE these settings is possible	// also must have global way to disable (eg. for stylus device)    if (mouseBtDn && actItem >= 0) {	if (e->key() == Key_Shift ||	    e->key() == Key_Control ||	    e->key() == Key_Alt)	    return;	QMenuItem *mi = mitems->at(actItem);	int modifier = (((e->state() & ShiftButton) ? SHIFT : 0) |			((e->state() & ControlButton) ? CTRL : 0) |			((e->state() & AltButton) ? ALT : 0));	if (mi)	    setAccel(modifier + e->key(), mi->id());  ;	return;    }#endif    QMenuItem  *mi = 0;    QPopupMenu *popup;    int dy = 0;    bool ok_key = TRUE;    switch ( e->key() ) {    case Key_Tab:	// ignore tab, otherwise it will be passed to the menubar	break;    case Key_Up:	dy = -1;	break;    case Key_Down:	dy = 1;	break;    case Key_Alt:	if ( style() == WindowsStyle ) {	    byeMenuBar();	}	break;#ifdef QT_KEYPAD_MODE    case Key_Back:    case Key_No:#endif    case Key_Escape:	if ( tornOff ) {	    close();	    return;	}	// just hide one	hide();#ifndef QT_NO_MENUBAR  	if ( parentMenu && parentMenu->isMenuBar )	    ((QMenuBar*) parentMenu)->goodbye( TRUE );#endif	break;    case Key_Left:	if ( ncols > 1 && actItem >= 0 ) {	    QRect r( itemGeometry( actItem ) );	    int newActItem = itemAtPos( QPoint( r.left() - 1, r.center().y() ) );	    if ( newActItem >= 0 ) {		setActiveItem( newActItem );		break;	    }	}	if ( parentMenu && parentMenu->isPopupMenu ) {	    ((QPopupMenu *)parentMenu)->hidePopups();	    if ( singleSingleShot && *singleSingleShot )		(*singleSingleShot)->stop();	    break;	}	ok_key = FALSE;    	break;    case Key_Right:	if ( actItem >= 0 && ( mi=mitems->at(actItem) )->isEnabled() && (popup=mi->popup()) ) {	    hidePopups();	    if ( singleSingleShot && *singleSingleShot )		(*singleSingleShot)->stop();	    // ### The next two lines were switched to fix the problem with the first item of the	    // submenu not being highlighted...any reason why they should have been the other way??	    subMenuTimer();	    popup->setFirstItemActive();	    break;	} else if ( actItem == -1 && ( parentMenu && !parentMenu->isMenuBar )) {	    dy = 1;	    break;	}	if ( ncols > 1 && actItem >= 0 ) {	    QRect r( itemGeometry( actItem ) );	    int newActItem = itemAtPos( QPoint( r.right() + 1, r.center().y() ) );	    if ( newActItem >= 0 ) {		setActiveItem( newActItem );		break;	    }	}	ok_key = FALSE;	break;    case Key_Space:	if ( style() != MotifStyle )	    break;	// for motif, fall through#ifdef QT_KEYPAD_MODE    case Key_Select:#endif    case Key_Return:    case Key_Enter:	if ( actItem < 0 )	    break;	mi = mitems->at( actItem );	popup = mi->popup();	if ( popup ) {	    hidePopups();	    popupSubMenuLater( 20, this );	    popup->setFirstItemActive();	} else {	    actItem = -1;	    updateItem( mi->id() );	    byeMenuBar();#ifndef QT_NO_WHATSTHIS	    bool b = QWhatsThis::inWhatsThisMode();#else	    const bool b = FALSE;#endif	    if ( mi->isEnabled() || b ) {		active_popup_menu = this;		actSig( mi->id(), b );		if ( mi->signal() && !b )		    mi->signal()->activate();		active_popup_menu = 0;	    }	}	break;#ifndef QT_NO_WHATSTHIS    case Key_F1:	if ( actItem < 0 || e->state() != ShiftButton)	    break;	mi = mitems->at( actItem );	if ( !mi->whatsThis().isNull() ){	    if ( !QWhatsThis::inWhatsThisMode() )		QWhatsThis::enterWhatsThisMode();	    QRect r( itemGeometry( actItem) );	    QWhatsThis::leaveWhatsThisMode( mi->whatsThis(), mapToGlobal( r.bottomLeft()) );	}	//fall-through!#endif    default:	ok_key = FALSE;    }    if ( !ok_key && ( !e->state() || e->state() == AltButton ) && e->text().length()==1 ) {	QChar c = e->text()[0].upper();	QMenuItemListIt it(*mitems);	register QMenuItem *m;	int indx = 0;	while ( (m=it.current()) ) {	    ++it;	    QString s = m->text();	    if ( !s.isEmpty() ) {		int i = s.find( '&' );		if ( i >= 0 ) {		    if ( s[i+1].upper() == c ) {			mi = m;			ok_key = TRUE;			break;		    }		}	    }	    indx++;	}	if ( mi ) {	    popup = mi->popup();	    if ( popup ) {		setActiveItem( indx );		hidePopups();		popupSubMenuLater( 20, this );		popup->setFirstItemActive();	    } else {		byeMenuBar();#ifndef QT_NO_WHATSTHIS		bool b = QWhatsThis::inWhatsThisMode();#else		const bool b = FALSE;#endif		if ( mi->isEnabled() || b ) {		    active_popup_menu = this;		    actSig( mi->id(), b );		    if ( mi->signal() && !b  )			mi->signal()->activate();		    active_popup_menu = 0;		}	    }	}    }#ifndef QT_NO_MENUBAR    if ( !ok_key ) {				// send to menu bar	register QMenuData *top = this;		// find top level	while ( top->parentMenu )	    top = top->parentMenu;	if ( top->isMenuBar )	    ((QMenuBar*)top)->tryKeyEvent( this, e );    }#endif    if ( dy && actItem < 0 ) {	setFirstItemActive();    } else if ( dy ) {				// highlight next/prev	register int i = actItem;	int c = mitems->count();	int n = c;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色久优优欧美色久优优| 国产成人aaaa| 午夜伊人狠狠久久| 午夜精品在线看| 亚洲国产成人av好男人在线观看| 国产精品视频一二三区| 国产日韩三级在线| 自拍偷拍国产精品| 一区二区三区蜜桃网| 性做久久久久久| 麻豆国产91在线播放| 国产精一品亚洲二区在线视频| 国产99精品国产| 99久久久无码国产精品| 亚洲精品国产视频| 亚洲乱码中文字幕综合| 99久久国产综合精品麻豆| 久久综合成人精品亚洲另类欧美| 欧美日韩三级一区| 欧美高清视频不卡网| 精品欧美一区二区久久| 国产欧美视频一区二区三区| 国产精品国产三级国产| 亚洲成a人v欧美综合天堂 | 日韩中文字幕91| 久久不见久久见免费视频7| 国产精品一级黄| 欧美伊人久久大香线蕉综合69| 欧美高清视频www夜色资源网| 26uuu国产电影一区二区| 国产精品高潮呻吟久久| 婷婷丁香激情综合| 从欧美一区二区三区| 欧美日韩成人综合在线一区二区| 久久香蕉国产线看观看99| 亚洲精品免费在线播放| 久久成人免费电影| 色婷婷综合久久久久中文| 精品噜噜噜噜久久久久久久久试看| 欧美经典三级视频一区二区三区| 亚洲一线二线三线视频| 国产成人夜色高潮福利影视| 欧美色综合影院| 成人免费在线观看入口| 激情av综合网| 欧美日韩国产一级片| 国产精品久久三| 裸体一区二区三区| 色婷婷综合久色| 欧美国产成人精品| 久热成人在线视频| 欧美日韩电影一区| 一区二区三区国产豹纹内裤在线 | 国产老妇另类xxxxx| 欧美乱熟臀69xxxxxx| 中文字幕成人在线观看| 久久99精品视频| 91.xcao| 国产精品久久久久久久久快鸭| 久久99久国产精品黄毛片色诱| 欧美最猛性xxxxx直播| 国产精品乱人伦中文| 国产乱人伦偷精品视频不卡| 日韩一区二区电影在线| 婷婷六月综合网| 欧美三级电影一区| 亚洲精品少妇30p| 色综合久久综合网97色综合| 国产精品视频免费| 懂色av中文字幕一区二区三区| 久久亚洲精品小早川怜子| 久久aⅴ国产欧美74aaa| 日韩一区二区视频| 奇米影视一区二区三区| 欧美日韩免费一区二区三区视频| 伊人婷婷欧美激情| 欧美性欧美巨大黑白大战| 一区二区三区久久久| 欧洲在线/亚洲| 丝袜诱惑亚洲看片| 欧美一区二区在线不卡| 国产自产2019最新不卡| 久久精品一区二区三区不卡牛牛 | a美女胸又www黄视频久久| 国产婷婷精品av在线| 国产成人综合自拍| 亚洲欧洲精品一区二区三区不卡| 成人国产精品视频| 亚洲免费资源在线播放| 欧美日韩日日摸| 蜜桃在线一区二区三区| 国产亚洲一本大道中文在线| jiyouzz国产精品久久| 亚洲一区二区三区四区不卡| 欧美日韩亚洲高清一区二区| 久久er精品视频| 国产精品亲子伦对白| 在线看日本不卡| 美女诱惑一区二区| 国产精品久久久久久久蜜臀| 在线观看视频91| 久久国产精品99久久久久久老狼 | 在线电影国产精品| 老司机一区二区| 中文字幕第一区综合| 欧美性生活大片视频| 蜜桃视频一区二区| 亚洲日穴在线视频| 日韩网站在线看片你懂的| 不卡av免费在线观看| 亚洲成av人片在线观看无码| 久久伊人蜜桃av一区二区| 色综合久久久久综合体| 国产一区免费电影| 一区二区三区中文字幕电影| 日韩精品一区二区三区在线播放 | 亚洲人成网站精品片在线观看| 9191成人精品久久| 99r国产精品| 精品一区二区国语对白| 夜夜精品视频一区二区| 亚洲精品一区二区三区影院| 91成人国产精品| 国产福利一区二区三区视频在线| 亚洲午夜精品一区二区三区他趣| 亚洲精品在线观看网站| 欧美挠脚心视频网站| 99精品在线免费| 国产成人免费高清| 激情综合网激情| 日韩主播视频在线| 亚洲蜜臀av乱码久久精品| 久久亚洲综合色一区二区三区| 欧美日韩日日夜夜| 在线观看国产日韩| 色婷婷激情综合| 99免费精品在线观看| 国产精品一区二区在线观看网站 | jlzzjlzz亚洲日本少妇| 国产精品中文字幕欧美| 蜜桃免费网站一区二区三区 | 91精品婷婷国产综合久久竹菊| 99re热视频精品| k8久久久一区二区三区| 成人app在线观看| 国产精品亚洲专一区二区三区| 激情文学综合插| 久久国产精品色婷婷| 狠狠色丁香婷婷综合| 久久精品国产成人一区二区三区| 日本vs亚洲vs韩国一区三区 | av一区二区三区在线| 国产成a人亚洲精| 成人精品视频一区二区三区| 国产不卡视频在线播放| 成人精品高清在线| 99国产麻豆精品| 一本一本大道香蕉久在线精品| 91网站最新地址| 在线精品视频小说1| 精品视频在线免费看| 91精品国产综合久久福利软件| 欧美一区二区在线看| 精品捆绑美女sm三区| 26uuu另类欧美| 欧美激情一二三区| 亚洲人123区| 午夜精品久久久久久久久久久| 日韩和的一区二区| 精品一区精品二区高清| 成人午夜激情在线| 色偷偷久久人人79超碰人人澡| 欧美在线啊v一区| 日韩亚洲欧美成人一区| 精品国产一区久久| 亚洲欧洲日产国码二区| 午夜精品久久久久久不卡8050| 免费精品视频最新在线| 福利电影一区二区三区| 色综合久久久久综合| 91精品欧美福利在线观看| 自拍视频在线观看一区二区| 亚洲国产毛片aaaaa无费看| 美腿丝袜一区二区三区| av爱爱亚洲一区| 欧美喷水一区二区| 国产精品天天看| 日韩经典一区二区| 成人黄色国产精品网站大全在线免费观看| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美日韩一二区| 国产精品狼人久久影院观看方式| 亚洲国产精品尤物yw在线观看| 紧缚奴在线一区二区三区| 91福利精品第一导航| 欧美mv日韩mv| 亚洲大片一区二区三区| 成人在线综合网站| 欧美一级一区二区| 亚洲男帅同性gay1069|