diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2019-03-31 08:04:43 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2019-04-16 14:20:22 +0000 |
commit | 48073b2990aa2d80b025446381c5ca13b84f66ca (patch) | |
tree | 136499d1696ab2213e12a4c7048ce36511cc8187 /src/plugins/projectexplorer/compileoutputwindow.cpp | |
parent | e127d599acd3ec22b472cd24815e37325ce5ba76 (diff) | |
download | qt-creator-48073b2990aa2d80b025446381c5ca13b84f66ca.tar.gz |
IOutputPane: Refactor zoom function into base class
Try to make zoom and font handling in the panes more
similar and put common stuff into IOutputPane.
Change-Id: I59c38c5eecbf67b7ca6c9d84a6f61b1292a787df
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Diffstat (limited to 'src/plugins/projectexplorer/compileoutputwindow.cpp')
-rw-r--r-- | src/plugins/projectexplorer/compileoutputwindow.cpp | 71 |
1 files changed, 19 insertions, 52 deletions
diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp index cd633054c7..022a436d93 100644 --- a/src/plugins/projectexplorer/compileoutputwindow.cpp +++ b/src/plugins/projectexplorer/compileoutputwindow.cpp @@ -76,31 +76,11 @@ class CompileOutputTextEdit : public Core::OutputWindow { Q_OBJECT public: - CompileOutputTextEdit(const Core::Context &context) : Core::OutputWindow(context) + CompileOutputTextEdit(const Core::Context &context) : Core::OutputWindow(context, SETTINGS_KEY) { - setWheelZoomEnabled(true); - - QSettings *settings = Core::ICore::settings(); - float zoom = settings->value(QLatin1String(SETTINGS_KEY), 0).toFloat(); - setFontZoom(zoom); - - fontSettingsChanged(); - - connect(TextEditor::TextEditorSettings::instance(), &TextEditor::TextEditorSettings::fontSettingsChanged, - this, &CompileOutputTextEdit::fontSettingsChanged); - - connect(Core::ICore::instance(), &Core::ICore::saveSettingsRequested, - this, &CompileOutputTextEdit::saveSettings); - setMouseTracking(true); } - void saveSettings() - { - QSettings *settings = Core::ICore::settings(); - settings->setValue(QLatin1String(SETTINGS_KEY), fontZoom()); - } - void addTask(const Task &task, int blocknumber) { m_taskids.insert(blocknumber, task.taskId); @@ -110,11 +90,6 @@ public: { m_taskids.clear(); } -private: - void fontSettingsChanged() - { - setBaseFont(TextEditor::TextEditorSettings::fontSettings().font()); - } protected: void mouseMoveEvent(QMouseEvent *ev) override @@ -158,8 +133,6 @@ private: CompileOutputWindow::CompileOutputWindow(QAction *cancelBuildAction) : m_cancelBuildButton(new QToolButton), - m_zoomInButton(new QToolButton), - m_zoomOutButton(new QToolButton), m_settingsButton(new QToolButton), m_formatter(new Utils::OutputFormatter) { @@ -185,23 +158,29 @@ CompileOutputWindow::CompileOutputWindow(QAction *cancelBuildAction) : Utils::ProxyAction::proxyActionWithIcon(cancelBuildAction, Utils::Icons::STOP_SMALL_TOOLBAR.icon()); m_cancelBuildButton->setDefaultAction(cancelBuildProxyButton); - m_zoomInButton->setToolTip(tr("Increase Font Size")); - m_zoomInButton->setIcon(Utils::Icons::PLUS_TOOLBAR.icon()); - m_zoomOutButton->setToolTip(tr("Decrease Font Size")); - m_zoomOutButton->setIcon(Utils::Icons::MINUS.icon()); m_settingsButton->setToolTip(tr("Open Settings Page")); m_settingsButton->setIcon(Utils::Icons::SETTINGS_TOOLBAR.icon()); + auto updateFontSettings = [this] { + m_outputWindow->setBaseFont(TextEditor::TextEditorSettings::fontSettings().font()); + }; + + auto updateZoomEnabled = [this] { + m_outputWindow->setWheelZoomEnabled( + TextEditor::TextEditorSettings::behaviorSettings().m_scrollWheelZooming); + }; + + setZoomButtonsEnabled(true); + updateFontSettings(); updateZoomEnabled(); - connect(TextEditor::TextEditorSettings::instance(), - &TextEditor::TextEditorSettings::behaviorSettingsChanged, - this, &CompileOutputWindow::updateZoomEnabled); + connect(this, &IOutputPane::zoomIn, m_outputWindow, &Core::OutputWindow::zoomIn); + connect(this, &IOutputPane::zoomOut, m_outputWindow, &Core::OutputWindow::zoomOut); + connect(TextEditor::TextEditorSettings::instance(), &TextEditor::TextEditorSettings::fontSettingsChanged, + this, updateFontSettings); + connect(TextEditor::TextEditorSettings::instance(), &TextEditor::TextEditorSettings::behaviorSettingsChanged, + this, updateZoomEnabled); - connect(m_zoomInButton, &QToolButton::clicked, - this, [this]() { m_outputWindow->zoomIn(1); }); - connect(m_zoomOutButton, &QToolButton::clicked, - this, [this]() { m_outputWindow->zoomOut(1); }); connect(m_settingsButton, &QToolButton::clicked, this, [] { Core::ICore::showOptionsDialog(OPTIONS_PAGE_ID); }); @@ -223,22 +202,10 @@ CompileOutputWindow::~CompileOutputWindow() ExtensionSystem::PluginManager::removeObject(m_handler); delete m_handler; delete m_cancelBuildButton; - delete m_zoomInButton; - delete m_zoomOutButton; delete m_settingsButton; delete m_formatter; } -void CompileOutputWindow::updateZoomEnabled() -{ - const TextEditor::BehaviorSettings &settings - = TextEditor::TextEditorSettings::behaviorSettings(); - bool zoomEnabled = settings.m_scrollWheelZooming; - m_zoomInButton->setEnabled(zoomEnabled); - m_zoomOutButton->setEnabled(zoomEnabled); - m_outputWindow->setWheelZoomEnabled(zoomEnabled); -} - void CompileOutputWindow::updateFromSettings() { m_outputWindow->setWordWrapEnabled(m_settings.wrapOutput); @@ -267,7 +234,7 @@ QWidget *CompileOutputWindow::outputWidget(QWidget *) QList<QWidget *> CompileOutputWindow::toolBarWidgets() const { - return {m_cancelBuildButton, m_zoomInButton, m_zoomOutButton, m_settingsButton}; + return QList<QWidget *>{m_cancelBuildButton, m_settingsButton} + IOutputPane::toolBarWidgets(); } void CompileOutputWindow::appendText(const QString &text, BuildStep::OutputFormat format) |