GUI: Improved handling of inconclusive messages (#3815)
- Moved setting from "Advanced" to "General" tab -> Moved remaining single item, too, as it does not make sense to keep a tab for a single option. This option is now shown at the bottom of the dialog - Replaced [inconclusive] string in "Summary" Column by extra column "Inconclusive", which is only visible if inconclusive checking is enabled
This commit is contained in:
parent
46bfa62aad
commit
dfe61f415d
|
@ -772,7 +772,8 @@ void MainWindow::ProgramSettings()
|
||||||
dialog.SaveFullPath(),
|
dialog.SaveFullPath(),
|
||||||
dialog.SaveAllErrors(),
|
dialog.SaveAllErrors(),
|
||||||
dialog.ShowNoErrorsMessage(),
|
dialog.ShowNoErrorsMessage(),
|
||||||
dialog.ShowErrorId());
|
dialog.ShowErrorId(),
|
||||||
|
dialog.ShowInconclusive());
|
||||||
const QString newLang = mSettings->value(SETTINGS_LANGUAGE, "en").toString();
|
const QString newLang = mSettings->value(SETTINGS_LANGUAGE, "en").toString();
|
||||||
SetLanguage(newLang);
|
SetLanguage(newLang);
|
||||||
}
|
}
|
||||||
|
|
|
@ -82,6 +82,15 @@ QStandardItem *ResultsTree::CreateNormalItem(const QString &name)
|
||||||
return item;
|
return item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QStandardItem *ResultsTree::CreateCheckboxItem(bool checked)
|
||||||
|
{
|
||||||
|
QStandardItem *item = new QStandardItem;
|
||||||
|
item->setCheckable(true);
|
||||||
|
item->setCheckState(checked ? Qt::Checked : Qt::Unchecked);
|
||||||
|
item->setEnabled(false);
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
QStandardItem *ResultsTree::CreateLineNumberItem(const QString &linenumber)
|
QStandardItem *ResultsTree::CreateLineNumberItem(const QString &linenumber)
|
||||||
{
|
{
|
||||||
QStandardItem *item = new QStandardItem();
|
QStandardItem *item = new QStandardItem();
|
||||||
|
@ -201,15 +210,10 @@ QStandardItem *ResultsTree::AddBacktraceFiles(QStandardItem *parent,
|
||||||
list << CreateNormalItem(severity);
|
list << CreateNormalItem(severity);
|
||||||
list << CreateLineNumberItem(QString("%1").arg(item.line));
|
list << CreateLineNumberItem(QString("%1").arg(item.line));
|
||||||
list << CreateNormalItem(item.errorId);
|
list << CreateNormalItem(item.errorId);
|
||||||
|
list << CreateCheckboxItem(item.inconclusive);
|
||||||
//TODO message has parameter names so we'll need changes to the core
|
//TODO message has parameter names so we'll need changes to the core
|
||||||
//cppcheck so we can get proper translations
|
//cppcheck so we can get proper translations
|
||||||
QString summary;
|
list << CreateNormalItem(item.summary.toLatin1());
|
||||||
if (item.inconclusive) {
|
|
||||||
summary = tr("[Inconclusive]");
|
|
||||||
summary += " ";
|
|
||||||
}
|
|
||||||
summary += item.summary.toLatin1();
|
|
||||||
list << CreateNormalItem(summary);
|
|
||||||
|
|
||||||
// Check for duplicate rows and don't add them if found
|
// Check for duplicate rows and don't add them if found
|
||||||
for (int i = 0; i < parent->rowCount(); i++) {
|
for (int i = 0; i < parent->rowCount(); i++) {
|
||||||
|
@ -323,6 +327,7 @@ void ResultsTree::LoadSettings()
|
||||||
mShowFullPath = mSettings->value(SETTINGS_SHOW_FULL_PATH, false).toBool();
|
mShowFullPath = mSettings->value(SETTINGS_SHOW_FULL_PATH, false).toBool();
|
||||||
|
|
||||||
ShowIdColumn(mSettings->value(SETTINGS_SHOW_ERROR_ID, false).toBool());
|
ShowIdColumn(mSettings->value(SETTINGS_SHOW_ERROR_ID, false).toBool());
|
||||||
|
ShowInconclusiveColumn(mSettings->value(SETTINGS_INCONCLUSIVE_ERRORS, false).toBool());
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResultsTree::SaveSettings() const
|
void ResultsTree::SaveSettings() const
|
||||||
|
@ -946,7 +951,8 @@ void ResultsTree::SaveErrors(Report *report, QStandardItem *item) const
|
||||||
void ResultsTree::UpdateSettings(bool showFullPath,
|
void ResultsTree::UpdateSettings(bool showFullPath,
|
||||||
bool saveFullPath,
|
bool saveFullPath,
|
||||||
bool saveAllErrors,
|
bool saveAllErrors,
|
||||||
bool showErrorId)
|
bool showErrorId,
|
||||||
|
bool showInconclusive)
|
||||||
{
|
{
|
||||||
if (mShowFullPath != showFullPath) {
|
if (mShowFullPath != showFullPath) {
|
||||||
mShowFullPath = showFullPath;
|
mShowFullPath = showFullPath;
|
||||||
|
@ -957,6 +963,7 @@ void ResultsTree::UpdateSettings(bool showFullPath,
|
||||||
mSaveAllErrors = saveAllErrors;
|
mSaveAllErrors = saveAllErrors;
|
||||||
|
|
||||||
ShowIdColumn(showErrorId);
|
ShowIdColumn(showErrorId);
|
||||||
|
ShowInconclusiveColumn(showInconclusive);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ResultsTree::SetCheckDirectory(const QString &dir)
|
void ResultsTree::SetCheckDirectory(const QString &dir)
|
||||||
|
@ -1056,7 +1063,7 @@ bool ResultsTree::HasResults() const
|
||||||
void ResultsTree::Translate()
|
void ResultsTree::Translate()
|
||||||
{
|
{
|
||||||
QStringList labels;
|
QStringList labels;
|
||||||
labels << tr("File") << tr("Severity") << tr("Line") << tr("Id") << tr("Summary");
|
labels << tr("File") << tr("Severity") << tr("Line") << tr("Id") << tr("Inconclusive") << tr("Summary");
|
||||||
mModel.setHorizontalHeaderLabels(labels);
|
mModel.setHorizontalHeaderLabels(labels);
|
||||||
//TODO go through all the errors in the tree and translate severity and message
|
//TODO go through all the errors in the tree and translate severity and message
|
||||||
}
|
}
|
||||||
|
@ -1070,6 +1077,14 @@ void ResultsTree::ShowIdColumn(bool show)
|
||||||
hideColumn(3);
|
hideColumn(3);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ResultsTree::ShowInconclusiveColumn(bool show)
|
||||||
|
{
|
||||||
|
if (show)
|
||||||
|
showColumn(4);
|
||||||
|
else
|
||||||
|
hideColumn(4);
|
||||||
|
}
|
||||||
|
|
||||||
void ResultsTree::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
|
void ResultsTree::currentChanged(const QModelIndex ¤t, const QModelIndex &previous)
|
||||||
{
|
{
|
||||||
QTreeView::currentChanged(current, previous);
|
QTreeView::currentChanged(current, previous);
|
||||||
|
|
|
@ -104,8 +104,9 @@ public:
|
||||||
* @param saveFullPath Save full path of files in reports
|
* @param saveFullPath Save full path of files in reports
|
||||||
* @param saveAllErrors Save all visible errors
|
* @param saveAllErrors Save all visible errors
|
||||||
* @param showErrorId Show error id
|
* @param showErrorId Show error id
|
||||||
|
* @param showInconclusive Show inconclusive column
|
||||||
*/
|
*/
|
||||||
void UpdateSettings(bool showFullPath, bool saveFullPath, bool saveAllErrors, bool showErrorId);
|
void UpdateSettings(bool showFullPath, bool saveFullPath, bool saveAllErrors, bool showErrorId, bool showInconclusive);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the directory we are checking
|
* @brief Set the directory we are checking
|
||||||
|
@ -144,6 +145,11 @@ public:
|
||||||
*/
|
*/
|
||||||
void ShowIdColumn(bool show);
|
void ShowIdColumn(bool show);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Show optional column "Inconclusve"
|
||||||
|
*/
|
||||||
|
void ShowInconclusiveColumn(bool show);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Returns true if column "Id" is shown
|
* @brief Returns true if column "Id" is shown
|
||||||
*/
|
*/
|
||||||
|
@ -358,6 +364,15 @@ protected:
|
||||||
*/
|
*/
|
||||||
static QStandardItem *CreateNormalItem(const QString &name);
|
static QStandardItem *CreateNormalItem(const QString &name);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Create new normal item.
|
||||||
|
*
|
||||||
|
* Normal item has left alignment and text set also as tooltip.
|
||||||
|
* @param checked checked
|
||||||
|
* @return new QStandardItem
|
||||||
|
*/
|
||||||
|
static QStandardItem *CreateCheckboxItem(bool checked);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Create new line number item.
|
* @brief Create new line number item.
|
||||||
*
|
*
|
||||||
|
|
|
@ -222,9 +222,10 @@ void ResultsView::UpdateSettings(bool showFullPath,
|
||||||
bool saveFullPath,
|
bool saveFullPath,
|
||||||
bool saveAllErrors,
|
bool saveAllErrors,
|
||||||
bool showNoErrorsMessage,
|
bool showNoErrorsMessage,
|
||||||
bool showErrorId)
|
bool showErrorId,
|
||||||
|
bool showInconclusive)
|
||||||
{
|
{
|
||||||
mUI.mTree->UpdateSettings(showFullPath, saveFullPath, saveAllErrors, showErrorId);
|
mUI.mTree->UpdateSettings(showFullPath, saveFullPath, saveAllErrors, showErrorId, showInconclusive);
|
||||||
mShowNoErrorsMessage = showNoErrorsMessage;
|
mShowNoErrorsMessage = showNoErrorsMessage;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -84,12 +84,14 @@ public:
|
||||||
* @param saveAllErrors Save all visible errors
|
* @param saveAllErrors Save all visible errors
|
||||||
* @param showNoErrorsMessage Show "no errors"?
|
* @param showNoErrorsMessage Show "no errors"?
|
||||||
* @param showErrorId Show error id?
|
* @param showErrorId Show error id?
|
||||||
|
* @param showInconclusive Show inconclusive?
|
||||||
*/
|
*/
|
||||||
void UpdateSettings(bool showFullPath,
|
void UpdateSettings(bool showFullPath,
|
||||||
bool saveFullPath,
|
bool saveFullPath,
|
||||||
bool saveAllErrors,
|
bool saveAllErrors,
|
||||||
bool showNoErrorsMessage,
|
bool showNoErrorsMessage,
|
||||||
bool showErrorId);
|
bool showErrorId,
|
||||||
|
bool showInconclusive);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Set the directory we are checking
|
* @brief Set the directory we are checking
|
||||||
|
|
|
@ -143,6 +143,13 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mEnableInconclusive">
|
||||||
|
<property name="text">
|
||||||
|
<string>Check for inconclusive errors also</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_2">
|
<spacer name="verticalSpacer_2">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
@ -156,6 +163,13 @@
|
||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="mShowDebugWarnings">
|
||||||
|
<property name="text">
|
||||||
|
<string>Show internal warnings in log</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab_5">
|
<widget class="QWidget" name="tab_5">
|
||||||
|
@ -324,40 +338,6 @@
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
<widget class="QWidget" name="tab_6">
|
|
||||||
<attribute name="title">
|
|
||||||
<string>Advanced</string>
|
|
||||||
</attribute>
|
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_8">
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="mEnableInconclusive">
|
|
||||||
<property name="text">
|
|
||||||
<string>&Show inconclusive errors</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<widget class="QCheckBox" name="mShowDebugWarnings">
|
|
||||||
<property name="text">
|
|
||||||
<string>S&how internal warnings in log</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<spacer name="verticalSpacer_5">
|
|
||||||
<property name="orientation">
|
|
||||||
<enum>Qt::Vertical</enum>
|
|
||||||
</property>
|
|
||||||
<property name="sizeHint" stdset="0">
|
|
||||||
<size>
|
|
||||||
<width>20</width>
|
|
||||||
<height>40</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
|
||||||
</layout>
|
|
||||||
</widget>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
|
|
|
@ -308,6 +308,11 @@ bool SettingsDialog::ShowErrorId() const
|
||||||
return CheckStateToBool(mUI.mShowErrorId->checkState());
|
return CheckStateToBool(mUI.mShowErrorId->checkState());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool SettingsDialog::ShowInconclusive() const
|
||||||
|
{
|
||||||
|
return CheckStateToBool(mUI.mEnableInconclusive->checkState());
|
||||||
|
}
|
||||||
|
|
||||||
void SettingsDialog::AddIncludePath()
|
void SettingsDialog::AddIncludePath()
|
||||||
{
|
{
|
||||||
QString selectedDir = QFileDialog::getExistingDirectory(this,
|
QString selectedDir = QFileDialog::getExistingDirectory(this,
|
||||||
|
|
|
@ -78,6 +78,14 @@ public:
|
||||||
*/
|
*/
|
||||||
bool ShowErrorId() const;
|
bool ShowErrorId() const;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Get checkbox value for mEnableInconclusive
|
||||||
|
*
|
||||||
|
* @return Should inconclusive column be displayed
|
||||||
|
*/
|
||||||
|
bool ShowInconclusive() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Get checkbox value for mSaveAllErrors
|
* @brief Get checkbox value for mSaveAllErrors
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue