Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCharlie <charlie@tutorius-dev.(none)>2009-10-03 09:36:56 (GMT)
committer Charlie <charlie@tutorius-dev.(none)>2009-10-03 09:36:56 (GMT)
commit960bd3313d504eae302303d7dcd2d43db10ff4ed (patch)
tree55c76fbc6eed5c06435e7f9056dbf6dffa00e053
parentb104df202abaeced70195d2b9e0f7e21dacbc215 (diff)
Created the Workshop aka My tutorials view and MVC interfaces
-rwxr-xr-xTutoriusActivity.activity/TutoriusActivity.py14
-rw-r--r--TutoriusActivity.activity/Workshop.py239
-rw-r--r--TutoriusActivity.activity/WorkshopController.py116
-rw-r--r--TutoriusActivity.activity/WorkshopListItem.py72
-rw-r--r--TutoriusActivity.activity/WorkshopModel.py54
-rw-r--r--TutoriusActivity.activity/full_star.svg68
-rw-r--r--TutoriusActivity.activity/grayed_star.svg68
-rw-r--r--TutoriusActivity.activity/half_star.svg68
8 files changed, 489 insertions, 210 deletions
diff --git a/TutoriusActivity.activity/TutoriusActivity.py b/TutoriusActivity.activity/TutoriusActivity.py
index a052a49..b262a9f 100755
--- a/TutoriusActivity.activity/TutoriusActivity.py
+++ b/TutoriusActivity.activity/TutoriusActivity.py
@@ -1,5 +1,6 @@
from sugar.activity import activity
import TutorialStoreHome
+from Workshop import WorkshopView
import logging
import sys, os
@@ -47,7 +48,7 @@ class TutoriusActivity(activity.Activity):
btn1 = gtk.Button("My tutorials")
btn2 = gtk.Button("Tutorial Store")
btn3 = gtk.Button("test button")
-
+
self.left_container.pack_start(btn1,expand=False)
self.left_container.pack_start(btn2,expand=False)
self.tutorial_store_home = TutorialStoreHome.TutorialStoreHome()
@@ -59,17 +60,18 @@ class TutoriusActivity(activity.Activity):
tutorial_store_more_button.connect("clicked", self.callback, 'more_button')
self.right_container = gtk.VBox()
- self.right_container.pack_start(self.tutorial_store_home.tutorial_store_home)
+ #self.right_container.pack_start(self.tutorial_store_home.tutorial_store_home)
+ self.workshop = WorkshopView()
+
self.table.add1(self.left_container)
- self.table.add2(self.right_container)
+ self.table.add2(self.workshop)
self.set_canvas(self.table)
btn3.show()
btn1.show()
btn2.show()
self.left_container.show()
- self.right_container.show()
+ self.workshop.show()
self.table.show()
- print "AT THE END OF THE CLASS"
-
+ print "AT THE END OF THE CLASS"
diff --git a/TutoriusActivity.activity/Workshop.py b/TutoriusActivity.activity/Workshop.py
new file mode 100644
index 0000000..270b82c
--- /dev/null
+++ b/TutoriusActivity.activity/Workshop.py
@@ -0,0 +1,239 @@
+import gtk
+
+from WorkshopListItem import WorkshopListItem,Rating
+
+class WorkshopView(gtk.Alignment):
+ def __init__(self):
+ gtk.Alignment.__init__(self,0.0,0.0,1.0,1.0)
+ self.mainView = WorkshopMain()
+ self.detailView = WorkshopDetail(None)
+
+ self.add(self.mainView)
+
+ self.mainView.show()
+ self.detailView.show()
+
+ def set_tutorial_list(self,tutorial_list):
+ """
+ Set the list of tutorial to display in the main View
+ Refresh the View
+
+ @param tutorial_list the list of tutorial
+ """
+ pass
+
+
+ def change_sorting(self,sorting_key):
+ """
+ Sort the list of tutorial base on the sorting_key
+
+ @param sorting_key the tutorial metadata to use to sort the tutorials
+ """
+ pass
+
+ def refresh_tutorial_info(self):
+ """
+ Tell the view to refresh the content of the tutorial list because some info have changed
+
+ Call this function when information about tutorial have changed, but the tutorial to display are the same
+ """
+ pass
+
+ def toggle_tutorial_publish(self,tutorial,published):
+ """
+ Change the publish/unpublish status of the tutorial on the view
+
+ @param tutorial the tutorial to change the status
+ @param published True if the tutorial is published, False if not
+ """
+ pass
+
+ def display_detail(self,tutorial):
+ """
+ Displays the detail view of a tutorial
+
+ @param tutorial the tutorial to display
+ """
+ pass
+
+ def display_main_view(self):
+ """
+ Displays the main view of the Workshop
+ """
+ pass
+
+ def display_info_dialog(self,tutorial):
+ """
+ Displays the infos dialog on a tutorial
+
+ @param tutorial the tutorial to edit
+ """
+ pass
+
+
+
+
+
+class WorkshopMain(gtk.VBox):
+ def __init__(self):
+ gtk.VBox.__init__(self,False,10)
+
+ self.set_border_width(10)
+ self.search_bar = SearchBar()
+ self.pack_start(self.search_bar,False,False)
+
+ sep = gtk.HSeparator()
+ self.pack_start(sep,False,False)
+ self.main_container = gtk.ScrolledWindow()
+ self.main_container.set_policy(gtk.POLICY_AUTOMATIC,gtk.POLICY_AUTOMATIC)
+
+ self.list_container= gtk.VBox()
+
+ item = WorkshopListItem()
+ self.list_container.pack_start(item,False,False)
+ item.show()
+ self.main_container.add_with_viewport(self.list_container)
+ self.pack_start(self.main_container)
+
+ self.search_bar.show()
+ self.list_container.show()
+ self.main_container.show()
+ sep.show()
+
+class SearchBar(gtk.HBox):
+ def __init__(self):
+ gtk.HBox.__init__(self,False,10)
+ self.set_border_width(5)
+
+ self.search_entry = gtk.Entry(400)
+ self.search_button = gtk.Button("Go")
+ self.separator = gtk.VSeparator()
+ self.sort_label = gtk.Label("Sort by")
+ self.sort_combo = gtk.combo_box_new_text()
+ self.sort_combo.insert_text(0,"Name")
+ self.sort_combo.insert_text(1,"Rating")
+
+
+ self.pack_start(self.search_entry,padding=5)
+ self.pack_start(self.search_button,False,False,padding=10)
+ self.pack_start(self.separator,False,False,padding=10)
+ self.pack_start(self.sort_label,False,False,padding=5)
+ self.pack_start(self.sort_combo,)
+
+ self.search_entry.show()
+ self.search_button.show()
+ self.separator.show()
+ self.sort_label.show()
+ self.sort_combo.show()
+
+
+class WorkshopDetail(gtk.VBox):
+ def __init__(self,tutorial):
+ self.title_text = '<span size="xx-large">%(title)s</span>'
+ self.author_text = '<span size="large">by %(author)s</span>'
+ self.desc_text = 'Description: %(description)s'
+
+ gtk.VBox.__init__(self,False,10)
+ self.set_border_width(10)
+
+ first_row = gtk.HBox(False)
+ back_image = gtk.Image()
+ back_image.set_from_file('arrow_back.png')
+ self.back_button = gtk.Button("Back")
+ self.back_button.set_image(back_image)
+
+ first_row.pack_start(self.back_button,False,False)
+
+ second_row = gtk.HBox(False)
+ icon = gtk.Image()
+ icon.set_from_file('icon.svg')
+
+ label_holder = gtk.VBox(False,10)
+
+ self.title_label = gtk.Label("Title")
+ self.title_label.set_alignment(0.0,0.5)
+ self.author_label = gtk.Label("by Me")
+ self.author_label.set_alignment(0.05,0.5)
+
+ label_holder.pack_start(self.title_label)
+ label_holder.pack_start(self.author_label)
+
+ self.rating = Rating(3.5)
+
+ second_row.pack_start(icon,False,False)
+ second_row.pack_start(label_holder)
+ second_row.pack_end(self.rating,False,False)
+
+ self.desc_view = gtk.TextView()
+ self.desc_buff = gtk.TextBuffer()
+ self.desc_buff.set_text('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris tincidunt orci in eli t semper aliquam. Pellentesque ut lectus arcu. Mauris arcu dolor, venenatis eget tincidunt vitae, tincidunt ac urna. Quisque sodales odio in risus alique t laoreet. In commodo porttitor arcu, a viverra dui faucibus nec. Donec neque leo, aliquet eget luctus et, viverra sed turpis. Pellentesque sed turpis qu am, in placerat mi. Etiam est lorem, tempus sed tempus quis, tempor ut magna. Aenean velit eros, ornare quis rutrum vitae, lacinia et urna. Morbi iaculis molestie tempus. Proin egestas luctus diam. Suspendisse pretium adipiscing magna, non varius purus molestie vitae. Maecenas laoreet adipiscing nulla eu consequat. Morbi et felis a nunc fermentum tincidunt eget et enim. Phasellus ligula lorem, vulputate a ullamcorper non, pretium nec libero')
+ self.desc_view.set_buffer(self.desc_buff)
+ self.desc_view.set_editable(False)
+ self.desc_view.set_wrap_mode(gtk.WRAP_WORD)
+ self.desc_view.set_cursor_visible(False)
+ self.desc_view.connect("realize",self.realize_cb,None)
+ self.desc_view.modify_base(gtk.STATE_NORMAL, gtk.gdk.color_parse("gray") )
+
+ fourth_row = gtk.HBox(False,15)
+ self.launch_button = gtk.Button('Launch')
+ self.launch_button.get_child().set_markup(self.title_text %{"title":"Launch"})
+ self.edit_button = gtk.Button('Edit')
+ self.edit_button.get_child().set_markup(self.title_text %{"title":"Edit"})
+ self.update_button = gtk.Button('Update')
+ self.update_button.get_child().set_markup(self.title_text %{"title":"Update"})
+ self.info_button = gtk.Button('Infos')
+ self.info_button.get_child().set_markup(self.title_text %{"title":"Infos"})
+ self.delete_button = gtk.Button('Delete')
+ self.delete_button.get_child().set_markup(self.title_text %{"title":"Delete"})
+
+ fourth_row.pack_start(self.launch_button,False,False)
+ fourth_row.pack_start(self.edit_button,False,False)
+ fourth_row.pack_start(self.update_button,False,False)
+ fourth_row.pack_start(self.info_button,False,False)
+ fourth_row.pack_end(self.delete_button,False,False)
+
+ fifth_row = gtk.HBox(False,15)
+ self.publish_button = gtk.Button('')
+ self.publish_button.get_child().set_markup(self.title_text %{"title":"Publish"})
+ self.unpublish_button = gtk.Button('')
+ self.unpublish_button.get_child().set_markup(self.title_text %{"title":"Unpublish"})
+
+ fifth_row.pack_start(self.publish_button,False,False)
+ fifth_row.pack_start(self.unpublish_button,False,False)
+
+ self.pack_start(first_row,False,False)
+ self.pack_start(second_row,False,False)
+ self.pack_start(self.desc_view)
+ self.pack_end(fifth_row,False,False)
+ self.pack_end(fourth_row,False,False)
+
+
+ self.back_button.show()
+ first_row.show()
+ self.title_label.show()
+ self.author_label.show()
+ self.rating.show()
+ label_holder.show()
+ second_row.show()
+ icon.show()
+ self.desc_view.show()
+ self.launch_button.show()
+ self.edit_button.show()
+ self.update_button.show()
+ self.info_button.show()
+ self.delete_button.show()
+ fourth_row.show()
+
+ self.publish_button.show()
+ self.unpublish_button.show()
+ fifth_row.show()
+
+ self.title_label.set_markup(self.title_text % {"title":"Tutorial Title"})
+ self.author_label.set_markup(self.author_text % {"author":"Tutorial author"})
+
+ def realize_cb(self,widget,data=None):
+ widget.get_window(gtk.TEXT_WINDOW_TEXT).set_cursor(gtk.gdk.Cursor(gtk.gdk.LEFT_PTR))
+
+
+
+
diff --git a/TutoriusActivity.activity/WorkshopController.py b/TutoriusActivity.activity/WorkshopController.py
new file mode 100644
index 0000000..50c1fb4
--- /dev/null
+++ b/TutoriusActivity.activity/WorkshopController.py
@@ -0,0 +1,116 @@
+"""
+WorkshopController
+
+This module handles user action from the workshop view
+
+"""
+
+class WorkshopController():
+ def __init__(self,view,model):
+ self.view = view
+ self.model = model
+
+ def tutorial_query(self,widget,keyword):
+ """
+ Handles query from the view
+
+ @param widget the widget that sent the query
+ @param keyword the keyword for the query, empty to get all tutorials
+ """
+ pass
+
+ def sort_selection_changed(self,widget,sort):
+ """
+ Handles selection changes in the sorting selection
+
+ @param widget the widget that sent the query
+ @param sort the property to use to sort tutorial
+ """
+ pass
+
+ def launch_tutorial_triggered(self,widget,tutorial):
+ """
+ Handles start tutorial action
+
+ @param widget the widget that triggered the action
+ @param tutorial the tutorial to launch
+ """
+ pass
+
+ def show_details(self,widget,tutorial):
+ """
+ show the details for a tutorial
+
+ @param widget the widget that made the call
+ @param tutorial the tutorial to
+ """
+ pass
+
+ def back_pressed(self,widget,data):
+ """
+ When in detail view, go back to general view
+
+ @param widget the widget that made the call
+ @param data not used
+ """
+ pass
+
+ def rate_tutorial(self,widget,data):
+ """
+ Change the rating for a tutorial
+
+ @param widget the widget that made the call
+ @param data a tuple (tutorial,new_rating)
+ """
+ pass
+
+ def edit_tutorial(self,widget,tutorial):
+ """
+ Edit the tutorial in the detail view
+
+ @param widget the widget that made the call
+ @param tutorial the tutorial to edit
+ """
+ pass
+
+ def update_tutorial(self,widget,tutorial):
+ """
+ Need to know what this do
+ """
+ pass
+
+ def info_tutorial(self,widget,tutorial):
+ """
+ Edit the infos about the tutorial
+
+ @param widget the widget that made the call
+ @param tutorial the tutorial to edit
+ """
+ pass
+
+ def delete_tutorial(self,widget,tutorial):
+ """
+ Delete a tutorial
+
+ @param widget the widget that made the call
+ @param tutorial the tutorial to delete
+ """
+ pass
+
+ def publish_tutorial(self,widget,tutorial):
+ """
+ Publish a tutorial
+
+ @param widget the widget that made the call
+ @param tutorial the tutorial to publish
+ """
+ pass
+
+ def unpublish_tutorial(self,widget,tutorial):
+ """
+ Unpublish a tutorial
+
+ @param widget the widget that made the call
+ @param tutorial the tutorial to unpublish
+ """
+ pass
diff --git a/TutoriusActivity.activity/WorkshopListItem.py b/TutoriusActivity.activity/WorkshopListItem.py
new file mode 100644
index 0000000..d8a6e60
--- /dev/null
+++ b/TutoriusActivity.activity/WorkshopListItem.py
@@ -0,0 +1,72 @@
+import gtk
+
+class WorkshopListItem(gtk.Alignment):
+ def __init__(self):
+ gtk.Alignment.__init__(self,0.0,0.0,1.0,1.0)
+ self.title_text = '<span size="xx-large">%(title)s</span>'
+ self.table = gtk.Table(3,3,False)
+ self.lbl_title = gtk.Label('Tutorial')
+ self.lbl_desc = gtk.Label('Tutorial test to see the display of the stuffiasdjalskjdlak laskjdlak alskdjalkdj ldkajdlkasj laksjdlkajd lk slakjdlkajdalkdjalkjd alksdjalskjd lkajsdlka lk lkdajdlkajdlkaj kjaslkdjakd ')
+ self.lbl_desc.set_line_wrap(True)
+ self.btn_launch = gtk.Button('Launch')
+ launch_align= gtk.Alignment(0.0,1.0,0.0,0.0)
+ launch_align.add(self.btn_launch)
+ self.btn_details = gtk.Button('Details')
+ self.icon = gtk.Image()
+ self.icon.set_from_file('icon.svg')
+ self.rating = Rating(2.5)
+
+ self.table.attach(self.icon,0,1,0,1,0,0)
+ self.table.attach(self.lbl_title,1,2,0,1,yoptions=0)
+ self.table.attach(self.lbl_desc,1,2,1,2,xoptions=gtk.FILL,yoptions=gtk.EXPAND)
+ self.table.attach(launch_align,1,2,2,3,gtk.FILL)
+ self.table.attach(self.btn_details,2,3,2,3,0,0)
+ self.table.attach(self.rating,2,3,0,2,0,0)
+
+ self.table.set_row_spacing(1,10)
+
+ self.lbl_title.set_alignment(0.0,0.5)
+ self.lbl_title.set_markup(self.title_text % {'title':'Tutorial title'})
+ self.lbl_desc.set_alignment(0.0,0.5)
+
+ self.table.show()
+ self.icon.show()
+ self.lbl_title.show()
+ launch_align.show()
+ self.lbl_desc.show()
+ self.btn_launch.show()
+ self.btn_details.show()
+ self.rating.show()
+
+ self.add(self.table)
+
+class Rating(gtk.HBox):
+ def __init__(self,rating):
+ gtk.HBox.__init__(self,False,4)
+ value = rating
+ self.stars = [0,0,0,0,0]
+ for x in range(5):
+ if value -1 > 0:
+ self.stars[x]=1
+ elif value -1 == -0.5:
+ self.stars[x] = 0.5
+ break
+ else:
+ self.stars[x]=1
+ break
+ value -= 1
+ self.prepare_image()
+
+ def prepare_image(self):
+ for x in self.stars:
+ if x == 0:
+ filename='grayed_star.png'
+ elif x == 0.5:
+ filename='half_star.png'
+ elif x == 1:
+ filename='full_star.png'
+ image = gtk.Image()
+ image.set_from_file(filename)
+ self.pack_start(image)
+ image.show()
+
diff --git a/TutoriusActivity.activity/WorkshopModel.py b/TutoriusActivity.activity/WorkshopModel.py
new file mode 100644
index 0000000..9524733
--- /dev/null
+++ b/TutoriusActivity.activity/WorkshopModel.py
@@ -0,0 +1,54 @@
+"""
+WorkshopModel
+
+This module is the model of the Workshop Activity
+"""
+
+class WorkshopActivity():
+ def __init__(self,view):
+ self.view = view
+
+ def query(self,keyword):
+ """
+ Query the vault for tutorial that are linked with the keyword
+ Update the currently managed tutorials and notifies the view that the managed tutorials have changed
+
+ @param keyword the keyword for the query
+ """
+ pass
+
+ def delete_tutorial(self,tutorial):
+ """
+ Delete a tutorial and updated the currently managed tutorials
+ Notifies the view that the manages tutorials have changed
+
+ @param tutorial the tutorial to delete
+ """
+ pass
+
+ def update_tutorial_infos(self,tutorial, new_infos):
+ """
+ Updates the metadata on a tutorial and updates the currently managed tutorials
+ Notifies the view tha the managed tutorials have changed
+
+ @param tutorial the tutorial to update
+ @param new_infos a dictionnary of the new informations i.e. {"title":"tut1","author":"Max Power"}
+ """
+ pass
+
+ def publish_tutorial(self,tutorial):
+ """
+ Publishes a tutorial
+
+ Details to come
+ """
+ pass
+
+ def unpublish_tutorial(self,tutorial):
+ """
+ Unpublishes a tutorial
+
+ Details to come
+ """
+ pass
+
diff --git a/TutoriusActivity.activity/full_star.svg b/TutoriusActivity.activity/full_star.svg
deleted file mode 100644
index 6ff33eb..0000000
--- a/TutoriusActivity.activity/full_star.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<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"
- id="svg2595"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- width="24"
- height="24"
- version="1.0"
- sodipodi:docname="full_star"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <metadata
- id="metadata2600">
- <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="defs2598">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2602" />
- </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="20.583333"
- inkscape:cx="12"
- inkscape:cy="12"
- inkscape:window-x="0"
- inkscape:window-y="25"
- inkscape:current-layer="svg2595" />
- <image
- xlink:href="/home/charlie/Desktop/1254082870_001_15.gif"
- sodipodi:absref="/home/charlie/Desktop/1254082870_001_15.gif"
- width="24"
- height="24"
- id="image2604"
- x="0"
- y="0" />
-</svg>
diff --git a/TutoriusActivity.activity/grayed_star.svg b/TutoriusActivity.activity/grayed_star.svg
deleted file mode 100644
index 66584f7..0000000
--- a/TutoriusActivity.activity/grayed_star.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<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"
- id="svg2510"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- width="24"
- height="24"
- version="1.0"
- sodipodi:docname="grayed_star"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <metadata
- id="metadata2515">
- <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="defs2513">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2517" />
- </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="20.583333"
- inkscape:cx="12"
- inkscape:cy="12"
- inkscape:window-x="230"
- inkscape:window-y="25"
- inkscape:current-layer="svg2510" />
- <image
- xlink:href="/home/charlie/Desktop/1254082794_001_17.gif"
- sodipodi:absref="/home/charlie/Desktop/1254082794_001_17.gif"
- width="24"
- height="24"
- id="image2519"
- x="0"
- y="0" />
-</svg>
diff --git a/TutoriusActivity.activity/half_star.svg b/TutoriusActivity.activity/half_star.svg
deleted file mode 100644
index ea5996f..0000000
--- a/TutoriusActivity.activity/half_star.svg
+++ /dev/null
@@ -1,68 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<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"
- id="svg2680"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- width="24"
- height="24"
- version="1.0"
- sodipodi:docname="half_star.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <metadata
- id="metadata2685">
- <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="defs2683">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 526.18109 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="744.09448 : 526.18109 : 1"
- inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
- id="perspective2687" />
- </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="20.583333"
- inkscape:cx="12"
- inkscape:cy="12"
- inkscape:window-x="0"
- inkscape:window-y="25"
- inkscape:current-layer="svg2680" />
- <image
- xlink:href="/home/charlie/Desktop/1254082876_001_16.gif"
- sodipodi:absref="/home/charlie/Desktop/1254082876_001_16.gif"
- width="24"
- height="24"
- id="image2689"
- x="0"
- y="0" />
-</svg>