Changeset 77346 in vbox
- Timestamp:
- Feb 18, 2019 1:07:09 PM (6 years ago)
- svn:sync-xref-src-repo-rev:
- 128883
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.cpp
r77224 r77346 193 193 *********************************************************************************************************************************/ 194 194 195 UIChooserItem::UIChooserItem(UIChooserItem *pParent, bool f Temporary,195 UIChooserItem::UIChooserItem(UIChooserItem *pParent, bool fFavorite, bool fTemporary, 196 196 int iDefaultValue /* = 100 */, int iHoveredValue /* = 90 */) 197 197 : QIWithRetranslateUI4<QIGraphicsWidget>(pParent) 198 198 , m_pParent(pParent) 199 , m_fFavorite(fFavorite) 199 200 , m_fTemporary(fTemporary) 200 201 , m_fRoot(!pParent) -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItem.h
r77228 r77346 103 103 104 104 /** Constructs item passing @a pParent to the base-class. 105 * @param fFavorite Brings whether this item created directly in favorite container. 105 106 * @param fTemporary Brings whether this item created for temporary needs. 106 107 * @param iDefaultValue Brings default value for hovering animation. 107 108 * @param iHoveredValue Brings hovered value for hovering animation. */ 108 UIChooserItem(UIChooserItem *pParent, bool f Temporary,109 UIChooserItem(UIChooserItem *pParent, bool fFavorite, bool fTemporary, 109 110 int iDefaultValue = 100, int iHoveredValue = 90); 110 111 … … 113 114 /** Returns parent reference. */ 114 115 UIChooserItem *parentItem() const { return m_pParent; } 116 /** Returns whether item is favorite. */ 117 bool isFavorite() const { return m_fFavorite; } 115 118 /** Returns whether item is temporary. */ 116 119 bool isTemporary() const { return m_fTemporary; } … … 165 168 /** @name Children stuff. 166 169 * @{ */ 167 /** Adds child @a pItem to certain @a iPosition. */168 virtual void addItem(UIChooserItem *pItem, int iPosition) = 0;170 /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */ 171 virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) = 0; 169 172 /** Removes child @a pItem. */ 170 173 virtual void removeItem(UIChooserItem *pItem) = 0; … … 329 332 /** Holds the item's parent item. */ 330 333 UIChooserItem *m_pParent; 334 /** Holds whether item is favorite. */ 335 bool m_fFavorite; 331 336 /** Holds whether item is temporary. */ 332 337 bool m_fTemporary; -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.cpp
r77061 r77346 36 36 UIChooserItemGlobal::UIChooserItemGlobal(UIChooserItem *pParent, 37 37 int iPosition /* = -1 */) 38 : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)38 : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100) 39 39 , m_iPosition(iPosition) 40 40 , m_iDefaultLightnessMin(0) … … 54 54 UIChooserItemGlobal *pCopyFrom, 55 55 int iPosition /* = -1 */) 56 : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)56 : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100) 57 57 , m_iPosition(iPosition) 58 58 , m_iDefaultLightnessMin(0) … … 196 196 } 197 197 198 void UIChooserItemGlobal::addItem(UIChooserItem *, int)198 void UIChooserItemGlobal::addItem(UIChooserItem *, bool, int) 199 199 { 200 200 AssertMsgFailed(("Global graphics item do NOT support children!")); … … 390 390 /* Add item to the parent: */ 391 391 AssertPtrReturnVoid(parentItem()); 392 parentItem()->addItem(this, m_iPosition);392 parentItem()->addItem(this, false, m_iPosition); 393 393 394 394 /* Configure connections: */ -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGlobal.h
r77042 r77346 106 106 /** @name Children stuff. 107 107 * @{ */ 108 /** Adds child @a pItem to certain @a iPosition. */109 virtual void addItem(UIChooserItem *pItem, int iPosition) /* override */;108 /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */ 109 virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) /* override */; 110 110 /** Removes child @a pItem. */ 111 111 virtual void removeItem(UIChooserItem *pItem) /* override */; -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.cpp
r77269 r77346 45 45 46 46 UIChooserItemGroup::UIChooserItemGroup(QGraphicsScene *pScene) 47 : UIChooserItem(0, false /* temporary? */)47 : UIChooserItem(0, false /* favorite? */, false /* temporary? */) 48 48 , m_fMainRoot(true) 49 49 , m_fClosed(false) … … 54 54 , m_pExitButton(0) 55 55 , m_pNameEditorWidget(0) 56 , m_pContainerFavorite(0) 57 , m_pLayoutFavorite(0) 56 58 , m_pScrollArea(0) 57 59 , m_pContainer(0) … … 79 81 UIChooserItemGroup *pCopyFrom, 80 82 bool fMainRoot) 81 : UIChooserItem(0, true /* temporary? */)83 : UIChooserItem(0, false /* favorite? */, true /* temporary? */) 82 84 , m_fMainRoot(fMainRoot) 83 85 , m_fClosed(pCopyFrom->isClosed()) … … 89 91 , m_pExitButton(0) 90 92 , m_pNameEditorWidget(0) 93 , m_pContainerFavorite(0) 94 , m_pLayoutFavorite(0) 91 95 , m_pScrollArea(0) 92 96 , m_pContainer(0) … … 119 123 bool fOpened /* = false */, 120 124 int iPosition /* = -1 */) 121 : UIChooserItem(pParent, pParent->is Temporary())125 : UIChooserItem(pParent, pParent->isFavorite(), pParent->isTemporary()) 122 126 , m_fMainRoot(false) 123 127 , m_fClosed(!fOpened) … … 129 133 , m_pExitButton(0) 130 134 , m_pNameEditorWidget(0) 135 , m_pContainerFavorite(0) 136 , m_pLayoutFavorite(0) 131 137 , m_pScrollArea(0) 132 138 , m_pContainer(0) … … 141 147 /* Add item to the parent: */ 142 148 AssertMsg(parentItem(), ("Incorrect parent passed!")); 143 parentItem()->addItem(this, iPosition);149 parentItem()->addItem(this, false, iPosition); 144 150 connect(this, &UIChooserItemGroup::sigToggleStarted, 145 151 model(), &UIChooserModel::sigToggleStarted); … … 167 173 UIChooserItemGroup *pCopyFrom, 168 174 int iPosition /* = -1 */) 169 : UIChooserItem(pParent, pParent->is Temporary())175 : UIChooserItem(pParent, pParent->isFavorite(), pParent->isTemporary()) 170 176 , m_fMainRoot(false) 171 177 , m_fClosed(pCopyFrom->isClosed()) … … 177 183 , m_pExitButton(0) 178 184 , m_pNameEditorWidget(0) 185 , m_pContainerFavorite(0) 186 , m_pLayoutFavorite(0) 179 187 , m_pScrollArea(0) 180 188 , m_pContainer(0) … … 189 197 /* Add item to the parent: */ 190 198 AssertMsg(parentItem(), ("Incorrect parent passed!")); 191 parentItem()->addItem(this, iPosition);199 parentItem()->addItem(this, false, iPosition); 192 200 connect(this, &UIChooserItemGroup::sigToggleStarted, 193 201 model(), &UIChooserModel::sigToggleStarted); … … 521 529 } 522 530 523 void UIChooserItemGroup::addItem(UIChooserItem *pItem, int iPosition)531 void UIChooserItemGroup::addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) 524 532 { 525 533 /* Check item type: */ … … 546 554 if (iPosition < 0 || iPosition >= m_globalItems.size()) 547 555 { 548 m_pLayoutGlobal->addItem(pItem); 556 if (fFavorite) 557 m_pLayoutFavorite->addItem(pItem); 558 else 559 m_pLayoutGlobal->addItem(pItem); 549 560 m_globalItems.append(pItem); 550 561 } 551 562 else 552 563 { 553 m_pLayoutGlobal->insertItem(iPosition, pItem); 564 if (fFavorite) 565 m_pLayoutFavorite->insertItem(iPosition, pItem); 566 else 567 m_pLayoutGlobal->insertItem(iPosition, pItem); 554 568 m_globalItems.insert(iPosition, pItem); 555 569 } … … 845 859 QSize viewSize = pView->size(); 846 860 viewSize.setHeight(viewSize.height() - iPreviousVerticalIndent); 847 m_pScrollArea->resize(viewSize); 861 /* Adjust favorite children container: */ 862 m_pContainerFavorite->resize(viewSize.width(), m_pContainerFavorite->minimumSizeHint().height()); 863 m_pContainerFavorite->setPos(0, iPreviousVerticalIndent); 864 iPreviousVerticalIndent += m_pContainerFavorite->minimumSizeHint().height(); 865 /* Adjust other children scroll-area: */ 866 m_pScrollArea->resize(viewSize.width(), viewSize.height() - m_pContainerFavorite->minimumSizeHint().height()); 848 867 m_pScrollArea->setPos(0, iPreviousVerticalIndent); 849 868 } … … 889 908 QSize itemSize = size().toSize(); 890 909 itemSize.setHeight(itemSize.height() - iPreviousVerticalIndent); 891 m_pScrollArea->resize(itemSize); 910 /* Adjust favorite children container: */ 911 m_pContainerFavorite->resize(itemSize.width(), m_pContainerFavorite->minimumSizeHint().height()); 912 m_pContainerFavorite->setPos(0, iPreviousVerticalIndent); 913 iPreviousVerticalIndent += m_pContainerFavorite->minimumSizeHint().height(); 914 /* Adjust other children scroll-area: */ 915 m_pScrollArea->resize(itemSize.width(), itemSize.height() - m_pContainerFavorite->minimumSizeHint().height()); 892 916 m_pScrollArea->setPos(0, iPreviousVerticalIndent); 893 917 } … … 895 919 /* No body for closed group: */ 896 920 if (isClosed()) 921 { 922 m_pContainerFavorite->hide(); 897 923 m_pScrollArea->hide(); 924 } 898 925 /* Body for opened group: */ 899 926 else 900 927 { 928 m_pContainerFavorite->show(); 901 929 m_pScrollArea->show(); 902 930 foreach (UIChooserItem *pItem, items()) … … 1288 1316 m_exitButtonSize = m_pExitButton ? m_pExitButton->minimumSizeHint().toSize() : QSize(0, 0); 1289 1317 1318 /* Prepare favorite children container: */ 1319 m_pContainerFavorite = new QIGraphicsWidget(this); 1320 if (m_pContainerFavorite) 1321 { 1322 /* Make it always above other children scroll-area: */ 1323 m_pContainerFavorite->setZValue(1); 1324 1325 /* Prepare favorite children layout: */ 1326 m_pLayoutFavorite = new QGraphicsLinearLayout(Qt::Vertical, m_pContainerFavorite); 1327 if (m_pLayoutFavorite) 1328 { 1329 m_pLayoutFavorite->setContentsMargins(0, 0, 0, 0); 1330 m_pLayoutFavorite->setSpacing(0); 1331 } 1332 } 1333 1290 1334 /* Prepare scroll-area: */ 1291 1335 m_pScrollArea = new UIGraphicsScrollArea(Qt::Vertical, this); … … 1482 1526 { 1483 1527 /* We have to take maximum children width into account: */ 1484 iProposedWidth = m_pContainer->minimumSizeHint().width(); 1528 iProposedWidth = qMax(m_pContainerFavorite->minimumSizeHint().width(), 1529 m_pContainer->minimumSizeHint().width()); 1485 1530 } 1486 1531 } … … 1499 1544 { 1500 1545 /* We have to take maximum children width into account: */ 1501 iProposedWidth = m_pContainer->minimumSizeHint().width(); 1546 iProposedWidth = qMax(m_pContainerFavorite->minimumSizeHint().width(), 1547 m_pContainer->minimumSizeHint().width()); 1502 1548 } 1503 1549 … … 1522 1568 { 1523 1569 /* We have to take maximum children height into account: */ 1524 iProposedHeight = m_pContainer->minimumSizeHint().height(); 1570 iProposedHeight += m_pContainerFavorite->minimumSizeHint().height(); 1571 iProposedHeight += m_pContainer->minimumSizeHint().height(); 1525 1572 } 1526 1573 } … … 1540 1587 { 1541 1588 /* We have to take maximum children height into account: */ 1589 iProposedHeight += m_pContainerFavorite->minimumSizeHint().height(); 1542 1590 iProposedHeight += m_pContainer->minimumSizeHint().height(); 1543 1591 } -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemGroup.h
r77228 r77346 152 152 /** @name Children stuff. 153 153 * @{ */ 154 /** Adds child @a pItem to certain @a iPosition. */155 virtual void addItem(UIChooserItem *pItem, int iPosition) /* override */;154 /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */ 155 virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) /* override */; 156 156 /** Removes child @a pItem. */ 157 157 virtual void removeItem(UIChooserItem *pItem) /* override */; … … 362 362 /** @name Children stuff. 363 363 * @{ */ 364 /** Holds the favorite children container instance. */ 365 QIGraphicsWidget *m_pContainerFavorite; 366 /** Holds the favorite children layout instance. */ 367 QGraphicsLinearLayout *m_pLayoutFavorite; 368 364 369 /** Holds the children scroll-area instance. */ 365 370 UIGraphicsScrollArea *m_pScrollArea; -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.cpp
r77061 r77346 45 45 const CMachine &machine, 46 46 int iPosition /* = -1 */) 47 : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)47 : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100) 48 48 , UIVirtualMachineItem(machine) 49 49 , m_iPosition(iPosition) … … 66 66 UIChooserItemMachine *pCopyFrom, 67 67 int iPosition /* = -1 */) 68 : UIChooserItem(pParent, pParent->isTemporary(), 0, 100)68 : UIChooserItem(pParent, false /* favorite? */, pParent->isTemporary(), 0, 100) 69 69 , UIVirtualMachineItem(pCopyFrom->machine()) 70 70 , m_iPosition(iPosition) … … 255 255 } 256 256 257 void UIChooserItemMachine::addItem(UIChooserItem*, int)257 void UIChooserItemMachine::addItem(UIChooserItem*, bool, int) 258 258 { 259 259 AssertMsgFailed(("Machine graphics item do NOT support children!")); … … 591 591 /* Add item to the parent: */ 592 592 AssertPtrReturnVoid(parentItem()); 593 parentItem()->addItem(this, m_iPosition);593 parentItem()->addItem(this, false, m_iPosition); 594 594 595 595 /* Configure connections: */ -
trunk/src/VBox/Frontends/VirtualBox/src/manager/chooser/UIChooserItemMachine.h
r77041 r77346 120 120 /** @name Children stuff. 121 121 * @{ */ 122 /** Adds child @a pItem to certain @a iPosition. */123 virtual void addItem(UIChooserItem *pItem, int iPosition) /* override */;122 /** Adds possible @a fFavorite child @a pItem to certain @a iPosition. */ 123 virtual void addItem(UIChooserItem *pItem, bool fFavorite, int iPosition) /* override */; 124 124 /** Removes child @a pItem. */ 125 125 virtual void removeItem(UIChooserItem *pItem) /* override */;
Note:
See TracChangeset
for help on using the changeset viewer.