Changeset 108002 in vbox for trunk/src/VBox/Frontends
- Timestamp:
- Jan 31, 2025 12:07:01 PM (3 months ago)
- svn:sync-xref-src-repo-rev:
- 167274
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/manager/tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsItem.cpp
r108001 r108002 383 383 paintToolInfo(pPainter, rectangle); 384 384 /* Paint extra-button if requested: */ 385 if (m_fExtraButton) 385 if ( m_fExtraButton 386 && model()->isAtLeastOneItemHovered()) 386 387 paintExtraButton(pPainter, rectangle); 387 388 } -
trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.cpp
r108000 r108002 317 317 return pItem; 318 318 return 0; 319 } 320 321 bool UIToolsModel::isAtLeastOneItemHovered() const 322 { 323 foreach (UIToolsItem *pItem, items()) 324 if (pItem->isHovered()) 325 return true; 326 return false; 319 327 } 320 328 … … 451 459 } 452 460 461 void UIToolsModel::sltHandleItemHoverChange() 462 { 463 /* Just update all the items: */ 464 foreach (UIToolsItem *pItem, items()) 465 pItem->update(); 466 } 467 468 void UIToolsModel::sltFocusItemDestroyed() 469 { 470 AssertMsgFailed(("Focus item destroyed!")); 471 } 472 453 473 void UIToolsModel::sltRetranslateUI() 454 474 { … … 476 496 } 477 497 478 void UIToolsModel::sltFocusItemDestroyed()479 {480 AssertMsgFailed(("Focus item destroyed!"));481 }482 483 498 void UIToolsModel::prepare() 484 499 { … … 509 524 m_items << new UIToolsItem(scene(), UIIconPool::iconSet(":/welcome_screen_24px.png", 510 525 ":/welcome_screen_24px.png"), 511 UIToolClass_Global, UIToolType_Welcome); 526 UIToolClass_Global, UIToolType_Welcome, 527 !tools()->isPopup() /* extra-button */); 512 528 513 529 /* Extensions: */ … … 584 600 connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI, 585 601 this, &UIToolsModel::sltRetranslateUI); 602 603 /* Connect item hover listeners: */ 604 foreach (UIToolsItem *pItem, m_items) 605 { 606 connect(pItem, &UIToolsItem::sigHoverEnter, 607 this, &UIToolsModel::sltHandleItemHoverChange); 608 connect(pItem, &UIToolsItem::sigHoverLeave, 609 this, &UIToolsModel::sltHandleItemHoverChange); 610 } 586 611 } 587 612 -
trunk/src/VBox/Frontends/VirtualBox/src/manager/tools/UIToolsModel.h
r108000 r108002 129 129 /** Returns the item of passed @a enmType. */ 130 130 UIToolsItem *item(UIToolType enmType) const; 131 132 /** Returns whether at least one item hovered: */ 133 bool isAtLeastOneItemHovered() const; 131 134 /** @} */ 132 135 … … 185 188 186 189 private slots: 190 191 /** @name Children stuff. 192 * @{ */ 193 /** Handles signal about one of items was [un]hovered. */ 194 void sltHandleItemHoverChange(); 195 /** @} */ 187 196 188 197 /** @name Selection stuff.
Note:
See TracChangeset
for help on using the changeset viewer.