forked from qt-creator/qt-creator
analyzer: show busy cursor as long analysis is running
Change-Id: I93ad6ac5e79f5e8a6f843a90b244bfc0587c070c Reviewed-by: hjk <qthjk@ovi.com>
This commit is contained in:
@@ -33,10 +33,10 @@
|
||||
#ifndef CALLGRINDCOSTVIEW_H
|
||||
#define CALLGRINDCOSTVIEW_H
|
||||
|
||||
#include <QtGui/QTreeView>
|
||||
|
||||
#include "callgrindcostdelegate.h"
|
||||
|
||||
#include <QtGui/QTreeView>
|
||||
|
||||
namespace Valgrind {
|
||||
namespace Internal {
|
||||
|
||||
@@ -46,13 +46,13 @@ class CostView : public QTreeView
|
||||
|
||||
public:
|
||||
explicit CostView(QWidget *parent = 0);
|
||||
virtual ~CostView();
|
||||
~CostView();
|
||||
|
||||
/**
|
||||
* Overload automatically updates the cost delegate
|
||||
* and sets it for the cost columns of DataModel and CallModel.
|
||||
*/
|
||||
virtual void setModel(QAbstractItemModel *model);
|
||||
void setModel(QAbstractItemModel *model);
|
||||
|
||||
/**
|
||||
* How to format cost data columns in the view.
|
||||
|
||||
@@ -156,7 +156,7 @@ public slots:
|
||||
void stackBrowserChanged();
|
||||
|
||||
/// If \param busy is true, all widgets get a busy cursor when hovered
|
||||
void setBusy(bool busy);
|
||||
void setBusyCursor(bool busy);
|
||||
|
||||
void dataFunctionSelected(const QModelIndex &index);
|
||||
void calleeFunctionSelected(const QModelIndex &index);
|
||||
@@ -285,7 +285,7 @@ void CallgrindToolPrivate::doClear(bool clearParseData)
|
||||
m_proxyModel->setFilterFixedString(QString());
|
||||
}
|
||||
|
||||
void CallgrindToolPrivate::setBusy(bool busy)
|
||||
void CallgrindToolPrivate::setBusyCursor(bool busy)
|
||||
{
|
||||
QCursor cursor(busy ? Qt::BusyCursor : Qt::ArrowCursor);
|
||||
m_flatView->setCursor(cursor);
|
||||
@@ -468,7 +468,7 @@ void CallgrindToolPrivate::setParseData(ParseData *data)
|
||||
m_stackBrowser->clear();
|
||||
|
||||
// unset busy state
|
||||
setBusy(false);
|
||||
//setBusy(false);
|
||||
}
|
||||
|
||||
void CallgrindToolPrivate::updateEventCombo()
|
||||
@@ -614,6 +614,7 @@ IAnalyzerEngine *CallgrindToolPrivate::createEngine(const AnalyzerStartParameter
|
||||
void CallgrindTool::startTool(StartMode mode)
|
||||
{
|
||||
ValgrindPlugin::startValgrindTool(this, mode);
|
||||
d->setBusyCursor(true);
|
||||
}
|
||||
|
||||
QWidget *CallgrindTool::createWidgets()
|
||||
@@ -863,6 +864,8 @@ void CallgrindToolPrivate::engineFinished()
|
||||
showParserResults(data);
|
||||
else
|
||||
AnalyzerManager::showStatusMessage(tr("Profiling aborted."));
|
||||
|
||||
setBusyCursor(false);
|
||||
}
|
||||
|
||||
void CallgrindToolPrivate::showParserResults(const ParseData *data)
|
||||
@@ -944,7 +947,7 @@ void CallgrindToolPrivate::handleShowCostsOfFunction()
|
||||
|
||||
void CallgrindToolPrivate::slotRequestDump()
|
||||
{
|
||||
setBusy(true);
|
||||
//setBusy(true);
|
||||
m_visualisation->setText(tr("Populating..."));
|
||||
dumpRequested();
|
||||
}
|
||||
|
||||
@@ -465,6 +465,7 @@ void MemcheckTool::startTool(StartMode mode)
|
||||
|
||||
void MemcheckTool::engineStarting(const IAnalyzerEngine *engine)
|
||||
{
|
||||
setBusyCursor(true);
|
||||
clearErrorView();
|
||||
|
||||
QString dir;
|
||||
@@ -548,6 +549,13 @@ void MemcheckTool::finished()
|
||||
m_goNext->setEnabled(n > 1);
|
||||
const QString msg = AnalyzerManager::msgToolFinished(displayName(), n);
|
||||
AnalyzerManager::showStatusMessage(msg);
|
||||
setBusyCursor(false);
|
||||
}
|
||||
|
||||
void MemcheckTool::setBusyCursor(bool busy)
|
||||
{
|
||||
QCursor cursor(busy ? Qt::BusyCursor : Qt::ArrowCursor);
|
||||
m_errorView->setCursor(cursor);
|
||||
}
|
||||
|
||||
} // namespace Internal
|
||||
|
||||
@@ -113,6 +113,7 @@ private:
|
||||
ToolMode toolMode() const;
|
||||
void extensionsInitialized() {}
|
||||
QWidget *createWidgets();
|
||||
void setBusyCursor(bool busy);
|
||||
|
||||
Analyzer::IAnalyzerEngine *createEngine(const Analyzer::AnalyzerStartParameters &sp,
|
||||
ProjectExplorer::RunConfiguration *runConfiguration = 0);
|
||||
|
||||
Reference in New Issue
Block a user