From 8794d357e67abddf9fda9db77b235e294d0ec590 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Sat, 25 May 2002 00:29:44 +0000 Subject: import from bb-cvs added slit and enable-clobber defines back in Makefile.am --- src/Workspacemenu.cc | 56 +++++++++++++++++++++++----------------------------- 1 file changed, 25 insertions(+), 31 deletions(-) (limited to 'src/Workspacemenu.cc') diff --git a/src/Workspacemenu.cc b/src/Workspacemenu.cc index a97bdfef..a63251ab 100644 --- a/src/Workspacemenu.cc +++ b/src/Workspacemenu.cc @@ -1,5 +1,6 @@ -// Workspacemenu.cc for Openbox -// Copyright (c) 2001 Sean 'Shaleh' Perry +// -*- mode: C++; indent-tabs-mode: nil; -*- +// Workspacemenu.cc for Blackbox - an X11 Window manager +// Copyright (c) 2001 - 2002 Sean 'Shaleh' Perry // Copyright (c) 1997 - 2000 Brad Hughes (bhughes@tcac.net) // // Permission is hereby granted, free of charge, to any person obtaining a @@ -20,48 +21,41 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER // DEALINGS IN THE SOFTWARE. -// stupid macros needed to access some functions in version 2 of the GNU C -// library -#ifndef _GNU_SOURCE -#define _GNU_SOURCE -#endif // _GNU_SOURCE - #ifdef HAVE_CONFIG_H # include "../config.h" #endif // HAVE_CONFIG_H -#include "i18n.h" -#include "openbox.h" -#include "Screen.h" -#include "Toolbar.h" -#include "Workspacemenu.h" -#include "Workspace.h" +#include "i18n.hh" +#include "blackbox.hh" +#include "Screen.hh" +#include "Toolbar.hh" +#include "Workspacemenu.hh" +#include "Workspace.hh" -Workspacemenu::Workspacemenu(BScreen &scrn) : Basemenu(scrn), screen(scrn) { +Workspacemenu::Workspacemenu(BScreen *scrn) : Basemenu(scrn) { setInternalMenu(); - setLabel(i18n(WorkspacemenuSet, WorkspacemenuWorkspacesTitle, - "Workspaces")); - insert(i18n(WorkspacemenuSet, WorkspacemenuNewWorkspace, - "New Workspace")); - insert(i18n(WorkspacemenuSet, WorkspacemenuRemoveLast, - "Remove Last")); + setLabel(i18n(WorkspacemenuSet, WorkspacemenuWorkspacesTitle, "Workspaces")); + insert(i18n(WorkspacemenuSet, WorkspacemenuNewWorkspace, "New Workspace")); + insert(i18n(WorkspacemenuSet, WorkspacemenuRemoveLast, "Remove Last")); } -void Workspacemenu::itemSelected(int button, int index) { +void Workspacemenu::itemSelected(int button, unsigned int index) { if (button != 1) return; - if (index == 0) - screen.addWorkspace(); - else if (index == 1) - screen.removeLastWorkspace(); - else if ((screen.getCurrentWorkspace()->getWorkspaceID() != - (index - 2)) && ((index - 2) < screen.getWorkspaceCount())) - screen.changeWorkspaceID(index - 2); - - if (! (screen.getWorkspacemenu()->isTorn() || isTorn())) + if (index == 0) { + getScreen()->addWorkspace(); + } else if (index == 1) { + getScreen()->removeLastWorkspace(); + } else { + index -= 2; + const Workspace* const wkspc = getScreen()->getCurrentWorkspace(); + if (wkspc->getID() != index && index < getScreen()->getWorkspaceCount()) + getScreen()->changeWorkspaceID(index); + } + if (! (getScreen()->getWorkspacemenu()->isTorn() || isTorn())) hide(); } -- cgit v1.2.3