Projects mode: Use "Show Right Sidebar" action to toggle build output

For users who want the full area for the configuration widgets or don't
see output there because their build system doesn't put it there.

Fixes: QTCREATORBUG-26069
Change-Id: I4ffa73be88e5c7cc058227bc681f87e4c0a642bd
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
Eike Ziller
2022-07-04 14:20:52 +02:00
parent 53269fc386
commit 4d72cb55ba

View File

@@ -635,8 +635,28 @@ public:
outputLayout->addWidget(m_buildSystemOutput->toolBar());
outputLayout->addWidget(m_buildSystemOutput);
outputLayout->addWidget(new FindToolBarPlaceHolder(m_buildSystemOutput));
auto outputDock = q->addDockForWidget(output, true);
q->addDockWidget(Qt::RightDockWidgetArea, outputDock);
m_outputDock = q->addDockForWidget(output, true);
q->addDockWidget(Qt::RightDockWidgetArea, m_outputDock);
m_toggleRightSidebarAction.setCheckable(true);
m_toggleRightSidebarAction.setChecked(true);
const auto toolTipText = [](bool checked) {
return checked
? QCoreApplication::translate("Core", Core::Constants::TR_HIDE_RIGHT_SIDEBAR)
: QCoreApplication::translate("Core", Core::Constants::TR_SHOW_RIGHT_SIDEBAR);
};
m_toggleRightSidebarAction.setText(toolTipText(false)); // always "Show Right Sidebar"
m_toggleRightSidebarAction.setToolTip(toolTipText(m_toggleRightSidebarAction.isChecked()));
ActionManager::registerAction(&m_toggleRightSidebarAction,
Core::Constants::TOGGLE_RIGHT_SIDEBAR,
Context(Constants::C_PROJECTEXPLORER));
connect(&m_toggleRightSidebarAction,
&QAction::toggled,
this,
[this, toolTipText](bool checked) {
m_toggleRightSidebarAction.setToolTip(toolTipText(checked));
m_outputDock->setVisible(checked);
});
}
void updatePanel()
@@ -805,6 +825,8 @@ public:
SelectorTree *m_selectorTree;
QPushButton *m_importBuild;
QPushButton *m_manageKits;
QAction m_toggleRightSidebarAction;
QDockWidget *m_outputDock;
BuildSystemOutputWindow *m_buildSystemOutput;
};
@@ -866,6 +888,7 @@ void ProjectWindow::loadPersistentSettings()
settings->beginGroup(PROJECT_WINDOW_KEY);
restoreSettings(settings);
settings->endGroup();
d->m_toggleRightSidebarAction.setChecked(d->m_outputDock->isVisible());
}
QSize SelectorDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const