]> Dogcows Code - chaz/openbox/blobdiff - src/Windowmenu.cc
new i18n class using overloaded operator() instead of getMessage()
[chaz/openbox] / src / Windowmenu.cc
index d9da5b86617dd9af5f7c0d162517ca76346e539b..6f216e5c90395846c7c1ba51057d3c590cb872e7 100644 (file)
 #include "Windowmenu.h"
 #include "Workspace.h"
 
-#ifdef    STDC_HEADERS
+#ifdef    HAVE_STRING_H
 #  include <string.h>
-#endif // STDC_HEADERS
+#endif // HAVE_STRING_H
 
 
-Windowmenu::Windowmenu(OpenboxWindow *win) : Basemenu(win->getScreen()) {
-  window = win;
-  screen = window->getScreen();
+Windowmenu::Windowmenu(OpenboxWindow &win) : Basemenu(*win.getScreen()),
+window(win), screen(*win.getScreen())
+{
 
   setTitleVisibility(False);
   setMovable(False);
   setInternalMenu();
 
-  sendToMenu = new SendtoWorkspacemenu(this);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuSendTo, "Send To ..."),
-        sendToMenu);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuShade, "Shade"),
-        BScreen::WindowShade);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuIconify, "Iconify"),
-        BScreen::WindowIconify);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuMaximize, "Maximize"),
-        BScreen::WindowMaximize);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuRaise,"Raise"),
-        BScreen::WindowRaise);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuLower, "Lower"),
-        BScreen::WindowLower);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuStick, "Stick"),
-        BScreen::WindowStick);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuKillClient, "Kill Client"),
-        BScreen::WindowKill);
-  insert(i18n->getMessage(WindowmenuSet, WindowmenuClose, "Close"),
-        BScreen::WindowClose);
+  sendToMenu = new SendtoWorkspacemenu(*this);
+  insert(i18n(WindowmenuSet, WindowmenuSendTo, "Send To ..."),
+         sendToMenu);
+  insert(i18n(WindowmenuSet, WindowmenuShade, "Shade"),
+         BScreen::WindowShade);
+  insert(i18n(WindowmenuSet, WindowmenuIconify, "Iconify"),
+         BScreen::WindowIconify);
+  insert(i18n(WindowmenuSet, WindowmenuMaximize, "Maximize"),
+         BScreen::WindowMaximize);
+  insert(i18n(WindowmenuSet, WindowmenuRaise,"Raise"),
+         BScreen::WindowRaise);
+  insert(i18n(WindowmenuSet, WindowmenuLower, "Lower"),
+         BScreen::WindowLower);
+  insert(i18n(WindowmenuSet, WindowmenuStick, "Stick"),
+         BScreen::WindowStick);
+  insert(i18n(WindowmenuSet, WindowmenuKillClient, "Kill Client"),
+         BScreen::WindowKill);
+  insert(i18n(WindowmenuSet, WindowmenuClose, "Close"),
+         BScreen::WindowClose);
 
   update();
 
-  setItemEnabled(1, window->hasTitlebar());
-  setItemEnabled(2, window->isIconifiable());
-  setItemEnabled(3, window->isMaximizable());
-  setItemEnabled(8, window->isClosable());
+  setItemEnabled(1, window.hasTitlebar());
+  setItemEnabled(2, window.isIconifiable());
+  setItemEnabled(3, window.isMaximizable());
+  setItemEnabled(8, window.isClosable());
 }
 
 
