From 863ef6dc13fb3a7fb434ce173a84253f0c4559c5 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 6 Feb 2013 00:08:38 +0300 Subject: Allow hide yellow bar. By default in new configurations yellow bar is hidden. --- src/gui/ministatuswindow.cpp | 4 +++- src/gui/popupmenu.cpp | 22 +++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) (limited to 'src/gui') diff --git a/src/gui/ministatuswindow.cpp b/src/gui/ministatuswindow.cpp index 5e4559c9c..70ebe7e01 100644 --- a/src/gui/ministatuswindow.cpp +++ b/src/gui/ministatuswindow.cpp @@ -436,13 +436,15 @@ void MiniStatusWindow::loadBars() mMoneyBar->setVisible(false); if (mArrowsBar) mArrowsBar->setVisible(false); + if (mStatusBar) + mStatusBar->setVisible(false); return; } for (int f = 0; f < 10; f ++) { std::string str = config.getValue("ministatus" + toString(f), ""); - if (str == "" || str == "status bar") + if (str == "") continue; ProgressBar *const bar = mBarNames[str]; if (!bar) diff --git a/src/gui/popupmenu.cpp b/src/gui/popupmenu.cpp index 6bd384132..e80158227 100644 --- a/src/gui/popupmenu.cpp +++ b/src/gui/popupmenu.cpp @@ -1951,11 +1951,31 @@ void PopupMenu::showPopup(const int x, const int y, const ProgressBar *const b) mBrowserBox->clearRows(); std::vector bars = miniStatusWindow->getBars(); + ProgressBar *onlyBar = nullptr; + int cnt = 0; + + // search for alone visible bar + for (std::vector ::const_iterator it = bars.begin(), + it_end = bars.end(); it != it_end; ++it) + { + ProgressBar *const bar = *it; + if (!bar) + continue; + + if (bar->isVisible()) + { + cnt ++; + onlyBar = bar; + } + } + if (cnt > 1) + onlyBar = nullptr; + for (std::vector ::const_iterator it = bars.begin(), it_end = bars.end(); it != it_end; ++it) { ProgressBar *const bar = *it; - if (!bar || bar->getActionEventId() == "status bar") + if (!bar || bar == onlyBar) continue; if (bar->isVisible()) -- cgit v1.2.3-70-g09d2