diff options
author | Aaron Barany | 2018-12-11 23:25:04 -0800 |
---|---|---|
committer | Aaron Barany | 2018-12-11 23:25:04 -0800 |
commit | 01727a8e2377f6774f1a767d3aa8b4cc6516780d (patch) | |
tree | 8a4c097446b9f871b7644b953aa85c4d8114d29c | |
parent | b5416591e8db0a690e1da5492d1525e20155605e (diff) | |
download | aur-01727a8e2377f6774f1a767d3aa8b4cc6516780d.tar.gz |
Added fix for debugger columns.
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | PKGBUILD | 10 | ||||
-rw-r--r-- | qtcreator-debugger-columns-fix.patch | 120 |
3 files changed, 130 insertions, 4 deletions
@@ -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 @@ -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 |