Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2008-08-29 12:24:08 (GMT)
committer Simon Schampijer <simon@schampijer.de>2008-08-29 13:18:49 (GMT)
commit208b07f206b5f45fd2db384c5ab3f1b64efbdf9b (patch)
tree0642f236a40b6aaf3a4e6e058e0085f19db17465
parent666ff47a8fb3989544a517a009d805e7bcd94e48 (diff)
Fix some launcher issues
introduce the is_journal method for the HomeActivity and cleanup the affected code parts
-rw-r--r--src/model/homeactivity.py4
-rw-r--r--src/model/homemodel.py8
-rw-r--r--src/view/BuddyMenu.py3
-rw-r--r--src/view/Shell.py20
-rw-r--r--src/view/frame/activitiestray.py2
-rw-r--r--src/view/home/favoritesview.py2
6 files changed, 28 insertions, 11 deletions
diff --git a/src/model/homeactivity.py b/src/model/homeactivity.py
index 34ebda3..8965dec 100644
--- a/src/model/homeactivity.py
+++ b/src/model/homeactivity.py
@@ -166,6 +166,10 @@ class HomeActivity(gobject.GObject):
else:
return None
+ def is_journal(self):
+ """Returns boolean if the activity is of type JournalActivity"""
+ return self.get_type() == 'org.laptop.JournalActivity'
+
def get_launch_time(self):
"""Return the time at which the activity was first launched
diff --git a/src/model/homemodel.py b/src/model/homemodel.py
index b8770f0..53594c8 100644
--- a/src/model/homemodel.py
+++ b/src/model/homemodel.py
@@ -185,6 +185,7 @@ class HomeModel(gobject.GObject):
home_activity.set_window(window)
if _get_sugar_window_type(window) != 'launcher':
+ home_activity.props.launching = False
self.emit('launch-completed', home_activity)
if self._active_activity is None:
@@ -286,7 +287,12 @@ class HomeModel(gobject.GObject):
def _check_activity_launched(self, activity_id):
home_activity = self._get_activity_by_id(activity_id)
- if home_activity and home_activity.props.launching:
+
+ if not home_activity:
+ logging.debug('Activity %s has been closed already.' % activity_id)
+ return False
+
+ if home_activity.props.launching:
logging.debug('Activity %s still launching, assuming it failed...'
% activity_id)
self.notify_launch_failed(activity_id)
diff --git a/src/view/BuddyMenu.py b/src/view/BuddyMenu.py
index 069f7b6..57ad84d 100644
--- a/src/view/BuddyMenu.py
+++ b/src/view/BuddyMenu.py
@@ -81,8 +81,7 @@ class BuddyMenu(Palette):
else:
buddy_activity_id = None
- if activity is None or \
- activity.get_type() == 'org.laptop.JournalActivity' or \
+ if activity is None or activity.is_journal() or \
activity.get_activity_id() == buddy_activity_id:
self._invite_menu.hide()
else:
diff --git a/src/view/Shell.py b/src/view/Shell.py
index 2584043..bfaa72e 100644
--- a/src/view/Shell.py
+++ b/src/view/Shell.py
@@ -93,14 +93,19 @@ class Shell(gobject.GObject):
self.start_activity('org.laptop.JournalActivity')
def __launch_started_cb(self, home_model, home_activity):
- if home_activity.get_type() != 'org.laptop.JournalActivity':
- launch_window = LaunchWindow(home_activity)
- launch_window.show()
+ if home_activity.is_journal():
+ return
+
+ launch_window = LaunchWindow(home_activity)
+ launch_window.show()
- self._launchers[home_activity.get_activity_id()] = launch_window
- self._model.set_zoom_level(shellmodel.ShellModel.ZOOM_ACTIVITY)
+ self._launchers[home_activity.get_activity_id()] = launch_window
+ self._model.set_zoom_level(shellmodel.ShellModel.ZOOM_ACTIVITY)
def __launch_failed_cb(self, home_model, home_activity):
+ if home_activity.is_journal():
+ return
+
activity_id = home_activity.get_activity_id()
launch_window = self._launchers[activity_id]
@@ -113,6 +118,9 @@ class Shell(gobject.GObject):
activity_host = ActivityHost(home_activity)
self._hosts[activity_host.get_xid()] = activity_host
+ if home_activity.is_journal():
+ return
+
activity_id = home_activity.get_activity_id()
launch_window = self._launchers[activity_id]
if launch_window:
@@ -218,7 +226,7 @@ class Shell(gobject.GObject):
home_model = self._model.get_home()
active_activity = home_model.get_active_activity()
- if active_activity.get_type() == 'org.laptop.JournalActivity':
+ if active_activity.is_journal():
return
self.take_activity_screenshot()
diff --git a/src/view/frame/activitiestray.py b/src/view/frame/activitiestray.py
index 72a03fd..1311f07 100644
--- a/src/view/frame/activitiestray.py
+++ b/src/view/frame/activitiestray.py
@@ -55,7 +55,7 @@ class ActivityButton(RadioToolButton):
self.set_icon_widget(self._icon)
self._icon.show()
- if self._home_activity.get_type() == "org.laptop.JournalActivity":
+ if self._home_activity.is_journal():
palette = JournalPalette(self._home_activity)
else:
palette = CurrentActivityPalette(self._home_activity)
diff --git a/src/view/home/favoritesview.py b/src/view/home/favoritesview.py
index b549b12..b36e664 100644
--- a/src/view/home/favoritesview.py
+++ b/src/view/home/favoritesview.py
@@ -379,7 +379,7 @@ class CurrentActivityIcon(CanvasIcon, hippo.CanvasItem):
self.props.xo_color = home_activity.get_icon_color()
self.props.size = style.STANDARD_ICON_SIZE
- if home_activity.get_type() == 'org.laptop.JournalActivity':
+ if home_activity.is_journal():
palette = JournalPalette(home_activity)
else:
palette = CurrentActivityPalette(home_activity)