aboutsummaryrefslogtreecommitdiff
path: root/src/ToolFactory.cc
diff options
context:
space:
mode:
authorSoeren Beye <soeren at soerenbeye dot de>2013-02-27 08:44:49 (GMT)
committerMathias Gumz <akira at fluxbox dot org>2013-02-27 08:46:47 (GMT)
commit0810d7db5e87d9541daabac98a4b8b2d0f431b69 (patch)
treead26bb6f246de352422c6b1c3bc55588aeca920e /src/ToolFactory.cc
parentec7fe513c8ca241836fab4632fc56faedd0f1863 (diff)
downloadfluxbox-0810d7db5e87d9541daabac98a4b8b2d0f431b69.zip
fluxbox-0810d7db5e87d9541daabac98a4b8b2d0f431b69.tar.bz2
Workspace switching on the toolbar via the mouse buttons
Diffstat (limited to 'src/ToolFactory.cc')
-rw-r--r--src/ToolFactory.cc10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/ToolFactory.cc b/src/ToolFactory.cc
index 5da2777..4034313 100644
--- a/src/ToolFactory.cc
+++ b/src/ToolFactory.cc
@@ -75,6 +75,8 @@ ToolFactory::ToolFactory(BScreen &screen):m_screen(screen),
75ToolbarItem *ToolFactory::create(const std::string &name, const FbTk::FbWindow &parent, Toolbar &tbar) { 75ToolbarItem *ToolFactory::create(const std::string &name, const FbTk::FbWindow &parent, Toolbar &tbar) {
76 ToolbarItem * item = 0; 76 ToolbarItem * item = 0;
77 77
78 FbTk::CommandParser<void>& cp = FbTk::CommandParser<void>::instance();
79
78 unsigned int button_size = 24; 80 unsigned int button_size = 24;
79 if (tbar.theme()->buttonSize() > 0) 81 if (tbar.theme()->buttonSize() > 0)
80 button_size = tbar.theme()->buttonSize(); 82 button_size = tbar.theme()->buttonSize();
@@ -83,8 +85,10 @@ ToolbarItem *ToolFactory::create(const std::string &name, const FbTk::FbWindow &
83 WorkspaceNameTool *witem = new WorkspaceNameTool(parent, 85 WorkspaceNameTool *witem = new WorkspaceNameTool(parent,
84 *m_workspace_theme, screen()); 86 *m_workspace_theme, screen());
85 using namespace FbTk; 87 using namespace FbTk;
86 RefCount<Command<void> > showmenu(new ShowMenuAboveToolbar(tbar)); 88 RefCount< Command<void> > leftCommand(cp.parse("prevworkspace"));
87 witem->button().setOnClick(showmenu); 89 RefCount< Command<void> > rightCommand(cp.parse("nextworkspace"));
90 witem->button().setOnClick(leftCommand);
91 witem->button().setOnClick(rightCommand, 3);
88 item = witem; 92 item = witem;
89 } else if (name == "iconbar") { 93 } else if (name == "iconbar") {
90 item = new IconbarTool(parent, m_iconbar_theme, m_focused_iconbar_theme, m_unfocused_iconbar_theme, screen(), tbar.menu()); 94 item = new IconbarTool(parent, m_iconbar_theme, m_focused_iconbar_theme, m_unfocused_iconbar_theme, screen(), tbar.menu());
@@ -101,7 +105,7 @@ ToolbarItem *ToolFactory::create(const std::string &name, const FbTk::FbWindow &
101 cmd_str += " (workspace=[current])"; 105 cmd_str += " (workspace=[current])";
102 } 106 }
103 107
104 FbTk::RefCount<FbTk::Command<void> > cmd(FbTk::CommandParser<void>::instance().parse(cmd_str)); 108 FbTk::RefCount<FbTk::Command<void> > cmd(cp.parse(cmd_str));
105 if (cmd == 0) // we need a command 109 if (cmd == 0) // we need a command
106 return 0; 110 return 0;
107 111