aboutsummaryrefslogtreecommitdiff
path: root/src/Screen.cc
diff options
context:
space:
mode:
authorMathias Gumz <akira@fluxbox.org>2015-01-16 07:39:05 (GMT)
committerMathias Gumz <akira@fluxbox.org>2015-01-16 07:39:05 (GMT)
commit6d5781ce7198a8a82fd0cae8554e4c120d01df3d (patch)
tree265fd89d382dcf6d9a8e2ea84813db0332aa83cd /src/Screen.cc
parentb4958780650cfab97d4dc694a34c0c77bf99b26d (diff)
downloadfluxbox-6d5781ce7198a8a82fd0cae8554e4c120d01df3d.zip
fluxbox-6d5781ce7198a8a82fd0cae8554e4c120d01df3d.tar.bz2
Refactor: move some menu-creation functions to MenuCreator
Another patch to trim down the code that needs to be part of BScreen
Diffstat (limited to 'src/Screen.cc')
-rw-r--r--src/Screen.cc26
1 files changed, 4 insertions, 22 deletions
diff --git a/src/Screen.cc b/src/Screen.cc
index 5e7ca8b..296fec0 100644
--- a/src/Screen.cc
+++ b/src/Screen.cc
@@ -359,17 +359,17 @@ BScreen::BScreen(FbTk::ResourceManager &rm,
359 359
360 m_current_workspace = m_workspaces_list.front(); 360 m_current_workspace = m_workspaces_list.front();
361 361
362 m_windowmenu.reset(createMenu("")); 362 m_windowmenu.reset(MenuCreator::createMenu("", *this));
363 m_windowmenu->setInternalMenu(); 363 m_windowmenu->setInternalMenu();
364 m_windowmenu->setReloadHelper(new FbTk::AutoReloadHelper()); 364 m_windowmenu->setReloadHelper(new FbTk::AutoReloadHelper());
365 m_windowmenu->reloadHelper()->setReloadCmd(FbTk::RefCount<FbTk::Command<void> >(new FbTk::SimpleCommand<BScreen>(*this, &BScreen::rereadWindowMenu))); 365 m_windowmenu->reloadHelper()->setReloadCmd(FbTk::RefCount<FbTk::Command<void> >(new FbTk::SimpleCommand<BScreen>(*this, &BScreen::rereadWindowMenu)));
366 366
367 m_rootmenu.reset(createMenu("")); 367 m_rootmenu.reset(MenuCreator::createMenu("", *this));
368 m_rootmenu->setReloadHelper(new FbTk::AutoReloadHelper()); 368 m_rootmenu->setReloadHelper(new FbTk::AutoReloadHelper());
369 m_rootmenu->reloadHelper()->setReloadCmd(FbTk::RefCount<FbTk::Command<void> >(new FbTk::SimpleCommand<BScreen>(*this, &BScreen::rereadMenu))); 369 m_rootmenu->reloadHelper()->setReloadCmd(FbTk::RefCount<FbTk::Command<void> >(new FbTk::SimpleCommand<BScreen>(*this, &BScreen::rereadMenu)));
370 370
371 m_configmenu.reset(createMenu(_FB_XTEXT(Menu, Configuration, 371 m_configmenu.reset(MenuCreator::createMenu(_FB_XTEXT(Menu, Configuration,
372 "Configuration", "Title of configuration menu"))); 372 "Configuration", "Title of configuration menu"), *this));
373 setupConfigmenu(*m_configmenu.get()); 373 setupConfigmenu(*m_configmenu.get());
374 m_configmenu->setInternalMenu(); 374 m_configmenu->setInternalMenu();
375 375
@@ -745,24 +745,6 @@ void BScreen::cycleFocus(int options, const ClientPattern *pat, bool reverse) {
745 745
746} 746}
747 747
748FbMenu *BScreen::createMenu(const string &label) {
749 FbTk::Layer* layer = layerManager().getLayer(ResourceLayer::MENU);
750 FbMenu *menu = new FbMenu(menuTheme(), imageControl(), *layer);
751 if (!label.empty())
752 menu->setLabel(label);
753
754 return menu;
755}
756
757FbMenu *BScreen::createToggleMenu(const string &label) {
758 FbTk::Layer* layer = layerManager().getLayer(ResourceLayer::MENU);
759 FbMenu *menu = new ToggleMenu(menuTheme(), imageControl(), *layer);
760 if (!label.empty())
761 menu->setLabel(label);
762
763 return menu;
764}
765
766void BScreen::addExtraWindowMenu(const FbTk::FbString &label, FbTk::Menu *menu) { 748void BScreen::addExtraWindowMenu(const FbTk::FbString &label, FbTk::Menu *menu) {
767 menu->setInternalMenu(); 749 menu->setInternalMenu();
768 menu->disableTitle(); 750 menu->disableTitle();