Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Anderson <tony_anderson@usa.net>2009-06-13 16:21:54 (GMT)
committer Tony Anderson <tony_anderson@usa.net>2009-06-13 16:21:54 (GMT)
commit685543bc13f5757cad7e6891d837243292731007 (patch)
treec66bf06f0ae21995fbc5f110e177dff8066e3bb5
parent720985fc29dd3b0c9340d80ae2f0839b2d969897 (diff)
add title.html
-rw-r--r--Readme14
-rwxr-xr-xcpxoview.py104
-rwxr-xr-x[-rw-r--r--]empty.html0
-rwxr-xr-xhulahop_test.py3
-rw-r--r--icons/new-slideshow.svg462
-rwxr-xr-x[-rw-r--r--]listview.py5
-rwxr-xr-x[-rw-r--r--]resources/splash.svg0
-rwxr-xr-xresources/title.html7
-rwxr-xr-xshowntell.py74
-rwxr-xr-xsliderenderer.py16
-rwxr-xr-xslideshow.py23
-rwxr-xr-xtoolbars.py70
-rwxr-xr-x[-rw-r--r--]tw/simple.html0
-rwxr-xr-x[-rw-r--r--]tw/slides.html0
14 files changed, 282 insertions, 496 deletions
diff --git a/Readme b/Readme
new file mode 100644
index 0000000..4e62542
--- /dev/null
+++ b/Readme
@@ -0,0 +1,14 @@
+This activity is based on ClassroomPresenter.activity. It adds the ability to create slideshows on the XO.
+It also adds the ability to record narration for each slide.
+
+The current version is not ready for release.
+
+To Do:
+
+1. Change the default slide (splash.svg)
+2. Open icon in slideshow show to list of available slideshows
+3. Add SDCard button to slideshow toolbar when sd card is mounted
+4. Add ? slideshow to show how to use ShowNTell.activity
+5. Make XO bundle
+6. Add title entries to slideshow toolbar for slideshow and slide
+
diff --git a/cpxoview.py b/cpxoview.py
new file mode 100755
index 0000000..6300d5c
--- /dev/null
+++ b/cpxoview.py
@@ -0,0 +1,104 @@
+#!/usr/bin/python
+
+# ZetCode PyGTK tutorial
+#
+# This example shows a TreeView widget
+# in a list view mode
+#
+# author: jan bodnar
+# website: zetcode.com
+# last edited: February 2009
+
+import sys, os
+import gtk
+from sugar.datastore import datastore
+from path import path
+
+
+class Cpxoview(gtk.VBox):
+ def __init__(self, activity, deck):
+ print 'cpxoview init'
+ self.activity = activity
+ gtk.VBox.__init__(self)
+ vbox = gtk.VBox(False, 8)
+ sw = gtk.ScrolledWindow()
+ sw.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+ sw.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ self.pack_start(sw, True, True, 0)
+ treeView = gtk.TreeView()
+ treeView.connect("row-activated", self.on_activated)
+ treeView.set_rules_hint(True)
+ sw.add(treeView)
+ self.create_columns(treeView)
+ self.treeView = treeView
+ self.deck = deck
+ self.add(vbox)
+ self.show_all()
+
+ def create_columns(self, treeView):
+
+ rendererText = gtk.CellRendererText()
+ column = gtk.TreeViewColumn("Title", rendererText, text=0)
+ column.set_sort_column_id(0)
+ treeView.append_column(column)
+ rendererText = gtk.CellRendererText()
+ column = gtk.TreeViewColumn("Description", rendererText, text=1)
+ column.set_sort_column_id(1)
+ treeView.append_column(column)
+ rendererText = gtk.CellRendererText()
+ column = gtk.TreeViewColumn("Date", rendererText, text=2)
+ column.set_sort_column_id(2)
+ treeView.append_column(column)
+
+ def get_treeView(self):
+ return self.treeView
+
+ def set_store(self):
+ print 'set_store'
+ store = gtk.ListStore(str, str, str)
+ #get objects from the local datastore
+ ds_objects, num_objects = datastore.find({'mime_type':['application/x-classroompresenter']})
+ for f in ds_objects:
+ try:
+ title = f.metadata['title']
+ except:
+ title = ""
+ try:
+ description = f.metadata['description']
+ except:
+ description = ''
+ try:
+ timestamp = f.metadata['timestamp']
+ except:
+ timestamp = "0"
+ store.append([title, description, timestamp])
+ f.destroy()
+ print 'return cpxo store'
+ return store
+
+ def on_activated(self, widget, row, col):
+
+ print 'cpxo on_activated'
+ model = widget.get_model()
+ print 'row', model[row][0], model[row][1], model[row][2]
+ title = model[row][0]
+ description = model[row][1]
+ timestamp = model[row][2]
+ print 'search for', title, description, timestamp
+ if int(timestamp) > 0:
+ ds_objects, num_objects = datastore.find({'title':[title], 'timestamp':[timestamp]})
+ else:
+ ds_objects, num_objects = datastore.find({'title':[title], 'description': [description]})
+ if num_objects > 0:
+ object = ds_objects[0]
+ else:
+ print 'datastore find failed', f
+ fn = object.file_path
+ print 'object filename', path(fn).exists(), fn
+ #open slideshow, set Navigation toolbar current
+ self.activity.read_file(fn)
+ for object in ds_objects:
+ object.destroy()
+ self.activity.set_screen(2)
+
+
diff --git a/empty.html b/empty.html
index 18e00a5..18e00a5 100644..100755
--- a/empty.html
+++ b/empty.html
diff --git a/hulahop_test.py b/hulahop_test.py
index 24a3067..4a8bdde 100755
--- a/hulahop_test.py
+++ b/hulahop_test.py
@@ -12,7 +12,8 @@ win.set_size_request(800,600)
win.connect('destroy', gtk.main_quit)
wv = WebView()
#wv.load_uri('file:///home/olpc/Activities/ShowNTell.activity/tw/simple.html')
-wv.load_uri('file:///home/olpc/Activities/ShowNTell.activity/tw/slides.html')
+#wv.load_uri('file:///home/olpc/Activities/ShowNTell.activity/tw/slides.html')
+wv.load_uri('file:///home/olpc/isolation/1/uid_to_instance_dir/10001/deck/title.html')
wv.show()
win.add(wv)
diff --git a/icons/new-slideshow.svg b/icons/new-slideshow.svg
deleted file mode 100644
index 2bda67c..0000000
--- a/icons/new-slideshow.svg
+++ /dev/null
@@ -1,462 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://creativecommons.org/ns#"
- xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- enable-background="new 0 0 55 55"
- height="55px"
- id="svg2972"
- version="1.1"
- viewBox="0 0 55 55"
- width="55px"
- x="0px"
- xml:space="preserve"
- y="0px"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docname="new-slideshow.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
- id="metadata2729"><rdf:RDF><cc:Work
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
- id="defs2727"><linearGradient
- id="linearGradient96"><stop
- offset="0.000000"
- style="stop-color:#fbddb2;stop-opacity:0.992157;"
- id="stop97" /><stop
- offset="1.000000"
- style="stop-color:#efa81a;stop-opacity:0.952941;"
- id="stop98" /></linearGradient><radialGradient
- xlink:href="#linearGradient96"
- id="radialGradient95"
- cx="3.9486481"
- cy="21.445167"
- fx="3.9486481"
- fy="21.445167"
- r="28.869786"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.2068054,0,0,0.2375171,41.430177,61.327763)"
- spreadMethod="pad" /><linearGradient
- inkscape:collect="always"
- id="linearGradient2399"><stop
- style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
- offset="0"
- id="stop2401" /><stop
- style="stop-color: rgb(255, 255, 255); stop-opacity: 0;"
- offset="1"
- id="stop2403" /></linearGradient><linearGradient
- id="linearGradient2371"><stop
- style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"
- offset="0"
- id="stop2373" /><stop
- style="stop-color: rgb(0, 0, 0); stop-opacity: 0.484536;"
- offset="1"
- id="stop2375" /></linearGradient><linearGradient
- id="linearGradient2407"><stop
- style="stop-color: rgb(213, 213, 213); stop-opacity: 1;"
- offset="0"
- id="stop2409" /><stop
- style="stop-color: rgb(116, 116, 116); stop-opacity: 1;"
- offset="1"
- id="stop2411" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2355"><stop
- style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"
- offset="0"
- id="stop2357" /><stop
- style="stop-color: rgb(0, 0, 0); stop-opacity: 0;"
- offset="1"
- id="stop2359" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2337"><stop
- style="stop-color: rgb(255, 255, 255); stop-opacity: 1;"
- offset="0"
- id="stop2339" /><stop
- style="stop-color: rgb(255, 255, 255); stop-opacity: 0;"
- offset="1"
- id="stop2341" /></linearGradient><linearGradient
- id="linearGradient2345"><stop
- style="stop-color: rgb(213, 213, 213); stop-opacity: 1;"
- offset="0"
- id="stop2347" /><stop
- style="stop-color: rgb(160, 160, 160); stop-opacity: 1;"
- offset="1"
- id="stop2349" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2252"><stop
- style="stop-color: rgb(198, 198, 198); stop-opacity: 1;"
- offset="0"
- id="stop2254" /><stop
- style="stop-color: rgb(198, 198, 198); stop-opacity: 0;"
- offset="1"
- id="stop2256" /></linearGradient><linearGradient
- id="linearGradient2232"><stop
- style="stop-color: rgb(176, 176, 176); stop-opacity: 1;"
- offset="0"
- id="stop2234" /><stop
- style="stop-color: rgb(116, 116, 116); stop-opacity: 1;"
- offset="1"
- id="stop2236" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2242"><stop
- style="stop-color: rgb(0, 0, 0); stop-opacity: 1;"
- offset="0"
- id="stop2244" /><stop
- style="stop-color: rgb(0, 0, 0); stop-opacity: 0;"
- offset="1"
- id="stop2246" /></linearGradient><inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 27.5 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="55 : 27.5 : 1"
- inkscape:persp3d-origin="27.5 : 18.333333 : 1"
- id="perspective2731" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2242"
- id="radialGradient3194"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.425856,0,23.5399)"
- cx="25.1875"
- cy="41"
- fx="25.1875"
- fy="41"
- r="16.4375" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2232"
- id="radialGradient3196"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.52514,0,22.0217)"
- cx="15.4375"
- cy="42.090427"
- fx="15.4375"
- fy="42.090427"
- r="11.1875" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2252"
- id="linearGradient3198"
- gradientUnits="userSpaceOnUse"
- x1="41.25"
- y1="36.689548"
- x2="48.25"
- y2="35.689548" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2345"
- id="radialGradient3200"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.49192,-8.44511e-2,-5.87441e-2,3.98672,-9.6468,-20.2759)"
- cx="19.557497"
- cy="6.644074"
- fx="19.557497"
- fy="6.644074"
- r="10.98921" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2337"
- id="radialGradient3202"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.53075,0,0,4.4512431,-28.91508,-14.647051)"
- cx="20.275276"
- cy="5.7119732"
- fx="20.275276"
- fy="5.7119732"
- r="12.494026" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2355"
- id="linearGradient3204"
- gradientUnits="userSpaceOnUse"
- x1="25.160467"
- y1="15.803662"
- x2="33.96875"
- y2="20.4375" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2355"
- id="linearGradient3206"
- gradientUnits="userSpaceOnUse"
- x1="25.160467"
- y1="15.803662"
- x2="33.96875"
- y2="20.4375" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2355"
- id="linearGradient3208"
- gradientUnits="userSpaceOnUse"
- x1="25.160467"
- y1="15.803662"
- x2="33.96875"
- y2="20.4375" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2355"
- id="linearGradient3210"
- gradientUnits="userSpaceOnUse"
- x1="25.160467"
- y1="15.803662"
- x2="33.96875"
- y2="20.4375" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2407"
- id="radialGradient3212"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.435326,0,0,0.435326,18.9166,12.4934)"
- cx="33.499996"
- cy="20.538168"
- fx="33.499996"
- fy="20.538168"
- r="2.2697367" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2355"
- id="linearGradient3214"
- gradientUnits="userSpaceOnUse"
- x1="25.160467"
- y1="15.803662"
- x2="33.96875"
- y2="20.4375" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2371"
- id="linearGradient3216"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-4.5961941,-0.3535534)"
- x1="18.328718"
- y1="15.323075"
- x2="14.40625"
- y2="14.046875" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2371"
- id="linearGradient3218"
- gradientUnits="userSpaceOnUse"
- x1="18.328718"
- y1="15.323075"
- x2="14.40625"
- y2="14.046875" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2371"
- id="linearGradient3220"
- gradientUnits="userSpaceOnUse"
- x1="18.328718"
- y1="15.323075"
- x2="14.40625"
- y2="14.046875" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2371"
- id="linearGradient3222"
- gradientUnits="userSpaceOnUse"
- x1="18.328718"
- y1="15.323075"
- x2="14.40625"
- y2="14.046875" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2371"
- id="linearGradient3224"
- gradientUnits="userSpaceOnUse"
- x1="18.328718"
- y1="15.323075"
- x2="14.40625"
- y2="14.046875" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3226"
- gradientUnits="userSpaceOnUse"
- x1="16.4375"
- y1="49.110714"
- x2="17.402376"
- y2="43.420425" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient96"
- id="radialGradient2841"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.2068054,0,0,0.2375171,1.6418138e-3,20.50447)"
- spreadMethod="pad"
- cx="3.9486481"
- cy="21.445167"
- fx="3.9486481"
- fy="21.445167"
- r="28.869786" /></defs><sodipodi:namedview
- inkscape:window-height="726"
- inkscape:window-width="645"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- guidetolerance="10.0"
- gridtolerance="10.0"
- objecttolerance="10.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- showgrid="false"
- inkscape:zoom="8.9818182"
- inkscape:cx="27.5"
- inkscape:cy="27.68773"
- inkscape:window-x="449"
- inkscape:window-y="25"
- inkscape:current-layer="svg2972" />
-<g
- id="g2709">
- <g
- id="g2711">
- <path
- d="M11.908,34.521c-0.516,0.1-1.012-0.219-1.108-0.712L7.72,17.94c-0.095-0.493,0.245-0.975,0.761-1.075 l21.5-4.173c0.515-0.1,1.013,0.219,1.106,0.713l1.029,5.306l0.049-0.044l5.024,1.097l-1.608-8.618 c-0.294-1.503-1.748-2.485-3.251-2.192L5.121,14.235c-1.503,0.292-2.485,1.747-2.193,3.249l3.697,19.048 c0.292,1.503,1.746,2.484,3.249,2.193l4.623-0.945l1.016-3.959L11.908,34.521z"
- fill="#666666"
- id="path2713" />
- </g>
-</g>
-<path
- d="M34.167,29.272c0.097,0.493-0.245,0.977-0.761,1.074l-21.497,4.174 c-0.517,0.1-1.014-0.219-1.109-0.712L7.72,17.94c-0.095-0.493,0.245-0.975,0.762-1.075l21.499-4.173 c0.515-0.1,1.013,0.219,1.106,0.713L34.167,29.272z"
- fill="#ffffff"
- id="path3554_1_" />
-<g
- id="g2716">
- <g
- id="g2718">
- <path
- d="M49.668,23.2l-4.624-0.954l-2.055,2.779l3.032,0.669c0.515,0.113,0.843,0.603,0.734,1.096l-3.485,15.783 c-0.107,0.491-0.613,0.798-1.125,0.684l-21.385-4.723c-0.513-0.112-0.841-0.603-0.733-1.094l3.485-15.784 c0.109-0.491,0.613-0.798,1.127-0.684l11.574,2.556l2.365-2.785L22.602,17.22c-1.495-0.33-2.975,0.615-3.304,2.11l-4.185,18.944 c-0.331,1.496,0.614,2.977,2.109,3.307l27.064,5.977c1.495,0.33,2.973-0.612,3.304-2.108l4.188-18.946 C52.106,25.009,51.163,23.53,49.668,23.2z"
- fill="#666666"
- id="path2720" />
- </g>
-</g>
-<path
- d="M43.271,42.573c-0.107,0.491-0.613,0.798-1.125,0.684l-21.385-4.723 c-0.513-0.112-0.84-0.603-0.733-1.094l3.485-15.784c0.109-0.491,0.613-0.798,1.127-0.684l21.382,4.722 c0.515,0.113,0.843,0.603,0.734,1.096L43.271,42.573z"
- fill="#ffffff"
- id="path3560_1_" />
-<path
- d="M53.008,10.631c0-0.045-0.002-0.093-0.009-0.141c-0.069-0.589-0.562-1.31-1.28-1.878 c-0.721-0.569-1.536-0.878-2.127-0.81c-0.257,0.032-0.461,0.142-0.602,0.304l-0.016-0.009L38.568,21.872l-0.047,0.046l-0.006,0.01 c-0.016,0.018-0.019,0.043-0.031,0.063l-1.351,1.663c0,0,0.078,0.061,0.158,0.125l-0.164-0.114l-0.025,0.033 c-0.061,0.074-0.097,0.168-0.124,0.267c-0.011,0.012-0.026,0.015-0.032,0.029l-0.848,2.01l2.546,2.037l1.987-1.281 c0.014-0.006,0.011-0.022,0.021-0.033c0.052-0.04,0.111-0.074,0.152-0.124c0.004-0.007,0.024-0.037,0.028-0.039l1.389-1.733 l0.022-0.021l-0.005-0.002l0.016-0.017l0.005,0.002l10.518-13.57c0.021-0.019,0.045-0.027,0.062-0.048 c0.022-0.027,0.031-0.064,0.047-0.094l0.013-0.012l-0.002-0.002C52.963,10.939,53.008,10.798,53.008,10.631z"
- fill="#666666"
- id="path3562" />
-<path
- d="M33.625,31.123c0,0-6.7,4.055-7.934,2.555 c-1.235-1.498,0.353-2.995,1.146-2.995s3.791,2.291,1.675,4.585c-2.117,2.291-3.617,1.764-3.617,1.764"
- fill="none"
- id="path3564"
- stroke="#666666"
- stroke-width="1.009" />
-<path
- d="M34.438,30.019c-0.032,0.083-0.012,0.176,0.057,0.232c0.067,0.058,0.164,0.064,0.238,0.016 l2.879-1.851l-1.869-1.497L34.438,30.019z"
- fill="#666666"
- id="path3566" />
-<g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="microphone" /><g
- id="g3105"
- transform="matrix(0.5232537,0,0,0.4950076,4.3255858,4.694013)"><path
- transform="matrix(1.10646,0,0,1.04464,-2.68156,-2.51786)"
- d="M 41.625,41 A 16.4375,7 0 1 1 8.75,41 A 16.4375,7 0 1 1 41.625,41 z"
- sodipodi:ry="7"
- sodipodi:rx="16.4375"
- sodipodi:cy="41"
- sodipodi:cx="25.1875"
- id="path2240"
- style="opacity:0.49431799;fill:url(#radialGradient3194);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" /><path
- transform="translate(8.75,-7)"
- d="M 27.625,46.375 A 11.1875,5.875 0 1 1 5.25,46.375 A 11.1875,5.875 0 1 1 27.625,46.375 z"
- sodipodi:ry="5.875"
- sodipodi:rx="11.1875"
- sodipodi:cy="46.375"
- sodipodi:cx="16.4375"
- id="path2222"
- style="opacity:1;fill:url(#radialGradient3196);fill-opacity:1;fill-rule:evenodd;stroke:#424242;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" /><path
- sodipodi:type="arc"
- style="opacity:1;fill:#424242;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path2260"
- sodipodi:cx="33.5"
- sodipodi:cy="22.125"
- sodipodi:rx="1.875"
- sodipodi:ry="1.875"
- d="M 35.375,22.125 A 1.875,1.875 0 1 1 31.625,22.125 A 1.875,1.875 0 1 1 35.375,22.125 z"
- transform="matrix(2.06667,0,0,1.26667,-43.9833,9.475)" /><path
- sodipodi:nodetypes="cszzc"
- id="path2250"
- d="M 20.25,31.375 C 20.25,31.375 20.985875,34.77724 23.25,34.5 C 29.375,33.75 28.721362,34.010493 33.125,35.375 C 37.5625,36.75 35.21875,38.96875 39.75,39.375 C 44.28125,39.78125 43.875,35.75 47.75,35.5"
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3198);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><rect
- transform="matrix(0.970732,0.240164,-0.264014,0.964519,0,0)"
- ry="6.6936979"
- rx="6.6936979"
- y="-4.0142608"
- x="16.028919"
- height="30.692028"
- width="22.136791"
- id="rect1343"
- style="opacity:1;fill:url(#radialGradient3200);fill-opacity:1;fill-rule:evenodd;stroke:#7c7c7c;stroke-width:1.00014997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><rect
- style="opacity:0.30681799;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00014997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect2353"
- width="19.862064"
- height="28.524395"
- x="17.210075"
- y="-3.006144"
- rx="5.4198565"
- ry="5.4198565"
- transform="matrix(0.970732,0.240164,-0.264014,0.964519,0,0)" /><path
- sodipodi:nodetypes="cccsccsssssssssssssssssssssssscccsccssssssssssssssssssssssssssssssccccsccssssssssssssssssssssssssssssssccccccccssssssssscccsssssssssssssssssssssssssccccssccccsccssssssssssssssssssssssssssscccsssssssssssssssssssssssccccssccccsccssssssssssssssssssssssssssscccssssssssssssssssssssssssscccccssssssssssssssssssssssscccccssssssssssssssssssssssssccc"
- id="rect2302"
- d="M 22.21507,2.1586646 C 19.993982,2.8419631 18.064553,6.11263 17.43382,10.579833 L 12.59007,45.173267 C 15.447016,47.895386 19.22768,46.082026 22.80882,46.082026 C 23.298828,46.082026 23.796888,46.07907 24.27757,46.021442 C 23.342429,45.580269 21.96507,44.930931 21.96507,44.930931 C 21.745207,44.815494 21.543886,44.668833 21.40257,44.44626 C 21.397838,44.438383 21.375909,44.39376 21.37132,44.385676 C 21.357994,44.360785 21.324385,44.295981 21.30882,44.264508 C 21.303164,44.253775 21.283185,44.214717 21.27757,44.203924 C 21.269347,44.17318 21.252624,44.106823 21.24632,44.082756 C 21.236648,44.035572 21.221593,43.943297 21.21507,43.901004 C 21.215266,43.894996 21.215009,43.845726 21.21507,43.84042 C 21.209239,43.819517 21.189444,43.740465 21.18382,43.719252 C 21.183891,43.707349 21.183867,43.666419 21.18382,43.658668 C 21.18405,43.624034 21.183787,43.559844 21.18382,43.537501 C 21.183714,43.525781 21.183503,43.483954 21.18382,43.476917 C 21.183711,43.470779 21.183831,43.421712 21.18382,43.416333 C 21.19194,43.346104 21.208482,43.235098 21.21507,43.173997 C 21.220328,43.154096 21.240474,43.074649 21.24632,43.052829 C 21.246321,43.047286 21.246583,42.998208 21.24632,42.992245 C 21.253935,42.94461 21.268644,42.853675 21.27757,42.810493 C 21.285643,42.77858 21.303721,42.708776 21.30882,42.689325 C 21.333585,42.601792 21.372075,42.461188 21.40257,42.386406 C 21.40899,42.373833 21.429561,42.334084 21.43382,42.325822 C 21.445069,42.315137 21.486035,42.274931 21.49632,42.265238 C 21.524876,42.231985 21.585658,42.172766 21.62132,42.14407 C 21.632197,42.144368 21.672839,42.143459 21.68382,42.14407 C 21.683639,42.140685 21.683766,42.097088 21.68382,42.083486 C 21.690832,42.083373 21.713299,42.083086 21.71507,42.083486 C 21.889903,42.020149 22.111554,42.070233 22.34007,42.14407 L 28.27757,44.809763 C 29.467865,44.245328 30.604797,43.471628 31.68382,42.568157 C 31.531417,42.401171 31.366355,42.295101 31.21507,42.204654 C 31.177701,42.183677 31.127179,42.159215 31.09007,42.14407 C 31.09007,42.14407 22.87132,38.266697 22.87132,38.266697 C 22.651457,38.15126 22.427107,38.004598 22.27757,37.782026 C 22.272566,37.774149 22.251168,37.729526 22.24632,37.721442 C 22.2418,37.712927 22.21942,37.669595 22.21507,37.660858 C 22.210895,37.651893 22.187815,37.609471 22.18382,37.600274 C 22.178403,37.579671 22.157552,37.500265 22.15257,37.479106 C 22.146868,37.468439 22.126971,37.429254 22.12132,37.418522 C 22.121633,37.412336 22.121228,37.363289 22.12132,37.357938 C 22.11559,37.336837 22.095572,37.258158 22.09007,37.23677 C 22.090241,37.230762 22.090012,37.181492 22.09007,37.176186 C 22.090039,37.155283 22.089851,37.076231 22.09007,37.055018 C 22.089341,37.013278 22.088401,36.917953 22.09007,36.873266 C 22.090112,36.866413 22.090209,36.820365 22.09007,36.812682 C 22.089362,36.787466 22.089223,36.712956 22.09007,36.691515 C 22.089926,36.684857 22.090092,36.636417 22.09007,36.630931 C 22.095814,36.609316 22.11599,36.52989 22.12132,36.509763 C 22.130109,36.455805 22.142957,36.377263 22.15257,36.328011 C 22.157874,36.307389 22.178287,36.227637 22.18382,36.206843 C 22.200943,36.136412 22.228197,36.025446 22.24632,35.964507 C 22.26074,35.92387 22.2912,35.828179 22.30882,35.782755 C 22.313398,35.773306 22.335401,35.731208 22.34007,35.722171 C 22.346487,35.709599 22.367062,35.66985 22.37132,35.661587 C 22.382613,35.650901 22.423566,35.610697 22.43382,35.601003 C 22.449712,35.584996 22.483754,35.552265 22.49632,35.54042 C 22.504834,35.533035 22.542255,35.495766 22.55882,35.479836 C 22.561977,35.480309 22.587322,35.479698 22.59007,35.479836 C 22.59435,35.471614 22.614803,35.431737 22.62132,35.419252 C 22.6241,35.419364 22.649316,35.418932 22.65257,35.419252 C 22.659723,35.405642 22.682489,35.362064 22.68382,35.358668 C 22.687075,35.358978 22.71229,35.358555 22.71507,35.358668 C 22.721429,35.358908 22.743317,35.358902 22.74632,35.358668 C 22.890468,35.347433 23.068342,35.422328 23.24632,35.479836 L 31.55882,39.23604 C 32.178205,39.571146 32.746139,40.416303 33.18382,41.235311 C 33.697582,40.705559 34.175099,40.082033 34.65257,39.478376 C 34.506925,39.100336 33.322125,36.183604 32.24632,35.54042 C 32.208951,35.519443 32.158429,35.494981 32.12132,35.479836 C 32.12132,35.479836 23.90257,31.602463 23.90257,31.602463 C 23.682707,31.487026 23.458357,31.340364 23.30882,31.117791 C 23.303816,31.109915 23.282418,31.065292 23.27757,31.057207 C 23.27305,31.048693 23.25067,31.005361 23.24632,30.996624 C 23.242145,30.987659 23.219065,30.945237 23.21507,30.93604 C 23.209653,30.915437 23.188802,30.836031 23.18382,30.814872 C 23.178118,30.804205 23.158221,30.76502 23.15257,30.754288 C 23.152883,30.748101 23.152478,30.699055 23.15257,30.693704 C 23.14684,30.672603 23.126822,30.593923 23.12132,30.572536 C 23.121491,30.566528 23.121262,30.517258 23.12132,30.511952 C 23.121289,30.491049 23.121101,30.411997 23.12132,30.390784 C 23.120591,30.349044 23.119651,30.253719 23.12132,30.209032 C 23.121362,30.202179 23.121459,30.156131 23.12132,30.148448 C 23.120612,30.123232 23.120473,30.048722 23.12132,30.02728 C 23.121176,30.020623 23.121342,29.972183 23.12132,29.966696 C 23.127064,29.945082 23.14724,29.865656 23.15257,29.845529 C 23.161359,29.791571 23.174207,29.713029 23.18382,29.663777 C 23.189124,29.643155 23.209537,29.563403 23.21507,29.542609 C 23.232193,29.472178 23.259447,29.361212 23.27757,29.300273 C 23.29199,29.259636 23.32245,29.163945 23.34007,29.118521 C 23.344648,29.109072 23.366651,29.066973 23.37132,29.057937 C 23.377737,29.045365 23.398312,29.005618 23.40257,28.997353 C 23.413863,28.986667 23.454816,28.946463 23.46507,28.936769 C 23.480962,28.920762 23.515004,28.888031 23.52757,28.876185 C 23.53306,28.865081 23.553307,28.826621 23.55882,28.815601 C 23.569749,28.815935 23.610299,28.81495 23.62132,28.815601 C 23.6256,28.807379 23.646053,28.767503 23.65257,28.755018 C 23.65535,28.75513 23.680566,28.7547 23.68382,28.755018 C 23.690973,28.741406 23.713739,28.697832 23.71507,28.694434 C 23.718325,28.694744 23.74354,28.694321 23.74632,28.694434 C 23.752679,28.694674 23.774567,28.694666 23.77757,28.694434 C 23.921718,28.683199 24.099592,28.758094 24.27757,28.815601 L 32.59007,32.571806 C 33.93382,33.298814 35.05882,36.449179 35.05882,36.449179 L 34.65257,39.478376 C 34.836737,39.245538 35.03664,39.055256 35.21507,38.811953 L 37.80882,20.333849 C 38.650231,14.374487 36.848446,8.4177135 33.77757,6.9447964 L 24.49632,2.4615843 C 23.89654,2.1739052 23.303073,2.0788021 22.71507,2.1586646 C 22.711521,2.1591465 22.689905,2.1588162 22.68382,2.1586646 C 22.670924,2.1581704 22.633771,2.1598311 22.62132,2.1586646 C 22.615045,2.1582414 22.596501,2.1587092 22.59007,2.1586646 C 22.587023,2.1585444 22.56543,2.1587202 22.55882,2.1586646 C 22.52881,2.1602937 22.46376,2.1562625 22.43382,2.1586646 C 22.424556,2.159398 22.387525,2.159132 22.37132,2.1586646 C 22.367493,2.1585649 22.344175,2.1582138 22.34007,2.1586646 C 22.329452,2.1583154 22.28818,2.1589327 22.27757,2.1586646 C 22.266941,2.1582984 22.22569,2.1589509 22.21507,2.1586646 z M 17.71507,12.276184 L 22.62132,14.154286 C 22.81175,14.267881 23.01278,14.435772 23.15257,14.699542 C 23.1571,14.708551 23.179426,14.750896 23.18382,14.760126 C 23.188075,14.769579 23.21096,14.81103 23.21507,14.82071 C 23.22041,14.841238 23.241337,14.920817 23.24632,14.941878 C 23.251999,14.95252 23.271934,14.991758 23.27757,15.002462 C 23.287659,15.050182 23.301098,15.140858 23.30882,15.184213 C 23.31759,15.23957 23.333658,15.357843 23.34007,15.426549 C 23.339992,15.438417 23.340018,15.479387 23.34007,15.487133 C 23.339819,15.521508 23.340108,15.585519 23.34007,15.608301 C 23.340424,15.663284 23.342068,15.7929 23.34007,15.850637 C 23.340213,15.857291 23.340053,15.905738 23.34007,15.911221 C 23.334346,15.932761 23.314288,16.011386 23.30882,16.032389 C 23.301582,16.085713 23.286162,16.165159 23.27757,16.214141 C 23.277854,16.220106 23.277536,16.26914 23.27757,16.274724 C 23.271906,16.296984 23.25173,16.376333 23.24632,16.395892 C 23.239195,16.423912 23.222717,16.490827 23.21507,16.51706 C 23.209477,16.527695 23.189444,16.567118 23.18382,16.577644 C 23.178558,16.599151 23.157949,16.677728 23.15257,16.698812 C 23.148028,16.709363 23.125972,16.749256 23.12132,16.759396 C 23.11656,16.76913 23.094935,16.810648 23.09007,16.81998 C 23.085103,16.828916 23.063887,16.87202 23.05882,16.880564 C 23.048199,16.890925 23.007148,16.931636 22.99632,16.941148 C 22.990819,16.952148 22.970592,16.990822 22.96507,17.001732 C 22.944002,17.018636 22.893058,17.048529 22.87132,17.062316 C 22.847095,17.079175 22.802773,17.111202 22.77757,17.1229 C 22.612332,17.190858 22.424054,17.160765 22.24632,17.062316 L 17.30882,15.002462 L 17.71507,12.276184 z M 25.52757,15.365965 C 25.530825,15.366276 25.55604,15.365853 25.55882,15.365965 C 25.565179,15.366205 25.587067,15.366199 25.59007,15.365965 C 25.734218,15.35473 25.912092,15.429626 26.09007,15.487133 L 34.40257,19.243338 C 35.74632,19.970345 36.62132,22.636039 36.62132,22.636039 L 36.27757,25.604652 C 36.131925,25.226612 35.134625,22.855136 34.05882,22.211951 C 34.021451,22.190975 33.970929,22.166514 33.93382,22.151367 C 33.93382,22.151367 25.71507,18.273995 25.71507,18.273995 C 25.495207,18.158558 25.270857,18.011896 25.12132,17.789323 C 25.116316,17.781446 25.094918,17.736824 25.09007,17.728739 C 25.08555,17.720225 25.06317,17.676892 25.05882,17.668155 C 25.054645,17.659191 25.031565,17.616768 25.02757,17.607571 C 25.022153,17.586969 25.001302,17.507562 24.99632,17.486403 C 24.990618,17.475737 24.970721,17.436551 24.96507,17.425819 C 24.965383,17.419634 24.964978,17.370585 24.96507,17.365236 C 24.95934,17.344134 24.939322,17.265454 24.93382,17.244068 C 24.933991,17.23806 24.933762,17.188791 24.93382,17.183484 C 24.933789,17.16258 24.933601,17.083529 24.93382,17.062316 C 24.933091,17.020577 24.932151,16.92525 24.93382,16.880564 C 24.933862,16.87371 24.933959,16.827663 24.93382,16.81998 C 24.933112,16.794763 24.932973,16.720254 24.93382,16.698812 C 24.933676,16.692154 24.933842,16.643715 24.93382,16.638228 C 24.939564,16.616614 24.95974,16.537187 24.96507,16.51706 C 24.973859,16.463103 24.986707,16.384561 24.99632,16.335308 C 25.001624,16.314686 25.022037,16.234936 25.02757,16.214141 C 25.044693,16.14371 25.071947,16.032743 25.09007,15.971805 C 25.10449,15.931168 25.13495,15.835477 25.15257,15.790053 C 25.157148,15.780603 25.179151,15.738506 25.18382,15.729469 C 25.190237,15.716896 25.210812,15.677149 25.21507,15.668885 C 25.226363,15.658199 25.267316,15.617994 25.27757,15.608301 C 25.293462,15.592294 25.327504,15.559564 25.34007,15.547717 C 25.34556,15.536613 25.365807,15.498153 25.37132,15.487133 C 25.382249,15.487466 25.422799,15.486481 25.43382,15.487133 C 25.4381,15.478911 25.458553,15.439035 25.46507,15.426549 C 25.46785,15.426662 25.493066,15.42623 25.49632,15.426549 C 25.503473,15.412939 25.526239,15.369363 25.52757,15.365965 z M 16.80882,18.81925 L 21.71507,20.697353 C 21.9055,20.810948 22.10653,20.978838 22.24632,21.242608 C 22.25085,21.251617 22.273176,21.293962 22.27757,21.303192 C 22.281825,21.312645 22.30471,21.354096 22.30882,21.363776 C 22.31416,21.384305 22.335087,21.463884 22.34007,21.484944 C 22.345749,21.495585 22.365684,21.534824 22.37132,21.545528 C 22.37114,21.548597 22.371262,21.592399 22.37132,21.606112 C 22.376977,21.627185 22.397108,21.705946 22.40257,21.72728 C 22.409586,21.771565 22.427062,21.856925 22.43382,21.909032 C 22.433993,21.915743 22.433781,21.961855 22.43382,21.969615 C 22.433391,22.004207 22.433491,22.068444 22.43382,22.090783 C 22.433744,22.136348 22.436183,22.22426 22.43382,22.272535 C 22.428563,22.354532 22.414777,22.485525 22.40257,22.575455 C 22.402657,22.580618 22.402259,22.630657 22.40257,22.636039 C 22.389865,22.694275 22.354068,22.824375 22.34007,22.878375 C 22.333214,22.907302 22.316209,22.97242 22.30882,22.999543 C 22.303517,23.020895 22.282998,23.099794 22.27757,23.12071 C 22.271991,23.131398 22.251928,23.170713 22.24632,23.181294 C 22.210891,23.269026 22.16339,23.361433 22.12132,23.42363 C 22.115809,23.434586 22.095603,23.473352 22.09007,23.484214 C 22.074217,23.500137 22.040551,23.532239 22.02757,23.544798 C 22.018802,23.552646 21.981593,23.589516 21.96507,23.605382 C 21.961925,23.604876 21.936564,23.605529 21.93382,23.605382 C 21.922911,23.616495 21.882288,23.655171 21.87132,23.665966 C 21.706082,23.733925 21.517804,23.70383 21.34007,23.605382 L 16.40257,21.545528 L 16.80882,18.81925 z M 24.62132,22.030199 C 24.624575,22.03051 24.64979,22.030087 24.65257,22.030199 C 24.658929,22.03044 24.680817,22.030434 24.68382,22.030199 C 24.827968,22.018965 25.005842,22.09386 25.18382,22.151367 L 33.49632,25.907572 C 34.84007,26.634579 35.59007,29.118521 35.59007,29.118521 L 35.27757,31.905383 C 35.131925,31.527343 34.228375,29.51937 33.15257,28.876185 C 33.115201,28.855209 33.064679,28.830746 33.02757,28.815601 C 33.02757,28.815601 24.80882,24.938229 24.80882,24.938229 C 24.588957,24.822792 24.364607,24.67613 24.21507,24.453557 C 24.210066,24.44568 24.188668,24.401058 24.18382,24.392973 C 24.1793,24.384459 24.15692,24.341127 24.15257,24.332389 C 24.148395,24.323425 24.125315,24.281003 24.12132,24.271805 C 24.115903,24.251203 24.095052,24.171796 24.09007,24.150638 C 24.084368,24.139971 24.064471,24.100786 24.05882,24.090054 C 24.059133,24.083867 24.058728,24.03482 24.05882,24.02947 C 24.05309,24.008369 24.033072,23.929687 24.02757,23.908302 C 24.027741,23.902294 24.027512,23.853024 24.02757,23.847718 C 24.027539,23.826815 24.027351,23.747763 24.02757,23.72655 C 24.026841,23.68481 24.025901,23.589485 24.02757,23.544798 C 24.027612,23.537945 24.027709,23.491897 24.02757,23.484214 C 24.026862,23.458998 24.026723,23.384488 24.02757,23.363046 C 24.027426,23.356389 24.027592,23.307949 24.02757,23.302462 C 24.033314,23.280848 24.05349,23.201422 24.05882,23.181294 C 24.067609,23.127337 24.080457,23.048795 24.09007,22.999543 C 24.095374,22.978921 24.115787,22.899169 24.12132,22.878375 C 24.138443,22.807944 24.165697,22.696978 24.18382,22.636039 C 24.19824,22.595402 24.2287,22.49971 24.24632,22.454287 C 24.250898,22.444838 24.272901,22.402739 24.27757,22.393703 C 24.283987,22.381131 24.304562,22.341384 24.30882,22.333119 C 24.320113,22.322433 24.361066,22.282229 24.37132,22.272535 C 24.387212,22.256527 24.421254,22.223799 24.43382,22.211951 C 24.442334,22.204567 24.479755,22.167297 24.49632,22.151367 C 24.499477,22.15184 24.524822,22.15123 24.52757,22.151367 C 24.53185,22.143145 24.552303,22.103269 24.55882,22.090783 C 24.5616,22.090896 24.586816,22.090465 24.59007,22.090783 C 24.597223,22.077174 24.619989,22.033598 24.62132,22.030199 z M 15.87132,25.362316 L 20.77757,27.301003 C 20.916425,27.383831 21.062201,27.51338 21.18382,27.664506 C 21.194868,27.674737 21.235393,27.714612 21.24632,27.72509 C 21.251851,27.735875 21.272073,27.774824 21.27757,27.785674 C 21.282892,27.794757 21.303647,27.8369 21.30882,27.846258 C 21.321992,27.871568 21.355511,27.936043 21.37132,27.967426 C 21.376966,27.978114 21.396964,28.017262 21.40257,28.02801 C 21.40239,28.034683 21.402626,28.083077 21.40257,28.088594 C 21.408105,28.11002 21.428262,28.1896 21.43382,28.209762 C 21.439547,28.220339 21.459391,28.259704 21.46507,28.270346 C 21.476102,28.332281 21.490569,28.443946 21.49632,28.512682 C 21.49635,28.533468 21.496523,28.612776 21.49632,28.63385 C 21.496978,28.678531 21.497906,28.768239 21.49632,28.815601 C 21.496404,28.821825 21.496321,28.870751 21.49632,28.876185 C 21.488511,28.947075 21.472138,29.060566 21.46507,29.118521 C 21.4653,29.124591 21.465044,29.173756 21.46507,29.179105 C 21.450883,29.240205 21.416414,29.36568 21.40257,29.421441 C 21.394497,29.453078 21.376582,29.521502 21.37132,29.542609 C 21.365935,29.563074 21.34822,29.632543 21.34007,29.663777 C 21.334926,29.685211 21.313984,29.765067 21.30882,29.784945 C 21.283564,29.842107 21.241673,29.921839 21.21507,29.966696 C 21.209548,29.977605 21.189366,30.016466 21.18382,30.02728 C 21.178309,30.038236 21.158103,30.077002 21.15257,30.087864 C 21.136717,30.103787 21.103051,30.135889 21.09007,30.148448 C 21.081302,30.156296 21.044093,30.193166 21.02757,30.209032 C 21.024425,30.208526 20.999064,30.20918 20.99632,30.209032 C 20.816986,30.312271 20.600812,30.318841 20.40257,30.209032 L 15.46507,28.02801 L 15.87132,25.362316 z M 14.99632,31.844799 L 19.90257,33.904653 C 20.124738,34.037182 20.357682,34.28482 20.49632,34.63166 C 20.501966,34.642348 20.521964,34.681496 20.52757,34.692244 C 20.535744,34.722817 20.552148,34.787858 20.55882,34.813412 C 20.568703,34.861428 20.583054,34.950879 20.59007,34.995164 C 20.595838,35.016096 20.615766,35.095125 20.62132,35.116332 C 20.621319,35.137155 20.621549,35.216393 20.62132,35.2375 C 20.621261,35.249343 20.621256,35.290352 20.62132,35.298084 C 20.621251,35.33224 20.621732,35.396022 20.62132,35.419252 C 20.621391,35.42549 20.621332,35.474388 20.62132,35.479836 C 20.621481,35.485778 20.621296,35.5351 20.62132,35.54042 C 20.617818,35.563312 20.594899,35.636732 20.59007,35.661587 C 20.588742,35.668974 20.591084,35.715636 20.59007,35.722171 C 20.590357,35.727516 20.590016,35.777612 20.59007,35.782755 C 20.581625,35.844968 20.568846,35.960998 20.55882,36.025091 C 20.527306,36.178951 20.478107,36.339513 20.43382,36.449179 C 20.429278,36.459729 20.407222,36.499623 20.40257,36.509763 C 20.39781,36.519497 20.376185,36.561014 20.37132,36.570347 C 20.366353,36.579282 20.345137,36.622387 20.34007,36.630931 C 20.334548,36.64184 20.314366,36.680701 20.30882,36.691515 C 20.298226,36.702005 20.257109,36.742436 20.24632,36.752098 C 20.240829,36.763141 20.220581,36.801727 20.21507,36.812682 C 20.19029,36.831532 20.142745,36.859668 20.12132,36.873266 C 20.110411,36.87302 20.069788,36.873831 20.05882,36.873266 C 19.893582,36.941225 19.705304,36.911131 19.52757,36.812682 L 14.59007,34.571076 L 14.99632,31.844799 z M 14.02757,38.387865 L 18.93382,40.447719 C 19.12425,40.561315 19.32528,40.729205 19.46507,40.992975 C 19.4696,41.001984 19.491926,41.044329 19.49632,41.053559 C 19.500575,41.063012 19.52346,41.104463 19.52757,41.114143 C 19.53291,41.134671 19.553837,41.214251 19.55882,41.235311 C 19.564499,41.245952 19.584434,41.285191 19.59007,41.295894 C 19.600159,41.343615 19.613598,41.434291 19.62132,41.477646 C 19.63009,41.533002 19.646158,41.651275 19.65257,41.719982 C 19.653091,41.730717 19.652466,41.765074 19.65257,41.780566 C 19.652319,41.814941 19.652608,41.878952 19.65257,41.901734 C 19.652924,41.956717 19.654568,42.086334 19.65257,42.14407 C 19.651575,42.151161 19.653861,42.197044 19.65257,42.204654 C 19.647845,42.228885 19.625022,42.303738 19.62132,42.325822 C 19.614082,42.379147 19.598662,42.458593 19.59007,42.507573 C 19.582172,42.549191 19.568118,42.642227 19.55882,42.689325 C 19.551695,42.717345 19.535217,42.784261 19.52757,42.810493 C 19.521977,42.821129 19.501944,42.86055 19.49632,42.871077 C 19.491058,42.892585 19.470449,42.971162 19.46507,42.992245 C 19.460528,43.002795 19.438472,43.04269 19.43382,43.052829 C 19.42906,43.062563 19.407435,43.10408 19.40257,43.113413 C 19.397603,43.122348 19.376387,43.165453 19.37132,43.173997 C 19.360699,43.184357 19.319648,43.22507 19.30882,43.234581 C 19.303319,43.245581 19.283092,43.284256 19.27757,43.295165 C 19.256502,43.312068 19.205558,43.341963 19.18382,43.355749 C 19.159595,43.372607 19.115273,43.404635 19.09007,43.416333 C 18.924832,43.484291 18.736554,43.454197 18.55882,43.355749 L 13.62132,41.114143 L 14.02757,38.387865 z"
- style="opacity:0.44318201;fill:url(#radialGradient3202);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00014997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><g
- id="g2937"><path
- style="opacity:1;fill:url(#linearGradient3204);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 22.28125,15.84375 L 30.59375,17.78125 C 31.9375,18.15625 33.0625,19.78125 33.0625,19.78125 L 32.65625,21.375 C 32.65625,21.375 31.3125,19.53125 30.125,19.28125 C 30.125,19.28125 21.90625,17.28125 21.90625,17.28125 C 21.421036,17.149843 20.971366,16.960466 21.15625,16.375 C 21.34375,15.78125 21.71875,15.75 22.28125,15.84375 z"
- id="path2284"
- sodipodi:nodetypes="cccccczc" /></g><path
- sodipodi:nodetypes="ccccccccccsccc"
- id="path1345"
- d="M 31.5,19 L 31.375,34.375 L 31.375,34.40625 L 31.375,34.4375 C 31.462702,35.84074 30.279231,37.074596 29.125,36.84375 L 18.65625,34.6875 C 18.1875,34.5625 16.9375,34.0625 17.34375,32.625 L 15.40625,32.125 C 14.727493,34.561693 16.65625,36.28125 18.09375,36.59375 L 28.75,38.78125 C 31.324613,39.296173 33.497942,36.947282 33.375,34.375 C 33.37399,34.353864 33.376323,34.333663 33.375,34.3125 L 33.5,19 L 31.5,19 z"
- style="opacity:1;fill:#747474;fill-opacity:1;fill-rule:evenodd;stroke:#424242;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- style="opacity:1;fill:url(#linearGradient3206);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 21.25,19.28125 L 29.5625,21.21875 C 30.90625,21.59375 32.03125,23.21875 32.03125,23.21875 L 31.625,24.8125 C 31.625,24.8125 30.28125,22.96875 29.09375,22.71875 C 29.09375,22.71875 20.875,20.71875 20.875,20.71875 C 20.389786,20.587343 19.940116,20.397966 20.125,19.8125 C 20.3125,19.21875 20.6875,19.1875 21.25,19.28125 z"
- id="path2286"
- sodipodi:nodetypes="cccccczc" /><path
- sodipodi:nodetypes="cccccczc"
- id="path2280"
- d="M 24.09375,8.9687499 L 32.40625,10.90625 C 33.75,11.28125 34.46875,12.40625 34.46875,12.40625 L 34.0625,14 C 34.0625,14 33.125,12.65625 31.9375,12.40625 C 31.9375,12.40625 23.71875,10.40625 23.71875,10.40625 C 23.233536,10.274843 22.783866,10.085466 22.96875,9.4999999 C 23.15625,8.9062499 23.53125,8.8749999 24.09375,8.9687499 z"
- style="opacity:1;fill:url(#linearGradient3208);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- style="opacity:1;fill:url(#linearGradient3210);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 23.1875,12.40625 L 31.5,14.34375 C 32.84375,14.71875 33.5625,15.90625 33.5625,15.90625 L 33.125,17.40625 C 33.125,17.40625 32.21875,16.09375 31.03125,15.84375 C 31.03125,15.84375 22.8125,13.84375 22.8125,13.84375 C 22.327286,13.712343 21.877616,13.522966 22.0625,12.9375 C 22.25,12.34375 22.625,12.3125 23.1875,12.40625 z"
- id="path2282"
- sodipodi:nodetypes="cccccczc" /><path
- transform="matrix(1.26667,0,0,1.26667,-10.3083,-8.15)"
- d="M 35.375,22.125 A 1.875,1.875 0 1 1 31.625,22.125 A 1.875,1.875 0 1 1 35.375,22.125 z"
- sodipodi:ry="1.875"
- sodipodi:rx="1.875"
- sodipodi:cy="22.125"
- sodipodi:cx="33.5"
- id="path2220"
- style="opacity:1;fill:url(#radialGradient3212);fill-opacity:1;fill-rule:evenodd;stroke:#424242;stroke-width:0.789473;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" /><path
- sodipodi:nodetypes="cccccczc"
- id="path2288"
- d="M 20.34375,22.71875 L 28.65625,24.65625 C 30,25.03125 31.125,26.65625 31.125,26.65625 L 30.71875,28.25 C 30.71875,28.25 29.375,26.40625 28.1875,26.15625 C 28.1875,26.15625 19.96875,24.15625 19.96875,24.15625 C 19.483536,24.024843 19.096366,23.835466 19.21875,23.25 C 19.342601,22.657518 19.78125,22.625 20.34375,22.71875 z"
- style="opacity:1;fill:url(#linearGradient3214);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- sodipodi:nodetypes="cccczc"
- id="path2292"
- d="M 11.966306,22.990197 L 7.0288059,21.833947 L 7.4350559,20.427697 L 12.341306,21.490197 C 12.747556,21.615197 13.185056,21.865197 13.028806,22.458947 C 12.874388,23.045734 12.403806,23.115197 11.966306,22.990197 z"
- style="opacity:1;fill:url(#linearGradient3216);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- style="opacity:1;fill:url(#linearGradient3218);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 17.53125,19.976562 L 12.59375,18.820312 L 13,17.414062 L 17.90625,18.476562 C 18.3125,18.601562 18.75,18.851562 18.59375,19.445312 C 18.439332,20.0321 17.96875,20.101562 17.53125,19.976562 z"
- id="path2294"
- sodipodi:nodetypes="cccczc" /><path
- sodipodi:nodetypes="cccczc"
- id="path2296"
- d="M 18.40625,16.546875 L 13.46875,15.453125 L 13.875,14.046875 L 18.78125,15.046875 C 19.1875,15.171875 19.625,15.421875 19.46875,16.015625 C 19.314332,16.602412 18.84375,16.671875 18.40625,16.546875 z"
- style="opacity:1;fill:url(#linearGradient3220);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- style="opacity:1;fill:url(#linearGradient3222);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 19.34375,13.148438 L 14.40625,12.085938 L 14.8125,10.679688 L 19.71875,11.648438 C 20.125,11.773438 20.5625,12.023438 20.40625,12.617188 C 20.251832,13.203974 19.78125,13.273438 19.34375,13.148438 z"
- id="path2298"
- sodipodi:nodetypes="cccczc" /><path
- sodipodi:nodetypes="cccczc"
- id="path2300"
- d="M 20.25,9.78125 L 15.3125,8.71875 L 15.71875,7.3125 L 20.625,8.28125 C 21.03125,8.40625 21.46875,8.65625 21.3125,9.25 C 21.158082,9.836787 20.6875,9.90625 20.25,9.78125 z"
- style="opacity:1;fill:url(#linearGradient3224);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- sodipodi:type="arc"
- style="opacity:0.29545504;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3226);stroke-width:1.16238999;stroke-linecap:butt;stroke-linejoin:miter;marker:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path2389"
- sodipodi:cx="16.4375"
- sodipodi:cy="46.375"
- sodipodi:rx="11.1875"
- sodipodi:ry="5.875"
- d="M 27.625,46.375 A 11.1875,5.875 0 1 1 5.25,46.375 A 11.1875,5.875 0 1 1 27.625,46.375 z"
- transform="matrix(0.916296,0,0,0.807726,10.1259,1.91671)" /></g><path
- style="font-size:12px;fill:url(#radialGradient2841);stroke:#cf5d07;stroke-width:0.69259357;stroke-opacity:0.99215698"
- d="M 22.832175,48.09749 L 19.006951,41.473963 L 25.133925,37.778654 L 18.351191,36.201424 L 20.408515,28.612743 L 14.641322,33.005969 L 11.423775,25.969182 L 10.050627,33.758994 L 3.4431408,31.396272 L 7.2683028,38.019828 L 1.1413788,41.715137 L 7.9240638,43.292367 L 5.8667588,50.88095 L 11.633953,46.488076 L 14.851478,53.524745 L 16.224648,45.734683 L 22.832175,48.09749 z"
- id="path64" /></svg> \ No newline at end of file
diff --git a/listview.py b/listview.py
index bf43040..20e61be 100644..100755
--- a/listview.py
+++ b/listview.py
@@ -17,6 +17,7 @@ from path import path
class Listview(gtk.VBox):
def __init__(self, activity, deck):
+ print 'listview init'
self.activity = activity
gtk.VBox.__init__(self)
vbox = gtk.VBox(False, 8)
@@ -96,8 +97,6 @@ class Listview(gtk.VBox):
self.deck.reload()
for object in ds_objects:
object.destroy()
- scrn1, scrn2 = self.activity.get_window()
- scrn2.hide()
- scrn1.show()
+ self.activity.set_screen(0)
diff --git a/resources/splash.svg b/resources/splash.svg
index 10b0a14..10b0a14 100644..100755
--- a/resources/splash.svg
+++ b/resources/splash.svg
diff --git a/resources/title.html b/resources/title.html
new file mode 100755
index 0000000..843d52f
--- /dev/null
+++ b/resources/title.html
@@ -0,0 +1,7 @@
+<html>
+<head>
+</head>
+<body>
+<h1>slideshow.title</h1>
+</body>
+</html>
diff --git a/showntell.py b/showntell.py
index 8b37da8..fb2678f 100755
--- a/showntell.py
+++ b/showntell.py
@@ -28,6 +28,7 @@ import logging
import sys, os
import subprocess
+import atexit, signal
import gtk
import zipfile
@@ -43,13 +44,27 @@ import time
import pdb
import listview
-#import htmlview
+import cpxoview
+import hulahop
+from sugar import env
+hulahop.startup(os.path.join(env.get_profile_path(), 'gecko'))
+from hulahop.webview import WebView
+
+SLIDESHOW_TOOLBAR = 1
+NAVIGATION_TOOLBAR = 2
+TITLE_SLIDE = "title.html"
class ShowNTell(activity.Activity):
def __init__(self, handle):
#pdb.set_trace()
+ atexit.register(self.report_exit, 'message')
+ signal.signal(signal.SIGINT, self.signal_exit)
+ signal.signal(signal.SIGABRT, self.signal_exit)
+ signal.signal(signal.SIGTERM, self.signal_exit)
+ signal.signal(signal.SIGSEGV, self.signal_exit)
+ signal.signal(signal.SIGQUIT, self.signal_exit)
activity.Activity.__init__(self, handle)
self.__logger = logging.getLogger('ClassroomPresenter')
@@ -71,17 +86,18 @@ class ShowNTell(activity.Activity):
self.__logger.debug("Found deck directory: %s", self.__deck_dir)
# Copy the splash screen to the working directory
- utils.copy_file(os.path.join(self.__rsrc_dir, 'splash.svg'),
- os.path.join(self.__deck_dir, 'splash.svg'))
+ self.__title_slide_name = TITLE_SLIDE
+ utils.copy_file(os.path.join(self.__rsrc_dir, self.__title_slide_name),
+ os.path.join(self.__deck_dir, self.__title_slide_name))
# Create a slide deck object
- self.__deck = slideshow.Deck(self.__deck_dir)
+ self.__deck = slideshow.Deck(self.__title_slide_name, self.__deck_dir)
# Set up activity sharing
self.__shared = shared.Shared(self, self.__deck, self.__work_path)
# Create a renderer for slides
- self.__renderer = sliderenderer.Renderer(self.__deck)
+ self.__renderer = sliderenderer.Renderer(self, self.__deck)
# Set up the main canvas
self.__slide_view = gtk.HBox()
@@ -89,13 +105,23 @@ class ShowNTell(activity.Activity):
# Set up Main Viewer box
self.__main_view_box = gtk.VBox()
+ #here enter a gtk widget in place of self.__slide
+ #pack this common widget to self.__main_view_box
+ #then render each 'screen' to this common widget as needed
self.__slide = slideviewer.SlideViewer(self.__deck, self.__renderer)
self.__text_area = textarea.TextArea(self.__deck)
self.__image_chooser = listview.Listview(self, self.__deck)
- #self.__html_viewer = htmlview.Htmlview()
+ self.__slideshow_chooser = cpxoview.Cpxoview(self, self.__deck)
+ self.__html_slide = gtk.EventBox()
+ self.__screens = []
self.__main_view_box.pack_start(self.__slide, True, True, 5)
+ self.__screens.append(self.__slide)
self.__main_view_box.pack_start(self.__image_chooser, True, True, 5)
- #self.__main_view_box.pack_start(self.__html_viewer, True, True, 5)
+ self.__screens.append(self.__image_chooser)
+ self.__main_view_box.pack_start(self.__slideshow_chooser, True, True, 5)
+ self.__screens.append(self.__slideshow_chooser)
+ self.__main_view_box.pack_start(self.__html_slide, True, True, 5)
+ self.__screens.append(self.__html_slide)
self.__main_view_box.pack_start(self.__text_area, False, False, 0)
# Create our toolbars
@@ -110,6 +136,10 @@ class ShowNTell(activity.Activity):
toolbox.add_toolbar("Ink", inkTB)
self.set_toolbox(toolbox)
toolbox.show()
+ self.__toolbox = toolbox
+
+ # Open with slideshow toolbar
+ toolbox.set_current_toolbar(SLIDESHOW_TOOLBAR)
# Set up the side scrollbar widget
self.__side_bar = sidebar.SideBar(self.__deck, self.__renderer)
@@ -129,6 +159,7 @@ class ShowNTell(activity.Activity):
self.__slide.show()
self.__text_area.show()
self.__image_chooser.hide()
+ self.__slideshow_chooser.hide()
#self.__html_viewer.hide()
separator.show()
self.__side_bar.show_all()
@@ -145,6 +176,12 @@ class ShowNTell(activity.Activity):
self.__shared.connect('deck-download-complete', self.dl_complete_cb)
+ def report_exit(self, message):
+ print 'activity exited', message
+
+ def signal_exit(signal, frame):
+ print 'activity exited', signal
+
def dl_complete_cb(self, widget):
self.do_slideview_mode()
@@ -176,6 +213,7 @@ class ShowNTell(activity.Activity):
z.close()
self.__deck.set_title(self.metadata['title'])
self.__deck.reload()
+ self.__toolbox.set_current_toolbar(NAVIGATION_TOOLBAR)
newindex = 0
if 'current_index' in self.metadata:
newindex = int(self.metadata.get('current_index', '0'))
@@ -183,8 +221,11 @@ class ShowNTell(activity.Activity):
#save state in journal for resume
def write_file(self, file_path):
+ print 'write_file', self.__toolbox.get_current_toolbar(), str(file_path)
+ if self.__toolbox.get_current_toolbar() > 0:
+ return
self.__logger.debug("write_file " + str(file_path))
- self.metadata['title'] = self.__deck.get_title()
+ self.metadata['title'] = self.__deck.get_title(2)
self.metadata['mime_type'] = "application/x-classroompresenter"
self.metadata['current_index'] = str(self.__deck.getIndex())
self.__deck.save()
@@ -197,8 +238,17 @@ class ShowNTell(activity.Activity):
def get_shared_activity(self):
return self._shared_activity
- def get_window(self):
- #return (self.__slide, self.__image_chooser, self.__html_viewer)
- return (self.__slide, self.__image_chooser)
-
+ def set_screen(self,scrn):
+ print 'set_screen', scrn
+ self.__screens[0].hide()
+ print 'screen 0 hidden'
+ self.__screens[1].hide()
+ print 'screen 1 hidden'
+ self.__screens[2].hide()
+ print 'screen 2 hidden'
+ self.__screens[3].hide()
+ print 'screen 3 hidden'
+ self.__screens[scrn].show()
+ print 'screen', scrn, 'shown'
+ return self.__screens[scrn]
diff --git a/sliderenderer.py b/sliderenderer.py
index 9c89e88..290250b 100755
--- a/sliderenderer.py
+++ b/sliderenderer.py
@@ -26,13 +26,18 @@ import os
import utils
import time
import logging
+import hulahop
+from sugar import env
+hulahop.startup(os.path.join(env.get_profile_path(), 'gecko'))
+from hulahop.webview import WebView
class Renderer(object):
- def __init__(self, deck):
+ def __init__(self, activity, deck):
"""Constructs a new SlideRenderer that will render slides from deck"""
self.__logger = logging.getLogger('Renderer')
self.__logger.setLevel('error')
self.__deck = deck
+ self.__activity = activity
def getSlideDimensionsFromFirstLayer(self, n=None):
"""Returns the [width, height] of the first slide layer"""
@@ -142,4 +147,13 @@ class Renderer(object):
ctx.set_source_pixbuf(jpg_pixbuf, 0, 0)
ctx.rectangle(0, 0, jpg_pixbuf.get_width(), jpg_pixbuf.get_height())
ctx.fill()
+ elif type == "html":
+ #use hulahop to display
+ print 'html slide', layer
+ scrn4 = self.__activity.set_screen(3)
+ wv = WebView()
+ print 'uri', 'file://' + layer
+ wv.load_uri('file://' + layer)
+ wv.show()
+ scrn4.add(wv)
self.__logger.debug("Finished drawing layer at "+ str(time.time() - timerstart))
diff --git a/slideshow.py b/slideshow.py
index bc878c6..5634ff1 100755
--- a/slideshow.py
+++ b/slideshow.py
@@ -48,7 +48,7 @@ class Deck(gobject.GObject):
'instructor-ink-removed' : (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, (gobject.TYPE_INT, gobject.TYPE_INT)),
}
- def __init__(self, base="/nfs/show"):
+ def __init__(self, slidename, base="/nfs/show"):
gobject.GObject.__init__(self)
self.__logger = logging.getLogger('Deck')
self.__base = base
@@ -58,6 +58,7 @@ class Deck(gobject.GObject):
self.__active_sub = -1
self.__self_text = ""
self.__text_tag = None
+ self.__title_slide_name = slidename
# Compute the path to the deck.xml file and read it if it exists;
# otherwise we'll create a new XML Document
@@ -82,8 +83,8 @@ class Deck(gobject.GObject):
def set_title(self, title):
self.__title = title
- def get_title(self):
- print 'get_title', self.__title
+ def get_title(self, id):
+ print 'get_title', id, self.__title
if len(self.__title) > 0:
return self.__title
else:
@@ -103,6 +104,8 @@ class Deck(gobject.GObject):
nodes = self.__dom.getElementsByTagName("title")
if len(nodes) > 0:
self.__title = nodes[0].firstChild.data
+ else:
+ print 'no deck title', self.__dom.toprettyxml()
else:
self.__deck = self.__dom.createElement("deck")
self.__dom.appendChild(self.__deck)
@@ -112,7 +115,7 @@ class Deck(gobject.GObject):
self.__deck.appendChild(title)
splash = self.__dom.createElement("slide")
layer = self.__dom.createElement("layer")
- layer.appendChild(self.__dom.createTextNode("splash.svg"))
+ layer.appendChild(self.__dom.createTextNode(self.__title_slide_name))
splash.appendChild(layer)
self.__deck.appendChild(splash)
print "Deck.__title=", self.__title
@@ -152,7 +155,17 @@ class Deck(gobject.GObject):
pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(inpath, w, h)
#scaled_buf = pixbuf.scale.simple(w, h, gtk.gdk.INTERP_BILINEAR)
pixbuf.save(outpath, "png")
-
+
+ def get_SlideTitle(self):
+ n = self.getIndex()
+ slide = self.__slides[n]
+ return slide.getAttribute('title')
+
+ def set_SlideTitle(self, slideTitle):
+ n = self.getIndex()
+ slide = self.__slides[n]
+ slide.setAttribute('title', slideTitle)
+
def addSlide(self,file_path):
INSTANCE = path(activity.get_activity_root()) / 'instance'
diff --git a/toolbars.py b/toolbars.py
index b7c2323..8b21123 100755
--- a/toolbars.py
+++ b/toolbars.py
@@ -28,7 +28,7 @@ import gobject
import pango
import logging
import threading
-import os, sys
+import os, sys, time
import utils
from path import path
import slideshow
@@ -393,7 +393,7 @@ class MakeToolBar(gtk.Toolbar):
ds_mounts = datastore.mounts()
pendrive = -1
for i in range(0, len(ds_mounts), 1):
- print 'mount', i, ds_mounts[i]['uri']
+ print 'mount', i, ds_mounts[i]['uri'], ds_mounts[i]['title'], ds_mounts[i]['id']
if ds_mounts[i]['uri'].find('datastore') > 0:
journal = i
else:
@@ -432,8 +432,51 @@ class MakeToolBar(gtk.Toolbar):
self.insert(self.__pendrivebutton, -1)
self.__pendrivebutton.show()
+ # deck title display and edit
+ self.__decktitle_item = gtk.ToolItem()
+
+ self.__decktitle = gtk.Entry()
+ self.__decktitle.set_text(self.deck.get_title(1))
+ self.__decktitle.set_alignment(0)
+ self.__decktitle.connect('activate', self.decktitle_change_cb)
+
+ self.__decktitle.set_width_chars(20)
+
+ self.__decktitle_item.add(self.__decktitle)
+ self.__decktitle.show()
+
+ self.insert(self.__decktitle_item, -1)
+ self.__decktitle_item.show()
+
+ # slide title display and edit
+ self.__slidetitle_item = gtk.ToolItem()
+
+ self.__slidetitle = gtk.Entry()
+ self.__slidetitle.set_text("Slide 0")
+ self.__slidetitle.set_alignment(0)
+ self.__slidetitle.connect('activate', self.slidetitle_change_cb)
+ self.deck.connect('slide-redraw', self.slidetitle_changed_cb)
+
+ self.__slidetitle.set_width_chars(20)
+
+ self.__slidetitle_item.add(self.__slidetitle)
+ self.__slidetitle.show()
+
+ self.insert(self.__slidetitle_item, -1)
+ self.__slidetitle_item.show()
+
self.show()
+ def decktitle_change_cb(self, widget):
+ self.deck.set_title(self.__decktitle.get_text(3))
+ print 'decktitle change', self.__decktitle.get_text(), self.deck.get_title()
+
+ def slidetitle_change_cb(self, widget):
+ self.deck.set_slideTitle(self.__slidetitle.get_text())
+
+ def slidetitle_changed_cb(self, widget):
+ self.__slidetitle.set_text(self.deck.get_slideTitle())
+
def new(self, widget):
print 'New slideshow'
#no effect if slideshow is already 'new', e.g. when ShowNTell is opened
@@ -443,22 +486,25 @@ class MakeToolBar(gtk.Toolbar):
def open(self, widget):
print 'Open slideshow'
- #here we need a listview to show existing cpxo bundles (all sources)
- #there should be a standard 'open' function for both read_file and open
+ scrn3 = self.activity.set_screen(2)
+ treeview = scrn3.get_treeView()
+ print 'set_cpxo_store'
+ treeview.set_model(scrn3.set_store())
+ print 'slideshow treeview model set'
def chooseimage(self, widget, source, pth):
- scrn1, scrn2 = self.activity.get_window()
+ print 'chooseimage', source, pth
+ scrn2 = self.activity.set_screen(1)
+ time.sleep(30)
+ print 'sleep over'
treeview = scrn2.get_treeView()
print 'set_store', source, pth
treeview.set_model(scrn2.set_store(source, pth))
- scrn1.hide()
- scrn2.show()
+ print 'treeview model set'
def showhtml(self, widget):
- scrn1, scrn2, scrn3 = self.activity.get_window()
- scrn1.hide()
- scrn2.hide()
- #we need to show blank editable tiddly or web page
- scrn3.show()
+ self.activity.set_screen(4)
+ #intended to show listview of available html templates/slides
+ #future feature, not implemented
diff --git a/tw/simple.html b/tw/simple.html
index 55bad01..55bad01 100644..100755
--- a/tw/simple.html
+++ b/tw/simple.html
diff --git a/tw/slides.html b/tw/slides.html
index 10f4bb7..10f4bb7 100644..100755
--- a/tw/slides.html
+++ b/tw/slides.html