forked from qt-creator/qt-creator
debugger: hide "watchers" part of Locals&Watchers if there aren't watchers
This commit is contained in:
@@ -459,6 +459,8 @@ void DebuggerManager::init()
|
||||
watchersView->setModel(d->m_watchHandler->model(WatchersWatch));
|
||||
connect(theDebuggerAction(AssignValue), SIGNAL(triggered()),
|
||||
this, SLOT(assignValueInDebugger()), Qt::QueuedConnection);
|
||||
connect(theDebuggerAction(RemoveWatchExpression), SIGNAL(triggered()),
|
||||
this, SLOT(updateWatchersWindow()), Qt::QueuedConnection);
|
||||
|
||||
// Log
|
||||
connect(this, SIGNAL(emitShowInput(int, QString)),
|
||||
@@ -1802,6 +1804,8 @@ void DebuggerManager::setState(DebuggerState state, bool forced)
|
||||
theDebuggerAction(ExpandStack)->setEnabled(actionsEnabled);
|
||||
theDebuggerAction(ExecuteCommand)->setEnabled(d->m_state != DebuggerNotReady);
|
||||
|
||||
updateWatchersWindow();
|
||||
|
||||
d->m_plugin->handleStateChanged(d->m_state);
|
||||
const bool notbusy = state == InferiorStopped
|
||||
|| state == DebuggerNotReady
|
||||
@@ -1925,6 +1929,12 @@ void DebuggerManager::fontSettingsChanged(const TextEditor::FontSettings &settin
|
||||
changeFontSize(d->m_threadsWindow, size);
|
||||
}
|
||||
|
||||
void DebuggerManager::updateWatchersWindow()
|
||||
{
|
||||
d->m_watchersWindow->setVisible(
|
||||
d->m_watchHandler->model(WatchersWatch)->rowCount(QModelIndex()) > 0);
|
||||
}
|
||||
|
||||
//////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// AbstractDebuggerEngine
|
||||
|
||||
@@ -259,6 +259,7 @@ public slots: // FIXME
|
||||
void showDebuggerOutput(const QString &msg)
|
||||
{ showDebuggerOutput(LogDebug, msg); }
|
||||
void ensureLogVisible();
|
||||
void updateWatchersWindow();
|
||||
|
||||
//private slots: // FIXME
|
||||
void showDebuggerOutput(int channel, const QString &msg);
|
||||
|
||||
@@ -1201,6 +1201,7 @@ void WatchHandler::endCycle()
|
||||
m_locals->endCycle();
|
||||
m_watchers->endCycle();
|
||||
m_tooltips->endCycle();
|
||||
m_manager->updateWatchersWindow();
|
||||
}
|
||||
|
||||
void WatchHandler::cleanup()
|
||||
|
||||
@@ -174,12 +174,15 @@ private:
|
||||
explicit WatchModel(WatchHandler *handler, WatchType type);
|
||||
virtual ~WatchModel();
|
||||
|
||||
public:
|
||||
int rowCount(const QModelIndex &idx) const;
|
||||
int columnCount(const QModelIndex &idx) const;
|
||||
|
||||
private:
|
||||
QVariant data(const QModelIndex &index, int role) const;
|
||||
bool setData(const QModelIndex &index, const QVariant &value, int role);
|
||||
QModelIndex index(int, int, const QModelIndex &idx) const;
|
||||
QModelIndex parent(const QModelIndex &idx) const;
|
||||
int rowCount(const QModelIndex &idx) const;
|
||||
int columnCount(const QModelIndex &idx) const;
|
||||
bool hasChildren(const QModelIndex &idx) const;
|
||||
Qt::ItemFlags flags(const QModelIndex &idx) const;
|
||||
QVariant headerData(int section, Qt::Orientation orientation,
|
||||
|
||||
Reference in New Issue
Block a user