aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/debugger/stackwindow.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2011-09-30 12:28:55 +0200
committerhjk <[email protected]>2011-09-30 12:31:29 +0200
commit2e9fd40d866c49018157b7654e08eb92ddea0ec0 (patch)
treec4bc6797fb6fcf3a40bcfcc466d93c7bb28084c7 /src/plugins/debugger/stackwindow.cpp
parent1b5e10e1b66961f6bf07fe4d1a24ccc540447f39 (diff)
debugger: use common baseclass for all dock treeviews
Reduces amount of boilerplate code. Change-Id: I048d901b4b80860df05f09b48650ea58b83fbc66 Reviewed-on: http://codereview.qt-project.org/5864 Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/debugger/stackwindow.cpp')
-rw-r--r--src/plugins/debugger/stackwindow.cpp57
1 files changed, 8 insertions, 49 deletions
diff --git a/src/plugins/debugger/stackwindow.cpp b/src/plugins/debugger/stackwindow.cpp
index ef51bf71e51..8191459041f 100644
--- a/src/plugins/debugger/stackwindow.cpp
+++ b/src/plugins/debugger/stackwindow.cpp
@@ -46,9 +46,9 @@
#include <QtGui/QApplication>
#include <QtGui/QClipboard>
+#include <QtGui/QContextMenuEvent>
#include <QtGui/QHeaderView>
#include <QtGui/QMenu>
-#include <QtGui/QResizeEvent>
namespace Debugger {
namespace Internal {
@@ -59,33 +59,17 @@ static DebuggerEngine *currentEngine()
}
StackWindow::StackWindow(QWidget *parent)
- : QTreeView(parent)
+ : BaseWindow(parent)
{
- setAttribute(Qt::WA_MacShowFocusRect, false);
- setFrameStyle(QFrame::NoFrame);
-
- QAction *act = debuggerCore()->action(UseAlternatingRowColors);
setWindowTitle(tr("Stack"));
+ setAlwaysAdjustColumnsAction(debuggerCore()->action(AlwaysAdjustStackColumnWidths));
- setAlternatingRowColors(act->isChecked());
- setRootIsDecorated(false);
- setIconSize(QSize(10, 10));
-
- header()->setDefaultAlignment(Qt::AlignLeft);
-
- connect(this, SIGNAL(activated(QModelIndex)),
- SLOT(rowActivated(QModelIndex)));
- connect(act, SIGNAL(toggled(bool)),
- SLOT(setAlternatingRowColorsHelper(bool)));
connect(debuggerCore()->action(UseAddressInStackView), SIGNAL(toggled(bool)),
SLOT(showAddressColumn(bool)));
connect(debuggerCore()->action(ExpandStack), SIGNAL(triggered()),
SLOT(reloadFullStack()));
connect(debuggerCore()->action(MaximalStackDepth), SIGNAL(triggered()),
SLOT(reloadFullStack()));
- connect(debuggerCore()->action(AlwaysAdjustStackColumnWidths),
- SIGNAL(triggered(bool)),
- SLOT(setAlwaysResizeColumnsToContents(bool)));
showAddressColumn(false);
}
@@ -101,14 +85,9 @@ void StackWindow::rowActivated(const QModelIndex &index)
void StackWindow::setModel(QAbstractItemModel *model)
{
- QTreeView::setModel(model);
- //resizeColumnsToContents();
+ BaseWindow::setModel(model);
resizeColumnToContents(0);
resizeColumnToContents(3);
- if (header()) {
- bool adjust = debuggerCore()->boolSetting(AlwaysAdjustStackColumnWidths);
- setAlwaysResizeColumnsToContents(adjust);
- }
}
void StackWindow::contextMenuEvent(QContextMenuEvent *ev)
@@ -162,20 +141,12 @@ void StackWindow::contextMenuEvent(QContextMenuEvent *ev)
#endif
menu.addAction(debuggerCore()->action(UseAddressInStackView));
- QAction *actAdjust = menu.addAction(tr("Adjust Column Widths to Contents"));
- menu.addAction(debuggerCore()->action(AlwaysAdjustStackColumnWidths));
- menu.addSeparator();
-
- menu.addAction(debuggerCore()->action(SettingsDialog));
+ addBaseContextActions(&menu);
QAction *act = menu.exec(ev->globalPos());
- if (!act)
- ;
- else if (act == actCopyContents)
+ if (act == actCopyContents)
copyContentsToClipboard();
- else if (act == actAdjust)
- resizeColumnsToContents();
else if (act == actShowMemory) {
const QString title = tr("Memory at Frame #%1 (%2) 0x%3").
arg(row).arg(frame.function).arg(address, 0, 16);
@@ -193,6 +164,8 @@ void StackWindow::contextMenuEvent(QContextMenuEvent *ev)
engine->openDisassemblerView(frame);
else if (act == actLoadSymbols)
engine->loadSymbolsForStack();
+ else
+ handleBaseContextAction(act);
}
void StackWindow::copyContentsToClipboard()
@@ -220,19 +193,5 @@ void StackWindow::reloadFullStack()
currentEngine()->reloadFullStack();
}
-void StackWindow::resizeColumnsToContents()
-{
- for (int i = model()->columnCount(); --i >= 0; )
- resizeColumnToContents(i);
-}
-
-void StackWindow::setAlwaysResizeColumnsToContents(bool on)
-{
- QHeaderView::ResizeMode mode =
- on ? QHeaderView::ResizeToContents : QHeaderView::Interactive;
- for (int i = model()->columnCount(); --i >= 0; )
- header()->setResizeMode(i, mode);
-}
-
} // namespace Internal
} // namespace Debugger