Changeset 8227 in vbox
- Timestamp:
- Apr 21, 2008 1:54:37 PM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/ui/VBoxHardDiskSettings.ui.h
r8201 r8227 318 318 } 319 319 320 class HDSpaceItem : public QListViewItem 321 { 322 public: 323 324 enum { HDSpaceItemType = 1011 }; 325 326 HDSpaceItem (QListView *aParent) 327 : QListViewItem (aParent) 328 { 329 setSelectable (false); 330 } 331 332 int rtti() const { return HDSpaceItemType; } 333 }; 334 320 335 class HDListItem : public QListViewItem 321 336 { … … 348 363 349 364 int rtti() const { return HDListItemType; } 365 366 QString toolTip() 367 { 368 return QToolTip::textFor (mVector [1]); 369 } 350 370 351 371 HDListItem* nextSibling() const … … 559 579 /* rest */ 560 580 581 new HDSpaceItem (mLvHD); 582 561 583 mSlotUniquizer = new HDSlotUniquizer (this); 562 584 … … 698 720 delete item; 699 721 mPrevItem = 0; 722 723 if (mLvHD->currentItem() && 724 mLvHD->currentItem()->rtti() == HDSpaceItem::HDSpaceItemType && 725 mLvHD->currentItem()->itemAbove() && 726 mLvHD->currentItem()->itemAbove()->rtti() == HDListItem::HDListItemType) 727 mLvHD->setCurrentItem (mLvHD->currentItem()->itemAbove()); 700 728 } 701 729 } … … 797 825 { 798 826 /* Process postponed onCurrentChanged event */ 799 mAddAttachmentAct->setEnabled (mLvHD->childCount() < mSlotUniquizer->totalCount()); 800 mRemoveAttachmentAct->setEnabled (aItem != NULL); 801 mSelectHardDiskAct->setEnabled (aItem != NULL); 827 mAddAttachmentAct->setEnabled (mLvHD->childCount() <= 828 mSlotUniquizer->totalCount()); 829 mRemoveAttachmentAct->setEnabled (aItem && 830 aItem->rtti() == HDListItem::HDListItemType); 831 mSelectHardDiskAct->setEnabled (aItem && 832 aItem->rtti() == HDListItem::HDListItemType); 802 833 803 834 if (aItem == mPrevItem) … … 828 859 const CMachine &aMachine) 829 860 { 830 return mLvHD->lastItem() ? 831 new HDListItem (this, mLvHD, mLvHD->lastItem(), aUniq, aMachine) : 861 QListViewItem *item = mLvHD->lastItem(); 862 Assert (item->rtti() == HDSpaceItem::HDSpaceItemType); 863 HDListItem *last = item->itemAbove() && 864 item->itemAbove()->rtti() == HDListItem::HDListItemType ? 865 static_cast<HDListItem*> (item->itemAbove()) : 0; 866 867 return last ? 868 new HDListItem (this, mLvHD, last, aUniq, aMachine) : 832 869 new HDListItem (this, mLvHD, aUniq, aMachine); 833 870 } … … 873 910 break; 874 911 875 HDListItem *item = mLvHD->currentItem() && 876 mLvHD->currentItem()->rtti() == HDListItem::HDListItemType ? 877 static_cast<HDListItem*> (mLvHD->currentItem()) : 0; 912 QMouseEvent *e = static_cast<QMouseEvent*> (aEvent); 913 QListViewItem *clickedItem = mLvHD->itemAt (QPoint (e->x(), e->y())); 914 HDListItem *item = clickedItem && 915 clickedItem->rtti() == HDListItem::HDListItemType ? 916 static_cast<HDListItem*> (clickedItem) : 0; 917 878 918 if (item) 879 919 item->showEditor(); 920 else if (mAddAttachmentAct->isEnabled()) 921 addHDItem(); 922 break; 923 } 924 /* Process mouse-move as "make tool-tip" action */ 925 case QEvent::MouseMove: 926 { 927 if (aObject != mLvHD->viewport()) 928 break; 929 930 QMouseEvent *e = static_cast<QMouseEvent*> (aEvent); 931 QListViewItem *hoveredItem = mLvHD->itemAt (QPoint (e->x(), e->y())); 932 HDListItem *item = hoveredItem && 933 hoveredItem->rtti() == HDListItem::HDListItemType ? 934 static_cast<HDListItem*> (hoveredItem) : 0; 935 936 QString oldTip = QToolTip::textFor (mLvHD->viewport()); 937 QString newTip = item ? item->toolTip() : 938 tr ("Double-click to add new attachment"); 939 940 if (newTip != oldTip) 941 { 942 QToolTip::remove (mLvHD->viewport()); 943 QToolTip::add (mLvHD->viewport(), newTip); 944 } 880 945 break; 881 946 }
Note:
See TracChangeset
for help on using the changeset viewer.