VirtualBox

Changeset 76996 in vbox for trunk/src/VBox


Ignore:
Timestamp:
Jan 25, 2019 9:36:44 PM (6 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
128417
Message:

FE/Qt. Reverting the previous commit

Location:
trunk/src/VBox/Frontends/VirtualBox/src
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.cpp

    r76995 r76996  
    438438}
    439439
    440 QList<QTreeWidgetItem*> QITreeWidget::filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent /* = 0 */)
    441 {
    442     QList<QTreeWidgetItem*> filteredItemList;
    443     if (!pParent)
    444         filterItemsInternal(filter, invisibleRootItem(), filteredItemList);
    445     else
    446         filterItemsInternal(filter, pParent, filteredItemList);
    447     return filteredItemList;
    448 }
    449 
    450 void QITreeWidget::filterItemsInternal(const QITreeWidgetItemFilter &filter,
    451                                            QTreeWidgetItem* pParent, QList<QTreeWidgetItem*> &filteredItemList)
    452 {
    453     if (!pParent)
    454         return;
    455     if (filter(pParent))
    456         filteredItemList.append(pParent);
    457 
    458     for (int i = 0; i < pParent->childCount(); ++i)
    459         filterItemsInternal(filter, pParent->child(i), filteredItemList);
    460 }
    461 
    462440void QITreeWidget::paintEvent(QPaintEvent *pEvent)
    463441{
  • trunk/src/VBox/Frontends/VirtualBox/src/extensions/QITreeWidget.h

    r76995 r76996  
    3232class QITreeWidget;
    3333
    34 /** A functor base to be passed to QITabWidget::filterItems(..). Overload operator()(..) to filter out
    35  *  tree items. */
    36 class SHARED_LIBRARY_STUFF QITreeWidgetItemFilter
    37 {
    38  public:
    39     virtual bool operator()(QTreeWidgetItem*) const
    40     {
    41         return true;
    42     }
    43 };
    4434
    4535/** QTreeWidgetItem subclass extending standard functionality. */
     
    10999    QITreeWidgetItem *childItem(int iIndex) const;
    110100    QModelIndex itemIndex(QTreeWidgetItem *pItem);
    111     /** Recurses thru the subtree with a root pParent and returns a list of tree items filtered by @a filter.
    112      *  When @a pParent is null than QTreeWidget::invisibleRootItem() is used as the root item. */
    113     QList<QTreeWidgetItem*> filterItems(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent = 0);
    114101
    115102protected:
     
    119106    /** Handles resize @a pEvent. */
    120107    void resizeEvent(QResizeEvent *pEvent);
    121 
    122  private:
    123 
    124     /* Recurses thru the tree and append filtered items to @a filteredItemList. */
    125     void filterItemsInternal(const QITreeWidgetItemFilter &filter, QTreeWidgetItem* pParent,
    126                              QList<QTreeWidgetItem*> &filteredItemList);
    127108};
    128109
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.cpp

    r76995 r76996  
    100100/* Virtual Media Manager: */
    101101const char *UIExtraDataDefs::GUI_VirtualMediaManager_Details_Expanded = "GUI/VirtualMediaManager/Details/Expanded";
    102 const char *UIExtraDataDefs::GUI_VirtualMediaManager_Search_Widget_Expanded = "GUI/VirtualMediaManager/SearchWidget/Expanded";
    103102
    104103/* Host Network Manager: */
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataDefs.h

    r76995 r76996  
    191191        /** Holds whether Virtual Media Manager details expanded. */
    192192        SHARED_LIBRARY_STUFF extern const char *GUI_VirtualMediaManager_Details_Expanded;
    193         /** Holds whether Virtual Media Manager search widget expanded. */
    194         SHARED_LIBRARY_STUFF extern const char *GUI_VirtualMediaManager_Search_Widget_Expanded;
    195193    /** @} */
    196194
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.cpp

    r76995 r76996  
    29752975}
    29762976
    2977 bool UIExtraDataManager::virtualMediaManagerSearchWidgetExpanded()
    2978 {
    2979     /* 'False' unless feature allowed: */
    2980     return isFeatureAllowed(GUI_VirtualMediaManager_Search_Widget_Expanded);
    2981 }
    2982 
    2983 void UIExtraDataManager::setVirtualMediaManagerSearchWidgetExpanded(bool fExpanded)
    2984 {
    2985     /* 'True' if feature allowed, null-string otherwise: */
    2986     return setExtraDataString(GUI_VirtualMediaManager_Search_Widget_Expanded, toFeatureAllowed(fExpanded));
    2987 }
    2988 
    29892977bool UIExtraDataManager::hostNetworkManagerDetailsExpanded()
    29902978{
  • trunk/src/VBox/Frontends/VirtualBox/src/extradata/UIExtraDataManager.h

    r76995 r76996  
    370370        /** Defines whether Virtual Media Manager details @a fExpanded. */
    371371        void setVirtualMediaManagerDetailsExpanded(bool fExpanded);
    372         /** Returns whether Virtual Media Manager search widget expanded. */
    373         bool virtualMediaManagerSearchWidgetExpanded();
    374         /** Defines whether Virtual Media Manager search widget @a fExpanded. */
    375         void setVirtualMediaManagerSearchWidgetExpanded(bool fExpanded);
    376372    /** @} */
    377373
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.cpp

    r76995 r76996  
    20422042        setStatusTip(QApplication::translate("UIActionPool", "Open pane with selected disk image file properties"));
    20432043        setToolTip(QApplication::translate("UIActionPool", "Open Disk Image File Properties (%1)").arg(shortcut().toString()));
    2044     }
    2045 };
    2046 
    2047 /** Toggle action extension, used as 'Toggle Search Pane' action class. */
    2048 class UIActionMenuSelectorMediumToggleSearch : public UIActionToggle
    2049 {
    2050     Q_OBJECT;
    2051 
    2052 public:
    2053 
    2054     /** Constructs action passing @a pParent to the base-class. */
    2055     UIActionMenuSelectorMediumToggleSearch(UIActionPool *pParent)
    2056         : UIActionToggle(pParent)
    2057     {
    2058         setShortcutContext(Qt::WidgetWithChildrenShortcut);
    2059         setIcon(0, UIIconPool::iconSetFull(":/hd_modify_32px.png",          ":/hd_modify_16px.png",
    2060                                            ":/hd_modify_disabled_32px.png", ":/hd_modify_disabled_16px.png"));
    2061         setIcon(1, UIIconPool::iconSetFull(":/cd_modify_32px.png",          ":/cd_modify_16px.png",
    2062                                            ":/cd_modify_disabled_32px.png", ":/cd_modify_disabled_16px.png"));
    2063         setIcon(2, UIIconPool::iconSetFull(":/fd_modify_32px.png",          ":/fd_modify_16px.png",
    2064                                            ":/fd_modify_disabled_32px.png", ":/fd_modify_disabled_16px.png"));
    2065     }
    2066 
    2067 protected:
    2068 
    2069     /** Returns shortcut extra-data ID. */
    2070     virtual QString shortcutExtraDataID() const /* override */
    2071     {
    2072         return QString("ToggleMediumSearch");
    2073     }
    2074 
    2075     /** Returns default shortcut. */
    2076     virtual QKeySequence defaultShortcut(UIActionPoolType) const /* override */
    2077     {
    2078         return QKeySequence("");
    2079     }
    2080 
    2081     /** Handles translation event. */
    2082     virtual void retranslateUi() /* override */
    2083     {
    2084         setName(QApplication::translate("UIActionPool", "&Search"));
    2085         setShortcutScope(QApplication::translate("UIActionPool", "Media Manager"));
    2086         setStatusTip(QApplication::translate("UIActionPool", "Open the medium search pane"));
    2087         setToolTip(QApplication::translate("UIActionPool", "Open Medium Search Pane (%1)").arg(shortcut().toString()));
    20882044    }
    20892045};
     
    26632619    m_pool[UIActionIndexST_M_Medium_S_Release] = new UIActionMenuSelectorMediumPerformRelease(this);
    26642620    m_pool[UIActionIndexST_M_Medium_T_Details] = new UIActionMenuSelectorMediumToggleProperties(this);
    2665     m_pool[UIActionIndexST_M_Medium_T_Search] = new UIActionMenuSelectorMediumToggleSearch(this);
    26662621    m_pool[UIActionIndexST_M_Medium_S_Refresh] = new UIActionMenuSelectorMediumPerformRefresh(this);
    26672622
     
    31323087    /* 'Properties' action: */
    31333088    fSeparator = addAction(pMenu, action(UIActionIndexST_M_Medium_T_Details)) || fSeparator;
    3134     /* 'Search' action: */
    3135     fSeparator = addAction(pMenu, action(UIActionIndexST_M_Medium_T_Search)) || fSeparator;
    31363089
    31373090    /* Separator? */
  • trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPoolManager.h

    r76995 r76996  
    138138    UIActionIndexST_M_Medium_S_Release,
    139139    UIActionIndexST_M_Medium_T_Details,
    140     UIActionIndexST_M_Medium_T_Search,
    141140    UIActionIndexST_M_Medium_S_Refresh,
    142141
     
    248247
    249248#endif /* !FEQT_INCLUDED_SRC_globals_UIActionPoolManager_h */
     249
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumItem.h

    r76995 r76996  
    7272    KMediumState state() const { return m_guiMedium.state(); }
    7373
    74     /** Returns QUuid <i>ID</i> of the wrapped UIMedium. */
     74    /** Returns QString <i>ID</i> of the wrapped UIMedium. */
    7575    QUuid id() const { return m_guiMedium.id(); }
    76     /** Returns QString <i>name</i> of the wrapped UIMedium. */
    77     QString name() const { return m_guiMedium.name(); }
    78 
    7976    /** Returns QString <i>location</i> of the wrapped UIMedium. */
    8077    QString location() const { return m_guiMedium.location(); }
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.cpp

    r76995 r76996  
    3737#include "UIMediumItem.h"
    3838#include "UIMediumManager.h"
    39 #include "UIMediumSearchWidget.h"
    4039#include "UIWizardCloneVD.h"
    4140#include "UIMessageCenter.h"
     
    162161    , m_pToolBar(0)
    163162    , m_pProgressBar(0)
    164     , m_pSearchWidget(0)
    165163{
    166164    /* Prepare: */
     
    564562}
    565563
    566 void UIMediumManagerWidget::sltToggleMediumSearchVisibility(bool fVisible)
    567 {
    568     /* Save the setting: */
    569     //gEDataManager->setVirtualMediaManagerSea(fVisible);
    570     /* Toggle medium details visibility: */
    571     if (m_pSearchWidget)
    572         m_pSearchWidget->setVisible(fVisible);
    573 }
    574 
    575564void UIMediumManagerWidget::sltRefreshAll()
    576565{
     
    631620        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Release));
    632621        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Details));
    633         menu.addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Search));
    634622    }
    635623    else
    636624    {
    637625        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Add));
    638         menu.addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Search));
    639626        menu.addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Refresh));
    640627    }
     
    666653            pTreeWidget->header()->resizeSection(0, iSize0);
    667654    }
    668 }
    669 
    670 void UIMediumManagerWidget::sltHandlePerformSearch()
    671 {
    672     if (!m_pSearchWidget || !m_pTabWidget)
    673         return;
    674 
    675     QITreeWidget *pTreeWidget = treeWidget(static_cast<UIMediumDeviceType>(m_pTabWidget->currentIndex()));
    676     if (!pTreeWidget)
    677         return;
    678     m_pSearchWidget->search(pTreeWidget);
    679 
    680     // printf("size %d\n", matchedList.size());
    681     // m_pSearchWidget->searchItems(pTreeWidget->invisibleRootItem(), matchedList);
    682 
    683 
    684 
    685     //     SearchType searchType() const;
    686     // QString searchTerm() const;
    687 
    688 
    689     // foreach (const QUuid &id, vboxGlobal().mediumIDs())
    690     // {
    691     //     UIMedium medium = vboxGlobal().medium(id);
    692     //     /** Only search among the types of the tab widget's current page: */
    693     //     if (static_cast<UIMediumDeviceType>(m_pTabWidget->currentIndex()) != medium.type())
    694     //         continue;
    695     //     if (m_pSearchWidget->searchType() == UIMediumSearchWidget::SearchByName &&
    696     //         medium.name().contains(m_pSearchWidget->searchTerm(), Qt::CaseInsensitive))
    697     //         matchedMediumList << medium;
    698     //     else if (m_pSearchWidget->searchType() == UIMediumSearchWidget::SearchByUUID &&
    699     //              medium.id().toString().contains(m_pSearchWidget->searchTerm(), Qt::CaseInsensitive))
    700     //         matchedMediumList << medium;
    701     // }
    702     // printf("search %s -- %d\n", qPrintable(m_pSearchWidget->searchTerm()), matchedMediumList.size());
    703 
    704655}
    705656
     
    760711    addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Release));
    761712    addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Details));
    762     addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Search));
    763713    addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Refresh));
    764714
     
    776726    connect(m_pActionPool->action(UIActionIndexST_M_Medium_T_Details), &QAction::toggled,
    777727            this, &UIMediumManagerWidget::sltToggleMediumDetailsVisibility);
    778     connect(m_pActionPool->action(UIActionIndexST_M_Medium_T_Search), &QAction::toggled,
    779             this, &UIMediumManagerWidget::sltToggleMediumSearchVisibility);
    780728    connect(m_pActionPool->action(UIActionIndexST_M_Medium_S_Refresh), &QAction::triggered,
    781729            this, &UIMediumManagerWidget::sltRefreshAll);
     
    806754        /* Prepare details-widget: */
    807755        prepareDetailsWidget();
    808         /* Prepare search-widget: */
    809         prepareSearchWidget();
    810756    }
    811757}
     
    830776        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Release));
    831777        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Details));
    832         m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Medium_T_Search));
    833778        m_pToolBar->addSeparator();
    834779        m_pToolBar->addAction(m_pActionPool->action(UIActionIndexST_M_Medium_S_Refresh));
     
    956901}
    957902
    958 void UIMediumManagerWidget::prepareSearchWidget()
    959 {
    960     m_pSearchWidget = new UIMediumSearchWidget(this);
    961     AssertPtrReturnVoid(m_pSearchWidget);
    962     {
    963         m_pSearchWidget->setVisible(false);
    964         m_pSearchWidget->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Fixed);
    965         connect(m_pSearchWidget, &UIMediumSearchWidget::sigPerformSearch,
    966                 this, &UIMediumManagerWidget::sltHandlePerformSearch);
    967 
    968         /* Add into layout: */
    969         layout()->addWidget(m_pSearchWidget);
    970     }
    971 
    972 }
    973 
    974903void UIMediumManagerWidget::loadSettings()
    975904{
     
    977906    m_pActionPool->action(UIActionIndexST_M_Medium_T_Details)->setChecked(gEDataManager->virtualMediaManagerDetailsExpanded());
    978907    sltToggleMediumDetailsVisibility(m_pActionPool->action(UIActionIndexST_M_Medium_T_Details)->isChecked());
    979 
    980     /* Search action/widget: */
    981     m_pActionPool->action(UIActionIndexST_M_Medium_T_Search)->setChecked(gEDataManager->virtualMediaManagerDetailsExpanded());
    982     sltToggleMediumSearchVisibility(m_pActionPool->action(UIActionIndexST_M_Medium_T_Search)->isChecked());
    983908}
    984909
     
    17191644    return qobject_cast<UIMediumManagerWidget*>(QIManagerDialog::widget());
    17201645}
    1721 
    1722 void UIMediumManagerWidget::markUnmarkSearchMatchedItems(bool fMark)
    1723 {
    1724     /* Unmark the whole tree: */
    1725     if (!fMark)
    1726     {
    1727         QITreeWidget *pTreeWidget = treeWidget(static_cast<UIMediumDeviceType>(m_pTabWidget->currentIndex()));
    1728         if (!pTreeWidget)
    1729             return;
    1730         QList<UIMediumItem*> itemList;
    1731 
    1732         getItems(pTreeWidget->invisibleRootItem(), itemList);
    1733     }
    1734     //QList<UIMedium> m_matchedMediumList;
    1735     // for (int i = 0; i < m_mediumItemList.size(); ++i)
    1736     // {
    1737     //     for (int j = 0; j < m_pTreeWidget->columnCount(); ++j)
    1738     //     {
    1739     //         if (m_mediumItemList[i])
    1740     //             m_mediumItemList[i]->setData(j, Qt::ForegroundRole, m_defaultItemForeground);
    1741     //     }
    1742     // }
    1743 
    1744 }
    1745 
    1746 void UIMediumManagerWidget::getItems(QTreeWidgetItem *pParentItem, QList<UIMediumItem*> outList)
    1747 {
    1748     if (!pParentItem)
    1749         return;
    1750     if (pParentItem->type() == QITreeWidgetItem::ItemType)
    1751     {
    1752         UIMediumItem* pItem = static_cast<UIMediumItem*>(pParentItem);
    1753         if (pItem)
    1754             outList.append(pItem);
    1755     }
    1756 
    1757     for (int iChildIndex = 0; iChildIndex < pParentItem->childCount(); ++iChildIndex)
    1758         getItems(pParentItem->child(iChildIndex), outList);
    1759 }
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumManager.h

    r76995 r76996  
    4040class UIMediumDetailsWidget;
    4141class UIMediumItem;
    42 class UIMediumSearchWidget;
    4342class UIToolBar;
    4443
     
    178177        /** Handles command to make medium details @a fVisible. */
    179178        void sltToggleMediumDetailsVisibility(bool fVisible);
    180         /** Handles command to make medium search pane @a fVisible. */
    181         void sltToggleMediumSearchVisibility(bool fVisible);
    182179        /** Handles command to refresh medium. */
    183180        void sltRefreshAll();
     
    198195        /** Adjusts tree-widgets according content. */
    199196        void sltPerformTablesAdjustment();
    200     /** @} */
    201 
    202    /** @name Medium search stuff.
    203       * @{ */
    204         /** Adjusts tree-widgets according content. */
    205         void sltHandlePerformSearch();
    206197    /** @} */
    207198
     
    228219        /** Prepares details-widget. */
    229220        void prepareDetailsWidget();
    230         /** Prepares search-widget. */
    231         void prepareSearchWidget();
    232221        /** Load settings: */
    233222        void loadSettings();
     
    296285                                        const CheckIfSuitableBy &condition,
    297286                                        CheckIfSuitableBy *pException = 0);
    298 
    299287
    300288        /** Checks if @a action can be used for @a pItem. */
     
    363351        UIEnumerationProgressBar *m_pProgressBar;
    364352    /** @} */
    365 
    366     /** @name Search-widget variables.
    367       * @{ */
    368         /** Holds the medium details-widget instance. */
    369         UIMediumSearchWidget *m_pSearchWidget;
    370     /** @} */
    371 
    372353};
    373354
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSearchWidget.cpp

    r76995 r76996  
    2525#include "QIDialogButtonBox.h"
    2626#include "QIToolButton.h"
    27 #include "QITreeWidget.h"
    2827#include "UIFDCreationDialog.h"
    2928#include "UIIconPool.h"
    30 #include "UIMediumItem.h"
    3129#include "UIMediumSearchWidget.h"
    3230#include "UIToolBar.h"
     
    3634#endif /* VBOX_WS_MAC */
    3735
    38 
    39 class FilterByNameUUID : public QITreeWidgetItemFilter
    40 {
    41 
    42 public:
    43 
    44     FilterByNameUUID(UIMediumSearchWidget::SearchType enmSearchType, const QString &strSearchTerm)
    45         : m_enmSearchType(enmSearchType)
    46         , m_strSearchTerm(strSearchTerm){}
    47 
    48     virtual bool operator()(QTreeWidgetItem *pItem) const
    49     {
    50         if (!pItem || m_strSearchTerm.isEmpty())
    51             return false;
    52         if (pItem->type() != QITreeWidgetItem::ItemType)
    53             return false;
    54 
    55         UIMediumItem *pMediumItem = static_cast<UIMediumItem*>(pItem);
    56         if (!pMediumItem)
    57             return false;
    58         if (m_enmSearchType == UIMediumSearchWidget::SearchByUUID && !pMediumItem->id().toString().contains(m_strSearchTerm))
    59             return false;
    60         if (m_enmSearchType == UIMediumSearchWidget::SearchByName && !pMediumItem->name().contains(m_strSearchTerm))
    61             return false;
    62         return true;
    63     }
    64 
    65 private:
    66 
    67     UIMediumSearchWidget::SearchType m_enmSearchType;
    68     QString m_strSearchTerm;
    69 };
    70 
    7136UIMediumSearchWidget::UIMediumSearchWidget(QWidget *pParent)
    7237    :QIWithRetranslateUI<QWidget>(pParent)
     
    7540    , m_pShowNextMatchButton(0)
    7641    , m_pShowPreviousMatchButton(0)
    77     , m_pTreeWidget(0)
    78     , m_iScrollToIndex(0)
    7942{
    8043    prepareWidgets();
     
    11578        m_pShowPreviousMatchButton->setIcon(UIIconPool::iconSet(":/log_viewer_search_backward_16px.png", ":/log_viewer_search_backward_disabled_16px.png"));
    11679        connect(m_pShowPreviousMatchButton, &QIToolButton::clicked, this, &UIMediumSearchWidget::sigShowPreviousMatchingItem);
    117         connect(m_pShowPreviousMatchButton, &QIToolButton::clicked, this, &UIMediumSearchWidget::sltShowPreviousMatchingItem);
    118 
    11980        pLayout->addWidget(m_pShowPreviousMatchButton);
    12081    }
     
    12485        m_pShowNextMatchButton->setIcon(UIIconPool::iconSet(":/log_viewer_search_forward_16px.png", ":/log_viewer_search_forward_disabled_16px.png"));
    12586        connect(m_pShowNextMatchButton, &QIToolButton::clicked, this, &UIMediumSearchWidget:: sigShowNextMatchingItem);
    126         connect(m_pShowNextMatchButton, &QIToolButton::clicked, this, &UIMediumSearchWidget:: sltShowNextMatchingItem);
    127 
    12887        pLayout->addWidget(m_pShowNextMatchButton);
    12988    }
     
    146105}
    147106
    148 void UIMediumSearchWidget::search(QITreeWidget* pTreeWidget)
    149 {
    150     if (!pTreeWidget)
    151         return;
    152 
    153     m_pTreeWidget = pTreeWidget;
    154     QList<QTreeWidgetItem*> allItems = pTreeWidget->filterItems(QITreeWidgetItemFilter());
    155     markUnmarkItems(allItems, false);
    156 
    157     m_matchedItemList = pTreeWidget->filterItems(FilterByNameUUID(searchType(), searchTerm()));
    158     markUnmarkItems(m_matchedItemList, true);
    159     if (!m_matchedItemList.isEmpty())
    160     {
    161         m_iScrollToIndex = 0;
    162         pTreeWidget->scrollTo(pTreeWidget->itemIndex(m_matchedItemList[m_iScrollToIndex]), QAbstractItemView::PositionAtCenter);
    163     }
    164 }
    165 
    166107void UIMediumSearchWidget::retranslateUi()
    167108{
     
    179120        m_pShowNextMatchButton->setToolTip("Show the next item matching the search term");
    180121}
    181 
    182 void UIMediumSearchWidget::showEvent(QShowEvent *pEvent)
    183 {
    184     if (m_pSearchTermLineEdit)
    185         m_pSearchTermLineEdit->setFocus();
    186     QIWithRetranslateUI<QWidget>::showEvent(pEvent);
    187 }
    188 
    189 void UIMediumSearchWidget::markUnmarkItems(QList<QTreeWidgetItem*> &itemList, bool fMark)
    190 {
    191     foreach (QTreeWidgetItem* pItem, itemList)
    192     {
    193         if (pItem->type() != QITreeWidgetItem::ItemType)
    194             continue;
    195         UIMediumItem *pMediumItem = static_cast<UIMediumItem*>(pItem);
    196         if (!pMediumItem)
    197             continue;
    198         QFont font = pMediumItem->font(0);
    199         font.setBold(fMark);
    200         pMediumItem->setFont(0, font);
    201     }
    202 }
    203 
    204 void UIMediumSearchWidget::sltShowNextMatchingItem()
    205 {
    206     if (!m_pTreeWidget)
    207         return;
    208     if (++m_iScrollToIndex >= m_matchedItemList.size())
    209         m_iScrollToIndex = 0;
    210     if (!m_matchedItemList[m_iScrollToIndex])
    211         return;
    212     m_pTreeWidget->scrollTo(m_pTreeWidget->itemIndex(m_matchedItemList[m_iScrollToIndex]), QAbstractItemView::PositionAtCenter);
    213 }
    214 
    215 void UIMediumSearchWidget::sltShowPreviousMatchingItem()
    216 {
    217     if (!m_pTreeWidget)
    218         return;
    219     if (--m_iScrollToIndex <= 0)
    220         m_iScrollToIndex = m_matchedItemList.size() - 1;
    221     if (!m_matchedItemList[m_iScrollToIndex])
    222         return;
    223     m_pTreeWidget->scrollTo(m_pTreeWidget->itemIndex(m_matchedItemList[m_iScrollToIndex]), QAbstractItemView::PositionAtCenter);
    224 
    225 }
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/UIMediumSearchWidget.h

    r76995 r76996  
    2727/* Forward declarations: */
    2828class QAction;
    29 class QTreeWidgetItem;
    3029class QLineEdit;
    3130class QIComboBox;
    3231class QIDialogButtonBox;
    3332class QIToolButton;
    34 class QITreeWidget;
    35 class UIMediumItem;
    36 
    3733
    3834/** QWidget extension providing a simple way to enter a earch term and search type for medium searching
     
    6258    SearchType searchType() const;
    6359    QString searchTerm() const;
    64     void    search(QITreeWidget* pTreeWidget);
    6560
    66  protected:
     61protected:
    6762
    6863    void retranslateUi() /* override */;
    69     virtual void showEvent(QShowEvent *pEvent) /* override */;
    70 
    71  private slots:
    72 
    73     void sltShowNextMatchingItem();
    74     void sltShowPreviousMatchingItem();
    7564
    7665private:
    7766
    78     void    prepareWidgets();
    79     void    markUnmarkItems(QList<QTreeWidgetItem*> &itemList, bool fMark);
    80 
     67    void              prepareWidgets();
    8168    QIComboBox       *m_pSearchComboxBox;
    8269    QLineEdit        *m_pSearchTermLineEdit;
    8370    QIToolButton     *m_pShowNextMatchButton;
    8471    QIToolButton     *m_pShowPreviousMatchButton;
    85 
    86     QList<QTreeWidgetItem*> m_matchedItemList;
    87     QITreeWidget           *m_pTreeWidget;
    88     int                     m_iScrollToIndex;
    8972};
    9073
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette