From 34e88d2829cb36cfd89746d3293c1dd44bf4a1a7 Mon Sep 17 00:00:00 2001 From: Thilo Graf Date: Sun, 30 Nov 2014 00:21:46 +0100 Subject: [PATCH] CProgressWindow: add member showStatus() This displays only one progress bar instead two and shows the global status. That's senseful , if only one progress bar is required. Origin commit data ------------------ Branch: ni/coolstream Commit: https://github.com/neutrino-images/ni-neutrino/commit/7e084c2531423aa03969cbd706d315c6284a0975 Author: Thilo Graf Date: 2014-11-30 (Sun, 30 Nov 2014) Origin message was: ------------------ CProgressWindow: add member showStatus() This displays only one progress bar instead two and shows the global status. That's senseful , if only one progress bar is required. ------------------ This commit was generated by Migit --- src/gui/widget/progresswindow.cpp | 17 +++++++++++++++++ src/gui/widget/progresswindow.h | 9 +++++---- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/src/gui/widget/progresswindow.cpp b/src/gui/widget/progresswindow.cpp index 7ae089877..9bbb4670d 100644 --- a/src/gui/widget/progresswindow.cpp +++ b/src/gui/widget/progresswindow.cpp @@ -62,6 +62,7 @@ void CProgressWindow::Init() //create local_bar object local_bar = new CProgressBar(); + local_bar->allowPaint(false); local_bar->setDimensionsAll(x_item, y_item, w_item, h_pbar); local_bar->setColorBody(col_body); local_bar->setActiveColor(COL_MENUCONTENT_PLUS_7); @@ -72,6 +73,7 @@ void CProgressWindow::Init() //create global_bar object global_bar = new CProgressBar(); + global_bar->allowPaint(false); global_bar->setDimensionsAll(x_item, y_item, w_item, h_pbar); global_bar->setColorBody(col_body); global_bar->setActiveColor(COL_MENUCONTENT_PLUS_7); @@ -94,12 +96,26 @@ void CProgressWindow::setTitle(const neutrino_locale_t title) #endif // VFD_UPDATE } +void CProgressWindow::showStatus(const unsigned int prog) +{ + if (global_progress == prog) + return; + + if (!global_bar->isPainted()){ + int g_height = global_bar->getHeight(); + global_bar->setYPos(local_bar->getYPos() + g_height/2); + global_bar->setHeight(g_height + g_height/2); + } + + showGlobalStatus(prog); +} void CProgressWindow::showGlobalStatus(const unsigned int prog) { if (global_progress == prog) return; + global_bar->allowPaint(true); global_progress = prog; global_bar->setValues(prog, 100); global_bar->paint(false); @@ -114,6 +130,7 @@ void CProgressWindow::showLocalStatus(const unsigned int prog) if (local_progress == prog) return; + local_bar->allowPaint(true); local_progress = prog; local_bar->setValues(prog, 100); local_bar->paint(false); diff --git a/src/gui/widget/progresswindow.h b/src/gui/widget/progresswindow.h index 42cbbf32a..6901cb79b 100644 --- a/src/gui/widget/progresswindow.h +++ b/src/gui/widget/progresswindow.h @@ -48,10 +48,11 @@ class CProgressWindow : public CComponentsWindow, public CMenuTarget virtual int exec( CMenuTarget* parent, const std::string & actionKey ); - virtual void showGlobalStatus(const unsigned int prog); - virtual unsigned int getGlobalStatus(void); - virtual void showLocalStatus(const unsigned int prog); - virtual void showStatusMessageUTF(const std::string & text); // UTF-8 + void showStatus(const unsigned int prog); + void showGlobalStatus(const unsigned int prog); + unsigned int getGlobalStatus(void); + void showLocalStatus(const unsigned int prog); + void showStatusMessageUTF(const std::string & text); // UTF-8 };