[Sugar-devel] [PATCH] Finance: add support for new toolbars
Manuel Quiñones
manuq at laptop.org
Sun Jul 31 18:28:57 EDT 2011
- I have put the period buttons in the main toolbar, because they
affect the transaction operations being done and the views.
- I have converted the view buttons to radio buttons.
- I did custom icons for transaction operators: Add debit, Add credit,
and Remove transaction.
The context help strings may need to be changed because of the
toolbars change, I will check.
The sensitivity of the buttons in the Transaction toolbar depend on
list view selected, maybe we can trigger a change to list view when
Transaction toolbar is selected.
Signed-off-by: Manuel Quiñones <manuq at laptop.org>
---
finance.py | 143 +++++++++++++++++++++++++++----------
icons/budget.svg | 22 ++++++
icons/chart.svg | 21 ++++++
icons/row-insert-credit.svg | 49 +++++++++++++
icons/row-insert-debit.svg | 49 +++++++++++++
icons/row-remove-transaction.svg | 43 +++++++++++
icons/transaction.svg | 31 ++++++++
7 files changed, 319 insertions(+), 39 deletions(-)
create mode 100644 icons/budget.svg
create mode 100644 icons/chart.svg
create mode 100644 icons/row-insert-credit.svg
create mode 100644 icons/row-insert-debit.svg
create mode 100644 icons/row-remove-transaction.svg
create mode 100644 icons/transaction.svg
diff --git a/finance.py b/finance.py
index 3ead586..51f4abe 100644
--- a/finance.py
+++ b/finance.py
@@ -33,6 +33,16 @@ import sugar.activity.activity
from sugar.graphics import toggletoolbutton
from sugar.graphics import *
+OLD_TOOLBAR = False
+try:
+ from sugar.graphics.toolbarbox import ToolbarBox
+ from sugar.graphics.toolbarbox import ToolbarButton
+ from sugar.graphics.radiotoolbutton import RadioToolButton
+ from sugar.activity.widgets import StopButton
+ from sugar.activity.widgets import ActivityToolbarButton
+except ImportError:
+ OLD_TOOLBAR = True
+
# Initialize logging.
log = logging.getLogger('Finance')
log.setLevel(logging.DEBUG)
@@ -164,40 +174,28 @@ class Finance(sugar.activity.activity.Activity):
self.show_all()
- # Hide the sharing button from the activity toolbar since we don't support it.
- activity_toolbar = self.tbox.get_activity_toolbar()
- activity_toolbar.share.props.visible = False
-
- self.helpbtn = sugar.graphics.toggletoolbutton.ToggleToolButton('help')
- self.helpbtn.set_active(True)
- self.helpbtn.set_tooltip(_("Show Help"))
- #self.helpbtn.props.accelerator = '<Ctrl>H'
- self.helpbtn.connect('clicked', self.help_cb)
-
- share_idx = activity_toolbar.get_item_index(activity_toolbar.share)
- activity_toolbar.insert(self.helpbtn, share_idx)
- self.helpbtn.show_all()
+ if OLD_TOOLBAR:
+ # Hide the sharing button from the activity toolbar since
+ # we don't support it.
+ activity_toolbar = self.tbox.get_activity_toolbar()
+ activity_toolbar.share.props.visible = False
def build_toolbox(self):
- self.newcreditbtn = sugar.graphics.toolbutton.ToolButton('list-add')
+ self.newcreditbtn = sugar.graphics.toolbutton.ToolButton('row-insert-credit')
self.newcreditbtn.set_tooltip(_("New Credit"))
self.newcreditbtn.props.accelerator = '<Ctrl>A'
self.newcreditbtn.connect('clicked', self.register.newcredit_cb)
- self.newdebitbtn = sugar.graphics.toolbutton.ToolButton('list-remove')
+ self.newdebitbtn = sugar.graphics.toolbutton.ToolButton('row-insert-debit')
self.newdebitbtn.set_tooltip(_("New Debit"))
self.newdebitbtn.props.accelerator = '<Ctrl>D'
self.newdebitbtn.connect('clicked', self.register.newdebit_cb)
- self.eraseitembtn = sugar.graphics.toolbutton.ToolButton('dialog-cancel')
+ self.eraseitembtn = sugar.graphics.toolbutton.ToolButton('row-remove-transaction')
self.eraseitembtn.set_tooltip(_("Erase Transaction"))
self.eraseitembtn.props.accelerator = '<Ctrl>E'
self.eraseitembtn.connect('clicked', self.register.eraseitem_cb)
- #sep = gtk.SeparatorToolItem()
- #sep.set_expand(True)
- #sep.set_draw(False)
-
transactionbar = gtk.Toolbar()
transactionbar.insert(self.newcreditbtn, -1)
transactionbar.insert(self.newdebitbtn, -1)
@@ -207,11 +205,11 @@ class Finance(sugar.activity.activity.Activity):
self.thisperiodbtn.props.accelerator = '<Ctrl>Down'
self.thisperiodbtn.connect('clicked', self.thisperiod_cb)
- self.prevperiodbtn = sugar.graphics.toolbutton.ToolButton('go-previous')
+ self.prevperiodbtn = sugar.graphics.toolbutton.ToolButton('go-previous-paired')
self.prevperiodbtn.props.accelerator = '<Ctrl>Left'
self.prevperiodbtn.connect('clicked', self.prevperiod_cb)
- self.nextperiodbtn = sugar.graphics.toolbutton.ToolButton('go-next')
+ self.nextperiodbtn = sugar.graphics.toolbutton.ToolButton('go-next-paired')
self.nextperiodbtn.props.accelerator = '<Ctrl>Right'
self.nextperiodbtn.connect('clicked', self.nextperiod_cb)
@@ -235,26 +233,29 @@ class Finance(sugar.activity.activity.Activity):
perioditem = gtk.ToolItem()
perioditem.add(periodcombo)
- periodbar = gtk.Toolbar()
- periodbar.insert(self.prevperiodbtn, -1)
- periodbar.insert(self.thisperiodbtn, -1)
- periodbar.insert(self.nextperiodbtn, -1)
- periodbar.insert(periodsep, -1)
- periodbar.insert(periodlabelitem, -1)
- periodbar.insert(perioditem, -1)
-
- registerbtn = sugar.graphics.toolbutton.ToolButton('view-list')
+ view_tool_group = None
+ registerbtn = RadioToolButton()
+ registerbtn.props.icon_name = 'view-list'
+ registerbtn.props.label = _('Register')
registerbtn.set_tooltip(_("Register"))
+ registerbtn.props.group = view_tool_group
+ view_tool_group = registerbtn
registerbtn.props.accelerator = '<Ctrl>1'
registerbtn.connect('clicked', self.register_cb)
- budgetbtn = sugar.graphics.toolbutton.ToolButton('view-triangle')
+ budgetbtn = RadioToolButton()
+ budgetbtn.props.icon_name = 'budget'
+ budgetbtn.props.label = _('Budget')
budgetbtn.set_tooltip(_("Budget"))
+ budgetbtn.props.group = view_tool_group
budgetbtn.props.accelerator = '<Ctrl>2'
budgetbtn.connect('clicked', self.budget_cb)
- chartbtn = sugar.graphics.toolbutton.ToolButton('view-radial')
+ chartbtn = RadioToolButton()
+ chartbtn.props.icon_name = 'chart'
+ chartbtn.props.label = _('Chart')
chartbtn.set_tooltip(_("Chart"))
+ chartbtn.props.group = view_tool_group
chartbtn.props.accelerator = '<Ctrl>3'
chartbtn.connect('clicked', self.chart_cb)
@@ -263,13 +264,77 @@ class Finance(sugar.activity.activity.Activity):
viewbar.insert(budgetbtn, -1)
viewbar.insert(chartbtn, -1)
- self.tbox = sugar.activity.activity.ActivityToolbox(self)
- self.tbox.add_toolbar(_('Transaction'), transactionbar)
- self.tbox.add_toolbar(_('Period'), periodbar)
- self.tbox.add_toolbar(_('View'), viewbar)
- self.tbox.show_all()
+ helpbtn = sugar.graphics.toggletoolbutton.ToggleToolButton('help')
+ helpbtn.set_active(True)
+ helpbtn.set_tooltip(_("Show Help"))
+ helpbtn.connect('clicked', self.help_cb)
+
+ if OLD_TOOLBAR:
+ periodbar = gtk.Toolbar()
+ periodbar.insert(self.prevperiodbtn, -1)
+ periodbar.insert(self.nextperiodbtn, -1)
+ periodbar.insert(self.thisperiodbtn, -1)
+ periodbar.insert(periodsep, -1)
+ periodbar.insert(periodlabelitem, -1)
+ periodbar.insert(perioditem, -1)
+
+ self.tbox = sugar.activity.activity.ActivityToolbox(self)
+ self.tbox.add_toolbar(_('Transaction'), transactionbar)
+ self.tbox.add_toolbar(_('Period'), periodbar)
+ self.tbox.add_toolbar(_('View'), viewbar)
+ self.tbox.show_all()
+
+ # Add help button in place of share:
+ activity_toolbar = self.tbox.get_activity_toolbar()
+ share_idx = activity_toolbar.get_item_index(activity_toolbar.share)
+ activity_toolbar.insert(helpbtn, share_idx)
+ helpbtn.show_all()
+
+ self.set_toolbox(self.tbox)
- self.set_toolbox(self.tbox)
+ else:
+ self.toolbar_box = ToolbarBox()
+
+ activity_button = ActivityToolbarButton(self)
+ self.toolbar_box.toolbar.insert(activity_button, 0)
+ activity_button.show()
+
+ transaction_toolbar_button = ToolbarButton(
+ page=transactionbar,
+ icon_name='transaction')
+ transactionbar.show_all()
+
+ view_toolbar_button = ToolbarButton(
+ page=viewbar,
+ icon_name='toolbar-view')
+ viewbar.show_all()
+
+ self.toolbar_box.toolbar.insert(transaction_toolbar_button, -1)
+ transaction_toolbar_button.show()
+
+ self.toolbar_box.toolbar.view = view_toolbar_button
+ self.toolbar_box.toolbar.insert(view_toolbar_button, -1)
+ view_toolbar_button.show()
+
+ separator = gtk.SeparatorToolItem()
+ separator.set_draw(True)
+ self.toolbar_box.toolbar.insert(separator, -1)
+
+ self.toolbar_box.toolbar.insert(periodlabelitem, -1)
+ self.toolbar_box.toolbar.insert(perioditem, -1)
+ self.toolbar_box.toolbar.insert(self.prevperiodbtn, -1)
+ self.toolbar_box.toolbar.insert(self.nextperiodbtn, -1)
+ self.toolbar_box.toolbar.insert(self.thisperiodbtn, -1)
+
+ separator = gtk.SeparatorToolItem()
+ separator.props.draw = False
+ separator.set_expand(True)
+ self.toolbar_box.toolbar.insert(separator, -1)
+
+ self.toolbar_box.toolbar.insert(helpbtn, -1)
+ self.toolbar_box.toolbar.insert(StopButton(self), -1)
+ self.set_toolbar_box(self.toolbar_box)
+ self.toolbar_box.show_all()
def set_help(self, text):
if self.helplabel != None:
diff --git a/icons/budget.svg b/icons/budget.svg
new file mode 100644
index 0000000..eb7f4af
--- /dev/null
+++ b/icons/budget.svg
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2"
+ xml:space="preserve"><path
+ d="m 6.6007253,8.2456182 25.8704757,0 3.713506,4.1775918 -3.713506,4.177592 -25.8704757,0 z"
+ id="rect4771"
+ style="fill:&fill_color;;fill-opacity:1;stroke:none" /><path
+ d="m 6.6007253,23.531778 17.0386267,0 3.713506,4.177592 -3.713506,4.177591 -17.0386267,0 z"
+ id="path4774"
+ style="fill:&fill_color;;fill-opacity:1;stroke:none" /><path
+ d="m 6.6007253,38.817937 38.1792237,0 3.713507,4.177591 -3.713507,4.177591 -38.1792237,0 z"
+ id="path4776"
+ style="fill:&fill_color;;fill-opacity:1;stroke:none" /></svg>
\ No newline at end of file
diff --git a/icons/chart.svg b/icons/chart.svg
new file mode 100644
index 0000000..a4f664b
--- /dev/null
+++ b/icons/chart.svg
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="55"
+ height="54.695999"
+ viewBox="0 0 55 54.696"
+ id="svg2"
+ xml:space="preserve"><path
+ d="m 74.938826,52.30751 a 24.183447,24.183447 0 1 1 -48.366894,0 24.183447,24.183447 0 1 1 48.366894,0 z"
+ transform="matrix(0.86419753,0,0,0.86419753,-16.362674,-17.856021)"
+ id="path4827"
+ style="fill:#b3b3b3;fill-opacity:1;stroke:none" /><path
+ d="m 56.790988,75.725677 a 24.183447,24.183447 0 1 1 14.676658,-35.9018 L 50.755379,52.30751 z"
+ transform="matrix(0.72405881,0.47177983,-0.47177983,0.72405881,15.43226,-34.46759)"
+ id="path4831"
+ style="fill:&fill_color;;fill-opacity:1;stroke:none" /></svg>
\ No newline at end of file
diff --git a/icons/row-insert-credit.svg b/icons/row-insert-credit.svg
new file mode 100644
index 0000000..56b508b
--- /dev/null
+++ b/icons/row-insert-credit.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2"
+ xml:space="preserve"><rect
+ width="29.018976"
+ height="8.0039997"
+ x="22.856024"
+ y="25.603001"
+ id="rect7"
+ style="fill:#808284;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><rect
+ width="29.018976"
+ height="7.9920001"
+ x="22.856024"
+ y="33.606003"
+ id="rect9"
+ style="fill:#c6c8ca;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><rect
+ width="29.018976"
+ height="8.0039997"
+ x="22.856024"
+ y="41.598"
+ id="rect11"
+ style="fill:#808284;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><g
+ transform="translate(4.3481076,3.1245143e-7)"
+ id="g3037"><line
+ x1="7"
+ x2="7"
+ y1="37.007"
+ y2="24.844"
+ id="line15"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /><polyline
+ transform="translate(0,10)"
+ points=" 12.13,20.924 7,27.007 1.87,20.924 "
+ id="polyline17"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /></g><g
+ transform="matrix(0.40270692,0,0,0.40270692,0.26115198,0.32328443)"
+ id="list-add"
+ style="display:block"><path
+ d="M 43.467,11.644 C 34.678,2.854 20.432,2.858 11.649,11.642 2.858,20.433 2.857,34.675 11.647,43.465 c 8.79,8.789 23.031,8.788 31.822,-0.003 8.783,-8.784 8.788,-23.029 -0.002,-31.818 z M 30.768,38.767 c -0.002,1.774 -1.438,3.216 -3.214,3.214 -0.889,10e-4 -1.693,-0.359 -2.275,-0.941 -0.582,-0.581 -0.94,-1.385 -0.94,-2.27 l 0,-8.146 h -8.146 c -0.886,-10e-4 -1.689,-0.359 -2.271,-0.94 -0.582,-0.583 -0.942,-1.388 -0.942,-2.276 0,-1.773 1.439,-3.213 3.217,-3.211 h 8.143 v -8.143 c -0.003,-1.776 1.438,-3.217 3.212,-3.217 1.774,0 3.218,1.438 3.215,3.215 l 0.001,8.145 8.146,0.001 c 1.775,-0.005 3.212,1.438 3.213,3.213 0.002,1.775 -1.441,3.214 -3.215,3.215 h -8.143 v 8.141 z"
+ id="path5"
+ style="fill:&fill_color;;display:inline" /></g></svg>
\ No newline at end of file
diff --git a/icons/row-insert-debit.svg b/icons/row-insert-debit.svg
new file mode 100644
index 0000000..c1670c0
--- /dev/null
+++ b/icons/row-insert-debit.svg
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2"
+ xml:space="preserve"><rect
+ width="29.018976"
+ height="8.0039997"
+ x="22.856024"
+ y="25.603001"
+ id="rect7"
+ style="fill:#808284;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><rect
+ width="29.018976"
+ height="7.9920001"
+ x="22.856024"
+ y="33.606003"
+ id="rect9"
+ style="fill:#c6c8ca;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><rect
+ width="29.018976"
+ height="8.0039997"
+ x="22.856024"
+ y="41.598"
+ id="rect11"
+ style="fill:#808284;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><g
+ transform="translate(4.3481076,3.1245143e-7)"
+ id="g3037"><line
+ x1="7"
+ x2="7"
+ y1="37.007"
+ y2="24.844"
+ id="line15"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /><polyline
+ transform="translate(0,10)"
+ points=" 12.13,20.924 7,27.007 1.87,20.924 "
+ id="polyline17"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /></g><g
+ transform="matrix(0.4045393,0,0,0.4045393,0.210658,0.27279434)"
+ id="list-remove"
+ style="fill:&fill_color;;display:block"><path
+ d="M 43.467,11.644 C 34.678,2.854 20.432,2.858 11.649,11.642 2.858,20.433 2.857,34.675 11.647,43.465 c 8.79,8.789 23.031,8.788 31.822,-0.003 8.783,-8.784 8.788,-23.029 -0.002,-31.818 z M 16.192,30.623 c -0.886,-0.001 -1.689,-0.359 -2.271,-0.94 -0.582,-0.583 -0.942,-1.388 -0.942,-2.276 0,-1.773 1.439,-3.213 3.217,-3.211 l 22.716,0 c 1.775,-0.005 3.212,1.438 3.213,3.213 0.002,1.775 -1.441,3.214 -3.215,3.215 L 16.192,30.623 z"
+ id="path5-8"
+ style="fill:&fill_color;;display:inline" /></g></svg>
\ No newline at end of file
diff --git a/icons/row-remove-transaction.svg b/icons/row-remove-transaction.svg
new file mode 100644
index 0000000..18b5193
--- /dev/null
+++ b/icons/row-remove-transaction.svg
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2"
+ xml:space="preserve"><rect
+ width="28.067122"
+ height="8.0039997"
+ x="23.692928"
+ y="-33.492767"
+ transform="scale(1,-1)"
+ id="rect7-8"
+ style="fill:#808284;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><rect
+ width="28.067122"
+ height="7.9920001"
+ x="23.692928"
+ y="33.492771"
+ id="rect9-8"
+ style="fill:none;stroke:&fill_color;;stroke-width:2;stroke-miterlimit:4;stroke-dasharray:2.00000003, 2.00000003;stroke-dashoffset:0.80000001" /><rect
+ width="28.067122"
+ height="8.0039997"
+ x="23.692928"
+ y="41.483768"
+ id="rect11-6"
+ style="fill:#808284;stroke:&fill_color;;stroke-width:2.5;stroke-miterlimit:4;stroke-dasharray:none" /><g
+ transform="translate(4.2928405,9.889769)"
+ id="g13"><line
+ x1="7.0630002"
+ x2="7.0630002"
+ y1="27.851999"
+ y2="40.015999"
+ id="line15-8"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /><polyline
+ points=" 1.934,33.936 7.063,27.852 12.194,33.936 "
+ id="polyline17-3"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /></g></svg>
\ No newline at end of file
diff --git a/icons/transaction.svg b/icons/transaction.svg
new file mode 100644
index 0000000..784e13c
--- /dev/null
+++ b/icons/transaction.svg
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [
+ <!ENTITY fill_color "#FFFFFF;">
+ <!ENTITY stroke_color "#010101">
+]>
+<svg
+ xmlns="http://www.w3.org/2000/svg"
+ version="1.1"
+ width="55"
+ height="55"
+ viewBox="0 0 55 55"
+ id="svg2"
+ xml:space="preserve"><path
+ d="m 5.3989893,21.203662 c 14.2536357,3.026498 37.6915987,1.918235 44.2020257,0 l 0,26.464908 c -11.3515,4.547175 -38.003399,3.515525 -44.2020257,0 z"
+ id="rect3950"
+ style="fill:&fill_color;;fill-opacity:1;stroke:&stroke_color;;stroke-width:3.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" /><path
+ d="m 31.826568,35.200723 c -0.124647,1.441238 -0.924793,2.66249 -2.063202,3.379224 0.843146,1.62985 3.882836,2.875781 3.882836,2.875781 0,0 -2.401658,2.743546 -6.470692,2.785079 -4.069035,0.04152 -5.992209,-2.747657 -5.992209,-2.747657 0,0 2.96051,-0.859211 4.142418,-2.746178 -1.529892,-0.810058 -2.509198,-2.478963 -2.350603,-4.312794 0.211372,-2.444065 2.364455,-4.254389 4.808523,-4.043021 2.445016,0.212504 4.254298,2.365496 4.042929,4.809566 z"
+ id="President-0"
+ style="fill:&stroke_color;;stroke:none" /><g
+ transform="matrix(1.2772258,0,0,1.2772258,-16.920749,-35.948644)"
+ id="g3938"><line
+ x1="40.861088"
+ x2="28.697088"
+ y1="35.768433"
+ y2="35.768433"
+ id="line15"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /><polyline
+ transform="matrix(0,1,-1,0,68.713086,28.705433)"
+ points=" 1.934,33.936 7.063,27.852 12.194,33.936 "
+ id="polyline17"
+ style="fill:none;stroke:&fill_color;;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round" /></g></svg>
\ No newline at end of file
--
1.7.4.4
More information about the Sugar-devel
mailing list