Changeset 92645 in vbox
- Timestamp:
- Nov 30, 2021 10:50:48 AM (3 years ago)
- svn:sync-xref-src-repo-rev:
- 148540
- 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 185 185 if (m_fShowToolbar) 186 186 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 195 187 196 188 QHBoxLayout *pFileTableContainerLayout = new QHBoxLayout; … … 225 217 m_pHostFileTable = new UIFileManagerHostTable(m_pActionPool); 226 218 if (m_pHostFileTable) 227 {228 connect(m_pHostFileTable, &UIFileManagerHostTable::sigLogOutput,229 this, &UIFileManager::sltReceieveLogOutput);230 connect(m_pHostFileTable, &UIFileManagerHostTable::sigDeleteConfirmationOptionChanged,231 this, &UIFileManager::sltHandleOptionsUpdated);232 219 pHostTableAndVerticalToolbarLayout->addWidget(m_pHostFileTable); 233 } 220 234 221 m_pFileTableSplitter->addWidget(pHostTableAndVerticalToolbarWidget); 235 222 prepareVerticalToolBar(pHostTableAndVerticalToolbarLayout); 236 223 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);244 224 m_pFileTableSplitter->addWidget(m_pGuestFileTable); 245 }246 225 } 247 226 … … 250 229 m_pFileTableSplitter->setCollapsible(i, false); 251 230 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 } 299 254 } 300 255 … … 357 312 } 358 313 if (m_pOptionsPanel) 314 { 359 315 connect(m_pOptionsPanel, &UIFileManagerOptionsPanel::sigHidePanel, 360 316 this, &UIFileManager::sltHandleHidePanel); 317 connect(m_pOptionsPanel, &UIFileManagerOptionsPanel::sigOptionsChanged, 318 this, &UIFileManager::sltHandleOptionsUpdated); 319 } 361 320 if (m_pLogPanel) 362 321 connect(m_pLogPanel, &UIFileManagerLogPanel::sigHidePanel, … … 366 325 connect(m_pOperationsPanel, &UIFileManagerOperationsPanel::sigHidePanel, 367 326 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 } 368 343 } 369 344 … … 526 501 { 527 502 if (m_pOptionsPanel) 528 {529 503 m_pOptionsPanel->update(); 530 }531 504 532 505 if (m_pGuestFileTable) … … 665 638 } 666 639 667 668 640 void UIFileManager::closeSession() 669 641 { 670 642 } 671 672 643 673 644 void UIFileManager::prepareListener(ComObjPtr<UIMainEventListenerImpl> &QtListener, … … 687 658 /* Register event sources in their listeners as well: */ 688 659 QtListener->getWrapped()->registerSource(comEventSource, comEventListener); 660 } 661 662 void 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 683 void 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); 689 705 } 690 706 … … 817 833 panel which made visible latest */ 818 834 for (int i = 0; i < m_visiblePanelsList.size() - 1; ++i) 819 {820 835 m_visiblePanelsList[i]->setCloseButtonShortCut(QKeySequence()); 821 } 836 822 837 m_visiblePanelsList.back()->setCloseButtonShortCut(QKeySequence(Qt::Key_Escape)); 823 838 } -
TabularUnified trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.h ¶
r92641 r92645 135 135 void prepareVerticalToolBar(QHBoxLayout *layout); 136 136 void prepareToolBar(); 137 /** Creates options and sessions panels and adds them to @p pLayout. */ 138 void prepareOptionsAndSessionPanels(QVBoxLayout *pLayout); 139 void prepareOperationsAndLogPanels(QSplitter *pSplitter); 137 140 138 141 /** Creates a shared machine session, opens a guest session and registers event listeners. */
Note:
See TracChangeset
for help on using the changeset viewer.