Changeset 75425 in vbox
- Timestamp:
- Nov 13, 2018 4:16:17 PM (6 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox/src/guestctrl
- Files:
-
- 28 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlConsole.cpp
r71639 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlConsole.h
r71639 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManager.cpp
r75309 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 132 132 const CGuest &comGuest, QWidget *pParent, bool fShowToolbar /* = true */) 133 133 : QIWithRetranslateUI<QWidget>(pParent) 134 , m_iMaxRecursionDepth(1)135 134 , m_comGuest(comGuest) 136 135 , m_pMainLayout(0) … … 249 248 connect(m_pGuestFileTable, &UIGuestFileTable::sigLogOutput, 250 249 this, &UIGuestControlFileManager::sltReceieveLogOutput); 250 connect(m_pGuestFileTable, &UIGuestFileTable::sigNewFileOperation, 251 this, &UIGuestControlFileManager::sltReceieveNewFileOperation); 252 251 253 pFileTableContainerLayout->addWidget(m_pGuestFileTable); 252 254 } … … 330 332 331 333 connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_CopyToHost), &QAction::triggered, 332 this, &UIGuestControlFileManager::sltCopy HostToGuest);334 this, &UIGuestControlFileManager::sltCopyGuestToHost); 333 335 connect(m_pActionPool->action(UIActionIndex_M_GuestControlFileManager_S_CopyToGuest), &QAction::triggered, 334 this, &UIGuestControlFileManager::sltCopy GuestToHost);336 this, &UIGuestControlFileManager::sltCopyHostToGuest); 335 337 336 338 layout ->addWidget(m_pToolBar); … … 510 512 } 511 513 514 void UIGuestControlFileManager::sltReceieveNewFileOperation(const CProgress &comProgress) 515 { 516 if (m_pOperationsPanel) 517 m_pOperationsPanel->addNewProgress(comProgress); 518 } 519 512 520 void UIGuestControlFileManager::initFileTable() 513 521 { -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManager.h
r75295 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 111 111 void sltPanelActionToggled(bool fChecked); 112 112 void sltListDirectoriesBeforeChanged(); 113 void sltReceieveNewFileOperation(const CProgress &comProgress); 113 114 114 115 private: … … 131 132 132 133 void initFileTable(); 133 void postSessionCreated(); 134 void postSessionClosed(); 134 /** @name Perform operations needed after creating/ending a guest control session 135 * @{ */ 136 void postSessionCreated(); 137 void postSessionClosed(); 138 /** @} */ 139 135 140 void saveSettings(); 136 141 void loadSettings(); … … 147 152 QStringList getFsObjInfoStringList(const T &fsObjectInfo) const; 148 153 void appendLog(const QString &strLog, FileManagerLogType eLogType); 149 const int m_iMaxRecursionDepth;150 154 CGuest m_comGuest; 151 155 CGuestSession m_comGuestSession; … … 154 158 UIToolBar *m_pToolBar; 155 159 156 //QTableView *m_pFileOperationsTable;157 160 UIGuestControlConsole *m_pConsole; 158 161 UIGuestControlInterface *m_pControlInterface; -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerLogPanel.cpp
r75290 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerLogPanel.h
r75295 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerOperationsPanel.cpp
r75295 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 22 22 /* Qt includes: */ 23 23 # include <QHBoxLayout> 24 # include <QLabel> 24 25 # include <QTableWidget> 25 26 … … 27 28 # include "UIGuestControlFileManager.h" 28 29 # include "UIGuestControlFileManagerOperationsPanel.h" 30 # include "UIProgressEventHandler.h" 31 32 /* COM includes: */ 33 # include "CProgress.h" 34 29 35 30 36 #endif /* !VBOX_WITH_PRECOMPILED_HEADERS */ … … 42 48 public: 43 49 44 UIFileOperationProgressWidget(QWidget *pParent = 0); 50 UIFileOperationProgressWidget(const CProgress &comProgress, QWidget *pParent = 0); 51 ~UIFileOperationProgressWidget(); 45 52 53 private slots: 54 55 void sltHandleProgressPercentageChange(const QUuid &uProgressId, const int iPercent); 56 void sltHandleProgressTaskComplete(const QUuid &uProgressId); 57 58 private: 59 60 void prepare(); 61 void prepareWidgets(); 62 void prepareEventHandler(); 63 void cleanupEventHandler(); 64 65 CProgress m_comProgress; 66 UIProgressEventHandler *m_pEventHandler; 67 QHBoxLayout *m_pMainLayout; 68 QLabel *m_pPercentageLabel; 46 69 }; 47 70 … … 51 74 *********************************************************************************************************************************/ 52 75 53 UIFileOperationProgressWidget::UIFileOperationProgressWidget( QWidget *pParent /* = 0 */)76 UIFileOperationProgressWidget::UIFileOperationProgressWidget(const CProgress &comProgress, QWidget *pParent /* = 0 */) 54 77 :QWidget(pParent) 78 , m_comProgress(comProgress) 79 , m_pEventHandler(0) 80 , m_pMainLayout(0) 81 , m_pPercentageLabel(0) 55 82 { 83 prepare(); 84 } 85 86 UIFileOperationProgressWidget::~UIFileOperationProgressWidget() 87 { 88 cleanupEventHandler(); 89 } 90 91 void UIFileOperationProgressWidget::prepare() 92 { 93 prepareWidgets(); 94 prepareEventHandler(); 95 } 96 97 void UIFileOperationProgressWidget::prepareWidgets() 98 { 99 m_pMainLayout = new QHBoxLayout; 100 if (m_pMainLayout) 101 { 102 m_pPercentageLabel = new QLabel; 103 m_pPercentageLabel->setText("0asdsad"); 104 m_pMainLayout->addWidget(m_pPercentageLabel); 105 } 106 setLayout(m_pMainLayout); 107 } 108 109 void UIFileOperationProgressWidget::prepareEventHandler() 110 { 111 m_pEventHandler = new UIProgressEventHandler(this, m_comProgress); 112 connect(m_pEventHandler, &UIProgressEventHandler::sigProgressPercentageChange, 113 this, &UIFileOperationProgressWidget::sltHandleProgressPercentageChange); 114 connect(m_pEventHandler, &UIProgressEventHandler::sigProgressTaskComplete, 115 this, &UIFileOperationProgressWidget::sltHandleProgressTaskComplete); 116 } 117 118 void UIFileOperationProgressWidget::cleanupEventHandler() 119 { 120 delete m_pEventHandler; 121 m_pEventHandler = 0; 122 } 123 124 void UIFileOperationProgressWidget::sltHandleProgressPercentageChange(const QUuid &uProgressId, const int iPercent) 125 { 126 Q_UNUSED(uProgressId); 127 Q_UNUSED(iPercent); 128 } 129 130 void UIFileOperationProgressWidget::sltHandleProgressTaskComplete(const QUuid &uProgressId) 131 { 132 Q_UNUSED(uProgressId); 56 133 } 57 134 … … 61 138 *********************************************************************************************************************************/ 62 139 63 UIGuestControlFileManagerOperationsPanel::UIGuestControlFileManagerOperationsPanel(UIGuestControlFileManager *pManagerWidget, QWidget *pParent) 140 UIGuestControlFileManagerOperationsPanel::UIGuestControlFileManagerOperationsPanel(UIGuestControlFileManager *pManagerWidget, 141 QWidget *pParent) 64 142 : UIGuestControlFileManagerPanel(pManagerWidget, pParent) 65 143 , m_pTableWidget(0) 144 , m_pOperationsWidget(0) 66 145 { 67 146 prepare(); 68 147 } 69 148 149 void UIGuestControlFileManagerOperationsPanel::addNewProgress(const CProgress &comProgress) 150 { 151 if (!m_pTableWidget) 152 return; 153 154 m_pTableWidget->setRowCount(m_pTableWidget->rowCount() + 1); 155 m_pTableWidget->setCellWidget(m_pTableWidget->rowCount() - 1, 0, new UIFileOperationProgressWidget(comProgress)); 156 } 70 157 71 158 QString UIGuestControlFileManagerOperationsPanel::panelName() const … … 78 165 if (!mainLayout()) 79 166 return; 80 m_pTableWidget = new QTableWidget; 167 m_pTableWidget = new QTableWidget(); 168 81 169 if (m_pTableWidget) 82 170 { 171 m_pTableWidget->setColumnCount(1); 83 172 mainLayout()->addWidget(m_pTableWidget); 84 173 } -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerOperationsPanel.h
r75295 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 24 24 25 25 /* Forward declarations: */ 26 class CProgress; 26 27 class QTableWidget; 28 class UIFileOperationProgressWidget; 27 29 class UIGuestControlFileManager; 28 30 29 /** UIVMLogViewerPanel extension providing GUI to manage logviewer settings. */ 31 32 /** UIVMLogViewerPanel extension hosting a QTableWidget which in turn has a special QWidget extension 33 * to manage multiple CProgress instances. This is particulary used in monitoring file operations. */ 30 34 class UIGuestControlFileManagerOperationsPanel : public UIGuestControlFileManagerPanel 31 35 { … … 36 40 UIGuestControlFileManagerOperationsPanel(UIGuestControlFileManager *pManagerWidget, QWidget *pParent); 37 41 virtual QString panelName() const /* override */; 38 39 signals: 42 void addNewProgress(const CProgress &comProgress); 40 43 41 44 protected: 42 45 43 virtual void prepareWidgets() /* override */; 44 virtual void prepareConnections() /* override */; 46 /** @name Preparation specific functions. 47 * @{ */ 48 virtual void prepareWidgets() /* override */; 49 virtual void prepareConnections() /* override */; 50 /** @} */ 45 51 46 52 /** Handles the translation event. */ … … 51 57 52 58 private: 53 QTableWidget *m_pTableWidget; 59 60 /** @name Member variables. 61 * @{ */ 62 QTableWidget *m_pTableWidget; 63 UIFileOperationProgressWidget *m_pOperationsWidget; 64 /** @} */ 54 65 55 66 }; -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerPanel.cpp
r75220 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerPanel.h
r75224 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerSessionPanel.cpp
r75224 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerSessionPanel.h
r75224 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerSettingsPanel.cpp
r75224 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileManagerSettingsPanel.h
r75224 r75425 5 5 6 6 /* 7 * Copyright (C) 2010-201 7Oracle Corporation7 * Copyright (C) 2010-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileModel.cpp
r75284 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileModel.h
r74947 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileTable.cpp
r75284 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlFileTable.h
r75284 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlInterface.cpp
r71639 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlInterface.h
r71639 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlTreeItem.cpp
r71639 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestControlTreeItem.h
r71639 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestFileTable.cpp
r75284 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 315 315 QVector<QString> aFilters; 316 316 QVector<QString> aFlags; 317 CProgress progress = m_comGuestSession.CopyToGuest(sourcePaths, aFilters, aFlags, currentDirectoryPath()); 317 QString strDestinationPath = currentDirectoryPath(); 318 if (strDestinationPath.isEmpty()) 319 { 320 emit sigLogOutput("No destination for copy operation", FileManagerLogType_Error); 321 return; 322 } 323 if (hostSourcePathList.empty()) 324 { 325 emit sigLogOutput("No source for copy operation", FileManagerLogType_Error); 326 return; 327 } 328 329 CProgress progress = m_comGuestSession.CopyToGuest(sourcePaths, aFilters, aFlags, strDestinationPath); 318 330 if (!m_comGuestSession.isOk()) 319 331 { … … 322 334 return; 323 335 } 324 325 msgCenter().showModalProgressDialog(progress, "copying", ":/progress_delete_90px.png");326 if (!progress.isOk() || progress.GetResultCode() != 0)327 {328 emit sigLogOutput(UIErrorString::formatErrorInfo(progress), FileManagerLogType_Error);329 return;330 }331 332 else336 //emit sigNewFileOperation(progress); 337 // msgCenter().showModalProgressDialog(progress, "copying", ":/progress_delete_90px.png"); 338 // if (!progress.isOk() || progress.GetResultCode() != 0) 339 // { 340 // emit sigLogOutput(UIErrorString::formatErrorInfo(progress), FileManagerLogType_Error); 341 // return; 342 // } 343 344 // else 333 345 refresh(); 334 346 } … … 339 351 QVector<QString> aFilters; 340 352 QVector<QString> aFlags; 353 354 if (hostDestinationPath.isEmpty()) 355 { 356 emit sigLogOutput("No destination for copy operation", FileManagerLogType_Error); 357 return; 358 } 359 if (sourcePaths.empty()) 360 { 361 emit sigLogOutput("No source for copy operation", FileManagerLogType_Error); 362 return; 363 } 341 364 342 365 CProgress progress = m_comGuestSession.CopyFromGuest(sourcePaths, aFilters, aFlags, hostDestinationPath); -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestFileTable.h
r75202 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as … … 42 42 void copyHostToGuest(const QStringList &hostSourcePathList); 43 43 44 signals: 45 46 void sigNewFileOperation(const CProgress &comProgress); 47 44 48 protected: 45 49 -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestProcessControlWidget.cpp
r75220 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIGuestProcessControlWidget.h
r75220 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIHostFileTable.cpp
r75289 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIHostFileTable.h
r75202 r75425 5 5 6 6 /* 7 * Copyright (C) 2016-201 7Oracle Corporation7 * Copyright (C) 2016-2018 Oracle Corporation 8 8 * 9 9 * This file is part of VirtualBox Open Source Edition (OSE), as
Note:
See TracChangeset
for help on using the changeset viewer.