Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Pesenti Gritti <mpg@redhat.com>2007-09-02 22:20:53 (GMT)
committer Marco Pesenti Gritti <mpg@redhat.com>2007-09-02 22:20:53 (GMT)
commit8a2cb49ffba017f1a7fc1ed138bfb9c58e7b70c7 (patch)
treeb6a41ef9b32e04c97912b99358bc4efaf17221bc
parent044afe4ae8822c7e64113d8e7d016352cd457665 (diff)
Use a toolbar for zoom icons
-rw-r--r--NEWS1
-rw-r--r--shell/view/frame/frame.py10
-rw-r--r--shell/view/frame/zoombox.py78
-rw-r--r--shell/view/frame/zoomtoolbar.py84
4 files changed, 89 insertions, 84 deletions
diff --git a/NEWS b/NEWS
index 9c3e310..561f5b0 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,4 @@
+* #3088: Fix style of zoom buttons palettes. (marco)
* Refactor activity share/join in Activity.__init__() to be clearer and cover
all cases (dcbw)
* #2971: Fix palette flash when the mouse pointer leave the palete and go
diff --git a/shell/view/frame/frame.py b/shell/view/frame/frame.py
index e87b939..1ce10ed 100644
--- a/shell/view/frame/frame.py
+++ b/shell/view/frame/frame.py
@@ -27,7 +27,7 @@ from sugar.clipboard import clipboardservice
from view.frame.eventarea import EventArea
from view.frame.ActivitiesBox import ActivitiesBox
-from view.frame.zoombox import ZoomBox
+from view.frame.zoomtoolbar import ZoomToolbar
from view.frame.overlaybox import OverlayBox
from view.frame.FriendsBox import FriendsBox
from view.frame.framewindow import FrameWindow
@@ -210,11 +210,9 @@ class Frame(object):
def _create_top_panel(self):
panel = self._create_panel(gtk.POS_TOP)
- box = ZoomBox(self._shell)
- panel.append(box)
-
- #box = OverlayBox(self._shell)
- #root.append(box, hippo.PACK_END)
+ toolbar = ZoomToolbar(self._shell)
+ panel.append(hippo.CanvasWidget(widget=toolbar))
+ toolbar.show()
return panel
diff --git a/shell/view/frame/zoombox.py b/shell/view/frame/zoombox.py
deleted file mode 100644
index 37bfcc0..0000000
--- a/shell/view/frame/zoombox.py
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright (C) 2006-2007 Red Hat, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
-
-from gettext import gettext as _
-
-import hippo
-
-from sugar.graphics.palette import Palette
-from sugar.graphics.iconbutton import IconButton
-from frameinvoker import FrameCanvasInvoker
-
-from model.shellmodel import ShellModel
-
-class ZoomBox(hippo.CanvasBox):
- def __init__(self, shell):
- hippo.CanvasBox.__init__(self, orientation=hippo.ORIENTATION_HORIZONTAL)
-
- self._shell = shell
-
- icon = IconButton(icon_name='zoom-mesh')
- icon.connect('activated',
- self._level_clicked_cb,
- ShellModel.ZOOM_MESH)
- self.append(icon)
-
- palette = Palette(_('Neighborhood'))
- palette.props.invoker = FrameCanvasInvoker(icon)
- palette.set_group_id('frame')
- icon.set_palette(palette)
-
- icon = IconButton(icon_name='zoom-friends')
- icon.connect('activated',
- self._level_clicked_cb,
- ShellModel.ZOOM_FRIENDS)
- self.append(icon)
-
- palette = Palette(_('Group'))
- palette.props.invoker = FrameCanvasInvoker(icon)
- palette.set_group_id('frame')
- icon.set_palette(palette)
-
- icon = IconButton(icon_name='zoom-home')
- icon.connect('activated',
- self._level_clicked_cb,
- ShellModel.ZOOM_HOME)
- self.append(icon)
-
- palette = Palette(_('Home'))
- palette.props.invoker = FrameCanvasInvoker(icon)
- palette.set_group_id('frame')
- icon.set_palette(palette)
-
- icon = IconButton(icon_name='zoom-activity')
- icon.connect('activated',
- self._level_clicked_cb,
- ShellModel.ZOOM_ACTIVITY)
- self.append(icon)
-
- palette = Palette(_('Activity'))
- palette.props.invoker = FrameCanvasInvoker(icon)
- palette.set_group_id('frame')
- icon.set_palette(palette)
-
- def _level_clicked_cb(self, item, level):
- self._shell.set_zoom_level(level)
diff --git a/shell/view/frame/zoomtoolbar.py b/shell/view/frame/zoomtoolbar.py
new file mode 100644
index 0000000..30cd1fb
--- /dev/null
+++ b/shell/view/frame/zoomtoolbar.py
@@ -0,0 +1,84 @@
+# Copyright (C) 2006-2007 Red Hat, Inc.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+from gettext import gettext as _
+
+import gtk
+
+from sugar.graphics.palette import Palette
+from sugar.graphics.toolbutton import ToolButton
+
+from view.frame.frameinvoker import FrameWidgetInvoker
+from model.shellmodel import ShellModel
+
+class ZoomToolbar(gtk.Toolbar):
+ def __init__(self, shell):
+ gtk.Toolbar.__init__(self)
+
+ self._shell = shell
+
+ self.set_show_arrow(False)
+
+ button = ToolButton(icon_name='zoom-mesh')
+ button.connect('clicked',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_MESH)
+ self.insert(button, -1)
+ button.show()
+
+ palette = Palette(_('Neighborhood'))
+ palette.props.invoker = FrameWidgetInvoker(button)
+ palette.set_group_id('frame')
+ button.set_palette(palette)
+
+ button = ToolButton(icon_name='zoom-friends')
+ button.connect('clicked',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_FRIENDS)
+ self.insert(button, -1)
+ button.show()
+
+ palette = Palette(_('Group'))
+ palette.props.invoker = FrameWidgetInvoker(button)
+ palette.set_group_id('frame')
+ button.set_palette(palette)
+
+ button = ToolButton(icon_name='zoom-home')
+ button.connect('clicked',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_HOME)
+ self.insert(button, -1)
+ button.show()
+
+ palette = Palette(_('Home'))
+ palette.props.invoker = FrameWidgetInvoker(button)
+ palette.set_group_id('frame')
+ button.set_palette(palette)
+
+ button = ToolButton(icon_name='zoom-activity')
+ button.connect('clicked',
+ self._level_clicked_cb,
+ ShellModel.ZOOM_ACTIVITY)
+ self.insert(button, -1)
+ button.show()
+
+ palette = Palette(_('Activity'))
+ palette.props.invoker = FrameWidgetInvoker(button)
+ palette.set_group_id('frame')
+ button.set_palette(palette)
+
+ def _level_clicked_cb(self, button, level):
+ self._shell.set_zoom_level(level)