forked from qt-creator/qt-creator
Introduce setPerspectiveEnabled
This enables us to mark perspectives as disabled. Change-Id: I52b2434f33f8550b6d2459f915dfd8cdb1389140 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -131,6 +131,7 @@ private:
|
|||||||
// Register a tool for a given start mode.
|
// Register a tool for a given start mode.
|
||||||
DEBUGGER_EXPORT void registerAction(Core::Id actionId, const ActionDescription &desc, QAction *startAction = 0);
|
DEBUGGER_EXPORT void registerAction(Core::Id actionId, const ActionDescription &desc, QAction *startAction = 0);
|
||||||
DEBUGGER_EXPORT void registerPerspective(const QByteArray &perspectiveId, const Utils::Perspective *perspective);
|
DEBUGGER_EXPORT void registerPerspective(const QByteArray &perspectiveId, const Utils::Perspective *perspective);
|
||||||
|
DEBUGGER_EXPORT void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enable);
|
||||||
DEBUGGER_EXPORT void registerToolbar(const QByteArray &perspectiveId, const Utils::ToolbarDescription &desc);
|
DEBUGGER_EXPORT void registerToolbar(const QByteArray &perspectiveId, const Utils::ToolbarDescription &desc);
|
||||||
|
|
||||||
DEBUGGER_EXPORT void enableMainWindow(bool on);
|
DEBUGGER_EXPORT void enableMainWindow(bool on);
|
||||||
|
@@ -50,6 +50,7 @@
|
|||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QStackedWidget>
|
#include <QStackedWidget>
|
||||||
|
#include <QStandardItemModel>
|
||||||
#include <QToolButton>
|
#include <QToolButton>
|
||||||
|
|
||||||
using namespace Debugger;
|
using namespace Debugger;
|
||||||
@@ -142,6 +143,16 @@ void DebuggerMainWindow::onModeChanged(Core::Id mode)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DebuggerMainWindow::setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled)
|
||||||
|
{
|
||||||
|
const int index = m_perspectiveChooser->findData(perspectiveId);
|
||||||
|
QTC_ASSERT(index != -1, return);
|
||||||
|
auto model = qobject_cast<QStandardItemModel*>(m_perspectiveChooser->model());
|
||||||
|
QTC_ASSERT(model, return);
|
||||||
|
QStandardItem *item = model->item(index, 0);
|
||||||
|
item->setFlags(enabled ? item->flags() | Qt::ItemIsEnabled : item->flags() & ~Qt::ItemIsEnabled );
|
||||||
|
}
|
||||||
|
|
||||||
void DebuggerMainWindow::resetCurrentPerspective()
|
void DebuggerMainWindow::resetCurrentPerspective()
|
||||||
{
|
{
|
||||||
loadPerspectiveHelper(m_currentPerspectiveId, false);
|
loadPerspectiveHelper(m_currentPerspectiveId, false);
|
||||||
|
@@ -136,6 +136,8 @@ public:
|
|||||||
|
|
||||||
void onModeChanged(Core::Id mode);
|
void onModeChanged(Core::Id mode);
|
||||||
|
|
||||||
|
void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QDockWidget *registerDockWidget(const QByteArray &dockId, QWidget *widget);
|
QDockWidget *registerDockWidget(const QByteArray &dockId, QWidget *widget);
|
||||||
void loadPerspectiveHelper(const QByteArray &perspectiveId, bool fromStoredSettings = true);
|
void loadPerspectiveHelper(const QByteArray &perspectiveId, bool fromStoredSettings = true);
|
||||||
|
@@ -3607,6 +3607,11 @@ void registerPerspective(const QByteArray &perspectiveId, const Perspective *per
|
|||||||
dd->m_mainWindow->registerPerspective(perspectiveId, perspective);
|
dd->m_mainWindow->registerPerspective(perspectiveId, perspective);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void setPerspectiveEnabled(const QByteArray &perspectiveId, bool enabled)
|
||||||
|
{
|
||||||
|
dd->m_mainWindow->setPerspectiveEnabled(perspectiveId, enabled);
|
||||||
|
}
|
||||||
|
|
||||||
void selectPerspective(const QByteArray &perspectiveId)
|
void selectPerspective(const QByteArray &perspectiveId)
|
||||||
{
|
{
|
||||||
if (dd->m_mainWindow->currentPerspective() == perspectiveId)
|
if (dd->m_mainWindow->currentPerspective() == perspectiveId)
|
||||||
|
Reference in New Issue
Block a user