@@ -85,9 +85,9 @@ Windowmenu::~Windowmenu(void) {
 
 
 void Windowmenu::show(void) {
-  if (isItemEnabled(1)) setItemSelected(1, window->isShaded());
-  if (isItemEnabled(3)) setItemSelected(3, window->isMaximized());
-  if (isItemEnabled(6)) setItemSelected(6, window->isStuck());
+  if (isItemEnabled(1)) setItemSelected(1, window.isShaded());
+  if (isItemEnabled(3)) setItemSelected(3, window.isMaximized());
+  if (isItemEnabled(6)) setItemSelected(6, window.isStuck());
 
   Basemenu::show();
 }
@@ -106,50 +106,50 @@ void Windowmenu::itemSelected(int button, int index) {
     hide();
     switch (item->function()) {
     case BScreen::WindowShade:
-      window->shade();
+      window.shade();
       break;
 
     case BScreen::WindowIconify:
-      window->iconify();
+      window.iconify();
       break;
 
     case BScreen::WindowMaximize:
-      window->maximize((unsigned int) button);
+      window.maximize((unsigned int) button);
       break;
 
     case BScreen::WindowClose:
-      window->close();
+      window.close();
       break;
 
     case BScreen::WindowRaise:
-      screen->getWorkspace(window->getWorkspaceNumber())->raiseWindow(window);
+      screen.getWorkspace(window.getWorkspaceNumber())->raiseWindow(&window);
       break;
 
     case BScreen::WindowLower:
-      screen->getWorkspace(window->getWorkspaceNumber())->lowerWindow(window);
+      screen.getWorkspace(window.getWorkspaceNumber())->lowerWindow(&window);
       break;
 
     case BScreen::WindowStick:
-      window->stick();
+      window.stick();
       break;
 
     case BScreen::WindowKill:
-      XKillClient(screen->getBaseDisplay()->getXDisplay(),
-                  window->getClientWindow());
+      XKillClient(screen.getBaseDisplay().getXDisplay(),
+                  window.getClientWindow());
       break;
     }
   } else if (item->function() == BScreen::WindowMaximize) {
     hide();
-    window->maximize((unsigned int) button);
+    window.maximize((unsigned int) button);
   }
 }
 
 
 void Windowmenu::reconfigure(void) {
-  setItemEnabled(1, window->hasTitlebar());
-  setItemEnabled(2, window->isIconifiable());
-  setItemEnabled(3, window->isMaximizable());
-  setItemEnabled(8, window->isClosable());
+  setItemEnabled(1, window.hasTitlebar());
+  setItemEnabled(2, window.isIconifiable());
+  setItemEnabled(3, window.isMaximizable());
+  setItemEnabled(8, window.isClosable());
 
   sendToMenu->reconfigure();
 
@@ -157,27 +157,25 @@ void Windowmenu::reconfigure(void) {
 }
 
 
-Windowmenu::SendtoWorkspacemenu::SendtoWorkspacemenu(Windowmenu *w)
-  : Basemenu(w->screen) {
-  windowmenu = w;
-
-  setTitleVisibility(False);
-  setMovable(False);
-  setInternalMenu();
-  update();
-}
+Windowmenu::SendtoWorkspacemenu::SendtoWorkspacemenu(Windowmenu &w)
+  : Basemenu(w.screen), windowmenu(w) {
+    setTitleVisibility(False);
+    setMovable(False);
+    setInternalMenu();
+    update();
+  }
 
 
 void Windowmenu::SendtoWorkspacemenu::itemSelected(int button, int index) {
   if (button > 2) return;
 
-  if (index <= windowmenu->screen->getCount()) {
-    if (index == windowmenu->screen->getCurrentWorkspaceID()) return;
-    if (windowmenu->window->isStuck()) windowmenu->window->stick();
+  if (index <= windowmenu.screen.getWorkspaceCount()) {
+    if (index == windowmenu.screen.getCurrentWorkspaceID()) return;
+    if (windowmenu.window.isStuck()) windowmenu.window.stick();
 
-    if (button == 1) windowmenu->window->withdraw();
-    windowmenu->screen->reassociateWindow(windowmenu->window, index, True);
-    if (button == 2) windowmenu->screen->changeWorkspaceID(index);
+    if (button == 1) windowmenu.window.withdraw();
+    windowmenu.screen.reassociateWindow(&(windowmenu.window), index, True);
+    if (button == 2) windowmenu.screen.changeWorkspaceID(index);
   }
   hide();
 }
@@ -190,8 +188,8 @@ void Windowmenu::SendtoWorkspacemenu::update(void) {
     for (i = 0; i < r; ++i)
       remove(0);
 
-  for (i = 0; i < windowmenu->screen->getCount(); ++i)
-    insert(windowmenu->screen->getWorkspace(i)->getName());
+  for (i = 0; i < windowmenu.screen.getWorkspaceCount(); ++i)
+    insert(windowmenu.screen.getWorkspace(i)->getName());
 
   Basemenu::update();
 }
This page took 0.030268 seconds and 4 git commands to generate.