Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/jarabe/frame/activitiestray.py4
-rw-r--r--src/jarabe/frame/frame.py1
-rw-r--r--src/jarabe/view/palettes.py15
3 files changed, 14 insertions, 6 deletions
diff --git a/src/jarabe/frame/activitiestray.py b/src/jarabe/frame/activitiestray.py
index 5fb1826..f8e15c9 100644
--- a/src/jarabe/frame/activitiestray.py
+++ b/src/jarabe/frame/activitiestray.py
@@ -84,11 +84,11 @@ class ActivityButton(RadioToolButton):
palette = JournalPalette(self._home_activity)
else:
palette = CurrentActivityPalette(self._home_activity)
- palette.connect('popdown', self.__palette_popped_down_cb)
+ palette.connect('done', self.__palette_item_selected_cb)
palette.set_group_id('frame')
self.set_palette(palette)
- def __palette_popped_down_cb(self, widget):
+ def __palette_item_selected_cb(self, widget):
frame = jarabe.frame.get_view()
frame.hide()
diff --git a/src/jarabe/frame/frame.py b/src/jarabe/frame/frame.py
index 410e08b..44293bb 100644
--- a/src/jarabe/frame/frame.py
+++ b/src/jarabe/frame/frame.py
@@ -113,6 +113,7 @@ class Frame(object):
if self._animator:
self._animator.stop()
+ palettegroup.popdown_all()
self._animator = animator.Animator(0.5)
self._animator.add(_Animation(self, 0.0))
self._animator.start()
diff --git a/src/jarabe/view/palettes.py b/src/jarabe/view/palettes.py
index 8e77ea3..34944f3 100644
--- a/src/jarabe/view/palettes.py
+++ b/src/jarabe/view/palettes.py
@@ -22,6 +22,7 @@ import logging
from gi.repository import GConf
import glib
from gi.repository import Gtk
+from gi.repository import GObject
from sugar3 import env
from sugar3.graphics.palette import Palette
@@ -71,6 +72,13 @@ class BasePalette(Palette):
class CurrentActivityPalette(BasePalette):
+
+ __gsignals__ = {
+ 'done': (GObject.SignalFlags.RUN_FIRST,
+ None,
+ ([])),
+ }
+
def __init__(self, home_activity):
self._home_activity = home_activity
BasePalette.__init__(self, home_activity)
@@ -108,20 +116,20 @@ class CurrentActivityPalette(BasePalette):
self.menu_box.show_all()
def __resume_activate_cb(self, menu_item):
- self.popdown(immediate=True)
self._home_activity.get_window().activate(Gtk.get_current_event_time())
+ self.emit('done')
def __view_source__cb(self, menu_item):
- self.popdown(immediate=True)
setup_view_source(self._home_activity)
shell_model = shell.get_model()
if self._home_activity is not shell_model.get_active_activity():
self._home_activity.get_window().activate( \
Gtk.get_current_event_time())
+ self.emit('done')
def __stop_activate_cb(self, menu_item):
- self.popdown(immediate=True)
self._home_activity.get_window().close(1)
+ self.emit('done')
class ActivityPalette(Palette):
@@ -207,7 +215,6 @@ class JournalPalette(BasePalette):
self.connect('popup', self.__popup_cb)
def __open_activate_cb(self, menu_item):
- self.popdown(immediate=True)
self._home_activity.get_window().activate(Gtk.get_current_event_time())
def __popup_cb(self, palette):