VirtualBox

Changeset 100155 in vbox


Ignore:
Timestamp:
Jun 12, 2023 2:40:18 PM (22 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
157850
Message:

FE/Qt: bugref:9080. Some refactoring and removing panel related stuff.

Location:
trunk/src/VBox/Frontends/VirtualBox
Files:
2 deleted
9 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk

    r100133 r100155  
    870870        src/medium/viso/UIVisoContentBrowser.h \
    871871        src/medium/viso/UIVisoCreator.h \
    872         src/medium/viso/UIVisoConfigurationPanel.h \
    873872        src/medium/viso/UIVisoHostBrowser.h \
    874873        src/notificationcenter/UINotificationCenter.h \
     
    10761075        src/medium/viso/UIVisoHostBrowser.cpp \
    10771076        src/medium/viso/UIVisoBrowserBase.cpp \
     1077        src/medium/viso/UIVisoCreator.cpp \
    10781078        src/notificationcenter/UINotificationCenter.cpp \
    10791079        src/settings/editors/UIBaseMemoryEditor.cpp \
     
    14521452        src/medium/viso/UIVisoContentBrowser.cpp \
    14531453        src/medium/viso/UIVisoCreator.cpp \
    1454         src/medium/viso/UIVisoConfigurationPanel.cpp \
    14551454        src/medium/viso/UIVisoHostBrowser.cpp \
    14561455        src/notificationcenter/UINotificationCenter.cpp \
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.cpp

    r98103 r100155  
    217217    {
    218218        connect(m_pTreeView->selectionModel(), &QItemSelectionModel::selectionChanged,
    219                 this, &UIVisoBrowserBase::sltHandleTreeSelectionChanged);
     219                this, &UIVisoBrowserBase::sltTreeSelectionChanged);
    220220        connect(m_pTreeView, &QTreeView::clicked,
    221                 this, &UIVisoBrowserBase::sltHandleTreeItemClicked);
     221                this, &UIVisoBrowserBase::sltTreeItemClicked);
    222222    }
    223223    if (m_pLocationSelector)
     
    285285}
    286286
    287 void UIVisoBrowserBase::sltHandleTableViewItemDoubleClick(const QModelIndex &index)
     287void UIVisoBrowserBase::sltTableViewItemDoubleClick(const QModelIndex &index)
    288288{
    289289    tableViewItemDoubleClick(index);
    290290}
    291291
    292 void UIVisoBrowserBase::sltHandleTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
     292void UIVisoBrowserBase::sltTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
    293293{
    294294    Q_UNUSED(deselected);
     
    300300}
    301301
    302 void UIVisoBrowserBase::sltHandleTreeItemClicked(const QModelIndex &modelIndex)
     302void UIVisoBrowserBase::sltTreeItemClicked(const QModelIndex &modelIndex)
    303303{
    304304    if (!m_pTreeView)
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.h

    r98103 r100155  
    6767public slots:
    6868
    69     void sltHandleTableViewItemDoubleClick(const QModelIndex &index);
     69    void sltTableViewItemDoubleClick(const QModelIndex &index);
    7070
    7171protected:
     
    9393private slots:
    9494
    95     void sltHandleTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
    96     void sltHandleTreeItemClicked(const QModelIndex &modelIndex);
     95    void sltTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
     96    void sltTreeItemClicked(const QModelIndex &modelIndex);
    9797    void sltExpandCollapseTreeView();
    9898
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.cpp

    r100092 r100155  
    297297}
    298298
    299 void UIVisoContentBrowser::sltHandleCreateNewDirectory()
     299void UIVisoContentBrowser::sltCreateNewDirectory()
    300300{
    301301    if (!m_pTableView)
     
    330330}
    331331
    332 void UIVisoContentBrowser::sltHandleRemoveItems()
     332void UIVisoContentBrowser::sltRemoveItems()
    333333{
    334334    removeItems(tableSelectedItems());
     
    459459    {
    460460        connect(m_pTableView, &UIVisoContentTableView::doubleClicked,
    461                 this, &UIVisoBrowserBase::sltHandleTableViewItemDoubleClick);
     461                this, &UIVisoBrowserBase::sltTableViewItemDoubleClick);
    462462        connect(m_pTableView, &UIVisoContentTableView::sigNewItemsDropped,
    463                 this, &UIVisoContentBrowser::sltHandleDroppedItems);
     463                this, &UIVisoContentBrowser::sltDroppedItems);
    464464        connect(m_pTableView, &QTableView::customContextMenuRequested,
    465465                this, &UIVisoContentBrowser::sltFileTableViewContextMenu);
     
    468468    if (m_pTableView->selectionModel())
    469469        connect(m_pTableView->selectionModel(), &QItemSelectionModel::selectionChanged,
    470                 this, &UIVisoContentBrowser::sltHandleTableSelectionChanged);
     470                this, &UIVisoContentBrowser::sltTableSelectionChanged);
    471471    if (m_pModel)
    472472        connect(m_pModel, &UICustomFileSystemModel::sigItemRenamed,
    473                 this, &UIVisoContentBrowser::sltHandleItemRenameAttempt);
     473                this, &UIVisoContentBrowser::sltItemRenameAttempt);
    474474}
    475475
     
    711711}
    712712
    713 void UIVisoContentBrowser::sltHandleItemRenameAction()
     713void UIVisoContentBrowser::sltItemRenameAction()
    714714{
    715715    QList<UICustomFileSystemItem*> selectedItems = tableSelectedItems();
     
    720720}
    721721
    722 void UIVisoContentBrowser::sltHandleItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName)
     722void UIVisoContentBrowser::sltItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName)
    723723{
    724724    if (!pItem || !pItem->parentItem())
     
    759759}
    760760
    761 void UIVisoContentBrowser::sltHandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
     761void UIVisoContentBrowser::sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
    762762{
    763763    Q_UNUSED(deselected);
     
    765765}
    766766
    767 void UIVisoContentBrowser::sltHandleResetAction()
     767void UIVisoContentBrowser::sltResetAction()
    768768{
    769769    if (!rootItem() || !rootItem()->child(0))
     
    777777}
    778778
    779 void UIVisoContentBrowser::sltHandleDroppedItems(QStringList pathList)
     779void UIVisoContentBrowser::sltDroppedItems(QStringList pathList)
    780780{
    781781    addObjectsToViso(pathList);
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.h

    r100071 r100155  
    7474public slots:
    7575
    76     void sltHandleCreateNewDirectory();
     76    void sltCreateNewDirectory();
    7777    /** Handles the signal we get from the model during setData call. Restores the old name of the file object
    7878     *  to @p strOldName if need be (if rename fails for some reason). */
    79     void sltHandleItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName);
    80     void sltHandleRemoveItems();
    81     void sltHandleResetAction();
    82     void sltHandleItemRenameAction();
     79    void sltItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName);
     80    void sltRemoveItems();
     81    void sltResetAction();
     82    void sltItemRenameAction();
    8383
    8484protected:
     
    9797private slots:
    9898
    99     void sltHandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
     99    void sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
    100100    /** Adds the dragged-dropped items to VISO. */
    101     void sltHandleDroppedItems(QStringList pathList);
     101    void sltDroppedItems(QStringList pathList);
    102102
    103103private:
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.cpp

    r100146 r100155  
    2727
    2828/* Qt includes: */
     29#include <QCheckBox>
    2930#include <QGridLayout>
    3031#include <QGraphicsBlurEffect>
    3132#include <QGroupBox>
    32 #include <QLabel>
    3333#include <QMenuBar>
    3434#include <QPainter>
     
    4242#include "QIDialogButtonBox.h"
    4343#include "QIFileDialog.h"
     44#include "QILabel.h"
     45#include "QILineEdit.h"
    4446#include "QIToolBar.h"
    4547#include "UIActionPool.h"
     
    5153#include "UIVisoHostBrowser.h"
    5254#include "UIVisoCreator.h"
    53 #include "UIVisoConfigurationPanel.h"
    5455#include "UIVisoContentBrowser.h"
    5556#ifdef VBOX_WS_MAC
     
    6263#include <iprt/path.h>
    6364
    64 // class UIDimmableWidget : public QWidget
    65 // {
    66 // public:
    67 //     UIDimmableWidget(QWidget *pParent = 0);
    68 
    69 // protected:
    70 //     virtual void paintEvent(QPaintEvent *pEvent) final override;
    71 // private:
    72 //     // QGraphicsBlurEffect   *m_pOverlayBlurEffect;
    73 //     // m_pOverlayBlurEffect = new QGraphicsBlurEffect(this);
    74 //     // AssertPtrReturnVoid(m_pOverlayBlurEffect);
    75 //     // m_pBrowserContainerWidget->setGraphicsEffect(m_pOverlayBlurEffect);
    76 //     // m_pOverlayBlurEffect->setEnabled(false);
    77 //     // m_pOverlayBlurEffect->setBlurRadius(8);
    78 //     // if (m_pOverlayBlurEffect)
    79 //     //     m_pOverlayBlurEffect->setEnabled(m_pSettingsWidget->isVisible());
    80 
    81 //     QWidget *m_pOverlayWidget;
    82 // };
    83 
    84 class UIVisoSettingWidget : public QIWithRetranslateUI<QGroupBox>
    85 {
     65
     66/*********************************************************************************************************************************
     67*   UIVisoSettingWidget definition.                                                                                          *
     68*********************************************************************************************************************************/
     69
     70class SHARED_LIBRARY_STUFF UIVisoSettingWidget : public QIWithRetranslateUI<QGroupBox>
     71{
     72    Q_OBJECT;
     73
     74signals:
     75
     76    void sigVisoNameChanged(const QString &strVisoName);
     77    void sigCustomVisoOptionsChanged(const QStringList &customVisoOptions);
     78    void sigShowHiddenObjects(bool fShow);
     79
    8680public:
     81
    8782    UIVisoSettingWidget(QWidget *pParent);
    88     virtual void retranslateUi(){}
     83    virtual void retranslateUi();
     84
     85private slots:
     86
     87    void sltVisoNameChanged();
     88    void sltCustomOptionsEdited();
     89    void sltShowHiddenObjectsChange(int iState);
     90
     91private:
     92
     93    void prepareObjects();
     94    void prepareConnections();
     95
     96    QILabel      *m_pVisoNameLabel;
     97    QILabel      *m_pCustomOptionsLabel;
     98    QILineEdit   *m_pVisoNameLineEdit;
     99    QILineEdit   *m_pCustomOptionsLineEdit;
     100    QCheckBox    *m_pShowHiddenObjectsCheckBox;
     101    QILabel      *m_pShowHiddenObjectsLabel;
     102
    89103};
     104
     105
     106/*********************************************************************************************************************************
     107*   UIVisoSettingWidget implementation.                                                                                          *
     108*********************************************************************************************************************************/
    90109
    91110UIVisoSettingWidget::UIVisoSettingWidget(QWidget *pParent)
    92111    :QIWithRetranslateUI<QGroupBox>(pParent)
    93 {
    94 
    95 }
    96 
     112    , m_pVisoNameLabel(0)
     113    , m_pCustomOptionsLabel(0)
     114    , m_pVisoNameLineEdit(0)
     115    , m_pCustomOptionsLineEdit(0)
     116    , m_pShowHiddenObjectsCheckBox(0)
     117    , m_pShowHiddenObjectsLabel(0)
     118{
     119    prepareObjects();
     120    prepareConnections();
     121}
     122
     123void UIVisoSettingWidget::prepareObjects()
     124{
     125    QGridLayout *pMainLayout = new QGridLayout(this);
     126    pMainLayout->setSpacing(0);
     127    pMainLayout->setContentsMargins(0, 0, 0, 0);
     128    if (!pMainLayout)
     129        return;
     130
     131    /* Name edit and and label: */
     132    m_pVisoNameLabel = new QILabel(QApplication::translate("UIVisoCreatorWidget", "VISO Name:"));
     133    m_pVisoNameLineEdit = new QILineEdit;
     134    int iRow = 0;
     135    if (m_pVisoNameLabel && m_pVisoNameLineEdit)
     136    {
     137        m_pVisoNameLabel->setBuddy(m_pVisoNameLineEdit);
     138        pMainLayout->addWidget(m_pVisoNameLabel,    iRow, 0, 1, 1, Qt::AlignTop);
     139        pMainLayout->addWidget(m_pVisoNameLineEdit, iRow, 1, 1, 1, Qt::AlignTop);
     140    }
     141
     142    /* Cutom Viso options stuff: */
     143    m_pCustomOptionsLabel = new QILabel(QApplication::translate("UIVisoCreatorWidget", "Custom VISO options:"));
     144    m_pCustomOptionsLineEdit = new QILineEdit;
     145    ++iRow;
     146    if (m_pCustomOptionsLabel && m_pCustomOptionsLineEdit)
     147    {
     148        m_pCustomOptionsLabel->setBuddy(m_pCustomOptionsLineEdit);
     149        pMainLayout->addWidget(m_pCustomOptionsLabel,    iRow, 0, 1, 1, Qt::AlignTop);
     150        pMainLayout->addWidget(m_pCustomOptionsLineEdit, iRow, 1, 1, 1, Qt::AlignTop);
     151    }
     152
     153    ++iRow;
     154    m_pShowHiddenObjectsCheckBox = new QCheckBox;
     155    m_pShowHiddenObjectsLabel = new QILabel(QApplication::translate("UIVisoCreatorWidget", "Show Hidden Objects"));
     156    m_pShowHiddenObjectsLabel->setBuddy(m_pShowHiddenObjectsCheckBox);
     157    pMainLayout->addWidget(m_pShowHiddenObjectsLabel,    iRow, 0, 1, 1, Qt::AlignTop);
     158    pMainLayout->addWidget(m_pShowHiddenObjectsCheckBox, iRow, 1, 1, 1, Qt::AlignTop);
     159    ++iRow;
     160    QSpacerItem *pSpacer = new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding);
     161    pMainLayout->addItem(pSpacer, iRow, 0, 1, 2);
     162    retranslateUi();
     163}
     164
     165void UIVisoSettingWidget::retranslateUi()
     166{
     167    if (m_pVisoNameLabel)
     168        m_pVisoNameLabel->setText(QApplication::translate("UIVisoCreatorWidget", "VISO Name:"));
     169    if (m_pCustomOptionsLabel)
     170        m_pCustomOptionsLabel->setText(QApplication::translate("UIVisoCreatorWidget", "Custom VISO options:"));
     171
     172    if (m_pVisoNameLineEdit)
     173        m_pVisoNameLineEdit->setToolTip(QApplication::translate("UIVisoCreatorWidget", "Holds the name of the VISO medium."));
     174    if (m_pCustomOptionsLineEdit)
     175        m_pCustomOptionsLineEdit->setToolTip(QApplication::translate("UIVisoCreatorWidget", "The list of suctom options delimited with ';'."));
     176    if (m_pShowHiddenObjectsLabel)
     177        m_pShowHiddenObjectsLabel->setText(QApplication::translate("UIVisoCreatorWidget", "Show Hidden Objects"));
     178    if (m_pShowHiddenObjectsCheckBox)
     179        m_pShowHiddenObjectsCheckBox->setToolTip(QApplication::translate("UIVisoCreatorWidget", "When checked, "
     180                                                                         "multiple hidden objects are shown in the file browser"));
     181}
     182
     183void UIVisoSettingWidget::prepareConnections()
     184{
     185    if (m_pVisoNameLineEdit)
     186        connect(m_pVisoNameLineEdit, &QILineEdit::editingFinished, this, &UIVisoSettingWidget::sltVisoNameChanged);
     187    if (m_pCustomOptionsLabel)
     188        connect(m_pCustomOptionsLineEdit, &QILineEdit::editingFinished, this, &UIVisoSettingWidget::sltCustomOptionsEdited);
     189    if (m_pShowHiddenObjectsCheckBox)
     190        connect(m_pShowHiddenObjectsCheckBox, &QCheckBox::stateChanged,
     191                this, &UIVisoSettingWidget::sltShowHiddenObjectsChange);
     192}
     193
     194void UIVisoSettingWidget::sltCustomOptionsEdited()
     195{
     196    if (!m_pCustomOptionsLineEdit)
     197        return;
     198    QStringList customVisoOptions = m_pCustomOptionsLineEdit->text().split(";");
     199    if (!customVisoOptions.isEmpty())
     200        emit sigCustomVisoOptionsChanged(customVisoOptions);
     201}
     202
     203void UIVisoSettingWidget::sltVisoNameChanged()
     204{
     205    if (m_pVisoNameLineEdit)
     206        emit sigVisoNameChanged(m_pVisoNameLineEdit->text());
     207}
     208
     209void UIVisoSettingWidget::sltShowHiddenObjectsChange(int iState)
     210{
     211    if (iState == static_cast<int>(Qt::Checked))
     212        sigShowHiddenObjects(true);
     213    else
     214        sigShowHiddenObjects(false);
     215}
    97216
    98217
     
    117236    , m_pVerticalToolBar(0)
    118237    , m_pMainMenu(0)
    119     , m_pCreatorOptionsPanel(0)
    120     , m_pConfigurationPanel(0)
    121238    , m_pActionPool(pActionPool)
    122239    , m_fShowToolBar(fShowToolBar)
     
    124241    , m_pSettingsWidget(0)
    125242    , m_pBrowserContainerWidget(0)
     243    , m_pStackedLayout(0)
    126244{
    127245    m_visoOptions.m_strVisoName = !strMachineName.isEmpty() ? strMachineName : "ad-hoc";
     
    129247    populateMenuMainToolbar();
    130248    prepareConnections();
    131     manageEscapeShortCut();
    132249    retranslateUi();
    133250}
     
    176293        m_pVISOContentBrowser->setTitle(tr("VISO Content"));
    177294    if (m_pSettingsWidget)
    178         m_pSettingsWidget->setTitle(tr("Setting"));
     295        m_pSettingsWidget->setTitle(tr("Settings"));
    179296}
    180297
     
    182299{
    183300    Q_UNUSED(pEvent);
    184     if (m_pSettingsWidget && m_pOverlayWidget && m_pOverlayBlurEffect)
    185     {
     301    if (m_pSettingsWidget && m_pSettingsWidget->isVisible() != m_fShowSettingsDialog /*&& m_pOverlayWidget*/ && m_pOverlayBlurEffect)
     302    {
     303        QPixmap shot = m_pBrowserContainerWidget->grab();
     304        m_pOverlayWidget->setPixmap(shot);
     305
     306        if (m_fShowSettingsDialog)
     307            m_pStackedLayout->setCurrentWidget(m_pOverlayWidget);
     308        else
     309            m_pStackedLayout->setCurrentWidget(m_pBrowserContainerWidget);
     310
    186311        m_pSettingsWidget->setVisible(m_fShowSettingsDialog);
    187         m_pOverlayWidget->setVisible(m_fShowSettingsDialog);
     312
    188313        m_pOverlayBlurEffect->setEnabled(m_fShowSettingsDialog);
     314        m_pSettingsWidget->raise();
    189315        if (m_fShowSettingsDialog)
    190316        {
    191             int x = 0.5 * (m_pOverlayWidget->width() - m_pSettingsWidget->width());
    192             int y = 0.5 * (m_pOverlayWidget->height() - m_pSettingsWidget->height());
    193             m_pSettingsWidget->move(m_pOverlayWidget->x() + x, m_pOverlayWidget->y() + y);
     317            int x = 0.5 * (m_pBrowserContainerWidget->width() - m_pSettingsWidget->width());
     318            int y = 0.5 * (m_pBrowserContainerWidget->height() - m_pSettingsWidget->height());
     319            m_pSettingsWidget->move(m_pBrowserContainerWidget->x() + x, m_pBrowserContainerWidget->y() + y);
    194320        }
    195321    }
    196322}
    197323
    198 void UIVisoCreatorWidget::sltHandleAddObjectsToViso(QStringList pathList)
     324void UIVisoCreatorWidget::sltAddObjectsToViso(QStringList pathList)
    199325{
    200326    if (m_pVISOContentBrowser)
     
    205331{
    206332    m_fShowSettingsDialog = fChecked;
    207     update();
    208 }
    209 
    210 void UIVisoCreatorWidget::sltHandleVisoNameChanged(const QString &strVisoName)
     333    repaint();
     334    //update();
     335}
     336
     337void UIVisoCreatorWidget::sltVisoNameChanged(const QString &strVisoName)
    211338{
    212339    if (m_visoOptions.m_strVisoName == strVisoName)
     
    218345}
    219346
    220 void UIVisoCreatorWidget::sltHandleCustomVisoOptionsChanged(const QStringList &customVisoOptions)
     347void UIVisoCreatorWidget::sltCustomVisoOptionsChanged(const QStringList &customVisoOptions)
    221348{
    222349    if (m_visoOptions.m_customOptions == customVisoOptions)
     
    225352}
    226353
    227 void UIVisoCreatorWidget::sltHandleShowHiddenObjectsChange(bool fShow)
     354void UIVisoCreatorWidget::sltShowHiddenObjectsChange(bool fShow)
    228355{
    229356    if (m_browserOptions.m_fShowHiddenObjects == fShow)
     
    233360}
    234361
    235 void UIVisoCreatorWidget::sltHandleHidePanel(UIDialogPanel *pPanel)
    236 {
    237     hidePanel(pPanel);
    238 }
    239 
    240 void UIVisoCreatorWidget::sltHandleBrowserTreeViewVisibilityChanged(bool fVisible)
     362void UIVisoCreatorWidget::sltBrowserTreeViewVisibilityChanged(bool fVisible)
    241363{
    242364    Q_UNUSED(fVisible);
    243     manageEscapeShortCut();
    244 }
    245 
    246 void UIVisoCreatorWidget::sltHandleHostBrowserTableSelectionChanged(bool fIsSelectionEmpty)
     365}
     366
     367void UIVisoCreatorWidget::sltHostBrowserTableSelectionChanged(bool fIsSelectionEmpty)
    247368{
    248369    if (m_pAddAction)
     
    250371}
    251372
    252 void UIVisoCreatorWidget::sltHandleContentBrowserTableSelectionChanged(bool fIsSelectionEmpty)
     373void UIVisoCreatorWidget::sltContentBrowserTableSelectionChanged(bool fIsSelectionEmpty)
    253374{
    254375    if (m_pRemoveAction)
     
    258379}
    259380
    260 void UIVisoCreatorWidget::sltHandleShowContextMenu(const QWidget *pContextMenuRequester, const QPoint &point)
     381void UIVisoCreatorWidget::sltShowContextMenu(const QWidget *pContextMenuRequester, const QPoint &point)
    261382{
    262383    if (!pContextMenuRequester)
     
    279400}
    280401
    281 void UIVisoCreatorWidget::sltHandleOpenAction()
     402void UIVisoCreatorWidget::sltOpenAction()
    282403{
    283404    QString strFileName =  QIFileDialog::getOpenFileName(uiCommon().defaultFolderPathForType(UIMediumDeviceType_DVD),
     
    318439    }
    319440
    320     QStackedLayout *pStackedLayout = new QStackedLayout;
    321     AssertPtrReturnVoid(pStackedLayout);
    322     m_pMainLayout->addLayout(pStackedLayout);
     441    m_pStackedLayout = new QStackedLayout;
     442    AssertPtrReturnVoid(m_pStackedLayout);
     443    m_pMainLayout->addLayout(m_pStackedLayout);
    323444
    324445    m_pBrowserContainerWidget = new QWidget;
     
    342463    m_pVISOContentBrowser->setVisoName(m_visoOptions.m_strVisoName);
    343464
    344     m_pOverlayWidget = new QWidget(this);
    345     m_pOverlayWidget->setAutoFillBackground(true);
    346     QPalette pal = QPalette();
    347     QColor color = pal.color(QPalette::Window);
    348     color.setAlpha(60);
    349     pal.setColor(QPalette::Window, color);
    350     m_pOverlayWidget->setPalette(pal);
    351 
     465    m_pOverlayWidget = new QLabel(this);
     466    AssertPtrReturnVoid(m_pOverlayWidget);
    352467    m_pOverlayBlurEffect = new QGraphicsBlurEffect(this);
    353468    AssertPtrReturnVoid(m_pOverlayBlurEffect);
    354     m_pBrowserContainerWidget->setGraphicsEffect(m_pOverlayBlurEffect);
     469    m_pOverlayWidget->setGraphicsEffect(m_pOverlayBlurEffect);
    355470    m_pOverlayBlurEffect->setEnabled(false);
    356471    m_pOverlayBlurEffect->setBlurRadius(6);
     
    361476    AssertPtrReturnVoid(m_pSettingsWidget);
    362477
    363 
    364     /* When added to stacked layout m_pSettingsWidget cannot be centered: */
    365     //pStackedLayout->addWidget(m_pSettingsWidget);
    366     //pStackedLayout->setAlignment(m_pSettingsWidget, Qt::AlignRight);
    367     pStackedLayout->addWidget(m_pOverlayWidget);
    368     pStackedLayout->addWidget(m_pBrowserContainerWidget);
    369     pStackedLayout->setStackingMode(QStackedLayout::StackAll);
    370 
     478    m_pStackedLayout->addWidget(m_pOverlayWidget);
     479    m_pStackedLayout->addWidget(m_pBrowserContainerWidget);
     480
     481    m_pStackedLayout->setCurrentWidget(m_pBrowserContainerWidget);
    371482    m_pSettingsWidget->hide();
    372     m_pOverlayWidget->hide();
    373483}
    374484
     
    378488    {
    379489        connect(m_pHostBrowser, &UIVisoHostBrowser::sigAddObjectsToViso,
    380                 this, &UIVisoCreatorWidget::sltHandleAddObjectsToViso);
     490                this, &UIVisoCreatorWidget::sltAddObjectsToViso);
    381491        connect(m_pHostBrowser, &UIVisoHostBrowser::sigTreeViewVisibilityChanged,
    382                 this, &UIVisoCreatorWidget::sltHandleBrowserTreeViewVisibilityChanged);
     492                this, &UIVisoCreatorWidget::sltBrowserTreeViewVisibilityChanged);
    383493        connect(m_pHostBrowser, &UIVisoHostBrowser::sigTableSelectionChanged,
    384                 this, &UIVisoCreatorWidget::sltHandleHostBrowserTableSelectionChanged);
     494                this, &UIVisoCreatorWidget::sltHostBrowserTableSelectionChanged);
    385495        connect(m_pHostBrowser, &UIVisoHostBrowser::sigCreateFileTableViewContextMenu,
    386                 this, &UIVisoCreatorWidget::sltHandleShowContextMenu);
     496                this, &UIVisoCreatorWidget::sltShowContextMenu);
    387497    }
    388498
     
    390500    {
    391501        connect(m_pVISOContentBrowser, &UIVisoContentBrowser::sigTableSelectionChanged,
    392                 this, &UIVisoCreatorWidget::sltHandleContentBrowserTableSelectionChanged);
     502                this, &UIVisoCreatorWidget::sltContentBrowserTableSelectionChanged);
    393503        connect(m_pVISOContentBrowser, &UIVisoContentBrowser::sigCreateFileTableViewContextMenu,
    394                 this, &UIVisoCreatorWidget::sltHandleShowContextMenu);
     504                this, &UIVisoCreatorWidget::sltShowContextMenu);
    395505    }
    396506
     
    398508        connect(m_pActionOptions, &QAction::triggered, this, &UIVisoCreatorWidget::sltPanelActionToggled);
    399509
    400     if (m_pConfigurationPanel)
    401     {
    402         connect(m_pConfigurationPanel, &UIVisoConfigurationPanel::sigVisoNameChanged,
    403                 this, &UIVisoCreatorWidget::sltHandleVisoNameChanged);
    404         connect(m_pConfigurationPanel, &UIVisoConfigurationPanel::sigCustomVisoOptionsChanged,
    405                 this, &UIVisoCreatorWidget::sltHandleCustomVisoOptionsChanged);
    406         connect(m_pConfigurationPanel, &UIVisoConfigurationPanel::sigHidePanel,
    407                 this, &UIVisoCreatorWidget::sltHandleHidePanel);
    408     }
    409 
    410     if (m_pCreatorOptionsPanel)
    411     {
    412         connect(m_pCreatorOptionsPanel, &UIVisoConfigurationPanel::sigShowHiddenObjects,
    413                 this, &UIVisoCreatorWidget::sltHandleShowHiddenObjectsChange);
    414         connect(m_pCreatorOptionsPanel, &UIVisoConfigurationPanel::sigHidePanel,
    415                 this, &UIVisoCreatorWidget::sltHandleHidePanel);
    416         m_panelActionMap.insert(m_pCreatorOptionsPanel, m_pActionOptions);
     510    if (m_pSettingsWidget)
     511    {
     512        connect(m_pSettingsWidget, &UIVisoSettingWidget::sigVisoNameChanged,
     513                this, &UIVisoCreatorWidget::sltVisoNameChanged);
     514        connect(m_pSettingsWidget, &UIVisoSettingWidget::sigCustomVisoOptionsChanged,
     515                this, &UIVisoCreatorWidget::sltCustomVisoOptionsChanged);
     516        connect(m_pSettingsWidget, &UIVisoSettingWidget::sigShowHiddenObjects,
     517                this, &UIVisoCreatorWidget::sltShowHiddenObjectsChange);
    417518    }
    418519
    419520    if (m_pAddAction)
    420521        connect(m_pAddAction, &QAction::triggered,
    421                 m_pHostBrowser, &UIVisoHostBrowser::sltHandleAddAction);
     522                m_pHostBrowser, &UIVisoHostBrowser::sltAddAction);
    422523
    423524    if (m_pCreateNewDirectoryAction)
    424525        connect(m_pCreateNewDirectoryAction, &QAction::triggered,
    425                 m_pVISOContentBrowser, &UIVisoContentBrowser::sltHandleCreateNewDirectory);
     526                m_pVISOContentBrowser, &UIVisoContentBrowser::sltCreateNewDirectory);
    426527    if (m_pRemoveAction)
    427528        connect(m_pRemoveAction, &QAction::triggered,
    428                 m_pVISOContentBrowser, &UIVisoContentBrowser::sltHandleRemoveItems);
     529                m_pVISOContentBrowser, &UIVisoContentBrowser::sltRemoveItems);
    429530    if (m_pResetAction)
    430531        connect(m_pResetAction, &QAction::triggered,
    431                 m_pVISOContentBrowser, &UIVisoContentBrowser::sltHandleResetAction);
     532                m_pVISOContentBrowser, &UIVisoContentBrowser::sltResetAction);
    432533    if (m_pRenameAction)
    433534        connect(m_pRenameAction, &QAction::triggered,
    434                 m_pVISOContentBrowser,&UIVisoContentBrowser::sltHandleItemRenameAction);
     535                m_pVISOContentBrowser,&UIVisoContentBrowser::sltItemRenameAction);
    435536    if (m_pOpenAction)
    436537        connect(m_pOpenAction, &QAction::triggered,
    437                 this, &UIVisoCreatorWidget::sltHandleOpenAction);
     538                this, &UIVisoCreatorWidget::sltOpenAction);
    438539}
    439540
     
    510611}
    511612
    512 void UIVisoCreatorWidget::hidePanel(UIDialogPanel* panel)
    513 {
    514     if (panel && panel->isVisible())
    515         panel->setVisible(false);
    516     QMap<UIDialogPanel*, QAction*>::iterator iterator = m_panelActionMap.find(panel);
    517     if (iterator != m_panelActionMap.end())
    518     {
    519         if (iterator.value() && iterator.value()->isChecked())
    520             iterator.value()->setChecked(false);
    521     }
    522     m_visiblePanelsList.removeAll(panel);
    523     manageEscapeShortCut();
    524 }
    525 
    526 void UIVisoCreatorWidget::showPanel(UIDialogPanel* panel)
    527 {
    528     if (panel && panel->isHidden())
    529         panel->setVisible(true);
    530     QMap<UIDialogPanel*, QAction*>::iterator iterator = m_panelActionMap.find(panel);
    531     if (iterator != m_panelActionMap.end())
    532     {
    533         if (!iterator.value()->isChecked())
    534             iterator.value()->setChecked(true);
    535     }
    536     if (!m_visiblePanelsList.contains(panel))
    537         m_visiblePanelsList.push_back(panel);
    538     manageEscapeShortCut();
    539 }
    540 
    541 void UIVisoCreatorWidget::manageEscapeShortCut()
    542 {
    543     /* Take the escape key from m_pButtonBox and from the panels in case treeview(s) in
    544        host and/or content browser is open. We use the escape key to close those first: */
    545     if ((m_pHostBrowser && m_pHostBrowser->isTreeViewVisible()) ||
    546         (m_pVISOContentBrowser && m_pVISOContentBrowser->isTreeViewVisible()))
    547     {
    548         emit sigSetCancelButtonShortCut(QKeySequence());
    549         for (int i = 0; i < m_visiblePanelsList.size(); ++i)
    550             m_visiblePanelsList[i]->setCloseButtonShortCut(QKeySequence());
    551         return;
    552     }
    553 
    554     /* if there are no visible panels then assign esc. key to cancel button of the button box: */
    555     if (m_visiblePanelsList.isEmpty())
    556     {
    557         emit sigSetCancelButtonShortCut(QKeySequence(Qt::Key_Escape));
    558         return;
    559     }
    560     emit sigSetCancelButtonShortCut(QKeySequence());
    561 
    562     /* Just loop thru the visible panel list and set the esc key to the
    563        panel which made visible latest */
    564     for (int i = 0; i < m_visiblePanelsList.size() - 1; ++i)
    565         m_visiblePanelsList[i]->setCloseButtonShortCut(QKeySequence());
    566     m_visiblePanelsList.back()->setCloseButtonShortCut(QKeySequence(Qt::Key_Escape));
    567 }
    568 
    569613void UIVisoCreatorWidget::prepareVerticalToolBar()
    570614{
     
    713757        pMainLayout->addWidget(m_pButtonBox);
    714758
    715         connect(m_pButtonBox->button(QIDialogButtonBox::Help), &QPushButton::pressed,
    716                 m_pButtonBox, &QIDialogButtonBox::sltHandleHelpRequest);
     759        // connect(m_pButtonBox->button(QIDialogButtonBox::Help), &QPushButton::pressed,
     760        //         m_pButtonBox, &QIDialogButtonBox::sltHelpRequest);
     761
    717762        m_pButtonBox->button(QDialogButtonBox::Help)->setShortcut(QKeySequence::HelpContents);
    718763
     
    720765    }
    721766
    722     m_pStatusLabel = new QLabel;
     767    m_pStatusLabel = new QILabel;
    723768    m_pStatusBar = new QStatusBar(this);
    724769    if (m_pButtonBox && m_pStatusLabel)
     
    826871    return QString("%1/%2%3").arg(m_strVisoSavePath).arg(visoName()).arg(".viso");
    827872}
     873
     874#include "UIVisoCreator.moc"
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.h

    r100146 r100155  
    4545class QGridLayout;
    4646class QGraphicsBlurEffect;
     47class QLabel;
     48class QStackedLayout;
    4749class QVBoxLayout;
    48 class QLabel;
     50class QILabel;
    4951class QMenu;
    5052class QStatusBar;
     
    5254class QIToolBar;
    5355class UIActionPool;
    54 class UIDialogPanel;
    5556class UIVisoHostBrowser;
    5657class UIVisoContentBrowser;
    57 class UIVisoConfigurationPanel;
    5858class UIVisoSettingWidget;
    5959
     
    9797private slots:
    9898
    99     void sltHandleAddObjectsToViso(QStringList pathList);
     99    void sltAddObjectsToViso(QStringList pathList);
    100100    void sltPanelActionToggled(bool fChecked);
    101     void sltHandleVisoNameChanged(const QString& strVisoName);
    102     void sltHandleCustomVisoOptionsChanged(const QStringList &customVisoOptions);
    103     void sltHandleShowHiddenObjectsChange(bool fShow);
    104     void sltHandleHidePanel(UIDialogPanel *pPanel);
    105     void sltHandleBrowserTreeViewVisibilityChanged(bool fVisible);
    106     void sltHandleHostBrowserTableSelectionChanged(bool fIsSelectionEmpty);
    107     void sltHandleContentBrowserTableSelectionChanged(bool fIsSelectionEmpty);
    108     void sltHandleShowContextMenu(const QWidget *pContextMenuRequester, const QPoint &point);
    109     void sltHandleOpenAction();
     101    void sltVisoNameChanged(const QString& strVisoName);
     102    void sltCustomVisoOptionsChanged(const QStringList &customVisoOptions);
     103    void sltShowHiddenObjectsChange(bool fShow);
     104    void sltBrowserTreeViewVisibilityChanged(bool fVisible);
     105    void sltHostBrowserTableSelectionChanged(bool fIsSelectionEmpty);
     106    void sltContentBrowserTableSelectionChanged(bool fIsSelectionEmpty);
     107    void sltShowContextMenu(const QWidget *pContextMenuRequester, const QPoint &point);
     108    void sltOpenAction();
    110109
    111110private:
     
    138137    void setTableRootIndex(QModelIndex index = QModelIndex() );
    139138    void setTreeCurrentIndex(QModelIndex index = QModelIndex() );
    140     void hidePanel(UIDialogPanel *panel);
    141     void showPanel(UIDialogPanel *panel);
    142     /** Makes sure escape key is assigned to only a single widget. This is done by checking
    143       *  several things in the following order:
    144       *  - when (drop-down) tree views of browser panes are visible esc. key used to close those. thus it is taken from the dialog and panels
    145       *  - when there are no more panels visible assign it to the parent dialog
    146       *  - grab it from the dialog as soon as a panel becomes visible again
    147       *  - assign it to the most recently "unhidden" panel */
    148     void manageEscapeShortCut();
    149139
    150140    /** @name Main toolbar (and main menu) actions
     
    172162    BrowserOptions        m_browserOptions;
    173163    QMenu                *m_pMainMenu;
    174     UIVisoConfigurationPanel  *m_pCreatorOptionsPanel;
    175     UIVisoConfigurationPanel  *m_pConfigurationPanel;
    176     QMap<UIDialogPanel*, QAction*> m_panelActionMap;
    177     QList<UIDialogPanel*>          m_visiblePanelsList;
    178164    QPointer<UIActionPool> m_pActionPool;
    179165    bool                   m_fShowToolBar;
     
    181167    UIVisoSettingWidget   *m_pSettingsWidget;
    182168    QWidget               *m_pBrowserContainerWidget;
    183     QWidget               *m_pOverlayWidget;
     169    QLabel                *m_pOverlayWidget;
    184170    QGraphicsBlurEffect   *m_pOverlayBlurEffect;
     171    QStackedLayout        *m_pStackedLayout;
    185172};
    186173
     
    231218    QIDialogButtonBox   *m_pButtonBox;
    232219    QStatusBar          *m_pStatusBar;
    233     QLabel              *m_pStatusLabel;
     220    QILabel             *m_pStatusLabel;
    234221    QPointer<UIActionPool> m_pActionPool;
    235222    int                  m_iGeometrySaveTimerId;
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoHostBrowser.cpp

    r98103 r100155  
    216216    {
    217217        connect(m_pTableView, &QTableView::doubleClicked,
    218                 this, &UIVisoBrowserBase::sltHandleTableViewItemDoubleClick);
     218                this, &UIVisoBrowserBase::sltTableViewItemDoubleClick);
    219219        connect(m_pTableView, &QTableView::customContextMenuRequested,
    220220                this, &UIVisoHostBrowser::sltFileTableViewContextMenu);
     
    223223    if (m_pTableView->selectionModel())
    224224        connect(m_pTableView->selectionModel(), &QItemSelectionModel::selectionChanged,
    225                 this, &UIVisoHostBrowser::sltHandleTableSelectionChanged);
    226 }
    227 
    228 void UIVisoHostBrowser::sltHandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
     225                this, &UIVisoHostBrowser::sltTableSelectionChanged);
     226}
     227
     228void UIVisoHostBrowser::sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)
    229229{
    230230    Q_UNUSED(deselected);
     
    296296}
    297297
    298 void UIVisoHostBrowser::sltHandleAddAction()
     298void UIVisoHostBrowser::sltAddAction()
    299299{
    300300    if (!m_pTableView || !m_pTableModel)
  • trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoHostBrowser.h

    r98103 r100155  
    6161public slots:
    6262
    63     void sltHandleAddAction();
     63    void sltAddAction();
    6464
    6565protected:
     
    7373private slots:
    7474
    75     void sltHandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
     75    void sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);
    7676
    7777private:
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