/** \brief Creates a themed menu. * * \param menufile file name of menu definition file * \param parent the screen stack that owns this UI type * \param name the name of this UI type * \param state theme state associated with this menu */ MythThemedMenu::MythThemedMenu(const QString &cdir, const QString &menufile, MythScreenStack *parent, const QString &name, bool allowreorder, MythThemedMenuState *state) : MythThemedMenuState(parent, name), m_state(state), m_allocedstate(false), m_foundtheme(false), m_ignorekeys(false), m_wantpop(false), m_menuPopup(NULL) { if (!m_state) { m_state = new MythThemedMenuState(parent, "themedmenustate"); m_allocedstate = true; } SetMenuTheme(menufile); }
void CMainFrame::ChooseColor(UINT nColor) { m_nColor = nColor; switch (nColor) { case IDM_MODERN: { SetReBarColors( RGB(225, 230, 255), RGB(240, 242, 250), RGB(248, 248, 248), RGB(180, 200, 230) ); StatusBarTheme sbt = {TRUE, RGB(225, 230, 255), RGB(240, 242, 250)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(180, 250, 255), RGB(140, 190, 255), RGB(150, 220, 255), RGB(80, 100, 255), RGB(127, 127, 255)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(180, 250, 255), RGB(140, 190, 255), RGB(240, 250, 255), RGB(120, 170, 220), RGB(127, 127, 255)}; SetMenuTheme(&mt); } break; case IDM_BLUE: // ICY_BLUE Theme { SetReBarColors( RGB(150,190,245), RGB(196,215,250), RGB(220,230,250), RGB( 70,130,220) ); StatusBarTheme sbt = {TRUE, RGB(150,190,245), RGB(196,215,250)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(255, 230, 190), RGB(255, 190, 100), RGB(255, 140, 40), RGB(255, 180, 80), RGB(128, 128, 255)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(255, 230, 190), RGB(255, 190, 100), RGB(150,190,245), RGB(220,230,250), RGB(128, 128, 200)}; SetMenuTheme(&mt); } break; case IDM_GREY: // Grey Theme { SetReBarColors( RGB(210, 210, 200), RGB(238, 236, 224), RGB(248, 247, 243), RGB(195, 195, 172) ); StatusBarTheme sbt = {TRUE, RGB(210, 210, 200), RGB(238, 236, 224)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(192, 210, 238), RGB(192, 210, 238), RGB(152, 181, 226), RGB(152, 181, 226), RGB(49, 106, 197)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(196, 215, 250), RGB( 120, 180, 220), RGB(210, 210, 200), RGB(248, 247, 243), RGB(128, 128, 200)}; SetMenuTheme(&mt); } break; case IDM_OLIVE: { SetReBarColors( RGB(160, 180, 80), RGB(180, 200, 100), RGB(200, 220, 120), RGB(80, 159, 78) ); StatusBarTheme sbt = {TRUE, RGB(160, 180, 80), RGB(180, 200, 100)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(255, 230, 190), RGB(255, 190, 100), RGB(255, 140, 40), RGB(255, 180, 80), RGB(128, 128, 255)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(255, 200, 190), RGB(255, 210, 90), RGB(255, 230, 190), RGB(230, 160, 190), RGB(128, 128, 128)}; SetMenuTheme(&mt); } break; case IDM_GOLD: { SetReBarColors( RGB(230, 180, 0), RGB(240, 210, 90), RGB(255, 240, 150), RGB(180, 140, 50) ); StatusBarTheme sbt = {TRUE, RGB(230, 180, 0), RGB(240, 210, 90)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(192, 210, 238), RGB(192, 210, 238), RGB(152, 181, 226), RGB(152, 181, 226), RGB(49, 106, 197)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(196, 215, 250), RGB( 120, 180, 220), RGB(240, 210, 90), RGB(255, 240, 150), RGB(128, 128, 128)}; SetMenuTheme(&mt); } break; case IDM_OCHRE: { SetReBarColors( RGB(248, 132, 12), RGB(248, 198, 10), RGB(248, 210, 20), RGB(248, 141, 6) ); StatusBarTheme sbt = {TRUE, RGB(248, 132, 12), RGB(248, 198, 10)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(192, 210, 238), RGB(192, 210, 238), RGB(152, 181, 226), RGB(152, 181, 226), RGB(49, 106, 197)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(196, 215, 250), RGB( 120, 180, 220), RGB(150,190,245), RGB(220,230,250), RGB(128, 128, 128)}; SetMenuTheme(&mt); } break; case IDM_PINK: { SetReBarColors( RGB(255, 130, 190), RGB(250, 205, 235), RGB(250, 205, 235), RGB(255, 120, 170) ); StatusBarTheme sbt = {TRUE, RGB(255, 130, 190), RGB(250, 205, 235)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(192, 210, 238), RGB(192, 210, 238), RGB(248, 147, 220), RGB(248, 153, 179), RGB(49, 106, 197)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(196, 215, 250), RGB( 120, 180, 220), RGB(255, 130, 190), RGB(250, 205, 235), RGB(128, 128, 128)}; SetMenuTheme(&mt); } break; case IDM_MAUVE: { SetReBarColors( RGB(210, 128, 155), RGB(230, 160, 190), RGB(230, 158, 188), RGB(110, 100, 125) ); StatusBarTheme sbt = {TRUE, RGB(210, 128, 155), RGB(230, 160, 190)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(192, 210, 238), RGB(192, 210, 238), RGB(152, 181, 226), RGB(152, 181, 226), RGB(49, 106, 197)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(196, 215, 250), RGB( 120, 180, 220), RGB(150,190,245), RGB(220,230,250), RGB(128, 128, 128)}; SetMenuTheme(&mt); } break; case IDM_BLACK: { SetReBarColors( RGB(128, 138 ,176), RGB(98, 108 ,136), RGB(77, 87, 97), RGB(7, 17, 27) ); StatusBarTheme sbt = {TRUE, RGB(128, 138 ,176), RGB(98, 108 ,136)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(49, 106, 197), RGB(64,177,230), RGB(27,65, 160), RGB(64,177,230), RGB(49, 106, 197)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(84,197,240), RGB(89, 136, 217), RGB(59, 126, 197), RGB(94,187,230), RGB(128, 128, 128)}; SetMenuTheme(&mt); } break; default: { m_nColor = IDM_MODERN; SetReBarColors( RGB(225, 230, 255), RGB(240, 242, 250), RGB(248, 248, 248), RGB(180, 200, 230) ); StatusBarTheme sbt = {TRUE, RGB(225, 230, 255), RGB(240, 242, 250)}; SetStatusBarTheme (&sbt); ToolBarTheme tbt = {TRUE, RGB(180, 250, 255), RGB(140, 190, 255), RGB(150, 220, 255), RGB(80, 100, 255), RGB(127, 127, 255)}; SetToolBarTheme(&tbt); MenuTheme mt = {TRUE, RGB(180, 250, 255), RGB(140, 190, 255), RGB(240, 250, 255), RGB(120, 170, 220), RGB(127, 127, 255)}; SetMenuTheme(&mt); } break; } // Check the appropriate menu item int nFileItem = GetMenuItemPos(GetFrameMenu(), _T("Theme")); if (nFileItem >= 0) { CMenu* pThemeMenu = GetFrameMenu()->GetSubMenu(nFileItem); pThemeMenu->CheckMenuRadioItem(IDM_BLUE, IDM_MODERN, nColor, 0); } RecalcLayout(); }