From d41e690c84a18a1be0a5c6d5807cfa89b14138c1 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 24 Jul 2018 11:50:08 +0200 Subject: [PATCH] Debugger: Add a way to add perspective windows one-by-one More convenient in some circumstances. Change-Id: I413be4bebe9f5a2bbdfa9617ada6242d867eb1a0 Reviewed-by: Ulf Hermann --- src/plugins/debugger/debuggermainwindow.cpp | 10 ++++++++++ src/plugins/debugger/debuggermainwindow.h | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/debuggermainwindow.cpp b/src/plugins/debugger/debuggermainwindow.cpp index 6f08a02205a..a482d3762bd 100644 --- a/src/plugins/debugger/debuggermainwindow.cpp +++ b/src/plugins/debugger/debuggermainwindow.cpp @@ -496,4 +496,14 @@ void Perspective::addOperation(const Operation &operation) m_operations.append(operation); } +void Perspective::addWindow(QWidget *widget, + Perspective::OperationType op, + bool visibleByDefault, + Qt::DockWidgetArea area) +{ + const QByteArray dockId = widget->objectName().toUtf8(); + QTC_CHECK(!dockId.isEmpty()); + m_operations.append({dockId, widget, {}, op, visibleByDefault, area}); +} + } // Utils diff --git a/src/plugins/debugger/debuggermainwindow.h b/src/plugins/debugger/debuggermainwindow.h index 16883b874ec..382646daad2 100644 --- a/src/plugins/debugger/debuggermainwindow.h +++ b/src/plugins/debugger/debuggermainwindow.h @@ -70,11 +70,16 @@ public: Perspective() = default; // Takes ownership of \a centralWidget and all dock widgets in \a operations. - Perspective(const QString &name, const QVector &operations, + Perspective(const QString &name, + const QVector &operations = {}, QWidget *centralWidget = nullptr); ~Perspective(); void addOperation(const Operation &operation); + void addWindow(QWidget *widget, + OperationType op, + bool visibleByDefault = true, + Qt::DockWidgetArea area = Qt::BottomDockWidgetArea); QVector operations() const { return m_operations; } QVector docks() const { return m_docks; }