summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron Barany2018-12-11 23:25:04 -0800
committerAaron Barany2018-12-11 23:25:04 -0800
commit01727a8e2377f6774f1a767d3aa8b4cc6516780d (patch)
tree8a4c097446b9f871b7644b953aa85c4d8114d29c
parentb5416591e8db0a690e1da5492d1525e20155605e (diff)
downloadaur-01727a8e2377f6774f1a767d3aa8b4cc6516780d.tar.gz
Added fix for debugger columns.
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD10
-rw-r--r--qtcreator-debugger-columns-fix.patch120
3 files changed, 130 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 1bc96c0c240f..284cc842975a 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,7 +1,7 @@
pkgbase = qtcreator-fixed-themes
pkgdesc = Lightweight, cross-platform integrated development environment, with fixes applied for various themes
pkgver = 4.8.0
- pkgrel = 4
+ pkgrel = 5
url = http://qt-project.org
arch = x86_64
license = LGPL
@@ -35,6 +35,7 @@ pkgbase = qtcreator-fixed-themes
source = qtcreator-exit-debugger-fix.patch
source = qtcreator-occurrences-fix.patch
source = qtcreator-breakpoint-fix.patch
+ source = qtcreator-debugger-columns-fix.patch
sha256sums = aec7b4595e17f5536eb2eef4331057f2d0fa4ba0a46f4968cc06959a1d589b43
sha256sums = 6f19fc9d83964a5460d224b3d44ce580553847960181fe0364e2ce26e1efd2e6
sha256sums = a7b87219de0ee3e18754749a057535c04357acc2478dcb3fca6bc4b1ba8a8178
@@ -42,6 +43,7 @@ pkgbase = qtcreator-fixed-themes
sha256sums = f938a72cc79c9ed8de07da8af79b170f67448a74dbd3228dd3de7e4855ed633d
sha256sums = ba6a48156cc14935a0dea12e8282bdfb1936e0c67216c660eef41bd5b5a44d4b
sha256sums = 12dad35519cfc62119b0af21b31a96149081ae1ee6d6e7cb65ee80f3774ff06f
+ sha256sums = cc1c6a1096431158543ef83243bdad775374f9a5f7bc9c7d3c4a738378f3a9fc
pkgname = qtcreator-fixed-themes
diff --git a/PKGBUILD b/PKGBUILD
index c205df637656..aa6b6f869b5c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -12,7 +12,7 @@
pkgname=qtcreator-fixed-themes
pkgver=4.8.0
_clangver=7.0.0
-pkgrel=4
+pkgrel=5
pkgdesc='Lightweight, cross-platform integrated development environment, with fixes applied for various themes'
arch=(x86_64)
url='http://qt-project.org'
@@ -37,14 +37,16 @@ source=("http://download.qt.io/official_releases/qtcreator/${pkgver%.*}/$pkgver/
qtcreator-dark-and-flat-selection-fixes.patch
qtcreator-exit-debugger-fix.patch
qtcreator-occurrences-fix.patch
- qtcreator-breakpoint-fix.patch)
+ qtcreator-breakpoint-fix.patch
+ qtcreator-debugger-columns-fix.patch)
sha256sums=('aec7b4595e17f5536eb2eef4331057f2d0fa4ba0a46f4968cc06959a1d589b43'
'6f19fc9d83964a5460d224b3d44ce580553847960181fe0364e2ce26e1efd2e6'
'a7b87219de0ee3e18754749a057535c04357acc2478dcb3fca6bc4b1ba8a8178'
'514d9ff2989b0c865ead40b62df79f46871cbc1840ca552c64947b2e6c7d7d18'
'f938a72cc79c9ed8de07da8af79b170f67448a74dbd3228dd3de7e4855ed633d'
'ba6a48156cc14935a0dea12e8282bdfb1936e0c67216c660eef41bd5b5a44d4b'
- '12dad35519cfc62119b0af21b31a96149081ae1ee6d6e7cb65ee80f3774ff06f')
+ '12dad35519cfc62119b0af21b31a96149081ae1ee6d6e7cb65ee80f3774ff06f'
+ 'cc1c6a1096431158543ef83243bdad775374f9a5f7bc9c7d3c4a738378f3a9fc')
prepare() {
mkdir -p build
@@ -67,6 +69,8 @@ prepare() {
patch -p1 -i ../qtcreator-exit-debugger-fix.patch
# Fix infinite looping breakpoints.
patch -p1 -i ../qtcreator-breakpoint-fix.patch
+ # Fix broken sizing for debugger columns.
+ patch -p1 -i ../qtcreator-debugger-columns-fix.patch
}
build() {
diff --git a/qtcreator-debugger-columns-fix.patch b/qtcreator-debugger-columns-fix.patch
new file mode 100644
index 000000000000..de20382dcf11
--- /dev/null
+++ b/qtcreator-debugger-columns-fix.patch
@@ -0,0 +1,120 @@
+diff --git a/src/plugins/debugger/debuggerengine.cpp b/src/plugins/debugger/debuggerengine.cpp
+index 8ced94f4ba..ed8f60bce8 100644
+--- a/src/plugins/debugger/debuggerengine.cpp
++++ b/src/plugins/debugger/debuggerengine.cpp
+@@ -647,7 +647,7 @@ void DebuggerEnginePrivate::setupViews()
+ m_registerWindow->setObjectName(DOCKWIDGET_REGISTER);
+ m_registerWindow->setWindowTitle(tr("Reg&isters"));
+
+- m_stackView = new BaseTreeView;
++ m_stackView = new StackTreeView;
+ m_stackView->setModel(m_stackHandler.model());
+ m_stackView->setSettings(settings, "Debugger.StackView");
+ m_stackView->setIconSize(QSize(10, 10));
+@@ -720,6 +720,8 @@ void DebuggerEnginePrivate::setupViews()
+ this, [this](bool on) { m_breakView->setColumnHidden(BreakpointAddressColumn, !on); });
+ m_breakView->setSettings(settings, "Debugger.BreakWindow");
+ m_breakView->setModel(m_breakHandler.model());
++ m_breakView->header()->setStretchLastSection(false);
++ m_breakView->header()->setSectionResizeMode(BreakpointFunctionColumn, QHeaderView::Stretch);
+ m_breakView->setRootIsDecorated(true);
+ m_breakWindow = addSearch(m_breakView);
+ m_breakWindow->setObjectName(DOCKWIDGET_BREAK);
+diff --git a/src/plugins/debugger/stackwindow.cpp b/src/plugins/debugger/stackwindow.cpp
+index 83e6af2829..b30054d0c9 100644
+--- a/src/plugins/debugger/stackwindow.cpp
++++ b/src/plugins/debugger/stackwindow.cpp
+@@ -32,33 +32,56 @@
+ #include <utils/savedaction.h>
+
+ #include <QAction>
++#include <QHeaderView>
+
+ namespace Debugger {
+ namespace Internal {
+
+ StackTreeView::StackTreeView()
++ : m_contentsAdjusted(false)
+ {
+- setWindowTitle(tr("Stack"));
+-
+ connect(action(UseAddressInStackView), &QAction::toggled,
+ this, &StackTreeView::showAddressColumn);
+ showAddressColumn(false);
+ }
+
+-void StackTreeView::showAddressColumn(bool on)
++void StackTreeView::adjustForFirstContents()
+ {
+- setColumnHidden(StackAddressColumn, !on);
+- resizeColumnToContents(StackLevelColumn);
+- resizeColumnToContents(StackLineNumberColumn);
+- resizeColumnToContents(StackAddressColumn);
++ if (!m_contentsAdjusted)
++ adjustForContents();
+ }
+
+ void StackTreeView::setModel(QAbstractItemModel *model)
+ {
+ BaseTreeView::setModel(model);
++ connect(model, SIGNAL(stackChanged()), this, SLOT(adjustForFirstContents()));
++
++ // Stretch function section to any remaining space.
++ header()->setStretchLastSection(false);
++ header()->setSectionResizeMode(StackFunctionNameColumn, QHeaderView::Stretch);
++
++ // Resize for the current contents if any are available.
++ showAddressColumn(action(UseAddressInStackView)->isChecked());
++}
++
++void StackTreeView::showAddressColumn(bool on)
++{
++ setColumnHidden(StackAddressColumn, !on);
++ adjustForContents();
++}
++
++void StackTreeView::adjustForContents()
++{
++ // Skip resizing if no contents. This will be called again once contents are available.
++ if (!model() || model()->rowCount() == 0)
++ return;
++
+ resizeColumnToContents(StackLevelColumn);
++ resizeColumnToContents(StackFileNameColumn);
+ resizeColumnToContents(StackLineNumberColumn);
+- showAddressColumn(action(UseAddressInStackView)->isChecked());
++ resizeColumnToContents(StackAddressColumn);
++ resizeColumns();
++ m_contentsAdjusted = true;
+ }
+
+ } // namespace Internal
+diff --git a/src/plugins/debugger/stackwindow.h b/src/plugins/debugger/stackwindow.h
+index 5439ead73f..cb020b9947 100644
+--- a/src/plugins/debugger/stackwindow.h
++++ b/src/plugins/debugger/stackwindow.h
+@@ -34,17 +34,21 @@ namespace Internal {
+
+ class StackTreeView : public Utils::BaseTreeView
+ {
+- Q_DECLARE_TR_FUNCTIONS(Debugger::Internal::StackTreeView)
++ Q_OBJECT
+
+ public:
+ StackTreeView();
+
++private slots:
++ void adjustForFirstContents();
++
+ private:
+ void setModel(QAbstractItemModel *model) override;
+
+ void showAddressColumn(bool on);
+- void reloadFullStack();
+- void copyContentsToClipboard();
++ void adjustForContents();
++
++ bool m_contentsAdjusted;
+ };
+
+ } // namespace Internal