diff options
Diffstat (limited to 'browserGrid.cpp')
-rw-r--r-- | browserGrid.cpp | 71 |
1 files changed, 5 insertions, 66 deletions
diff --git a/browserGrid.cpp b/browserGrid.cpp index 8cebb83..d4cde96 100644 --- a/browserGrid.cpp +++ b/browserGrid.cpp @@ -7,7 +7,11 @@ #include "pictureCache.h" #include "tokendefinitions.h" -cBrowserGrid::cBrowserGrid(std::shared_ptr<skindesignerapi::cOsdView> rootView) : cViewGridNavigator(rootView) { +cBrowserGrid::cBrowserGrid(std::shared_ptr<skindesignerapi::cOsdView> rootView) + : cViewGridNavigator(rootView, std::shared_ptr<skindesignerapi::cViewElement>( + rootView->GetViewElement((int) eViewElementsRoot::scrollbar))), + cSdClock(std::shared_ptr<skindesignerapi::cViewElement>( + rootView->GetViewElement((int) eViewElementsRoot::watch))) { m_pBackground = std::shared_ptr<skindesignerapi::cViewElement>( rootView->GetViewElement((int) eViewElementsRoot::background)); m_pHeader = std::shared_ptr<skindesignerapi::cViewElement>( @@ -16,10 +20,6 @@ cBrowserGrid::cBrowserGrid(std::shared_ptr<skindesignerapi::cOsdView> rootView) rootView->GetViewElement((int) eViewElementsRoot::footer)); m_pInfopane = std::shared_ptr<skindesignerapi::cViewElement>( rootView->GetViewElement((int) eViewElementsRoot::infopane)); - m_pWatch = std::shared_ptr<skindesignerapi::cViewElement>(rootView->GetViewElement((int) eViewElementsRoot::watch)); - m_pScrollbar = std::shared_ptr<skindesignerapi::cViewElement>( - rootView->GetViewElement((int) eViewElementsRoot::scrollbar)); - m_lastsecond = 0; m_pService = NULL; m_pContainer = NULL; @@ -347,30 +347,6 @@ void cBrowserGrid::DrawFooter() { m_pfooter->Display(); } -void cBrowserGrid::DrawScrollbar() { - m_pScrollbar->Clear(); - m_pScrollbar->ClearTokens(); - - if ((int) m_vElements.size() > (m_columns * m_rows)) { - int currentRow = SelectedObject()->AbsolutePosition / m_columns; - int totalRows = ceil((double) m_vElements.size() / m_columns); - - int scrollBarHeight = 100.0 / totalRows * m_rows; - - int offset = 100.0 / totalRows * currentRow; - if (offset >= 100 - scrollBarHeight) { - offset = 100.0 - scrollBarHeight; - } - m_pScrollbar->AddIntToken((int) eTokenScrollbarInt::height, scrollBarHeight); - m_pScrollbar->AddIntToken((int) eTokenScrollbarInt::offset, offset); - m_pScrollbar->AddIntToken((int) eTokenScrollbarInt::hasscrollbar, true); - } else { - m_pScrollbar->AddIntToken((int) eTokenScrollbarInt::hasscrollbar, false); - } - - m_pScrollbar->Display(); -} - void cBrowserGrid::NextTab() { m_viewEntryIndex++; if (m_viewEntryIndex > (int) Config::GetInstance().m_viewentries.size()) { @@ -387,43 +363,6 @@ void cBrowserGrid::PrevTab() { SwitchGrid(m_viewEntryIndex); } -bool cBrowserGrid::DrawTime() { - time_t t = time(0); // get time now - struct tm *now = localtime(&t); - int sec = now->tm_sec; - if (sec == m_lastsecond) - return false; - - int min = now->tm_min; - int hour = now->tm_hour; - int hourMinutes = hour % 12 * 5 + min / 12; - - char monthname[20]; - char monthshort[10]; - strftime(monthshort, sizeof(monthshort), "%b", now); - strftime(monthname, sizeof(monthname), "%B", now); - - m_pWatch->Clear(); - m_pWatch->ClearTokens(); - m_pWatch->AddIntToken((int) eTokenTimeInt::sec, sec); - m_pWatch->AddIntToken((int) eTokenTimeInt::min, min); - m_pWatch->AddIntToken((int) eTokenTimeInt::hour, hour); - m_pWatch->AddIntToken((int) eTokenTimeInt::hmins, hourMinutes); - m_pWatch->AddIntToken((int) eTokenTimeInt::year, now->tm_year + 1900); - m_pWatch->AddIntToken((int) eTokenTimeInt::day, now->tm_mday); - m_pWatch->AddStringToken((int) eTokenTimeStr::time, *TimeString(t)); - m_pWatch->AddStringToken((int) eTokenTimeStr::monthname, monthname); - m_pWatch->AddStringToken((int) eTokenTimeStr::monthnameshort, monthshort); - m_pWatch->AddStringToken((int) eTokenTimeStr::month, *cString::sprintf("%02d", now->tm_mon + 1)); - m_pWatch->AddStringToken((int) eTokenTimeStr::dayleadingzero, *cString::sprintf("%02d", now->tm_mday)); - m_pWatch->AddStringToken((int) eTokenTimeStr::dayname, *WeekDayNameFull(now->tm_wday)); - m_pWatch->AddStringToken((int) eTokenTimeStr::daynameshort, *WeekDayName(now->tm_wday)); - m_pWatch->Display(); - - m_lastsecond = sec; - return true; -} - /* * cDummyElement */ |