forked from qt-creator/qt-creator
Adapt to API change in mainline Creator.
Change-Id: If1028fcf28373d99394d081c98e5cbc46aca81c5 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
This commit is contained in:
@@ -21,19 +21,12 @@
|
|||||||
#include "clangstaticanalyzerlogfilereader.h"
|
#include "clangstaticanalyzerlogfilereader.h"
|
||||||
#include "clangstaticanalyzerutils.h"
|
#include "clangstaticanalyzerutils.h"
|
||||||
|
|
||||||
#include <coreplugin/coreconstants.h>
|
|
||||||
|
|
||||||
#include <utils/qtcassert.h>
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QAction>
|
|
||||||
#include <QApplication>
|
|
||||||
#include <QClipboard>
|
|
||||||
#include <QContextMenuEvent>
|
|
||||||
#include <QCoreApplication>
|
#include <QCoreApplication>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QFileInfo>
|
#include <QFileInfo>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QMenu>
|
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
using namespace Analyzer;
|
using namespace Analyzer;
|
||||||
@@ -203,32 +196,6 @@ DetailedErrorDelegate::SummaryLineInfo ClangStaticAnalyzerDiagnosticDelegate::su
|
|||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ClangStaticAnalyzerDiagnosticDelegate::copy()
|
|
||||||
{
|
|
||||||
QTC_ASSERT(m_detailsIndex.isValid(), return);
|
|
||||||
|
|
||||||
const Diagnostic diagnostic = m_detailsIndex.data(Qt::UserRole).value<Diagnostic>();
|
|
||||||
QTC_ASSERT(diagnostic.isValid(), return);
|
|
||||||
|
|
||||||
// Create summary
|
|
||||||
QString clipboardText = diagnostic.category + QLatin1String(": ") + diagnostic.type;
|
|
||||||
if (diagnostic.type != diagnostic.description)
|
|
||||||
clipboardText += QLatin1String(": ") + diagnostic.description;
|
|
||||||
clipboardText += QLatin1Char('\n');
|
|
||||||
|
|
||||||
// Create explaining steps
|
|
||||||
int explainingStepNumber = 1;
|
|
||||||
foreach (const ExplainingStep &explainingStep, diagnostic.explainingSteps) {
|
|
||||||
clipboardText += createExplainingStepString(explainingStep,
|
|
||||||
explainingStepNumber++,
|
|
||||||
/*withMarkup=*/ false,
|
|
||||||
/*withAbsolutePath=*/ true) + QLatin1Char('\n');
|
|
||||||
}
|
|
||||||
|
|
||||||
clipboardText.chop(1); // Remove \n
|
|
||||||
QApplication::clipboard()->setText(clipboardText);
|
|
||||||
}
|
|
||||||
|
|
||||||
QWidget *ClangStaticAnalyzerDiagnosticDelegate::createDetailsWidget(const QFont &font,
|
QWidget *ClangStaticAnalyzerDiagnosticDelegate::createDetailsWidget(const QFont &font,
|
||||||
const QModelIndex &index,
|
const QModelIndex &index,
|
||||||
QWidget *parent) const
|
QWidget *parent) const
|
||||||
@@ -269,31 +236,38 @@ QWidget *ClangStaticAnalyzerDiagnosticDelegate::createDetailsWidget(const QFont
|
|||||||
return widget;
|
return widget;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString ClangStaticAnalyzerDiagnosticDelegate::textualRepresentation() const
|
||||||
|
{
|
||||||
|
QTC_ASSERT(m_detailsIndex.isValid(), return QString());
|
||||||
|
|
||||||
|
const Diagnostic diagnostic = m_detailsIndex.data(Qt::UserRole).value<Diagnostic>();
|
||||||
|
QTC_ASSERT(diagnostic.isValid(), return QString());
|
||||||
|
|
||||||
|
// Create summary
|
||||||
|
QString clipboardText = diagnostic.category + QLatin1String(": ") + diagnostic.type;
|
||||||
|
if (diagnostic.type != diagnostic.description)
|
||||||
|
clipboardText += QLatin1String(": ") + diagnostic.description;
|
||||||
|
clipboardText += QLatin1Char('\n');
|
||||||
|
|
||||||
|
// Create explaining steps
|
||||||
|
int explainingStepNumber = 1;
|
||||||
|
foreach (const ExplainingStep &explainingStep, diagnostic.explainingSteps) {
|
||||||
|
clipboardText += createExplainingStepString(explainingStep,
|
||||||
|
explainingStepNumber++,
|
||||||
|
/*withMarkup=*/ false,
|
||||||
|
/*withAbsolutePath=*/ true) + QLatin1Char('\n');
|
||||||
|
}
|
||||||
|
|
||||||
|
clipboardText.chop(1); // Remove \n
|
||||||
|
return clipboardText;
|
||||||
|
}
|
||||||
|
|
||||||
ClangStaticAnalyzerDiagnosticView::ClangStaticAnalyzerDiagnosticView(QWidget *parent)
|
ClangStaticAnalyzerDiagnosticView::ClangStaticAnalyzerDiagnosticView(QWidget *parent)
|
||||||
: Analyzer::DetailedErrorView(parent)
|
: Analyzer::DetailedErrorView(parent)
|
||||||
{
|
{
|
||||||
ClangStaticAnalyzerDiagnosticDelegate *delegate
|
ClangStaticAnalyzerDiagnosticDelegate *delegate
|
||||||
= new ClangStaticAnalyzerDiagnosticDelegate(this);
|
= new ClangStaticAnalyzerDiagnosticDelegate(this);
|
||||||
setItemDelegate(delegate);
|
setItemDelegate(delegate);
|
||||||
|
|
||||||
m_copyAction = new QAction(this);
|
|
||||||
m_copyAction->setText(tr("Copy"));
|
|
||||||
m_copyAction->setIcon(QIcon(QLatin1String(Core::Constants::ICON_COPY)));
|
|
||||||
m_copyAction->setShortcut(QKeySequence(Qt::CTRL + Qt::Key_C));
|
|
||||||
m_copyAction->setShortcutContext(Qt::WidgetWithChildrenShortcut);
|
|
||||||
connect(m_copyAction, &QAction::triggered,
|
|
||||||
delegate, &ClangStaticAnalyzerDiagnosticDelegate::copy);
|
|
||||||
addAction(m_copyAction);
|
|
||||||
}
|
|
||||||
|
|
||||||
void ClangStaticAnalyzerDiagnosticView::contextMenuEvent(QContextMenuEvent *e)
|
|
||||||
{
|
|
||||||
if (selectionModel()->selectedRows().isEmpty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
QMenu menu;
|
|
||||||
menu.addAction(m_copyAction);
|
|
||||||
menu.exec(e->globalPos());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
@@ -30,11 +30,6 @@ class ClangStaticAnalyzerDiagnosticView : public Analyzer::DetailedErrorView
|
|||||||
|
|
||||||
public:
|
public:
|
||||||
ClangStaticAnalyzerDiagnosticView(QWidget *parent = 0);
|
ClangStaticAnalyzerDiagnosticView(QWidget *parent = 0);
|
||||||
|
|
||||||
private:
|
|
||||||
void contextMenuEvent(QContextMenuEvent *e);
|
|
||||||
|
|
||||||
QAction *m_copyAction;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
class ClangStaticAnalyzerDiagnosticDelegate : public Analyzer::DetailedErrorDelegate
|
class ClangStaticAnalyzerDiagnosticDelegate : public Analyzer::DetailedErrorDelegate
|
||||||
@@ -43,11 +38,11 @@ public:
|
|||||||
ClangStaticAnalyzerDiagnosticDelegate(QListView *parent);
|
ClangStaticAnalyzerDiagnosticDelegate(QListView *parent);
|
||||||
|
|
||||||
SummaryLineInfo summaryInfo(const QModelIndex &index) const;
|
SummaryLineInfo summaryInfo(const QModelIndex &index) const;
|
||||||
void copy();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QWidget *createDetailsWidget(const QFont &font, const QModelIndex &index,
|
QWidget *createDetailsWidget(const QFont &font, const QModelIndex &index,
|
||||||
QWidget *parent) const;
|
QWidget *parent) const;
|
||||||
|
QString textualRepresentation() const Q_DECL_OVERRIDE;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
Reference in New Issue
Block a user