Fix raw X windows

This commit is contained in:
Marco Pesenti Gritti 2007-06-01 14:04:54 +02:00
parent b1a62c2fc0
commit cd3efeba49
5 changed files with 13 additions and 66 deletions

View File

@ -12,5 +12,4 @@ sugar_PYTHON = \
MeshModel.py \
ShellModel.py \
homeactivity.py \
homemodel.py \
homerawwindow.py
homemodel.py

View File

@ -91,7 +91,7 @@ class HomeActivity(gobject.GObject):
if self._bundle:
return self._bundle.get_icon()
else:
return None
return 'theme:stock-missing'
def get_icon_color(self):
"""Retrieve the appropriate icon colour for this activity
@ -137,7 +137,10 @@ class HomeActivity(gobject.GObject):
def get_type(self):
"""Retrieve bundle's "service_name" for future reference"""
return self._bundle.get_service_name()
if self._bundle:
return self._bundle.get_service_name()
else:
return None
def get_shared(self):
"""Return whether this activity is using Presence service sharing"""

View File

@ -1,59 +0,0 @@
# Copyright (C) 2007, Red Hat.
#
# 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
import time
from sugar import profile
from sugar import util
class HomeRawWindow(object):
def __init__(self, window):
self._activity_id = util.unique_id()
self._window = window
self._launch_time = time.time()
def get_activity_id(self):
return self._activity_id
def get_service(self):
return None
def get_title(self):
return self._window.get_name()
def get_icon_name(self):
return 'theme:stock-missing'
def get_icon_color(self):
return profile.get_color()
def get_id(self):
return None
def get_xid(self):
return self._window.get_xid()
def get_window(self):
return self._window
def get_type(self):
return 'RawXApplication'
def get_shared(self):
return False
def get_launch_time(self):
return self._launch_time

View File

@ -132,7 +132,8 @@ class ShellService(dbus.service.Object):
new_id = ""
if new_activity:
new_id = new_activity.get_activity_id()
self.CurrentActivityChanged(new_id)
if new_id:
self.CurrentActivityChanged(new_id)
def _bundle_to_activity_info(self, bundle):
return ActivityInfo(bundle.get_name(), bundle.get_icon(),

View File

@ -111,8 +111,11 @@ class FriendsBox(hippo.CanvasBox):
def _active_activity_changed_cb(self, home_model, home_activity):
if home_activity:
activity_id = home_activity.get_activity_id()
ps = self._pservice.get_activity(activity_id)
self._set_activity_ps(ps)
if activity_id:
ps = self._pservice.get_activity(activity_id)
self._set_activity_ps(ps)
else:
self._set_activity_ps(None)
else:
self._set_activity_ps(None)