Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/extensions
diff options
context:
space:
mode:
authorSimon Schampijer <simon@schampijer.de>2009-02-18 08:27:27 (GMT)
committer Simon Schampijer <simon@schampijer.de>2009-02-18 08:27:27 (GMT)
commit9ef8afff35ed4196adb9262b48158fc700c591b5 (patch)
treeba457da97d7226286d3c023d01bba2e83968dce5 /extensions
parent67934d86d4a32da882af04559ede6da1db30f51a (diff)
View Source: Make document the default source
Toolbar: document available: [document, bundle, title] no document available: [bundle, title] Icons: The coloured activity icon represents the source of the activity instance. The outlined activity icon represent the bundle source for the activity itself, the template. We use this to help draw a distinction between the "activity instance" and the "activity bundle"
Diffstat (limited to 'extensions')
-rw-r--r--extensions/globalkey/viewsource.py51
1 files changed, 34 insertions, 17 deletions
diff --git a/extensions/globalkey/viewsource.py b/extensions/globalkey/viewsource.py
index 43e02fe..fa76845 100644
--- a/extensions/globalkey/viewsource.py
+++ b/extensions/globalkey/viewsource.py
@@ -25,9 +25,11 @@ import pango
import gtk
import gtksourceview2
import dbus
+import gconf
from sugar.graphics import style
from sugar.graphics.icon import Icon
+from sugar.graphics.xocolor import XoColor
from sugar.graphics.toolbutton import ToolButton
from sugar.graphics.radiotoolbutton import RadioToolButton
from sugar.bundle.activitybundle import ActivityBundle
@@ -128,17 +130,18 @@ class ViewSource(gtk.Window):
pane = gtk.HPaned()
vbox.pack_start(pane)
pane.show()
-
+
self._file_viewer = FileViewer(bundle_path)
self._file_viewer.connect('file-selected', self.__file_selected_cb)
pane.add1(self._file_viewer)
self._file_viewer.show()
self._source_display = SourceDisplay()
- #self._source_display.set_size_request(self._calculate_char_width(80),
- # -1)
- pane.pack2(self._source_display)
+ pane.add2(self._source_display)
self._source_display.show()
+
+ if document_path is not None:
+ self._select_source(document_path)
def _calculate_char_width(self, char_count):
widget = gtk.Label('')
@@ -158,6 +161,9 @@ class ViewSource(gtk.Window):
self.destroy()
def __source_selected_cb(self, widget, path):
+ self._select_source(path)
+
+ def _select_source(self, path):
if os.path.isfile(path):
self._source_display.file_path = path
self._file_viewer.hide()
@@ -198,14 +204,35 @@ class Toolbar(gtk.Toolbar):
self._add_separator()
+ client = gconf.client_get_default()
+ color = XoColor(client.get_string('/desktop/sugar/user/color'))
+ activity_bundle = ActivityBundle(bundle_path)
+ file_name = activity_bundle.get_icon()
+
+ if document_path is not None and os.path.exists(document_path):
+ document_button = RadioToolButton()
+ icon = Icon(file=file_name,
+ icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR,
+ xo_color=color)
+ document_button.set_icon_widget(icon)
+ icon.show()
+ document_button.props.tooltip = _('Document')
+ document_button.connect('toggled', self.__button_toggled_cb,
+ document_path)
+ self.insert(document_button, -1)
+ document_button.show()
+ self._add_separator()
+
if bundle_path is not None and os.path.exists(bundle_path):
- activity_bundle = ActivityBundle(bundle_path)
- file_name = activity_bundle.get_icon()
activity_button = RadioToolButton()
icon = Icon(file=file_name,
- icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR)
+ icon_size=gtk.ICON_SIZE_LARGE_TOOLBAR,
+ fill_color=style.COLOR_TRANSPARENT.get_svg(),
+ stroke_color=style.COLOR_WHITE.get_svg())
activity_button.set_icon_widget(icon)
icon.show()
+ if document_path is not None:
+ activity_button.props.group = document_button
activity_button.props.tooltip = _('Activity')
activity_button.connect('toggled', self.__button_toggled_cb,
bundle_path)
@@ -213,16 +240,6 @@ class Toolbar(gtk.Toolbar):
activity_button.show()
self._add_separator()
- if document_path is not None and os.path.exists(document_path):
- document_button = RadioToolButton(named_icon='document-generic')
- document_button.props.tooltip = _('Document')
- document_button.props.group = activity_button
- document_button.connect('toggled', self.__button_toggled_cb,
- document_path)
- self.insert(document_button, -1)
- document_button.show()
- self._add_separator()
-
text = _('View source: %r') % title
label = gtk.Label()
label.set_markup('<b>%s</b>' % text)