Default order for activities in the frame.
This commit is contained in:
parent
2a91e02444
commit
478b31a49e
@ -8,6 +8,7 @@ sugar-xo.gtkrc: gtkrc.em
|
|||||||
|
|
||||||
sugardir = $(pkgdatadir)/data
|
sugardir = $(pkgdatadir)/data
|
||||||
sugar_DATA = \
|
sugar_DATA = \
|
||||||
|
activities.defaults \
|
||||||
mime.defaults \
|
mime.defaults \
|
||||||
$(GTKRC_FILES)
|
$(GTKRC_FILES)
|
||||||
|
|
||||||
|
18
data/activities.defaults
Normal file
18
data/activities.defaults
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# Ordered list of the activities displayed in the frame
|
||||||
|
|
||||||
|
org.laptop.Chat
|
||||||
|
org.laptop.WebActivity
|
||||||
|
org.laptop.AbiWordActivity
|
||||||
|
org.laptop.RecordActivity
|
||||||
|
org.laptop.Oficina
|
||||||
|
org.laptop.TamTamJam
|
||||||
|
org.vpri.EtoysActivity
|
||||||
|
org.laptop.TurtleArtActivity
|
||||||
|
org.laptop.Pippy
|
||||||
|
org.laptop.Calculate
|
||||||
|
org.laptop.MeasureActivity
|
||||||
|
org.laptop.TamTamEdit
|
||||||
|
org.laptop.TamTamSynthLab
|
||||||
|
org.laptop.Memorize
|
||||||
|
org.laptop.BlockPartyActivity
|
||||||
|
org.laptop.Connect
|
@ -23,6 +23,7 @@ from sugar.graphics.icon import Icon
|
|||||||
from sugar.graphics import style
|
from sugar.graphics import style
|
||||||
from sugar import profile
|
from sugar import profile
|
||||||
from sugar import activity
|
from sugar import activity
|
||||||
|
from sugar import env
|
||||||
|
|
||||||
from activitybutton import ActivityButton
|
from activitybutton import ActivityButton
|
||||||
|
|
||||||
@ -54,6 +55,7 @@ class ActivitiesTray(hippo.CanvasBox):
|
|||||||
self._shell_model = self._shell.get_model()
|
self._shell_model = self._shell.get_model()
|
||||||
self._invite_to_item = {}
|
self._invite_to_item = {}
|
||||||
self._invites = self._shell_model.get_invites()
|
self._invites = self._shell_model.get_invites()
|
||||||
|
self._config = self._load_config()
|
||||||
|
|
||||||
self._tray = HTray()
|
self._tray = HTray()
|
||||||
self.append(hippo.CanvasWidget(widget=self._tray), hippo.PACK_EXPAND)
|
self.append(hippo.CanvasWidget(widget=self._tray), hippo.PACK_EXPAND)
|
||||||
@ -69,10 +71,40 @@ class ActivitiesTray(hippo.CanvasBox):
|
|||||||
self._invites.connect('invite-added', self._invite_added_cb)
|
self._invites.connect('invite-added', self._invite_added_cb)
|
||||||
self._invites.connect('invite-removed', self._invite_removed_cb)
|
self._invites.connect('invite-removed', self._invite_removed_cb)
|
||||||
|
|
||||||
|
def _load_config(self):
|
||||||
|
config = []
|
||||||
|
|
||||||
|
f = open(env.get_data_path('activities.defaults'), 'r')
|
||||||
|
for line in f.readlines():
|
||||||
|
line = line.strip()
|
||||||
|
if line and not line.startswith('#'):
|
||||||
|
config.append(line)
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
return config
|
||||||
|
|
||||||
def _get_activities_cb(self, activity_list):
|
def _get_activities_cb(self, activity_list):
|
||||||
for activity_info in activity_list:
|
known_activities = []
|
||||||
if activity_info.show_launcher:
|
unknown_activities = []
|
||||||
self.add_activity(activity_info)
|
name_to_activity = {}
|
||||||
|
|
||||||
|
while activity_list:
|
||||||
|
info = activity_list.pop()
|
||||||
|
name_to_activity[info.service_name] = info
|
||||||
|
|
||||||
|
if info.service_name in self._config:
|
||||||
|
known_activities.append(info)
|
||||||
|
else:
|
||||||
|
unknown_activities.append(info)
|
||||||
|
|
||||||
|
sorted_activities = []
|
||||||
|
for name in self._config:
|
||||||
|
if name in name_to_activity:
|
||||||
|
sorted_activities.append(name_to_activity[name])
|
||||||
|
|
||||||
|
for info in sorted_activities + unknown_activities:
|
||||||
|
if info.show_launcher:
|
||||||
|
self.add_activity(info)
|
||||||
|
|
||||||
def _activity_clicked_cb(self, icon):
|
def _activity_clicked_cb(self, icon):
|
||||||
self._shell.start_activity(icon.get_bundle_id())
|
self._shell.start_activity(icon.get_bundle_id())
|
||||||
|
Loading…
Reference in New Issue
Block a user