forked from qt-creator/qt-creator
Make mode hiding and style available from mode selector
Add the View > Modes menu as a context menu to the mode selector in the emtpy areas. Add a context menu with "Hide" and the mode style to the modes that don't have a menu, and extend existing mode menus (Debug mode) with these items too. Change-Id: I28106d9b6c4f0d69b2d06c4ec9664eb67e2b1216 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -192,15 +192,7 @@ DebuggerMainWindowPrivate::DebuggerMainWindowPrivate(DebuggerMainWindow *parent)
|
||||
m_perspectiveMenu = new QMenu;
|
||||
connect(m_perspectiveMenu, &QMenu::aboutToShow, this, [this] {
|
||||
m_perspectiveMenu->clear();
|
||||
for (Perspective *perspective : std::as_const(m_perspectives)) {
|
||||
m_perspectiveMenu->addAction(perspective->d->m_name, perspective, [perspective] {
|
||||
if (auto subPerspective = Perspective::findPerspective(
|
||||
perspective->d->m_lastActiveSubPerspectiveId))
|
||||
subPerspective->select();
|
||||
else
|
||||
perspective->select();
|
||||
});
|
||||
}
|
||||
DebuggerMainWindow::addPerspectiveMenu(m_perspectiveMenu);
|
||||
});
|
||||
|
||||
auto viewButton = new QToolButton;
|
||||
@@ -511,9 +503,19 @@ void DebuggerMainWindow::addSubPerspectiveSwitcher(QWidget *widget)
|
||||
d->m_subPerspectiveSwitcherLayout->addWidget(widget);
|
||||
}
|
||||
|
||||
QMenu *DebuggerMainWindow::perspectiveMenu()
|
||||
void DebuggerMainWindow::addPerspectiveMenu(QMenu *menu)
|
||||
{
|
||||
return theMainWindow ? theMainWindow->d->m_perspectiveMenu : nullptr;
|
||||
if (!theMainWindow)
|
||||
return;
|
||||
for (Perspective *perspective : std::as_const(theMainWindow->d->m_perspectives)) {
|
||||
menu->addAction(perspective->d->m_name, perspective, [perspective] {
|
||||
if (auto subPerspective = Perspective::findPerspective(
|
||||
perspective->d->m_lastActiveSubPerspectiveId))
|
||||
subPerspective->select();
|
||||
else
|
||||
perspective->select();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
DebuggerMainWindow *DebuggerMainWindow::instance()
|
||||
|
||||
Reference in New Issue
Block a user