diff --git a/src/libs/utils/basetreeview.cpp b/src/libs/utils/basetreeview.cpp index 35ecc58e045..1bced761d2e 100644 --- a/src/libs/utils/basetreeview.cpp +++ b/src/libs/utils/basetreeview.cpp @@ -93,20 +93,18 @@ void BaseTreeView::setModel(QAbstractItemModel *model) void BaseTreeView::connectColumnAdjustment() { if (m_alwaysAdjustColumns && model()) { - connect(model(), SIGNAL(layoutChanged()), this, SLOT(resizeColumns())); - connect(model(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(resizeColumns())); connect(this, SIGNAL(expanded(QModelIndex)), this, SLOT(resizeColumns())); connect(this, SIGNAL(collapsed(QModelIndex)), this, SLOT(resizeColumns())); + connect(model(), SIGNAL(layoutChanged()), this, SLOT(resizeColumns())); } } void BaseTreeView::disconnectColumnAdjustment() { if (m_alwaysAdjustColumns && model()) { - disconnect(model(), SIGNAL(layoutChanged()), this, SLOT(resizeColumns())); - disconnect(model(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(resizeColumns())); disconnect(this, SIGNAL(expanded(QModelIndex)), this, SLOT(resizeColumns())); disconnect(this, SIGNAL(collapsed(QModelIndex)), this, SLOT(resizeColumns())); + disconnect(model(), SIGNAL(layoutChanged()), this, SLOT(resizeColumns())); } } diff --git a/src/libs/utils/basetreeview.h b/src/libs/utils/basetreeview.h index 31d57bc1f73..cdfd1ce7dd7 100644 --- a/src/libs/utils/basetreeview.h +++ b/src/libs/utils/basetreeview.h @@ -56,11 +56,11 @@ public slots: void reset(); void resizeColumns(); - void resizeColumnsFinish(); void setAlternatingRowColorsHelper(bool on) { setAlternatingRowColors(on); } void setAlwaysAdjustColumns(bool on); private slots: + void resizeColumnsFinish(); void rowActivatedHelper(const QModelIndex &index) { rowActivated(index); } void rowClickedHelper(const QModelIndex &index) { rowClicked(index); } void toggleColumnWidth(int logicalIndex); diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 303a1af21ee..e966ebd7e77 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -530,17 +530,20 @@ public: // /////////////////////////////////////////////////////////////////////// -static QWidget *addSearch(BaseTreeView *treeView, const QString &title, const char *objectName) +static QWidget *addSearch(BaseTreeView *treeView, const QString &title, + const char *objectName, bool adjustColumns = false) { QAction *act = debuggerCore()->action(UseAlternatingRowColors); treeView->setAlternatingRowColors(act->isChecked()); QObject::connect(act, SIGNAL(toggled(bool)), treeView, SLOT(setAlternatingRowColorsHelper(bool))); - act = debuggerCore()->action(AlwaysAdjustColumnWidths); - treeView->setAlwaysAdjustColumns(act->isChecked()); - QObject::connect(act, SIGNAL(toggled(bool)), + if (adjustColumns) { + act = debuggerCore()->action(AlwaysAdjustColumnWidths); + treeView->setAlwaysAdjustColumns(act->isChecked()); + QObject::connect(act, SIGNAL(toggled(bool)), treeView, SLOT(setAlwaysAdjustColumns(bool))); + } QWidget *widget = TreeViewFind::createSearchableWrapper(treeView); widget->setObjectName(QLatin1String(objectName)); @@ -2817,16 +2820,16 @@ void DebuggerPluginPrivate::extensionsInitialized() m_threadsWindow = addSearch(m_threadsView, tr("Threads"), DOCKWIDGET_THREADS); m_returnView = new WatchTreeView(ReturnType); - m_returnWindow = addSearch(m_returnView, tr("Locals and Expressions"), "CppDebugReturn"); + m_returnWindow = addSearch(m_returnView, tr("Locals and Expressions"), "CppDebugReturn", true); m_localsView = new WatchTreeView(LocalsType); - m_localsWindow = addSearch(m_localsView, tr("Locals and Expressions"), "CppDebugLocals"); + m_localsWindow = addSearch(m_localsView, tr("Locals and Expressions"), "CppDebugLocals", true); m_watchersView = new WatchTreeView(WatchersType); - m_watchersWindow = addSearch(m_watchersView, tr("Locals and Expressions"), "CppDebugWatchers"); + m_watchersWindow = addSearch(m_watchersView, tr("Locals and Expressions"), "CppDebugWatchers", true); m_inspectorView = new WatchTreeView(InspectType); - m_inspectorWindow = addSearch(m_inspectorView, tr("Locals and Expressions"), "Inspector"); + m_inspectorWindow = addSearch(m_inspectorView, tr("Locals and Expressions"), "Inspector", true); // Snapshot m_snapshotHandler = new SnapshotHandler;