Changeset 100155 in vbox
- Timestamp:
- Jun 12, 2023 2:40:18 PM (22 months ago)
- svn:sync-xref-src-repo-rev:
- 157850
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 2 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
r100133 r100155 870 870 src/medium/viso/UIVisoContentBrowser.h \ 871 871 src/medium/viso/UIVisoCreator.h \ 872 src/medium/viso/UIVisoConfigurationPanel.h \873 872 src/medium/viso/UIVisoHostBrowser.h \ 874 873 src/notificationcenter/UINotificationCenter.h \ … … 1076 1075 src/medium/viso/UIVisoHostBrowser.cpp \ 1077 1076 src/medium/viso/UIVisoBrowserBase.cpp \ 1077 src/medium/viso/UIVisoCreator.cpp \ 1078 1078 src/notificationcenter/UINotificationCenter.cpp \ 1079 1079 src/settings/editors/UIBaseMemoryEditor.cpp \ … … 1452 1452 src/medium/viso/UIVisoContentBrowser.cpp \ 1453 1453 src/medium/viso/UIVisoCreator.cpp \ 1454 src/medium/viso/UIVisoConfigurationPanel.cpp \1455 1454 src/medium/viso/UIVisoHostBrowser.cpp \ 1456 1455 src/notificationcenter/UINotificationCenter.cpp \ -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.cpp
r98103 r100155 217 217 { 218 218 connect(m_pTreeView->selectionModel(), &QItemSelectionModel::selectionChanged, 219 this, &UIVisoBrowserBase::slt HandleTreeSelectionChanged);219 this, &UIVisoBrowserBase::sltTreeSelectionChanged); 220 220 connect(m_pTreeView, &QTreeView::clicked, 221 this, &UIVisoBrowserBase::slt HandleTreeItemClicked);221 this, &UIVisoBrowserBase::sltTreeItemClicked); 222 222 } 223 223 if (m_pLocationSelector) … … 285 285 } 286 286 287 void UIVisoBrowserBase::slt HandleTableViewItemDoubleClick(const QModelIndex &index)287 void UIVisoBrowserBase::sltTableViewItemDoubleClick(const QModelIndex &index) 288 288 { 289 289 tableViewItemDoubleClick(index); 290 290 } 291 291 292 void UIVisoBrowserBase::slt HandleTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)292 void UIVisoBrowserBase::sltTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) 293 293 { 294 294 Q_UNUSED(deselected); … … 300 300 } 301 301 302 void UIVisoBrowserBase::slt HandleTreeItemClicked(const QModelIndex &modelIndex)302 void UIVisoBrowserBase::sltTreeItemClicked(const QModelIndex &modelIndex) 303 303 { 304 304 if (!m_pTreeView) -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoBrowserBase.h
r98103 r100155 67 67 public slots: 68 68 69 void slt HandleTableViewItemDoubleClick(const QModelIndex &index);69 void sltTableViewItemDoubleClick(const QModelIndex &index); 70 70 71 71 protected: … … 93 93 private slots: 94 94 95 void slt HandleTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);96 void slt HandleTreeItemClicked(const QModelIndex &modelIndex);95 void sltTreeSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); 96 void sltTreeItemClicked(const QModelIndex &modelIndex); 97 97 void sltExpandCollapseTreeView(); 98 98 -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.cpp
r100092 r100155 297 297 } 298 298 299 void UIVisoContentBrowser::slt HandleCreateNewDirectory()299 void UIVisoContentBrowser::sltCreateNewDirectory() 300 300 { 301 301 if (!m_pTableView) … … 330 330 } 331 331 332 void UIVisoContentBrowser::slt HandleRemoveItems()332 void UIVisoContentBrowser::sltRemoveItems() 333 333 { 334 334 removeItems(tableSelectedItems()); … … 459 459 { 460 460 connect(m_pTableView, &UIVisoContentTableView::doubleClicked, 461 this, &UIVisoBrowserBase::slt HandleTableViewItemDoubleClick);461 this, &UIVisoBrowserBase::sltTableViewItemDoubleClick); 462 462 connect(m_pTableView, &UIVisoContentTableView::sigNewItemsDropped, 463 this, &UIVisoContentBrowser::slt HandleDroppedItems);463 this, &UIVisoContentBrowser::sltDroppedItems); 464 464 connect(m_pTableView, &QTableView::customContextMenuRequested, 465 465 this, &UIVisoContentBrowser::sltFileTableViewContextMenu); … … 468 468 if (m_pTableView->selectionModel()) 469 469 connect(m_pTableView->selectionModel(), &QItemSelectionModel::selectionChanged, 470 this, &UIVisoContentBrowser::slt HandleTableSelectionChanged);470 this, &UIVisoContentBrowser::sltTableSelectionChanged); 471 471 if (m_pModel) 472 472 connect(m_pModel, &UICustomFileSystemModel::sigItemRenamed, 473 this, &UIVisoContentBrowser::slt HandleItemRenameAttempt);473 this, &UIVisoContentBrowser::sltItemRenameAttempt); 474 474 } 475 475 … … 711 711 } 712 712 713 void UIVisoContentBrowser::slt HandleItemRenameAction()713 void UIVisoContentBrowser::sltItemRenameAction() 714 714 { 715 715 QList<UICustomFileSystemItem*> selectedItems = tableSelectedItems(); … … 720 720 } 721 721 722 void UIVisoContentBrowser::slt HandleItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName)722 void UIVisoContentBrowser::sltItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName) 723 723 { 724 724 if (!pItem || !pItem->parentItem()) … … 759 759 } 760 760 761 void UIVisoContentBrowser::slt HandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)761 void UIVisoContentBrowser::sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) 762 762 { 763 763 Q_UNUSED(deselected); … … 765 765 } 766 766 767 void UIVisoContentBrowser::slt HandleResetAction()767 void UIVisoContentBrowser::sltResetAction() 768 768 { 769 769 if (!rootItem() || !rootItem()->child(0)) … … 777 777 } 778 778 779 void UIVisoContentBrowser::slt HandleDroppedItems(QStringList pathList)779 void UIVisoContentBrowser::sltDroppedItems(QStringList pathList) 780 780 { 781 781 addObjectsToViso(pathList); -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoContentBrowser.h
r100071 r100155 74 74 public slots: 75 75 76 void slt HandleCreateNewDirectory();76 void sltCreateNewDirectory(); 77 77 /** Handles the signal we get from the model during setData call. Restores the old name of the file object 78 78 * to @p strOldName if need be (if rename fails for some reason). */ 79 void slt HandleItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName);80 void slt HandleRemoveItems();81 void slt HandleResetAction();82 void slt HandleItemRenameAction();79 void sltItemRenameAttempt(UICustomFileSystemItem *pItem, QString strOldName, QString strNewName); 80 void sltRemoveItems(); 81 void sltResetAction(); 82 void sltItemRenameAction(); 83 83 84 84 protected: … … 97 97 private slots: 98 98 99 void slt HandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);99 void sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); 100 100 /** Adds the dragged-dropped items to VISO. */ 101 void slt HandleDroppedItems(QStringList pathList);101 void sltDroppedItems(QStringList pathList); 102 102 103 103 private: -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.cpp
r100146 r100155 27 27 28 28 /* Qt includes: */ 29 #include <QCheckBox> 29 30 #include <QGridLayout> 30 31 #include <QGraphicsBlurEffect> 31 32 #include <QGroupBox> 32 #include <QLabel>33 33 #include <QMenuBar> 34 34 #include <QPainter> … … 42 42 #include "QIDialogButtonBox.h" 43 43 #include "QIFileDialog.h" 44 #include "QILabel.h" 45 #include "QILineEdit.h" 44 46 #include "QIToolBar.h" 45 47 #include "UIActionPool.h" … … 51 53 #include "UIVisoHostBrowser.h" 52 54 #include "UIVisoCreator.h" 53 #include "UIVisoConfigurationPanel.h"54 55 #include "UIVisoContentBrowser.h" 55 56 #ifdef VBOX_WS_MAC … … 62 63 #include <iprt/path.h> 63 64 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 70 class SHARED_LIBRARY_STUFF UIVisoSettingWidget : public QIWithRetranslateUI<QGroupBox> 71 { 72 Q_OBJECT; 73 74 signals: 75 76 void sigVisoNameChanged(const QString &strVisoName); 77 void sigCustomVisoOptionsChanged(const QStringList &customVisoOptions); 78 void sigShowHiddenObjects(bool fShow); 79 86 80 public: 81 87 82 UIVisoSettingWidget(QWidget *pParent); 88 virtual void retranslateUi(){} 83 virtual void retranslateUi(); 84 85 private slots: 86 87 void sltVisoNameChanged(); 88 void sltCustomOptionsEdited(); 89 void sltShowHiddenObjectsChange(int iState); 90 91 private: 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 89 103 }; 104 105 106 /********************************************************************************************************************************* 107 * UIVisoSettingWidget implementation. * 108 *********************************************************************************************************************************/ 90 109 91 110 UIVisoSettingWidget::UIVisoSettingWidget(QWidget *pParent) 92 111 :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 123 void 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 165 void 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 183 void 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 194 void 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 203 void UIVisoSettingWidget::sltVisoNameChanged() 204 { 205 if (m_pVisoNameLineEdit) 206 emit sigVisoNameChanged(m_pVisoNameLineEdit->text()); 207 } 208 209 void UIVisoSettingWidget::sltShowHiddenObjectsChange(int iState) 210 { 211 if (iState == static_cast<int>(Qt::Checked)) 212 sigShowHiddenObjects(true); 213 else 214 sigShowHiddenObjects(false); 215 } 97 216 98 217 … … 117 236 , m_pVerticalToolBar(0) 118 237 , m_pMainMenu(0) 119 , m_pCreatorOptionsPanel(0)120 , m_pConfigurationPanel(0)121 238 , m_pActionPool(pActionPool) 122 239 , m_fShowToolBar(fShowToolBar) … … 124 241 , m_pSettingsWidget(0) 125 242 , m_pBrowserContainerWidget(0) 243 , m_pStackedLayout(0) 126 244 { 127 245 m_visoOptions.m_strVisoName = !strMachineName.isEmpty() ? strMachineName : "ad-hoc"; … … 129 247 populateMenuMainToolbar(); 130 248 prepareConnections(); 131 manageEscapeShortCut();132 249 retranslateUi(); 133 250 } … … 176 293 m_pVISOContentBrowser->setTitle(tr("VISO Content")); 177 294 if (m_pSettingsWidget) 178 m_pSettingsWidget->setTitle(tr("Setting "));295 m_pSettingsWidget->setTitle(tr("Settings")); 179 296 } 180 297 … … 182 299 { 183 300 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 186 311 m_pSettingsWidget->setVisible(m_fShowSettingsDialog); 187 m_pOverlayWidget->setVisible(m_fShowSettingsDialog); 312 188 313 m_pOverlayBlurEffect->setEnabled(m_fShowSettingsDialog); 314 m_pSettingsWidget->raise(); 189 315 if (m_fShowSettingsDialog) 190 316 { 191 int x = 0.5 * (m_p OverlayWidget->width() - m_pSettingsWidget->width());192 int y = 0.5 * (m_p OverlayWidget->height() - m_pSettingsWidget->height());193 m_pSettingsWidget->move(m_p OverlayWidget->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); 194 320 } 195 321 } 196 322 } 197 323 198 void UIVisoCreatorWidget::slt HandleAddObjectsToViso(QStringList pathList)324 void UIVisoCreatorWidget::sltAddObjectsToViso(QStringList pathList) 199 325 { 200 326 if (m_pVISOContentBrowser) … … 205 331 { 206 332 m_fShowSettingsDialog = fChecked; 207 update(); 208 } 209 210 void UIVisoCreatorWidget::sltHandleVisoNameChanged(const QString &strVisoName) 333 repaint(); 334 //update(); 335 } 336 337 void UIVisoCreatorWidget::sltVisoNameChanged(const QString &strVisoName) 211 338 { 212 339 if (m_visoOptions.m_strVisoName == strVisoName) … … 218 345 } 219 346 220 void UIVisoCreatorWidget::slt HandleCustomVisoOptionsChanged(const QStringList &customVisoOptions)347 void UIVisoCreatorWidget::sltCustomVisoOptionsChanged(const QStringList &customVisoOptions) 221 348 { 222 349 if (m_visoOptions.m_customOptions == customVisoOptions) … … 225 352 } 226 353 227 void UIVisoCreatorWidget::slt HandleShowHiddenObjectsChange(bool fShow)354 void UIVisoCreatorWidget::sltShowHiddenObjectsChange(bool fShow) 228 355 { 229 356 if (m_browserOptions.m_fShowHiddenObjects == fShow) … … 233 360 } 234 361 235 void UIVisoCreatorWidget::sltHandleHidePanel(UIDialogPanel *pPanel) 236 { 237 hidePanel(pPanel); 238 } 239 240 void UIVisoCreatorWidget::sltHandleBrowserTreeViewVisibilityChanged(bool fVisible) 362 void UIVisoCreatorWidget::sltBrowserTreeViewVisibilityChanged(bool fVisible) 241 363 { 242 364 Q_UNUSED(fVisible); 243 manageEscapeShortCut(); 244 } 245 246 void UIVisoCreatorWidget::sltHandleHostBrowserTableSelectionChanged(bool fIsSelectionEmpty) 365 } 366 367 void UIVisoCreatorWidget::sltHostBrowserTableSelectionChanged(bool fIsSelectionEmpty) 247 368 { 248 369 if (m_pAddAction) … … 250 371 } 251 372 252 void UIVisoCreatorWidget::slt HandleContentBrowserTableSelectionChanged(bool fIsSelectionEmpty)373 void UIVisoCreatorWidget::sltContentBrowserTableSelectionChanged(bool fIsSelectionEmpty) 253 374 { 254 375 if (m_pRemoveAction) … … 258 379 } 259 380 260 void UIVisoCreatorWidget::slt HandleShowContextMenu(const QWidget *pContextMenuRequester, const QPoint &point)381 void UIVisoCreatorWidget::sltShowContextMenu(const QWidget *pContextMenuRequester, const QPoint &point) 261 382 { 262 383 if (!pContextMenuRequester) … … 279 400 } 280 401 281 void UIVisoCreatorWidget::slt HandleOpenAction()402 void UIVisoCreatorWidget::sltOpenAction() 282 403 { 283 404 QString strFileName = QIFileDialog::getOpenFileName(uiCommon().defaultFolderPathForType(UIMediumDeviceType_DVD), … … 318 439 } 319 440 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); 323 444 324 445 m_pBrowserContainerWidget = new QWidget; … … 342 463 m_pVISOContentBrowser->setVisoName(m_visoOptions.m_strVisoName); 343 464 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); 352 467 m_pOverlayBlurEffect = new QGraphicsBlurEffect(this); 353 468 AssertPtrReturnVoid(m_pOverlayBlurEffect); 354 m_p BrowserContainerWidget->setGraphicsEffect(m_pOverlayBlurEffect);469 m_pOverlayWidget->setGraphicsEffect(m_pOverlayBlurEffect); 355 470 m_pOverlayBlurEffect->setEnabled(false); 356 471 m_pOverlayBlurEffect->setBlurRadius(6); … … 361 476 AssertPtrReturnVoid(m_pSettingsWidget); 362 477 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); 371 482 m_pSettingsWidget->hide(); 372 m_pOverlayWidget->hide();373 483 } 374 484 … … 378 488 { 379 489 connect(m_pHostBrowser, &UIVisoHostBrowser::sigAddObjectsToViso, 380 this, &UIVisoCreatorWidget::slt HandleAddObjectsToViso);490 this, &UIVisoCreatorWidget::sltAddObjectsToViso); 381 491 connect(m_pHostBrowser, &UIVisoHostBrowser::sigTreeViewVisibilityChanged, 382 this, &UIVisoCreatorWidget::slt HandleBrowserTreeViewVisibilityChanged);492 this, &UIVisoCreatorWidget::sltBrowserTreeViewVisibilityChanged); 383 493 connect(m_pHostBrowser, &UIVisoHostBrowser::sigTableSelectionChanged, 384 this, &UIVisoCreatorWidget::sltH andleHostBrowserTableSelectionChanged);494 this, &UIVisoCreatorWidget::sltHostBrowserTableSelectionChanged); 385 495 connect(m_pHostBrowser, &UIVisoHostBrowser::sigCreateFileTableViewContextMenu, 386 this, &UIVisoCreatorWidget::slt HandleShowContextMenu);496 this, &UIVisoCreatorWidget::sltShowContextMenu); 387 497 } 388 498 … … 390 500 { 391 501 connect(m_pVISOContentBrowser, &UIVisoContentBrowser::sigTableSelectionChanged, 392 this, &UIVisoCreatorWidget::slt HandleContentBrowserTableSelectionChanged);502 this, &UIVisoCreatorWidget::sltContentBrowserTableSelectionChanged); 393 503 connect(m_pVISOContentBrowser, &UIVisoContentBrowser::sigCreateFileTableViewContextMenu, 394 this, &UIVisoCreatorWidget::slt HandleShowContextMenu);504 this, &UIVisoCreatorWidget::sltShowContextMenu); 395 505 } 396 506 … … 398 508 connect(m_pActionOptions, &QAction::triggered, this, &UIVisoCreatorWidget::sltPanelActionToggled); 399 509 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); 417 518 } 418 519 419 520 if (m_pAddAction) 420 521 connect(m_pAddAction, &QAction::triggered, 421 m_pHostBrowser, &UIVisoHostBrowser::slt HandleAddAction);522 m_pHostBrowser, &UIVisoHostBrowser::sltAddAction); 422 523 423 524 if (m_pCreateNewDirectoryAction) 424 525 connect(m_pCreateNewDirectoryAction, &QAction::triggered, 425 m_pVISOContentBrowser, &UIVisoContentBrowser::slt HandleCreateNewDirectory);526 m_pVISOContentBrowser, &UIVisoContentBrowser::sltCreateNewDirectory); 426 527 if (m_pRemoveAction) 427 528 connect(m_pRemoveAction, &QAction::triggered, 428 m_pVISOContentBrowser, &UIVisoContentBrowser::slt HandleRemoveItems);529 m_pVISOContentBrowser, &UIVisoContentBrowser::sltRemoveItems); 429 530 if (m_pResetAction) 430 531 connect(m_pResetAction, &QAction::triggered, 431 m_pVISOContentBrowser, &UIVisoContentBrowser::slt HandleResetAction);532 m_pVISOContentBrowser, &UIVisoContentBrowser::sltResetAction); 432 533 if (m_pRenameAction) 433 534 connect(m_pRenameAction, &QAction::triggered, 434 m_pVISOContentBrowser,&UIVisoContentBrowser::slt HandleItemRenameAction);535 m_pVISOContentBrowser,&UIVisoContentBrowser::sltItemRenameAction); 435 536 if (m_pOpenAction) 436 537 connect(m_pOpenAction, &QAction::triggered, 437 this, &UIVisoCreatorWidget::slt HandleOpenAction);538 this, &UIVisoCreatorWidget::sltOpenAction); 438 539 } 439 540 … … 510 611 } 511 612 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) in544 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 the563 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 569 613 void UIVisoCreatorWidget::prepareVerticalToolBar() 570 614 { … … 713 757 pMainLayout->addWidget(m_pButtonBox); 714 758 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 717 762 m_pButtonBox->button(QDialogButtonBox::Help)->setShortcut(QKeySequence::HelpContents); 718 763 … … 720 765 } 721 766 722 m_pStatusLabel = new Q Label;767 m_pStatusLabel = new QILabel; 723 768 m_pStatusBar = new QStatusBar(this); 724 769 if (m_pButtonBox && m_pStatusLabel) … … 826 871 return QString("%1/%2%3").arg(m_strVisoSavePath).arg(visoName()).arg(".viso"); 827 872 } 873 874 #include "UIVisoCreator.moc" -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoCreator.h
r100146 r100155 45 45 class QGridLayout; 46 46 class QGraphicsBlurEffect; 47 class QLabel; 48 class QStackedLayout; 47 49 class QVBoxLayout; 48 class Q Label;50 class QILabel; 49 51 class QMenu; 50 52 class QStatusBar; … … 52 54 class QIToolBar; 53 55 class UIActionPool; 54 class UIDialogPanel;55 56 class UIVisoHostBrowser; 56 57 class UIVisoContentBrowser; 57 class UIVisoConfigurationPanel;58 58 class UIVisoSettingWidget; 59 59 … … 97 97 private slots: 98 98 99 void slt HandleAddObjectsToViso(QStringList pathList);99 void sltAddObjectsToViso(QStringList pathList); 100 100 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(); 110 109 111 110 private: … … 138 137 void setTableRootIndex(QModelIndex index = QModelIndex() ); 139 138 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 checking143 * 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 panels145 * - when there are no more panels visible assign it to the parent dialog146 * - grab it from the dialog as soon as a panel becomes visible again147 * - assign it to the most recently "unhidden" panel */148 void manageEscapeShortCut();149 139 150 140 /** @name Main toolbar (and main menu) actions … … 172 162 BrowserOptions m_browserOptions; 173 163 QMenu *m_pMainMenu; 174 UIVisoConfigurationPanel *m_pCreatorOptionsPanel;175 UIVisoConfigurationPanel *m_pConfigurationPanel;176 QMap<UIDialogPanel*, QAction*> m_panelActionMap;177 QList<UIDialogPanel*> m_visiblePanelsList;178 164 QPointer<UIActionPool> m_pActionPool; 179 165 bool m_fShowToolBar; … … 181 167 UIVisoSettingWidget *m_pSettingsWidget; 182 168 QWidget *m_pBrowserContainerWidget; 183 Q Widget*m_pOverlayWidget;169 QLabel *m_pOverlayWidget; 184 170 QGraphicsBlurEffect *m_pOverlayBlurEffect; 171 QStackedLayout *m_pStackedLayout; 185 172 }; 186 173 … … 231 218 QIDialogButtonBox *m_pButtonBox; 232 219 QStatusBar *m_pStatusBar; 233 Q Label*m_pStatusLabel;220 QILabel *m_pStatusLabel; 234 221 QPointer<UIActionPool> m_pActionPool; 235 222 int m_iGeometrySaveTimerId; -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoHostBrowser.cpp
r98103 r100155 216 216 { 217 217 connect(m_pTableView, &QTableView::doubleClicked, 218 this, &UIVisoBrowserBase::slt HandleTableViewItemDoubleClick);218 this, &UIVisoBrowserBase::sltTableViewItemDoubleClick); 219 219 connect(m_pTableView, &QTableView::customContextMenuRequested, 220 220 this, &UIVisoHostBrowser::sltFileTableViewContextMenu); … … 223 223 if (m_pTableView->selectionModel()) 224 224 connect(m_pTableView->selectionModel(), &QItemSelectionModel::selectionChanged, 225 this, &UIVisoHostBrowser::slt HandleTableSelectionChanged);226 } 227 228 void UIVisoHostBrowser::slt HandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected)225 this, &UIVisoHostBrowser::sltTableSelectionChanged); 226 } 227 228 void UIVisoHostBrowser::sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected) 229 229 { 230 230 Q_UNUSED(deselected); … … 296 296 } 297 297 298 void UIVisoHostBrowser::slt HandleAddAction()298 void UIVisoHostBrowser::sltAddAction() 299 299 { 300 300 if (!m_pTableView || !m_pTableModel) -
trunk/src/VBox/Frontends/VirtualBox/src/medium/viso/UIVisoHostBrowser.h
r98103 r100155 61 61 public slots: 62 62 63 void slt HandleAddAction();63 void sltAddAction(); 64 64 65 65 protected: … … 73 73 private slots: 74 74 75 void slt HandleTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected);75 void sltTableSelectionChanged(const QItemSelection &selected, const QItemSelection &deselected); 76 76 77 77 private:
Note:
See TracChangeset
for help on using the changeset viewer.