diff options
author | Gerald Combs <gerald@wireshark.org> | 2012-07-31 20:00:25 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2012-07-31 20:00:25 +0000 |
commit | d44f940aaffa9475ce4ee7dc983be0e45974ca55 (patch) | |
tree | 087481d966fe659876c07d2b04e7f0d008527d0b /ui/qt/main_status_bar.cpp | |
parent | d229d813d0ccd0706e44c14c604f39452dee2b3c (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.cpp | 56 |
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() { |