Changeset 104445 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Apr 26, 2024 2:09:35 PM (10 months ago)
- svn:sync-xref-src-repo-rev:
- 162954
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 10 edited
- 2 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/Makefile.kmk
r103914 r104445 858 858 src/logviewer/UIVMLogViewerWidget.h \ 859 859 src/activity/vmactivity/UIVMActivityMonitor.h \ 860 src/activity/vmactivity/UIVMActivityMonitorPaneContainer.h \ 860 861 src/activity/UIMonitorCommon.h \ 861 862 src/medium/UIFDCreationDialog.h \ … … 1438 1439 src/activity/UIMonitorCommon.cpp \ 1439 1440 src/activity/vmactivity/UIVMActivityMonitor.cpp \ 1441 src/activity/vmactivity/UIVMActivityMonitorPaneContainer.cpp \ 1440 1442 src/medium/UIFDCreationDialog.cpp \ 1441 1443 src/medium/UIMedium.cpp \ -
trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.cpp
r104393 r104445 28 28 /* Qt includes: */ 29 29 #include <QApplication> 30 #include <Q HBoxLayout>30 #include <QVBoxLayout> 31 31 #include <QStyle> 32 #include <QTabWidget> 32 33 33 34 /* GUI includes: */ 35 #include "QIToolBar.h" 34 36 #include "UIActionPoolManager.h" 35 37 #include "UIGlobalSession.h" … … 37 39 #include "UIVMActivityToolWidget.h" 38 40 #include "UIMessageCenter.h" 39 #include "QIToolBar.h"40 41 #include "UIVirtualMachineItem.h" 41 42 #include "UIVirtualMachineItemCloud.h" 42 43 #include "UIVirtualMachineItemLocal.h" 43 44 #include "UIVMActivityMonitorPaneContainer.h" 44 45 #ifdef VBOX_WS_MAC 45 46 # include "UIWindowMenuManager.h" … … 47 48 48 49 /* COM includes: */ 50 #include "assert.h" 49 51 #include "CMachine.h" 50 52 … … 52 54 UIVMActivityToolWidget::UIVMActivityToolWidget(EmbedTo enmEmbedding, UIActionPool *pActionPool, 53 55 bool fShowToolbar /* = true */, QWidget *pParent /* = 0 */) 54 : Q TabWidget(pParent)56 : QWidget(pParent) 55 57 , m_enmEmbedding(enmEmbedding) 56 58 , m_pActionPool(pActionPool) … … 58 60 , m_pToolBar(0) 59 61 , m_pExportToFileAction(0) 60 { 61 setTabPosition(QTabWidget::East); 62 , m_pPaneContainer(0) 63 , m_pTabWidget(0) 64 { 62 65 prepare(); 63 66 prepareActions(); … … 83 86 void UIVMActivityToolWidget::prepare() 84 87 { 85 setTabBarAutoHide(true); 86 setLayout(new QHBoxLayout); 87 88 connect(this, &UIVMActivityToolWidget::currentChanged, 88 QVBoxLayout *pMainLayout = new QVBoxLayout(this); 89 90 m_pTabWidget = new QTabWidget(this); 91 m_pTabWidget->setTabPosition(QTabWidget::East); 92 m_pTabWidget->setTabBarAutoHide(true); 93 94 pMainLayout->addWidget(m_pTabWidget); 95 96 97 m_pPaneContainer = new UIVMActivityMonitorPaneContainer(this, m_enmEmbedding); 98 m_pPaneContainer->hide(); 99 pMainLayout->addWidget(m_pPaneContainer); 100 connect(m_pTabWidget, &QTabWidget::currentChanged, 89 101 this, &UIVMActivityToolWidget::sltCurrentTabChanged); 90 102 } … … 134 146 if (m_pExportToFileAction) 135 147 connect(m_pExportToFileAction, &QAction::triggered, this, &UIVMActivityToolWidget::sltExportToFile); 148 if (m_pActionPool->action(UIActionIndex_M_Activity_T_Preferences)) 149 connect(m_pActionPool->action(UIActionIndex_M_Activity_T_Preferences), &QAction::toggled, 150 this, &UIVMActivityToolWidget::sltTogglePreferencesPane); 136 151 } 137 152 … … 167 182 void UIVMActivityToolWidget::removeTabs(const QVector<QUuid> &machineIdsToRemove) 168 183 { 184 AssertReturnVoid(m_pTabWidget); 169 185 QVector<UIVMActivityMonitor*> removeList; 170 186 171 for (int i = count() - 1; i >= 0; --i)172 { 173 UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>( widget(i));187 for (int i = m_pTabWidget->count() - 1; i >= 0; --i) 188 { 189 UIVMActivityMonitor *pMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->widget(i)); 174 190 if (!pMonitor) 175 191 continue; … … 177 193 { 178 194 removeList << pMonitor; 179 removeTab(i);195 m_pTabWidget->removeTab(i); 180 196 } 181 197 } … … 185 201 void UIVMActivityToolWidget::addTabs(const QList<UIVirtualMachineItem*> &machines) 186 202 { 203 AssertReturnVoid(m_pTabWidget); 187 204 foreach (UIVirtualMachineItem* pMachine, machines) 188 205 { … … 192 209 { 193 210 CMachine comMachine = pMachine->toLocal()->machine(); 194 addTab(new UIVMActivityMonitorLocal(m_enmEmbedding, this, comMachine), comMachine.GetName());211 m_pTabWidget->addTab(new UIVMActivityMonitorLocal(m_enmEmbedding, this, comMachine), comMachine.GetName()); 195 212 continue; 196 213 } … … 200 217 if (!comMachine.isOk()) 201 218 continue; 202 addTab(new UIVMActivityMonitorCloud(m_enmEmbedding, this, comMachine), comMachine.GetName());219 m_pTabWidget->addTab(new UIVMActivityMonitorCloud(m_enmEmbedding, this, comMachine), comMachine.GetName()); 203 220 continue; 204 221 } … … 208 225 void UIVMActivityToolWidget::sltExportToFile() 209 226 { 210 UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(currentWidget()); 227 AssertReturnVoid(m_pTabWidget); 228 UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->currentWidget()); 211 229 if (pActivityMonitor) 212 230 pActivityMonitor->sltExportMetricsToFile(); … … 215 233 void UIVMActivityToolWidget::sltCurrentTabChanged(int iIndex) 216 234 { 235 AssertReturnVoid(m_pTabWidget); 217 236 Q_UNUSED(iIndex); 218 UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>( currentWidget());237 UIVMActivityMonitor *pActivityMonitor = qobject_cast<UIVMActivityMonitor*>(m_pTabWidget->currentWidget()); 219 238 if (pActivityMonitor) 220 239 { … … 227 246 } 228 247 248 void UIVMActivityToolWidget::sltTogglePreferencesPane(bool fChecked) 249 { 250 AssertReturnVoid(m_pPaneContainer); 251 m_pPaneContainer->setVisible(fChecked); 252 } 253 229 254 void UIVMActivityToolWidget::setExportActionEnabled(bool fEnabled) 230 255 { -
trunk/src/VBox/Frontends/VirtualBox/src/activity/overview/UIVMActivityToolWidget.h
r103943 r104445 33 33 34 34 /* Qt includes: */ 35 #include <Q TabWidget>35 #include <QWidget> 36 36 #include <QUuid> 37 37 … … 40 40 41 41 /* Forward declarations: */ 42 class CMachine; 43 class QIToolBar; 44 class QTabWidget; 42 45 class UIActionPool; 43 class QIToolBar;44 46 class UIVirtualMachineItem; 45 class CMachine; 47 class UIVMActivityMonitorPaneContainer; 48 46 49 47 50 /** QTabWidget extension host machine activity widget(s) in the Manager UI. */ 48 class UIVMActivityToolWidget : public Q TabWidget51 class UIVMActivityToolWidget : public QWidget 49 52 { 50 53 Q_OBJECT; … … 73 76 void sltExportToFile(); 74 77 void sltCurrentTabChanged(int iIndex); 78 void sltTogglePreferencesPane(bool fChecked); 75 79 76 80 private: … … 105 109 QVector<QUuid> m_machineIds; 106 110 QAction *m_pExportToFileAction; 111 UIVMActivityMonitorPaneContainer *m_pPaneContainer; 112 QTabWidget *m_pTabWidget; 107 113 }; 108 114 -
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.cpp
r104425 r104445 28 28 /* Qt includes: */ 29 29 #include <QApplication> 30 #include <QColorDialog> 30 31 #include <QDateTime> 31 32 #include <QLabel> … … 129 130 void sltSetShowPieChart(bool fShowPieChart); 130 131 void sltSetUseAreaChart(bool fUseAreaChart); 132 void sltSelectDataSeriesColor(); 131 133 void sltRetranslateUI(); 132 134 … … 182 184 QString m_strPieChartToggleActionLabel; 183 185 QString m_strAreaChartToggleActionLabel; 186 QString m_strSelectChartColor0; 187 QString m_strSelectChartColor1; 184 188 bool m_fDrawCurenValueIndicators; 185 189 /** The width of the right margin in characters. */ … … 369 373 m_strPieChartToggleActionLabel = QApplication::translate("UIVMInformationDialog", "Show Pie Chart"); 370 374 m_strAreaChartToggleActionLabel = QApplication::translate("UIVMInformationDialog", "Draw Area Chart"); 375 m_strSelectChartColor0 = QApplication::translate("UIVMInformationDialog", "Change 1st Dataseries' Color"); 376 m_strSelectChartColor1 = QApplication::translate("UIVMInformationDialog", "Change 2nd Dataseries' Color"); 371 377 update(); 372 378 } … … 578 584 if (m_fUseAreaChart && m_fIsAreaChartAllowed) 579 585 { 580 painter.setOpacity(0. 6);581 painter.draw Pixmap(rect(), areaPixmap);586 painter.setOpacity(0.5); 587 painter.drawImage(rect(), areaPixmap.toImage()); 582 588 painter.setOpacity(1.0); 583 589 } 584 585 590 /* Draw a horizontal and vertical line on data point under the mouse cursor 586 591 * and draw the value on the left hand side of the chart: */ … … 844 849 connect(pAreaChartToggle, &QAction::toggled, this, &UIChart::sltSetUseAreaChart); 845 850 } 851 QAction *pSelectColor0 = menu.addAction(m_strSelectChartColor0); 852 pSelectColor0->setData(0); 853 connect(pSelectColor0, &QAction::triggered, this, &UIChart::sltSelectDataSeriesColor); 854 855 QAction *pSelectColor1 = menu.addAction(m_strSelectChartColor1); 856 pSelectColor1->setData(1); 857 connect(pSelectColor1, &QAction::triggered, this, &UIChart::sltSelectDataSeriesColor); 846 858 847 859 menu.exec(mapToGlobal(point)); … … 862 874 { 863 875 setUseAreaChart(fUseAreaChart); 876 } 877 878 void UIChart::sltSelectDataSeriesColor() 879 { 880 QAction *pSenderAction = qobject_cast<QAction*>(sender()); 881 if (!pSenderAction) 882 return; 883 int iIndex = pSenderAction->data().toInt(); 884 if (iIndex < 0 || iIndex >= DATA_SERIES_SIZE) 885 return; 886 887 QColorDialog colorDialog(m_dataSeriesColor[iIndex], this); 888 if (colorDialog.exec() == QDialog::Rejected) 889 return; 890 QColor newColor = colorDialog.selectedColor(); 891 if (m_dataSeriesColor[iIndex] == newColor) 892 return; 893 m_dataSeriesColor[iIndex] = newColor; 894 update(); 864 895 } 865 896 … … 1827 1858 resetRAMInfoLabel(); 1828 1859 connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI, this, &UIVMActivityMonitorCloud::sltRetranslateUI); 1860 1829 1861 /* Start the timer: */ 1830 1862 start(); -
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitor.h
r103982 r104445 160 160 public slots: 161 161 162 162 void sltExportMetricsToFile(); 163 163 164 164 protected slots: 165 165 166 166 virtual void sltRetranslateUI(); 167 167 168 168 protected: … … 235 235 /** Holds the instance of layout we create. */ 236 236 QVBoxLayout *m_pMainLayout; 237 238 237 EmbedTo m_enmEmbedding; 239 238 }; -
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitorPaneContainer.cpp
r104426 r104445 27 27 28 28 /* Qt includes: */ 29 #include <QApplication> 29 30 #include <QHBoxLayout> 30 31 #include <QPlainTextEdit> … … 32 33 33 34 /* GUI includes: */ 34 #include "UIIconPool.h"35 #include "UIVMLogPage.h"36 #include "UIVMLogViewerPanel.h"37 #include "UIVMLogViewerWidget.h"38 #include "UIVMLogViewerSearchWidget.h"39 #include "UIVMLogViewerFilterWidget.h"40 #include "UIVMLogViewerBookmarksWidget.h"41 #include "UIVMLogViewerPreferencesWidget.h"42 35 #include "UITranslationEventListener.h" 43 #ifdef VBOX_WS_MAC 44 # include "VBoxUtils-darwin.h" 45 #endif 36 #include "UIVMActivityMonitorPaneContainer.h" 46 37 47 UIVM LogViewerPaneContainer::UIVMLogViewerPaneContainer(QWidget *pParent,48 UIVMLogViewerWidget *pViewer,49 EmbedTo enmEmbedTo /* = EmbedTo_Stack*/)50 : UIPaneContainer(pParent, enmEmbedTo, true /* detach allowed */)51 , m_p Viewer(pViewer)52 , m_p SearchWidget(0)53 , m_p FilterWidget(0)54 , m_p BookmarksWidget(0)55 , m_p PreferencesWidget(0)38 UIVMActivityMonitorPaneContainer::UIVMActivityMonitorPaneContainer(QWidget *pParent, 39 EmbedTo enmEmbedTo /* = EmbedTo_Stack */) 40 : UIPaneContainer(pParent, enmEmbedTo, false /* detach not allowed */) 41 , m_pColorLabel0(0) 42 , m_pColorLabel1(0) 43 , m_pColorChangeButton0(0) 44 , m_pColorChangeButton1(0) 45 , m_pColorChangeReset0(0) 46 , m_pColorChangeReset1; 56 47 { 57 48 prepare(); 58 49 } 59 50 60 void UIVM LogViewerPaneContainer::prepare()51 void UIVMActivityMonitorPaneContainer::prepare() 61 52 { 62 /* Search tab: */ 63 m_pSearchWidget = new UIVMLogViewerSearchWidget(0, m_pViewer); 64 insertTab(Page_Search, m_pSearchWidget); 53 sltRetranslateUI(); 65 54 66 connect(m_pSearchWidget, &UIVMLogViewerSearchWidget::sigHighlightingUpdated, 67 this, &UIVMLogViewerPaneContainer::sigHighlightingUpdated); 68 connect(m_pSearchWidget, &UIVMLogViewerSearchWidget::sigSearchUpdated, 69 this, &UIVMLogViewerPaneContainer::sigSearchUpdated); 70 connect(m_pSearchWidget, &UIVMLogViewerSearchWidget::sigShowPane, 71 this, &UIVMLogViewerPaneContainer::sigShowSearchPane); 55 QWidget *pContainerWidget = new QWidget(this); 56 insertTab(0, pContainerWidget, m_strTabText); 72 57 73 /* Filter tab: */74 m_pFilterWidget = new UIVMLogViewerFilterWidget(0, m_pViewer);75 insertTab(Page_Filter, m_pFilterWidget);76 77 connect(m_pFilterWidget, &UIVMLogViewerFilterWidget::sigFilterApplied,78 this, &UIVMLogViewerPaneContainer::sigFilterApplied);79 80 /* Bookmark tab: */81 m_pBookmarksWidget = new UIVMLogViewerBookmarksWidget(0, m_pViewer);82 insertTab(Page_Bookmark, m_pBookmarksWidget);83 84 connect(m_pBookmarksWidget, &UIVMLogViewerBookmarksWidget::sigDeleteBookmarkByIndex,85 this, &UIVMLogViewerPaneContainer::sigDeleteBookmarkByIndex);86 connect(m_pBookmarksWidget, &UIVMLogViewerBookmarksWidget::sigDeleteAllBookmarks,87 this, &UIVMLogViewerPaneContainer::sigDeleteAllBookmarks);88 connect(m_pBookmarksWidget, &UIVMLogViewerBookmarksWidget::sigBookmarkSelected,89 this, &UIVMLogViewerPaneContainer::sigBookmarkSelected);90 91 /* Preferences tab: */92 m_pPreferencesWidget = new UIVMLogViewerPreferencesWidget(0, m_pViewer);93 insertTab(Page_Preferences, m_pPreferencesWidget);94 95 connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigShowLineNumbers,96 this, &UIVMLogViewerPaneContainer::sigShowLineNumbers);97 connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigWrapLines,98 this, &UIVMLogViewerPaneContainer::sigWrapLines);99 connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigChangeFontSizeInPoints,100 this, &UIVMLogViewerPaneContainer::sigChangeFontSizeInPoints);101 connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigChangeFont,102 this, &UIVMLogViewerPaneContainer::sigChangeFont);103 connect(m_pPreferencesWidget, &UIVMLogViewerPreferencesWidget::sigResetToDefaults,104 this, &UIVMLogViewerPaneContainer::sigResetToDefaults);105 106 sltRetranslateUI();107 58 connect(&translationEventListener(), &UITranslationEventListener::sigRetranslateUI, 108 this, &UIVM LogViewerPaneContainer::sltRetranslateUI);59 this, &UIVMActivityMonitorPaneContainer::sltRetranslateUI); 109 60 } 110 61 111 void UIVM LogViewerPaneContainer::refreshSearch()62 void UIVMActivityMonitorPaneContainer::sltRetranslateUI() 112 63 { 113 if (m_pSearchWidget) 114 m_pSearchWidget->refreshSearch(); 64 m_strTabText = QApplication::translate("UIVMActivityMonitorPaneContainer", "Preferences"); 115 65 } 116 117 QVector<float> UIVMLogViewerPaneContainer::matchLocationVector() const118 {119 if (!m_pSearchWidget)120 return QVector<float>();121 return m_pSearchWidget->matchLocationVector();122 }123 124 int UIVMLogViewerPaneContainer::matchCount() const125 {126 if (!m_pSearchWidget)127 return 0;128 return m_pSearchWidget->matchCount();129 }130 131 void UIVMLogViewerPaneContainer::applyFilter()132 {133 if (m_pFilterWidget)134 m_pFilterWidget->applyFilter();135 }136 137 void UIVMLogViewerPaneContainer::updateBookmarkList(const QVector<UIVMLogBookmark>& bookmarkList)138 {139 if (m_pBookmarksWidget)140 m_pBookmarksWidget->updateBookmarkList(bookmarkList);141 }142 143 void UIVMLogViewerPaneContainer::disableEnableBookmarking(bool flag)144 {145 if (m_pBookmarksWidget)146 m_pBookmarksWidget->disableEnableBookmarking(flag);147 }148 149 void UIVMLogViewerPaneContainer::setShowLineNumbers(bool bShowLineNumbers)150 {151 if (m_pPreferencesWidget)152 m_pPreferencesWidget->setShowLineNumbers(bShowLineNumbers);153 }154 155 void UIVMLogViewerPaneContainer::setWrapLines(bool bWrapLines)156 {157 if (m_pPreferencesWidget)158 m_pPreferencesWidget->setWrapLines(bWrapLines);159 }160 161 void UIVMLogViewerPaneContainer::setFontSizeInPoints(int fontSizeInPoints)162 {163 if (m_pPreferencesWidget)164 m_pPreferencesWidget->setFontSizeInPoints(fontSizeInPoints);165 }166 167 void UIVMLogViewerPaneContainer::sltRetranslateUI()168 {169 setTabText(Page_Search, UIVMLogViewerWidget::tr("Find"));170 setTabText(Page_Filter, UIVMLogViewerWidget::tr("Filter"));171 setTabText(Page_Bookmark, UIVMLogViewerWidget::tr("Bookmarks"));172 setTabText(Page_Preferences, UIVMLogViewerWidget::tr("Preferences"));173 }174 175 bool UIVMLogViewerPaneContainer::eventFilter(QObject *pObject, QEvent *pEvent)176 {177 /* Check if the search panel is interested in the event (most prob. key event): */178 if (m_pSearchWidget && m_pSearchWidget->handleSearchRelatedEvents(pObject, pEvent))179 return true;180 181 return UIPaneContainer::eventFilter(pObject, pEvent);182 }183 184 185 /*********************************************************************************************************************************186 * UIVMLogViewerPanel implementation. *187 *********************************************************************************************************************************/188 189 UIVMLogViewerPane::UIVMLogViewerPane(QWidget *pParent, UIVMLogViewerWidget *pViewer)190 : QWidget(pParent)191 , m_pViewer(pViewer)192 {193 }194 195 UIVMLogViewerWidget* UIVMLogViewerPane::viewer()196 {197 return m_pViewer;198 }199 200 const UIVMLogViewerWidget* UIVMLogViewerPane::viewer() const201 {202 return m_pViewer;203 }204 205 QTextDocument *UIVMLogViewerPane::textDocument()206 {207 QPlainTextEdit *pEdit = textEdit();208 if (!pEdit)209 return 0;210 return textEdit()->document();211 }212 213 QPlainTextEdit *UIVMLogViewerPane::textEdit()214 {215 if (!viewer())216 return 0;217 UIVMLogPage *logPage = viewer()->currentLogPage();218 if (!logPage)219 return 0;220 return logPage->textEdit();221 }222 223 const QString* UIVMLogViewerPane::logString() const224 {225 if (!viewer())226 return 0;227 const UIVMLogPage* const page = qobject_cast<const UIVMLogPage* const>(viewer()->currentLogPage());228 if (!page)229 return 0;230 return &(page->logString());231 } -
trunk/src/VBox/Frontends/VirtualBox/src/activity/vmactivity/UIVMActivityMonitorPaneContainer.h
r104426 r104445 1 1 /* $Id$ */ 2 2 /** @file 3 * VBox Qt GUI - UIVM LogViewerclass declaration.3 * VBox Qt GUI - UIVMActivityMonitorPanel class declaration. 4 4 */ 5 5 … … 26 26 */ 27 27 28 #ifndef FEQT_INCLUDED_SRC_ logviewer_UIVMLogViewerPanel_h29 #define FEQT_INCLUDED_SRC_ logviewer_UIVMLogViewerPanel_h28 #ifndef FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorPaneContainer_h 29 #define FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorPaneContainer_h 30 30 #ifndef RT_WITHOUT_PRAGMA_ONCE 31 31 # pragma once … … 33 33 34 34 /* GUI includes: */ 35 #include "UILibraryDefs.h" 35 36 #include "UIPaneContainer.h" 36 #include "UIVMLogBookmark.h"37 37 38 /* Forward declarations: */39 class QPlainTextEdit;40 class QTextDocument;41 class UIVMLogViewerWidget;42 class UIVMLogViewerSearchWidget;43 class UIVMLogViewerFilterWidget;44 class UIVMLogViewerBookmarksWidget;45 class UIVMLogViewerPreferencesWidget;46 38 47 class UIVMLogViewerPaneContainer : public UIPaneContainer39 class SHARED_LIBRARY_STUFF UIVMActivityMonitorPaneContainer : public UIPaneContainer 48 40 { 41 49 42 Q_OBJECT; 50 51 signals:52 53 void sigHighlightingUpdated();54 void sigSearchUpdated();55 void sigFilterApplied();56 void sigDeleteBookmarkByIndex(int bookmarkIndex);57 void sigDeleteAllBookmarks();58 void sigBookmarkSelected(int index);59 60 void sigShowLineNumbers(bool show);61 void sigWrapLines(bool show);62 void sigChangeFontSizeInPoints(int size);63 void sigChangeFont(QFont font);64 void sigResetToDefaults();65 66 void sigShowSearchPane();67 43 68 44 public: 69 45 70 UIVMLogViewerPaneContainer(QWidget *pParent, 71 UIVMLogViewerWidget *pViewer, 72 EmbedTo enmEmbedTo = EmbedTo_Stack); 73 74 /** @name Search page pass through functions 75 * @{ */ 76 void refreshSearch(); 77 QVector<float> matchLocationVector() const; 78 /** Returns the number of the matches to the current search. */ 79 int matchCount() const; 80 /** @} */ 81 82 /** @name Filter page pass through functions 83 * @{ */ 84 void applyFilter(); 85 /** @} */ 86 87 /** @name Bookmark page pass through functions 88 * @{ */ 89 void updateBookmarkList(const QVector<UIVMLogBookmark>& bookmarkList); 90 void disableEnableBookmarking(bool flag); 91 /** @} */ 92 93 /** @name Preferences page pass through functions 94 * @{ */ 95 void setShowLineNumbers(bool bShowLineNumbers); 96 void setWrapLines(bool bWrapLines); 97 void setFontSizeInPoints(int fontSizeInPoints); 98 /** @} */ 99 100 enum Page 101 { 102 Page_Search = 0, 103 Page_Filter, 104 Page_Bookmark, 105 Page_Preferences, 106 Page_Max 107 }; 108 109 protected: 110 111 virtual bool eventFilter(QObject *pObject, QEvent *pEvent) RT_OVERRIDE; 46 UIVMActivityMonitorPaneContainer(QWidget *pParent, EmbedTo enmEmbedTo = EmbedTo_Stack); 112 47 113 48 private slots: … … 117 52 private: 118 53 119 void prepare() RT_OVERRIDE; 120 121 UIVMLogViewerWidget *m_pViewer; 122 UIVMLogViewerSearchWidget *m_pSearchWidget; 123 UIVMLogViewerFilterWidget *m_pFilterWidget; 124 UIVMLogViewerBookmarksWidget *m_pBookmarksWidget; 125 UIVMLogViewerPreferencesWidget *m_pPreferencesWidget; 54 void prepare(); 55 QString m_strTabText; 126 56 }; 127 57 128 /** UIDialonPanel extension acting as the base class for UIVMLogViewerXXXPanel widgets. */129 class UIVMLogViewerPane : public QWidget130 {131 Q_OBJECT;132 58 133 public:134 59 135 UIVMLogViewerPane(QWidget *pParent, UIVMLogViewerWidget *pViewer); 136 137 protected: 138 139 virtual void prepareWidgets() = 0; 140 virtual void prepareConnections() = 0; 141 142 /* Access functions for children classes. */ 143 UIVMLogViewerWidget *viewer(); 144 const UIVMLogViewerWidget *viewer() const; 145 QTextDocument *textDocument(); 146 QPlainTextEdit *textEdit(); 147 /* Return the unmodified log. */ 148 const QString *logString() const; 149 150 private: 151 152 /** Holds the reference to VM Log-Viewer this panel belongs to. */ 153 UIVMLogViewerWidget *m_pViewer; 154 }; 155 156 #endif /* !FEQT_INCLUDED_SRC_logviewer_UIVMLogViewerPanel_h */ 60 #endif /* !FEQT_INCLUDED_SRC_activity_vmactivity_UIVMActivityMonitorPaneContainer_h */ -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.cpp
r104393 r104445 3272 3272 }; 3273 3273 3274 /** Simple action extension, used as 'Toggle Pane Preferences' action class. */ 3275 class UIActionMenuActivityPreferences : public UIActionToggle 3276 { 3277 Q_OBJECT; 3278 3279 public: 3280 3281 /** Constructs action passing @a pParent to the base-class. */ 3282 UIActionMenuActivityPreferences(UIActionPool *pParent) 3283 : UIActionToggle(pParent) 3284 { 3285 setShortcutContext(Qt::WidgetWithChildrenShortcut); 3286 setIcon(UIIconPool::iconSetFull(":/log_viewer_options_32px.png", ":/log_viewer_options_16px.png", 3287 ":/log_viewer_options_disabled_32px.png", ":/log_viewer_options_disabled_16px.png")); 3288 } 3289 3290 protected: 3291 3292 /** Returns shortcut extra-data ID. */ 3293 virtual QString shortcutExtraDataID() const RT_OVERRIDE 3294 { 3295 return QString("ToggleActivityMonitorPreferences"); 3296 } 3297 3298 /** Returns default shortcut. */ 3299 virtual QKeySequence defaultShortcut(UIType) const RT_OVERRIDE 3300 { 3301 return QKeySequence(""); 3302 } 3303 3304 /** Handles translation event. */ 3305 virtual void retranslateUi() RT_OVERRIDE 3306 { 3307 setName(QApplication::translate("UIActionPool", "&Preferences")); 3308 setShortcutScope(QApplication::translate("UIActionPool", "Activity Monitor")); 3309 setStatusTip(QApplication::translate("UIActionPool", "Open pane with activity monitor preferences")); 3310 setToolTip( QApplication::translate("UIActionPool", "Open Preferences Pane") 3311 + (shortcut().isEmpty() ? QString() : QString(" (%1)").arg(shortcut().toString()))); 3312 } 3313 }; 3314 3274 3315 3275 3316 /********************************************************************************************************************************* … … 3519 3560 m_pool[UIActionIndex_M_Activity_S_Export] = new UIActionMenuSelectorActivityPerformExport(this); 3520 3561 m_pool[UIActionIndex_M_Activity_S_ToVMActivityOverview] = new UIActionMenuSelectorActivityToVMActivityOverview(this); 3562 m_pool[UIActionIndex_M_Activity_T_Preferences] = new UIActionMenuActivityPreferences(this); 3521 3563 3522 3564 /* Create 'File Manager' actions: */ … … 3994 4036 pMenu->addAction(action(UIActionIndex_M_Activity_S_Export)); 3995 4037 pMenu->addAction(action(UIActionIndex_M_Activity_S_ToVMActivityOverview)); 4038 /* 'Preferences' action: */ 4039 pMenu->addAction(action(UIActionIndex_M_Activity_T_Preferences)); 3996 4040 3997 4041 /* Mark menu as valid: */ -
trunk/src/VBox/Frontends/VirtualBox/src/globals/UIActionPool.h
r104393 r104445 106 106 UIActionIndex_M_Activity_S_Export, 107 107 UIActionIndex_M_Activity_S_ToVMActivityOverview, 108 UIActionIndex_M_Activity_T_Preferences, 108 109 109 110 /* File Manager actions: */ -
trunk/src/VBox/Frontends/VirtualBox/src/guestctrl/UIFileManager.cpp
r104393 r104445 230 230 m_pFileTableSplitter->setCollapsible(i, false); 231 231 232 /** Vertical splitter has 3 widgets. Log panel as bottom most one, operations panel on top of it,233 * and pTopWidget which contains everthing else: */234 232 m_pVerticalSplitter = new QSplitter; 235 233 if (m_pVerticalSplitter) -
trunk/src/VBox/Frontends/VirtualBox/src/manager/UIVirtualBoxManagerWidget.cpp
r104393 r104445 1032 1032 m_pToolBar->addAction(actionPool()->action(UIActionIndex_M_Activity_S_Export)); 1033 1033 m_pToolBar->addAction(actionPool()->action(UIActionIndex_M_Activity_S_ToVMActivityOverview)); 1034 m_pToolBar->addAction(actionPool()->action(UIActionIndex_M_Activity_T_Preferences)); 1034 1035 m_pToolBar->addSeparator(); 1035 1036 m_pToolBar->addAction(actionPool()->action(UIActionIndexMN_M_Machine_S_Settings)); -
trunk/src/VBox/Frontends/VirtualBox/src/widgets/UIPaneContainer.h
r103923 r104445 77 77 EmbedTo m_enmEmbedTo; 78 78 bool m_fDetachAllowed; 79 80 79 QTabWidget *m_pTabWidget; 81 82 80 QIDialogButtonBox *m_pButtonBox; 83 81 };
Note:
See TracChangeset
for help on using the changeset viewer.