Commit 41d400eb authored by hjk's avatar hjk

debugger: hide "watchers" part of Locals&Watchers if there aren't watchers

parent 3ecfc2f3
......@@ -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,
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment