aboutsummaryrefslogtreecommitdiffstats
path: root/ui/qt/main_status_bar.cpp
diff options
context:
space:
mode:
authorGerald Combs <gerald@wireshark.org>2012-07-31 20:00:25 +0000
committerGerald Combs <gerald@wireshark.org>2012-07-31 20:00:25 +0000
commitd44f940aaffa9475ce4ee7dc983be0e45974ca55 (patch)
tree087481d966fe659876c07d2b04e7f0d008527d0b /ui/qt/main_status_bar.cpp
parentd229d813d0ccd0706e44c14c604f39452dee2b3c (diff)
Add an expert level indicator. Move a bunch of resources to image/.
svn path=/trunk/; revision=44165
Diffstat (limited to 'ui/qt/main_status_bar.cpp')
-rw-r--r--ui/qt/main_status_bar.cpp56
1 files changed, 55 insertions, 1 deletions
diff --git a/ui/qt/main_status_bar.cpp b/ui/qt/main_status_bar.cpp
index 3667168295..cccad107a7 100644
--- a/ui/qt/main_status_bar.cpp
+++ b/ui/qt/main_status_bar.cpp
@@ -33,6 +33,8 @@
#include "globals.h"
+#include "epan/expert.h"
+
#include "ui/main_statusbar.h"
#include <QSplitter>
@@ -132,7 +134,13 @@ MainStatusBar::MainStatusBar(QWidget *parent) :
QWidget *infoProgress = new QWidget(this);
QHBoxLayout *infoProgressHB = new QHBoxLayout(infoProgress);
+ m_expertStatus.setTextFormat(Qt::RichText);
+ m_expertStatus.hide();
+
+ // XXX Add the comment icon
+
infoProgressHB->setMargin(0);
+ infoProgressHB->setSpacing(0);
infoProgressHB->setContentsMargins(0, 0, 0, 0);
m_progressBar.setStyleSheet(QString(
"ProgressBar {"
@@ -140,10 +148,10 @@ MainStatusBar::MainStatusBar(QWidget *parent) :
" min-height: 0.8em;"
" max-height: 1em;"
"}"));
- // XXX - Add the expert level icon
m_infoStatus.setTemporaryContext(STATUS_CTX_TEMPORARY);
+ infoProgressHB->addWidget(&m_expertStatus);
infoProgressHB->addWidget(&m_infoStatus);
infoProgressHB->addWidget(&m_progressBar);
infoProgressHB->addStretch(10);
@@ -164,6 +172,50 @@ MainStatusBar::MainStatusBar(QWidget *parent) :
packets_bar_update();
}
+void MainStatusBar::showExpert() {
+ expertUpdate();
+}
+
+void MainStatusBar::hideExpert() {
+ m_expertStatus.hide();
+}
+
+void MainStatusBar::expertUpdate() {
+ QString imgText = "<img src=\":/expert/expert_";
+ QString ttText = " is the highest expert info level";
+
+ switch(expert_get_highest_severity()) {
+ case(PI_ERROR):
+ imgText.append("error");
+ ttText.prepend("ERROR");
+ break;
+ case(PI_WARN):
+ imgText.append("warn");
+ ttText.prepend("WARNING");
+ break;
+ case(PI_NOTE):
+ imgText.append("note");
+ ttText.prepend("NOTE");
+ break;
+ case(PI_CHAT):
+ imgText.append("chat");
+ ttText.prepend("CHAT");
+ break;
+// case(PI_COMMENT):
+// m_expertStatus.setText("<img src=\":/expert/expert_comment.png\"></img>");
+// break;
+ default:
+ imgText.append("none");
+ ttText = "No expert info";
+ break;
+ }
+
+ imgText.append(".png\"></img>");
+ m_expertStatus.setText(imgText);
+ m_expertStatus.setToolTip(ttText);
+ m_expertStatus.show();
+}
+
void MainStatusBar::pushTemporaryStatus(QString &message) {
m_infoStatus.pushText(message, STATUS_CTX_TEMPORARY);
}
@@ -174,6 +226,7 @@ void MainStatusBar::popTemporaryStatus() {
void MainStatusBar::pushFileStatus(QString &message) {
m_infoStatus.pushText(message, STATUS_CTX_FILE);
+ expertUpdate();
}
void MainStatusBar::popFileStatus() {
@@ -190,6 +243,7 @@ void MainStatusBar::popFieldStatus() {
void MainStatusBar::pushFilterStatus(QString &message) {
m_infoStatus.pushText(message, STATUS_CTX_FILTER);
+ expertUpdate();
}
void MainStatusBar::popFilterStatus() {