VirtualBox

Changeset 92645 in vbox


Ignore:
Timestamp:
Nov 30, 2021 10:50:48 AM (3 years ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
148540
Message:

FE/Qt: bugref:9371. Some refactoring.

Location:
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp

    r92643 r92645  
    185185    if (m_fShowToolbar)
    186186        prepareToolBar();
    187     m_pVerticalSplitter = new QSplitter;
    188     if (!m_pVerticalSplitter)
    189         return;
    190 
    191     m_pMainLayout->addWidget(m_pVerticalSplitter);
    192     m_pVerticalSplitter->setOrientation(Qt::Vertical);
    193     m_pVerticalSplitter->setHandleWidth(4);
    194 
    195187
    196188    QHBoxLayout *pFileTableContainerLayout = new QHBoxLayout;
     
    225217        m_pHostFileTable = new UIFileManagerHostTable(m_pActionPool);
    226218        if (m_pHostFileTable)
    227         {
    228             connect(m_pHostFileTable, &UIFileManagerHostTable::sigLogOutput,
    229                     this, &UIFileManager::sltReceieveLogOutput);
    230             connect(m_pHostFileTable, &UIFileManagerHostTable::sigDeleteConfirmationOptionChanged,
    231                     this, &UIFileManager::sltHandleOptionsUpdated);
    232219            pHostTableAndVerticalToolbarLayout->addWidget(m_pHostFileTable);
    233         }
     220
    234221        m_pFileTableSplitter->addWidget(pHostTableAndVerticalToolbarWidget);
    235222        prepareVerticalToolBar(pHostTableAndVerticalToolbarLayout);
    236223        if (m_pGuestFileTable)
    237         {
    238             connect(m_pGuestFileTable, &UIFileManagerGuestTable::sigLogOutput,
    239                     this, &UIFileManager::sltReceieveLogOutput);
    240             connect(m_pGuestFileTable, &UIFileManagerGuestTable::sigNewFileOperation,
    241                     this, &UIFileManager::sltReceieveNewFileOperation);
    242             connect(m_pGuestFileTable, &UIFileManagerGuestTable::sigDeleteConfirmationOptionChanged,
    243                     this, &UIFileManager::sltHandleOptionsUpdated);
    244224            m_pFileTableSplitter->addWidget(m_pGuestFileTable);
    245         }
    246225    }
    247226
     
    250229        m_pFileTableSplitter->setCollapsible(i, false);
    251230
    252     m_pGuestSessionPanel = new UIFileManagerGuestSessionPanel;
    253     if (m_pGuestSessionPanel)
    254     {
    255         m_pGuestSessionPanel->hide();
    256         m_panelActionMap.insert(m_pGuestSessionPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_GuestSession));
    257         pTopLayout->addWidget(m_pGuestSessionPanel);
    258     }
    259 
    260     m_pOptionsPanel =
    261         new UIFileManagerOptionsPanel(0 /*parent */, UIFileManagerOptions::instance());
    262     if (m_pOptionsPanel)
    263     {
    264         m_pOptionsPanel->hide();
    265         m_panelActionMap.insert(m_pOptionsPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Options));
    266         connect(m_pOptionsPanel, &UIFileManagerOptionsPanel::sigOptionsChanged,
    267                 this, &UIFileManager::sltHandleOptionsUpdated);
    268         pTopLayout->addWidget(m_pOptionsPanel);
    269     }
    270 
    271     m_pVerticalSplitter->addWidget(pTopWidget);
    272 
    273     m_pOperationsPanel = new UIFileManagerOperationsPanel;
    274     if (m_pOperationsPanel)
    275     {
    276         m_pOperationsPanel->hide();
    277         connect(m_pOperationsPanel, &UIFileManagerOperationsPanel::sigFileOperationComplete,
    278                 this, &UIFileManager::sltFileOperationComplete);
    279         connect(m_pOperationsPanel, &UIFileManagerOperationsPanel::sigFileOperationFail,
    280                 this, &UIFileManager::sltReceieveLogOutput);
    281         m_panelActionMap.insert(m_pOperationsPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Operations));
    282     }
    283 
    284     m_pLogPanel = new UIFileManagerLogPanel;
    285     if (m_pLogPanel)
    286     {
    287         m_pLogPanel->hide();
    288         m_panelActionMap.insert(m_pLogPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Log));
    289     }
    290 
    291     m_pVerticalSplitter->addWidget(pTopWidget);
    292     m_pVerticalSplitter->addWidget(m_pOperationsPanel);
    293     m_pVerticalSplitter->addWidget(m_pLogPanel);
    294     for (int i = 0; i < m_pVerticalSplitter->count(); ++i)
    295         m_pVerticalSplitter->setCollapsible(i, false);
    296     m_pVerticalSplitter->setStretchFactor(0, 3);
    297     m_pVerticalSplitter->setStretchFactor(1, 1);
    298     m_pVerticalSplitter->setStretchFactor(2, 1);
     231    /* Create options and session panels and insert them into pTopLayout: */
     232    prepareOptionsAndSessionPanels(pTopLayout);
     233
     234    /** Vertical splitter has 3 widgets. Log panel as bottom most one, operations panel on top of it,
     235     * and pTopWidget which contains everthing else: */
     236    m_pVerticalSplitter = new QSplitter;
     237    if (m_pVerticalSplitter)
     238    {
     239
     240        m_pMainLayout->addWidget(m_pVerticalSplitter);
     241        m_pVerticalSplitter->setOrientation(Qt::Vertical);
     242        m_pVerticalSplitter->setHandleWidth(4);
     243
     244        m_pVerticalSplitter->addWidget(pTopWidget);
     245        /* Prepare operations and log panels and insert them into splitter: */
     246        prepareOperationsAndLogPanels(m_pVerticalSplitter);
     247
     248        for (int i = 0; i < m_pVerticalSplitter->count(); ++i)
     249            m_pVerticalSplitter->setCollapsible(i, false);
     250        m_pVerticalSplitter->setStretchFactor(0, 3);
     251        m_pVerticalSplitter->setStretchFactor(1, 1);
     252        m_pVerticalSplitter->setStretchFactor(2, 1);
     253    }
    299254}
    300255
     
    357312    }
    358313    if (m_pOptionsPanel)
     314    {
    359315        connect(m_pOptionsPanel, &UIFileManagerOptionsPanel::sigHidePanel,
    360316                this, &UIFileManager::sltHandleHidePanel);
     317        connect(m_pOptionsPanel, &UIFileManagerOptionsPanel::sigOptionsChanged,
     318                this, &UIFileManager::sltHandleOptionsUpdated);
     319    }
    361320    if (m_pLogPanel)
    362321        connect(m_pLogPanel, &UIFileManagerLogPanel::sigHidePanel,
     
    366325        connect(m_pOperationsPanel, &UIFileManagerOperationsPanel::sigHidePanel,
    367326                this, &UIFileManager::sltHandleHidePanel);
     327    if (m_pHostFileTable)
     328    {
     329        connect(m_pHostFileTable, &UIFileManagerHostTable::sigLogOutput,
     330                this, &UIFileManager::sltReceieveLogOutput);
     331        connect(m_pHostFileTable, &UIFileManagerHostTable::sigDeleteConfirmationOptionChanged,
     332                this, &UIFileManager::sltHandleOptionsUpdated);
     333    }
     334    if (m_pGuestFileTable)
     335    {
     336        connect(m_pGuestFileTable, &UIFileManagerGuestTable::sigLogOutput,
     337                this, &UIFileManager::sltReceieveLogOutput);
     338        connect(m_pGuestFileTable, &UIFileManagerGuestTable::sigNewFileOperation,
     339                this, &UIFileManager::sltReceieveNewFileOperation);
     340        connect(m_pGuestFileTable, &UIFileManagerGuestTable::sigDeleteConfirmationOptionChanged,
     341                this, &UIFileManager::sltHandleOptionsUpdated);
     342    }
    368343}
    369344
     
    526501{
    527502    if (m_pOptionsPanel)
    528     {
    529503        m_pOptionsPanel->update();
    530     }
    531504
    532505    if (m_pGuestFileTable)
     
    665638}
    666639
    667 
    668640void UIFileManager::closeSession()
    669641{
    670642}
    671 
    672643
    673644void UIFileManager::prepareListener(ComObjPtr<UIMainEventListenerImpl> &QtListener,
     
    687658    /* Register event sources in their listeners as well: */
    688659    QtListener->getWrapped()->registerSource(comEventSource, comEventListener);
     660}
     661
     662void UIFileManager::prepareOptionsAndSessionPanels(QVBoxLayout *pLayout)
     663{
     664    if (!pLayout)
     665        return;
     666    m_pGuestSessionPanel = new UIFileManagerGuestSessionPanel;
     667    if (m_pGuestSessionPanel)
     668    {
     669        m_pGuestSessionPanel->hide();
     670        m_panelActionMap.insert(m_pGuestSessionPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_GuestSession));
     671        pLayout->addWidget(m_pGuestSessionPanel);
     672    }
     673
     674    m_pOptionsPanel = new UIFileManagerOptionsPanel(0 /*parent */, UIFileManagerOptions::instance());
     675    if (m_pOptionsPanel)
     676    {
     677        m_pOptionsPanel->hide();
     678        m_panelActionMap.insert(m_pOptionsPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Options));
     679        pLayout->addWidget(m_pOptionsPanel);
     680    }
     681}
     682
     683void UIFileManager::prepareOperationsAndLogPanels(QSplitter *pSplitter)
     684{
     685    if (!pSplitter)
     686        return;
     687    m_pOperationsPanel = new UIFileManagerOperationsPanel;
     688    if (m_pOperationsPanel)
     689    {
     690        m_pOperationsPanel->hide();
     691        connect(m_pOperationsPanel, &UIFileManagerOperationsPanel::sigFileOperationComplete,
     692                this, &UIFileManager::sltFileOperationComplete);
     693        connect(m_pOperationsPanel, &UIFileManagerOperationsPanel::sigFileOperationFail,
     694                this, &UIFileManager::sltReceieveLogOutput);
     695        m_panelActionMap.insert(m_pOperationsPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Operations));
     696    }
     697    pSplitter->addWidget(m_pOperationsPanel);
     698    m_pLogPanel = new UIFileManagerLogPanel;
     699    if (m_pLogPanel)
     700    {
     701        m_pLogPanel->hide();
     702        m_panelActionMap.insert(m_pLogPanel, m_pActionPool->action(UIActionIndex_M_FileManager_T_Log));
     703    }
     704    pSplitter->addWidget(m_pLogPanel);
    689705}
    690706
     
    817833       panel which made visible latest */
    818834    for (int i = 0; i < m_visiblePanelsList.size() - 1; ++i)
    819     {
    820835        m_visiblePanelsList[i]->setCloseButtonShortCut(QKeySequence());
    821     }
     836
    822837    m_visiblePanelsList.back()->setCloseButtonShortCut(QKeySequence(Qt::Key_Escape));
    823838}
  • TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h

    r92641 r92645  
    135135    void prepareVerticalToolBar(QHBoxLayout *layout);
    136136    void prepareToolBar();
     137    /** Creates options and sessions panels and adds them to @p pLayout.  */
     138    void prepareOptionsAndSessionPanels(QVBoxLayout *pLayout);
     139    void prepareOperationsAndLogPanels(QSplitter *pSplitter);
    137140
    138141    /** Creates a shared machine session, opens a guest session and registers event listeners. */
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