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 is contained in:
2014-11-30 00:21:46 +01:00
parent 663c7deef2
commit 7e084c2531
2 changed files with 22 additions and 4 deletions

View File

@@ -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);