[tryton-debian-vcs] tryton-client branch debian-squeeze-2.2 created. 7a381b642f8c15a48017ee85a58674e0d4061269
Mathias Behrle
tryton-debian-vcs at alioth.debian.org
Wed Nov 27 16:51:02 UTC 2013
The following commit has been merged in the debian-squeeze-2.2 branch:
https://alioth.debian.org/plugins/scmgit/cgi-bin/gitweb.cgi/?p=tryton/tryton-client.git;a=commitdiff;h=7a381b642f8c15a48017ee85a58674e0d4061269
commit 7a381b642f8c15a48017ee85a58674e0d4061269
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Thu Dec 15 15:09:39 2011 +0100
Updating version in man page.
diff --git a/debian/manpages/tryton.1 b/debian/manpages/tryton.1
index a8e14a7..b0da359 100644
--- a/debian/manpages/tryton.1
+++ b/debian/manpages/tryton.1
@@ -1,4 +1,4 @@
-.TH TRYTON 1 "2011\-07\-10" "2.0" "Tryton Application Platform"
+.TH TRYTON 1 "2011\-12\-15" "2.2" "Tryton Application Platform"
.SH NAME
tryton \- Tryton Application Platform (Client)
commit 6180eb89a03ebc416ac61756c1ead39be918bfd1
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Wed Dec 14 17:30:18 2011 +0100
Adding 01-desktop-icon.patch.
diff --git a/debian/patches/01-desktop-icon.patch b/debian/patches/01-desktop-icon.patch
new file mode 100644
index 0000000..acc32c8
--- /dev/null
+++ b/debian/patches/01-desktop-icon.patch
@@ -0,0 +1,14 @@
+Author: Daniel Baumann <daniel at debian.org>
+Description: Adjust name of the icon to be used for the desktop file.
+
+diff -Naurp tryton-client.orig/tryton.desktop tryton-client/tryton.desktop
+--- tryton-client.orig/tryton.desktop 2011-07-11 11:56:55.557139883 +0200
++++ tryton-client/tryton.desktop 2011-07-11 11:58:07.289141985 +0200
+@@ -7,6 +7,6 @@ GenericName[de]=Client für die Tryton A
+ Comment=Access Tryton server
+ Comment[de]=Verbindet zu einem Tryton Server
+ Exec=tryton
+-Icon=tryton-icon
++Icon=tryton-client
+ Terminal=false
+ Categories=Office;Finance;
commit cb6cc3965fad5b3ed1585932237eb2520a4a6ba4
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 20:48:46 2011 +0100
Rediffing 02-icon-directory.patch.
diff --git a/debian/patches/02-icon-directory.patch b/debian/patches/02-icon-directory.patch
index ee8532b..3776d1a 100644
--- a/debian/patches/02-icon-directory.patch
+++ b/debian/patches/02-icon-directory.patch
@@ -1,9 +1,9 @@
Author: Daniel Baumann <daniel at debian.org>
Description: Adjust icon directory to policy conforming place.
---- a/tryton/config.py
-+++ b/tryton/config.py
-@@ -189,13 +189,13 @@
+--- tryton-client.orig/tryton/config.py 2011-12-13 20:44:19.461745262 +0100
++++ tryton-client/tryton/config.py 2011-12-13 20:45:25.070348515 +0100
+@@ -194,13 +194,13 @@
'..')))
PREFIX = os.path.abspath(os.path.normpath(os.path.join(
os.path.dirname(sys.argv[0]), '..')))
@@ -20,8 +20,8 @@ Description: Adjust icon directory to policy conforming place.
TRYTON_ICON = gtk.gdk.pixbuf_new_from_file(
os.path.join(PIXMAPS_DIR, 'tryton-icon.png').encode('utf-8'))
---- a/setup.py
-+++ b/setup.py
+--- tryton-client.orig/setup.py 2011-12-13 20:44:19.473744639 +0100
++++ tryton-client/setup.py 2011-12-13 20:45:25.070348515 +0100
@@ -32,7 +32,7 @@
pass
commit 28ce6e3ad5c27f1e29d13a954b8398b1fc7c094b
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Nov 1 13:44:18 2011 +0100
Replacing tryton-preferences.svg with supposed candidate (s. http://bugs.tryton.org/roundup/issue2245).
diff --git a/debian/patches/03-replace-tryton-preferences-svg.patch b/debian/patches/03-replace-tryton-preferences-svg.patch
new file mode 100644
index 0000000..bdbe0b8
--- /dev/null
+++ b/debian/patches/03-replace-tryton-preferences-svg.patch
@@ -0,0 +1,82 @@
+Author: Mathias Behrle <mathiasb at m9s.biz>
+Description: Replace tryton-preferences.svg with public domain version.
+Bug: http://bugs.tryton.org/roundup/issue2245
+--- tryton-client.orig/share/pixmaps/tryton/tryton-preferences.svg 2011-10-31 22:09:48.894213334 +0100
++++ tryton-client/share/pixmaps/tryton/tryton-preferences.svg 2011-06-17 14:27:24.000000000 +0200
+@@ -2,7 +2,7 @@
+ <!-- Created with Inkscape (http://www.inkscape.org/) -->
+ <svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+- xmlns:cc="http://web.resource.org/cc/"
++ 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"
+@@ -16,11 +16,19 @@
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+- inkscape:version="0.43+devel"
++ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/categories"
+- sodipodi:docname="preferences-desktop.svg">
++ sodipodi:docname="preferences-desktop.svg"
++ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
++ <inkscape:perspective
++ sodipodi:type="inkscape:persp3d"
++ inkscape:vp_x="0 : 24 : 1"
++ inkscape:vp_y="0 : 1000 : 0"
++ inkscape:vp_z="48 : 24 : 1"
++ inkscape:persp3d-origin="24 : 16 : 1"
++ id="perspective106" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+@@ -536,9 +544,9 @@
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="1024"
+- inkscape:window-height="1022"
+- inkscape:window-x="592"
+- inkscape:window-y="87" />
++ inkscape:window-height="818"
++ inkscape:window-x="410"
++ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+@@ -554,7 +562,7 @@
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
++ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Desktop Preferences</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+@@ -565,19 +573,13 @@
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
++ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+- rdf:resource="http://web.resource.org/cc/Reproduction" />
++ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+- rdf:resource="http://web.resource.org/cc/Distribution" />
+- <cc:requires
+- rdf:resource="http://web.resource.org/cc/Notice" />
+- <cc:requires
+- rdf:resource="http://web.resource.org/cc/Attribution" />
++ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+- <cc:requires
+- rdf:resource="http://web.resource.org/cc/ShareAlike" />
++ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..f7c9499
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+03-replace-tryton-preferences-svg.patch
+01-desktop-icon.patch
+02-icon-directory.patch
commit c30bab1d7511ba7c4e06597c866235232cfb4b09
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Nov 1 13:25:31 2011 +0100
Updating copyright.
diff --git a/debian/copyright b/debian/copyright
index ae6f6c1..7c127bd 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -20,6 +20,10 @@ Copyright:
(C) 2008-2011 Udo Spallek
License: GPL-3+
+Files: share/pixmaps/tryton/*.svg
+Copyright: not applicable
+License: public-domain
+
Files: debian/*
Copyright:
(C) 2009-2011 Daniel Baumann <daniel at debian.org>
@@ -42,3 +46,68 @@ License: GPL-3+
.
The complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL-3 file.
+
+License: public-domain
+ The icons used are generally taken from
+ http://tango.freedesktop.org/releases/tango-icon-theme-0.8.90.tar.gz
+ .
+ Some icons were adapted by Cedric Krier 2011
+ .
+ Upstream Authors: 2005-2009
+ .
+ Ulisse Perusin <uli.peru at gmail.com>
+ Steven Garrity <sgarrity at silverorange.com>
+ Lapo Calamandrei <calamandrei at gmail.com>
+ Ryan Collier <rcollier at novell.com>
+ Rodney Dawes <dobey at novell.com>
+ Andreas Nilsson <nisses.mail at home.se>
+ Tuomas Kuosmanen <tigert at tigert.com>
+ Garrett LeSage <garrett at novell.com>
+ Jakub Steiner <jimmac at novell.com>
+ .
+ In the preparation of the 0.8.90 release Novell took care of tracking
+ down all the contributors to get them to relicense their artwork
+ into Public Domain.
+ .
+ The COPYING file of the tarball states the following:
+ | The icons in this repository are herefore released into the Public Domain.
+ .
+ Additionally the copyright status of the files was tracked in the CVS and the
+ rdf properties of the SVGs adjusted for all files that were put into Public
+ Domain (see rdf:about and rdf:resource). Both fields contain a link to the
+ Creative Commons Public Domain Dediciation[0] as reproduced below:
+ | Public Domain Dedication
+ |
+ | Copyright-Only Dedication (based on United States law) or Public Domain
+ | Certification
+ |
+ | The person or persons who have associated work with this document (the
+ | "Dedicator" or "Certifier") hereby either (a) certifies that, to the best
+ | of his knowledge, the work of authorship identified is in the public
+ | domain of the country from which the work is published, or (b)
+ | hereby dedicates whatever copyright the dedicators holds in the work
+ | of authorship identified below (the "Work") to the public domain. A
+ | certifier, moreover, dedicates any copyright interest he may have in
+ | the associated work, and for these purposes, is described as a
+ | "dedicator" below.
+ |
+ | A certifier has taken reasonable steps to verify the copyright
+ | status of this work. Certifier recognizes that his good faith efforts
+ | may not shield him from liability if in fact the work certified is not
+ | in the public domain.
+ |
+ | Dedicator makes this dedication for the benefit of the public at
+ | large and to the detriment of the Dedicator's heirs and successors.
+ | Dedicator intends this dedication to be an overt act of relinquishment
+ | in perpetuity of all present and future rights under copyright law,
+ | whether vested or contingent, in the Work. Dedicator understands that
+ | such relinquishment of all rights includes the relinquishment of all
+ | rights to enforce (by lawsuit or otherwise) those copyrights in the
+ | Work.
+ |
+ | Dedicator recognizes that, once placed in the public domain, the Work
+ | may be freely reproduced, distributed, transmitted, used, modified,
+ | built upon, or otherwise exploited by anyone for any purpose, commercial
+ | or non-commercial, and in any way, including by methods that have not
+ | yet been invented or conceived.
+ 0] http://creativecommons.org/licenses/publicdomain/
commit 4466db07c57a37feffae237d33a5edb30c13d481
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Mon Jul 11 14:20:20 2011 +0200
Correcting setup.py for installation location of icons.
diff --git a/debian/patches/02-icon-directory.patch b/debian/patches/02-icon-directory.patch
new file mode 100644
index 0000000..ee8532b
--- /dev/null
+++ b/debian/patches/02-icon-directory.patch
@@ -0,0 +1,33 @@
+Author: Daniel Baumann <daniel at debian.org>
+Description: Adjust icon directory to policy conforming place.
+
+--- a/tryton/config.py
++++ b/tryton/config.py
+@@ -189,13 +189,13 @@
+ '..')))
+ PREFIX = os.path.abspath(os.path.normpath(os.path.join(
+ os.path.dirname(sys.argv[0]), '..')))
+-PIXMAPS_DIR = os.path.join(CURRENT_DIR, 'share', 'pixmaps', 'tryton')
++PIXMAPS_DIR = os.path.join(CURRENT_DIR, 'share', 'icons', 'tryton')
+ if not os.path.isdir(PIXMAPS_DIR):
+- PIXMAPS_DIR = os.path.join(PREFIX, 'share', 'pixmaps', 'tryton')
++ PIXMAPS_DIR = os.path.join(PREFIX, 'share', 'icons', 'tryton')
+ if not os.path.isdir(PIXMAPS_DIR):
+ PREFIX = os.path.abspath(os.path.normpath(
+ os.path.dirname(sys.argv[0])))
+- PIXMAPS_DIR = os.path.join(PREFIX, 'share', 'pixmaps', 'tryton')
++ PIXMAPS_DIR = os.path.join(PREFIX, 'share', 'icons', 'tryton')
+
+ TRYTON_ICON = gtk.gdk.pixbuf_new_from_file(
+ os.path.join(PIXMAPS_DIR, 'tryton-icon.png').encode('utf-8'))
+--- a/setup.py
++++ b/setup.py
+@@ -32,7 +32,7 @@
+ pass
+
+ data_files=[
+- ('share/pixmaps/tryton', glob.glob('share/pixmaps/tryton/*.png') + \
++ ('share/icons/tryton', glob.glob('share/pixmaps/tryton/*.png') + \
+ glob.glob('share/pixmaps/tryton/*.svg')),
+ ('share/locale/bg_BG/LC_MESSAGES',
+ glob.glob('share/locale/bg_BG/LC_MESSAGES/*.mo')),
commit aebaa2454295b49a5a2eede68cf64aef4db6785d
Author: Daniel Baumann <daniel at debian.org>
Date: Sun Jul 10 15:07:07 2011 +0200
Also updating version number in manpage.
diff --git a/debian/manpages/tryton.1 b/debian/manpages/tryton.1
index 98a5d5d..a8e14a7 100644
--- a/debian/manpages/tryton.1
+++ b/debian/manpages/tryton.1
@@ -1,4 +1,4 @@
-.TH TRYTON 1 "2011\-07\-10" "1.8" "Tryton Application Platform"
+.TH TRYTON 1 "2011\-07\-10" "2.0" "Tryton Application Platform"
.SH NAME
tryton \- Tryton Application Platform (Client)
commit fbb56654dd6a1cbcb2e1ff9ad8369b83f5c84679
Author: Daniel Baumann <daniel at debian.org>
Date: Sun Jul 10 15:02:23 2011 +0200
Alinging entries in debhelper install file.
diff --git a/debian/tryton-client.links b/debian/tryton-client.links
index 646c9be..f3edeba 100644
--- a/debian/tryton-client.links
+++ b/debian/tryton-client.links
@@ -1,3 +1,3 @@
-/usr/bin/tryton /usr/bin/tryton-client
+/usr/bin/tryton /usr/bin/tryton-client
/usr/share/pixmaps/tryton/tryton-icon.png /usr/share/pixmaps/tryton-icon.png
-/usr/share/man/man1/tryton.1.gz /usr/share/man/man1/tryton-client.1.gz
+/usr/share/man/man1/tryton.1.gz /usr/share/man/man1/tryton-client.1.gz
commit 4cf3136e76db32b8398493ba411a9424bc996d2d
Author: Daniel Baumann <daniel at debian.org>
Date: Sun Jul 10 15:01:46 2011 +0200
Updating manpage.
diff --git a/debian/manpages/tryton.1 b/debian/manpages/tryton.1
index 421bae4..98a5d5d 100644
--- a/debian/manpages/tryton.1
+++ b/debian/manpages/tryton.1
@@ -1,4 +1,4 @@
-.TH TRYTON 1 "2010\-11\-04" "1.8" "Tryton Application Platform"
+.TH TRYTON 1 "2011\-07\-10" "1.8" "Tryton Application Platform"
.SH NAME
tryton \- Tryton Application Platform (Client)
@@ -21,4 +21,4 @@ More information about the Tryton client and the Tryton project can be found at
.SH AUTHOR
Tryton client was written by the Tryton project <\fIhttp://www.tryton.org/\fR>.
.PP
-This manual page was written by Daniel Baumann <\fIdaniel at debian.org\fR>, for the Debian project (but may be used by others).
+This manual page was written by Daniel Baumann <\fIdaniel at debian.org\fR>.
commit fb49bcbbebc637856a3e553f0d7f17c5f6ab382c
Author: Daniel Baumann <daniel at debian.org>
Date: Sun Jul 10 15:01:19 2011 +0200
Compacting copyright file.
diff --git a/debian/copyright b/debian/copyright
index d5e0346..ae6f6c1 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,8 +1,3 @@
-Upstream-Contact: Tryton project <tryton at googlegroups.com>
-Upstream-Homepage: http://downloads.tryton.org/
-Maintainer-Contact: Debian Tryton Maintainers <tryton at lists.debian-maintainers.org>
-Maintainer-Homepage: http://tryton.debian-maintainers.org/
-
Files: *
Copyright:
(C) 2004-2008 Tiny SPRL
@@ -14,21 +9,6 @@ Copyright:
(C) 2008-2011 virtual things - Preisler & Spallek GbR
(C) 2010-2011 Nicolas Evrard
License: GPL-3+
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU General Public License
- can be found in /usr/share/common-licenses/GPL-3 file.
Files: doc/*
Copyright:
@@ -39,27 +19,14 @@ Copyright:
(C) 2008-2011 Tobias Paepke
(C) 2008-2011 Udo Spallek
License: GPL-3+
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- .
- On Debian systems, the complete text of the GNU General Public License
- can be found in /usr/share/common-licenses/GPL-3 file.
Files: debian/*
Copyright:
(C) 2009-2011 Daniel Baumann <daniel at debian.org>
(C) 2010-2011 Mathias Behrle <mathiasb at m9s.biz>
License: GPL-3+
+
+License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
@@ -73,5 +40,5 @@ License: GPL-3+
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
- On Debian systems, the complete text of the GNU General Public License
+ The complete text of the GNU General Public License
can be found in /usr/share/common-licenses/GPL-3 file.
commit e0cbc606b09449656d06fb66b9589070da7ce730
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue May 24 20:40:03 2011 +0200
Updating Copyright.
diff --git a/debian/copyright b/debian/copyright
index 6b40bc7..d5e0346 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -6,11 +6,13 @@ Maintainer-Homepage: http://tryton.debian-maintainers.org/
Files: *
Copyright:
(C) 2004-2008 Tiny SPRL
+ (C) 2007-2009 Lorenzo Gil Sanchez
(C) 2007-2011 Cedric Krier
(C) 2007-2011 Bertrand Chenal
(C) 2008-2011 B2CK SPRL
(C) 2008-2011 Udo Spallek
(C) 2008-2011 virtual things - Preisler & Spallek GbR
+ (C) 2010-2011 Nicolas Evrard
License: GPL-3+
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
commit a650593dd5d44ab43210e1a2780d0c0f42a284e5
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 19:58:39 2011 +0100
Adding openoffice.org-calc to Recommends.
diff --git a/debian/control b/debian/control
index 0e1ca6a..7530a8b 100644
--- a/debian/control
+++ b/debian/control
@@ -19,7 +19,7 @@ Depends:
${misc:Depends}, ${python:Depends}, python-dateutil, python-gtk2,
python-simplejson, python-pkg-resources, librsvg2-2
Recommends:
- openoffice.org-writer, evince | pdf-viewer, python-tz
+ openoffice.org-writer, openoffice.org-calc, evince | pdf-viewer, python-tz
Suggests: tryton-server
Description: Tryton Application Platform (Client)
Tryton is a high-level general purpose application platform written in Python
commit 04e6bb9650a120318a3b9d5e8cb4c0b31fa6b32e
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 19:53:03 2011 +0100
Merging upstream version 2.2.0.
diff --git a/CHANGELOG b/CHANGELOG
index 9170a0a..41e964a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,8 +1,20 @@
-Version 2.0.2 - 2011-10-01
-* Bug fixes (see mercurial logs for details)
-
-Version 2.0.1 - 2011-05-29
+Version 2.2.0 - 2011-10-24
* Bug fixes (see mercurial logs for details)
+* New search widget
+* Improve memory management of Binary fields
+* Support buffer for Binary fields
+* Remove delete on Escape in editable tree
+* Use JSON-RPC
+* Limit size of field when possible
+* Add xalign and yalign as fields attributes
+* Convert many popup to be no-modal
+* Add window manager for:
+ - replace current window
+ - prevent simmilar window
+* Merge and review toolbars in form and board
+* Drop support of Python 2.5
+* Use the same design for Many2Many than One2Many
+* Allow resize columns smaller than the header
Version 2.0.0 - 2011-04-26
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index 523fe06..b8b18b9 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.0
Name: tryton
-Version: 2.0.2
+Version: 2.2.0
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
Author-email: info at b2ck.com
License: GPL-3
-Download-URL: http://downloads.tryton.org/2.0/
+Download-URL: http://downloads.tryton.org/2.2/
Description: tryton
======
@@ -68,9 +68,11 @@ Description: tryton
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: GTK
+Classifier: Framework :: Tryton
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Czech
Classifier: Natural Language :: Dutch
Classifier: Natural Language :: English
Classifier: Natural Language :: French
@@ -81,7 +83,6 @@ Classifier: Natural Language :: Slovak
Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Japanese
Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Office/Business
diff --git a/bin/tryton b/bin/tryton
index 9451640..07562fa 100755
--- a/bin/tryton
+++ b/bin/tryton
@@ -5,13 +5,15 @@ try:
'..', '..', 'tryton')))
if os.path.isdir(DIR):
sys.path.insert(0, os.path.dirname(DIR))
-except Exception:
+except NameError:
pass
# True only if running as a py2exe app
if os.name == 'nt' and hasattr(sys, "frozen"):
- sys.stdout = open(os.devnull, 'w')
- sys.stderr = open(os.devnull, 'w')
+ if not ('-v' in sys.argv or '--verbose' in sys.argv or
+ '-l' in sys.argv or '--log-level' in sys.argv):
+ sys.stdout = open(os.devnull, 'w')
+ sys.stderr = open(os.devnull, 'w')
etc = os.path.join(os.path.dirname(sys.executable), 'etc')
os.environ['GTK2_RC_FILES'] = os.path.join(etc, 'gtk-2.0', 'gtkrc')
os.environ['GDK_PIXBUF_MODULE_FILE'] = os.path.join(etc, 'gtk-2.0',
diff --git a/doc/conf.py b/doc/conf.py
index 21ec785..afa0e45 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -48,9 +48,9 @@ copyright = u'2008-2011, Anne Krings, Bertrand Chenal, Cédric Krier, \
# built documents.
#
# The short X.Y version.
-version = '2.0'
+version = '2.2'
# The full version, including alpha/beta/rc tags.
-release = '2.0'
+release = '2.2'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/doc/installation.rst b/doc/installation.rst
index ee1d18e..633f18b 100644
--- a/doc/installation.rst
+++ b/doc/installation.rst
@@ -4,11 +4,11 @@ Installing tryton
Prerequisites
-------------
- * Python 2.4 or later (http://www.python.org/)
- * pygtk 2.0 or later (http://www.pygtk.org/)
+ * Python 2.6 or later (http://www.python.org/)
+ * pygtk 2.6 or later (http://www.pygtk.org/)
* librsvg (http://librsvg.sourceforge.net/)
* python-dateutil (http://labix.org/python-dateutil)
- * simplejson (http://undefined.org/python/#simplejson)
+ * Optional: simplejson (http://undefined.org/python/#simplejson)
* Optional: pytz (http://pytz.sourceforge.net/)
Installation
diff --git a/doc/usage.rst b/doc/usage.rst
index e25c159..2caabd1 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -88,13 +88,13 @@ Figure: Tryton client application::
| | ______ |
Tabs | Menu | [Tab1] |[Tab2]| [Tab3]... |
|-------------| +-------+ +--------------------------------+|
- | + | | Tab2 ||
+ | + | | Menu Tab2 ||
| |-+ | |-----------------------------------------------||
- Tool bar | | |- | | New Save|Delete|Find Previous Next Switch v ||
+ Tool bar | | |- | | New Save Switch Reload | Prev Next | Attach v ||
+ | | |- | |-----------------------------------------------||
+ | + | | ____________________ ||
+ Search widget | |-+ | | Search | | <- -> Find Clear ||
| | |- | |-----------------------------------------------||
- | + | | ||
- | |-+ | | ||
- | | |- | | ||
| | |- | | ||
| + | | ||
View | |-+ | | ||
@@ -561,6 +561,11 @@ Save Width/Height:
and trees. Additionally saving of manually adjusted widths and heights of
dialog and popup windows.
+.. _Menu-Options-Form-Save_Tree_State:
+
+Save Tree Expanded State:
+ Check box to enable saving of manually expanded nodes in trees.
+
.. _Menu-Options-Form-Spell_Checking:
Spell Checking:
@@ -869,6 +874,101 @@ Attachment:
On click it opens the attachments :term:`dialog`. The default dialog
shows a list view of the attached files and links.
+Search Widget
+*************
+
+The search widget adds the ability to easily search for records on the current
+tab. This widget is visible only on :term:`tree view`.
+
+The Syntax
+^^^^^^^^^^
+
+A query is composed of search clauses.
+A clause is composed of a field name (with `:` at the end), an operator and a value.
+The field name is optional and defaults to the record name.
+The operator is also optional and defaults to `like` or `equal` depending on
+the type of the field. The default operator is `=` except for fields of type
+`char`, `text` and `many2one` which is `ilike`.
+
+Field Names
+^^^^^^^^^^^
+
+All field names shown in the :term:`tree view` can be searched. Field names
+must be followed by a `:`
+
+ For example: ``Name:``
+
+If the field name contains spaces, it is possible to
+escape it using double quotes.
+
+ For example: ``"Receivable Today":``
+
+Operators
+^^^^^^^^^
+
+The following operators can be used:
+
+ * `=`: equal to
+ * `<`: less then
+ * `<=`: less then or equal to
+ * `>`: greater then
+ * `>=`: greater then or equal to
+ * `!=`: not equal
+ * `!`: not equal or not like (depending of the type of field)
+
+ For example: ``Name: != Dwight``
+
+.. note:: The `ilike` operator is never explicit and `%` is appended to the
+ value to make it behaves like `starts with`
+
+Values
+^^^^^^
+
+The format of the value depends on the type of the field.
+A list of values can be set using `;` as separator.
+
+ For example: ``Name: Michael; Pam``
+
+ It will find all records having the `Name` starting with `Michael` or
+ `Pam`.
+
+A range of number values can be set using `..`.
+
+ For example: ``Amount: 100..500``
+
+ It will find all records with `Amount` between `100` and `500` (left
+ included and right excluded)
+
+There are two wildcards:
+
+ * `%`: matches any string of zero or more characters.
+ * `_`: matches any single character.
+
+It is possible to escape special characters in values by using double quotes.
+
+ For example: ``Name: "Michael:Scott"``
+
+ Here it will search with the value `Michael:Scott`.
+
+Clause composition
+^^^^^^^^^^^^^^^^^^
+
+The clauses can be composed using the two boolean operators `and` and `or`.
+By default, there is an implicit `and` between each clause if no operator is
+specified.
+
+ For example: ``Name: Michael Amount: 100``
+
+ is the same as ``Name: Michael and Amount: 100``
+
+The `and` operator has a highest precedence than `or` but you can change it by
+using parenthesis.
+
+ For example: ``(Name: Michael or Name: Pam) and Amount: 100``
+
+ is different than ``Name: Michael or Name: Pam and Amount: 100``
+
+ which is evaluated as ``Name: Michael or (Name: Pam and Amount: 100)``
Appendix
********
@@ -883,4 +983,5 @@ Configuration File
~/.config/tryton/x.y/accel.map # Accelerators configuration
~/.config/tryton/x.y/known_hosts # Fingerprints
~/.config/tryton/x.y/ca_certs # Certification Authority (http://docs.python.org/library/ssl.html#ssl-certificates)
+ ~/.config/tryton/x.y/profiles.cfg # Profile configuration
diff --git a/setup.py b/setup.py
index 351cb37..b955ab2 100644
--- a/setup.py
+++ b/setup.py
@@ -80,12 +80,9 @@ if os.name == 'nt':
}
args['zipfile'] = 'library.zip'
- if sys.version_info < (2, 6):
- data_files.append(('', ['msvcp71.dll']))
- else:
- data_files.append(('', ['msvcr90.dll', 'msvcp90.dll', 'msvcm90.dll']))
- manifest = read('Microsoft.VC90.CRT.manifest')
- args['windows'][0]['other_resources'] = [(24, 1, manifest)]
+ data_files.append(('', ['msvcr90.dll', 'msvcp90.dll', 'msvcm90.dll']))
+ manifest = read('Microsoft.VC90.CRT.manifest')
+ args['windows'][0]['other_resources'] = [(24, 1, manifest)]
elif os.name == 'mac' \
@@ -112,14 +109,6 @@ elif os.name == 'mac' \
execfile(os.path.join('tryton', 'version.py'))
-EXTRAS = {
- 'timezone': ['pytz'],
-}
-SIMPLEJSON = []
-if sys.version_info < (2, 6):
- SIMPLEJSON = ['simplejson']
- EXTRAS['ssl'] = ['ssl']
-
dist = setup(name=PACKAGE,
version=VERSION,
description='Tryton client',
@@ -135,9 +124,11 @@ dist = setup(name=PACKAGE,
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: X11 Applications :: GTK',
+ 'Framework :: Tryton',
'Intended Audience :: End Users/Desktop',
'License :: OSI Approved :: GNU General Public License (GPL)',
'Natural Language :: Bulgarian',
+ 'Natural Language :: Czech',
'Natural Language :: Dutch',
'Natural Language :: English',
'Natural Language :: French',
@@ -148,17 +139,19 @@ dist = setup(name=PACKAGE,
'Natural Language :: Slovenian',
'Natural Language :: Japanese',
'Operating System :: OS Independent',
- 'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2.6',
'Programming Language :: Python :: 2.7',
'Topic :: Office/Business',
],
license=LICENSE,
install_requires=[
-# "pygtk >= 2.0",
+# "pygtk >= 2.6",
"python-dateutil",
- ] + SIMPLEJSON,
- extras_require=EXTRAS,
+ ],
+ extras_require={
+ 'timezone': ['pytz'],
+ 'simplejson': ['simplejson'],
+ },
**args
)
@@ -219,9 +212,12 @@ if os.name == 'nt':
query_loaders = Popen(os.path.join(gtk_dir,'bin','gdk-pixbuf-query-loaders'),
stdout=PIPE).stdout.read()
query_loaders = query_loaders.replace(gtk_dir.replace(os.sep, '/') + '/', '')
- loaders = open(os.path.join(dist_dir, 'etc', 'gtk-2.0', 'gdk-pixbuf.loaders'), 'w')
- loaders.writelines([line + "\n" for line in query_loaders.split(os.linesep)])
- loaders.close()
+
+ loaders_path = os.path.join(dist_dir, 'etc', 'gtk-2.0',
+ 'gdk-pixbuf.loaders')
+ with open(loaders_path, 'w') as loaders:
+ loaders.writelines([line + "\n" for line in
+ query_loaders.split(os.linesep)])
if os.path.isdir(os.path.join(dist_dir, 'lib')):
shutil.rmtree(os.path.join(dist_dir, 'lib'))
@@ -284,14 +280,13 @@ elif os.name == 'mac' \
query_pango = Popen(os.path.join(gtk_dir, 'bin', 'pango-querymodules'),
stdout=PIPE).stdout.read()
query_pango = query_pango.replace(gtk_dir, '@executable_path/../Resources')
- pango_modules = open(os.path.join(resources_dir, 'pango.modules'), 'w')
- pango_modules.write(query_pango)
- pango_modules.close()
+ pango_modules_path = os.path.join(resources_dir, 'pango.modules')
+ with open(pango_modules_path, 'w') as pango_modules:
+ pango_modules.write(query_pango)
- pangorc = open(os.path.join(resources_dir, 'pangorc'), 'w')
- pangorc.write('[Pango]\n')
- pangorc.write('ModuleFiles=./pango.modules\n')
- pangorc.close()
+ with open(os.path.join(resources_dir, 'pangorc'), 'w') as pangorc:
+ pangorc.write('[Pango]\n')
+ pangorc.write('ModuleFiles=./pango.modules\n')
if os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'loaders')):
shutil.rmtree(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'loaders'))
@@ -306,9 +301,10 @@ elif os.name == 'mac' \
query_loaders = Popen(os.path.join(gtk_dir,'bin','gdk-pixbuf-query-loaders'),
stdout=PIPE).stdout.read()
query_loaders = query_loaders.replace(gtk_dir, '@executable_path/../Resources')
- loaders = open(os.path.join(resources_dir, 'gdk-pixbuf.loaders'), 'w')
- loaders.write(query_loaders)
- loaders.close()
+
+ loaders_path = os.path.join(resources_dir, 'gdk-pixbuf.loaders')
+ with open(loaders_path, 'w') as loaders:
+ loaders.write(query_loaders)
if os.path.isdir(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'immodules')):
shutil.rmtree(os.path.join(gtk_2_dist_dir, gtk_binary_version, 'immodules'))
@@ -318,9 +314,10 @@ elif os.name == 'mac' \
query_immodules = Popen(os.path.join(gtk_dir, 'bin', 'gtk-query-immodules-2.0'),
stdout=PIPE).stdout.read()
query_immodules = query_immodules.replace(gtk_dir, '@executable_path/../Resources')
- immodules = open(os.path.join(resources_dir, 'gtk.immodules'), 'w')
- immodules.write(query_immodules)
- immodules.close()
+
+ immodules_path = os.path.join(resources_dir, 'gtk.immodules')
+ with open(immodules_path, 'w') as immodules:
+ immodules.write(query_immodules)
shutil.copy(os.path.join(gtk_dir, 'share', 'themes', 'Clearlooks',
'gtk-2.0', 'gtkrc'), os.path.join(resources_dir, 'gtkrc'))
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.mo b/share/locale/bg_BG/LC_MESSAGES/tryton.mo
index 138d73c..d078b2f 100644
Binary files a/share/locale/bg_BG/LC_MESSAGES/tryton.mo and b/share/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo
index 44e8041..142f394 100644
Binary files a/share/locale/cs_CZ/LC_MESSAGES/tryton.mo and b/share/locale/cs_CZ/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.mo b/share/locale/de_DE/LC_MESSAGES/tryton.mo
index 60f0506..17bf9c7 100644
Binary files a/share/locale/de_DE/LC_MESSAGES/tryton.mo and b/share/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_CO/LC_MESSAGES/tryton.mo b/share/locale/es_CO/LC_MESSAGES/tryton.mo
index b59f52b..2bd7006 100644
Binary files a/share/locale/es_CO/LC_MESSAGES/tryton.mo and b/share/locale/es_CO/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/es_ES/LC_MESSAGES/tryton.mo b/share/locale/es_ES/LC_MESSAGES/tryton.mo
index 27ba726..bed8637 100644
Binary files a/share/locale/es_ES/LC_MESSAGES/tryton.mo and b/share/locale/es_ES/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.mo b/share/locale/fr_FR/LC_MESSAGES/tryton.mo
index 3b0e804..dede0c0 100644
Binary files a/share/locale/fr_FR/LC_MESSAGES/tryton.mo and b/share/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.mo b/share/locale/ja_JP/LC_MESSAGES/tryton.mo
index 342a294..62be163 100644
Binary files a/share/locale/ja_JP/LC_MESSAGES/tryton.mo and b/share/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.mo b/share/locale/nl_NL/LC_MESSAGES/tryton.mo
index e206ac0..e22e2a1 100644
Binary files a/share/locale/nl_NL/LC_MESSAGES/tryton.mo and b/share/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/ru_RU/LC_MESSAGES/tryton.mo b/share/locale/ru_RU/LC_MESSAGES/tryton.mo
index 754dc3c..d9937b8 100644
Binary files a/share/locale/ru_RU/LC_MESSAGES/tryton.mo and b/share/locale/ru_RU/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.mo b/share/locale/sl_SI/LC_MESSAGES/tryton.mo
index 4fe8cfc..93ff7b7 100644
Binary files a/share/locale/sl_SI/LC_MESSAGES/tryton.mo and b/share/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/share/pixmaps/tryton/tryton-attachment-hi.svg b/share/pixmaps/tryton/tryton-attachment-hi.svg
new file mode 100644
index 0000000..5430fcf
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-attachment-hi.svg
@@ -0,0 +1,244 @@
+<?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"
+ width="48"
+ height="48"
+ id="svg79606"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.0 r9654"
+ version="1.0"
+ sodipodi:docname="tryton-attachment-hi.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs79608">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective20" />
+ <linearGradient
+ id="linearGradient5783">
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1;"
+ offset="0"
+ id="stop5785" />
+ <stop
+ id="stop5791"
+ offset="0.5"
+ style="stop-color:#f5f5f5;stop-opacity:1;" />
+ <stop
+ style="stop-color:#bebebe;stop-opacity:1;"
+ offset="1"
+ id="stop5787" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3558">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3560" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3562" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3558"
+ id="radialGradient3564"
+ cx="21.761711"
+ cy="23.07144"
+ fx="21.761711"
+ fy="23.07144"
+ r="15.571428"
+ gradientTransform="matrix(0.977282,3.554943e-8,-8.305337e-10,0.651376,-0.79443,15.82896)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5783"
+ id="linearGradient5789"
+ x1="23.505953"
+ y1="5.7753429"
+ x2="20.604948"
+ y2="29.85923"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient1758"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4737"
+ xlink:href="#linearGradient12512"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.23529412"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="9.2291667"
+ inkscape:cx="2.0843146"
+ inkscape:cy="24"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1278"
+ inkscape:window-height="1007"
+ inkscape:window-x="0"
+ inkscape:window-y="15"
+ stroke="#d3d7cf"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="0">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata79611">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Mail Attachment</dc:title>
+ <dc:date>2005-11-04</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://tango-project.org</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>attachment</rdf:li>
+ <rdf:li>file</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Garrett LeSage, Cédric Krier</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g3902">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="translate(0.494048,1.056164)"
+ d="M 21.326337,9.3278633 L 10.449186,27.94227 C 8.5266861,31.23365 9.6775753,35.481172 13.008091,37.38221 L 15.102397,38.579075 C 18.434077,40.480111 22.732254,39.341738 24.655919,36.05036 L 36.41168,15.928621 C 38.335346,12.636117 37.625044,8.6405654 34.835356,7.0477444 C 32.045435,5.4549233 28.187846,6.8452672 26.265346,10.137772 L 18.109581,24.099704 C 16.186149,27.391081 15.978909,30.871442 17.647547,31.836583 C 19.317351,32.799475 22.257398,30.893938 24.179898,27.602558 L 28.142388,20.81957"
+ id="path7057"
+ style="fill:none;stroke:#888a85;stroke-width:3.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="translate(0.494048,1.168493)"
+ d="M 21.326337,9.2155349 L 10.449186,27.829941 C 8.5266861,31.121321 9.6775753,35.368843 13.008091,37.269881 L 15.102397,38.466746 C 18.434077,40.367782 22.732254,39.229409 24.655919,35.938031 L 36.41168,15.816292 C 38.335346,12.523788 37.625044,8.528237 34.835356,6.935416 C 32.045435,5.3425949 28.187846,6.7329388 26.265346,10.025444 L 18.109581,23.987375 C 16.186149,27.278752 15.978909,30.759113 17.647547,31.724254 C 19.317351,32.687146 22.257398,30.781609 24.179898,27.490229 L 28.142388,20.707241"
+ id="path7053"
+ style="fill:none;stroke:url(#linearGradient5789);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ </g>
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.25;color:#000000;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3556"
+ sodipodi:cx="22.571428"
+ sodipodi:cy="30.857143"
+ sodipodi:rx="15.571428"
+ sodipodi:ry="10.142858"
+ d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1 7,30.857143 A 15.571428 10.142858 0 1 1 38.142857 30.857143 z"
+ transform="matrix(1.316514,0,0,0.246479,-2.215601,33.89436)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <g
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline"
+ transform="translate(5.0000005,-1.25982)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient4737);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;marker:none;visibility:visible;display:block"
+ id="path12511"
+ sodipodi:cx="55"
+ sodipodi:cy="125"
+ sodipodi:rx="14.375"
+ sodipodi:ry="14.375"
+ d="m 69.375,125 c 0,7.93909 -6.435907,14.375 -14.375,14.375 -7.939093,0 -14.375,-6.43591 -14.375,-14.375 0,-7.93909 6.435907,-14.375 14.375,-14.375 7.939093,0 14.375,6.43591 14.375,14.375 z"
+ transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-ydpi="33.852203" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-attachment.svg b/share/pixmaps/tryton/tryton-attachment.svg
new file mode 100644
index 0000000..4c7f5f6
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-attachment.svg
@@ -0,0 +1,186 @@
+<?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"
+ width="48"
+ height="48"
+ id="svg79606"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ version="1.0"
+ sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
+ sodipodi:docname="mail-attachment.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs79608">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective20" />
+ <linearGradient
+ id="linearGradient5783">
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1;"
+ offset="0"
+ id="stop5785" />
+ <stop
+ id="stop5791"
+ offset="0.5"
+ style="stop-color:#f5f5f5;stop-opacity:1;" />
+ <stop
+ style="stop-color:#bebebe;stop-opacity:1;"
+ offset="1"
+ id="stop5787" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3558">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3560" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3562" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3558"
+ id="radialGradient3564"
+ cx="21.761711"
+ cy="23.07144"
+ fx="21.761711"
+ fy="23.07144"
+ r="15.571428"
+ gradientTransform="matrix(0.977282,3.554943e-8,-8.305337e-10,0.651376,-0.79443,15.82896)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5783"
+ id="linearGradient5789"
+ x1="23.505953"
+ y1="5.7753429"
+ x2="20.604948"
+ y2="29.85923"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.23529412"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.979167"
+ inkscape:cx="10.476522"
+ inkscape:cy="24"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="940"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ stroke="#d3d7cf"
+ inkscape:showpageshadow="false">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata79611">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Mail Attachment</dc:title>
+ <dc:date>2005-11-04</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://tango-project.org</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>attachment</rdf:li>
+ <rdf:li>file</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g3902">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="translate(0.494048,1.056164)"
+ d="M 21.326337,9.3278633 L 10.449186,27.94227 C 8.5266861,31.23365 9.6775753,35.481172 13.008091,37.38221 L 15.102397,38.579075 C 18.434077,40.480111 22.732254,39.341738 24.655919,36.05036 L 36.41168,15.928621 C 38.335346,12.636117 37.625044,8.6405654 34.835356,7.0477444 C 32.045435,5.4549233 28.187846,6.8452672 26.265346,10.137772 L 18.109581,24.099704 C 16.186149,27.391081 15.978909,30.871442 17.647547,31.836583 C 19.317351,32.799475 22.257398,30.893938 24.179898,27.602558 L 28.142388,20.81957"
+ id="path7057"
+ style="fill:none;stroke:#888a85;stroke-width:3.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="translate(0.494048,1.168493)"
+ d="M 21.326337,9.2155349 L 10.449186,27.829941 C 8.5266861,31.121321 9.6775753,35.368843 13.008091,37.269881 L 15.102397,38.466746 C 18.434077,40.367782 22.732254,39.229409 24.655919,35.938031 L 36.41168,15.816292 C 38.335346,12.523788 37.625044,8.528237 34.835356,6.935416 C 32.045435,5.3425949 28.187846,6.7329388 26.265346,10.025444 L 18.109581,23.987375 C 16.186149,27.278752 15.978909,30.759113 17.647547,31.724254 C 19.317351,32.687146 22.257398,30.781609 24.179898,27.490229 L 28.142388,20.707241"
+ id="path7053"
+ style="fill:none;stroke:url(#linearGradient5789);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
+ </g>
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.25;color:#000000;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3556"
+ sodipodi:cx="22.571428"
+ sodipodi:cy="30.857143"
+ sodipodi:rx="15.571428"
+ sodipodi:ry="10.142858"
+ d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1 7,30.857143 A 15.571428 10.142858 0 1 1 38.142857 30.857143 z"
+ transform="matrix(1.316514,0,0,0.246479,-2.215601,33.89436)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-clear.svg b/share/pixmaps/tryton/tryton-clear.svg
new file mode 100644
index 0000000..b2f20d4
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-clear.svg
@@ -0,0 +1,416 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
+ sodipodi:docname="edit-clear.svg"
+ inkscape:export-filename="/home/andreas/projekt/bild/tango/clear2.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs1308">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective62" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2243">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2245" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2247" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9320">
+ <stop
+ id="stop9322"
+ offset="0.0000000"
+ style="stop-color:#fef088;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#fde63a;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop9324" />
+ <stop
+ id="stop9326"
+ offset="1.0000000"
+ style="stop-color:#dac203;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8576">
+ <stop
+ style="stop-color:#dac203;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop8578" />
+ <stop
+ id="stop8584"
+ offset="0.50000000"
+ style="stop-color:#fdec69;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#fdef7e;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop8580" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3558">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3560" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3562" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3558"
+ id="radialGradient3564"
+ cx="22.571428"
+ cy="30.857143"
+ fx="22.571428"
+ fy="30.857143"
+ r="15.571428"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.651376,4.792388e-15,10.75754)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient15303">
+ <stop
+ style="stop-color:#b30000;stop-opacity:1;"
+ offset="0"
+ id="stop15305" />
+ <stop
+ id="stop15311"
+ offset="0.5"
+ style="stop-color:#ff5c5c;stop-opacity:1;" />
+ <stop
+ style="stop-color:#c30000;stop-opacity:1;"
+ offset="1"
+ id="stop15307" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11647">
+ <stop
+ style="stop-color:#c17d10;stop-opacity:1;"
+ offset="0"
+ id="stop11649" />
+ <stop
+ style="stop-color:#9b650c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11651" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5739">
+ <stop
+ style="stop-color:#c4a000;stop-opacity:1;"
+ offset="0"
+ id="stop5741" />
+ <stop
+ style="stop-color:#c4a000;stop-opacity:0;"
+ offset="1"
+ id="stop5743" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5739"
+ id="linearGradient7988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.866026,-0.500000,0.797491,1.381294,-15.69909,-9.225099)"
+ x1="9.1053896"
+ y1="38.828144"
+ x2="10.146956"
+ y2="30.140831" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5739"
+ id="linearGradient7990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.866026,-0.500000,0.797961,1.382110,-15.72934,-9.277499)"
+ x1="19.616243"
+ y1="39.252983"
+ x2="18.485983"
+ y2="29.909071" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5739"
+ id="linearGradient7992"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.866026,-0.500000,0.843479,1.460948,-19.74053,-11.13423)"
+ x1="15.096997"
+ y1="36.96777"
+ x2="14.045431"
+ y2="29.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5739"
+ id="linearGradient7994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.866026,-0.500000,0.801305,1.387900,-12.81830,-11.14456)"
+ x1="14.045431"
+ y1="37.575890"
+ x2="14.045431"
+ y2="29.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5739"
+ id="linearGradient7996"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.866026,-0.500000,0.861487,1.492140,-17.87951,-13.91085)"
+ x1="16.92873"
+ y1="34.010502"
+ x2="14.045431"
+ y2="29.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11647"
+ id="linearGradient11653"
+ x1="12.233433"
+ y1="12.363223"
+ x2="16.870909"
+ y2="17.110941"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.965926,0.262102,-0.258819,0.978177,2.957072,-5.939741)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15303"
+ id="linearGradient15309"
+ x1="10.615304"
+ y1="28.122555"
+ x2="2.0069747"
+ y2="27.234833"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.176700,2.237102e-17,2.319843e-17,1.176702,-0.819769,-5.307055)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8576"
+ id="linearGradient8582"
+ x1="11.996646"
+ y1="19.591736"
+ x2="17.774033"
+ y2="16.234594"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.014891,0.000000,0.000000,1.005920,-0.331699,-0.140188)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9320"
+ id="radialGradient9318"
+ cx="20.764477"
+ cy="19.540945"
+ fx="20.764477"
+ fy="19.540945"
+ r="14.799585"
+ gradientTransform="matrix(0.449398,-0.216492,0.564416,1.171617,-1.432288,2.546108)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2243"
+ id="linearGradient2249"
+ x1="9.5621576"
+ y1="6.952559"
+ x2="14.766725"
+ y2="14.200403"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.17254902"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4"
+ inkscape:cx="9.561293"
+ inkscape:cy="43.364823"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="916"
+ inkscape:window-height="818"
+ inkscape:window-x="518"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Edit Clear</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://www.tango-project.org</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>clear</rdf:li>
+ <rdf:li>reset</rdf:li>
+ <rdf:li>blank</rdf:li>
+ <rdf:li>edit</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner (although minimally ;)</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.47368421;color:#000000;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3556"
+ sodipodi:cx="22.571428"
+ sodipodi:cy="30.857143"
+ sodipodi:rx="15.571428"
+ sodipodi:ry="10.142858"
+ d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1 7,30.857143 A 15.571428 10.142858 0 1 1 38.142857 30.857143 z"
+ transform="matrix(1.435780,0.000000,0.000000,0.825704,-5.050460,13.43182)" />
+ <path
+ style="fill:url(#linearGradient11653);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#8f5902;stroke-width:1.0063211;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ d="M 6.9163118,1.7780186 C 8.6460876,0.8999591 11.042237,1.7815151 11.928102,3.3353385 L 16.098341,12.820053 C 16.984206,14.373873 16.731757,16.189357 15.532312,16.890639 C 14.332867,17.591922 12.654079,16.90558 11.768213,15.351758 L 5.8497502,6.9960305 C 4.9638854,5.4422066 5.2207536,2.6387087 6.9163118,1.7780186 z "
+ id="path7966"
+ sodipodi:nodetypes="cccsccz" />
+ <path
+ style="opacity:0.42307691;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2249);stroke-width:1.00569046;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+ d="M 7.4462701,2.7359104 C 8.8682231,1.9500906 10.266975,2.5431693 11.141568,4.0752981 L 15.589706,14.162023 L 13.158185,15.581885 L 6.8615741,6.7615491 C 5.9869811,5.2294205 5.9853271,3.5432766 7.4462701,2.7359104 z "
+ id="path14575"
+ sodipodi:nodetypes="cccccz" />
+ <path
+ style="fill:url(#radialGradient9318);fill-opacity:1;fill-rule:evenodd;stroke:#c4a000;stroke-width:1.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 14.780848,22.793567 C 13.985353,27.080402 15.414814,36.746068 21.040081,42.487564 C 25.386835,42.628855 35.030172,39.069883 41.571176,32.290526 C 32.335,27.773816 26.034647,16.567549 21.135869,19.007852 L 14.780848,22.793567 z "
+ id="path7968"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7988);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 16.338359,24.367274 C 18.687375,30.637545 18.827802,37.155576 23.522142,42.287158"
+ id="path7972"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.46153846;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 15.91878,23.414124 C 15.006687,23.922228 15.758401,35.934338 21.503034,41.414491 C 28.88902,41.227594 37.02675,35.018304 39.895986,32.576645 C 30.39657,26.592523 24.971183,17.814876 21.415196,20.003061 L 15.91878,23.414124 z "
+ id="path7970"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7990);stroke-width:0.99999970;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 23.848485,22.273332 C 24.714846,21.524332 29.598505,28.360999 38.846986,34.655133"
+ id="path7974"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7992);stroke-width:1.0000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 18.012893,22.863921 C 21.725203,28.211416 20.975883,35.288176 26.853709,40.945031"
+ id="path7976"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7994);stroke-width:1.0000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 22.983898,22.775821 C 22.983898,22.775821 31.160628,35.84745 34.165832,37.880382"
+ id="path7978"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7996);stroke-width:1.0000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 19.300308,22.200695 C 22.747454,25.11751 28.002865,36.363883 30.610322,39.678445"
+ id="path7980"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:url(#linearGradient8582);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#c4a000;stroke-width:1.0103954;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ d="M 8.5089452,18.061866 L 19.970616,11.502960 C 20.569266,13.885531 19.628776,14.743545 21.766566,18.650673 L 13.856274,23.177313 C 12.402846,19.699893 10.291388,19.767015 8.5089452,18.061866 z "
+ id="path7982"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:0.24725272;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 14.043449,21.245689 C 13.229488,19.824472 11.481136,19.009347 10.364130,18.118460 L 19.121552,13.184722 C 19.101959,14.665690 19.688457,16.272928 19.997163,17.703389 L 14.043449,21.245689 z "
+ id="path11655"
+ sodipodi:nodetypes="ccccc" />
+ <rect
+ style="opacity:1;fill:url(#linearGradient15309);fill-opacity:1;fill-rule:evenodd;stroke:#690000;stroke-width:0.99999803;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="rect7984"
+ width="13.015023"
+ height="3.4598906"
+ x="-1.4127867"
+ y="24.174778"
+ rx="0.99999738"
+ ry="0.99999803"
+ transform="matrix(0.866025,-0.500001,0.500000,0.866026,0.000000,0.000000)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#8f5902;stroke-width:1.65524161;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path10193"
+ sodipodi:cx="-19.319168"
+ sodipodi:cy="4.0836182"
+ sodipodi:rx="2.1465743"
+ sodipodi:ry="2.1465743"
+ d="M -17.172594 4.0836182 A 2.1465743 2.1465743 0 1 1 -21.465742,4.0836182 A 2.1465743 2.1465743 0 1 1 -17.172594 4.0836182 z"
+ transform="matrix(0.583557,0.156364,-0.156364,0.583557,20.45782,5.158782)" />
+ <path
+ style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 27.734834,40.555239 C 27.734834,40.555239 29.241418,40.054591 29.910932,39.613484 C 28.673495,37.66894 26.507591,33.717819 24.507806,30.737564 C 25.701049,37.278302 27.734834,40.555239 27.734834,40.555239 z "
+ id="path3558"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 31.141805,39.05827 L 33.167803,37.9731 C 31.223259,36.116945 25.699306,27.857202 25.699306,27.857202 L 31.141805,39.05827 z "
+ id="path3560"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 35.658522,36.387809 L 38.094893,34.644057 C 34.912912,33.318232 26.508353,24.763608 26.508353,24.763608 C 28.891288,27.775503 33.275587,33.375914 35.658522,36.387809 z "
+ id="path3562"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 39.153689,33.917208 L 40.846002,32.5077 C 37.531439,31.005098 28.350325,22.595683 28.350325,22.595683 C 28.350325,22.595683 34.424912,31.795888 39.153689,33.917208 z "
+ id="path3565"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2265"
+ d="M 24.376076,41.571705 C 24.376076,41.571705 25.573301,41.292028 26.419592,41.116086 C 24.961184,39.878649 22.618503,36.678829 21.325825,32.505331 C 21.856156,39.399623 24.376076,41.571705 24.376076,41.571705 z "
+ style="opacity:0.31730766;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="opacity:0.31730766;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 21.370872,41.969452 C 21.370872,41.969452 22.618892,41.955776 22.618892,41.955776 C 20.320795,39.436707 19.480717,36.590441 18.188038,32.549526 C 18.055457,37.234109 21.370872,41.969452 21.370872,41.969452 z "
+ id="path2267"
+ sodipodi:nodetypes="cccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-close.svg b/share/pixmaps/tryton/tryton-close.svg
new file mode 100644
index 0000000..282f64e
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-close.svg
@@ -0,0 +1,359 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/emblems"
+ sodipodi:docname="emblem-unreadable.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective57" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2719">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop2721" />
+ <stop
+ style="stop-color:#cc0000;stop-opacity:0;"
+ offset="1"
+ id="stop2723" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2711">
+ <stop
+ style="stop-color:#f34e4e;stop-opacity:1;"
+ offset="0"
+ id="stop2713" />
+ <stop
+ style="stop-color:#ef2929;stop-opacity:0;"
+ offset="1"
+ id="stop2715" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11327">
+ <stop
+ style="stop-color:#7d6400;stop-opacity:1;"
+ offset="0"
+ id="stop11329" />
+ <stop
+ style="stop-color:#be9700;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11331" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2092">
+ <stop
+ id="stop2094"
+ offset="0"
+ style="stop-color:#fff7b0;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffec41;stop-opacity:1.0000000;"
+ offset="0.20999999"
+ id="stop2098" />
+ <stop
+ id="stop2293"
+ offset="0.83999997"
+ style="stop-color:#e2cc00;stop-opacity:1;" />
+ <stop
+ id="stop2100"
+ offset="1"
+ style="stop-color:#c3af00;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11335">
+ <stop
+ style="stop-color:#6f716d;stop-opacity:1;"
+ offset="0"
+ id="stop11337" />
+ <stop
+ style="stop-color:#9ea09c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11339" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10591">
+ <stop
+ style="stop-color:#cad0c6;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop10593" />
+ <stop
+ id="stop10599"
+ offset="0.50000000"
+ style="stop-color:#eaece9;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#c5cbc0;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop10595" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ id="stop11522"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11524"
+ offset="1.0000000"
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508"
+ inkscape:collect="always">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1348"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.435476e-15,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2719"
+ id="radialGradient2725"
+ cx="24.445681"
+ cy="46.957848"
+ fx="24.445681"
+ fy="46.957848"
+ r="16.554319"
+ gradientTransform="matrix(2.670835,-1.66183e-17,1.650931e-17,2.653312,-40.84471,-77.78951)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#eeeeec"
+ fill="#cc0000"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="49.436623"
+ inkscape:cy="35.750047"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="1002"
+ inkscape:window-height="818"
+ inkscape:window-x="432"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Unreadable</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>emblem</rdf:li>
+ <rdf:li>access</rdf:li>
+ <rdf:li>denied</rdf:li>
+ <rdf:li>unreadable</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(2.304988e-2,0,0,2.086758e-2,45.00013,40.24675)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ ry="5.4548240"
+ rx="5.4548240"
+ y="3.5233452"
+ x="4.4147282"
+ height="40.061924"
+ width="40.061924"
+ id="rect11518"
+ style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9b9b9b;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect11528"
+ width="37.696587"
+ height="37.696587"
+ x="5.5973887"
+ y="4.7060070"
+ rx="4.2426391"
+ ry="4.2426391" />
+ <rect
+ style="opacity:1;color:#000000;fill:url(#radialGradient2725);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2707"
+ width="33.108639"
+ height="32.891403"
+ x="7.8913612"
+ y="7.1085968"
+ rx="2.7440348"
+ ry="2.7440348"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <g
+ id="g2703"
+ transform="matrix(0.717647,0,0,0.717647,6.882353,6.6)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="stroke:#eeeeec">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path2698"
+ d="M 16.25,15.25 L 32.5,31.5"
+ style="opacity:1;color:#000000;fill:#204a87;fill-opacity:1;fill-rule:nonzero;stroke:#eeeeec;stroke-width:6.96721315;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:1;color:#000000;fill:#204a87;fill-opacity:1;fill-rule:nonzero;stroke:#eeeeec;stroke-width:6.96721315;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 32.5,15.25 L 16.25,31.5"
+ id="path2700"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-connect.svg b/share/pixmaps/tryton/tryton-connect.svg
new file mode 100644
index 0000000..504e07b
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-connect.svg
@@ -0,0 +1,1043 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg2327"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status"
+ sodipodi:docname="network-transmit-receive.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective144" />
+ <linearGradient
+ id="linearGradient3400">
+ <stop
+ style="stop-color:#416db4;stop-opacity:1;"
+ offset="0"
+ id="stop3402" />
+ <stop
+ style="stop-color:#385e9b;stop-opacity:1;"
+ offset="1"
+ id="stop3404" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2985"
+ inkscape:collect="always">
+ <stop
+ id="stop2987"
+ offset="0"
+ style="stop-color:#d8dfd6;stop-opacity:1;" />
+ <stop
+ id="stop2989"
+ offset="1"
+ style="stop-color:#d8dfd6;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2752">
+ <stop
+ id="stop2754"
+ offset="0"
+ style="stop-color:#9d9d9d;stop-opacity:1;" />
+ <stop
+ id="stop2756"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2711">
+ <stop
+ id="stop2713"
+ offset="0.0000000"
+ style="stop-color:#909090;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2715"
+ offset="1.0000000"
+ style="stop-color:#bebebe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2701">
+ <stop
+ id="stop2703"
+ offset="0.0000000"
+ style="stop-color:#585956;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2705"
+ offset="1.0000000"
+ style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2683"
+ inkscape:collect="always">
+ <stop
+ id="stop2685"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop2687"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2667">
+ <stop
+ id="stop2669"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2671"
+ offset="1.0000000"
+ style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2635"
+ inkscape:collect="always">
+ <stop
+ id="stop2637"
+ offset="0"
+ style="stop-color:#f9fff5;stop-opacity:1;" />
+ <stop
+ id="stop2639"
+ offset="1"
+ style="stop-color:#f9fff5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2454">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2456" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2458" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2415">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2417" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2419" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2253">
+ <stop
+ style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2255" />
+ <stop
+ style="stop-color:#494949;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2257" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2245">
+ <stop
+ style="stop-color:#dde1d9;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2247" />
+ <stop
+ style="stop-color:#cacdc6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2249" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient3909"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2985"
+ id="linearGradient3911"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.492875,0.669848)"
+ x1="-23.885700"
+ y1="49.953003"
+ x2="-23.885700"
+ y2="44.878883" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient3913"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2701"
+ id="linearGradient3915"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.816345,0.550556)"
+ x1="12.206709"
+ y1="53.535141"
+ x2="12.127711"
+ y2="64.892525" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient3917"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
+ x1="8.6116238"
+ y1="7.2293582"
+ x2="34.784473"
+ y2="33.339787" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient3919"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2683"
+ id="linearGradient3923"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
+ x1="3.7069976"
+ y1="171.29134"
+ x2="3.7069974"
+ y2="162.45061" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2415"
+ id="linearGradient3925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
+ x1="17.698339"
+ y1="13.004725"
+ x2="34.974548"
+ y2="55.200756" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2667"
+ id="linearGradient3927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
+ x1="11.492236"
+ y1="1.6537577"
+ x2="17.199417"
+ y2="26.729263" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient3929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient3931"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.129863,0.885063)"
+ x1="18.316999"
+ y1="48.643234"
+ x2="18.176752"
+ y2="52.536461" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient3933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient3935"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient3937"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient3939"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2635"
+ id="linearGradient3941"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
+ x1="13.628710"
+ y1="101.28460"
+ x2="8.6485014"
+ y2="74.098007" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient3943"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient3945"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient3947"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient3949"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient3951"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient4011"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2985"
+ id="linearGradient4013"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.492875,0.669848)"
+ x1="-23.885700"
+ y1="49.953003"
+ x2="-23.885700"
+ y2="44.878883" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient4015"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2701"
+ id="linearGradient4017"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.816345,0.550556)"
+ x1="12.206709"
+ y1="53.535141"
+ x2="12.127711"
+ y2="64.892525" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient4019"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
+ x1="8.6116238"
+ y1="7.2293582"
+ x2="34.784473"
+ y2="33.339787" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient4021"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2683"
+ id="linearGradient4025"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
+ x1="3.7069976"
+ y1="171.29134"
+ x2="3.7069974"
+ y2="162.45061" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2415"
+ id="linearGradient4027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
+ x1="17.698339"
+ y1="13.004725"
+ x2="34.974548"
+ y2="55.200756" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2667"
+ id="linearGradient4029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
+ x1="11.492236"
+ y1="1.6537577"
+ x2="17.199417"
+ y2="26.729263" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient4031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient4033"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.129863,0,0,0.932544,1.870249e-17,-2.527286)"
+ x1="18.316999"
+ y1="48.643234"
+ x2="18.176752"
+ y2="52.536461" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient4035"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.104397,0,0,0.954047,1.870249e-17,-2.527286)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient4037"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient4039"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient4041"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2635"
+ id="linearGradient4043"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.119206,0,0,0.473986,1.161626,-1.377609)"
+ x1="13.628710"
+ y1="101.28460"
+ x2="8.6485014"
+ y2="74.098007" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient4045"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient4047"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient4049"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient4051"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient4053"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3400"
+ id="linearGradient4064"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77934,0,0,0.77934,73.6389,-5.946102)"
+ x1="-57.547276"
+ y1="38.652531"
+ x2="-57.495499"
+ y2="15.323487" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.12156863"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4"
+ inkscape:cx="83.297457"
+ inkscape:cy="44.12705"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="822"
+ inkscape:window-height="818"
+ inkscape:window-x="612"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Computer</dc:title>
+ <dc:date>2005-03-08</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>workstation</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>node</rdf:li>
+ <rdf:li>client</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz/</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g2860"
+ transform="matrix(0.779340,0.000000,0.000000,0.779340,4.553721,10.26381)">
+ <g
+ id="g3880"
+ transform="translate(7.165836,-12.94079)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient3909);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path2862"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2864"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="translate(57.53339,3.203427)" />
+ <path
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2866"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3911);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2868"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
+ id="path2870" />
+ <path
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2872"
+ style="color:#000000;fill:url(#radialGradient3913);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <rect
+ y="30.703611"
+ x="17.472397"
+ height="2.7400389"
+ width="9.0396729"
+ id="rect2874"
+ style="color:#000000;fill:url(#linearGradient3915);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="color:#000000;fill:url(#linearGradient3917);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3919);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
+ id="path2876"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2878"
+ d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
+ style="fill:url(#linearGradient4064);fill-opacity:1;fill-rule:evenodd;stroke:#4263a8;stroke-width:0.64156881;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:1;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient3923);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762"
+ d="M 6.1774331,28.735789 L 37.605910,28.735789"
+ id="path2880" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path2882"
+ d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3925);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ style="opacity:0.53142858;fill:url(#linearGradient3927);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
+ id="path2884" />
+ <path
+ transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2886"
+ style="color:#000000;fill:url(#radialGradient3929);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path2888"
+ d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3931);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3933);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2890"
+ d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
+ style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ id="path2892"
+ d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
+ style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
+ id="path2894" />
+ <path
+ id="path2896"
+ d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3935);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:url(#linearGradient3937);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
+ id="path2898"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3939);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
+ id="path2900" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3941);stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
+ id="path2902"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2904"
+ style="color:#000000;fill:url(#linearGradient3943);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient3945);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2906"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2908"
+ style="color:#000000;fill:url(#linearGradient3947);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient3949);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2910"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2912"
+ style="color:#000000;fill:url(#linearGradient3951);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ id="path2914"
+ d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
+ style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans" />
+ </g>
+ </g>
+ <g
+ id="g3953"
+ transform="matrix(0.779340,0.000000,0.000000,0.779340,-6.030902,20.34909)">
+ <g
+ id="g3955"
+ transform="translate(7.165836,-12.94079)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient4011);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path3957"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path3959"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="translate(57.53339,3.203427)" />
+ <path
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path3961"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4013);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path3963"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
+ id="path3965" />
+ <path
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path3967"
+ style="color:#000000;fill:url(#radialGradient4015);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <rect
+ y="30.703611"
+ x="17.472397"
+ height="2.7400389"
+ width="9.0396729"
+ id="rect3969"
+ style="color:#000000;fill:url(#linearGradient4017);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="color:#000000;fill:url(#linearGradient4019);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4021);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
+ id="path3971"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path3973"
+ d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
+ style="fill:url(#linearGradient4064);fill-opacity:1;fill-rule:evenodd;stroke:#4263a8;stroke-width:0.64156884;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:1;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient4025);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762"
+ d="M 6.1774331,28.735789 L 37.605910,28.735789"
+ id="path3975" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path3977"
+ d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4027);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ style="opacity:0.53142858;fill:url(#linearGradient4029);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
+ id="path3979" />
+ <path
+ transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path3981"
+ style="color:#000000;fill:url(#radialGradient4031);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path3983"
+ d="M 6.4621839,36.265312 L 37.46459,36.265312 C 38.583839,36.265312 38.441945,36.551312 38.556817,36.911035 L 41.391463,45.787811 C 41.506335,46.147536 41.418485,46.433534 40.299236,46.433534 L 3.6275382,46.433534 C 2.5082891,46.433534 2.4204387,46.147536 2.5353107,45.787811 L 5.3699564,36.911035 C 5.4848284,36.551311 5.3429348,36.265312 6.4621839,36.265312 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient4033);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4035);stroke-width:1.28313744;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path3985"
+ d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
+ style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ id="path3987"
+ d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
+ style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
+ id="path3989" />
+ <path
+ id="path3991"
+ d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient4037);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:url(#linearGradient4039);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
+ id="path3993"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient4041);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
+ id="path3995" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4043);stroke-width:0.6415689;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 6.2310076,37.320738 L 37.694134,37.320738 L 40.301261,45.54321 L 3.4648186,45.54321 L 6.2310076,37.320738 z "
+ id="path3997"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path3999"
+ style="color:#000000;fill:url(#linearGradient4045);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient4047);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path4001"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path4003"
+ style="color:#000000;fill:url(#linearGradient4049);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient4051);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path4005"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path4007"
+ style="color:#000000;fill:url(#linearGradient4053);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ id="path4009"
+ d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
+ style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-copy.svg b/share/pixmaps/tryton/tryton-copy.svg
new file mode 100644
index 0000000..f4d9e97
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-copy.svg
@@ -0,0 +1,328 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg4198"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
+ sodipodi:docname="edit-copy.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4200">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective45" />
+ <linearGradient
+ id="linearGradient15218">
+ <stop
+ style="stop-color:#f0f0ef;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop15220" />
+ <stop
+ id="stop2269"
+ offset="0.59928656"
+ style="stop-color:#e8e8e8;stop-opacity:1;" />
+ <stop
+ id="stop2267"
+ offset="0.82758623"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#d8d8d3;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop15222" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2259">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2261" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2263" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2224">
+ <stop
+ style="stop-color:#7c7c7c;stop-opacity:1;"
+ offset="0"
+ id="stop2226" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2228" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient2230"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.161836,4.033411)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2251">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2253" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2255" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient2257"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.161836,3.658411)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15218"
+ id="linearGradient4258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.065698,0.000000,0.000000,0.987595,-8.548320,-4.891713)"
+ x1="22.308331"
+ y1="18.992140"
+ x2="35.785294"
+ y2="39.498238" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2259"
+ id="linearGradient4260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.998504,0.000000,0.000000,0.998246,-6.970391,-4.892901)"
+ x1="26.076092"
+ y1="26.696676"
+ x2="30.811172"
+ y2="42.007351" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2259"
+ id="linearGradient13651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.999421,0.000000,0.000000,1.000000,5.991319,4.033411)"
+ x1="26.076092"
+ y1="26.696676"
+ x2="30.811172"
+ y2="42.007351" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15218"
+ id="linearGradient13653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.067236,0.000000,0.000000,0.989276,4.391684,4.035227)"
+ x1="22.308331"
+ y1="18.992140"
+ x2="35.785294"
+ y2="39.498238" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#bebebe"
+ borderopacity="1.0000000"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1.4142136"
+ inkscape:cx="-57.902952"
+ inkscape:cy="48.133585"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="873"
+ inkscape:window-height="699"
+ inkscape:window-x="264"
+ inkscape:window-y="149"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4203">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Edit Copy</dc:title>
+ <dc:date>2005-10-15</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>edit</rdf:li>
+ <rdf:li>copy</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g4268"
+ style="opacity:0.49999997"
+ transform="matrix(1.001508,0.000000,0.000000,1.000616,-5.002205e-2,-6.304895e-2)">
+ <rect
+ y="34.033413"
+ x="20.161837"
+ height="2.0000000"
+ width="13.000000"
+ id="rect2279"
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ ry="0.56615961"
+ rx="0.56565511"
+ y="1.5629303"
+ x="1.5484408"
+ height="35.976688"
+ width="30.951559"
+ id="rect4238"
+ style="opacity:1.0000000;fill:url(#linearGradient4258);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99893934;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <rect
+ ry="0.0000000"
+ rx="0.0000000"
+ y="2.5605955"
+ x="2.5325129"
+ height="33.981056"
+ width="28.970741"
+ id="rect4240"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:0.99893963;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <rect
+ y="10.033414"
+ x="7.0161190"
+ height="2.0000000"
+ width="21.000000"
+ id="rect4248"
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect4250"
+ width="20.000000"
+ height="2.0000000"
+ x="7.0161190"
+ y="14.033414" />
+ <rect
+ y="18.033415"
+ x="7.0161190"
+ height="2.0000000"
+ width="18.000000"
+ id="rect4252"
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect4254"
+ width="21.000000"
+ height="2.0000000"
+ x="7.0161190"
+ y="22.033415" />
+ <rect
+ y="26.033413"
+ x="7.0161190"
+ height="2.0000000"
+ width="13.000000"
+ id="rect4256"
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g12863">
+ <path
+ style="fill:url(#linearGradient13653);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#888a85;stroke-width:1.0000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
+ d="M 15.072946,10.500852 L 44.929331,10.500852 C 45.245071,10.500852 45.499257,10.753945 45.499257,11.068324 L 45.499257,38.235686 C 45.499257,40.712138 38.619447,46.538773 36.231325,46.538773 L 15.072946,46.538773 C 14.757206,46.538773 14.50302,46.285681 14.50302,45.9713 L 14.50302,11.068324 C 14.50302,10.753945 14.757206,10.500852 15.072946,10.500852 z "
+ id="rect12413"
+ sodipodi:nodetypes="ccccccccc" />
+ <rect
+ ry="0.0000000"
+ rx="0.0000000"
+ y="11.500000"
+ x="15.502951"
+ height="34.040764"
+ width="28.997349"
+ id="rect15244"
+ style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient13651);stroke-width:1.0000008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2210"
+ d="M 36.220918,46.536966 C 38.251336,46.866864 45.809711,42.007037 45.505329,38.039122 C 43.942067,40.462219 40.746807,39.32586 36.638049,39.48487 C 36.638049,39.48487 37.033418,46.036966 36.220918,46.536966 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2230);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#868a84;stroke-width:1.0000002;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.36931817;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2257);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 37.671355,44.345464 C 39.041134,43.661635 42.099604,42.198999 43.398985,40.317995 C 41.802891,40.99805 40.451175,40.527491 37.696651,40.5084 C 37.696651,40.5084 37.858973,43.570494 37.671355,44.345464 z "
+ id="path2247"
+ sodipodi:nodetypes="cccc" />
+ <rect
+ y="19.033415"
+ x="20.000000"
+ height="2.0000000"
+ width="21.000000"
+ id="rect2271"
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect2273"
+ width="19.992233"
+ height="2.0000000"
+ x="20.000000"
+ y="23.033415" />
+ <rect
+ y="27.033415"
+ x="20.000000"
+ height="2.0000000"
+ width="17.976702"
+ id="rect2275"
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect2277"
+ width="21.000000"
+ height="2.0000000"
+ x="20.000000"
+ y="31.033415" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-delete.svg b/share/pixmaps/tryton/tryton-delete.svg
new file mode 100644
index 0000000..69281e4
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-delete.svg
@@ -0,0 +1,896 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg57"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="edit-delete.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective141" />
+ <linearGradient
+ id="linearGradient3241">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop3243" />
+ <stop
+ style="stop-color:white;stop-opacity:0;"
+ offset="1"
+ id="stop3245" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3229">
+ <stop
+ style="stop-color:#598bcb;stop-opacity:1;"
+ offset="0"
+ id="stop3231" />
+ <stop
+ id="stop3249"
+ offset="0.75675678"
+ style="stop-color:#2f5c96;stop-opacity:1;" />
+ <stop
+ style="stop-color:#203e65;stop-opacity:1;"
+ offset="1"
+ id="stop3233" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3175">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop3177" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop3179" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3159">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop3161" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop3163" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3141">
+ <stop
+ style="stop-color:#a40000;stop-opacity:1;"
+ offset="0"
+ id="stop3143" />
+ <stop
+ style="stop-color:#ffc4c4;stop-opacity:1;"
+ offset="1"
+ id="stop3145" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3008">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop3010" />
+ <stop
+ style="stop-color:#d3d3d3;stop-opacity:1;"
+ offset="1"
+ id="stop3012" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2978">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop2980" />
+ <stop
+ style="stop-color:#d5d5d5;stop-opacity:1;"
+ offset="1"
+ id="stop2982" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2964">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop2966" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop2968" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient381">
+ <stop
+ id="stop382"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop383"
+ offset="1"
+ style="stop-color:white;stop-opacity:0.84466022;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient368">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.10309278;"
+ offset="0.0000000"
+ id="stop369" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop372" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1065">
+ <stop
+ style="stop-color:#b5c051;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1066" />
+ <stop
+ style="stop-color:#858e3f;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop1067" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient172">
+ <stop
+ id="stop173"
+ offset="0.0000000"
+ style="stop-color:#616c08;stop-opacity:1.0000000;" />
+ <stop
+ id="stop174"
+ offset="1.0000000"
+ style="stop-color:#495106;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient161">
+ <stop
+ id="stop162"
+ offset="0.0000000"
+ style="stop-color:#575955;stop-opacity:1.0000000;" />
+ <stop
+ id="stop163"
+ offset="1.0000000"
+ style="stop-color:#7c7e79;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient157">
+ <stop
+ id="stop158"
+ offset="0.0000000"
+ style="stop-color:#babdb6;stop-opacity:1.0000000;" />
+ <stop
+ id="stop159"
+ offset="1.0000000"
+ style="stop-color:#f1f5ec;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient149"
+ inkscape:collect="always">
+ <stop
+ id="stop150"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop151"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1869">
+ <stop
+ style="stop-color:#c9c9c9;stop-opacity:1;"
+ offset="0"
+ id="stop1870" />
+ <stop
+ style="stop-color:#787a7b;stop-opacity:1;"
+ offset="1"
+ id="stop1871" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="69.460503"
+ x2="7.5291119"
+ y1="27.376621"
+ x1="7.3738608"
+ gradientTransform="matrix(3.495016,0,0,0.344323,-2.972087,-3.408148e-2)"
+ id="linearGradient152"
+ xlink:href="#linearGradient149"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient149"
+ id="linearGradient2058"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.520411,0,0,0.348016,-3.037918,1.544257)"
+ x1="7.3738608"
+ y1="27.376621"
+ x2="7.5291119"
+ y2="69.460503" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2964"
+ id="linearGradient2970"
+ x1="27.5"
+ y1="14"
+ x2="27.625"
+ y2="18.750015"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.799991,0,-1.199875)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient2984"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-17.82887,-61.79699)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient2988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-16.18243,-61.79699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient2992"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-14.33255,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient2996"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-12.67991,-61.03155)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-10.78506,-60.99081)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3004"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-19.58362,-61.75172)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3008"
+ id="linearGradient3097"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.984533,0,0,1.203586,0.971903,-2.123191)"
+ x1="26.151339"
+ y1="-5.7401156"
+ x2="27.500387"
+ y2="13.351768" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3107"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-8.332562,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3111"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-6.332562,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3115"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-4.332562,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3119"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-2.332562,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3123"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-0.332562,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3127"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,1.667438,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3131"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,3.667438,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2978"
+ id="radialGradient3135"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,5.667438,-61.89699)"
+ cx="9.5796242"
+ cy="33.588264"
+ fx="9.5796242"
+ fy="33.588264"
+ r="2.5527742" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3141"
+ id="linearGradient3147"
+ x1="40.5"
+ y1="13.822797"
+ x2="40.5"
+ y2="16.877842"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3159"
+ id="linearGradient3165"
+ x1="23.5"
+ y1="12"
+ x2="23.5"
+ y2="6.6875"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient3181"
+ x1="25"
+ y1="21"
+ x2="25"
+ y2="32.25"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3229"
+ id="linearGradient3239"
+ gradientUnits="userSpaceOnUse"
+ x1="24.000006"
+ y1="15.837313"
+ x2="24.000006"
+ y2="21" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3241"
+ id="linearGradient3247"
+ x1="21.67791"
+ y1="19.969507"
+ x2="22.333523"
+ y2="11.643976"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ showborder="true"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666"
+ borderopacity="0.13333333"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-117.40141"
+ inkscape:cy="39.043402"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="872"
+ inkscape:window-height="688"
+ inkscape:window-x="562"
+ inkscape:window-y="156"
+ inkscape:showpageshadow="false"
+ inkscape:object-nodes="true"
+ inkscape:object-points="false"
+ inkscape:object-bbox="false"
+ inkscape:guide-bbox="false"
+ inkscape:grid-points="true"
+ inkscape:object-paths="false">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Delete</dc:title>
+ <dc:date />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>edit</rdf:li>
+ <rdf:li>delete</rdf:li>
+ <rdf:li>shredder</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:publisher>
+ <cc:Agent>
+ <dc:title>Novell, Inc.</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title />
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ transform="matrix(2.262383e-2,0,0,1.966248e-2,44.39519,41.98146)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <path
+ style="opacity:0.38659794;color:black;fill:url(#linearGradient3181);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 4.75,21 L 43.25,21 L 42.375,32.25 L 5.625,32.25 L 4.75,21 z "
+ id="path3173" />
+ <path
+ style="fill:#babdb6;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.5"
+ d="M 4.000805,16.500028 C 3.9568443,16.464574 5.7277298,42.005521 5.7282343,42.013263 C 5.8943636,44.563961 7.2889479,45.496198 8.8498899,45.499996 C 8.9056682,45.500127 38.133934,45.496713 38.756644,45.494055 C 41.385341,45.482836 42.029344,43.859472 42.202267,42.085776 C 42.216136,42.050805 43.986115,16.535 43.999982,16.500028 C 30.666924,16.500028 17.333866,16.500028 4.000805,16.500028 z "
+ id="path1751"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="opacity:0.23711338;color:black;fill:url(#linearGradient2058);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
+ d="M 43.457954,20.712669 L 7.2079371,20.689264 C 34.519247,21.326592 39.885144,24.337412 43.214187,24.183575 L 43.457954,20.712669 z "
+ id="path1893"
+ sodipodi:nodetypes="cccc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <g
+ id="g3199"
+ style="opacity:0.12886598;fill:black;fill-opacity:1;stroke:black;stroke-width:1.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ transform="translate(8.838865e-2,8.838865e-2)">
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3201"
+ d="M 29.163487,19.614074 C 29.163487,19.614074 30.279473,23.33545 29.517144,26.348054 C 28.754815,29.360658 29.269248,34.210167 29.269248,34.210167 L 30.884373,34.634373 C 30.884373,34.634373 30.117495,30.028639 30.931357,26.524831 C 31.745219,23.021023 30.577814,19.614988 30.577814,19.614988 L 29.163487,19.614074 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3203"
+ d="M 9.9124168,19.759341 C 9.9124168,19.759341 11.028404,23.480717 10.266074,26.493321 C 9.5037448,29.505925 10.018178,34.355434 10.018178,34.355434 L 11.456527,33.807368 C 11.456527,33.807368 10.866426,30.173906 11.680288,26.670098 C 12.49415,23.16629 11.326745,19.760255 11.326745,19.760255 L 9.9124168,19.759341 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 11.66716,19.714074 C 11.66716,19.714074 12.783146,23.43545 12.020817,26.448054 C 11.258488,29.460658 8.617841,31.76449 8.617841,31.76449 L 9.8260378,33.73022 C 9.8260378,33.73022 12.621168,30.128639 13.43503,26.624831 C 14.248892,23.121023 13.081487,19.714988 13.081487,19.714988 L 11.66716,19.714074 z "
+ id="path3205"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3207"
+ d="M 21.163487,19.614074 C 21.163487,19.614074 22.279473,23.33545 21.517144,26.348054 C 20.754815,29.360658 21.269248,34.210167 21.269248,34.210167 L 22.928567,34.766955 C 22.928567,34.766955 22.117495,30.028639 22.931357,26.524831 C 23.745219,23.021023 22.577814,19.614988 22.577814,19.614988 L 21.163487,19.614074 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 35.163487,19.614074 C 35.163487,19.614074 36.279473,23.33545 35.517144,26.348054 C 34.754815,29.360658 36.550879,33.50306 36.550879,33.50306 L 38.077615,32.292082 C 38.077615,32.292082 36.117495,30.028639 36.931357,26.524831 C 37.745219,23.021023 36.577814,19.614988 36.577814,19.614988 L 35.163487,19.614074 z "
+ id="path3209"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 31.163487,19.614074 C 31.163487,19.614074 32.279473,23.33545 31.517144,26.348054 C 30.754815,29.360658 31.269248,34.210167 31.269248,34.210167 L 32.795984,34.148237 C 32.795984,34.148237 32.117495,30.028639 32.931357,26.524831 C 33.745219,23.021023 32.577814,19.614988 32.577814,19.614988 L 31.163487,19.614074 z "
+ id="path3211"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3213"
+ d="M 33.163487,19.614074 C 33.163487,19.614074 34.279473,23.33545 33.517144,26.348054 C 32.754815,29.360658 32.473753,34.03339 32.473753,34.03339 L 34.265654,34.457596 C 34.265654,34.457596 34.117495,30.028639 34.931357,26.524831 C 35.745219,23.021023 34.577814,19.614988 34.577814,19.614988 L 33.163487,19.614074 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 27.163487,19.614074 C 27.163487,19.614074 28.279473,23.33545 27.517144,26.348054 C 26.754815,29.360658 28.064743,33.989196 28.064743,33.989196 L 29.724062,33.308548 C 29.724062,33.308548 28.117495,30.028639 28.931357,26.524831 C 29.745219,23.021023 28.577814,19.614988 28.577814,19.614988 L 27.163487,19.614074 z "
+ id="path3215"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3217"
+ d="M 25.163487,19.614074 C 25.163487,19.614074 26.279473,23.33545 25.517144,26.348054 C 24.754815,29.360658 24.164394,34.077584 24.164394,34.077584 L 25.69113,34.280819 C 25.69113,34.280819 26.117495,30.028639 26.931357,26.524831 C 27.745219,23.021023 26.577814,19.614988 26.577814,19.614988 L 25.163487,19.614074 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 23.163487,19.614074 C 23.163487,19.614074 24.279473,23.33545 23.517144,26.348054 C 22.754815,29.360658 23.269248,34.210167 23.269248,34.210167 L 24.707596,33.662101 C 24.707596,33.662101 24.117495,30.028639 24.931357,26.524831 C 25.745219,23.021023 24.577814,19.614988 24.577814,19.614988 L 23.163487,19.614074 z "
+ id="path3219"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3221"
+ d="M 13.313608,19.714074 C 13.313608,19.714074 14.429594,23.43545 13.667265,26.448054 C 12.904936,29.460658 13.419369,34.310167 13.419369,34.310167 L 14.999517,34.698426 C 14.999517,34.698426 14.267616,30.128639 15.081478,26.624831 C 15.89534,23.121023 14.727935,19.714988 14.727935,19.714988 L 13.313608,19.714074 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 19.418083,20.520258 C 19.418083,20.520258 19.615714,24.129801 19.064633,27.254238 C 18.524861,30.31456 21.306417,34.496773 21.306417,34.496773 L 22.721163,33.86443 C 22.721163,33.86443 19.926762,31.248786 20.558759,27.078695 C 21.116432,23.399015 20.83241,20.521172 20.83241,20.521172 L 19.418083,20.520258 z "
+ id="path3223"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 15.163487,19.614074 C 15.163487,19.614074 16.279473,23.33545 15.517144,26.348054 C 14.754815,29.360658 15.269248,34.210167 15.269248,34.210167 L 16.707596,33.662101 C 16.707596,33.662101 16.117495,30.028639 16.931357,26.524831 C 17.745219,23.021023 16.577814,19.614988 16.577814,19.614988 L 15.163487,19.614074 z "
+ id="path3225"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3227"
+ d="M 16.816129,20.479515 C 16.816129,20.479515 17.932115,24.200891 17.169786,27.213495 C 16.407457,30.226099 14.726988,31.80438 14.726988,31.80438 L 15.964957,32.939804 C 15.964957,32.939804 17.770137,30.89408 18.583999,27.390272 C 19.397861,23.886464 18.230456,20.480429 18.230456,20.480429 L 16.816129,20.479515 z "
+ style="opacity:1;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:black;stroke-width:1.3;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g3183">
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient3123);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 29.163487,19.614074 C 29.163487,19.614074 30.279473,23.33545 29.517144,26.348054 C 28.754815,29.360658 29.269248,34.210167 29.269248,34.210167 L 30.884373,34.634373 C 30.884373,34.634373 30.117495,30.028639 30.931357,26.524831 C 31.745219,23.021023 30.577814,19.614988 30.577814,19.614988 L 29.163487,19.614074 z "
+ id="path3121"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient3004);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 9.9124168,19.759341 C 9.9124168,19.759341 11.028404,23.480717 10.266074,26.493321 C 9.5037448,29.505925 10.018178,34.355434 10.018178,34.355434 L 11.456527,33.807368 C 11.456527,33.807368 10.866426,30.173906 11.680288,26.670098 C 12.49415,23.16629 11.326745,19.760255 11.326745,19.760255 L 9.9124168,19.759341 z "
+ id="path3002"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path2976"
+ d="M 11.66716,19.714074 C 11.66716,19.714074 12.783146,23.43545 12.020817,26.448054 C 11.258488,29.460658 8.617841,31.76449 8.617841,31.76449 L 9.8260378,33.73022 C 9.8260378,33.73022 12.621168,30.128639 13.43503,26.624831 C 14.248892,23.121023 13.081487,19.714988 13.081487,19.714988 L 11.66716,19.714074 z "
+ style="opacity:1;color:black;fill:url(#radialGradient2984);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient3107);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 21.163487,19.614074 C 21.163487,19.614074 22.279473,23.33545 21.517144,26.348054 C 20.754815,29.360658 21.269248,34.210167 21.269248,34.210167 L 22.928567,34.766955 C 22.928567,34.766955 22.117495,30.028639 22.931357,26.524831 C 23.745219,23.021023 22.577814,19.614988 22.577814,19.614988 L 21.163487,19.614074 z "
+ id="path3105"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3133"
+ d="M 35.163487,19.614074 C 35.163487,19.614074 36.279473,23.33545 35.517144,26.348054 C 34.754815,29.360658 36.550879,33.50306 36.550879,33.50306 L 38.077615,32.292082 C 38.077615,32.292082 36.117495,30.028639 36.931357,26.524831 C 37.745219,23.021023 36.577814,19.614988 36.577814,19.614988 L 35.163487,19.614074 z "
+ style="opacity:1;color:black;fill:url(#radialGradient3135);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3125"
+ d="M 31.163487,19.614074 C 31.163487,19.614074 32.279473,23.33545 31.517144,26.348054 C 30.754815,29.360658 31.269248,34.210167 31.269248,34.210167 L 32.795984,34.148237 C 32.795984,34.148237 32.117495,30.028639 32.931357,26.524831 C 33.745219,23.021023 32.577814,19.614988 32.577814,19.614988 L 31.163487,19.614074 z "
+ style="opacity:1;color:black;fill:url(#radialGradient3127);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient3131);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 33.163487,19.614074 C 33.163487,19.614074 34.279473,23.33545 33.517144,26.348054 C 32.754815,29.360658 32.473753,34.03339 32.473753,34.03339 L 34.265654,34.457596 C 34.265654,34.457596 34.117495,30.028639 34.931357,26.524831 C 35.745219,23.021023 34.577814,19.614988 34.577814,19.614988 L 33.163487,19.614074 z "
+ id="path3129"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3117"
+ d="M 27.163487,19.614074 C 27.163487,19.614074 28.279473,23.33545 27.517144,26.348054 C 26.754815,29.360658 28.064743,33.989196 28.064743,33.989196 L 29.724062,33.308548 C 29.724062,33.308548 28.117495,30.028639 28.931357,26.524831 C 29.745219,23.021023 28.577814,19.614988 28.577814,19.614988 L 27.163487,19.614074 z "
+ style="opacity:1;color:black;fill:url(#radialGradient3119);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient3115);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 25.163487,19.614074 C 25.163487,19.614074 26.279473,23.33545 25.517144,26.348054 C 24.754815,29.360658 24.164394,34.077584 24.164394,34.077584 L 25.69113,34.280819 C 25.69113,34.280819 26.117495,30.028639 26.931357,26.524831 C 27.745219,23.021023 26.577814,19.614988 26.577814,19.614988 L 25.163487,19.614074 z "
+ id="path3113"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path3109"
+ d="M 23.163487,19.614074 C 23.163487,19.614074 24.279473,23.33545 23.517144,26.348054 C 22.754815,29.360658 23.269248,34.210167 23.269248,34.210167 L 24.707596,33.662101 C 24.707596,33.662101 24.117495,30.028639 24.931357,26.524831 C 25.745219,23.021023 24.577814,19.614988 24.577814,19.614988 L 23.163487,19.614074 z "
+ style="opacity:1;color:black;fill:url(#radialGradient3111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient2988);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 13.313608,19.714074 C 13.313608,19.714074 14.429594,23.43545 13.667265,26.448054 C 12.904936,29.460658 13.419369,34.310167 13.419369,34.310167 L 14.999517,34.698426 C 14.999517,34.698426 14.267616,30.128639 15.081478,26.624831 C 15.89534,23.121023 14.727935,19.714988 14.727935,19.714988 L 13.313608,19.714074 z "
+ id="path2986"
+ sodipodi:nodetypes="csccscc" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path2998"
+ d="M 19.418083,20.520258 C 19.418083,20.520258 19.615714,24.129801 19.064633,27.254238 C 18.524861,30.31456 21.306417,34.496773 21.306417,34.496773 L 22.721163,33.86443 C 22.721163,33.86443 19.926762,31.248786 20.558759,27.078695 C 21.116432,23.399015 20.83241,20.521172 20.83241,20.521172 L 19.418083,20.520258 z "
+ style="opacity:1;color:black;fill:url(#radialGradient3000);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="csccscc"
+ id="path2990"
+ d="M 15.163487,19.614074 C 15.163487,19.614074 16.279473,23.33545 15.517144,26.348054 C 14.754815,29.360658 15.269248,34.210167 15.269248,34.210167 L 16.707596,33.662101 C 16.707596,33.662101 16.117495,30.028639 16.931357,26.524831 C 17.745219,23.021023 16.577814,19.614988 16.577814,19.614988 L 15.163487,19.614074 z "
+ style="opacity:1;color:black;fill:url(#radialGradient2992);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:black;fill:url(#radialGradient2996);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.4;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 16.816129,20.479515 C 16.816129,20.479515 17.932115,24.200891 17.169786,27.213495 C 16.407457,30.226099 14.726988,31.80438 14.726988,31.80438 L 15.964957,32.939804 C 15.964957,32.939804 17.770137,30.89408 18.583999,27.390272 C 19.397861,23.886464 18.230456,20.480429 18.230456,20.480429 L 16.816129,20.479515 z "
+ id="path2994"
+ sodipodi:nodetypes="csccscc" />
+ </g>
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.62886598"
+ d="M 5.4146811,19.121548 C 5.3634244,19.121414 6.251433,31.93862 6.9569459,40.927803 C 7.1389508,43.235262 7.5088619,44.174409 8.9423077,44.174409 C 20.759131,44.174409 37.552947,44.260504 38.124794,44.258405 C 40.891299,44.248246 40.839524,43.220919 41.068645,41.038151 C 41.152053,40.243546 42.601147,19.210922 42.587323,19.210922 C 32.686245,19.210922 17.647791,19.153519 5.4146811,19.121548 z "
+ id="path375"
+ sodipodi:nodetypes="cssssss"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="fill:url(#linearGradient3239);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 7.1632325,6.56876 C 6.0964702,6.571197 5.2036739,6.59587 4.7173745,7.611591 C 4.6328517,7.788132 2.0564582,14.953189 1.9325929,15.226435 C 0.87218423,17.565665 1.8500978,20.512357 3.8982467,20.492628 C 4.2877543,20.488998 44.257346,20.510899 44.877144,20.492628 C 46.620636,20.442134 46.843746,17.029897 46.093184,15.494889 C 46.050663,15.407927 42.567223,7.513946 42.47838,7.374125 C 42.067463,6.749683 41.147252,6.476015 40.463708,6.501646 C 40.329055,6.506821 7.2964985,6.568457 7.1632325,6.56876 z "
+ id="path1841"
+ sodipodi:nodetypes="cssssscss"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="opacity:0.14948454;color:black;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 4.79225,20.902176 L 7.2921692,20.902264 L 8.0580206,41.513138 L 7.2954771,44.586329 C 6.688538,44.099871 6.4168015,43.362011 6.2792295,42.523528 L 4.79225,20.902176 z "
+ id="path2956"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="opacity:0.42783505;color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 8.0335688,41.611683 L 7.3212658,44.540568 C 7.7441291,44.765463 8.0570118,44.852829 8.5125475,45.007174 L 38.538428,44.978477 C 39.11735,44.938856 39.669098,44.912678 40.052766,44.806892 L 38.00699,41.370874 L 8.0335688,41.611683 z "
+ id="path2958"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="opacity:0.37113402;color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 38.00699,41.370874 L 40.019489,44.815762 C 40.637691,44.552557 41.349831,44.091949 41.630912,42.961864 L 43.139311,20.94521 L 39.69211,20.942984 L 38.00699,41.370874 z "
+ id="path2960"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-1.0454103"
+ inkscape:original="M 40.46875 6.5 C 40.334098 6.505175 7.289516 6.562197 7.15625 6.5625 C 6.0894879 6.5649371 5.2050494 6.609279 4.71875 7.625 C 4.6342274 7.8015411 2.0613653 14.945504 1.9375 15.21875 C 0.87709136 17.55798 1.8581011 20.519729 3.90625 20.5 C 4.2957575 20.49637 44.255202 20.518271 44.875 20.5 C 46.618492 20.449506 46.844312 17.035008 46.09375 15.5 C 46.051228 15.413038 42.557593 7.514821 42.46875 7.375 C 42.057835 6.750558 41.152294 6.474369 40.46875 6.5 z "
+ xlink:href="#path1841"
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3247);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.38659794"
+ id="path3237"
+ inkscape:href="#path1841"
+ d="M 40.375,7.53125 C 40.307786,7.5315126 40.187424,7.5621485 40.0625,7.5625 C 39.812652,7.5632031 39.458456,7.5614722 39,7.5625 C 38.083088,7.5645555 36.778275,7.5594608 35.21875,7.5625 C 32.0997,7.5685785 27.959843,7.5862798 23.8125,7.59375 C 15.517814,7.6086903 7.1755291,7.5937062 7.15625,7.59375 C 6.6366936,7.594937 6.2615608,7.6524246 6.0625,7.71875 C 5.8634392,7.7850754 5.7953622,7.77194 5.65625,8.0625 C 5.7244234,7.9201072 5.6779783,8.0363852 5.65625,8.09375 C 5.6345217,8.1511148 5.6013283,8.2387513 5.5625,8.34375 C 5.4848433,8.5537474 5.3772673,8.8700038 5.25,9.21875 C 4.9954654,9.9162423 4.647162,10.82881 4.3125,11.75 C 3.977838,12.67119 3.6668002,13.599915 3.40625,14.3125 C 3.2759749,14.668793 3.1460284,14.962545 3.0625,15.1875 C 2.9789716,15.412455 2.9631601,15.461769 2.875,15.65625 C 2.4633478,16.564343 2.4810984,17.654814 2.75,18.40625 C 3.0189016,19.157686 3.3876221,19.473746 3.90625,19.46875 C 4.0431167,19.467474 4.6187591,19.468534 5.75,19.46875 C 6.8812409,19.468966 8.469657,19.468121 10.375,19.46875 C 14.185686,19.470007 19.254551,19.467381 24.3125,19.46875 C 29.370449,19.470119 34.44211,19.469323 38.28125,19.46875 C 40.20082,19.468464 41.785363,19.469906 42.9375,19.46875 C 44.089637,19.467594 44.934706,19.466069 44.84375,19.46875 C 44.939478,19.465978 44.944876,19.474737 45.0625,19.3125 C 45.180124,19.150263 45.303425,18.791919 45.375,18.375 C 45.51815,17.541162 45.378994,16.424293 45.15625,15.96875 C 45.08818,15.829539 45.122096,15.876058 45.09375,15.8125 C 45.065404,15.748942 45.018732,15.674998 44.96875,15.5625 C 44.868786,15.337505 44.729962,15.002468 44.5625,14.625 C 44.227576,13.870065 43.788496,12.876072 43.34375,11.875 C 42.899004,10.873928 42.46493,9.8847897 42.125,9.125 C 41.955035,8.7451052 41.790172,8.4138381 41.6875,8.1875 C 41.636164,8.074331 41.590406,7.9975179 41.5625,7.9375 C 41.439574,7.7832595 40.858748,7.5177979 40.5,7.53125 C 40.400017,7.5350926 40.456732,7.5311365 40.4375,7.53125 C 40.418268,7.5313635 40.408607,7.5311187 40.375,7.53125 z " />
+ <path
+ style="opacity:0.82989693;color:black;fill:url(#linearGradient2970);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 8,10 L 7.375,12 L 39.375001,12 L 38.593148,10.07544 L 8,10 z "
+ id="path2962"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="color:black;fill:url(#linearGradient3097);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000083;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 9.8535488,1.5000014 L 37.167316,1.5000014 C 37.363184,1.5000014 37.520869,1.6576863 37.520869,1.853555 L 37.520869,11.500003 C 37.520869,11.500003 9.4999952,11.500003 9.4999952,11.500003 L 9.4999952,1.853555 C 9.4999952,1.6576863 9.6576801,1.5000014 9.8535488,1.5000014 z "
+ id="rect3006"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="opacity:0.62886598;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.00000024;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 10.499998,10.522594 L 10.499998,2.5000011 L 36.504381,2.5000011 L 36.504381,10.611733"
+ id="path3103" />
+ <path
+ transform="matrix(0.814384,0,0,0.796379,7.58372,3.212694)"
+ d="M 43 15 A 2.5 1.25 0 1 1 38,15 A 2.5 1.25 0 1 1 43 15 z"
+ sodipodi:ry="1.25"
+ sodipodi:rx="2.5"
+ sodipodi:cy="15"
+ sodipodi:cx="40.5"
+ id="path3139"
+ style="opacity:1;color:black;fill:#c00;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.24172473;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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;color:black;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3147);stroke-width:1.24172473;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3137"
+ sodipodi:cx="40.5"
+ sodipodi:cy="15"
+ sodipodi:rx="2.5"
+ sodipodi:ry="1.25"
+ d="M 43 15 A 2.5 1.25 0 1 1 38,15 A 2.5 1.25 0 1 1 43 15 z"
+ transform="matrix(0.814384,0,0,0.796379,7.58372,2.549784)" />
+ <rect
+ style="opacity:0.27319588;color:black;fill:url(#linearGradient3165);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3157"
+ width="29"
+ height="5.3125"
+ x="9"
+ y="6.6875" />
+ <rect
+ style="opacity:0.13917526;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3167"
+ width="23"
+ height="1"
+ x="12"
+ y="4"
+ rx="0.5"
+ ry="0.5" />
+ <rect
+ y="6"
+ x="12"
+ height="1"
+ width="15"
+ id="rect3169"
+ style="opacity:0.13917526;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ rx="0.5"
+ ry="0.5" />
+ <rect
+ style="opacity:0.13917526;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3171"
+ width="19"
+ height="1"
+ x="12"
+ y="8"
+ rx="0.5"
+ ry="0.5" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-dialog-error.svg b/share/pixmaps/tryton/tryton-dialog-error.svg
new file mode 100644
index 0000000..6dfc2de
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-dialog-error.svg
@@ -0,0 +1,330 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg1306"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
+ sodipodi:docname="dialog-error.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs1308">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective40" />
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2536">
+ <stop
+ style="stop-color:#a40000;stop-opacity:1;"
+ offset="0"
+ id="stop2538" />
+ <stop
+ style="stop-color:#ff1717;stop-opacity:1;"
+ offset="1"
+ id="stop2540" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2479">
+ <stop
+ style="stop-color:#ffe69b;stop-opacity:1;"
+ offset="0"
+ id="stop2481" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="1"
+ id="stop2483" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4126"
+ inkscape:collect="always">
+ <stop
+ id="stop4128"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4130"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4126"
+ id="radialGradient2169"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.500000,1.899196e-14,20.00000)"
+ cx="23.857143"
+ cy="40.000000"
+ fx="23.857143"
+ fy="40.000000"
+ r="17.142857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2479"
+ id="linearGradient2485"
+ x1="43.93581"
+ y1="53.835983"
+ x2="20.064686"
+ y2="-8.5626707"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2536"
+ id="linearGradient2542"
+ x1="36.917976"
+ y1="66.288063"
+ x2="19.071495"
+ y2="5.5410109"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2536"
+ id="linearGradient3046"
+ gradientUnits="userSpaceOnUse"
+ x1="36.917976"
+ y1="66.288063"
+ x2="19.071495"
+ y2="5.5410109" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2479"
+ id="linearGradient3048"
+ gradientUnits="userSpaceOnUse"
+ x1="43.93581"
+ y1="53.835983"
+ x2="20.064686"
+ y2="-8.5626707" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2536"
+ id="linearGradient3064"
+ gradientUnits="userSpaceOnUse"
+ x1="36.917976"
+ y1="66.288063"
+ x2="19.071495"
+ y2="5.5410109" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2479"
+ id="linearGradient3066"
+ gradientUnits="userSpaceOnUse"
+ x1="43.93581"
+ y1="53.835983"
+ x2="20.064686"
+ y2="-8.5626707" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957"
+ id="linearGradient3963"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4126"
+ id="radialGradient3976"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.5,1.893048e-14,20)"
+ cx="23.857143"
+ cy="40.000000"
+ fx="23.857143"
+ fy="40.000000"
+ r="17.142857" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2536"
+ id="linearGradient3978"
+ gradientUnits="userSpaceOnUse"
+ x1="36.917976"
+ y1="66.288063"
+ x2="19.071495"
+ y2="5.5410109" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2479"
+ id="linearGradient3980"
+ gradientUnits="userSpaceOnUse"
+ x1="43.93581"
+ y1="53.835983"
+ x2="20.064686"
+ y2="-8.5626707" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957"
+ id="linearGradient3982"
+ gradientUnits="userSpaceOnUse"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.21568627"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-134.9567"
+ inkscape:cy="20.463852"
+ inkscape:current-layer="layer2"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="925"
+ inkscape:window-height="818"
+ inkscape:window-x="234"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false"
+ fill="#ef2929">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1311">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Rodney Dawes</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner, Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Dialog Error</dc:title>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Shadow">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1.070555,0,0,0.525,-0.892755,22.5)"
+ d="M 41 40 A 17.142857 8.5714283 0 1 1 6.7142868,40 A 17.142857 8.5714283 0 1 1 41 40 z"
+ sodipodi:ry="8.5714283"
+ sodipodi:rx="17.142857"
+ sodipodi:cy="40"
+ sodipodi:cx="23.857143"
+ id="path6548"
+ style="opacity:0.6;color:#000000;fill:url(#radialGradient3976);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g4006">
+ <path
+ transform="matrix(0.920488,0,0,0.920488,2.368532,0.97408)"
+ d="M 46.857143 23.928572 A 23.357143 23.357143 0 1 1 0.1428566,23.928572 A 23.357143 23.357143 0 1 1 46.857143 23.928572 z"
+ sodipodi:ry="23.357143"
+ sodipodi:rx="23.357143"
+ sodipodi:cy="23.928572"
+ sodipodi:cx="23.5"
+ id="path1314"
+ style="fill:url(#linearGradient3978);fill-opacity:1;fill-rule:nonzero;stroke:#b20000;stroke-width:1.08638;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.856093,0,0,0.856093,1.818275,0.197769)"
+ d="M 49.901535 26.635273 A 23.991123 23.991123 0 1 1 1.9192886,26.635273 A 23.991123 23.991123 0 1 1 49.901535 26.635273 z"
+ sodipodi:ry="23.991123"
+ sodipodi:rx="23.991123"
+ sodipodi:cy="26.635273"
+ sodipodi:cx="25.910412"
+ id="path3560"
+ style="opacity:0.34659089;fill:#cc0000;fill-opacity:0;stroke:url(#linearGradient3980);stroke-width:1.16809607;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer3"
+ inkscape:label="Error Box">
+ <rect
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:#efefef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73876643;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.8627451"
+ id="rect2070"
+ width="27.836435"
+ height="7.1735945"
+ x="10.078821"
+ y="19.164932"
+ transform="matrix(1.005876,0,0,1.115201,-0.138045,-2.372708)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="Glossy Shine">
+ <path
+ transform="matrix(1.002994,0,0,1.002994,-7.185874e-2,1.968356e-2)"
+ sodipodi:nodetypes="czssc"
+ id="path3955"
+ d="M 43.370686,21.715486 C 43.370686,32.546102 33.016357,15.449178 24.695948,22.101874 C 16.569626,28.599385 4.0989837,34.292422 4.0989837,23.461806 C 4.0989837,12.377753 12.79438,2.0948032 23.625,2.0948032 C 34.455619,2.0948032 43.370686,10.884868 43.370686,21.715486 z "
+ style="fill:url(#linearGradient3982);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-dialog-information.svg b/share/pixmaps/tryton/tryton-dialog-information.svg
new file mode 100644
index 0000000..922b316
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-dialog-information.svg
@@ -0,0 +1,1159 @@
+<?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"
+ sodipodi:docname="dialog-information.svg"
+ sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg19655"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/poing.png"
+ inkscape:export-xdpi="392.72742"
+ inkscape:export-ydpi="392.72742"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective155" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3300">
+ <stop
+ style="stop-color:#4c4c28;stop-opacity:1;"
+ offset="0"
+ id="stop3302" />
+ <stop
+ style="stop-color:#4c4c28;stop-opacity:0;"
+ offset="1"
+ id="stop3304" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3311">
+ <stop
+ id="stop3313"
+ offset="0"
+ style="stop-color:#d6d7a5;stop-opacity:1;" />
+ <stop
+ id="stop3315"
+ offset="1.0000000"
+ style="stop-color:#8e8f6d;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3265">
+ <stop
+ id="stop3267"
+ offset="0"
+ style="stop-color:#929470;stop-opacity:1;" />
+ <stop
+ style="stop-color:#60614a;stop-opacity:1.0000000;"
+ offset="0.26470590"
+ id="stop3269" />
+ <stop
+ id="stop3271"
+ offset="0.63235295"
+ style="stop-color:#f3f5ba;stop-opacity:1.0000000;" />
+ <stop
+ id="stop3273"
+ offset="1.0000000"
+ style="stop-color:#929470;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3175"
+ inkscape:collect="always">
+ <stop
+ id="stop3177"
+ offset="0"
+ style="stop-color:#f1f3ff;stop-opacity:1;" />
+ <stop
+ id="stop3179"
+ offset="1"
+ style="stop-color:#f1f3ff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2399">
+ <stop
+ style="stop-color:#929470;stop-opacity:1;"
+ offset="0"
+ id="stop2401" />
+ <stop
+ id="stop2407"
+ offset="0.26470590"
+ style="stop-color:#fcffc1;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#f3f5ba;stop-opacity:1.0000000;"
+ offset="0.63235295"
+ id="stop2409" />
+ <stop
+ style="stop-color:#929470;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2403" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6339">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6341" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6343" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient20428">
+ <stop
+ id="stop20430"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop20432"
+ offset="1"
+ style="stop-color:#b5b5b5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient20393">
+ <stop
+ id="stop20395"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.44117647;"
+ offset="0.41176471"
+ id="stop2427" />
+ <stop
+ id="stop20397"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:0.48039216;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient20210">
+ <stop
+ id="stop20212"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.51546389;" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.14432989;"
+ offset="0.55172414"
+ id="stop20218" />
+ <stop
+ id="stop20214"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="11.4873"
+ fx="17.8335"
+ r="22.7093"
+ cy="11.4873"
+ cx="17.8335"
+ id="aigrd7">
+ <stop
+ id="stop19512"
+ style="stop-color:#ffffff;stop-opacity:0.17525773;"
+ offset="0.0000000" />
+ <stop
+ id="stop19514"
+ style="stop-color:#709ac8;stop-opacity:1.0000000;"
+ offset="0.88200003" />
+ <stop
+ id="stop19516"
+ style="stop-color:#6f96dd;stop-opacity:1.0000000;"
+ offset="1.0000000" />
+ </radialGradient>
+ <linearGradient
+ y2="43.165"
+ x2="26.4785"
+ y1="43.165"
+ x1="23.124"
+ gradientUnits="userSpaceOnUse"
+ id="aigrd1">
+ <stop
+ id="stop19415"
+ style="stop-color:#686868"
+ offset="5.618000e-003" />
+ <stop
+ id="stop19417"
+ style="stop-color:#777777"
+ offset="3.012137e-002" />
+ <stop
+ id="stop19419"
+ style="stop-color:#929292"
+ offset="8.366583e-002" />
+ <stop
+ id="stop19421"
+ style="stop-color:#A7A7A7"
+ offset="0.1422" />
+ <stop
+ id="stop19423"
+ style="stop-color:#B6B6B6"
+ offset="0.2074" />
+ <stop
+ id="stop19425"
+ style="stop-color:#BEBEBE"
+ offset="0.2846" />
+ <stop
+ id="stop19427"
+ style="stop-color:#C1C1C1"
+ offset="0.4045" />
+ <stop
+ id="stop19429"
+ style="stop-color:#BCBCBC"
+ offset="0.4962" />
+ <stop
+ id="stop19431"
+ style="stop-color:#ADADAD"
+ offset="0.6057" />
+ <stop
+ id="stop19433"
+ style="stop-color:#959595"
+ offset="0.7245" />
+ <stop
+ id="stop19435"
+ style="stop-color:#747474"
+ offset="0.8497" />
+ <stop
+ id="stop19437"
+ style="stop-color:#494949"
+ offset="0.9789" />
+ <stop
+ id="stop19439"
+ style="stop-color:#414141"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient19894"
+ gradientUnits="userSpaceOnUse"
+ x1="18.995100"
+ y1="37.226601"
+ x2="30.169901"
+ y2="37.226601">
+ <stop
+ offset="5.618000e-003"
+ style="stop-color:#A3A349"
+ id="stop19896" />
+ <stop
+ offset="2.078677e-002"
+ style="stop-color:#ACAC54"
+ id="stop19898" />
+ <stop
+ offset="6.600059e-002"
+ style="stop-color:#C1C172"
+ id="stop19900" />
+ <stop
+ offset="0.1148"
+ style="stop-color:#D4D68E"
+ id="stop19902" />
+ <stop
+ offset="0.1677"
+ style="stop-color:#E2E4A6"
+ id="stop19904" />
+ <stop
+ offset="0.2265"
+ style="stop-color:#EDF0B8"
+ id="stop19906" />
+ <stop
+ offset="0.2963"
+ style="stop-color:#F3F6C3"
+ id="stop19908" />
+ <stop
+ offset="0.4045"
+ style="stop-color:#F5F8C7"
+ id="stop19910" />
+ <stop
+ offset="0.5239"
+ style="stop-color:#EEF0BE"
+ id="stop19912" />
+ <stop
+ offset="0.6666"
+ style="stop-color:#DBDDA9"
+ id="stop19914" />
+ <stop
+ offset="0.8211"
+ style="stop-color:#BEBD88"
+ id="stop19916" />
+ <stop
+ offset="0.9832"
+ style="stop-color:#989564"
+ id="stop19918" />
+ <stop
+ offset="1"
+ style="stop-color:#949160"
+ id="stop19920" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)"
+ y2="43.165"
+ x2="26.4785"
+ y1="43.165"
+ x1="23.124"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient20109"
+ xlink:href="#aigrd1"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="7.8289826"
+ fy="74.209934"
+ fx="14.772334"
+ cy="74.209934"
+ cx="14.772334"
+ gradientTransform="scale(1.764278,0.566804)"
+ id="radialGradient20216"
+ xlink:href="#linearGradient20210"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="36.726292"
+ x2="32.096882"
+ y1="10.061084"
+ x1="16.998856"
+ gradientTransform="matrix(1.140494,0.000000,0.000000,0.926002,0.272330,-3.247170)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7708"
+ xlink:href="#linearGradient6339"
+ inkscape:collect="always" />
+ <radialGradient
+ r="33.934090"
+ fy="29.869318"
+ fx="68.137589"
+ cy="29.869318"
+ cx="68.137589"
+ gradientTransform="matrix(0.551290,1.265592e-16,-1.355720e-16,0.766034,-10.48701,3.514312)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient7720"
+ xlink:href="#aigrd7"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="3.8557322"
+ x2="-5.2517161"
+ y1="16.651863"
+ x1="37.940434"
+ gradientTransform="matrix(0.894129,0.000000,0.000000,0.985230,1.515981,2.449800e-2)"
+ id="linearGradient3181"
+ xlink:href="#linearGradient3175"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient1700"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient1702"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20428"
+ id="linearGradient1704"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
+ x1="14.637301"
+ y1="31.504122"
+ x2="9.3648205"
+ y2="32.250980" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient1725"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient1727"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient1729"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient1731"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.026450,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient2516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.603440,0.000000,0.000000,0.549396,0.614167,2.449800e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient2518"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.189510,-0.963437,0.614167,2.449800e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient2522"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.300410)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient2524"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.300410)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient2529"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient2531"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3300"
+ id="linearGradient3306"
+ gradientTransform="scale(1.002656,0.997352)"
+ x1="24.613028"
+ y1="31.146202"
+ x2="24.613028"
+ y2="26.739624"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient3127"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient3129"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd7"
+ id="radialGradient3131"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
+ cx="68.137589"
+ cy="29.869318"
+ fx="68.137589"
+ fy="29.869318"
+ r="33.934090" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6339"
+ id="linearGradient3133"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
+ x1="16.998856"
+ y1="10.061084"
+ x2="32.096882"
+ y2="36.726292" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient3135"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
+ x1="37.940434"
+ y1="16.651863"
+ x2="-5.2517161"
+ y2="3.8557322" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient3157"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient3159"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd7"
+ id="radialGradient3161"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
+ cx="68.137589"
+ cy="29.869318"
+ fx="68.137589"
+ fy="29.869318"
+ r="33.934090" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient3163"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
+ x1="37.940434"
+ y1="16.651863"
+ x2="-5.2517161"
+ y2="3.8557322" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient3165"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient3167"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20428"
+ id="linearGradient3169"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
+ x1="14.637301"
+ y1="31.504122"
+ x2="9.3648205"
+ y2="32.250980" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6339"
+ id="linearGradient3171"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
+ x1="16.998856"
+ y1="10.061084"
+ x2="32.096882"
+ y2="36.726292" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3300"
+ id="linearGradient3185"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.002656,0.997352)"
+ x1="24.613028"
+ y1="31.146202"
+ x2="24.613028"
+ y2="26.739624" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3187"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3189"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3191"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3195"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3197"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient3199"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient3201"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient4100"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)"
+ x1="23.124"
+ y1="43.165"
+ x2="26.4785"
+ y2="43.165" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3300"
+ id="linearGradient4102"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.002656,0.997352)"
+ x1="24.613028"
+ y1="31.146202"
+ x2="24.613028"
+ y2="26.739624" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4104"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4106"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4108"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4110"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4112"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4114"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.02645,0.974232)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient19894"
+ id="linearGradient4116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-22.874170"
+ y1="38.675991"
+ x2="-4.3908315"
+ y2="38.675991" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2399"
+ id="linearGradient4118"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
+ x1="-10.480865"
+ y1="39.033951"
+ x2="-23.851389"
+ y2="39.142845" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3311"
+ id="linearGradient4120"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
+ x1="17.879995"
+ y1="55.362793"
+ x2="11.906206"
+ y2="54.863026" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3265"
+ id="linearGradient4122"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
+ x1="-29.007195"
+ y1="-29.799353"
+ x2="-37.641232"
+ y2="-29.598314" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd7"
+ id="radialGradient4124"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
+ cx="68.137589"
+ cy="29.869318"
+ fx="68.137589"
+ fy="29.869318"
+ r="33.934090" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3175"
+ id="linearGradient4126"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
+ x1="37.940434"
+ y1="16.651863"
+ x2="-5.2517161"
+ y2="3.8557322" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient4128"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20393"
+ id="linearGradient4130"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
+ x1="30.620375"
+ y1="10.313651"
+ x2="32.166080"
+ y2="18.162935" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20428"
+ id="linearGradient4132"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
+ x1="14.637301"
+ y1="31.504122"
+ x2="9.3648205"
+ y2="32.250980" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6339"
+ id="linearGradient4134"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
+ x1="16.998856"
+ y1="10.061084"
+ x2="32.096882"
+ y2="36.726292" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="30"
+ inkscape:window-x="0"
+ inkscape:window-height="818"
+ inkscape:window-width="1060"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="true"
+ inkscape:current-layer="layer1"
+ inkscape:cy="19.729332"
+ inkscape:cx="-132.96706"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.55294118"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Info</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>dialog</rdf:li>
+ <rdf:li>info</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <path
+ transform="matrix(1.197183,0,0,1.098591,-6.201582,-3.209507)"
+ d="M 39.875 42.0625 A 13.8125 4.4375 0 1 1 12.25,42.0625 A 13.8125 4.4375 0 1 1 39.875 42.0625 z"
+ sodipodi:ry="4.4375"
+ sodipodi:rx="13.8125"
+ sodipodi:cy="42.0625"
+ sodipodi:cx="26.0625"
+ id="path20208"
+ style="color:#000000;fill:url(#radialGradient20216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.8"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <g
+ id="g4076"
+ transform="translate(0,1)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)"
+ id="path19509"
+ d="M 21.893504,38.885945 L 21.893504,40.36116 C 21.893504,41.836375 23.204807,43.147679 24.680022,43.147679 C 26.155237,43.147679 27.466539,41.836375 27.466539,40.36116 L 27.466539,38.885945 L 21.893504,38.885945 z "
+ style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.989073,0,0,0.993556,-0.408739,7.920479e-3)"
+ id="g3173">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cccccccscccccccs"
+ id="path3209"
+ d="M 24.511725,27.668867 C 21.208844,27.660897 17.463275,28.632054 19.492913,30.467931 C 18.98969,30.670934 18.270371,31.124313 18.355167,32.185222 C 18.401983,32.739286 18.989243,33.079394 19.79236,33.32911 C 18.881908,33.967722 18.302581,34.642557 18.355167,35.264921 C 18.401438,35.812525 18.976334,36.187531 19.76303,36.43814 C 18.875519,37.069403 18.303301,37.760121 18.355167,38.373951 C 18.434436,39.312088 20.457743,40.362928 24.838928,40.2419 C 27.993329,40.155914 30.776913,39.590514 30.996599,38.373951 C 31.082862,37.896248 30.691907,37.450531 30.087355,37.05408 C 30.539926,36.597918 30.85698,36.135242 30.820616,35.704878 C 30.774128,35.154694 30.205993,34.781923 29.412754,34.53166 C 30.300265,33.900397 30.872482,33.209679 30.820616,32.595849 C 30.774128,32.045664 30.205993,31.702225 29.412754,31.45196 C 30.310848,30.817288 30.872816,30.133928 30.820616,29.516149 C 30.762593,28.829446 27.61599,27.676358 24.511725,27.668867 z "
+ style="color:#000000;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="csccc"
+ id="path3183"
+ d="M 30.920208,38.329767 C 30.700522,39.546331 27.591422,40.232861 22.615132,39.983673 C 19.463507,39.825856 19.283163,38.944055 19.502848,37.727491 C 19.722534,36.510926 22.458318,35.65848 25.609509,35.824708 C 28.7607,35.990936 31.139893,37.113203 30.920208,38.329767 z "
+ style="color:#000000;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path1603"
+ sodipodi:cx="-13.87697"
+ sodipodi:cy="27.228739"
+ sodipodi:rx="10.341436"
+ sodipodi:ry="3.2703688"
+ d="M -3.5355339 27.228739 A 10.341436 3.2703688 0 1 1 -24.218407,27.228739 A 10.341436 3.2703688 0 1 1 -3.5355339 27.228739 z"
+ transform="matrix(0.60274,-0.128625,6.428372e-2,0.760788,31.12021,14.49141)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.60274,-0.128625,6.428372e-2,0.760788,31.12021,11.39591)"
+ d="M -3.5355339 27.228739 A 10.341436 3.2703688 0 1 1 -24.218407,27.228739 A 10.341436 3.2703688 0 1 1 -3.5355339 27.228739 z"
+ sodipodi:ry="3.2703688"
+ sodipodi:rx="10.341436"
+ sodipodi:cy="27.228739"
+ sodipodi:cx="-13.87697"
+ id="path2364"
+ style="color:#000000;fill:url(#linearGradient4112);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4114);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cccss"
+ id="path2366"
+ d="M 30.698087,29.636386 C 30.698087,31.014688 28.157326,32.55444 24.716601,33.288693 C 21.275876,34.022945 18.38922,33.50421 18.273172,32.130802 C 18.157124,30.757395 20.509679,29.155466 23.952388,28.968827 C 27.422379,28.780711 30.698087,28.924901 30.698087,29.636386 z "
+ style="color:#000000;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)"
+ d="M 31 22.375 A 3.25 3.25 0 1 1 24.5,22.375 A 3.25 3.25 0 1 1 31 22.375 z"
+ sodipodi:ry="3.25"
+ sodipodi:rx="3.25"
+ sodipodi:cy="22.375"
+ sodipodi:cx="27.75"
+ id="path20372"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cscc"
+ id="path3241"
+ d="M 19.342183,33.378865 C 22.736592,33.883533 26.320992,33.346192 29.214315,31.470807 C 30.025582,30.944962 30.147604,30.343945 30.520921,29.873844 C 29.09679,31.000705 25.494982,34.035625 19.342183,33.378865 z "
+ style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2435"
+ sodipodi:cx="27.75"
+ sodipodi:cy="22.375"
+ sodipodi:rx="3.25"
+ sodipodi:ry="3.25"
+ d="M 31 22.375 A 3.25 3.25 0 1 1 24.5,22.375 A 3.25 3.25 0 1 1 31 22.375 z"
+ transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:nodetypes="cscc"
+ id="path3237"
+ d="M 19.466621,39.517838 C 22.86103,40.022506 26.44543,39.485165 29.338753,37.60978 C 30.15002,37.083935 30.272043,36.482919 30.645359,36.012817 C 29.221228,37.139678 25.61942,40.174598 19.466621,39.517838 z "
+ style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 19.487361,36.406872 C 22.88177,36.91154 26.46617,36.374199 29.359492,34.498814 C 30.17076,33.972969 30.292782,33.371953 30.666099,32.901851 C 29.241968,34.028712 25.64016,37.063632 19.487361,36.406872 z "
+ id="path3239"
+ sodipodi:nodetypes="cscc" />
+ </g>
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="translate(-0.988797,0)"
+ id="g3146">
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="g3141">
+ <path
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+ sodipodi:nodetypes="csscs"
+ id="path3243"
+ d="M 18.87103,29.628128 C 18.87103,28.836695 20.445135,27.889988 24.419234,27.942972 C 28.101154,27.992059 30.526608,28.83866 30.526608,30.105404 C 30.526608,31.345281 27.307242,32.174416 23.874677,32.008188 C 20.442113,31.84196 18.87103,30.868005 18.87103,29.628128 z "
+ style="color:#000000;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+ sodipodi:nodetypes="csssssc"
+ id="path6305"
+ d="M 24.680021,0.8622936 C 16.858005,0.8622936 10.506261,6.8372628 10.506261,14.195288 C 10.506261,21.737851 16.247826,22.573217 16.247826,25.352995 C 16.247826,28.619061 19.614103,32.322687 25.149309,32.188995 C 31.035159,32.046835 33.464182,28.825655 33.464182,25.352995 C 33.464182,22.384064 38.853781,22.304889 38.853781,14.195288 C 38.853781,6.8372628 32.502038,0.8622936 24.680021,0.8622936 z "
+ style="color:#000000;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 24.680021,1.9277146 C 17.389999,1.9277146 11.470252,7.4963123 11.470252,14.353901 C 11.470252,21.383476 16.82132,22.162027 16.82132,24.752746 C 16.82132,27.79668 19.958648,31.248413 25.117392,31.123813 C 30.602931,30.991321 32.866751,27.989222 32.866751,24.752746 C 32.866751,21.98574 37.889791,21.911948 37.889791,14.353901 C 37.889791,7.4963123 31.970044,1.9277146 24.680021,1.9277146 z "
+ id="path2429"
+ sodipodi:nodetypes="csssssc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <g
+ id="g1695"
+ transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+ d="M 31.947292,19.22274 C 32.260034,19.326988 32.468529,19.63973 32.364281,19.952471 L 28.507134,31.523913 C 28.402887,31.836655 28.090145,32.045149 27.777403,31.940902 C 27.464662,31.836655 27.256168,31.523913 27.360415,31.211172 L 31.217562,19.63973 C 31.321809,19.326988 31.634551,19.118493 31.947292,19.22274 z "
+ id="path1691"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ id="path19612"
+ d="M 20.152404,19.34774 C 19.839662,19.451988 19.631167,19.76473 19.735415,20.077471 L 23.592562,31.648913 C 23.696809,31.961655 24.009551,32.170149 24.322293,32.065902 C 24.635034,31.961655 24.843528,31.648913 24.739281,31.336172 L 20.882134,19.76473 C 20.777887,19.451988 20.465145,19.243493 20.152404,19.34774 z "
+ style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ d="M 20.255362,19.273128 C 20.009452,19.315194 19.816806,19.507772 19.774653,19.753667 C 19.732499,19.999562 19.850004,20.245309 20.067862,20.366878 C 20.067862,20.366878 21.910084,21.447747 24.317862,21.991878 C 26.72564,22.536009 29.806763,22.571305 32.130362,20.304378 C 32.305608,20.165345 32.386854,19.938963 32.340007,19.720224 C 32.29316,19.501485 32.126325,19.328233 31.909509,19.273168 C 31.692693,19.218103 31.463406,19.290751 31.317862,19.460628 C 29.367326,21.36359 26.773024,21.36522 24.567862,20.866878 C 22.3627,20.368536 20.661612,19.366878 20.661612,19.366878 C 20.542178,19.287089 20.397682,19.253744 20.255362,19.273128 z "
+ id="path19614"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.5977654;color:#000000;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 25.001158,3.5644322 C 18.737608,3.5644322 13.655359,7.5900329 13.655359,12.547843 C 13.655359,14.527956 14.632918,16.261758 16.006008,17.747035 C 17.558672,18.378895 19.249827,18.832941 21.114752,18.832941 C 27.378302,18.832941 32.460549,14.807341 32.460551,9.849528 C 32.460551,7.857476 31.466744,6.1074629 30.07856,4.6174331 C 28.533139,3.9930601 26.854241,3.5644321 25.001158,3.5644322 z "
+ id="path6334"
+ transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-dialog-warning.svg b/share/pixmaps/tryton/tryton-dialog-warning.svg
new file mode 100644
index 0000000..e09ecca
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-dialog-warning.svg
@@ -0,0 +1,373 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg1377"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status"
+ sodipodi:docname="dialog-warning.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs1379">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective48" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ y2="56.0523"
+ x2="47.3197"
+ y1="11.1133"
+ x1="4.1914"
+ gradientUnits="userSpaceOnUse"
+ id="aigrd1">
+ <stop
+ id="stop6490"
+ style="stop-color:#D4D4D4"
+ offset="0" />
+ <stop
+ id="stop6492"
+ style="stop-color:#E2E2E2"
+ offset="0.3982" />
+ <stop
+ id="stop6494"
+ style="stop-color:#FFFFFF"
+ offset="1" />
+ </linearGradient>
+ <linearGradient
+ y2="56.0523"
+ x2="47.3197"
+ y1="11.1133"
+ x1="4.1914"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7451"
+ xlink:href="#aigrd1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4126"
+ inkscape:collect="always">
+ <stop
+ id="stop4128"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4130"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="17.142857"
+ fy="40.000000"
+ fx="23.857143"
+ cy="40.000000"
+ cx="23.857143"
+ gradientTransform="matrix(1,0,0,0.5,2.139286e-14,20)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient7449"
+ xlink:href="#linearGradient4126"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient5250"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3922"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1914"
+ y1="11.1133"
+ x2="47.3197"
+ y2="56.0523" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient3924"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient3933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3935"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1914"
+ y1="11.1133"
+ x2="47.3197"
+ y2="56.0523" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3946"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1914"
+ y1="11.1133"
+ x2="47.3197"
+ y2="56.0523" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6525"
+ id="linearGradient3948"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
+ x1="8.5469341"
+ y1="30.281681"
+ x2="30.85088"
+ y2="48.301884" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="14.757891"
+ inkscape:cx="13.022822"
+ inkscape:cy="24"
+ inkscape:current-layer="g7435"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1105"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata1382">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Dialog Warning</dc:title>
+ <dc:date>2005-10-14</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner, Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>dialog</rdf:li>
+ <rdf:li>warning</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(1.566667,0.000000,0.000000,1.566667,-8.925566,-23.94764)"
+ id="g7435">
+ <g
+ style="display:inline"
+ transform="matrix(1.444074e-2,0,0,1.331973e-2,33.38871,40.40337)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g3937"
+ transform="matrix(1,0,4.537846e-3,1,-0.138907,-1.394718e-15)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1,0,-8.726683e-3,1,0.328074,1.276596)"
+ id="path6485"
+ d="M 33.282781,38.644744 L 22.407791,18.394765 C 22.095292,17.832266 21.532792,17.519767 20.907793,17.519767 C 20.282793,17.519767 19.720294,17.894765 19.407795,18.457265 L 8.7828048,38.707245 C 8.5328048,39.207244 8.5328048,39.894744 8.8453048,40.394743 C 9.1578038,40.894743 9.6578038,41.144742 10.282804,41.144742 L 31.782782,41.144742 C 32.407781,41.144742 32.97028,40.832243 33.220281,40.332243 C 33.53278,39.832243 33.53278,39.207244 33.282781,38.644744 z "
+ style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="g6487"
+ transform="matrix(0.625,0,-5.534934e-3,0.634254,6.164053,15.76055)"
+ style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4">
+ <linearGradient
+ y2="56.052299"
+ x2="47.319698"
+ y1="11.1133"
+ x1="4.1914001"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6525">
+ <stop
+ id="stop6529"
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0" />
+ <stop
+ id="stop6531"
+ style="stop-color:#ffffff;stop-opacity:0.34020618;"
+ offset="1" />
+ </linearGradient>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path6496"
+ d="M 9.5,37.6 C 9.2,38.1 9.5,38.5 10,38.5 L 38.2,38.5 C 38.7,38.5 39,38.1 38.7,37.6 L 24.4,11 C 24.1,10.5 23.7,10.5 23.5,11 L 9.5,37.6 z "
+ style="fill:url(#linearGradient3946);stroke:none" />
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1,0,-8.726683e-3,1,0.318277,1.276596)"
+ sodipodi:nodetypes="ccsccscccc"
+ id="path1325"
+ d="M 32.323106,38.183905 L 22.150271,19.265666 C 21.71698,18.45069 21.561698,18.189213 20.908406,18.189213 C 20.346525,18.189213 20.054127,18.57002 19.651305,19.339291 L 9.7489285,38.242296 C 9.1737649,39.303588 9.1128238,39.580228 9.3937644,40.047345 C 9.6747034,40.514462 10.032797,40.48902 11.356441,40.519491 L 30.974593,40.519491 C 32.206825,40.534726 32.483988,40.440837 32.70874,39.97372 C 32.989681,39.506602 32.867799,39.136 32.323106,38.183905 z "
+ style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ </g>
+ <g
+ style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"
+ transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)"
+ id="g6498"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ style="stroke:none"
+ d="M 23.9,36.5 C 22.6,36.5 21.6,35.5 21.6,34.2 C 21.6,32.8 22.5,31.9 23.9,31.9 C 25.3,31.9 26.1,32.8 26.2,34.2 C 26.2,35.5 25.3,36.5 23.9,36.5 L 23.9,36.5 z M 22.5,30.6 L 21.9,19.1 L 25.9,19.1 L 25.3,30.6 L 22.4,30.6 L 22.5,30.6 z "
+ id="path6500"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-disconnect.svg b/share/pixmaps/tryton/tryton-disconnect.svg
new file mode 100644
index 0000000..d34ba27
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-disconnect.svg
@@ -0,0 +1,1414 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg2327"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/dobey/network-status icons/scalable/status"
+ sodipodi:docname="network-offline.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective191" />
+ <linearGradient
+ id="linearGradient2985"
+ inkscape:collect="always">
+ <stop
+ id="stop2987"
+ offset="0"
+ style="stop-color:#d8dfd6;stop-opacity:1;" />
+ <stop
+ id="stop2989"
+ offset="1"
+ style="stop-color:#d8dfd6;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2752">
+ <stop
+ id="stop2754"
+ offset="0"
+ style="stop-color:#9d9d9d;stop-opacity:1;" />
+ <stop
+ id="stop2756"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2711">
+ <stop
+ id="stop2713"
+ offset="0.0000000"
+ style="stop-color:#909090;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2715"
+ offset="1.0000000"
+ style="stop-color:#bebebe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2701">
+ <stop
+ id="stop2703"
+ offset="0.0000000"
+ style="stop-color:#585956;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2705"
+ offset="1.0000000"
+ style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2691">
+ <stop
+ id="stop2693"
+ offset="0.0000000"
+ style="stop-color:#868686;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2695"
+ offset="1.0000000"
+ style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2683"
+ inkscape:collect="always">
+ <stop
+ id="stop2685"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop2687"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2675">
+ <stop
+ id="stop2677"
+ offset="0.0000000"
+ style="stop-color:#5b5b97;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2679"
+ offset="1.0000000"
+ style="stop-color:#1b1b43;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2667">
+ <stop
+ id="stop2669"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2671"
+ offset="1.0000000"
+ style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2635"
+ inkscape:collect="always">
+ <stop
+ id="stop2637"
+ offset="0"
+ style="stop-color:#f9fff5;stop-opacity:1;" />
+ <stop
+ id="stop2639"
+ offset="1"
+ style="stop-color:#f9fff5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2623">
+ <stop
+ id="stop2625"
+ offset="0.0000000"
+ style="stop-color:#dfdfde;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2627"
+ offset="1.0000000"
+ style="stop-color:#9d9f9a;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2454">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2456" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2458" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2415">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2417" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2419" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2379">
+ <stop
+ style="stop-color:#1a4876;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2381" />
+ <stop
+ style="stop-color:#3f54a3;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2383" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2328">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2330" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2332" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2307">
+ <stop
+ style="stop-color:#5a7aa4;stop-opacity:1;"
+ offset="0"
+ id="stop2309" />
+ <stop
+ style="stop-color:#5a7aa4;stop-opacity:0;"
+ offset="1"
+ id="stop2311" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2253">
+ <stop
+ style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2255" />
+ <stop
+ style="stop-color:#494949;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2257" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2245">
+ <stop
+ style="stop-color:#dde1d9;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2247" />
+ <stop
+ style="stop-color:#cacdc6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2249" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2251"
+ gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
+ x1="8.6116238"
+ y1="7.2293582"
+ x2="34.784473"
+ y2="33.339787"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2307"
+ id="linearGradient2313"
+ gradientTransform="matrix(1.208393,0.000000,0.000000,0.984410,-0.789284,-0.503380)"
+ x1="16.851954"
+ y1="9.3235140"
+ x2="24.418941"
+ y2="53.734985"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2328"
+ id="linearGradient2334"
+ gradientTransform="matrix(1.289166,0.000000,0.000000,0.922731,-0.789284,-0.503380)"
+ x1="16.119127"
+ y1="10.842293"
+ x2="27.289009"
+ y2="39.031910"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2415"
+ id="linearGradient2421"
+ gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
+ x1="17.698339"
+ y1="13.004725"
+ x2="34.974548"
+ y2="55.200756"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2379"
+ id="linearGradient2445"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.027870,0.000000,0.000000,0.822296,1.523986,1.001198)"
+ x1="21.356108"
+ y1="30.078255"
+ x2="19.994572"
+ y2="-1.3221773" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2460"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2464"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ y2="92.570930"
+ x2="10.728384"
+ y1="84.029198"
+ x1="10.728384"
+ gradientTransform="scale(1.983556,0.504145)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2653"
+ xlink:href="#linearGradient2623"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="74.098007"
+ x2="8.6485014"
+ y1="101.28460"
+ x1="13.628710"
+ gradientTransform="scale(2.143634,0.466498)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2655"
+ xlink:href="#linearGradient2635"
+ inkscape:collect="always" />
+ <radialGradient
+ r="8.7662794"
+ fy="67.501709"
+ fx="12.575710"
+ cy="67.501709"
+ cx="12.575710"
+ gradientTransform="scale(1.925808,0.519262)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2659"
+ xlink:href="#linearGradient2454"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="26.729263"
+ x2="17.199417"
+ y1="1.6537577"
+ x1="11.492236"
+ gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
+ id="linearGradient2673"
+ xlink:href="#linearGradient2667"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="8.8666229"
+ x2="16.315819"
+ y1="32.622238"
+ x1="19.150396"
+ gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
+ id="linearGradient2681"
+ xlink:href="#linearGradient2675"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="162.45061"
+ x2="3.7069974"
+ y1="171.29134"
+ x1="3.7069976"
+ gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
+ id="linearGradient2689"
+ xlink:href="#linearGradient2683"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="64.892525"
+ x2="12.127711"
+ y1="53.535141"
+ x1="12.206709"
+ gradientTransform="scale(1.816345,0.550556)"
+ id="linearGradient2707"
+ xlink:href="#linearGradient2701"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ id="linearGradient2717"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2721"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2725"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2729"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2733"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="74.098007"
+ x2="8.6485014"
+ y1="101.28460"
+ x1="13.628710"
+ gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2741"
+ xlink:href="#linearGradient2635"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="100.20015"
+ x2="8.1134233"
+ y1="88.509071"
+ x1="8.1134243"
+ gradientTransform="scale(2.309851,0.432928)"
+ id="linearGradient2758"
+ xlink:href="#linearGradient2752"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="31.246054"
+ x2="32.536823"
+ y1="5.3817744"
+ x1="10.390738"
+ gradientTransform="scale(1.104397,0.905471)"
+ id="linearGradient2979"
+ xlink:href="#linearGradient2253"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.536461"
+ x2="18.176752"
+ y1="48.643234"
+ x1="18.316999"
+ gradientTransform="scale(1.129863,0.885063)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2981"
+ xlink:href="#linearGradient2245"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="44.878883"
+ x2="-23.885700"
+ y1="49.953003"
+ x1="-23.885700"
+ gradientTransform="scale(1.492875,0.669848)"
+ id="linearGradient2991"
+ xlink:href="#linearGradient2985"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="100.20015"
+ x2="8.1134233"
+ y1="88.509071"
+ x1="8.1134243"
+ gradientTransform="scale(2.309851,0.432928)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1409"
+ xlink:href="#linearGradient2752"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="100.20015"
+ x2="8.1134233"
+ y1="88.509071"
+ x1="8.1134243"
+ gradientTransform="scale(2.309851,0.432928)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1411"
+ xlink:href="#linearGradient2752"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="31.246054"
+ x2="32.536823"
+ y1="5.3817744"
+ x1="10.390738"
+ gradientTransform="scale(1.104397,0.905471)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1413"
+ xlink:href="#linearGradient2253"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2816"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2985"
+ id="linearGradient2818"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.492875,0.669848)"
+ x1="-23.885700"
+ y1="49.953003"
+ x2="-23.885700"
+ y2="44.878883" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2820"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2701"
+ id="linearGradient2822"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.816345,0.550556)"
+ x1="12.206709"
+ y1="53.535141"
+ x2="12.127711"
+ y2="64.892525" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2824"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
+ x1="8.6116238"
+ y1="7.2293582"
+ x2="34.784473"
+ y2="33.339787" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient2826"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2675"
+ id="linearGradient2828"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
+ x1="19.150396"
+ y1="32.622238"
+ x2="16.315819"
+ y2="8.8666229" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2683"
+ id="linearGradient2830"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
+ x1="3.7069976"
+ y1="171.29134"
+ x2="3.7069974"
+ y2="162.45061" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2415"
+ id="linearGradient2832"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
+ x1="17.698339"
+ y1="13.004725"
+ x2="34.974548"
+ y2="55.200756" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2667"
+ id="linearGradient2834"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
+ x1="11.492236"
+ y1="1.6537577"
+ x2="17.199417"
+ y2="26.729263" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2836"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.129863,0.885063)"
+ x1="18.316999"
+ y1="48.643234"
+ x2="18.176752"
+ y2="52.536461" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient2840"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2842"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2844"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2846"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2635"
+ id="linearGradient2848"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
+ x1="13.628710"
+ y1="101.28460"
+ x2="8.6485014"
+ y2="74.098007" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2850"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2852"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2854"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2856"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2858"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2916"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2985"
+ id="linearGradient2918"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.492875,0.669848)"
+ x1="-23.885700"
+ y1="49.953003"
+ x2="-23.885700"
+ y2="44.878883" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2920"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2701"
+ id="linearGradient2922"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.816345,0.550556)"
+ x1="12.206709"
+ y1="53.535141"
+ x2="12.127711"
+ y2="64.892525" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2924"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
+ x1="8.6116238"
+ y1="7.2293582"
+ x2="34.784473"
+ y2="33.339787" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient2926"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2675"
+ id="linearGradient2928"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
+ x1="19.150396"
+ y1="32.622238"
+ x2="16.315819"
+ y2="8.8666229" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2683"
+ id="linearGradient2930"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
+ x1="3.7069976"
+ y1="171.29134"
+ x2="3.7069974"
+ y2="162.45061" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2415"
+ id="linearGradient2932"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
+ x1="17.698339"
+ y1="13.004725"
+ x2="34.974548"
+ y2="55.200756" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2667"
+ id="linearGradient2934"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
+ x1="11.492236"
+ y1="1.6537577"
+ x2="17.199417"
+ y2="26.729263" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2936"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2938"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.129863,0.885063)"
+ x1="18.316999"
+ y1="48.643234"
+ x2="18.176752"
+ y2="52.536461" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient2940"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2942"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2944"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2946"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2635"
+ id="linearGradient2948"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
+ x1="13.628710"
+ y1="101.28460"
+ x2="8.6485014"
+ y2="74.098007" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2950"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2952"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2954"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2956"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2958"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.12156863"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.313708"
+ inkscape:cx="39.617218"
+ inkscape:cy="19.247154"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="822"
+ inkscape:window-height="818"
+ inkscape:window-x="388"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Computer</dc:title>
+ <dc:date>2005-03-08</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>workstation</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>node</rdf:li>
+ <rdf:li>client</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz/</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g2787"
+ transform="matrix(0.779340,0.000000,0.000000,0.779340,10.13834,0.178534)">
+ <path
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2452"
+ style="color:#000000;fill:url(#radialGradient2816);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="translate(57.53339,3.203427)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2407"
+ style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path1825"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)" />
+ <path
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2983"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2818);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ id="path2411"
+ d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
+ style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ sodipodi:nodetypes="ccccccccccccccccc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2820);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path2462"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient2822);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect2699"
+ width="9.0396729"
+ height="2.7400389"
+ x="17.472397"
+ y="30.703611" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="rect2404"
+ d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
+ style="color:#000000;fill:url(#linearGradient2824);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2826);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:url(#linearGradient2828);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000079;stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
+ id="path2377"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ id="path2393"
+ d="M 6.1774331,28.735789 L 37.605910,28.735789"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2830);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2832);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
+ id="path2397"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ id="path2443"
+ d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
+ style="opacity:0.53142858;fill:url(#linearGradient2834);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2836);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path2657"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2838);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2840);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
+ id="path2409"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
+ id="path2611"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
+ id="path2613" />
+ <path
+ id="path2619"
+ d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
+ style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2842);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
+ id="path2615" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2617"
+ d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
+ style="fill:url(#linearGradient2844);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ id="path2621"
+ d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2846);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2631"
+ d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2848);stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2850);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2709"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2719"
+ style="color:#000000;fill:url(#linearGradient2852);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2854);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2723"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2727"
+ style="color:#000000;fill:url(#linearGradient2856);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2858);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2731"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)" />
+ <path
+ style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
+ d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
+ id="text2735" />
+ </g>
+ <g
+ id="g2860"
+ transform="matrix(0.779340,0.000000,0.000000,0.779340,-0.446279,10.26381)">
+ <path
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2862"
+ style="color:#000000;fill:url(#radialGradient2916);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="translate(57.53339,3.203427)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2864"
+ style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2866"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)" />
+ <path
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2868"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2918);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ id="path2870"
+ d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
+ style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ sodipodi:nodetypes="ccccccccccccccccc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2920);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path2872"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient2922);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect2874"
+ width="9.0396729"
+ height="2.7400389"
+ x="17.472397"
+ y="30.703611" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path2876"
+ d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
+ style="color:#000000;fill:url(#linearGradient2924);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2926);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:url(#linearGradient2928);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000079;stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
+ id="path2878"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ id="path2880"
+ d="M 6.1774331,28.735789 L 37.605910,28.735789"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2930);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2932);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
+ id="path2882"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ id="path2884"
+ d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
+ style="opacity:0.53142858;fill:url(#linearGradient2934);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2936);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path2886"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2938);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2940);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
+ id="path2888"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
+ id="path2890"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
+ id="path2892" />
+ <path
+ id="path2894"
+ d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
+ style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2942);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
+ id="path2896" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2898"
+ d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
+ style="fill:url(#linearGradient2944);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ id="path2900"
+ d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2946);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2902"
+ d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2948);stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2950);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2904"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2906"
+ style="color:#000000;fill:url(#linearGradient2952);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2954);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2908"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2910"
+ style="color:#000000;fill:url(#linearGradient2956);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2958);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2912"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)" />
+ <path
+ style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
+ d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
+ id="path2914" />
+ </g>
+ <g
+ id="g3147"
+ transform="translate(-2.000000,-1.000000)">
+ <rect
+ ry="2.2097087"
+ rx="2.2097087"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="27.500000"
+ x="28.500000"
+ height="19.000000"
+ width="20.000000"
+ id="rect1686"
+ style="opacity:1.0000000;color:#000000;fill:#cc0000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#a40000;stroke-width:1.0000000;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.779029,0.000000,0.000000,0.779029,28.87262,8.175921)"
+ id="g2254">
+ <path
+ style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5672982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 8.0000000,32.000000 L 18.000000,42.000000"
+ id="path1377"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path2252"
+ d="M 18.000000,32.000000 L 8.0000000,42.000000"
+ style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5672982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ style="opacity:0.40000001;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000001;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect2258"
+ width="18.095240"
+ height="17.190477"
+ x="29.452381"
+ y="28.404764"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ rx="1.5847089"
+ ry="1.5847089" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-executable.svg b/share/pixmaps/tryton/tryton-executable.svg
new file mode 100644
index 0000000..38088df
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-executable.svg
@@ -0,0 +1,178 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg53383"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/mimetypes"
+ sodipodi:docname="application-x-executable.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective22" />
+ <linearGradient
+ id="linearGradient2300">
+ <stop
+ id="stop2302"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.32673267;" />
+ <stop
+ id="stop2304"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="99.7773"
+ y1="15.4238"
+ x2="153.0005"
+ y2="248.6311">
+ <stop
+ offset="0"
+ style="stop-color:#184375"
+ id="stop53300" />
+ <stop
+ offset="1"
+ style="stop-color:#C8BDDC"
+ id="stop53302" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient53551"
+ gradientUnits="userSpaceOnUse"
+ x1="99.7773"
+ y1="15.4238"
+ x2="153.0005"
+ y2="248.6311"
+ gradientTransform="matrix(0.200685,0.000000,0.000000,0.200685,-0.585758,-1.050787)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="11.689870"
+ fy="72.568001"
+ fx="14.287618"
+ cy="68.872971"
+ cx="14.287618"
+ gradientTransform="matrix(1.399258,-2.234445e-7,8.196178e-8,0.513264,4.365074,4.839285)"
+ id="radialGradient2308"
+ xlink:href="#linearGradient2300"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:showpageshadow="false"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4"
+ inkscape:cx="22.871258"
+ inkscape:cy="31.58696"
+ inkscape:current-layer="layer2"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="716"
+ inkscape:window-height="697"
+ inkscape:window-x="414"
+ inkscape:window-y="151" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Executable</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz/</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>executable</rdf:li>
+ <rdf:li>program</rdf:li>
+ <rdf:li>binary</rdf:li>
+ <rdf:li>bin</rdf:li>
+ <rdf:li>script</rdf:li>
+ <rdf:li>shell</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="shadow"
+ id="layer2"
+ inkscape:groupmode="layer">
+ <path
+ transform="matrix(1.186380,0.000000,0.000000,1.186380,-4.539687,-7.794678)"
+ d="M 44.285715 38.714287 A 19.928572 9.8372450 0 1 1 4.4285717,38.714287 A 19.928572 9.8372450 0 1 1 44.285715 38.714287 z"
+ sodipodi:ry="9.8372450"
+ sodipodi:rx="19.928572"
+ sodipodi:cy="38.714287"
+ sodipodi:cx="24.357143"
+ id="path1538"
+ style="color:#000000;fill:url(#radialGradient2308);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000042;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="fill:url(#linearGradient53551);fill-rule:nonzero;stroke:#3f4561;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 24.285801,43.196358 L 4.3751874,23.285744 L 24.285801,3.3751291 L 44.196415,23.285744 L 24.285801,43.196358 L 24.285801,43.196358 z "
+ id="path53304" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ style="opacity:0.72000003;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 43.505062,23.285744 L 24.285801,4.0664819 L 5.0665401,23.285744 L 5.8476076,23.910676 L 24.457240,5.4825431 L 43.505256,23.285744 L 43.505062,23.285744 z "
+ id="path53359" />
+ <path
+ style="opacity:0.49999997;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 8.9257729,27.145172 L 9.6642227,26.120988 C 10.300972,26.389480 10.964841,26.606057 11.650406,26.765873 L 11.644594,28.342731 C 12.072322,28.431066 12.507604,28.498867 12.948699,28.547102 L 13.430473,27.045213 C 13.774514,27.073690 14.122237,27.089380 14.473834,27.089380 C 14.825043,27.089380 15.172958,27.073883 15.517000,27.045213 L 15.998775,28.547102 C 16.440063,28.498867 16.875151,28.431066 17.302879,28.342731 L 17.296874,26.765680 C 17.982632,26.606057 18.646307,26.389480 19.283056,26.120988 L 20.205536,27.400490 C 20.607887,27.218396 20.999777,27.017899 21.380431,26.799968 L 20.887614,25.301952 C 21.484844,24.939702 22.049337,24.528633 22.575085,24.073980 L 23.847226,25.005759 C 24.172864,24.709178 24.484555,24.397487 24.780942,24.071849 L 23.849357,22.799902 C 24.304204,22.274154 24.715273,21.709855 25.077523,21.112237 L 26.575538,21.605248 C 26.793470,21.224400 26.994161,20.832316 27.175867,20.430160 L 25.896559,19.507873 C 26.165051,18.871124 26.381627,18.207255 26.541638,17.521497 L 28.118301,17.527308 C 28.206636,17.099581 28.274438,16.664298 28.322479,16.223010 L 26.820784,15.741236 C 26.849648,15.397388 26.864951,15.049472 26.864951,14.698069 C 26.864951,14.346666 26.849260,13.998944 26.820784,13.654708 L 28.322479,13.172934 C 28.274632,12.731840 28.206442,12.296751 28.118495,11.868830 L 26.541444,11.874835 C 26.381627,11.189076 26.165051,10.525208 25.896753,9.8886539 L 27.176061,8.9663652 C 26.994354,8.5640139 26.793470,8.1721237 26.575926,7.7912754 L 25.077717,8.2842867 C 24.715466,7.6868623 24.304398,7.1225635 23.849744,6.5970095 L 24.781330,5.3248686 C 24.502958,5.0189892 24.210252,4.7268638 23.905922,4.4467488 L 5.0669275,23.285938 L 6.0738693,24.292880 L 6.3725811,24.074174 C 6.8983295,24.528827 7.4626276,24.939896 8.0600509,25.302146 L 7.8180983,26.037303 L 8.9261605,27.145365 L 8.9257729,27.145172 z "
+ id="path53361" />
+ <path
+ style="opacity:0.49999997;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 28.448976,32.191116 C 28.448976,25.706434 32.682859,20.211647 38.536216,18.317093 L 36.309244,16.089926 C 36.292390,16.096901 36.275344,16.102906 36.258684,16.110073 L 36.077171,15.858241 L 34.665167,14.446237 C 34.201989,14.665137 33.748497,14.900697 33.305853,15.153885 L 33.999942,17.263078 C 33.158628,17.772747 32.364194,18.351768 31.624195,18.991810 L 29.833085,17.680151 C 29.374364,18.097611 28.935788,18.536187 28.518521,18.994716 L 29.829986,20.785630 C 29.189945,21.525825 28.611118,22.320258 28.101255,23.161378 L 25.991868,22.467289 C 25.685214,23.003692 25.402775,23.555593 25.146874,24.122021 L 26.948056,25.420314 C 26.570114,26.316643 26.265204,27.251328 26.040298,28.216815 L 23.820299,28.208291 C 23.696127,28.810557 23.600430,29.423479 23.532823,30.044342 L 25.647246,30.722740 C 25.606953,31.207033 25.585255,31.696750 25.585255,32.191310 C 25.585255,32.686063 25.606953,33.175780 25.647246,33.660073 L 23.532823,34.337889 C 23.600430,34.959140 23.696127,35.571868 23.820493,36.174134 L 26.040298,36.165804 C 26.265204,37.131291 26.570114,38.065976 26.948056,38.962306 L 25.146874,40.260792 C 25.289256,40.575582 25.440743,40.885723 25.599010,41.191215 L 29.403033,37.387579 C 28.787013,35.773334 28.448783,34.021743 28.448783,32.191310 L 28.448976,32.191116 z "
+ id="path53363" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ style="opacity:0.34999999;fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 5.2050478,23.424252 L 24.285801,42.505005 L 43.505062,23.285744 L 42.789963,22.603525 L 24.310314,41.041677 L 5.2050478,23.424059 L 5.2050478,23.424252 z "
+ id="path53365" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-find-replace.svg b/share/pixmaps/tryton/tryton-find-replace.svg
new file mode 100644
index 0000000..1f443ff
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-find-replace.svg
@@ -0,0 +1,974 @@
+<?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"
+ inkscape:export-ydpi="30"
+ inkscape:export-xdpi="30"
+ inkscape:export-filename="/home/garrett/edit-find-replace-16.png"
+ sodipodi:docname="edit-find-replace.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg249"
+ height="48.000000px"
+ width="48.000000px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective144" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1.0000000"
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ id="aigrd3"
+ cx="20.8921"
+ cy="64.5679"
+ r="5.257"
+ fx="20.8921"
+ fy="64.5679"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15573" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15575" />
+ </radialGradient>
+ <radialGradient
+ id="aigrd2"
+ cx="20.8921"
+ cy="114.5684"
+ r="5.256"
+ fx="20.8921"
+ fy="114.5684"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15566" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15568" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient15656"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,3.353553,0.646447)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient15658"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(0.960493,1.041132)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,3.353553,0.646447)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <radialGradient
+ r="5.256"
+ fy="114.5684"
+ fx="20.8921"
+ cy="114.5684"
+ cx="20.8921"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2283"
+ xlink:href="#aigrd2"
+ inkscape:collect="always" />
+ <radialGradient
+ r="5.257"
+ fy="64.5679"
+ fx="20.8921"
+ cy="64.5679"
+ cx="20.8921"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2285"
+ xlink:href="#aigrd3"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient4440">
+ <stop
+ id="stop4442"
+ offset="0"
+ style="stop-color:#7d7d7d;stop-opacity:1;" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4448" />
+ <stop
+ id="stop4444"
+ offset="1.0000000"
+ style="stop-color:#686868;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4454">
+ <stop
+ id="stop4456"
+ offset="0.0000000"
+ style="stop-color:#729fcf;stop-opacity:0.20784314;" />
+ <stop
+ id="stop4458"
+ offset="1.0000000"
+ style="stop-color:#729fcf;stop-opacity:0.67619050;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4467">
+ <stop
+ id="stop4469"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4471"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.24761905;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4477"
+ inkscape:collect="always">
+ <stop
+ id="stop4479"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4481"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2366">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2368" />
+ <stop
+ id="stop2374"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.21904762;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2370" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2846">
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2848" />
+ <stop
+ style="stop-color:#484848;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2850" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2865"
+ inkscape:collect="always">
+ <stop
+ id="stop2867"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop2869"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2966">
+ <stop
+ id="stop2968"
+ offset="0"
+ style="stop-color:#ffd1d1;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ff1d1d;stop-opacity:1;"
+ offset="0.5"
+ id="stop3006" />
+ <stop
+ id="stop2970"
+ offset="1"
+ style="stop-color:#6f0000;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2974">
+ <stop
+ id="stop2976"
+ offset="0"
+ style="stop-color:#c1c1c1;stop-opacity:1;" />
+ <stop
+ id="stop2978"
+ offset="1"
+ style="stop-color:#acacac;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2984"
+ inkscape:collect="always">
+ <stop
+ id="stop2986"
+ offset="0"
+ style="stop-color:#e7e2b8;stop-opacity:1;" />
+ <stop
+ id="stop2988"
+ offset="1"
+ style="stop-color:#e7e2b8;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2994">
+ <stop
+ id="stop2996"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop2998"
+ offset="1"
+ style="stop-color:#c9c9c9;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4477"
+ id="radialGradient2504"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.237968,-1.591178e-15,28.93278)"
+ cx="24.130018"
+ cy="37.967922"
+ fx="24.130018"
+ fy="37.967922"
+ r="16.528622" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2865"
+ id="radialGradient2552"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.348243,-2.396518e-14,26.35543)"
+ cx="23.5625"
+ cy="40.4375"
+ fx="23.5625"
+ fy="40.4375"
+ r="19.5625" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2966"
+ id="linearGradient2554"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.669292,-3.312994e-15)"
+ x1="48.90625"
+ y1="17.376184"
+ x2="50.988335"
+ y2="22.250591" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2974"
+ id="linearGradient2556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.669292,-3.312994e-15)"
+ x1="46"
+ y1="19.8125"
+ x2="47.6875"
+ y2="22.625" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2984"
+ id="radialGradient2558"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.923565,-1.236196e-16,8.582434e-17,2.029717,-61.55532,-27.88417)"
+ cx="29.053354"
+ cy="27.640751"
+ fx="29.053354"
+ fy="27.640751"
+ r="3.2408544" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2994"
+ id="linearGradient2560"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.825542,0.125)"
+ x1="25.71875"
+ y1="31.046875"
+ x2="25.514589"
+ y2="30.703125" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2846"
+ id="linearGradient2730"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,0,0,1,48.18409,-6.22072e-15)"
+ x1="27.366341"
+ y1="26.580296"
+ x2="31.335964"
+ y2="30.557772" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4440"
+ id="linearGradient2732"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.334593,0,0,1.291292,55.15793,-7.460658)"
+ x1="30.656250"
+ y1="34.000000"
+ x2="33.218750"
+ y2="31.062500" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2366"
+ id="linearGradient2734"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,0,0,1,44.17827,-7.045146e-16)"
+ x1="18.292673"
+ y1="13.602121"
+ x2="17.500893"
+ y2="25.743469" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4454"
+ id="radialGradient2736"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,0,0,1,43.352,1.032377e-15)"
+ cx="18.240929"
+ cy="21.817987"
+ fx="18.240929"
+ fy="21.817987"
+ r="8.3085051" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4467"
+ id="radialGradient2738"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.592963,-7.7469e-24,-5.714443e-24,2.252104,-25.05976,-18.941)"
+ cx="15.414371"
+ cy="13.078408"
+ fx="15.414371"
+ fy="13.078408"
+ r="6.6562500" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="126"
+ inkscape:window-x="59"
+ inkscape:window-height="705"
+ inkscape:window-width="1102"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="true"
+ inkscape:current-layer="layer6"
+ inkscape:cy="-7.874336"
+ inkscape:cx="38.123818"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.59607843"
+ bordercolor="#434343"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ borderlayer="true" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Edit Find Replace</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>edit</rdf:li>
+ <rdf:li>find</rdf:li>
+ <rdf:li>locate</rdf:li>
+ <rdf:li>search</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner, Steven Garrity</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="Shadow">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.165152e-2,0,0,1.485743e-2,43.0076,42.68539)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ </g>
+ <g
+ style="display:inline"
+ inkscape:groupmode="layer"
+ inkscape:label="Base"
+ id="layer1">
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.017543854"
+ d="M 11.505723,5.4942766 L 11.505723,43.400869"
+ id="path15672"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Magnifying Glass"
+ style="display:inline">
+ <g
+ id="g2679">
+ <rect
+ rx="1.1449448"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1.003584,0,0,1.001943,-0.12722,-0.153534)"
+ ry="1.1468204"
+ y="3.6464462"
+ x="6.6035528"
+ height="40.920494"
+ width="34.875"
+ id="rect15391"
+ style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:0.99724436;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <rect
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(1.003584,0,0,1.001943,-0.12722,-0.153534)"
+ rx="0.14851625"
+ ry="0.14875954"
+ y="4.5839462"
+ x="7.6660538"
+ height="38.946384"
+ width="32.775887"
+ id="rect15660"
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:0.99724436;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <g
+ id="g2270"
+ transform="translate(0.646447,-3.798933e-2)"
+ style="display:inline">
+ <g
+ transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)"
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
+ id="g1440">
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="114.56840"
+ fx="20.892099"
+ r="5.2560000"
+ cy="114.56840"
+ cx="20.892099"
+ id="radialGradient1442">
+ <stop
+ id="stop1444"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop1446"
+ style="stop-color:#474747"
+ offset="1" />
+ </radialGradient>
+ <path
+ id="path1448"
+ d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
+ style="stroke:none" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="64.567902"
+ fx="20.892099"
+ r="5.2570000"
+ cy="64.567902"
+ cx="20.892099"
+ id="radialGradient1450">
+ <stop
+ id="stop1452"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop1454"
+ style="stop-color:#474747"
+ offset="1" />
+ </radialGradient>
+ <path
+ id="path1456"
+ d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
+ style="stroke:none" />
+ </g>
+ <path
+ id="path15570"
+ d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
+ style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+ <path
+ id="path15577"
+ d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
+ style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path15674"
+ d="M 12.500000,5.0205154 L 12.500000,43.038228"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.20467831;display:inline" />
+ <g
+ id="g2253"
+ transform="matrix(0.909091,0.000000,0.000000,1.000000,2.363628,0.000000)">
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="9.0000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15686"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="11.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15688"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="13.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15690"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="15.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15692"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="17.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15694"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="19.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15696"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="21.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15698"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="23.000000"
+ x="15.000002"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15700"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.068204239"
+ y="25.000000"
+ x="14.999992"
+ height="1.0000000"
+ width="9.9000053"
+ id="rect15732"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="29.000000"
+ x="14.999992"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15736"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="31.000000"
+ x="14.999992"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15738"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="33.000000"
+ x="14.999992"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15740"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.15156493"
+ y="35.000000"
+ x="14.999992"
+ height="1.0000000"
+ width="22.000004"
+ id="rect15742"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ ry="0.065390877"
+ rx="0.10609552"
+ y="37.000000"
+ x="14.999992"
+ height="1.0000000"
+ width="15.400014"
+ id="rect15744"
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ </g>
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.962422,0,0,1.011366,-7.130766,-7.903209)"
+ d="M 40.65864 37.967922 A 16.528622 3.9332814 0 1 1 7.6013966,37.967922 A 16.528622 3.9332814 0 1 1 40.65864 37.967922 z"
+ sodipodi:ry="3.9332814"
+ sodipodi:rx="16.528622"
+ sodipodi:cy="37.967922"
+ sodipodi:cx="24.130018"
+ id="path4475"
+ style="opacity:0.17112301;color:#000000;fill:url(#radialGradient2504);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <g
+ id="g2711"
+ transform="translate(-1.000325,-0.85088)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ transform="matrix(-0.643277,0,0,0.643277,31.49802,4.828704)"
+ sodipodi:nodetypes="csscccscccscczzzz"
+ id="path2844"
+ d="M 18.627569,3.1435548 C 10.488439,3.1435548 3.8827682,9.7492259 3.8827682,17.888356 C 3.8827682,26.027486 10.488439,32.633158 18.627569,32.633158 C 22.107124,32.633158 25.17857,31.248765 27.701292,29.230511 C 27.495915,30.237392 27.623257,31.265879 28.457436,31.990436 L 39.42152,41.517846 C 40.654936,42.589175 42.508982,42.448806 43.58031,41.215389 C 44.651638,39.981971 44.511269,38.127927 43.277853,37.056599 L 32.313769,27.529188 C 31.642242,26.945909 30.820891,26.773219 30.007531,26.886466 C 31.994231,24.374044 33.37237,21.337663 33.37237,17.888356 C 33.37237,9.7492259 26.766699,3.1435548 18.627569,3.1435548 z M 18.551954,4.3697381 C 26.191413,4.3697381 31.843729,9.1586886 31.843729,17.661513 C 31.843729,26.336626 26.027039,30.953288 18.551954,30.953288 C 11.249005,30.953288 5.2601806,25.475196 5.2601806,17.661513 C 5.2601806,9.6774061 11.084819,4.369738 18.551954,4.3697381 z "
+ style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2730);stroke-width:3.10908341;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(-0.643277,0,0,0.643277,31.49802,4.828704)"
+ style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 18.602905,3.0803551 C 10.437465,3.0803551 3.8104408,9.7073791 3.8104408,17.872819 C 3.8104408,26.038259 10.437465,32.665283 18.602905,32.665283 C 22.093708,32.665283 25.175082,31.276416 27.70596,29.251638 C 27.499919,30.261774 27.627672,31.293585 28.464547,32.020484 L 39.464073,41.578691 C 40.701476,42.653483 42.561515,42.512661 43.636306,41.275256 C 44.711097,40.037852 44.570274,38.177814 43.332871,37.103023 L 32.333346,27.544815 C 31.659648,26.959651 30.835642,26.786402 30.019653,26.900016 C 32.012775,24.379472 33.395369,21.333276 33.395369,17.872819 C 33.395369,9.7073791 26.768345,3.0803551 18.602905,3.0803551 z M 18.527046,6.2664243 C 24.808154,6.2664245 29.905864,11.364135 29.905864,17.645243 C 29.905864,23.926351 24.808154,29.024061 18.527046,29.024061 C 12.245938,29.024061 7.1482276,23.926351 7.1482276,17.645243 C 7.1482278,11.364135 12.245938,6.2664243 18.527046,6.2664243 z "
+ id="path4430"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(-0.643277,0,0,0.643277,31.49802,4.828704)"
+ style="color:#000000;fill:url(#linearGradient2732);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 39.507004,41.57769 C 39.028332,39.304503 40.904334,36.766268 43.091057,36.789315 C 43.091057,36.789315 32.33069,27.531204 32.33069,27.531204 C 29.385899,27.474498 28.061188,29.80382 28.553876,32.131126 L 39.507004,41.57769 z "
+ id="path4438"
+ sodipodi:nodetypes="ccccc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2734);stroke-width:1.24788225;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4450"
+ sodipodi:cx="17.500893"
+ sodipodi:cy="18.920233"
+ sodipodi:rx="11.048544"
+ sodipodi:ry="11.048544"
+ d="M 28.549437 18.920233 A 11.048544 11.048544 0 1 1 6.4523487,18.920233 A 11.048544 11.048544 0 1 1 28.549437 18.920233 z"
+ transform="matrix(-0.801358,0,0,0.801358,33.70147,0.855159)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:0.43315507;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.55458939;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect4495"
+ width="19.048439"
+ height="4.4404783"
+ x="40.373337"
+ y="0.14086054"
+ rx="3.3215265"
+ ry="2.9348745"
+ transform="matrix(-0.484379,0.4233,0.417423,0.489452,31.49802,4.828704)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2736);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:1.11148739;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dashoffset:0;stroke-opacity:1;visibility:visible"
+ id="path4452"
+ sodipodi:cx="17.589281"
+ sodipodi:cy="18.478292"
+ sodipodi:rx="8.3085051"
+ sodipodi:ry="8.3085051"
+ d="M 25.897786 18.478292 A 8.3085051 8.3085051 0 1 1 9.280776,18.478292 A 8.3085051 8.3085051 0 1 1 25.897786 18.478292 z"
+ transform="matrix(-0.899697,0,0,0.899697,35.502,-0.509826)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.643277,0,0,0.643277,7.855933,4.828704)"
+ style="opacity:0.83422457;color:#000000;fill:url(#radialGradient2738);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 18.156915,7.3966938 C 12.949325,7.3966938 8.7323681,11.613651 8.7323681,16.821241 C 8.7323681,18.325216 9.1526753,19.709014 9.77954,20.971144 C 11.03192,21.432757 12.362297,21.746827 13.774307,21.746827 C 19.945262,21.746827 24.873589,16.88519 25.254413,10.809698 C 23.523449,8.7641668 21.044374,7.3966938 18.156915,7.3966938 z "
+ id="path4462"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.616613,0,0,0.293577,12.73816,29.12848)"
+ d="M 43.125 40.4375 A 19.5625 6.8125 0 1 1 4,40.4375 A 19.5625 6.8125 0 1 1 43.125 40.4375 z"
+ sodipodi:ry="6.8125"
+ sodipodi:rx="19.5625"
+ sodipodi:cy="40.4375"
+ sodipodi:cx="23.5625"
+ id="path3008"
+ style="opacity:0.2;color:#000000;fill:url(#radialGradient2552);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <g
+ id="g1574"
+ transform="matrix(1.033699,-0.276979,0.276979,1.033699,16.06828,-14.54823)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ transform="translate(-29.75546,19)"
+ sodipodi:nodetypes="cccccc"
+ id="path2960"
+ d="M 17.34116,32.5 L 22.96616,26.875 L 43.059909,17.125 C 46.309909,15.875 48.247409,20.5 45.372409,22.125 L 25.34116,31.5 L 17.34116,32.5 z "
+ style="color:#000000;fill:#cb9022;fill-opacity:1;fill-rule:evenodd;stroke:#5c410c;stroke-width:0.93443578;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="translate(-29.75546,19)"
+ style="color:#000000;fill:url(#linearGradient2554);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 38.330708,20 C 38.330708,20 39.768208,20.09375 40.330708,21.34375 C 40.910201,22.631511 40.330708,24 40.330708,24 L 45.361958,21.53125 C 45.361958,21.53125 46.81399,20.649883 46.018208,18.6875 C 45.233296,16.751923 43.330708,17.53125 43.330708,17.53125 L 38.330708,20 z "
+ id="path2964"
+ sodipodi:nodetypes="czcczcc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="translate(-29.75546,19)"
+ sodipodi:nodetypes="czcczcc"
+ id="path2962"
+ d="M 38.330708,20 C 38.330708,20 39.768208,20.09375 40.330708,21.34375 C 40.910201,22.631511 40.330708,24 40.330708,24 L 42.330708,23 C 42.330708,23 43.15774,21.681133 42.549458,20.3125 C 41.924458,18.90625 40.330708,19 40.330708,19 L 38.330708,20 z "
+ style="color:#000000;fill:url(#linearGradient2556);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="translate(-29.75546,19)"
+ sodipodi:nodetypes="cccc"
+ id="path2982"
+ d="M 18.768208,31.78125 L 23.268208,27.28125 C 24.768208,28.09375 25.549458,29.4375 25.143208,31 L 18.768208,31.78125 z "
+ style="color:#000000;fill:url(#radialGradient2558);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="translate(-29.75546,19)"
+ sodipodi:nodetypes="cccc"
+ id="path2992"
+ d="M 20.111958,30.375 L 18.486958,31.96875 L 20.830708,31.65625 C 21.049458,30.9375 20.643208,30.59375 20.111958,30.375 z "
+ style="color:#000000;fill:url(#linearGradient2560);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="translate(-29.75546,19)"
+ sodipodi:nodetypes="ccccc"
+ id="path3002"
+ d="M 23.268208,27.25 L 24.830708,28.5 L 40.218048,21.18133 C 39.773616,20.325286 38.976281,20.096733 38.314669,20.019068 L 23.268208,27.25 z "
+ style="color:#000000;fill:#ffffff;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="translate(-29.75546,19)"
+ sodipodi:nodetypes="ccccc"
+ id="path3004"
+ d="M 25.143208,31.0625 L 25.330708,30.3125 L 40.561798,23.1829 C 40.561798,23.1829 40.451638,23.796527 40.345919,23.93225 L 25.143208,31.0625 z "
+ style="color:#000000;fill:#000000;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-find.svg b/share/pixmaps/tryton/tryton-find.svg
new file mode 100644
index 0000000..a499b48
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-find.svg
@@ -0,0 +1,750 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/steven/edit-find-48.png"
+ sodipodi:docname="edit-find.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg249"
+ height="48.000000px"
+ width="48.000000px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective113" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1.0000000"
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ id="aigrd3"
+ cx="20.8921"
+ cy="64.5679"
+ r="5.257"
+ fx="20.8921"
+ fy="64.5679"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15573" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15575" />
+ </radialGradient>
+ <radialGradient
+ id="aigrd2"
+ cx="20.8921"
+ cy="114.5684"
+ r="5.256"
+ fx="20.8921"
+ fy="114.5684"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15566" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15568" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient15656"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient15658"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(0.960493,1.041132)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <radialGradient
+ r="5.256"
+ fy="114.5684"
+ fx="20.8921"
+ cy="114.5684"
+ cx="20.8921"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2283"
+ xlink:href="#aigrd2"
+ inkscape:collect="always" />
+ <radialGradient
+ r="5.257"
+ fy="64.5679"
+ fx="20.8921"
+ cy="64.5679"
+ cx="20.8921"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2285"
+ xlink:href="#aigrd3"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient4440">
+ <stop
+ id="stop4442"
+ offset="0"
+ style="stop-color:#7d7d7d;stop-opacity:1;" />
+ <stop
+ style="stop-color:#b1b1b1;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4448" />
+ <stop
+ id="stop4444"
+ offset="1.0000000"
+ style="stop-color:#686868;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4454">
+ <stop
+ id="stop4456"
+ offset="0.0000000"
+ style="stop-color:#729fcf;stop-opacity:0.20784314;" />
+ <stop
+ id="stop4458"
+ offset="1.0000000"
+ style="stop-color:#729fcf;stop-opacity:0.67619050;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4467">
+ <stop
+ id="stop4469"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4471"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.24761905;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4477"
+ inkscape:collect="always">
+ <stop
+ id="stop4479"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4481"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2366">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2368" />
+ <stop
+ id="stop2374"
+ offset="0.50000000"
+ style="stop-color:#ffffff;stop-opacity:0.21904762;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2370" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2846">
+ <stop
+ style="stop-color:#8a8a8a;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2848" />
+ <stop
+ style="stop-color:#484848;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2850" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4477"
+ id="radialGradient1527"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.237968,-8.821068e-16,28.93278)"
+ cx="24.130018"
+ cy="37.967922"
+ fx="24.130018"
+ fy="37.967922"
+ r="16.528622" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2846"
+ id="linearGradient1529"
+ gradientUnits="userSpaceOnUse"
+ x1="27.366341"
+ y1="26.580296"
+ x2="31.335964"
+ y2="30.557772" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4440"
+ id="linearGradient1531"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.334593,0.000000,0.000000,1.291292,-6.973842,-7.460658)"
+ x1="30.656250"
+ y1="34.000000"
+ x2="33.218750"
+ y2="31.062500" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2366"
+ id="linearGradient1533"
+ gradientUnits="userSpaceOnUse"
+ x1="18.292673"
+ y1="13.602121"
+ x2="17.500893"
+ y2="25.743469" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4454"
+ id="radialGradient1537"
+ gradientUnits="userSpaceOnUse"
+ cx="18.240929"
+ cy="21.817987"
+ fx="18.240929"
+ fy="21.817987"
+ r="8.3085051" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4467"
+ id="radialGradient1539"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.592963,-7.746900e-24,-5.714443e-24,2.252104,-25.05975,-18.94100)"
+ cx="15.414371"
+ cy="13.078408"
+ fx="15.414371"
+ fy="13.078408"
+ r="6.6562500" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="30"
+ inkscape:window-x="418"
+ inkscape:window-height="818"
+ inkscape:window-width="1016"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="true"
+ inkscape:current-layer="layer6"
+ inkscape:cy="14.980943"
+ inkscape:cx="25.938708"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Edit Find</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>edit</rdf:li>
+ <rdf:li>find</rdf:li>
+ <rdf:li>locate</rdf:li>
+ <rdf:li>search</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Steven Garrity</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="Shadow">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.165152e-2,0,0,1.485743e-2,43.0076,42.68539)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ </g>
+ <g
+ style="display:inline"
+ inkscape:groupmode="layer"
+ inkscape:label="Base"
+ id="layer1">
+ <rect
+ style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15391"
+ width="34.875000"
+ height="40.920494"
+ x="6.6035528"
+ y="3.6464462"
+ ry="1.1490486" />
+ <rect
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15660"
+ width="32.775887"
+ height="38.946384"
+ x="7.6660538"
+ y="4.5839462"
+ ry="0.14904857"
+ rx="0.14904857" />
+ <g
+ transform="translate(0.646447,-3.798933e-2)"
+ id="g2270">
+ <g
+ id="g1440"
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
+ transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)">
+ <radialGradient
+ id="radialGradient1442"
+ cx="20.892099"
+ cy="114.56840"
+ r="5.2560000"
+ fx="20.892099"
+ fy="114.56840"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop1444" />
+ <stop
+ offset="1"
+ style="stop-color:#474747"
+ id="stop1446" />
+ </radialGradient>
+ <path
+ style="stroke:none"
+ d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
+ id="path1448" />
+ <radialGradient
+ id="radialGradient1450"
+ cx="20.892099"
+ cy="64.567902"
+ r="5.2570000"
+ fx="20.892099"
+ fy="64.567902"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop1452" />
+ <stop
+ offset="1"
+ style="stop-color:#474747"
+ id="stop1454" />
+ </radialGradient>
+ <path
+ style="stroke:none"
+ d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
+ id="path1456" />
+ </g>
+ <path
+ style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
+ id="path15570" />
+ <path
+ style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
+ id="path15577" />
+ </g>
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.017543854"
+ d="M 11.505723,5.4942766 L 11.505723,43.400869"
+ id="path15672"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.20467831"
+ d="M 12.500000,5.0205154 L 12.500000,43.038228"
+ id="path15674"
+ sodipodi:nodetypes="cc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Magnifying Glass"
+ style="display:inline">
+ <g
+ transform="matrix(0.909091,0.000000,0.000000,1.000000,2.363628,0.000000)"
+ id="g2253">
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15686"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="9.0000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15688"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="11.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15690"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="13.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15692"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="15.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15694"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="17.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15696"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="19.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15698"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="21.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15700"
+ width="22.000004"
+ height="1.0000000"
+ x="15.000002"
+ y="23.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15732"
+ width="9.9000053"
+ height="1.0000000"
+ x="14.999992"
+ y="25.000000"
+ rx="0.068204239"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15736"
+ width="22.000004"
+ height="1.0000000"
+ x="14.999992"
+ y="29.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15738"
+ width="22.000004"
+ height="1.0000000"
+ x="14.999992"
+ y="31.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15740"
+ width="22.000004"
+ height="1.0000000"
+ x="14.999992"
+ y="33.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15742"
+ width="22.000004"
+ height="1.0000000"
+ x="14.999992"
+ y="35.000000"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
+ id="rect15744"
+ width="15.400014"
+ height="1.0000000"
+ x="14.999992"
+ y="37.000000"
+ rx="0.10609552"
+ ry="0.065390877" />
+ </g>
+ <g
+ id="g1772"
+ transform="matrix(0.665377,0.000000,0.000000,0.665377,15.98645,17.90835)">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.17112298;color:#000000;fill:url(#radialGradient1527);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path4475"
+ sodipodi:cx="24.130018"
+ sodipodi:cy="37.967922"
+ sodipodi:rx="16.528622"
+ sodipodi:ry="3.9332814"
+ d="M 40.658640 37.967922 A 16.528622 3.9332814 0 1 1 7.6013966,37.967922 A 16.528622 3.9332814 0 1 1 40.658640 37.967922 z"
+ transform="matrix(1.446431,0.000000,0.000000,1.519990,-10.97453,-17.75168)" />
+ <path
+ sodipodi:nodetypes="csscccscccscczzzz"
+ id="path2844"
+ d="M 18.627569,3.1435548 C 10.488439,3.1435548 3.8827682,9.7492259 3.8827682,17.888356 C 3.8827682,26.027486 10.488439,32.633158 18.627569,32.633158 C 22.107124,32.633158 25.178570,31.248765 27.701292,29.230511 C 27.495915,30.237392 27.623257,31.265879 28.457436,31.990436 L 39.421520,41.517846 C 40.654936,42.589175 42.508982,42.448806 43.580310,41.215389 C 44.651638,39.981971 44.511269,38.127927 43.277853,37.056599 L 32.313769,27.529188 C 31.642242,26.945909 30.820891,26.773219 30.007531,26.886466 C 31.994231,24.374044 33.372370,21.337663 33.372370,17.888356 C 33.372370,9.7492259 26.766699,3.1435548 18.627569,3.1435548 z M 18.551954,4.3697381 C 26.191413,4.3697381 31.843729,9.1586886 31.843729,17.661513 C 31.843729,26.336626 26.027039,30.953288 18.551954,30.953288 C 11.249005,30.953288 5.2601806,25.475196 5.2601806,17.661513 C 5.2601806,9.6774061 11.084819,4.3697380 18.551954,4.3697381 z "
+ style="opacity:1.0000000;color:#000000;fill:#dcdcdc;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient1529);stroke-width:3.0058157;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:#dcdcdc;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000004;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 18.602905,3.0803551 C 10.437465,3.0803551 3.8104408,9.7073791 3.8104408,17.872819 C 3.8104408,26.038259 10.437465,32.665283 18.602905,32.665283 C 22.093708,32.665283 25.175082,31.276416 27.705960,29.251638 C 27.499919,30.261774 27.627672,31.293585 28.464547,32.020484 L 39.464073,41.578691 C 40.701476,42.653483 42.561515,42.512661 43.636306,41.275256 C 44.711097,40.037852 44.570274,38.177814 43.332871,37.103023 L 32.333346,27.544815 C 31.659648,26.959651 30.835642,26.786402 30.019653,26.900016 C 32.012775,24.379472 33.395369,21.333276 33.395369,17.872819 C 33.395369,9.7073791 26.768345,3.0803551 18.602905,3.0803551 z M 18.527046,6.2664243 C 24.808154,6.2664245 29.905864,11.364135 29.905864,17.645243 C 29.905864,23.926351 24.808154,29.024061 18.527046,29.024061 C 12.245938,29.024061 7.1482276,23.926351 7.1482276,17.645243 C 7.1482278,11.364135 12.245938,6.2664243 18.527046,6.2664243 z "
+ id="path4430" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient1531);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 39.507004,41.577690 C 39.028332,39.304503 40.904334,36.766268 43.091057,36.789315 C 43.091057,36.789315 32.330690,27.531204 32.330690,27.531204 C 29.385899,27.474498 28.061188,29.803820 28.553876,32.131126 L 39.507004,41.577690 z "
+ id="path4438"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient1533);stroke-width:1.2064340;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path4450"
+ sodipodi:cx="17.500893"
+ sodipodi:cy="18.920233"
+ sodipodi:rx="11.048544"
+ sodipodi:ry="11.048544"
+ d="M 28.549437 18.920233 A 11.048544 11.048544 0 1 1 6.4523487,18.920233 A 11.048544 11.048544 0 1 1 28.549437 18.920233 z"
+ transform="matrix(1.245743,0.000000,0.000000,1.245743,-3.425346,-6.177033)" />
+ <rect
+ style="opacity:0.43315509;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.5029539;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect4495"
+ width="19.048439"
+ height="4.4404783"
+ x="40.373337"
+ y="0.14086054"
+ rx="3.2112026"
+ ry="2.8373930"
+ transform="matrix(0.752986,0.658037,-0.648902,0.760872,0.000000,0.000000)" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient1537);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3063a3;stroke-width:1.0745695;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible"
+ id="path4452"
+ sodipodi:cx="17.589281"
+ sodipodi:cy="18.478292"
+ sodipodi:rx="8.3085051"
+ sodipodi:ry="8.3085051"
+ d="M 25.897786 18.478292 A 8.3085051 8.3085051 0 1 1 9.2807760,18.478292 A 8.3085051 8.3085051 0 1 1 25.897786 18.478292 z"
+ transform="matrix(1.398614,0.000000,0.000000,1.398614,-6.224338,-8.298958)" />
+ <path
+ style="opacity:0.83422458;color:#000000;fill:url(#radialGradient1539);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 18.156915,7.3966938 C 12.949325,7.3966938 8.7323681,11.613651 8.7323681,16.821241 C 8.7323681,18.325216 9.1526753,19.709014 9.7795400,20.971144 C 11.031920,21.432757 12.362297,21.746827 13.774307,21.746827 C 19.945262,21.746827 24.873589,16.885190 25.254413,10.809698 C 23.523449,8.7641668 21.044374,7.3966938 18.156915,7.3966938 z "
+ id="path4462" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-folder-new.svg b/share/pixmaps/tryton/tryton-folder-new.svg
new file mode 100644
index 0000000..0791887
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-folder-new.svg
@@ -0,0 +1,452 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg97"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="folder-new.svg"
+ inkscape:export-filename="/home/jimmac/Desktop/horlander-style3.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective71" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient9766">
+ <stop
+ style="stop-color:#6194cb;stop-opacity:1;"
+ offset="0"
+ id="stop9768" />
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1;"
+ offset="1"
+ id="stop9770" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3096">
+ <stop
+ id="stop3098"
+ offset="0"
+ style="stop-color:#424242;stop-opacity:1;" />
+ <stop
+ id="stop3100"
+ offset="1.0000000"
+ style="stop-color:#777777;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient319"
+ inkscape:collect="always">
+ <stop
+ id="stop320"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop321"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1789">
+ <stop
+ style="stop-color:#202020;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop1790" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop1791" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1789"
+ id="radialGradient238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.055022,-2.734504e-2,0.177703,1.190929,-3.572177,-7.125301)"
+ cx="20.706017"
+ cy="37.517986"
+ fx="20.706017"
+ fy="37.517986"
+ r="30.905205" />
+ <linearGradient
+ id="linearGradient3983">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.87628865;"
+ offset="0.0000000"
+ id="stop3984" />
+ <stop
+ style="stop-color:#fffffe;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3985" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3983"
+ id="linearGradient491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.516844,0.000000,0.000000,0.708978,-0.879573,-1.318166)"
+ x1="6.2297964"
+ y1="13.773066"
+ x2="9.8980894"
+ y2="66.834053" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="46.689312"
+ x2="12.853771"
+ y1="32.567184"
+ x1="13.035696"
+ gradientTransform="matrix(1.317489,0.000000,0.000000,0.816256,-0.879573,-1.318166)"
+ id="linearGradient322"
+ xlink:href="#linearGradient319"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="6.1802502"
+ x2="15.514889"
+ y1="31.367750"
+ x1="18.112709"
+ id="linearGradient3104"
+ xlink:href="#linearGradient3096"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9766"
+ id="linearGradient9772"
+ x1="22.175976"
+ y1="36.987999"
+ x2="22.065331"
+ y2="32.050499"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient1758"
+ gradientUnits="userSpaceOnUse"
+ cx="55.000000"
+ cy="125.00000"
+ fx="55.000000"
+ fy="125.00000"
+ r="14.375000" />
+ </defs>
+ <sodipodi:namedview
+ fill="#729fcf"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.10196078"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-83.185817"
+ inkscape:cy="-7.2408029"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="872"
+ inkscape:window-height="659"
+ inkscape:window-x="898"
+ inkscape:window-y="342"
+ inkscape:showpageshadow="false"
+ stroke="#3465a4" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>New Folder</dc:title>
+ <dc:date />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>folder</rdf:li>
+ <rdf:li>directory</rdf:li>
+ <rdf:li>create</rdf:li>
+ <rdf:li>new</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Tuomas Kuosmanen</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Folder"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.165152e-2,0,0,1.903841e-2,42.41538,36.93372)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ d="M 4.5217805,38.687417 C 4.5435766,39.103721 4.9816854,39.520026 5.3979900,39.520026 L 36.725011,39.520026 C 37.141313,39.520026 37.535823,39.103721 37.514027,38.687417 L 36.577584,11.460682 C 36.555788,11.044379 36.117687,10.628066 35.701383,10.628066 L 22.430510,10.628066 C 21.945453,10.628066 21.196037,10.312477 21.028866,9.5214338 L 20.417475,6.6283628 C 20.262006,5.8926895 19.535261,5.5904766 19.118957,5.5904766 L 4.3400975,5.5904766 C 3.9237847,5.5904766 3.5292767,6.0067807 3.5510726,6.4230849 L 4.5217805,38.687417 z "
+ id="path216"
+ style="fill:url(#radialGradient238);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient3104);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
+ sodipodi:nodetypes="ccccccssssccc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9788"
+ d="M 5.2265927,22.5625 L 35.492173,22.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9784"
+ d="M 5.0421736,18.5625 L 35.489104,18.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 4.9806965,12.5625 L 35.488057,12.5625"
+ id="path9778"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.3861577,32.5625 L 35.494881,32.5625"
+ id="path9798"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9800"
+ d="M 5.5091398,34.5625 L 35.496893,34.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.0421736,16.5625 L 35.489104,16.5625"
+ id="path9782"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9780"
+ d="M 5.0114345,14.5625 L 35.48858,14.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9776"
+ d="M 4.9220969,10.5625 L 20.202912,10.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 4.8737534,8.5624999 L 19.657487,8.5624999"
+ id="path9774"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.3246666,28.5625 L 35.493876,28.5625"
+ id="path9794"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9792"
+ d="M 5.2880638,26.5625 L 35.493184,26.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.2265927,24.5625 L 35.492173,24.5625"
+ id="path9790"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.1958537,20.5625 L 35.491649,20.5625"
+ id="path9786"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path9796"
+ d="M 5.3246666,30.5625 L 35.493876,30.5625"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.5091398,36.5625 L 35.496893,36.5625"
+ id="path9802"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="color:#000000;fill:url(#linearGradient491);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2138050;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible;opacity:0.45142857"
+ d="M 6.0683430,38.864023 C 6.0846856,39.176251 5.8874317,39.384402 5.5697582,39.280326 L 5.5697582,39.280326 C 5.2520766,39.176251 5.0330270,38.968099 5.0166756,38.655870 L 4.0689560,6.5913839 C 4.0526131,6.2791558 4.2341418,6.0906134 4.5463699,6.0906134 L 18.968420,6.0429196 C 19.280648,6.0429196 19.900363,6.3433923 20.101356,7.3651014 L 20.674845,10.180636 C 20.247791,9.7153790 20.255652,9.7010175 20.037287,9.0239299 L 19.631192,7.7647478 C 19.412142,7.0371009 18.932991,6.9328477 18.620763,6.9328477 L 5.7329889,6.9328477 C 5.4207613,6.9328477 5.2235075,7.1409999 5.2398583,7.4532364 L 6.1778636,38.968099 L 6.0683430,38.864023 z "
+ id="path219"
+ sodipodi:nodetypes="cccccccccscccccc" />
+ <g
+ style="stroke-miterlimit:4.0000000;stroke-width:0.99946535;stroke:none;fill-rule:nonzero;fill-opacity:0.75706214;fill:#ffffff"
+ id="g220"
+ transform="matrix(1.040764,0.000000,5.449252e-2,1.040764,-8.670199,2.670594)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
+ inkscape:export-xdpi="74.800003"
+ inkscape:export-ydpi="74.800003">
+ <path
+ style="fill-opacity:0.50847459;fill:#ffffff"
+ d="M 42.417183,8.5151772 C 42.422267,8.4180642 42.289022,8.2681890 42.182066,8.2681716 L 29.150665,8.2660527 C 29.150665,8.2660527 30.062379,8.8540072 31.352477,8.8622963 L 42.405974,8.9333167 C 42.417060,8.7215889 42.408695,8.6772845 42.417183,8.5151772 z "
+ id="path221"
+ sodipodi:nodetypes="cscscs" />
+ </g>
+ <path
+ style="color:#000000;fill:url(#linearGradient9772);fill-opacity:1.0;fill-rule:nonzero;stroke:#3465a4;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1;visibility:visible;display:block"
+ d="M 39.783532,39.510620 C 40.927426,39.466556 41.746608,38.414321 41.830567,37.189615 C 42.622354,25.640928 43.489927,15.957666 43.489927,15.957666 C 43.562082,15.710182 43.322016,15.462699 43.009787,15.462699 L 8.6386304,15.462699 C 8.6386304,15.462699 6.7883113,37.329591 6.7883113,37.329591 C 6.6737562,38.311657 6.3223038,39.134309 5.2384755,39.513304 L 39.783532,39.510620 z "
+ id="path233"
+ sodipodi:nodetypes="cscccscc"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
+ inkscape:export-xdpi="74.800003"
+ inkscape:export-ydpi="74.800003" />
+ <path
+ sodipodi:nodetypes="ccsscsc"
+ id="path304"
+ d="M 9.6202444,16.463921 L 42.411343,16.528735 L 40.837297,36.530714 C 40.752975,37.602225 40.386619,37.958929 38.964641,37.958929 C 37.093139,37.958929 10.286673,37.926522 7.569899,37.926522 C 7.8034973,37.605711 7.9036547,36.937899 7.9049953,36.92191 L 9.6202444,16.463921 z "
+ style="opacity:0.46590909;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient322);stroke-width:0.99999970px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path323"
+ d="M 9.6202481,16.223182 L 8.4536014,31.866453 C 8.4536014,31.866453 16.749756,27.718375 27.119949,27.718375 C 37.490142,27.718375 42.675239,16.223182 42.675239,16.223182 L 9.6202481,16.223182 z "
+ style="fill:#ffffff;fill-opacity:0.089285679;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <g
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline"
+ transform="translate(-1.976491,1.981795)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient1758);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
+ id="path12511"
+ sodipodi:cx="55"
+ sodipodi:cy="125"
+ sodipodi:rx="14.375"
+ sodipodi:ry="14.375"
+ d="M 69.375 125 A 14.375 14.375 0 1 1 40.625,125 A 14.375 14.375 0 1 1 69.375 125 z"
+ transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-ydpi="33.852203" />
+ </g>
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="pattern" />
+</svg>
diff --git a/share/pixmaps/tryton/tryton-fullscreen.svg b/share/pixmaps/tryton/tryton-fullscreen.svg
new file mode 100644
index 0000000..d410654
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-fullscreen.svg
@@ -0,0 +1,522 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="view-fullscreen.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective73" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3284">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3286" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3288" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3260">
+ <stop
+ style="stop-color:#204a87;stop-opacity:1;"
+ offset="0"
+ id="stop3262" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:0;"
+ offset="1"
+ id="stop3264" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3239">
+ <stop
+ style="stop-color:#e3eded;stop-opacity:1;"
+ offset="0"
+ id="stop3241" />
+ <stop
+ style="stop-color:#f5f5f5;stop-opacity:1;"
+ offset="1"
+ id="stop3243" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ id="stop11522"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11524"
+ offset="1.0000000"
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508"
+ inkscape:collect="always">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11494"
+ inkscape:collect="always">
+ <stop
+ id="stop11496"
+ offset="0"
+ style="stop-color:#ef2929;stop-opacity:1;" />
+ <stop
+ id="stop11498"
+ offset="1"
+ style="stop-color:#ef2929;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11415">
+ <stop
+ id="stop11417"
+ offset="0.0000000"
+ style="stop-color:#204a87;stop-opacity:0.0000000;" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop11423" />
+ <stop
+ id="stop11419"
+ offset="1"
+ style="stop-color:#204a87;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11399"
+ inkscape:collect="always">
+ <stop
+ id="stop11401"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11403"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-60.28571,-0.285714)"
+ y2="34.462429"
+ x2="43.615788"
+ y1="3.7744560"
+ x1="15.828360"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11425"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-60.57143,0.000000)"
+ y2="39.033859"
+ x2="35.679932"
+ y1="9.3458843"
+ x1="9.6957054"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11427"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="33.462429"
+ x2="26.758644"
+ y1="19.774456"
+ x1="13.267134"
+ gradientTransform="translate(-60.85714,0.428571)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11439"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <radialGradient
+ r="8.5000000"
+ fy="39.142857"
+ fx="12.071428"
+ cy="39.142857"
+ cx="12.071428"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11441"
+ xlink:href="#linearGradient11399"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ r="3.8335034"
+ fy="15.048258"
+ fx="27.577173"
+ cy="15.048258"
+ cx="27.577173"
+ id="radialGradient11500"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ r="3.8335034"
+ fy="16.049133"
+ fx="27.577173"
+ cy="16.049133"
+ cx="27.577173"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11504"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ id="radialGradient11514"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ gradientUnits="userSpaceOnUse"
+ r="20.530962"
+ fy="35.878170"
+ fx="24.445690"
+ cy="35.878170"
+ cx="24.445690"
+ id="radialGradient11526"
+ xlink:href="#linearGradient11520"
+ inkscape:collect="always" />
+ <radialGradient
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,3.185827e-15,29.48178)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11532"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1348"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1350"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1352"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="16.049133"
+ fx="27.577173"
+ fy="16.049133"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="15.048258"
+ fx="27.577173"
+ fy="15.048258"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1356"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3239"
+ id="linearGradient3249"
+ gradientUnits="userSpaceOnUse"
+ x1="22.625"
+ y1="7.7097101"
+ x2="22.625"
+ y2="40.5"
+ gradientTransform="matrix(1.011765,0,0,1.011765,-3.529411e-2,-0.529412)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3260"
+ id="linearGradient3266"
+ x1="12.363961"
+ y1="11.394304"
+ x2="18.22703"
+ y2="17.58149"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3260"
+ id="linearGradient3270"
+ gradientUnits="userSpaceOnUse"
+ x1="12.363961"
+ y1="11.394304"
+ x2="18.22703"
+ y2="17.58149"
+ gradientTransform="matrix(-1,0,0,1,49,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3260"
+ id="linearGradient3278"
+ gradientUnits="userSpaceOnUse"
+ x1="12.363961"
+ y1="11.394304"
+ x2="18.22703"
+ y2="17.58149"
+ gradientTransform="matrix(1,0,0,-1,0,47.03125)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3260"
+ id="linearGradient3280"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,0,0,-1,49,47.03125)"
+ x1="12.363961"
+ y1="11.394304"
+ x2="18.22703"
+ y2="17.58149" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3284"
+ id="radialGradient3290"
+ cx="25.455845"
+ cy="43.403805"
+ fx="25.455845"
+ fy="43.403805"
+ r="20.682873"
+ gradientTransform="matrix(1,0,0,0.205128,0,34.50046)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#ef2929"
+ fill="#204a87"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="8"
+ inkscape:cx="6.257105"
+ inkscape:cy="35.890897"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="970"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>View Fullscreen</dc:title>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.312904e-2,0,0,1.485743e-2,44.96697,42.7963)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <rect
+ style="opacity:1;color:#000000;fill:url(#linearGradient3249);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect2354"
+ width="41.988247"
+ height="41.988247"
+ x="3.5058835"
+ y="2.505883"
+ rx="1.8750006"
+ ry="1.8750006" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-1.0340382"
+ inkscape:original="M 5.375 2.5 C 4.3362497 2.5 3.5 3.3362496 3.5 4.375 L 3.5 42.625 C 3.5 43.66375 4.3362496 44.500001 5.375 44.5 L 43.625 44.5 C 44.66375 44.5 45.500001 43.66375 45.5 42.625 L 45.5 4.375 C 45.5 3.3362497 44.663751 2.5 43.625 2.5 L 5.375 2.5 z "
+ xlink:href="#rect2354"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3247"
+ inkscape:href="#rect2354"
+ d="M 5.375,3.53125 C 4.8912209,3.53125 4.53125,3.8912205 4.53125,4.375 L 4.53125,42.625 C 4.53125,43.108779 4.8912224,43.46875 5.375,43.46875 L 43.125,43.46875 C 43.608779,43.46875 43.96875,43.108779 43.96875,42.625 L 43.96875,4.375 C 43.96875,3.8912207 43.608779,3.53125 43.125,3.53125 L 5.375,3.53125 z " />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient3266);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 6 5 L 6 18 L 10.03125 13.96875 L 18.03125 22.03125 L 23 17 L 15 9 L 19 5 L 6 5 z "
+ id="path3251" />
+ <path
+ id="path3268"
+ d="M 43,5 L 43,18 L 38.96875,13.96875 L 30.96875,22.03125 L 26,17 L 34,9 L 30,5 L 43,5 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient3270);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ id="path3274"
+ d="M 6,42.03125 L 6,29.03125 L 10.03125,33.0625 L 18.03125,25 L 23,30.03125 L 15,38.03125 L 19,42.03125 L 6,42.03125 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient3278);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient3280);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 43,42.03125 L 43,29.03125 L 38.96875,33.0625 L 30.96875,25 L 26,30.03125 L 34,38.03125 L 30,42.03125 L 43,42.03125 z "
+ id="path3276" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-go-home.svg b/share/pixmaps/tryton/tryton-go-home.svg
new file mode 100644
index 0000000..4f16958
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-go-home.svg
@@ -0,0 +1,445 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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"
+ width="48"
+ height="48"
+ overflow="visible"
+ enable-background="new 0 0 128 129.396"
+ xml:space="preserve"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="go-home.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ version="1.0"
+ inkscape:export-filename="/home/tigert/My Downloads/go-home.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
+ id="metadata367"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" /><dc:title>Go Home</dc:title><dc:creator><cc:Agent><dc:title>Jakub Steiner</dc:title></cc:Agent></dc:creator><dc:source>http://jimmac.musichall.cz</dc:source><dc:subject><rdf:Bag><rdf:li>home</rdf:li><rdf:li>return</rdf:li><rdf:li>go</rdf:li><rdf:li>default</rdf:li><rdf:li>user</rdf:li><rdf:li>directory</rdf:li></rdf:Bag></dc:subject><dc:contributor><cc:Agent><dc:title>Tuomas Kuosmanen</dc:title></cc:Agent></dc:contributor></cc:Work><cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/"><cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" /><cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" /><cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" /></cc:License></rdf:RDF></metadata><defs
+ id="defs365"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective92" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" /><linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060"><stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" /><stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" /></linearGradient><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" /><linearGradient
+ id="linearGradient5048"><stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" /><stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" /><stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" /><linearGradient
+ id="linearGradient2406"><stop
+ style="stop-color:#7c7e79;stop-opacity:1;"
+ offset="0"
+ id="stop2408" /><stop
+ id="stop2414"
+ offset="0.1724138"
+ style="stop-color:#848681;stop-opacity:1;" /><stop
+ style="stop-color:#898c86;stop-opacity:1;"
+ offset="1"
+ id="stop2410" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ id="linearGradient2390"><stop
+ style="stop-color:#919191;stop-opacity:1;"
+ offset="0"
+ id="stop2392" /><stop
+ style="stop-color:#919191;stop-opacity:0;"
+ offset="1"
+ id="stop2394" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ id="linearGradient2378"><stop
+ style="stop-color:#575757;stop-opacity:1;"
+ offset="0"
+ id="stop2380" /><stop
+ style="stop-color:#575757;stop-opacity:0;"
+ offset="1"
+ id="stop2382" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ id="linearGradient2368"><stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2370" /><stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2372" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ id="linearGradient2349"><stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2351" /><stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2353" /></linearGradient><linearGradient
+ id="linearGradient2341"><stop
+ id="stop2343"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" /><stop
+ id="stop2345"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
+ id="linearGradient2329"><stop
+ style="stop-color:#000000;stop-opacity:0.18556701;"
+ offset="0"
+ id="stop2331" /><stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="1"
+ id="stop2333" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ id="linearGradient2319"><stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2321" /><stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2323" /></linearGradient><linearGradient
+ id="linearGradient2307"><stop
+ style="stop-color:#edd400;stop-opacity:1;"
+ offset="0"
+ id="stop2309" /><stop
+ style="stop-color:#998800;stop-opacity:1;"
+ offset="1"
+ id="stop2311" /></linearGradient><linearGradient
+ inkscape:collect="always"
+ id="linearGradient2299"><stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2301" /><stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2303" /></linearGradient><linearGradient
+ id="XMLID_2_"
+ gradientUnits="userSpaceOnUse"
+ x1="80.223602"
+ y1="117.5205"
+ x2="48.046001"
+ y2="59.7995"
+ gradientTransform="matrix(0.314683,0.000000,0.000000,0.314683,4.128264,3.742874)">
+ <stop
+ offset="0"
+ style="stop-color:#CCCCCC"
+ id="stop17" />
+ <stop
+ offset="0.9831"
+ style="stop-color:#FFFFFF"
+ id="stop19" />
+ <midPointStop
+ offset="0"
+ style="stop-color:#CCCCCC"
+ id="midPointStop48" />
+ <midPointStop
+ offset="0.5"
+ style="stop-color:#CCCCCC"
+ id="midPointStop50" />
+ <midPointStop
+ offset="0.9831"
+ style="stop-color:#FFFFFF"
+ id="midPointStop52" />
+ </linearGradient><linearGradient
+ inkscape:collect="always"
+ xlink:href="#XMLID_2_"
+ id="linearGradient1514"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.336922,0.000000,0.000000,0.166888,17.98288,15.46151)"
+ x1="52.006104"
+ y1="166.1331"
+ x2="14.049017"
+ y2="-42.218513" /><linearGradient
+ id="XMLID_39_"
+ gradientUnits="userSpaceOnUse"
+ x1="64.387703"
+ y1="65.124001"
+ x2="64.387703"
+ y2="35.569"
+ gradientTransform="matrix(0.354101,0.000000,0.000000,0.354101,1.638679,-8.364921e-2)">
+ <stop
+ offset="0"
+ style="stop-color:#FFFFFF"
+ id="stop336" />
+ <stop
+ offset="0.8539"
+ style="stop-color:#FF6200"
+ id="stop338" />
+ <stop
+ offset="1"
+ style="stop-color:#F25D00"
+ id="stop340" />
+ <midPointStop
+ offset="0"
+ style="stop-color:#FFFFFF"
+ id="midPointStop335" />
+ <midPointStop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="midPointStop337" />
+ <midPointStop
+ offset="0.8539"
+ style="stop-color:#FF6200"
+ id="midPointStop339" />
+ <midPointStop
+ offset="0.5"
+ style="stop-color:#FF6200"
+ id="midPointStop341" />
+ <midPointStop
+ offset="1"
+ style="stop-color:#F25D00"
+ id="midPointStop343" />
+ </linearGradient><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2299"
+ id="radialGradient2305"
+ cx="7.5326638"
+ cy="24.202574"
+ fx="7.5326638"
+ fy="24.202574"
+ r="8.2452128"
+ gradientTransform="matrix(4.100086,-1.627292e-17,2.125447e-14,4.201322,-25.41506,-78.53967)"
+ gradientUnits="userSpaceOnUse" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2307"
+ id="radialGradient2313"
+ cx="19.985598"
+ cy="36.77816"
+ fx="19.985598"
+ fy="36.77816"
+ r="1.0821035"
+ gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.565787)"
+ gradientUnits="userSpaceOnUse" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2319"
+ id="radialGradient2325"
+ cx="20.443665"
+ cy="37.425829"
+ fx="20.443665"
+ fy="37.425829"
+ r="1.0821035"
+ gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.731106)"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2329"
+ id="linearGradient2335"
+ x1="17.602522"
+ y1="26.057423"
+ x2="17.682528"
+ y2="32.654099"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.898789,0,0,1.071914,0.478025,-2.080838)" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2341"
+ id="radialGradient2339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(4.100086,1.627292e-17,2.125447e-14,-4.201322,-5.198109,105.3535)"
+ cx="11.68129"
+ cy="19.554111"
+ fx="11.68129"
+ fy="19.554111"
+ r="8.2452126" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2349"
+ id="radialGradient2355"
+ cx="24.023088"
+ cy="40.56913"
+ fx="24.023088"
+ fy="40.56913"
+ r="16.28684"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.431250,1.157278e-15,23.07369)"
+ gradientUnits="userSpaceOnUse" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2368"
+ id="radialGradient2374"
+ cx="29.913452"
+ cy="30.442923"
+ fx="29.913452"
+ fy="30.442923"
+ r="4.0018832"
+ gradientTransform="matrix(3.751495,-2.191984e-22,1.723265e-22,3.147818,-82.00907,-65.70704)"
+ gradientUnits="userSpaceOnUse" /><radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2378"
+ id="radialGradient2384"
+ cx="24.195112"
+ cy="10.577631"
+ fx="24.195112"
+ fy="10.577631"
+ r="15.242914"
+ gradientTransform="matrix(1.125263,-3.585417e-8,4.269819e-8,1.340059,-3.006704,1.355395)"
+ gradientUnits="userSpaceOnUse" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2390"
+ id="linearGradient2396"
+ x1="30.603519"
+ y1="37.337803"
+ x2="30.603519"
+ y2="36.112415"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.263867,0,0,0.859794,-6.499556,8.390924)" /><linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2406"
+ id="linearGradient2412"
+ x1="17.850183"
+ y1="28.939463"
+ x2="19.040216"
+ y2="41.03223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.888785,0,0,1.08932,2.41099,-1.524336)" /></defs><sodipodi:namedview
+ inkscape:cy="-2.3755359"
+ inkscape:cx="25.234802"
+ inkscape:zoom="1"
+ inkscape:window-height="691"
+ inkscape:window-width="872"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.21568627"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-x="466"
+ inkscape:window-y="157"
+ inkscape:current-layer="svg2"
+ fill="#555753"
+ showgrid="false"
+ stroke="#a40000"
+ showguides="true"
+ inkscape:guide-bbox="true" />
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.158196e-2,0,0,1.859457e-2,43.12251,41.63767)"><rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" /></g><path
+ style="color:#000000;fill:url(#linearGradient1514);fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 21.619576,8.1833733 L 27.577035,8.1833733 C 28.416767,8.1833733 41.46351,23.618701 41.46351,24.524032 L 41.019989,43.020777 C 41.019989,43.92611 40.343959,44.654954 39.504227,44.654954 L 8.0469496,44.654954 C 7.2072167,44.654954 6.5311871,43.92611 6.5311871,43.020777 L 6.5876651,24.524032 C 6.5876651,23.618701 20.779844,8.1833733 21.619576,8.1833733 z "
+ id="rect1512"
+ sodipodi:nodetypes="ccccccccc" /><path
+ style="fill:none"
+ id="path5"
+ d="M 46.963575,45.735573 L 1.6386762,45.735573 L 1.6386762,0.41067554 L 46.963575,0.41067554 L 46.963575,45.735573 z " /><path
+ style="fill:url(#linearGradient2335);fill-opacity:1;fill-rule:evenodd"
+ id="path2327"
+ d="M 23,29 L 22.954256,44.090942 L 11.111465,44.090942 L 11,29 L 23,29 z "
+ clip-rule="evenodd"
+ sodipodi:nodetypes="ccccc" /><path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2357"
+ d="M 21.780459,9.405584 L 27.339556,9.405584 C 28.123138,9.405584 40.340425,23.805172 40.340425,24.649756 L 39.993267,42.862067 C 39.993267,43.321326 39.84953,43.515532 39.480892,43.515532 L 8.0936894,43.529812 C 7.7250517,43.529812 7.5097258,43.449894 7.5097258,43.076262 L 7.7250676,24.649756 C 7.7250676,23.805172 20.99688,9.405584 21.780459,9.405584 z "
+ style="opacity:0.3125;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+ clip-rule="evenodd"
+ d="M 7.2075295,27.943053 L 7.1532728,30.538247 L 25.521437,17.358993 L 40.807832,28.513421 L 40.879142,28.201707 L 24.508686,12.297576 L 7.2075295,27.943053 z "
+ id="path23"
+ style="opacity:0.2;fill:url(#radialGradient2384);fill-opacity:1;fill-rule:evenodd"
+ sodipodi:nodetypes="ccccccc" /><path
+ clip-rule="evenodd"
+ d="M 22,30 L 22,44.090942 L 12.188971,44.090942 L 12,30 L 22,30 z "
+ id="path188"
+ style="fill:url(#linearGradient2412);fill-opacity:1;fill-rule:evenodd"
+ sodipodi:nodetypes="ccccc" /><path
+ style="opacity:0.40909089;fill:url(#radialGradient2325);fill-opacity:1;fill-rule:evenodd"
+ id="path2315"
+ d="M 19.576856,36.44767 C 20.249646,36.44767 20.793472,36.922275 20.793472,37.506177 C 20.793472,38.095988 20.249646,38.574532 19.576856,38.574532 C 18.904584,38.574532 18.35817,38.095988 18.35817,37.506177 C 18.358685,36.922275 18.904584,36.44767 19.576856,36.44767 z "
+ clip-rule="evenodd" /><path
+ clip-rule="evenodd"
+ d="M 19.462314,35.932229 C 20.135103,35.932229 20.678929,36.406834 20.678929,36.990736 C 20.678929,37.580545 20.135103,38.059089 19.462314,38.059089 C 18.790041,38.059089 18.243627,37.580545 18.243627,36.990736 C 18.244142,36.406834 18.790041,35.932229 19.462314,35.932229 z "
+ id="path217"
+ style="fill:url(#radialGradient2313);fill-opacity:1;fill-rule:evenodd" /><path
+ d="M 24.447748,11.559337 L 43.374808,28.729205 L 43.869487,29.121196 L 44.273163,28.949811 L 43.900293,28.188138 L 43.622679,27.964702 L 24.447748,12.392396 L 5.0582327,28.135731 L 4.8206309,28.279851 L 4.603921,28.986637 L 5.0373408,29.115885 L 5.4218948,28.807462 L 24.447748,11.559337 z "
+ id="path342"
+ style="fill:url(#XMLID_39_)"
+ sodipodi:nodetypes="ccccccccccccc" /><path
+ style="fill:#ef2929;stroke:#a40000"
+ id="path362"
+ d="M 24.330168,2.2713382 L 2.4484294,20.372675 L 1.8237005,27.538603 L 3.8236367,29.602926 C 3.8236367,29.602926 24.231018,12.445641 24.44773,12.274963 L 44.08027,29.818223 L 45.978694,27.494226 L 44.362903,20.382852 L 24.44773,2.1668788 L 24.330168,2.2713382 z "
+ sodipodi:nodetypes="cccccccccc" />
+<path
+ style="opacity:0.40909089;color:#000000;fill:url(#radialGradient2305);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 2.8413446,20.613129 L 2.5497894,27.236494 L 24.369219,8.980075 L 24.298891,3.0867443 L 2.8413446,20.613129 z "
+ id="path1536"
+ sodipodi:nodetypes="ccccc" /><path
+ sodipodi:nodetypes="ccccc"
+ id="path2337"
+ d="M 24.483763,8.7509884 L 24.583223,2.9098867 L 43.912186,20.56184 L 45.403998,27.062652 L 24.483763,8.7509884 z "
+ style="opacity:0.13636367;color:#000000;fill:url(#radialGradient2339);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
+ style="opacity:0.31818183;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 27.102228,27.719824 L 36.142223,27.719824 C 36.912818,27.719824 37.53319,28.340194 37.53319,29.110791 L 37.525229,38.190012 C 37.525229,38.960608 36.928907,39.455981 36.158311,39.455981 L 27.102228,39.455981 C 26.331631,39.455981 25.711261,38.835608 25.711261,38.065012 L 25.711261,29.110791 C 25.711261,28.340194 26.331631,27.719824 27.102228,27.719824 z "
+ id="rect2361"
+ sodipodi:nodetypes="ccccccccc" /><rect
+ style="opacity:1;color:#000000;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3263"
+ width="10.001333"
+ height="9.9624557"
+ x="26.507767"
+ y="28.514256"
+ rx="0.38128215"
+ ry="0.38128215" /><path
+ style="opacity:0.39772728;color:#000000;fill:url(#radialGradient2374);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 27.107118,34.408261 C 30.725101,34.739438 32.634842,32.962557 35.97527,32.855521 L 36,29.00603 L 27.088388,29 L 27.107118,34.408261 z "
+ id="rect2363"
+ sodipodi:nodetypes="ccccc" /></svg>
\ No newline at end of file
diff --git a/share/pixmaps/tryton/tryton-go-jump.svg b/share/pixmaps/tryton/tryton-go-jump.svg
new file mode 100644
index 0000000..4832fe9
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-go-jump.svg
@@ -0,0 +1,204 @@
+<?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"
+ sodipodi:docname="go-jump.svg"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg11300"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective26" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2702">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1;"
+ offset="0"
+ id="stop2704" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:0;"
+ offset="1"
+ id="stop2706" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2161">
+ <stop
+ style="stop-color:#519e07;stop-opacity:1"
+ offset="0"
+ id="stop2163" />
+ <stop
+ style="stop-color:#6cc813;stop-opacity:1"
+ offset="1.0000000"
+ id="stop2165" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.160225e-14,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2161"
+ id="linearGradient2167"
+ x1="22.000000"
+ y1="16.642263"
+ x2="19.377108"
+ y2="12.448164"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.171926,0.000000,0.000000,1.171926,-4.674553,-1.427903)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient2193"
+ x1="14.296179"
+ y1="15.230618"
+ x2="10.022297"
+ y2="23.105061"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.171926,0.000000,0.000000,1.171926,-4.674553,-1.427903)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2702"
+ id="linearGradient2708"
+ x1="12.105637"
+ y1="24.589863"
+ x2="6.1056361"
+ y2="29.839863"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="160"
+ inkscape:window-x="0"
+ inkscape:window-height="688"
+ inkscape:window-width="872"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="46.696516"
+ inkscape:cx="30.109761"
+ inkscape:zoom="4"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ fill="#8ae234"
+ stroke="#8ae234" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Go Jump</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>go</rdf:li>
+ <rdf:li>jump</rdf:li>
+ <rdf:li>seek</rdf:li>
+ <rdf:li>arrow</rdf:li>
+ <rdf:li>pointer</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <path
+ transform="matrix(1.489736,0.000000,0.000000,-1.001252,-12.26794,72.07115)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.14117648;color:#000000;fill:url(#radialGradient8668);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2167);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2708);stroke-width:1.0000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 4.3920955,35.164045 C 3.0709563,-4.8617622 38.100746,1.7948935 36.928820,22.596580 L 46.304228,22.596580 L 31.655153,34.315840 L 16.420115,22.596580 C 16.420115,22.596580 26.088504,22.596580 26.088504,22.596580 C 26.674467,8.5334680 4.6559242,4.1065510 4.3920955,35.164045 z "
+ id="path1432"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path2177"
+ d="M 4.3609454,33.776714 C 4.4557415,-2.2986419 38.008172,2.0411991 35.829171,23.579043 L 43.433623,23.579043 L 31.618133,32.977887 L 19.387494,23.579043 C 19.387494,23.579043 27.066938,23.579043 27.066938,23.579043 C 28.105744,5.5081081 3.1989499,4.7058695 4.3609454,33.776714 z "
+ style="opacity:0.41764703;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2193);stroke-width:0.99999970;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-go-next.svg b/share/pixmaps/tryton/tryton-go-next.svg
new file mode 100644
index 0000000..41e5990
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-go-next.svg
@@ -0,0 +1,192 @@
+<?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"
+ sodipodi:docname="go-next.svg"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg11300"
+ height="48"
+ width="48"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ version="1.0"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective23" />
+ <linearGradient
+ id="linearGradient2591">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593" />
+ <stop
+ style="stop-color:#4e9a06"
+ offset="1.0000000"
+ id="stop2595" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8650"
+ inkscape:collect="always">
+ <stop
+ id="stop8652"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop8654"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.046729,-3.749427e-16,2.853404e-16,1.557610,-19.51799,3.452086)"
+ r="17.171415"
+ fy="2.8969381"
+ fx="19.701141"
+ cy="2.8969381"
+ cx="19.701141"
+ id="radialGradient8656"
+ xlink:href="#linearGradient8650"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,2.511012e-15,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2591"
+ id="radialGradient2597"
+ cx="22.291636"
+ cy="32.797512"
+ fx="22.291636"
+ fy="32.797512"
+ r="16.9562"
+ gradientTransform="matrix(0.843022,1.871885e-16,-2.265228e-16,1.020168,4.499298,1.381992)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="30"
+ inkscape:window-x="0"
+ inkscape:window-height="818"
+ inkscape:window-width="1280"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="27.398876"
+ inkscape:cx="20.508639"
+ inkscape:zoom="11.313708"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ fill="#4e9a06"
+ stroke="#4e9a06" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Go Next</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>go</rdf:li>
+ <rdf:li>next</rdf:li>
+ <rdf:li>right</rdf:li>
+ <rdf:li>arrow</rdf:li>
+ <rdf:li>pointer</rdf:li>
+ <rdf:li>></rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <path
+ transform="matrix(1.271186,0.000000,0.000000,1.271186,-8.119376,-15.10179)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.29946522;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path8643"
+ d="M 8.5541875,15.517348 L 8.5541875,32.511768 L 21.538,32.511768 L 21.538,41.056806 L 41.497835,24.150365 L 21.41919,7.1251168 L 21.41919,15.522652 L 8.5541875,15.517348 z "
+ style="opacity:1;color:#000000;fill:url(#radialGradient2597);fill-opacity:1;fill-rule:evenodd;stroke:#3a7304;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path8645"
+ d="M 21.962385,8.2485033 L 21.962385,16.054978 L 9.1452151,16.054978 L 9.1452151,25.095691 C 26.895215,27.095691 25.778752,17.640403 40.528752,24.140403 L 21.962385,8.2485033 z "
+ style="opacity:0.5080214;color:#000000;fill:url(#radialGradient8656);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.48128339;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 9.537702,16.561892 L 9.537702,31.546332 L 22.523069,31.546332 L 22.523069,38.941498 L 40.001083,24.145807 L 22.507108,9.3654066 L 22.507108,16.566789 L 9.537702,16.561892 z "
+ id="path8658"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-go-previous.svg b/share/pixmaps/tryton/tryton-go-previous.svg
new file mode 100644
index 0000000..d5381de
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-go-previous.svg
@@ -0,0 +1,854 @@
+<?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"
+ sodipodi:docname="go-previous.svg"
+ sodipodi:docbase="/home/andreas/projekt/tango/scalable"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg11300"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective128" />
+ <linearGradient
+ id="linearGradient2591">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593" />
+ <stop
+ style="stop-color:#4e9a06"
+ offset="1.0000000"
+ id="stop2595" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10314">
+ <stop
+ style="stop-color:#7ea5d6;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop10316" />
+ <stop
+ style="stop-color:#467ec5;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop10318" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8938">
+ <stop
+ id="stop8940"
+ offset="0.0000000"
+ style="stop-color:#fdc674;stop-opacity:1.0000000;" />
+ <stop
+ id="stop8942"
+ offset="1.0000000"
+ style="stop-color:#d88103;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient8650"
+ inkscape:collect="always">
+ <stop
+ id="stop8652"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop8654"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7636"
+ inkscape:collect="always">
+ <stop
+ id="stop7638"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop7640"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7614">
+ <stop
+ id="stop7616"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.21590909"
+ id="stop7649" />
+ <stop
+ style="stop-color:#838383;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop7632" />
+ <stop
+ id="stop7618"
+ offset="1"
+ style="stop-color:#838383;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7608">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop7610" />
+ <stop
+ id="stop7622"
+ offset="0.46022728"
+ style="stop-color:#e3e3e3;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#dadada;stop-opacity:0.67058824;"
+ offset="0.61970556"
+ id="stop7624" />
+ <stop
+ style="stop-color:#d1d1d1;stop-opacity:0.34285715;"
+ offset="1.0000000"
+ id="stop7612" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7602">
+ <stop
+ id="stop7604"
+ offset="0.0000000"
+ style="stop-color:#f6f6f6;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7606"
+ offset="1.0000000"
+ style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7586">
+ <stop
+ id="stop7588"
+ offset="0.0000000"
+ style="stop-color:#525252;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7590"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient12836">
+ <stop
+ style="stop-color:#515152;stop-opacity:1;"
+ offset="0"
+ id="stop12838" />
+ <stop
+ style="stop-color:#515152;stop-opacity:0;"
+ offset="1"
+ id="stop12840" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12828">
+ <stop
+ style="stop-color:#cccccd;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop12830" />
+ <stop
+ id="stop12862"
+ offset="0.0000000"
+ style="stop-color:#adadae;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#8f8f90;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop12832" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12810">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop12812" />
+ <stop
+ style="stop-color:#e5e5e5;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop12814" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11625">
+ <stop
+ style="stop-color:#fce94f;stop-opacity:1;"
+ offset="0"
+ id="stop11627" />
+ <stop
+ style="stop-color:#fce94f;stop-opacity:0;"
+ offset="1"
+ id="stop11629" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11615">
+ <stop
+ style="stop-color:#636363;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11617" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11619" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11602">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11604" />
+ <stop
+ style="stop-color:#c5c5c5;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11606" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11594">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop11596" />
+ <stop
+ style="stop-color:#d1d1d1;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11598" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11522" />
+ <stop
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11524" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11508">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop11510" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop11512" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11494">
+ <stop
+ style="stop-color:#ef2929;stop-opacity:1;"
+ offset="0"
+ id="stop11496" />
+ <stop
+ style="stop-color:#ef2929;stop-opacity:0;"
+ offset="1"
+ id="stop11498" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11415">
+ <stop
+ style="stop-color:#204a87;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop11417" />
+ <stop
+ id="stop11423"
+ offset="0.50000000"
+ style="stop-color:#204a87;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:0;"
+ offset="1"
+ id="stop11419" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11399">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop11401" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop11403" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11415"
+ id="linearGradient11425"
+ gradientUnits="userSpaceOnUse"
+ x1="15.828360"
+ y1="3.7744560"
+ x2="43.615788"
+ y2="34.462429"
+ gradientTransform="translate(-60.28571,-0.285714)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11415"
+ id="linearGradient11427"
+ gradientUnits="userSpaceOnUse"
+ x1="9.6957054"
+ y1="9.3458843"
+ x2="35.679932"
+ y2="39.033859"
+ gradientTransform="translate(-60.57143,0.000000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11415"
+ id="linearGradient11439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60.85714,0.428571)"
+ x1="13.267134"
+ y1="19.774456"
+ x2="26.758644"
+ y2="33.462429" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11399"
+ id="radialGradient11441"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
+ cx="12.071428"
+ cy="39.142857"
+ fx="12.071428"
+ fy="39.142857"
+ r="8.5000000" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient11500"
+ cx="27.577173"
+ cy="15.048258"
+ fx="27.577173"
+ fy="15.048258"
+ r="3.8335034"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient11504"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="16.049133"
+ fx="27.577173"
+ fy="16.049133"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11514"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient11526"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.535926e-32,0.000000,1.855412,24.94925,-30.20430)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient11532"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-5.348412e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11594"
+ id="linearGradient11600"
+ x1="20.092352"
+ y1="8.9471626"
+ x2="31.799011"
+ y2="38.947163"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.045319,0.000000,0.000000,0.957884,48.16627,1.415543)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="linearGradient11608"
+ x1="24.445671"
+ y1="0.49847093"
+ x2="24.445671"
+ y2="39.447163"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.984324,0.000000,0.000000,0.957884,49.65734,1.415543)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11615"
+ id="radialGradient11621"
+ cx="25.000000"
+ cy="27.749998"
+ fx="25.000000"
+ fy="27.749998"
+ r="4.7500000"
+ gradientTransform="matrix(3.570338,3.171097e-15,-4.005596e-15,4.509900,-64.25843,-94.25499)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11631"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11635"
+ gradientUnits="userSpaceOnUse"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000"
+ gradientTransform="translate(2.000000,0.000000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(4.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(8.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11655"
+ gradientUnits="userSpaceOnUse"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(4.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient11661"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12810"
+ id="linearGradient12816"
+ x1="65.623963"
+ y1="21.459777"
+ x2="87.528968"
+ y2="21.459777"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12810"
+ id="linearGradient12818"
+ gradientUnits="userSpaceOnUse"
+ x1="84.998962"
+ y1="25.209778"
+ x2="62.591469"
+ y2="12.022278" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12828"
+ id="radialGradient12834"
+ cx="88.593018"
+ cy="33.398670"
+ fx="88.593018"
+ fy="33.398670"
+ r="7.0056136"
+ gradientTransform="matrix(0.969219,0.227988,-0.194668,0.827570,9.443870,-15.99848)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12836"
+ id="linearGradient12842"
+ x1="88.750000"
+ y1="31.656250"
+ x2="92.062500"
+ y2="36.656250"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12810"
+ id="linearGradient12878"
+ gradientUnits="userSpaceOnUse"
+ x1="65.623963"
+ y1="21.459777"
+ x2="87.528968"
+ y2="21.459777" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12836"
+ id="linearGradient12880"
+ gradientUnits="userSpaceOnUse"
+ x1="88.750000"
+ y1="31.656250"
+ x2="92.062500"
+ y2="36.656250" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12828"
+ id="radialGradient12882"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.969219,0.227988,-0.194668,0.827570,9.443870,-15.99848)"
+ cx="88.593018"
+ cy="33.398670"
+ fx="88.593018"
+ fy="33.398670"
+ r="7.0056136" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12810"
+ id="linearGradient12884"
+ gradientUnits="userSpaceOnUse"
+ x1="84.998962"
+ y1="25.209778"
+ x2="62.591469"
+ y2="12.022278" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11615"
+ id="radialGradient12894"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.570338,3.171097e-15,-4.005596e-15,4.509900,-64.25843,-94.25499)"
+ cx="25.000000"
+ cy="27.749998"
+ fx="25.000000"
+ fy="27.749998"
+ r="4.7500000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12896"
+ gradientUnits="userSpaceOnUse"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000"
+ gradientTransform="translate(7.267442e-2,-0.181686)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12898"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.072674,-0.181686)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12900"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(4.072674,-0.181686)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12902"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.000000,0.000000)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12911"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(7.267442e-2,-0.181686)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12913"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.072674,-0.181686)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11625"
+ id="linearGradient12915"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(4.072674,-0.181686)"
+ x1="21.500000"
+ y1="30.000000"
+ x2="21.500000"
+ y2="27.375000" />
+ <linearGradient
+ y2="21.067410"
+ x2="24.445690"
+ y1="33.447811"
+ x1="31.597168"
+ gradientTransform="matrix(0.476329,0.000000,0.000000,0.627721,62.07560,9.156933)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7584"
+ xlink:href="#linearGradient11594"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.407878,2.776254e-16,-5.900875e-16,1.861050,14.96976,-20.55775)"
+ r="6.0270013"
+ fy="29.099535"
+ fx="24.399090"
+ cy="29.099535"
+ cx="24.399090"
+ id="radialGradient7592"
+ xlink:href="#linearGradient7586"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="11.042997"
+ x2="22.585604"
+ y1="34.149513"
+ x1="22.585604"
+ gradientTransform="matrix(1.059222,0.000000,0.000000,0.808101,48.08657,4.001391)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7596"
+ xlink:href="#linearGradient7608"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(49.32070,0.000000)"
+ gradientUnits="userSpaceOnUse"
+ y2="38.454056"
+ x2="28.284273"
+ y1="28.554562"
+ x1="25.279068"
+ id="linearGradient7642"
+ xlink:href="#linearGradient7636"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.777122,-8.126449e-2,6.891211e-2,2.223012,4.035118,-33.24798)"
+ r="4.4774761"
+ fy="29.609560"
+ fx="24.483574"
+ cy="29.609560"
+ cx="24.483574"
+ id="radialGradient7647"
+ xlink:href="#linearGradient7614"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.046729,-3.749427e-16,-2.853404e-16,1.557610,67.59375,3.275309)"
+ r="17.171415"
+ fy="5.7859797"
+ fx="25.075571"
+ cy="5.7859797"
+ cx="25.075571"
+ id="radialGradient8656"
+ xlink:href="#linearGradient8650"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,6.772795e-15,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2591"
+ id="radialGradient2597"
+ cx="22.291636"
+ cy="32.797512"
+ fx="22.291636"
+ fy="32.797512"
+ r="16.956199"
+ gradientTransform="matrix(-0.843022,1.871885e-16,2.265228e-16,1.020168,43.57646,1.205215)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="30"
+ inkscape:window-x="0"
+ inkscape:window-height="818"
+ inkscape:window-width="1280"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="25.461494"
+ inkscape:cx="15.433072"
+ inkscape:zoom="16"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ fill="#4e9a06"
+ stroke="#4e9a06" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Go Previous</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>go</rdf:li>
+ <rdf:li>previous</rdf:li>
+ <rdf:li>left</rdf:li>
+ <rdf:li>arrow</rdf:li>
+ <rdf:li>pointer</rdf:li>
+ <rdf:li><</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <path
+ transform="matrix(-1.271186,0.000000,0.000000,1.271186,56.19514,-15.27857)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.29946521;color:#000000;fill:url(#radialGradient8668);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path8643"
+ d="M 39.490316,15.496821 L 39.490316,32.491241 L 26.537753,32.491241 L 26.537753,40.973779 L 6.577917,23.973588 L 26.531563,6.7295901 L 26.531563,15.502125 L 39.490316,15.496821 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2597);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3a7304;stroke-width:1.0000004;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path8645"
+ d="M 25.988368,7.9779766 L 25.988368,16.034451 L 38.930538,16.034451 L 38.930538,24.918914 C 22.180538,18.668914 22.797001,30.213626 7.547,23.963626 L 25.988368,7.9779766 z "
+ style="opacity:0.50802141;color:#000000;fill:url(#radialGradient8656);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.48128340;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 38.475551,16.541365 L 38.475551,31.463305 L 25.490184,31.463305 L 25.490184,38.764721 L 8.168419,23.96903 L 25.506145,9.0636299 L 25.506145,16.546262 L 38.475551,16.541365 z "
+ id="path8658"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-help.svg b/share/pixmaps/tryton/tryton-help.svg
new file mode 100644
index 0000000..851327f
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-help.svg
@@ -0,0 +1,224 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg6361"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/apps"
+ sodipodi:docname="help-browser.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective23" />
+ <linearGradient
+ id="linearGradient2431">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2433" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2435" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.595238,3.369686e-16,14.87500)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2933">
+ <stop
+ id="stop2935"
+ offset="0"
+ style="stop-color:#9cbcde;stop-opacity:1" />
+ <stop
+ id="stop2937"
+ offset="1"
+ style="stop-color:#204a87" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2933"
+ id="radialGradient2207"
+ cx="26.544321"
+ cy="28.458725"
+ fx="26.544321"
+ fy="28.458725"
+ r="22.376116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.238342,5.954846e-3,-6.507762e-3,1.351272,-6.992513,-9.744842)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2431"
+ id="radialGradient2437"
+ cx="-19.515638"
+ cy="16.855663"
+ fx="-19.515638"
+ fy="16.855663"
+ r="8.7536434"
+ gradientTransform="matrix(4.445991,-8.852599e-16,1.367217e-15,6.8665,67.25071,-104.6679)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:guide-bbox="true"
+ showguides="true"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.15294118"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="25.160747"
+ inkscape:cy="22.523569"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1014"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false"
+ fill="#deb887"
+ stroke="#204a87">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#7171cd"
+ empcolor="#7b7bc3"
+ opacity="0.12156863"
+ empopacity="0.5372549"
+ empspacing="10"
+ visible="true"
+ enabled="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Help Browser</dc:title>
+ <dc:date>2005-11-06</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Tuomas Kuosmanen</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>help</rdf:li>
+ <rdf:li>browser</rdf:li>
+ <rdf:li>documentation</rdf:li>
+ <rdf:li>docs</rdf:li>
+ <rdf:li>man</rdf:li>
+ <rdf:li>info</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Jakub Steiner, Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <dc:source>http://tigert.com</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.63068181;color:#000000;fill:url(#radialGradient21650);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path21642"
+ sodipodi:cx="25.125000"
+ sodipodi:cy="36.750000"
+ sodipodi:rx="15.750000"
+ sodipodi:ry="9.3750000"
+ d="M 40.875000 36.750000 A 15.750000 9.3750000 0 1 1 9.3750000,36.750000 A 15.750000 9.3750000 0 1 1 40.875000 36.750000 z"
+ transform="matrix(1.173803,0.000000,0.000000,0.600000,-5.004403,20.32500)" />
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient2207);fill-opacity:1.0000000;stroke:#204a87"
+ id="path2093"
+ sodipodi:cx="23.909048"
+ sodipodi:cy="23.825787"
+ sodipodi:rx="21.876116"
+ sodipodi:ry="21.876116"
+ d="M 45.785164 23.825787 A 21.876116 21.876116 0 1 1 2.0329323,23.825787 A 21.876116 21.876116 0 1 1 45.785164 23.825787 z"
+ transform="matrix(0.938442,0.000000,0.000000,0.938680,1.564075,1.633906)" />
+ <path
+ transform="matrix(0.855103,0.000000,0.000000,0.855213,3.555288,3.625019)"
+ d="M 45.785164 23.825787 A 21.876116 21.876116 0 1 1 2.0329323,23.825787 A 21.876116 21.876116 0 1 1 45.785164 23.825787 z"
+ sodipodi:ry="21.876116"
+ sodipodi:rx="21.876116"
+ sodipodi:cy="23.825787"
+ sodipodi:cx="23.909048"
+ id="path2209"
+ style="fill:none;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:3.0307744;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:0.96022727"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="0.13495015"
+ inkscape:original="M -20.25 6 C -21.298341 6.000026 -22.372769 6.1244771 -23.5 6.34375 C -24.627244 6.563073 -25.886043 6.8832479 -27.25 7.34375 L -27.25 12.5 C -26.100219 11.776335 -24.997109 11.236862 -23.9375 10.875 C -22.877902 10.502213 -21.881822 10.312521 -20.96875 10.3125 C -19.999334 10.312521 -19.259834 10.530174 -18.71875 10.96875 C -18.177686 11.396402 -17.906262 12.013726 -17.90625 12.78125 C -17.906261 13.285654 -18.039408 13.776881 -18.34375 14.28125 C -18.636843 14.785651 -19.107484 15.33609 -19.75 15.90625 L -20.84375 16.84375 C -22.038631 17.918325 -22.815518 18.829509 -23.1875 19.53125 C -23.559495 20.22205 -23.750005 21.007137 -23.75 21.90625 L -23.75 22.71875 L -17.65625 22.71875 L -17.65625 21.96875 C -17.656262 21.475338 -17.517981 21.030712 -17.28125 20.625 C -17.044542 20.208345 -16.547785 19.648586 -15.78125 18.96875 L -14.71875 18.03125 C -13.659161 17.055386 -12.908389 16.156813 -12.46875 15.3125 C -12.029144 14.457253 -11.781268 13.480828 -11.78125 12.40625 C -11.781268 10.311973 -12.525902 8.7417969 -13.96875 7.65625 C -15.41163 6.559783 -17.499549 6.0000261 -20.25 6 z M -23.75 25.15625 L -23.75 31 L -17.65625 31 L -17.65625 25.15625 L -23.75 25.15625 z "
+ xlink:href="#text2215"
+ style="font-size:34.15322876px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient2437);fill-opacity:1;stroke:#ffffff;stroke-width:1.09947276px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.78612713;font-family:Bitstream Vera Sans"
+ id="path1554"
+ d="M -20.25,5.875 C -21.309019,5.8750263 -22.397637,5.9982356 -23.53125,6.21875 C -24.664175,6.4391783 -25.911412,6.7562625 -27.28125,7.21875 C -27.291632,7.21754 -27.302118,7.21754 -27.3125,7.21875 C -27.324563,7.2273788 -27.335121,7.237937 -27.34375,7.25 C -27.355813,7.2586288 -27.366371,7.269187 -27.375,7.28125 C -27.37621,7.2916315 -27.37621,7.3021185 -27.375,7.3125 C -27.37621,7.3228815 -27.37621,7.3333685 -27.375,7.34375 L -27.375,12.5 C -27.37621,12.510382 -27.37621,12.520868 -27.375,12.53125 C -27.37621,12.541632 -27.37621,12.552118 -27.375,12.5625 C -27.366371,12.574563 -27.355813,12.585121 -27.34375,12.59375 C -27.335121,12.605813 -27.324563,12.616371 -27.3125,12.625 C -27.302118,12.62621 -27.291632,12.62621 -27.28125,12.625 C -27.270868,12.62621 -27.260382,12.62621 -27.25,12.625 C -27.239618,12.62621 -27.229132,12.62621 -27.21875,12.625 C -27.208368,12.62621 -27.197882,12.62621 -27.1875,12.625 C -26.045062,11.905957 -24.954148,11.357862 -23.90625,11 C -22.858109,10.631244 -21.863134,10.437521 -20.96875,10.4375 C -20.019532,10.437521 -19.323825,10.648045 -18.8125,11.0625 C -18.303777,11.46459 -18.031262,12.04554 -18.03125,12.78125 C -18.03126,13.261907 -18.175438,13.73266 -18.46875,14.21875 C -18.751741,14.705766 -19.209015,15.249245 -19.84375,15.8125 L -20.9375,16.75 C -22.138959,17.83049 -22.926743,18.741022 -23.3125,19.46875 C -23.695613,20.180196 -23.875005,20.988074 -23.875,21.90625 L -23.875,22.71875 C -23.87621,22.729132 -23.87621,22.739618 -23.875,22.75 C -23.87621,22.760382 -23.87621,22.770868 -23.875,22.78125 C -23.866371,22.793313 -23.855813,22.803871 -23.84375,22.8125 C -23.835121,22.824563 -23.824563,22.835121 -23.8125,22.84375 C -23.802118,22.84496 -23.791632,22.84496 -23.78125,22.84375 C -23.770868,22.84496 -23.760382,22.84496 -23.75,22.84375 L -17.65625,22.84375 C -17.645868,22.84496 -17.635382,22.84496 -17.625,22.84375 C -17.614618,22.84496 -17.604132,22.84496 -17.59375,22.84375 C -17.581687,22.835121 -17.571129,22.824563 -17.5625,22.8125 C -17.550437,22.803871 -17.539879,22.793313 -17.53125,22.78125 C -17.53004,22.770868 -17.53004,22.760382 -17.53125,22.75 C -17.53004,22.739618 -17.53004,22.729132 -17.53125,22.71875 L -17.53125,21.96875 C -17.531261,21.500554 -17.38288,21.075901 -17.15625,20.6875 C -16.933955,20.296216 -16.448177,19.737141 -15.6875,19.0625 L -14.625,18.125 C -13.558412,17.14269 -12.794341,16.240346 -12.34375,15.375 C -11.894481,14.500954 -11.656268,13.50158 -11.65625,12.40625 C -11.656268,10.279985 -12.400019,8.6722224 -13.875,7.5625 C -15.350197,6.4414748 -17.48124,5.8750263 -20.25,5.875 z M -23.8125,25.03125 C -23.824563,25.039879 -23.835121,25.050437 -23.84375,25.0625 C -23.855813,25.071129 -23.866371,25.081687 -23.875,25.09375 C -23.87621,25.104132 -23.87621,25.114618 -23.875,25.125 C -23.87621,25.135382 -23.87621,25.145868 -23.875,25.15625 L -23.875,31 C -23.87621,31.010382 -23.87621,31.020868 -23.875,31.03125 C -23.87621,31.041632 -23.87621,31.052118 -23.875,31.0625 C -23.866371,31.074563 -23.855813,31.085121 -23.84375,31.09375 C -23.835121,31.105813 -23.824563,31.116371 -23.8125,31.125 C -23.802118,31.12621 -23.791632,31.12621 -23.78125,31.125 C -23.770868,31.12621 -23.760382,31.12621 -23.75,31.125 L -17.65625,31.125 C -17.645868,31.12621 -17.635382,31.12621 -17.625,31.125 C -17.614618,31.12621 -17.604132,31.12621 -17.59375,31.125 C -17.581687,31.116371 -17.571129,31.105813 -17.5625,31.09375 C -17.550437,31.085121 -17.539879,31.074563 -17.53125,31.0625 C -17.53004,31.052118 -17.53004,31.041632 -17.53125,31.03125 C -17.53004,31.020868 -17.53004,31.010382 -17.53125,31 L -17.53125,25.15625 C -17.53004,25.145868 -17.53004,25.135382 -17.53125,25.125 C -17.53004,25.114618 -17.53004,25.104132 -17.53125,25.09375 C -17.539879,25.081687 -17.550437,25.071129 -17.5625,25.0625 C -17.571129,25.050437 -17.581687,25.039879 -17.59375,25.03125 C -17.604132,25.03004 -17.614618,25.03004 -17.625,25.03125 C -17.635382,25.03004 -17.645868,25.03004 -17.65625,25.03125 L -23.75,25.03125 C -23.760382,25.03004 -23.770868,25.03004 -23.78125,25.03125 C -23.791632,25.03004 -23.802118,25.03004 -23.8125,25.03125 z "
+ transform="matrix(0.849895,0,0,0.835205,41.72981,8.548327)" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-icon.png b/share/pixmaps/tryton/tryton-icon.png
new file mode 100644
index 0000000..f26821a
Binary files /dev/null and b/share/pixmaps/tryton/tryton-icon.png differ
diff --git a/share/pixmaps/tryton/tryton-icon.svg b/share/pixmaps/tryton/tryton-icon.svg
new file mode 100644
index 0000000..95d8cad
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-icon.svg
@@ -0,0 +1,95 @@
+<?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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="256"
+ height="256"
+ id="svg2589"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="tryton-icon.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0">
+ <title
+ id="title3104">Tryton</title>
+ <defs
+ id="defs2591">
+ <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="perspective2597" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.35"
+ inkscape:cx="-750.71428"
+ inkscape:cy="62.857143"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1280"
+ inkscape:window-height="1024"
+ inkscape:window-x="0"
+ inkscape:window-y="0"
+ width="256px"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata2594">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Tryton</dc:title>
+ <cc:license
+ rdf:resource="" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Bertrand Chenal</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Calque 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-279.10535,-220.03895)">
+ <g
+ id="g2381"
+ transform="matrix(1.921664,0,0,1.921664,-257.24135,-202.80203)">
+ <path
+ inkscape:export-ydpi="86.470001"
+ inkscape:export-xdpi="86.470001"
+ inkscape:export-filename="/home/bch/icon.png"
+ sodipodi:nodetypes="ccccccccc"
+ id="path5301"
+ d="M 412.32323,322.16409 C 412.32308,343.04264 401.11709,353.40648 378.70516,353.25522 L 314.22867,353.25522 C 290.81311,353.25522 279.10535,343.19424 279.10535,323.07157 L 279.10535,251.3573 C 279.10535,230.4784 290.5622,220.03895 313.47599,220.03895 L 378.20338,220.03895 C 400.94981,220.03895 412.32308,230.55402 412.32323,251.58418 L 412.32323,322.16409"
+ style="font-size:108.87190247px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#1b2019;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Kimberley;-inkscape-font-specification:Kimberley" />
+ <path
+ inkscape:export-ydpi="86.470001"
+ inkscape:export-xdpi="86.470001"
+ inkscape:export-filename="/home/bch/icon.png"
+ style="fill:#ededed;fill-opacity:1;stroke:none;stroke-width:1.26842833;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 288.99559,308.25172 C 292.09127,306.62574 297.88176,309.27449 300.50383,313.51767 C 302.8549,317.3218 314.76561,320.8627 318.98603,319.01203 C 321.80229,317.77783 322.51333,316.21366 322.73386,310.76695 C 323.1489,300.52359 320.84164,292.50281 313.37161,278.2244 C 309.62279,271.05845 305.69461,263.13385 304.64264,260.61737 C 303.59041,258.09966 300.75374,253.65582 298.33896,250.74177 C 293.19987,244.54382 293.04031,242.85028 297.25792,239.25469 C 303.57321,233.87143 314.24172,242.58579 311.93884,251.24628 C 310.80553,255.50895 312.98129,261.72677 320.18712,274.81699 C 328.73746,290.35035 337.40333,296.64235 342.57881,291.07544 C 343.9159,289.63767 345.57564,281.61605 347.10513,269.19866 C 349.40596,250.52245 349.39427,249.40476 346.86039,245.64991 C 342.47996,239.15809 346.61048,232.42164 353.54234,234.75155 C 360.53122,237.10014 365.09058,246.60512 360.71056,249.69411 C 358.76707,251.06431 358.13893,255.04878 357.25718,271.60031 C 356.12669,292.82409 356.98183,298.50462 361.73718,301.35982 C 365.96354,303.89702 367.43339,303.38127 376.34297,296.21369 C 385.79672,288.60995 389.68322,283.6885 389.93287,279.00589 C 390.16497,274.65077 393.05085,272.32083 397.65098,272.77605 C 400.58326,273.06708 401.89245,274.03055 403.53149,277.10171 C 406.87815,283.37342 405.91932,287.35835 400.8189,288.37652 C 396.66266,289.20529 389.52267,298.40471 378.53882,317.08095 C 366.94063,336.80192 364.39846,338.85614 351.40019,339.01368 C 346.05671,339.07751 338.58094,337.29897 320.98194,331.77309 C 308.14802,327.74219 295.98135,324.244 293.94456,323.9969 C 286.58526,323.10803 282.9191,311.44518 288.99559,308.25172 z"
+ id="path5303" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-list-add.svg b/share/pixmaps/tryton/tryton-list-add.svg
new file mode 100644
index 0000000..6eaed44
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-list-add.svg
@@ -0,0 +1,436 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg6431"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="list-add.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs6433">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective70" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2091">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2093" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2095" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7916">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop7918" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.34020618;"
+ offset="1.0000000"
+ id="stop7920" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient1503"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.018989e-13,16.87306)"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2847">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2849" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:0;"
+ offset="1"
+ id="stop2851" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2847"
+ id="linearGradient1488"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,-1.242480,40.08170)"
+ x1="37.128052"
+ y1="29.729605"
+ x2="37.065414"
+ y2="26.194071" />
+ <linearGradient
+ id="linearGradient2831">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2833" />
+ <stop
+ id="stop2855"
+ offset="0.33333334"
+ style="stop-color:#5b86be;stop-opacity:1;" />
+ <stop
+ style="stop-color:#83a8d8;stop-opacity:0;"
+ offset="1"
+ id="stop2835" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2831"
+ id="linearGradient1486"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-48.30498,-6.043298)"
+ x1="13.478554"
+ y1="10.612206"
+ x2="15.419417"
+ y2="19.115122" />
+ <linearGradient
+ id="linearGradient2380">
+ <stop
+ style="stop-color:#b9cfe7;stop-opacity:1"
+ offset="0"
+ id="stop2382" />
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1"
+ offset="1"
+ id="stop2384" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2682">
+ <stop
+ style="stop-color:#3977c3;stop-opacity:1;"
+ offset="0"
+ id="stop2684" />
+ <stop
+ style="stop-color:#89aedc;stop-opacity:0;"
+ offset="1"
+ id="stop2686" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2682"
+ id="linearGradient2688"
+ x1="36.713837"
+ y1="31.455952"
+ x2="37.124462"
+ y2="24.842253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-48.77039,-5.765705)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2690">
+ <stop
+ style="stop-color:#c4d7eb;stop-opacity:1;"
+ offset="0"
+ id="stop2692" />
+ <stop
+ style="stop-color:#c4d7eb;stop-opacity:0;"
+ offset="1"
+ id="stop2694" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2690"
+ id="linearGradient2696"
+ x1="32.647972"
+ y1="30.748846"
+ x2="37.124462"
+ y2="24.842253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-48.77039,-5.765705)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2871">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2873" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1"
+ offset="1"
+ id="stop2875" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2402">
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1;"
+ offset="0"
+ id="stop2404" />
+ <stop
+ style="stop-color:#528ac5;stop-opacity:1;"
+ offset="1"
+ id="stop2406" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2797"
+ id="linearGradient1493"
+ gradientUnits="userSpaceOnUse"
+ x1="5.9649176"
+ y1="26.048164"
+ x2="52.854097"
+ y2="26.048164" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2797">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2799" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2801" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2797"
+ id="linearGradient1491"
+ gradientUnits="userSpaceOnUse"
+ x1="5.9649176"
+ y1="26.048164"
+ x2="52.854097"
+ y2="26.048164" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient7179">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop7181" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop7183" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.65979379;"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1322">
+ <stop
+ id="stop1324"
+ offset="0.0000000"
+ style="stop-color:#729fcf" />
+ <stop
+ id="stop1326"
+ offset="1.0000000"
+ style="stop-color:#5187d6;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1322"
+ id="linearGradient4975"
+ x1="34.892849"
+ y1="36.422989"
+ x2="45.918697"
+ y2="48.547989"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-18.01785,-13.57119)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7179"
+ id="linearGradient7185"
+ x1="13.435029"
+ y1="13.604306"
+ x2="22.374878"
+ y2="23.554308"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7179"
+ id="linearGradient7189"
+ gradientUnits="userSpaceOnUse"
+ x1="13.435029"
+ y1="13.604306"
+ x2="22.374878"
+ y2="23.554308"
+ gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,47.93934,50.02474)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2380"
+ id="linearGradient7180"
+ gradientUnits="userSpaceOnUse"
+ x1="62.513836"
+ y1="36.061237"
+ x2="15.984863"
+ y2="20.60858" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2871"
+ id="linearGradient7182"
+ gradientUnits="userSpaceOnUse"
+ x1="46.834816"
+ y1="45.264122"
+ x2="45.380436"
+ y2="50.939667" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2402"
+ id="linearGradient7184"
+ gradientUnits="userSpaceOnUse"
+ x1="18.935766"
+ y1="23.667896"
+ x2="53.588622"
+ y2="26.649362" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2871"
+ id="linearGradient7186"
+ gradientUnits="userSpaceOnUse"
+ x1="46.834816"
+ y1="45.264122"
+ x2="45.380436"
+ y2="50.939667" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7916"
+ id="linearGradient7922"
+ x1="16.874998"
+ y1="22.851799"
+ x2="27.900846"
+ y2="34.976799"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2091"
+ id="radialGradient2097"
+ cx="23.070683"
+ cy="35.127438"
+ fx="23.070683"
+ fy="35.127438"
+ r="10.319340"
+ gradientTransform="matrix(0.914812,1.265023e-2,-8.21502e-3,0.213562,2.253914,27.18889)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.15686275"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-123.56934"
+ inkscape:cy="0.031886897"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1280"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ showguides="true"
+ inkscape:guide-bbox="true"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata6436">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Add</dc:title>
+ <dc:date>2006-01-04</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://tango-project.org</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>add</rdf:li>
+ <rdf:li>plus</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.10824742;fill:url(#radialGradient2097);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+ id="path1361"
+ sodipodi:cx="22.958872"
+ sodipodi:cy="34.94062"
+ sodipodi:rx="10.31934"
+ sodipodi:ry="2.320194"
+ d="M 33.278212 34.94062 A 10.31934 2.320194 0 1 1 12.639532,34.94062 A 10.31934 2.320194 0 1 1 33.278212 34.94062 z"
+ transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)" />
+ <path
+ style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1.0000000;stroke:#3465a4;stroke-width:1.0000004px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
+ d="M 27.514356,37.542682 L 27.514356,28.515722 L 37.492820,28.475543 L 37.492820,21.480219 L 27.523285,21.480219 L 27.514356,11.520049 L 20.498082,11.531210 L 20.502546,21.462362 L 10.512920,21.536022 L 10.477206,28.504561 L 20.511475,28.475543 L 20.518171,37.515896 L 27.514356,37.542682 z "
+ id="text1314"
+ sodipodi:nodetypes="ccccccccccccc" />
+ <path
+ style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860215;fill:url(#linearGradient4975);fill-opacity:1.0000000;stroke:url(#linearGradient7922);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
+ d="M 26.498702,36.533920 L 26.498702,27.499738 L 36.501304,27.499738 L 36.494607,22.475309 L 26.507630,22.475309 L 26.507630,12.480335 L 21.512796,12.498193 L 21.521725,22.475309 L 11.495536,22.493166 L 11.468750,27.466256 L 21.533143,27.475185 L 21.519750,36.502670 L 26.498702,36.533920 z "
+ id="path7076"
+ sodipodi:nodetypes="ccccccccccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.31182796"
+ d="M 11.000000,25.000000 C 11.000000,26.937500 36.984375,24.031250 36.984375,24.968750 L 36.984375,21.968750 L 27.000000,22.000000 L 27.000000,12.034772 L 21.000000,12.034772 L 21.000000,22.000000 L 11.000000,22.000000 L 11.000000,25.000000 z "
+ id="path7914"
+ sodipodi:nodetypes="ccccccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-list-remove.svg b/share/pixmaps/tryton/tryton-list-remove.svg
new file mode 100644
index 0000000..5f109a0
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-list-remove.svg
@@ -0,0 +1,424 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg6431"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="list-remove.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs6433">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective69" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2091">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2093" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2095" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2091"
+ id="radialGradient2097"
+ cx="23.070683"
+ cy="35.127438"
+ fx="23.070683"
+ fy="35.127438"
+ r="10.319340"
+ gradientTransform="matrix(0.914812,1.265023e-2,-8.21502e-3,0.213562,2.253914,27.18889)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient7916">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop7918" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.34020618;"
+ offset="1.0000000"
+ id="stop7920" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient1503"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.018989e-13,16.87306)"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2847">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2849" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:0;"
+ offset="1"
+ id="stop2851" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2847"
+ id="linearGradient1488"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,-1.242480,40.08170)"
+ x1="37.128052"
+ y1="29.729605"
+ x2="37.065414"
+ y2="26.194071" />
+ <linearGradient
+ id="linearGradient2831">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2833" />
+ <stop
+ id="stop2855"
+ offset="0.33333334"
+ style="stop-color:#5b86be;stop-opacity:1;" />
+ <stop
+ style="stop-color:#83a8d8;stop-opacity:0;"
+ offset="1"
+ id="stop2835" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2831"
+ id="linearGradient1486"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-48.30498,-6.043298)"
+ x1="13.478554"
+ y1="10.612206"
+ x2="15.419417"
+ y2="19.115122" />
+ <linearGradient
+ id="linearGradient2380">
+ <stop
+ style="stop-color:#b9cfe7;stop-opacity:1"
+ offset="0"
+ id="stop2382" />
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1"
+ offset="1"
+ id="stop2384" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2682">
+ <stop
+ style="stop-color:#3977c3;stop-opacity:1;"
+ offset="0"
+ id="stop2684" />
+ <stop
+ style="stop-color:#89aedc;stop-opacity:0;"
+ offset="1"
+ id="stop2686" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2682"
+ id="linearGradient2688"
+ x1="36.713837"
+ y1="31.455952"
+ x2="37.124462"
+ y2="24.842253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-48.77039,-5.765705)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2690">
+ <stop
+ style="stop-color:#c4d7eb;stop-opacity:1;"
+ offset="0"
+ id="stop2692" />
+ <stop
+ style="stop-color:#c4d7eb;stop-opacity:0;"
+ offset="1"
+ id="stop2694" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2690"
+ id="linearGradient2696"
+ x1="32.647972"
+ y1="30.748846"
+ x2="37.124462"
+ y2="24.842253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-48.77039,-5.765705)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2871">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2873" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1"
+ offset="1"
+ id="stop2875" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2402">
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1;"
+ offset="0"
+ id="stop2404" />
+ <stop
+ style="stop-color:#528ac5;stop-opacity:1;"
+ offset="1"
+ id="stop2406" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2797"
+ id="linearGradient1493"
+ gradientUnits="userSpaceOnUse"
+ x1="5.9649176"
+ y1="26.048164"
+ x2="52.854097"
+ y2="26.048164" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2797">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2799" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2801" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2797"
+ id="linearGradient1491"
+ gradientUnits="userSpaceOnUse"
+ x1="5.9649176"
+ y1="26.048164"
+ x2="52.854097"
+ y2="26.048164" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient7179">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop7181" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop7183" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.65979379;"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1322">
+ <stop
+ id="stop1324"
+ offset="0.0000000"
+ style="stop-color:#729fcf" />
+ <stop
+ id="stop1326"
+ offset="1.0000000"
+ style="stop-color:#5187d6;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1322"
+ id="linearGradient4975"
+ x1="34.892849"
+ y1="36.422989"
+ x2="45.918697"
+ y2="48.547989"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-18.01785,-13.57119)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7179"
+ id="linearGradient7185"
+ x1="13.435029"
+ y1="13.604306"
+ x2="22.374878"
+ y2="23.554308"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7179"
+ id="linearGradient7189"
+ gradientUnits="userSpaceOnUse"
+ x1="13.435029"
+ y1="13.604306"
+ x2="22.374878"
+ y2="23.554308"
+ gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,47.93934,50.02474)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2380"
+ id="linearGradient7180"
+ gradientUnits="userSpaceOnUse"
+ x1="62.513836"
+ y1="36.061237"
+ x2="15.984863"
+ y2="20.60858" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2871"
+ id="linearGradient7182"
+ gradientUnits="userSpaceOnUse"
+ x1="46.834816"
+ y1="45.264122"
+ x2="45.380436"
+ y2="50.939667" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2402"
+ id="linearGradient7184"
+ gradientUnits="userSpaceOnUse"
+ x1="18.935766"
+ y1="23.667896"
+ x2="53.588622"
+ y2="26.649362" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2871"
+ id="linearGradient7186"
+ gradientUnits="userSpaceOnUse"
+ x1="46.834816"
+ y1="45.264122"
+ x2="45.380436"
+ y2="50.939667" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7916"
+ id="linearGradient7922"
+ x1="16.874998"
+ y1="22.851799"
+ x2="27.900846"
+ y2="34.976799"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.10980392"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-123.27226"
+ inkscape:cy="26.474252"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1280"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata6436">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Remove</dc:title>
+ <dc:date>2006-01-04</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://tango-project.org</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>remove</rdf:li>
+ <rdf:li>delete</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1.0000000;stroke:#3465a4;stroke-width:1.0000004px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
+ d="M 27.514356,28.359472 L 39.633445,28.475543 L 39.633445,21.480219 L 27.523285,21.480219 L 20.502546,21.462362 L 8.5441705,21.489147 L 8.5084565,28.457686 L 20.511475,28.475543 L 27.514356,28.359472 z "
+ id="text1314"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860215;fill:url(#linearGradient4975);fill-opacity:1.0000000;stroke:url(#linearGradient7922);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
+ d="M 38.579429,27.484113 L 38.588357,22.475309 L 9.5267863,22.493166 L 9.5000003,27.466256 L 38.579429,27.484113 z "
+ id="path7076"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.31182796"
+ d="M 9.0000000,25.000000 C 9.0000000,26.937500 39.125000,24.062500 39.125000,25.000000 L 39.125000,22.000000 L 9.0000000,22.000000 L 9.0000000,25.000000 z "
+ id="path7914"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-locale.svg b/share/pixmaps/tryton/tryton-locale.svg
new file mode 100644
index 0000000..2e71f18
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-locale.svg
@@ -0,0 +1,878 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
+ sodipodi:docname="preferences-desktop-locale.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective133" />
+ <linearGradient
+ id="linearGradient2913">
+ <stop
+ style="stop-color:white;stop-opacity:0.43877551;"
+ offset="0"
+ id="stop2915" />
+ <stop
+ id="stop2921"
+ offset="0.5"
+ style="stop-color:white;stop-opacity:1;" />
+ <stop
+ style="stop-color:white;stop-opacity:0;"
+ offset="1"
+ id="stop2917" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2877">
+ <stop
+ style="stop-color:#75507b;stop-opacity:1;"
+ offset="0"
+ id="stop2879" />
+ <stop
+ id="stop2885"
+ offset="0.25709054"
+ style="stop-color:#a984af;stop-opacity:1;" />
+ <stop
+ style="stop-color:#513755;stop-opacity:1;"
+ offset="0.5655992"
+ id="stop2887" />
+ <stop
+ style="stop-color:#875c8e;stop-opacity:1;"
+ offset="1"
+ id="stop2881" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2865">
+ <stop
+ style="stop-color:#73d216;stop-opacity:1;"
+ offset="0"
+ id="stop2867" />
+ <stop
+ id="stop2873"
+ offset="0.25568181"
+ style="stop-color:#9ced4b;stop-opacity:1;" />
+ <stop
+ style="stop-color:#64b813;stop-opacity:1;"
+ offset="0.59400827"
+ id="stop2875" />
+ <stop
+ style="stop-color:#8eea34;stop-opacity:1;"
+ offset="1"
+ id="stop2869" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient16542">
+ <stop
+ style="stop-color:#2e3436;stop-opacity:1;"
+ offset="0"
+ id="stop16544" />
+ <stop
+ id="stop16550"
+ offset="0.27272728"
+ style="stop-color:#505a5d;stop-opacity:1;" />
+ <stop
+ style="stop-color:#141717;stop-opacity:1;"
+ offset="0.63636363"
+ id="stop16554" />
+ <stop
+ style="stop-color:#2e3436;stop-opacity:1;"
+ offset="1"
+ id="stop16546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16532">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop16534" />
+ <stop
+ id="stop16540"
+ offset="0.24242425"
+ style="stop-color:#ff4747;stop-opacity:1;" />
+ <stop
+ style="stop-color:#9b1212;stop-opacity:1;"
+ offset="0.6097337"
+ id="stop16552" />
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="1"
+ id="stop16536" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16522">
+ <stop
+ style="stop-color:#edd400;stop-opacity:1;"
+ offset="0"
+ id="stop16524" />
+ <stop
+ id="stop16530"
+ offset="0.27272728"
+ style="stop-color:#fff491;stop-opacity:1;" />
+ <stop
+ style="stop-color:#edd400;stop-opacity:1;"
+ offset="1"
+ id="stop16526" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16514">
+ <stop
+ id="stop16516"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#bebebe;stop-opacity:1;"
+ offset="0.42424244"
+ id="stop16518" />
+ <stop
+ id="stop16520"
+ offset="1"
+ style="stop-color:#ebebeb;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16494">
+ <stop
+ style="stop-color:#204a87;stop-opacity:1;"
+ offset="0"
+ id="stop16496" />
+ <stop
+ id="stop16502"
+ offset="0.21212122"
+ style="stop-color:#3f7bd2;stop-opacity:1;" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:1;"
+ offset="1"
+ id="stop16498" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16468">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop16470" />
+ <stop
+ id="stop16476"
+ offset="0.15151516"
+ style="stop-color:#ff3737;stop-opacity:1;" />
+ <stop
+ style="stop-color:#b41414;stop-opacity:1;"
+ offset="0.57575756"
+ id="stop16478" />
+ <stop
+ style="stop-color:#ff4c4c;stop-opacity:1;"
+ offset="1"
+ id="stop16472" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient16451">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop16453" />
+ <stop
+ id="stop16459"
+ offset="0.42424244"
+ style="stop-color:#bebebe;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ebebeb;stop-opacity:1;"
+ offset="1"
+ id="stop16455" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ id="stop11522"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11524"
+ offset="1.0000000"
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508"
+ inkscape:collect="always">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11494"
+ inkscape:collect="always">
+ <stop
+ id="stop11496"
+ offset="0"
+ style="stop-color:#ef2929;stop-opacity:1;" />
+ <stop
+ id="stop11498"
+ offset="1"
+ style="stop-color:#ef2929;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11415">
+ <stop
+ id="stop11417"
+ offset="0.0000000"
+ style="stop-color:#204a87;stop-opacity:0.0000000;" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop11423" />
+ <stop
+ id="stop11419"
+ offset="1"
+ style="stop-color:#204a87;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11399"
+ inkscape:collect="always">
+ <stop
+ id="stop11401"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11403"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-60.28571,-0.285714)"
+ y2="34.462429"
+ x2="43.615788"
+ y1="3.7744560"
+ x1="15.828360"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11425"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-60.57143,0.000000)"
+ y2="39.033859"
+ x2="35.679932"
+ y1="9.3458843"
+ x1="9.6957054"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11427"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="33.462429"
+ x2="26.758644"
+ y1="19.774456"
+ x1="13.267134"
+ gradientTransform="translate(-60.85714,0.428571)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11439"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <radialGradient
+ r="8.5000000"
+ fy="39.142857"
+ fx="12.071428"
+ cy="39.142857"
+ cx="12.071428"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11441"
+ xlink:href="#linearGradient11399"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ r="3.8335034"
+ fy="15.048258"
+ fx="27.577173"
+ cy="15.048258"
+ cx="27.577173"
+ id="radialGradient11500"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ r="3.8335034"
+ fy="16.049133"
+ fx="27.577173"
+ cy="16.049133"
+ cx="27.577173"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11504"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ id="radialGradient11514"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ gradientUnits="userSpaceOnUse"
+ r="20.530962"
+ fy="35.878170"
+ fx="24.445690"
+ cy="35.878170"
+ cx="24.445690"
+ id="radialGradient11526"
+ xlink:href="#linearGradient11520"
+ inkscape:collect="always" />
+ <radialGradient
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,3.185827e-15,29.48178)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11532"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1348"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1350"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1352"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="16.049133"
+ fx="27.577173"
+ fy="16.049133"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="15.048258"
+ fx="27.577173"
+ fy="15.048258"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1356"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16451"
+ id="linearGradient16457"
+ x1="0.91421354"
+ y1="16.710525"
+ x2="37.623106"
+ y2="16.710525"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16451"
+ id="linearGradient16464"
+ gradientUnits="userSpaceOnUse"
+ x1="0.91421354"
+ y1="16.710525"
+ x2="37.623106"
+ y2="16.710525"
+ gradientTransform="matrix(0.98006,0,0,1,0.116103,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16474"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16482"
+ gradientUnits="userSpaceOnUse"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154"
+ gradientTransform="translate(0,-5.624133)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16486"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-11.24827)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16490"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-16.8724)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16494"
+ id="linearGradient16500"
+ x1="2"
+ y1="8.5017858"
+ x2="19"
+ y2="8.5017858"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16522"
+ id="linearGradient16528"
+ x1="11.002116"
+ y1="29.756583"
+ x2="46.998972"
+ y2="29.756583"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16532"
+ id="linearGradient16538"
+ x1="11.976621"
+ y1="29.748671"
+ x2="46.138718"
+ y2="29.748671"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16542"
+ id="linearGradient16548"
+ x1="11.976621"
+ y1="21.723522"
+ x2="46.138718"
+ y2="21.723522"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16451"
+ id="linearGradient16577"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98006,0,0,1,0.116103,0)"
+ x1="0.91421354"
+ y1="16.710525"
+ x2="37.623106"
+ y2="16.710525" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16579"
+ gradientUnits="userSpaceOnUse"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16581"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-11.24827)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16583"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-5.624133)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient16585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-16.8724)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16494"
+ id="linearGradient16587"
+ gradientUnits="userSpaceOnUse"
+ x1="2"
+ y1="8.5017858"
+ x2="19"
+ y2="8.5017858" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6761"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6763"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6765"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16494"
+ id="linearGradient2006"
+ gradientUnits="userSpaceOnUse"
+ x1="2"
+ y1="8.5017858"
+ x2="19"
+ y2="8.5017858"
+ gradientTransform="translate(2.121318,2.032932)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient2010"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.121318,-14.83947)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient2013"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.121318,-3.591201)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient2016"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.121318,-9.215338)"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16468"
+ id="linearGradient2019"
+ gradientUnits="userSpaceOnUse"
+ x1="2"
+ y1="23.791154"
+ x2="36"
+ y2="23.791154"
+ gradientTransform="translate(2.121318,2.032932)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2865"
+ id="linearGradient2871"
+ x1="10.029842"
+ y1="28.695923"
+ x2="46.026698"
+ y2="28.695923"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2877"
+ id="linearGradient2883"
+ x1="3.1234348"
+ y1="17.789515"
+ x2="39.12029"
+ y2="17.789515"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2913"
+ id="linearGradient2919"
+ x1="10.964451"
+ y1="28.712873"
+ x2="36.336609"
+ y2="27.445059"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2913"
+ id="linearGradient3205"
+ gradientUnits="userSpaceOnUse"
+ x1="4.1213179"
+ y1="24.253414"
+ x2="33.066338"
+ y2="25.661276" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#ef2929"
+ fill="#edd400"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-139"
+ inkscape:cy="14.5"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="804"
+ inkscape:window-height="688"
+ inkscape:window-x="630"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Locale Preferences</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>locale preferences</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g6753"
+ transform="matrix(1.971468e-2,0,0,3.343226e-2,38.92492,24.71253)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect6755"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6761);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6757"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6763);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6765);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path6759"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <g
+ transform="matrix(1.971468e-2,0,0,3.343226e-2,46.17276,35.14236)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <path
+ style="color:black;fill:url(#linearGradient2883);fill-opacity:1.0;fill-rule:evenodd;stroke:#5c3566;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 3.6234345,6.1923115 C 12.805777,-0.3484262 29.264695,8.1368552 38.62029,6.1923115 L 38.62029,31.294603 C 29.611199,34.299807 14.01854,24.930642 3.6234345,31.294603 L 3.6234345,6.1923115 z "
+ id="rect15576"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path16462"
+ d="M 4.6213179,6.8032613 C 12.598466,1.0750243 28.454913,8.7478053 37.656867,7.3032613 L 37.531867,30.593053 C 30.717023,32.785757 14.794159,24.888617 4.6838179,29.468053 L 4.6213179,6.8032613 z "
+ style="opacity:0.62921346;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3205);stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;stroke-dasharray:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path16504"
+ d="M 10.529842,17.09872 C 19.712185,10.557982 36.171103,19.043263 45.526698,17.09872 L 45.526698,42.201011 C 36.517607,45.206215 20.924948,35.83705 10.529842,42.201011 L 10.529842,17.09872 z "
+ style="color:black;fill:url(#linearGradient2871);fill-opacity:1.0;fill-rule:evenodd;stroke:#4e9a06;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:0.62921346;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2919);stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 11.464451,17.654135 C 19.441599,11.925898 35.298046,19.598679 44.5,18.154135 L 44.375,41.532315 C 37.560156,43.725019 21.637292,35.827879 11.526951,40.407315 L 11.464451,17.654135 z "
+ id="path16506"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-lock.svg b/share/pixmaps/tryton/tryton-lock.svg
new file mode 100644
index 0000000..ad70202
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-lock.svg
@@ -0,0 +1,286 @@
+<?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"
+ width="15.483605"
+ height="18.974854"
+ id="svg3617"
+ version="1.1"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:docname="tryton-lock.svg">
+ <defs
+ id="defs3619">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10591"
+ id="linearGradient1886"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.480246,0,0,0.497322,29.22711,23.01153)"
+ x1="12.88666"
+ y1="4.3602757"
+ x2="20.087339"
+ y2="18.414022" />
+ <linearGradient
+ id="linearGradient10591">
+ <stop
+ style="stop-color:#cad0c6;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop10593" />
+ <stop
+ id="stop10599"
+ offset="0.50000000"
+ style="stop-color:#eaece9;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#c5cbc0;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop10595" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11335"
+ id="linearGradient1888"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.480246,0,0,0.497322,29.22711,23.01153)"
+ x1="19.250618"
+ y1="9.6635771"
+ x2="16.198252"
+ y2="6.0396547" />
+ <linearGradient
+ id="linearGradient11335">
+ <stop
+ style="stop-color:#6f716d;stop-opacity:1;"
+ offset="0"
+ id="stop11337" />
+ <stop
+ style="stop-color:#9ea09c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11339" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2092"
+ id="linearGradient1890"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.490236,0,0,0.534297,29.28263,21.67589)"
+ x1="6.72682"
+ y1="32.161697"
+ x2="40.938126"
+ y2="32.161697" />
+ <linearGradient
+ id="linearGradient2092">
+ <stop
+ id="stop2094"
+ offset="0"
+ style="stop-color:#fff7b0;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffec41;stop-opacity:1.0000000;"
+ offset="0.20999999"
+ id="stop2098" />
+ <stop
+ id="stop2293"
+ offset="0.83999997"
+ style="stop-color:#e2cc00;stop-opacity:1;" />
+ <stop
+ id="stop2100"
+ offset="1"
+ style="stop-color:#c3af00;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11327"
+ id="linearGradient1892"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.490236,0,0,0.534297,29.28263,22.22637)"
+ x1="31.630468"
+ y1="41.791817"
+ x2="8.6713638"
+ y2="25.793524" />
+ <linearGradient
+ id="linearGradient11327">
+ <stop
+ style="stop-color:#7d6400;stop-opacity:1;"
+ offset="0"
+ id="stop11329" />
+ <stop
+ style="stop-color:#be9700;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11331" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9845"
+ id="linearGradient1894"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.453445,0,0,0.470026,30.17248,24.3894)"
+ x1="10.907269"
+ y1="25.002281"
+ x2="30.875446"
+ y2="36.127281" />
+ <linearGradient
+ id="linearGradient9845">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9847" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.49484536;"
+ offset="1.0000000"
+ id="stop9849" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12071"
+ id="linearGradient1896"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.980472,0,0,0.461806,23.89003,23.47875)"
+ x1="14.217941"
+ y1="6.8795347"
+ x2="17.859085"
+ y2="3.9566603" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient12071">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop12073" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop12075" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12071"
+ id="linearGradient1898"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.980472,0,0,0.490236,34.67523,22.83397)"
+ x1="11.5"
+ y1="20.579729"
+ x2="11.779029"
+ y2="14.259961" />
+ <linearGradient
+ y2="14.259961"
+ x2="11.779029"
+ y1="20.579729"
+ x1="11.5"
+ gradientTransform="matrix(0.980472,0,0,0.490236,34.67523,22.83397)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3615"
+ xlink:href="#linearGradient12071"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="36.877716"
+ inkscape:cx="7.7417992"
+ inkscape:cy="9.4874297"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="702"
+ inkscape:window-height="1007"
+ inkscape:window-x="598"
+ inkscape:window-y="10"
+ inkscape:window-maximized="0"
+ fit-margin-top="0"
+ fit-margin-left="0"
+ fit-margin-right="0"
+ fit-margin-bottom="0" />
+ <metadata
+ id="metadata3622">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz/</dc:source>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Cédric Krier</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-423.68677,-591.44619)">
+ <g
+ id="g1879"
+ transform="matrix(0.844217,0,0,0.844217,396.77664,571.08627)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cczcccczccc"
+ id="path2086"
+ d="m 34.238513,34.181365 0,-3.821697 c 0,-3.913993 2.623362,-5.698381 6.524122,-5.649501 3.921984,0.04888 6.511377,1.751779 6.511377,5.711818 l -0.0065,3.75938 -2.392896,0 0,-2.775166 c -0.06424,-0.963324 0.267,-4.190097 -4.084521,-4.190097 -4.381536,0 -4.123994,3.238432 -4.108293,4.209276 l 0,2.755987 -2.443305,0 z"
+ style="fill:url(#linearGradient1886);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1888);stroke-width:1.1845268;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <rect
+ ry="2.3033772"
+ rx="2.6473897"
+ y="34.231865"
+ x="32.468109"
+ height="11.769073"
+ width="17.156261"
+ id="rect1314"
+ style="fill:url(#linearGradient1890);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1892);stroke-width:1.18452692;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="1.4387805"
+ rx="1.4387794"
+ y="35.387321"
+ x="33.559612"
+ height="9.4392996"
+ width="14.977587"
+ id="rect6903"
+ style="fill:none;stroke:url(#linearGradient1894);stroke-width:1.18452799;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:0.60109289;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccsccc"
+ id="rect11343"
+ d="m 34.675226,30.571517 c 0.129993,-2.898098 0.935711,-5.080544 6.310203,-5.265559 -3.480033,0.490442 -5.372914,1.506529 -5.372914,4.536413 0,0 -0.08681,3.755294 -0.08681,3.755294 l -0.850479,0 0,-3.026148 z"
+ style="fill:url(#linearGradient1896);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ ry="0"
+ rx="0"
+ y="28.716803"
+ x="45.460419"
+ height="4.90236"
+ width="0.98047203"
+ id="rect1345"
+ style="fill:url(#linearGradient3615);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-log-out.svg b/share/pixmaps/tryton/tryton-log-out.svg
new file mode 100644
index 0000000..adb9521
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-log-out.svg
@@ -0,0 +1,457 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="system-log-out.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ sodipodi:modified="true">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective70" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6467">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop6469" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop6471" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6365">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6367" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6369" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6347">
+ <stop
+ style="stop-color:#4e9a06;stop-opacity:1;"
+ offset="0"
+ id="stop6349" />
+ <stop
+ style="stop-color:#2d5903;stop-opacity:1;"
+ offset="1"
+ id="stop6351" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9896">
+ <stop
+ id="stop9898"
+ offset="0"
+ style="stop-color:#cecece;stop-opacity:1;" />
+ <stop
+ id="stop9900"
+ offset="1.0000000"
+ style="stop-color:#9e9e9e;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9888"
+ inkscape:collect="always">
+ <stop
+ id="stop9890"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop9892"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9880"
+ inkscape:collect="always">
+ <stop
+ id="stop9882"
+ offset="0"
+ style="stop-color:#525252;stop-opacity:1;" />
+ <stop
+ id="stop9884"
+ offset="1"
+ style="stop-color:#525252;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9868">
+ <stop
+ style="stop-color:#4e4e4e;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop9870" />
+ <stop
+ style="stop-color:#616161;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop9872" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9854">
+ <stop
+ id="stop9856"
+ offset="0.0000000"
+ style="stop-color:#4e4e4e;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9858"
+ offset="1.0000000"
+ style="stop-color:#ababab;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9830">
+ <stop
+ id="stop9832"
+ offset="0.0000000"
+ style="stop-color:#505050;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9834"
+ offset="1.0000000"
+ style="stop-color:#181818;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8650">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop8652" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop8654" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8650"
+ id="radialGradient8656"
+ cx="19.701141"
+ cy="2.8969381"
+ fx="19.701141"
+ fy="2.8969381"
+ r="17.171415"
+ gradientTransform="matrix(1.253442,-2.296195e-16,1.747460e-16,0.953900,-15.47908,11.27663)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,1.673575e-15,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient9826"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="27.759069"
+ x2="18.031221"
+ y1="19.804117"
+ x1="46.845825"
+ id="linearGradient9864"
+ xlink:href="#linearGradient9854"
+ inkscape:collect="always"
+ gradientTransform="translate(-12.020815,0)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.565823,0,0,1.403262,-49.804045,-9.483303)"
+ r="9.7227182"
+ fy="7.1396070"
+ fx="27.883883"
+ cy="7.1396070"
+ cx="27.883883"
+ id="radialGradient9876"
+ xlink:href="#linearGradient9868"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-13.136935,0)"
+ gradientUnits="userSpaceOnUse"
+ y2="24.764584"
+ x2="34.007416"
+ y1="19.107729"
+ x1="31.852951"
+ id="linearGradient9886"
+ xlink:href="#linearGradient9880"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="43.449947"
+ x2="19.755548"
+ y1="13.663074"
+ x1="8.7600641"
+ id="linearGradient9894"
+ xlink:href="#linearGradient9888"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="18.064039"
+ x2="33.710651"
+ y1="21.511185"
+ x1="31.078955"
+ id="linearGradient9902"
+ xlink:href="#linearGradient9896"
+ inkscape:collect="always"
+ gradientTransform="translate(-12.020815,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6365"
+ id="linearGradient6371"
+ x1="40.25"
+ y1="31.625"
+ x2="40.25"
+ y2="43.25"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-12.020815,0)" />
+ <filter
+ inkscape:collect="always"
+ x="-0.14153846"
+ width="1.2830769"
+ y="-0.10415094"
+ height="1.2083019"
+ id="filter6421">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="2.07"
+ id="feGaussianBlur6423" />
+ </filter>
+ <filter
+ inkscape:collect="always"
+ x="-0.066812893"
+ width="1.1336258"
+ y="-0.11952912"
+ height="1.2390582"
+ id="filter6451">
+ <feGaussianBlur
+ inkscape:collect="always"
+ stdDeviation="0.76879489"
+ id="feGaussianBlur6453" />
+ </filter>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient6461"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8650"
+ id="radialGradient6463"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.253442,0,0,0.9539,-15.47908,11.27663)"
+ cx="19.701141"
+ cy="2.8969381"
+ fx="19.701141"
+ fy="2.8969381"
+ r="17.171415" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9888"
+ id="linearGradient6465"
+ gradientUnits="userSpaceOnUse"
+ x1="8.7600641"
+ y1="13.663074"
+ x2="19.755548"
+ y2="43.449947"
+ gradientTransform="matrix(0.968718,0,0,0.9689198,0.3616813,0.7378237)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6467"
+ id="linearGradient6473"
+ x1="18.729185"
+ y1="44"
+ x2="18.729185"
+ y2="29.068014"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#a40000"
+ fill="#727e0a"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-103.37653"
+ inkscape:cy="5.4914491"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="966"
+ inkscape:window-height="762"
+ inkscape:window-x="468"
+ inkscape:window-y="86" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>System Log Out</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>log out</rdf:li>
+ <rdf:li>logout</rdf:li>
+ <rdf:li>exit</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <rect
+ ry="0.7071048"
+ rx="0.70710522"
+ y="2.5692098"
+ x="1.4809071"
+ height="41.942028"
+ width="31.99555"
+ id="rect9828"
+ style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000048;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="17.240852"
+ x="1.9791847"
+ height="26.759148"
+ width="30.999998"
+ id="rect9840"
+ style="opacity:1;color:#000000;fill:url(#linearGradient6473);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="opacity:0.55428569;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter6451)"
+ d="M 2.1041847,43.875 L 23.479185,35 C 23.479185,35 26.992726,32.780416 23.729185,31.5 C 20.314184,30.16016 16.729185,32 16.729185,32 L 2.1041847,43.875 z "
+ id="path6425"
+ sodipodi:nodetypes="cczcc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path9852"
+ d="M 2.0168467,43.944859 L 1.9780137,3.0545252 L 21.92031,3.0987194 L 21.964504,33.018175 L 2.0168467,43.944859 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient9864);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.42222224;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 1.9489857,43.944859 L 22.097088,33.062369 L 3.5355337,41.989592 L 3.5355337,3.0103306 L 1.9650707,3.0103306 L 1.9489857,43.944859 z "
+ id="path1360"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#radialGradient9876);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 2.0239957,43.757359 L 1.9791847,3.0545252 L 21.92031,3.0545252 L 21.741064,33.681088 L 2.0239957,43.757359 z "
+ id="path9866"
+ sodipodi:nodetypes="ccccc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ sodipodi:nodetypes="cccsscc"
+ id="path9878"
+ d="M 17.62221,18.456195 L 19.544657,20.908971 L 18.086249,25.726136 C 18.086249,25.726136 18.351414,27.228738 19.124812,26.212272 C 19.89821,25.195806 22.097267,22.630218 21.710171,20.754291 C 21.422909,19.362175 20.627414,18.699263 20.627414,18.699263 L 17.62221,18.456195 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient9886);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="csccscs"
+ id="path9862"
+ d="M 19.456269,17.35134 C 19.456269,17.35134 21.619539,18.353058 21.688074,19.229593 C 21.789855,20.531315 17.445433,24.665476 17.445433,24.665476 C 16.9372,25.284194 16.097511,24.731767 16.56155,24.135146 C 16.56155,24.135146 20.028154,20.017173 19.809822,19.693631 C 19.536211,19.288174 17.843181,18.655068 17.843181,18.655068 C 16.826715,17.903768 18.110802,16.349605 19.456269,17.35134 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient9902);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:url(#linearGradient6371);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter6421);opacity:0.87428571"
+ d="M 22.229185,3.5 L 21.729185,33.25 L 3.7291847,43 L 32.979185,43.25 L 32.729185,3.5 L 22.229185,3.5 z "
+ id="path6355" />
+ <g
+ id="g6455"
+ transform="matrix(-1,0,0,1,48.201368,-4.7335e-2)">
+ <path
+ transform="matrix(0.77849,0,0,0.77849,-7.579815,1.598139)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.29946522;color:#000000;fill:url(#radialGradient6461);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path8643"
+ d="M 1.7317981,17.593819 L 1.7317981,30.355364 L 9.6641034,30.355364 L 9.6641034,36.176147 L 21.887745,23.952503 L 9.5913424,11.656101 L 9.5913424,17.597067 L 1.7317981,17.593819 z "
+ style="opacity:1;color:#000000;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ id="path8645"
+ d="M 9.9240084,12.478043 L 9.9240084,18.115661 L 2.0746151,18.115661 L 2.0746151,24.53144 C 12.332521,20.703863 11.954992,27.773987 21.29428,23.94641 L 9.9240084,12.478043 z "
+ style="opacity:0.5080214;color:#000000;fill:url(#radialGradient6463);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.48128339;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6465);stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 2.6834412,18.565933 L 2.6834412,29.355867 L 10.584702,29.355867 L 10.584702,33.481479 L 20.127982,23.941908 L 10.522155,13.997214 L 10.522155,18.568726 L 2.6834412,18.565933 z "
+ id="path8658"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-mail-message-new.svg b/share/pixmaps/tryton/tryton-mail-message-new.svg
new file mode 100644
index 0000000..9f68587
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-mail-message-new.svg
@@ -0,0 +1,464 @@
+<?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"
+ sodipodi:docname="mail-message-new.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg5816"
+ height="48px"
+ width="48px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective74" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient2274">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.12871288;"
+ offset="0.0000000"
+ id="stop2276" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2278" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9749">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9751" />
+ <stop
+ style="stop-color:#ededed;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop9753" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2152">
+ <stop
+ style="stop-color:#9aa29a;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2154" />
+ <stop
+ style="stop-color:#b5beb5;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2156" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2166">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2168" />
+ <stop
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2170" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18913">
+ <stop
+ style="stop-color:#ededed;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop18915" />
+ <stop
+ style="stop-color:#c8c8c8;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop18917" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2136">
+ <stop
+ style="stop-color:#989690;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2138" />
+ <stop
+ style="stop-color:#656460;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2140" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15107">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop15109" />
+ <stop
+ style="stop-color:#e2e2e2;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop15111" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10691"
+ inkscape:collect="always">
+ <stop
+ id="stop10693"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop10695"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="7.2284161"
+ fy="73.615714"
+ fx="6.7027131"
+ cy="73.615714"
+ cx="6.7027131"
+ gradientTransform="scale(1.902215,0.525703)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11382"
+ xlink:href="#linearGradient10691"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="32.203162"
+ x2="9.7619219"
+ y1="37.784682"
+ x1="8.7803760"
+ gradientTransform="matrix(2.394900,0.000000,0.000000,0.781058,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27463"
+ xlink:href="#linearGradient2274"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="24.132717"
+ x2="21.111549"
+ y1="13.686079"
+ x1="11.233107"
+ gradientTransform="matrix(1.370928,0.000000,0.000000,1.443758,2.431133,-0.140786)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27468"
+ xlink:href="#linearGradient9749"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.090678"
+ x2="9.8855033"
+ y1="37.197018"
+ x1="8.9156475"
+ gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27471"
+ xlink:href="#linearGradient2152"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.090678"
+ x2="9.8855033"
+ y1="37.197018"
+ x1="8.9156475"
+ gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27474"
+ xlink:href="#linearGradient2152"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.568739"
+ x2="15.310744"
+ y1="15.148383"
+ x1="10.184240"
+ gradientTransform="matrix(1.819266,0.000000,0.000000,1.028193,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27477"
+ xlink:href="#linearGradient2166"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="17.876846"
+ x2="13.467486"
+ y1="7.2310905"
+ x1="5.8266134"
+ gradientTransform="matrix(1.570607,0.000000,0.000000,1.190976,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27483"
+ xlink:href="#linearGradient18913"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="26.022910"
+ x2="18.475286"
+ y1="4.7461626"
+ x1="11.572842"
+ gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27486"
+ xlink:href="#linearGradient15107"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="15.257116"
+ x2="30.599684"
+ y1="15.257116"
+ x1="2.0618774"
+ gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27488"
+ xlink:href="#linearGradient2136"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient1558"
+ gradientUnits="userSpaceOnUse"
+ cx="55.000000"
+ cy="125.00000"
+ fx="55.000000"
+ fy="125.00000"
+ r="14.375000" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="105"
+ inkscape:window-x="316"
+ inkscape:window-height="743"
+ inkscape:window-width="872"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="18.816166"
+ inkscape:cx="28.384904"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Mail New</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson, Steven Garrity</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>mail</rdf:li>
+ <rdf:li>e-mail</rdf:li>
+ <rdf:li>MUA</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.312904e-2,0,0,1.485743e-2,45.32054,39.61432)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ style="fill:url(#linearGradient27486);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient27488);stroke-width:0.85660440;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 6.3334395,16.972251 L 6.3334395,41.481799 L 43.305555,41.481799 L 43.244499,17.089859 C 43.241050,15.712272 31.395999,2.4121110 29.210877,2.4121110 L 20.659391,2.4121110 C 18.362072,2.4121110 6.3334395,15.673953 6.3334395,16.972251 z "
+ id="path12723"
+ sodipodi:nodetypes="ccczzzz" />
+ <path
+ style="fill:url(#linearGradient27483);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.9230610,16.787103 C 6.5250222,16.356975 18.809966,3.0935378 20.667210,3.0935378 L 29.042965,3.0935378 C 30.790449,3.0935378 43.079567,16.221603 42.470079,16.978956 L 31.608858,30.475150 L 19.295373,30.156846 L 6.9230610,16.787103 z "
+ id="path18153"
+ sodipodi:nodetypes="czzzccz" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 19.077530,30.017590 L 11.744526,21.271586 L 36.562951,14.335513 L 39.592221,20.551966 L 32.175956,29.992298"
+ id="path2164"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.291767,29.836259 L 10.809167,21.026146 L 35.456637,14.132812 L 38.630714,20.403811 L 31.390193,29.810968"
+ id="path2162"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.775313,29.957146 L 11.100386,21.296624 L 36.068405,14.232329 L 39.354114,20.824726 L 31.873739,29.931855"
+ id="path2160"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient27477);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.593984,30.440693 L 11.260975,21.694689 L 35.972554,14.801355 L 39.083369,21.188770 L 31.963198,30.174701"
+ id="path15105"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient27474);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 20.488434,29.064331 L 7.0924698,40.036319 L 21.001312,30.432013 L 30.019470,30.432013 L 42.438517,39.914206 L 30.575092,29.064331 L 20.488434,29.064331 z "
+ id="path14245"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="color:#000000;fill:url(#linearGradient27471);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.9634751,16.885144 L 18.479648,31.201334 L 19.548151,30.346532 L 6.9634751,16.885144 z "
+ id="path14339"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient27468);stroke-width:0.85660428;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 7.3077115,17.131415 L 7.3388644,40.342421 L 42.283659,40.342421 L 42.221353,17.257512 C 42.219329,16.508413 31.005032,3.4591863 28.837233,3.4591863 L 20.941579,3.4591863 C 18.689313,3.4591863 7.3066655,16.351067 7.3077115,17.131415 z "
+ id="path15103"
+ sodipodi:nodetypes="ccczzzz" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 20.957271,30.452732 L 9.0157722,38.723588 L 11.235205,38.729695 L 21.233330,31.860755 L 30.055238,30.437917 L 20.957271,30.452732 z "
+ id="path17393"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 11.427536,21.670296 L 12.752479,23.080719 L 35.543311,16.196529 L 38.458445,21.878896 L 39.072496,21.166981 L 36.003081,14.789145 L 11.427536,21.670296 z "
+ id="path2174"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:url(#linearGradient27463);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 13.308098,23.636340 L 19.334450,30.090093 L 20.531174,29.064331 L 30.617831,29.107071 L 31.429893,29.833651 L 35.404721,25.089502 C 34.250740,23.679081 13.308098,23.636340 13.308098,23.636340 z "
+ id="path2272"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path27492"
+ d="M 41.812936,17.847945 L 31.861315,30.479232 L 30.792812,29.624431 L 41.812936,17.847945 z "
+ style="color:#000000;fill:#b1b1b1;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <g
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline"
+ transform="translate(5.000000e-7,2.500000e-6)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient1558);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500002;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block"
+ id="path12511"
+ sodipodi:cx="55.000000"
+ sodipodi:cy="125.00000"
+ sodipodi:rx="14.375000"
+ sodipodi:ry="14.375000"
+ d="M 69.375000 125.00000 A 14.375000 14.375000 0 1 1 40.625000,125.00000 A 14.375000 14.375000 0 1 1 69.375000 125.00000 z"
+ transform="matrix(0.783292,0.000000,0.000000,0.783292,-6.340883,-86.65168)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-ydpi="33.852203" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-mail-message.svg b/share/pixmaps/tryton/tryton-mail-message.svg
new file mode 100644
index 0000000..e96c6d4
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-mail-message.svg
@@ -0,0 +1,501 @@
+<?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"
+ sodipodi:docname="tryton-mail-message.svg"
+ inkscape:version="0.48.0 r9654"
+ sodipodi:version="0.32"
+ id="svg5816"
+ height="48px"
+ width="48px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective74" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient2274">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.12871288;"
+ offset="0.0000000"
+ id="stop2276" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2278" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9749">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9751" />
+ <stop
+ style="stop-color:#ededed;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop9753" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2152">
+ <stop
+ style="stop-color:#9aa29a;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2154" />
+ <stop
+ style="stop-color:#b5beb5;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2156" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2166">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2168" />
+ <stop
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2170" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18913">
+ <stop
+ style="stop-color:#ededed;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop18915" />
+ <stop
+ style="stop-color:#c8c8c8;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop18917" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2136">
+ <stop
+ style="stop-color:#989690;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2138" />
+ <stop
+ style="stop-color:#656460;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2140" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15107">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop15109" />
+ <stop
+ style="stop-color:#e2e2e2;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop15111" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10691"
+ inkscape:collect="always">
+ <stop
+ id="stop10693"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop10695"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="7.2284161"
+ fy="73.615714"
+ fx="6.7027131"
+ cy="73.615714"
+ cx="6.7027131"
+ gradientTransform="scale(1.902215,0.525703)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11382"
+ xlink:href="#linearGradient10691"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="32.203162"
+ x2="9.7619219"
+ y1="37.784682"
+ x1="8.7803760"
+ gradientTransform="matrix(2.394900,0.000000,0.000000,0.781058,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27463"
+ xlink:href="#linearGradient2274"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="24.132717"
+ x2="21.111549"
+ y1="13.686079"
+ x1="11.233107"
+ gradientTransform="matrix(1.370928,0.000000,0.000000,1.443758,2.431133,-0.140786)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27468"
+ xlink:href="#linearGradient9749"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.090678"
+ x2="9.8855033"
+ y1="37.197018"
+ x1="8.9156475"
+ gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27471"
+ xlink:href="#linearGradient2152"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.090678"
+ x2="9.8855033"
+ y1="37.197018"
+ x1="8.9156475"
+ gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27474"
+ xlink:href="#linearGradient2152"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.568739"
+ x2="15.310744"
+ y1="15.148383"
+ x1="10.184240"
+ gradientTransform="matrix(1.819266,0.000000,0.000000,1.028193,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27477"
+ xlink:href="#linearGradient2166"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="17.876846"
+ x2="13.467486"
+ y1="7.2310905"
+ x1="5.8266134"
+ gradientTransform="matrix(1.570607,0.000000,0.000000,1.190976,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27483"
+ xlink:href="#linearGradient18913"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="26.022910"
+ x2="18.475286"
+ y1="4.7461626"
+ x1="11.572842"
+ gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27486"
+ xlink:href="#linearGradient15107"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="15.257116"
+ x2="30.599684"
+ y1="15.257116"
+ x1="2.0618774"
+ gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27488"
+ xlink:href="#linearGradient2136"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient1558"
+ gradientUnits="userSpaceOnUse"
+ cx="55.000000"
+ cy="125.00000"
+ fx="55.000000"
+ fy="125.00000"
+ r="14.375000" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-6"
+ id="radialGradient1758"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-6">
+ <stop
+ id="stop12513-1"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-5"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4737"
+ xlink:href="#linearGradient12512-6"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="0"
+ inkscape:window-x="0"
+ inkscape:window-height="1024"
+ inkscape:window-width="1280"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="23.5"
+ inkscape:cx="26.443986"
+ inkscape:zoom="12.791045"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Mail New</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson, Steven Garrity, Cédric Krier</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>mail</rdf:li>
+ <rdf:li>e-mail</rdf:li>
+ <rdf:li>MUA</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.312904e-2,0,0,1.485743e-2,45.32054,39.61432)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ style="fill:url(#linearGradient27486);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient27488);stroke-width:0.85660440;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 6.3334395,16.972251 L 6.3334395,41.481799 L 43.305555,41.481799 L 43.244499,17.089859 C 43.241050,15.712272 31.395999,2.4121110 29.210877,2.4121110 L 20.659391,2.4121110 C 18.362072,2.4121110 6.3334395,15.673953 6.3334395,16.972251 z "
+ id="path12723"
+ sodipodi:nodetypes="ccczzzz" />
+ <path
+ style="fill:url(#linearGradient27483);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.9230610,16.787103 C 6.5250222,16.356975 18.809966,3.0935378 20.667210,3.0935378 L 29.042965,3.0935378 C 30.790449,3.0935378 43.079567,16.221603 42.470079,16.978956 L 31.608858,30.475150 L 19.295373,30.156846 L 6.9230610,16.787103 z "
+ id="path18153"
+ sodipodi:nodetypes="czzzccz" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 19.077530,30.017590 L 11.744526,21.271586 L 36.562951,14.335513 L 39.592221,20.551966 L 32.175956,29.992298"
+ id="path2164"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.291767,29.836259 L 10.809167,21.026146 L 35.456637,14.132812 L 38.630714,20.403811 L 31.390193,29.810968"
+ id="path2162"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.775313,29.957146 L 11.100386,21.296624 L 36.068405,14.232329 L 39.354114,20.824726 L 31.873739,29.931855"
+ id="path2160"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient27477);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.593984,30.440693 L 11.260975,21.694689 L 35.972554,14.801355 L 39.083369,21.188770 L 31.963198,30.174701"
+ id="path15105"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient27474);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 20.488434,29.064331 L 7.0924698,40.036319 L 21.001312,30.432013 L 30.019470,30.432013 L 42.438517,39.914206 L 30.575092,29.064331 L 20.488434,29.064331 z "
+ id="path14245"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="color:#000000;fill:url(#linearGradient27471);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.9634751,16.885144 L 18.479648,31.201334 L 19.548151,30.346532 L 6.9634751,16.885144 z "
+ id="path14339"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient27468);stroke-width:0.85660428;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 7.3077115,17.131415 L 7.3388644,40.342421 L 42.283659,40.342421 L 42.221353,17.257512 C 42.219329,16.508413 31.005032,3.4591863 28.837233,3.4591863 L 20.941579,3.4591863 C 18.689313,3.4591863 7.3066655,16.351067 7.3077115,17.131415 z "
+ id="path15103"
+ sodipodi:nodetypes="ccczzzz" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 20.957271,30.452732 L 9.0157722,38.723588 L 11.235205,38.729695 L 21.233330,31.860755 L 30.055238,30.437917 L 20.957271,30.452732 z "
+ id="path17393"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 11.427536,21.670296 L 12.752479,23.080719 L 35.543311,16.196529 L 38.458445,21.878896 L 39.072496,21.166981 L 36.003081,14.789145 L 11.427536,21.670296 z "
+ id="path2174"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:url(#linearGradient27463);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 13.308098,23.636340 L 19.334450,30.090093 L 20.531174,29.064331 L 30.617831,29.107071 L 31.429893,29.833651 L 35.404721,25.089502 C 34.250740,23.679081 13.308098,23.636340 13.308098,23.636340 z "
+ id="path2272"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path27492"
+ d="M 41.812936,17.847945 L 31.861315,30.479232 L 30.792812,29.624431 L 41.812936,17.847945 z "
+ style="color:#000000;fill:#b1b1b1;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <g
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline"
+ transform="translate(-0.07389993,0.15208259)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient4737);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;marker:none;visibility:visible;display:block"
+ id="path12511"
+ sodipodi:cx="55"
+ sodipodi:cy="125"
+ sodipodi:rx="14.375"
+ sodipodi:ry="14.375"
+ d="m 69.375,125 c 0,7.93909 -6.435907,14.375 -14.375,14.375 -7.939093,0 -14.375,-6.43591 -14.375,-14.375 0,-7.93909 6.435907,-14.375 14.375,-14.375 7.939093,0 14.375,6.43591 14.375,14.375 z"
+ transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-ydpi="33.852203" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-new.svg b/share/pixmaps/tryton/tryton-new.svg
new file mode 100644
index 0000000..1bfdb16
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-new.svg
@@ -0,0 +1,448 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg249"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="document-new.svg"
+ inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
+ inkscape:export-xdpi="240.00000"
+ inkscape:export-ydpi="240.00000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective69" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,-6.310056e-16,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop15664" />
+ <stop
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop15666" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="64.5679"
+ fx="20.8921"
+ r="5.257"
+ cy="64.5679"
+ cx="20.8921"
+ id="aigrd3">
+ <stop
+ id="stop15573"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop15575"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ offset="1.0000000" />
+ </radialGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="114.5684"
+ fx="20.8921"
+ r="5.256"
+ cy="114.5684"
+ cx="20.8921"
+ id="aigrd2">
+ <stop
+ id="stop15566"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop15568"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ offset="1.0000000" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop270" />
+ <stop
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop271" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ style="stop-color:#fafafa;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop260" />
+ <stop
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop261" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop12513" />
+ <stop
+ style="stop-color:#fff520;stop-opacity:0.89108908;"
+ offset="0.50000000"
+ id="stop12517" />
+ <stop
+ style="stop-color:#fff300;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop12514" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient278"
+ gradientUnits="userSpaceOnUse"
+ cx="55.000000"
+ cy="125.00000"
+ fx="55.000000"
+ fy="125.00000"
+ r="14.375000" />
+ <radialGradient
+ r="37.751713"
+ fy="3.7561285"
+ fx="8.8244190"
+ cy="3.7561285"
+ cx="8.8244190"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient15656"
+ xlink:href="#linearGradient269"
+ inkscape:collect="always" />
+ <radialGradient
+ r="86.708450"
+ fy="35.736916"
+ fx="33.966679"
+ cy="35.736916"
+ cx="33.966679"
+ gradientTransform="scale(0.960493,1.041132)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient15658"
+ xlink:href="#linearGradient259"
+ inkscape:collect="always" />
+ <radialGradient
+ r="38.158695"
+ fy="7.2678967"
+ fx="8.1435566"
+ cy="7.2678967"
+ cx="8.1435566"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient15668"
+ xlink:href="#linearGradient15662"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="radialGradient2283"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ cx="20.8921"
+ cy="114.5684"
+ fx="20.8921"
+ fy="114.5684"
+ r="5.256" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd3"
+ id="radialGradient2285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ cx="20.8921"
+ cy="64.5679"
+ fx="20.8921"
+ fy="64.5679"
+ r="5.257" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.32941176"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-130.2425"
+ inkscape:cy="-6.4480487"
+ inkscape:current-layer="layer6"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="872"
+ inkscape:window-height="688"
+ inkscape:window-x="166"
+ inkscape:window-y="151"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>New Document</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Shadow"
+ id="layer6"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.165152e-2,0,0,1.485743e-2,43.0076,42.68539)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ </g>
+ <g
+ id="layer1"
+ inkscape:label="Base"
+ inkscape:groupmode="layer"
+ style="display:inline">
+ <rect
+ ry="1.1490486"
+ y="3.6464462"
+ x="6.6035528"
+ height="40.920494"
+ width="34.875000"
+ id="rect15391"
+ style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ rx="0.14904857"
+ ry="0.14904857"
+ y="4.5839462"
+ x="7.6660538"
+ height="38.946384"
+ width="32.775887"
+ id="rect15660"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <g
+ id="g2270"
+ transform="translate(0.646447,-3.798933e-2)">
+ <g
+ transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)"
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
+ id="g1440">
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="114.56840"
+ fx="20.892099"
+ r="5.2560000"
+ cy="114.56840"
+ cx="20.892099"
+ id="radialGradient1442">
+ <stop
+ id="stop1444"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop1446"
+ style="stop-color:#474747"
+ offset="1" />
+ </radialGradient>
+ <path
+ id="path1448"
+ d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
+ style="stroke:none" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="64.567902"
+ fx="20.892099"
+ r="5.2570000"
+ cy="64.567902"
+ cx="20.892099"
+ id="radialGradient1450">
+ <stop
+ id="stop1452"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop1454"
+ style="stop-color:#474747"
+ offset="1" />
+ </radialGradient>
+ <path
+ id="path1456"
+ d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
+ style="stroke:none" />
+ </g>
+ <path
+ id="path15570"
+ d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
+ style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+ <path
+ id="path15577"
+ d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
+ style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path15672"
+ d="M 11.505723,5.4942766 L 11.505723,43.400869"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.017543854" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path15674"
+ d="M 12.500000,5.0205154 L 12.500000,43.038228"
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.20467831" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient278);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block"
+ id="path12511"
+ sodipodi:cx="55.000000"
+ sodipodi:cy="125.00000"
+ sodipodi:rx="14.375000"
+ sodipodi:ry="14.375000"
+ d="M 69.375000 125.00000 A 14.375000 14.375000 0 1 1 40.625000,125.00000 A 14.375000 14.375000 0 1 1 69.375000 125.00000 z"
+ transform="matrix(0.783292,0.000000,0.000000,0.783292,-6.340883,-86.65168)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-ydpi="33.852203" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-open.svg b/share/pixmaps/tryton/tryton-open.svg
new file mode 100644
index 0000000..55e6177
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-open.svg
@@ -0,0 +1,535 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg97"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="document-open.svg"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/snowdunes/gnome-fs-directory-accept.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective90" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient8234"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.046686,44.36453,-17.00717)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#a8a8a8;stop-opacity:1;"
+ offset="0.5"
+ id="stop8238" />
+ <stop
+ id="stop261"
+ offset="1"
+ style="stop-color:#cdcdcd;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="linearGradient8236"
+ x1="25.875"
+ y1="10.625"
+ x2="25.25"
+ y2="30.875"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,1.238806,0.000000,-7.880597)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient13842">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop13844" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop13846" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9766">
+ <stop
+ style="stop-color:#6194cb;stop-opacity:1;"
+ offset="0"
+ id="stop9768" />
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1;"
+ offset="1"
+ id="stop9770" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient148">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.13402061;"
+ offset="0.0000000"
+ id="stop149" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.051546391;"
+ offset="1.0000000"
+ id="stop150" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient335">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop336" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop337" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1789">
+ <stop
+ style="stop-color:#a0a0a0;stop-opacity:1;"
+ offset="0"
+ id="stop1790" />
+ <stop
+ style="stop-color:#a8a8a8;stop-opacity:1;"
+ offset="1"
+ id="stop1791" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient137">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.70059878;"
+ offset="0.0000000"
+ id="stop138" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop139" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient335"
+ id="linearGradient155"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.421537,0.703464)"
+ x1="19.116116"
+ y1="28.946041"
+ x2="19.426924"
+ y2="51.912693" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient148"
+ id="linearGradient156"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.535299,0.000000,0.000000,0.651339,3.451418,2.448000)"
+ x1="14.899379"
+ y1="27.059643"
+ x2="22.715446"
+ y2="41.836895" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient137"
+ id="linearGradient158"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.462696,0.000000,6.907908e-2,0.683669,0.000000,0.000000)"
+ x1="5.2657914"
+ y1="18.725863"
+ x2="8.2122240"
+ y2="52.625851" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1789"
+ id="radialGradient159"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.015635,0.000000,0.103105,1.000512,0.000000,-8.369458e-2)"
+ cx="26.106777"
+ cy="38.195114"
+ fx="26.106777"
+ fy="38.195114"
+ r="32.259769" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9766"
+ id="linearGradient13162"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,1.022118,52.05694,-1.323026)"
+ x1="22.175976"
+ y1="36.987999"
+ x2="22.065331"
+ y2="32.050499" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13842"
+ id="linearGradient13848"
+ x1="22.25"
+ y1="37.625"
+ x2="19.75"
+ y2="14.875"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-123.73861"
+ inkscape:cy="37.388301"
+ inkscape:current-layer="layer3"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1027"
+ inkscape:window-height="818"
+ inkscape:window-x="407"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Folder Icon Accept</dc:title>
+ <dc:date>2005-01-31</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:description>Active state - when files are being dragged to.</dc:description>
+ <dc:publisher>
+ <cc:Agent>
+ <dc:title>Novell, Inc.</dc:title>
+ </cc:Agent>
+ </dc:publisher>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Folder"
+ inkscape:groupmode="layer" />
+ <g
+ inkscape:label="Open"
+ id="layer3"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:nodetypes="ccccccssssccc"
+ style="color:#000000;fill:url(#radialGradient159);fill-opacity:1;fill-rule:nonzero;stroke:#5a5a5a;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2375"
+ d="M 4.6200285,38.651015 C 4.6618365,39.07147 5.1174141,39.491924 5.5311838,39.491924 L 36.667346,39.491924 C 37.081116,39.491924 37.453078,39.07147 37.41127,38.651015 L 34.714653,11.531728 C 34.672845,11.111274 34.217267,10.69082 33.803498,10.69082 L 21.080082,10.69082 C 20.489536,10.69082 19.870999,10.311268 19.677221,9.7304849 L 18.574219,6.4246085 C 18.404967,5.9173308 18.027069,5.6888138 17.259746,5.6888138 L 2.3224188,5.6888138 C 1.9086492,5.6888138 1.5366876,6.109268 1.5784956,6.529722 L 4.6200285,38.651015 z " />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 3.3386019,17.533487 L 34.488461,17.533487"
+ id="path13113"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.3301525,37.533487 L 35.317907,37.533487"
+ id="path13160"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13139"
+ d="M 5.3301525,35.533487 L 35.317907,35.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.165152e-2,0,0,1.903841e-2,42.41538,36.93372)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ sodipodi:nodetypes="ccccccsscsscccc"
+ id="path2380"
+ d="M 6.1717518,38.418674 C 6.2031078,38.729001 6.0171270,38.935886 5.6963478,38.832443 L 5.6963478,38.832443 C 5.3755686,38.729001 5.1477798,38.522116 5.1164238,38.211789 L 2.0868572,6.8445942 C 2.0555012,6.5342670 2.2434512,6.3468711 2.5537784,6.3468711 L 17.303531,6.2554251 C 17.834815,6.2521313 18.042960,6.3087310 18.183330,6.7726371 C 18.183330,6.7726371 19.268704,9.8854350 19.429564,10.470742 L 17.873968,7.5537061 C 17.608788,7.0564434 17.275224,7.1399365 16.901178,7.1399365 L 3.7717775,7.1399365 C 3.4614503,7.1399365 3.2754695,7.3468213 3.3068255,7.6571485 L 6.2856462,38.522116 L 6.1717518,38.418674 z "
+ style="color:#000000;fill:url(#linearGradient158);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.1734115;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13145"
+ d="M 2.3052333,7.533487 L 17.088967,7.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13115"
+ d="M 2.7573333,11.533487 L 33.496214,11.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <g
+ inkscape:export-ydpi="74.800003"
+ inkscape:export-xdpi="74.800003"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
+ transform="matrix(1.034424,0.000000,0.104520,1.034424,-10.03248,2.631914)"
+ id="g2381"
+ style="fill:#ffffff;fill-opacity:0.58031088;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;display:block">
+ <path
+ sodipodi:nodetypes="cscscs"
+ id="path2382"
+ d="M 41.785743,9.0363862 C 41.795369,8.5618034 41.800932,8.3118806 41.362350,8.3121830 L 28.806530,8.3208402 C 28.506530,8.3208402 28.481916,8.1776341 28.806530,8.3208402 C 29.131144,8.4640463 30.053628,8.9791114 30.989227,9.0218349 C 30.989227,9.0218349 41.785704,9.0382983 41.785743,9.0363862 z "
+ style="stroke:none" />
+ </g>
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13123"
+ d="M 3.1628954,15.533487 L 33.993452,15.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5.1594716,33.533487 L 35.147226,33.533487"
+ id="path13121"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13119"
+ d="M 4.8658086,31.533487 L 34.974533,31.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 4.6336367,29.533487 L 34.802847,29.533487"
+ id="path13135"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13137"
+ d="M 4.4629557,27.533487 L 34.632166,27.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 4.2556718,25.533487 L 34.460793,25.533487"
+ id="path13143"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13133"
+ d="M 4.0235198,23.533487 L 34.289101,23.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 3.8528389,21.533487 L 34.11842,21.533487"
+ id="path13117"
+ sodipodi:nodetypes="cc" />
+ <g
+ inkscape:export-ydpi="74.800003"
+ inkscape:export-xdpi="74.800003"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
+ transform="matrix(1.034424,0,0.10452,1.034424,-10.03248,2.631914)"
+ id="g1853"
+ style="fill:#ffffff;fill-opacity:0.5803109;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4;display:block">
+ <path
+ sodipodi:nodetypes="cscscs"
+ id="path1855"
+ d="M 41.785743,9.0363862 C 41.795369,8.5618034 41.800932,8.3118806 41.36235,8.312183 L 28.80653,8.3208402 C 28.50653,8.3208402 28.481916,8.1776341 28.80653,8.3208402 C 29.131144,8.4640463 30.053628,8.9791114 30.989227,9.0218349 C 30.989227,9.0218349 41.785704,9.0382983 41.785743,9.0363862 z "
+ style="stroke:none" />
+ </g>
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 2.9642313,13.533487 L 33.990735,13.533487"
+ id="path13127"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path13125"
+ d="M 3.6514189,19.533487 L 33.947215,19.533487"
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 2.5242572,9.5334871 L 17.805073,9.5334871"
+ id="path13147"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="opacity:0.39204545;color:#000000;fill:url(#linearGradient13848);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 34.375,14.125 L 37,38.75 L 6,38.875 C 6,38.875 4.125,14.125 4.125,14.125 C 4.125,14.125 34.5,14.125 34.375,14.125 z "
+ id="path13840"
+ sodipodi:nodetypes="cccsc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient8236);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8234);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 43.375,2.4944033 C 43.875,19.373135 34.299937,21.022879 37.362437,31.494661 C 37.362437,31.494661 5.875,32.380598 5.875,32.380598 C 4,19.527986 14.25,11.166045 11.25,2.649254 L 43.375,2.4944033 z "
+ id="path8230"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 15.4375,6.5624999 L 39,6.5624999"
+ id="path8277"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:export-ydpi="74.800003"
+ inkscape:export-xdpi="74.800003"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
+ sodipodi:nodetypes="cccsscccscc"
+ id="path2401"
+ d="M 5.7785654,39.065997 C 5.8820074,39.277466 6.0888914,39.488925 6.3992173,39.488925 L 39.70767,39.488925 C 39.914562,39.488925 40.228834,39.36262 40.415844,39.224574 C 40.946246,38.833039 41.070704,38.612189 41.308626,38.251107 C 43.756752,34.535647 47.113767,18.974214 47.113767,18.974214 C 47.217209,18.762754 47.010326,18.551294 46.7,18.551294 L 11.776358,18.551294 C 11.466032,18.551294 10.120393,34.658624 6.9133592,37.838317 L 5.6751235,39.065997 L 5.7785654,39.065997 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient13162);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path8279"
+ d="M 15.356073,8.5624999 L 35.08142,8.5624999"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ id="path323"
+ d="M 13.134476,20.138641 C 12.361729,25.129398 11.633175,29.147884 10.418486,33.652505 C 12.804971,32.945398 17.534602,30.448000 27.534602,30.448000 C 37.534602,30.448000 44.258175,21.199301 45.186253,20.094447 L 13.134476,20.138641 z "
+ style="fill:url(#linearGradient156);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 15.143007,10.5625 L 39.457831,10.5625"
+ id="path8281"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient155);stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible;opacity:0.52272727"
+ d="M 45.820083,19.687500 L 12.661612,19.687500 C 12.661612,19.687500 10.513864,35.707107 7.9393398,37.928078 C 16.060417,37.928078 39.510511,37.879442 39.530330,37.879442 C 41.281989,37.879442 44.437971,25.243248 45.820083,19.687500 z "
+ id="path324"
+ sodipodi:nodetypes="cccsc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path8283"
+ d="M 14.398767,12.5625 L 38.252159,12.5625"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000048;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 13.629028,14.5625 L 36.975331,14.5625"
+ id="path8285"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="cc"
+ id="path8287"
+ d="M 12.520679,16.5625 L 31.16684,16.5625"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 6.375,31.75 C 5.1336344,19.511961 13.5625,12.6875 12,2.9999999 L 42.875,2.9999999 L 12.875,3.6249999 C 14.125,13.1875 6.6786165,18.271447 6.375,31.75 z "
+ id="path8289"
+ sodipodi:nodetypes="ccccc" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="pattern" />
+</svg>
diff --git a/share/pixmaps/tryton/tryton-preferences-system-session.svg b/share/pixmaps/tryton/tryton-preferences-system-session.svg
new file mode 100644
index 0000000..27954bc
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-preferences-system-session.svg
@@ -0,0 +1,510 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
+ sodipodi:docname="preferences-system-session.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective75" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3844">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3846" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3848" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3832">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3834" />
+ <stop
+ style="stop-color:#e0e0e0;stop-opacity:1;"
+ offset="1"
+ id="stop3836" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2606"
+ inkscape:collect="always">
+ <stop
+ id="stop2608"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2610"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="36.403183"
+ x2="21.245468"
+ y1="29.420502"
+ x1="21.055086"
+ id="linearGradient2612"
+ xlink:href="#linearGradient2606"
+ inkscape:collect="always"
+ gradientTransform="matrix(0.900036,0.000000,0.000000,0.900036,1.822682,3.294402)" />
+ <linearGradient
+ id="linearGradient2402">
+ <stop
+ style="stop-color:#d8d8d8;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2404" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2406" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1.269447,0.000000,0.000000,1.269447,-11.95900,-11.26556)"
+ y2="16.334450"
+ x2="23.495136"
+ y1="25.350061"
+ x1="23.318359"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2400"
+ xlink:href="#linearGradient2402"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2392">
+ <stop
+ id="stop2394"
+ offset="0.0000000"
+ style="stop-color:#a0a0a0;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2396"
+ offset="1.0000000"
+ style="stop-color:#e7e7e7;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1.269447,0.000000,0.000000,1.269447,-8.817277,-11.26556)"
+ gradientUnits="userSpaceOnUse"
+ y2="33.835342"
+ x2="22.257700"
+ y1="38.077984"
+ x1="22.257700"
+ id="linearGradient2398"
+ xlink:href="#linearGradient2392"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2414"
+ inkscape:collect="always">
+ <stop
+ id="stop2416"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2418"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="7.1523275"
+ x2="32.951836"
+ y1="28.188753"
+ x1="33.740231"
+ id="linearGradient2420"
+ xlink:href="#linearGradient2414"
+ inkscape:collect="always"
+ gradientTransform="matrix(0.877849,0.000000,0.000000,0.938787,4.368430,1.430637)" />
+ <linearGradient
+ id="linearGradient10314">
+ <stop
+ id="stop10316"
+ offset="0.0000000"
+ style="stop-color:#f3f3f3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop10318"
+ offset="1.0000000"
+ style="stop-color:#838383;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1.269447,0.000000,0.000000,1.269447,-8.817277,-11.26556)"
+ gradientUnits="userSpaceOnUse"
+ y2="18.071468"
+ x2="33.558048"
+ y1="42.466652"
+ x1="33.761253"
+ id="linearGradient2390"
+ xlink:href="#linearGradient10314"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient1428">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop1430" />
+ <stop
+ style="stop-color:#729fcf"
+ offset="1"
+ id="stop1432" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient1428"
+ id="linearGradient1434"
+ x1="26.870058"
+ y1="6.634253"
+ x2="26.870058"
+ y2="44.464878"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.857967,0,0,0.83092,2.129344,0.177594)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3832"
+ id="linearGradient3838"
+ x1="17.88068"
+ y1="11.072588"
+ x2="17.88068"
+ y2="21.767578"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-0.441941)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3844"
+ id="radialGradient3850"
+ cx="35.1875"
+ cy="43.875"
+ fx="35.1875"
+ fy="43.875"
+ r="6.6875"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.355140,2.228598e-14,28.29322)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3844"
+ id="radialGradient3854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.355140,1.780868e-14,28.29322)"
+ cx="35.1875"
+ cy="43.875"
+ fx="35.1875"
+ fy="43.875"
+ r="6.6875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3832"
+ id="linearGradient3866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,-0.441941)"
+ x1="17.88068"
+ y1="11.072588"
+ x2="17.88068"
+ y2="21.767578" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#204a87"
+ fill="#204a87"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-97.843136"
+ inkscape:cy="1.9432934"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="872"
+ inkscape:window-height="688"
+ inkscape:window-x="189"
+ inkscape:window-y="160" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Preferences Session</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>session</rdf:li>
+ <rdf:li>restart</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g5022"
+ transform="matrix(2.393555e-2,0,0,2.086758e-2,44.06037,36.07733)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <rect
+ style="opacity:1;color:black;fill:url(#linearGradient1434);fill-opacity:1;fill-rule:evenodd;stroke:#173764;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect1426"
+ width="38.978817"
+ height="37.896954"
+ x="3.3426924"
+ y="1.4303973"
+ rx="1.8561548"
+ ry="1.8561562" />
+ <g
+ transform="translate(10.94759,8.923608)"
+ id="g3860">
+ <rect
+ style="opacity:1;color:black;fill:url(#linearGradient3866);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3862"
+ width="16.086679"
+ height="15.884013"
+ x="5.5"
+ y="7.5499992"
+ rx="1.1061546"
+ ry="1.1061544" />
+ <rect
+ style="opacity:1;color:black;fill:#204a87;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3864"
+ width="13"
+ height="2"
+ x="7"
+ y="9"
+ rx="0.22227085"
+ ry="0.22227083" />
+ </g>
+ <g
+ id="g3822"
+ transform="translate(1.913321,0.950001)">
+ <rect
+ ry="1.1061544"
+ rx="1.1061546"
+ y="7.5499992"
+ x="5.5"
+ height="15.884013"
+ width="16.086679"
+ id="rect3818"
+ style="opacity:1;color:black;fill:url(#linearGradient3838);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ ry="0.22227083"
+ rx="0.22227085"
+ y="9"
+ x="7"
+ height="2"
+ width="13"
+ id="rect3820"
+ style="opacity:1;color:black;fill:#204a87;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ ry="1.1061546"
+ rx="1.106155"
+ y="2.4057"
+ x="4.3131418"
+ height="35.86237"
+ width="36.950188"
+ id="rect2317"
+ style="opacity:0.28654971;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:black;fill:black;fill-opacity:0.32121211;fill-rule:evenodd;stroke:none;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect1436"
+ width="37.940125"
+ height="2.9068542"
+ x="3.932059"
+ y="3.5159616"
+ rx="1.2374369"
+ ry="1.2374369" />
+ <rect
+ ry="1.2374369"
+ rx="1.2374369"
+ y="2.0159619"
+ x="3.932059"
+ height="2.9068542"
+ width="37.940125"
+ id="rect2311"
+ style="opacity:1;color:black;fill:white;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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.37426901;color:#000000;fill:url(#radialGradient3850);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3842"
+ sodipodi:cx="35.1875"
+ sodipodi:cy="43.875"
+ sodipodi:rx="6.6875"
+ sodipodi:ry="2.375"
+ d="M 41.875 43.875 A 6.6875 2.375 0 1 1 28.5,43.875 A 6.6875 2.375 0 1 1 41.875 43.875 z"
+ transform="matrix(1.962616,0.000000,0.000000,1.420561,-34.49705,-18.76460)" />
+ <g
+ id="g3782"
+ transform="matrix(0.659942,0.000000,0.000000,0.659942,17.35720,19.16306)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path8643"
+ d="M 18.29373,38.495233 L 32.503093,38.495233 C 44.172341,38.719641 44.53716,8.2053035 32.503093,8.3409562 L 18.29373,8.7977005 C 31.758245,9.246517 30.879494,38.719642 18.29373,38.495233 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient2390);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.51528597;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.27807486;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2420);stroke-width:1.51528549;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 22.011531,36.445279 L 32.715143,36.445279 C 42.14255,36.63916 42.363672,10.296814 32.870326,10.296814 L 22.011531,10.648128 C 32.578941,10.372067 32.179378,36.639161 22.011531,36.445279 z "
+ id="path2412"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient2398);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.51528537;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 32.179094,38.483424 L 16.906098,38.531056 C 13.315562,38.531056 8.5167326,34.691246 8.530485,27.381026 L 24.748746,27.381027 C 24.748746,33.440059 27.017695,38.707834 32.179094,38.483424 z "
+ id="path1618"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient2400);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.51528502;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 2.0049099,12.868422 L 16.316482,23.187659 L 35.921543,13.2798 L 25.598747,13.2798 C 25.598747,13.2798 28.434548,8.1522837 32.698311,8.3766928 C 32.698311,8.3766928 17.424776,8.6011019 17.424776,8.6011019 C 13.38542,8.3766928 11.858019,12.801456 11.858019,12.801456 L 2.0049099,12.868422 z "
+ id="path2388"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2604"
+ d="M 26.06304,37.062287 L 17.580704,37.097672 C 14.595102,37.097672 10.870969,34.085991 10.40387,28.814369 L 23.406968,28.81437 C 23.088758,32.360963 23.978822,34.365102 26.06304,37.062287 z "
+ style="opacity:0.81818183;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2612);stroke-width:1.51528442;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path2614"
+ d="M 6.7908383,14.416644 L 16.588074,21.339117 L 29.584743,14.830905 C 27.971751,14.889716 24.776252,14.830905 22.372006,14.830905 C 22.372006,14.830905 24.289195,11.404725 26.364969,10.135467 C 26.364969,10.135467 17.291753,10.697238 17.291753,10.697238 C 14.34477,10.533517 12.767134,14.416644 12.767134,14.416644 L 6.7908383,14.416644 z "
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.51528418;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ style="opacity:0.36257306;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3856"
+ width="6.6875"
+ height="1.6875"
+ x="5.3125"
+ y="2.625"
+ rx="0.42493689"
+ ry="0.42493689" />
+ <rect
+ ry="0.42493689"
+ rx="0.42493692"
+ y="2.625"
+ x="12.941436"
+ height="1.6875"
+ width="5.5"
+ id="rect3858"
+ style="opacity:0.36257306;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-preferences-system.svg b/share/pixmaps/tryton/tryton-preferences-system.svg
new file mode 100644
index 0000000..d41028f
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-preferences-system.svg
@@ -0,0 +1,398 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/categories"
+ sodipodi:docname="preferences-system.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective60" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2250">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2252" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2254" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2265">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2267" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2269" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2257">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2259" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2261" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3087">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop3089" />
+ <stop
+ id="stop3095"
+ offset="0"
+ style="stop-color:#9fbce1;stop-opacity:1;" />
+ <stop
+ style="stop-color:#6b95ca;stop-opacity:1;"
+ offset="0"
+ id="stop2242" />
+ <stop
+ id="stop2244"
+ offset="0.75"
+ style="stop-color:#3d6aa5;stop-opacity:1;" />
+ <stop
+ style="stop-color:#386eb4;stop-opacity:1;"
+ offset="1"
+ id="stop3091" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3077">
+ <stop
+ style="stop-color:#98a0a9;stop-opacity:1;"
+ offset="0"
+ id="stop3079" />
+ <stop
+ style="stop-color:#c3d0dd;stop-opacity:1;"
+ offset="1"
+ id="stop3081" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3061">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3063" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop3065" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3049">
+ <stop
+ style="stop-color:#b6b6b6;stop-opacity:1;"
+ offset="0"
+ id="stop3051" />
+ <stop
+ id="stop2262"
+ offset="0.5"
+ style="stop-color:#f2f2f2;stop-opacity:1;" />
+ <stop
+ style="stop-color:#fafafa;stop-opacity:1;"
+ offset="0.67612958"
+ id="stop2264" />
+ <stop
+ id="stop2268"
+ offset="0.84051722"
+ style="stop-color:#d8d8d8;stop-opacity:1;" />
+ <stop
+ id="stop2266"
+ offset="0.875"
+ style="stop-color:#f2f2f2;stop-opacity:1;" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop3053" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3041">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop3043" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop3045" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3041"
+ id="radialGradient3047"
+ cx="24.8125"
+ cy="39.125"
+ fx="24.8125"
+ fy="39.125"
+ r="17.6875"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.374558,7.194333e-15,24.47041)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3049"
+ id="linearGradient3055"
+ x1="19.648342"
+ y1="42.253601"
+ x2="20.631224"
+ y2="6.7758031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.878270,0.000000,0.000000,0.878270,2.536988,4.967681)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3061"
+ id="linearGradient3067"
+ x1="50.152931"
+ y1="-3.6324477"
+ x2="25.291086"
+ y2="-4.3002653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.878270,-1.375944e-15,1.375944e-15,0.878270,5.328299,1.650243)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3077"
+ id="linearGradient3083"
+ x1="38.227654"
+ y1="13.602527"
+ x2="37.53537"
+ y2="6.6285896"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.878270,0.000000,0.000000,0.878270,2.847503,5.588712)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3087"
+ id="linearGradient3093"
+ x1="9.7503242"
+ y1="32.28376"
+ x2="16.915297"
+ y2="39.443218"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.878270,0.000000,0.000000,0.878270,2.536988,4.967681)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2257"
+ id="linearGradient2263"
+ x1="12.004697"
+ y1="35.688461"
+ x2="10.650805"
+ y2="33.194965"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.007254,-2.636526e-2,2.636526e-2,1.007254,1.593411,7.919100e-2)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2265"
+ id="linearGradient2271"
+ x1="14.017542"
+ y1="36.942543"
+ x2="15.415793"
+ y2="38.268368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.878099,-1.732370e-2,1.732370e-2,0.878099,2.163687,4.067899)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2250"
+ id="linearGradient2256"
+ x1="31.177404"
+ y1="19.821514"
+ x2="40.859177"
+ y2="9.6568537"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3041"
+ id="radialGradient2260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.374558,7.272829e-15,24.47041)"
+ cx="24.8125"
+ cy="39.125"
+ fx="24.8125"
+ fy="39.125"
+ r="17.6875" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#204a87"
+ fill="#3465a4"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4"
+ inkscape:cx="19.425317"
+ inkscape:cy="26.37487"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="1034"
+ inkscape:window-height="818"
+ inkscape:window-x="400"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Preferences System</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>preferences</rdf:li>
+ <rdf:li>settings</rdf:li>
+ <rdf:li>control panel</rdf:li>
+ <rdf:li>tweaks</rdf:li>
+ <rdf:li>system</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ transform="matrix(0.751118,0.000000,0.000000,0.578703,17.04087,19.36341)"
+ d="M 42.5 39.125 A 17.6875 6.625 0 1 1 7.125,39.125 A 17.6875 6.625 0 1 1 42.5 39.125 z"
+ sodipodi:ry="6.625"
+ sodipodi:rx="17.6875"
+ sodipodi:cy="39.125"
+ sodipodi:cx="24.8125"
+ id="path2258"
+ style="opacity:0.19886367;color:#000000;fill:url(#radialGradient2260);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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:0.3125;color:#000000;fill:url(#radialGradient3047);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3039"
+ sodipodi:cx="24.8125"
+ sodipodi:cy="39.125"
+ sodipodi:rx="17.6875"
+ sodipodi:ry="6.625"
+ d="M 42.5 39.125 A 17.6875 6.625 0 1 1 7.125,39.125 A 17.6875 6.625 0 1 1 42.5 39.125 z"
+ transform="matrix(0.836071,0.000000,0.000000,0.685436,-7.959607,15.71781)" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient3055);fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 17.906713,21.215676 L 36.899302,40.6474 C 37.667788,41.52567 40.102812,42.204461 41.729787,40.6474 C 43.300913,39.143787 42.937408,37.024536 41.400436,35.487563 L 23.176333,15.946056 C 25.426333,9.696056 20.872444,4.446488 14.997444,5.571488 L 13.73493,6.7242174 L 17.687145,10.456865 L 17.906713,13.750381 L 14.955871,16.443984 L 11.429472,16.05584 L 7.8066086,12.652544 C 7.8066086,12.652544 6.5364873,13.907448 6.5364873,13.907448 C 5.9457238,19.548765 11.844213,24.590676 17.906713,21.215676 z "
+ id="path2140"
+ sodipodi:nodetypes="cczcccccccccsc" />
+ <path
+ sodipodi:nodetypes="cczccccccccccc"
+ id="path3057"
+ d="M 18.117385,19.9401 L 37.320267,39.967712 C 37.915174,40.647605 39.800194,41.173077 41.059681,39.967712 C 42.275934,38.803723 41.994534,37.163152 40.804721,35.973338 L 22.313189,16.352183 C 23.813189,9.852183 20.454401,6.3475455 15.454401,6.4725455 L 15.18427,6.7459223 L 18.787193,9.982189 L 18.917359,14.163983 L 15.303442,17.462466 L 11.061136,17.004257 L 7.8845536,14.012776 L 7.5319165,14.442835 C 7.2194165,20.411585 14.023635,23.1276 18.117385,19.9401 z "
+ style="opacity:0.42613639;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999917;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.17045456;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3067);stroke-width:0.9999972;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3059"
+ width="23.268276"
+ height="2.0554912"
+ x="28.185335"
+ y="-2.6184492"
+ rx="0.88388073"
+ ry="0.88388073"
+ transform="matrix(0.697938,0.716158,-0.716158,0.697938,0.000000,0.000000)" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient3083);fill-opacity:1;fill-rule:nonzero;stroke:#878f9d;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 22.498794,30.12538 C 23.332335,29.410917 35.782628,16.676871 35.782628,16.676871 L 38.856573,16.457303 L 43.687058,9.7604906 L 39.662731,6.1752987 L 33.405057,11.554705 L 33.405057,14.628651 L 20.670142,27.857593 C 20.066332,28.461403 21.730308,30.784082 22.498794,30.12538 z "
+ id="path2144"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path3085"
+ d="M 22.401987,29.085455 C 23.04876,28.531078 35.426388,15.855648 35.426388,15.855648 L 38.354971,15.607649 L 42.568887,9.945584 L 39.679156,7.3965946 L 34.202578,12.114067 L 34.357836,14.965022 L 21.681731,28.257345 C 21.213213,28.725863 21.805692,29.596565 22.401987,29.085455 z "
+ style="opacity:0.53977272;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2256);stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="color:#000000;fill:url(#linearGradient3093);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ d="M 8.4653111,43.611561 C 9.7818986,45.07679 13.438996,45.739726 15.060755,42.901647 C 15.767862,41.664211 17.154698,38.198845 23.341883,32.630379 C 24.381029,31.696208 25.481792,29.559241 24.54863,28.406512 L 22.133387,25.991269 C 21.145334,24.893432 18.398973,25.40552 17.272212,26.942145 C 13.913455,31.538339 8.4261393,35.197025 7.1887023,35.638967 C 4.8207828,36.484652 5.0872917,39.975116 6.6538792,41.635454 L 8.4653111,43.611561 z "
+ id="path2142"
+ sodipodi:nodetypes="ccccccscc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.13860166;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2146"
+ sodipodi:cx="41.875"
+ sodipodi:cy="37.5"
+ sodipodi:rx="1.375"
+ sodipodi:ry="1.375"
+ d="M 43.25 37.5 A 1.375 1.375 0 1 1 40.5,37.5 A 1.375 1.375 0 1 1 43.25 37.5 z"
+ transform="matrix(0.878270,0.000000,0.000000,0.878270,2.427204,5.077464)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.60227272;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3101"
+ sodipodi:cx="19.003494"
+ sodipodi:cy="28.20101"
+ sodipodi:rx="1.767767"
+ sodipodi:ry="1.767767"
+ d="M 20.771261 28.20101 A 1.767767 1.767767 0 1 1 17.235727,28.20101 A 1.767767 1.767767 0 1 1 20.771261 28.20101 z"
+ transform="matrix(0.570876,0.000000,0.000000,0.570876,9.154848,11.25111)" />
+ <path
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2263);stroke-width:2.29450917;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 18.678905,29.624807 C 18.678905,29.624807 11.509014,36.92442 8.1502573,38.161857"
+ id="path3103"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="csccccscc"
+ id="path2270"
+ d="M 8.8060013,42.48669 C 10.247267,44.232307 13.405535,44.647919 14.397161,42.116101 C 15.078468,40.376589 17.730783,36.450314 22.594745,32.072748 C 23.411654,31.338363 24.277003,29.658419 23.543411,28.752218 L 21.644704,26.853511 C 20.867961,25.990463 18.708951,26.393033 17.823164,27.601028 C 15.182728,31.214257 9.3398194,35.940582 7.9274145,36.406654 C 5.7406198,37.128264 6.1504221,39.627953 7.3819713,40.933203 L 8.8060013,42.48669 z "
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.19886364" />
+ <path
+ style="opacity:0.27840911;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2271);stroke-width:2.29450917;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 20.824602,31.261024 C 20.824602,31.261024 13.501839,37.878429 11.910849,42.121069"
+ id="path2247"
+ sodipodi:nodetypes="cc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-preferences.svg b/share/pixmaps/tryton/tryton-preferences.svg
new file mode 100644
index 0000000..47f0594
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-preferences.svg
@@ -0,0 +1,775 @@
+<?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://web.resource.org/cc/"
+ 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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.43+devel"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/categories"
+ sodipodi:docname="preferences-desktop.svg">
+ <defs
+ id="defs3">
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient24290">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop24292" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop24294" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient24276">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop24278" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop24280" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient24266">
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:1;"
+ offset="0"
+ id="stop24268" />
+ <stop
+ style="stop-color:#a5a5a5;stop-opacity:0;"
+ offset="1"
+ id="stop24270" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient24230">
+ <stop
+ style="stop-color:#677579;stop-opacity:1;"
+ offset="0"
+ id="stop24232" />
+ <stop
+ style="stop-color:#333333;stop-opacity:1;"
+ offset="1"
+ id="stop24234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11594">
+ <stop
+ id="stop11596"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop11598"
+ offset="1.0000000"
+ style="stop-color:#d1d1d1;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1.061966,0,0,0.837825,-0.593045,3.987819)"
+ gradientUnits="userSpaceOnUse"
+ y2="38.947163"
+ x2="31.799011"
+ y1="8.9471626"
+ x1="20.092352"
+ id="linearGradient11600"
+ xlink:href="#linearGradient11594"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient11602">
+ <stop
+ id="stop11604"
+ offset="0.0000000"
+ style="stop-color:#f6f6f6;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11606"
+ offset="1.0000000"
+ style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(1,0,0,0.837825,0.921766,3.987819)"
+ gradientUnits="userSpaceOnUse"
+ y2="39.447163"
+ x2="24.445671"
+ y1="12.947163"
+ x1="24.445671"
+ id="linearGradient11608"
+ xlink:href="#linearGradient11602"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient11615">
+ <stop
+ id="stop11617"
+ offset="0.0000000"
+ style="stop-color:#636363;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11619"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="4.7500000"
+ fy="27.749998"
+ fx="25.000000"
+ cy="27.749998"
+ cx="25.000000"
+ gradientTransform="matrix(3.070491,2.727143e-15,-3.444813e-15,3.878514,-51.46548,-78.83433)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient12909"
+ xlink:href="#linearGradient11615"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="27.375000"
+ x2="21.500000"
+ y1="30.000000"
+ x1="21.500000"
+ gradientTransform="matrix(0.985,0,0,1.022813,2.121141,-2.815681)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient12924"
+ xlink:href="#linearGradient11625"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="27.375000"
+ x2="21.500000"
+ y1="30.000000"
+ x1="21.500000"
+ gradientTransform="matrix(0.985,0,0,1,4.111767,-2.176922)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient12921"
+ xlink:href="#linearGradient11625"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient11625"
+ inkscape:collect="always">
+ <stop
+ id="stop11627"
+ offset="0"
+ style="stop-color:#fce94f;stop-opacity:1;" />
+ <stop
+ id="stop11629"
+ offset="1"
+ style="stop-color:#fce94f;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="27.375000"
+ x2="21.500000"
+ y1="30.000000"
+ x1="21.500000"
+ gradientTransform="matrix(1.01625,0,0,1,5.455516,-2.176922)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient12918"
+ xlink:href="#linearGradient11625"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ id="stop11522"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11524"
+ offset="1.0000000"
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508"
+ inkscape:collect="always">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11494"
+ inkscape:collect="always">
+ <stop
+ id="stop11496"
+ offset="0"
+ style="stop-color:#ef2929;stop-opacity:1;" />
+ <stop
+ id="stop11498"
+ offset="1"
+ style="stop-color:#ef2929;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11415">
+ <stop
+ id="stop11417"
+ offset="0.0000000"
+ style="stop-color:#204a87;stop-opacity:0.0000000;" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop11423" />
+ <stop
+ id="stop11419"
+ offset="1"
+ style="stop-color:#204a87;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11399"
+ inkscape:collect="always">
+ <stop
+ id="stop11401"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11403"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-60.28571,-0.285714)"
+ y2="34.462429"
+ x2="43.615788"
+ y1="3.7744560"
+ x1="15.828360"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11425"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-60.57143,0.000000)"
+ y2="39.033859"
+ x2="35.679932"
+ y1="9.3458843"
+ x1="9.6957054"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11427"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="33.462429"
+ x2="26.758644"
+ y1="19.774456"
+ x1="13.267134"
+ gradientTransform="translate(-60.85714,0.428571)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11439"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <radialGradient
+ r="8.5000000"
+ fy="39.142857"
+ fx="12.071428"
+ cy="39.142857"
+ cx="12.071428"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11441"
+ xlink:href="#linearGradient11399"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ r="3.8335034"
+ fy="15.048258"
+ fx="27.577173"
+ cy="15.048258"
+ cx="27.577173"
+ id="radialGradient11500"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ r="3.8335034"
+ fy="16.049133"
+ fx="27.577173"
+ cy="16.049133"
+ cx="27.577173"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11504"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ id="radialGradient11514"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.594876,-1.096233e-32,0,1.324258,-12.15047,-8.05841)"
+ gradientUnits="userSpaceOnUse"
+ r="20.530962"
+ fy="35.878170"
+ fx="24.445690"
+ cy="35.878170"
+ cx="24.445690"
+ id="radialGradient11526"
+ xlink:href="#linearGradient11520"
+ inkscape:collect="always" />
+ <radialGradient
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ gradientTransform="matrix(1,0,0,0.338462,8.404809e-16,29.48178)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11532"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1348"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1350"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1352"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="16.049133"
+ fx="27.577173"
+ fy="16.049133"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="15.048258"
+ fx="27.577173"
+ fy="15.048258"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1356"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient24230"
+ id="linearGradient24236"
+ x1="12.51301"
+ y1="30.585787"
+ x2="12.51301"
+ y2="16.885592"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.587604,4.082334,17.55158)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient24230"
+ id="linearGradient24240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.587604,12.05631,17.52556)"
+ x1="12.51301"
+ y1="30.585787"
+ x2="12.51301"
+ y2="16.885592" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient24230"
+ id="linearGradient24244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.587604,20.05631,17.52556)"
+ x1="12.51301"
+ y1="30.585787"
+ x2="12.51301"
+ y2="16.885592" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient24266"
+ id="linearGradient24272"
+ x1="23.5"
+ y1="19.812498"
+ x2="23.5"
+ y2="12.687223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-5.631256e-2,-1.904751)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient24276"
+ id="radialGradient24282"
+ cx="24.90625"
+ cy="35.46875"
+ fx="24.90625"
+ fy="35.46875"
+ r="17.40625"
+ gradientTransform="matrix(1,0,0,0.321364,0,24.07035)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient24290"
+ id="linearGradient24296"
+ x1="24.53125"
+ y1="19.0625"
+ x2="26.3125"
+ y2="40.25"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#ef2929"
+ fill="#eeeeec"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="28.237586"
+ inkscape:cy="23.130045"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="1022"
+ inkscape:window-x="592"
+ inkscape:window-y="87" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
+ <dc:title>Desktop Preferences</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>preferences</rdf:li>
+ <rdf:li>system</rdf:li>
+ <rdf:li>category</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Attribution" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(1.980175e-2,0,0,2.086758e-2,42.3611,37.40314)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ ry="0.85863549"
+ rx="0.8586359"
+ y="16.595242"
+ x="8.526021"
+ height="23.868273"
+ width="32.026016"
+ id="rect11518"
+ style="opacity:1;color:#000000;fill:url(#radialGradient11526);fill-opacity:1;fill-rule:evenodd;stroke:#9b9b9b;stroke-width:1.00000107;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect11528"
+ width="30.026011"
+ height="21.868261"
+ x="9.5260162"
+ y="17.595253"
+ rx="0"
+ ry="0"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:1;color:#000000;fill:url(#linearGradient24236);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect23355"
+ width="5.0260191"
+ height="9.9739799"
+ x="14.082334"
+ y="26.953245"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="26.927225"
+ x="22.056313"
+ height="9.9739799"
+ width="5.0260191"
+ id="rect24238"
+ style="opacity:1;color:#000000;fill:url(#linearGradient24240);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:url(#linearGradient24244);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24242"
+ width="5.0260191"
+ height="9.9739799"
+ x="30.056313"
+ y="26.927225"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#9b9b9b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24246"
+ width="6.000001"
+ height="5.0190296"
+ x="13.608355"
+ y="26.434216"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="32.434219"
+ x="21.608353"
+ height="5.0190296"
+ width="6.000001"
+ id="rect24248"
+ style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#9b9b9b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#9b9b9b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24250"
+ width="6.000001"
+ height="5.0190296"
+ x="29.608353"
+ y="32.434219"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24252"
+ width="4.1083536"
+ height="3.0467544"
+ x="14.578023"
+ y="27.422916"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="33.453247"
+ x="22.5"
+ height="3.0467544"
+ width="4.1083536"
+ id="rect24254"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24256"
+ width="4.1083536"
+ height="3.0467544"
+ x="30.5"
+ y="33.453247"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient24272);fill-opacity:1;fill-rule:nonzero;stroke:#787878;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 8.4436874,18.595245 L 4.9436874,8.5952472 L 44.943687,8.5952472 L 40.631187,18.595245 L 8.4436874,18.595245 z "
+ id="path24258"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="ccccc" />
+ <rect
+ style="opacity:1;color:#000000;fill:#dddddd;fill-opacity:1;fill-rule:nonzero;stroke:#9f9f9f;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24260"
+ width="41.000019"
+ height="2.9375"
+ x="4.4436893"
+ y="8.5952492"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:1;color:#000000;fill:#dddddd;fill-opacity:1;fill-rule:nonzero;stroke:#9f9f9f;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24262"
+ width="5.5625"
+ height="2"
+ x="11.443687"
+ y="17.595249"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ rx="1"
+ ry="1" />
+ <rect
+ ry="1"
+ rx="1"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="17.595249"
+ x="31.881187"
+ height="2"
+ width="5.5625"
+ id="rect24264"
+ style="opacity:1;color:#000000;fill:#dddddd;fill-opacity:1;fill-rule:nonzero;stroke:#9f9f9f;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="opacity:0.43406593;color:#000000;fill:#9f9f9f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect24284"
+ width="16.0625"
+ height="2"
+ x="13"
+ y="22"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ rx="1"
+ ry="1" />
+ <path
+ style="opacity:0.83406587;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 5,11 L 5,9 L 45,9 L 44,10 L 6,10 L 5,11 z "
+ id="path24286"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="opacity:0.0989011;color:#000000;fill:url(#linearGradient24296);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 9,19.1875 L 9,26.21783 L 10,25.40533 C 26.722274,25.874463 30.770833,25.541667 39,30.625 L 40.0625,31.9375 L 40,19.0625 L 9,19.1875 z "
+ id="path24288"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-print-email.svg b/share/pixmaps/tryton/tryton-print-email.svg
new file mode 100644
index 0000000..ff4da77
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-print-email.svg
@@ -0,0 +1,882 @@
+<?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"
+ sodipodi:docname="mail-message-new.svg"
+ inkscape:version="0.48.1 r9760"
+ sodipodi:version="0.32"
+ id="svg5816"
+ height="48px"
+ width="48px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective74" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient2274">
+ <stop
+ style="stop-color:#000000;stop-opacity:0.12871288;"
+ offset="0.0000000"
+ id="stop2276" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2278" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9749">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9751" />
+ <stop
+ style="stop-color:#ededed;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop9753" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2152">
+ <stop
+ style="stop-color:#9aa29a;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2154" />
+ <stop
+ style="stop-color:#b5beb5;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2156" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2166">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2168" />
+ <stop
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2170" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18913">
+ <stop
+ style="stop-color:#ededed;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop18915" />
+ <stop
+ style="stop-color:#c8c8c8;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop18917" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2136">
+ <stop
+ style="stop-color:#989690;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2138" />
+ <stop
+ style="stop-color:#656460;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2140" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15107">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop15109" />
+ <stop
+ style="stop-color:#e2e2e2;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop15111" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10691"
+ inkscape:collect="always">
+ <stop
+ id="stop10693"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop10695"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="7.2284161"
+ fy="73.615714"
+ fx="6.7027131"
+ cy="73.615714"
+ cx="6.7027131"
+ gradientTransform="scale(1.902215,0.525703)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11382"
+ xlink:href="#linearGradient10691"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="32.203162"
+ x2="9.7619219"
+ y1="37.784682"
+ x1="8.7803760"
+ gradientTransform="matrix(2.394900,0.000000,0.000000,0.781058,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27463"
+ xlink:href="#linearGradient2274"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="24.132717"
+ x2="21.111549"
+ y1="13.686079"
+ x1="11.233107"
+ gradientTransform="matrix(1.370928,0.000000,0.000000,1.443758,2.431133,-0.140786)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27468"
+ xlink:href="#linearGradient9749"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.090678"
+ x2="9.8855033"
+ y1="37.197018"
+ x1="8.9156475"
+ gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27471"
+ xlink:href="#linearGradient2152"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.090678"
+ x2="9.8855033"
+ y1="37.197018"
+ x1="8.9156475"
+ gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27474"
+ xlink:href="#linearGradient2152"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="29.568739"
+ x2="15.310744"
+ y1="15.148383"
+ x1="10.184240"
+ gradientTransform="matrix(1.819266,0.000000,0.000000,1.028193,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27477"
+ xlink:href="#linearGradient2166"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="17.876846"
+ x2="13.467486"
+ y1="7.2310905"
+ x1="5.8266134"
+ gradientTransform="matrix(1.570607,0.000000,0.000000,1.190976,2.879512,0.343005)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27483"
+ xlink:href="#linearGradient18913"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="26.022910"
+ x2="18.475286"
+ y1="4.7461626"
+ x1="11.572842"
+ gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27486"
+ xlink:href="#linearGradient15107"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="15.257116"
+ x2="30.599684"
+ y1="15.257116"
+ x1="2.0618774"
+ gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27488"
+ xlink:href="#linearGradient2136"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient1558"
+ gradientUnits="userSpaceOnUse"
+ cx="55.000000"
+ cy="125.00000"
+ fx="55.000000"
+ fy="125.00000"
+ r="14.375000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048-1"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient5048-1">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-7" />
+ <stop
+ id="stop5056-0"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-6" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-0"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-0">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-4" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-0"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ y2="88.29493"
+ x2="18.972126"
+ y1="88.29493"
+ x1="1.845643"
+ gradientTransform="matrix(2.30272,0,0,0.437918,0,0.584034)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1471"
+ xlink:href="#linearGradient4668"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4668">
+ <stop
+ id="stop4670"
+ offset="0"
+ style="stop-color:#8e8d87;stop-opacity:1;" />
+ <stop
+ style="stop-color:#cbc9c1;stop-opacity:1.0000000;"
+ offset="0.27586207"
+ id="stop4676" />
+ <stop
+ id="stop4672"
+ offset="1.0000000"
+ style="stop-color:#8e8d87;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ y2="88.29493"
+ x2="18.972126"
+ y1="88.29493"
+ x1="1.845643"
+ gradientTransform="matrix(2.291824,0,0,0.434269,0.08855179,2)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1468"
+ xlink:href="#linearGradient4741"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4741">
+ <stop
+ id="stop4743"
+ offset="0.0000000"
+ style="stop-color:#dcdcda;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4745"
+ offset="1.0000000"
+ style="stop-color:#bab9b7;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ y2="58.831264"
+ x2="15.487823"
+ y1="32.539238"
+ x1="15.387969"
+ gradientTransform="matrix(1.492569,0,0,0.668741,0.08188072,2)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1464"
+ xlink:href="#linearGradient4762"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4762">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.12371134;"
+ offset="0.0000000"
+ id="stop4764" />
+ <stop
+ id="stop4768"
+ offset="0.10344828"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4766" />
+ </linearGradient>
+ <linearGradient
+ y2="25.247311"
+ x2="24.789707"
+ y1="3.6785457"
+ x1="25.056711"
+ gradientTransform="matrix(0.94571,0,0,1.076032,0.05016683,4.095404)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1459"
+ xlink:href="#linearGradient259"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.40546969"
+ id="stop4886" />
+ <stop
+ style="stop-color:#cdcdcd;stop-opacity:1.0000000;"
+ offset="0.53448278"
+ id="stop4884" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#494949;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ y2="19.337463"
+ x2="20.7178"
+ y1="25.140253"
+ x1="20.771229"
+ gradientTransform="matrix(1.198769,0,0,0.853565,-0.143086,2.034513)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1456"
+ xlink:href="#linearGradient15662"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1.0000000"
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ y2="54.136139"
+ x2="10.338233"
+ y1="64.65226"
+ x1="10.338233"
+ gradientTransform="matrix(2.369844,0,0,0.421969,0,2)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1451"
+ xlink:href="#linearGradient4680"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4680"
+ inkscape:collect="always">
+ <stop
+ id="stop4682"
+ offset="0"
+ style="stop-color:#f7f6f5;stop-opacity:1;" />
+ <stop
+ id="stop4684"
+ offset="1"
+ style="stop-color:#f7f6f5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="62.282467"
+ x2="9.7052784"
+ y1="70.724976"
+ x1="9.7316532"
+ gradientTransform="matrix(2.369844,0,0,0.421969,0,2)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1453"
+ xlink:href="#linearGradient4688"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4688">
+ <stop
+ id="stop4690"
+ offset="0.0000000"
+ style="stop-color:#666666;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4692"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="2.1227016"
+ fy="26.925594"
+ fx="9.129549"
+ cy="26.925594"
+ cx="9.129549"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1433"
+ xlink:href="#linearGradient4698"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4698">
+ <stop
+ id="stop4700"
+ offset="0.0000000"
+ style="stop-color:#fffffd;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#bbbbb9;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4706" />
+ <stop
+ id="stop4702"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ y2="72.064316"
+ x2="9.9128132"
+ y1="57.22765"
+ x1="9.8698082"
+ gradientTransform="matrix(2.772086,0,0,0.360739,0.618718,2.883883)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1447"
+ xlink:href="#linearGradient4733"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4733">
+ <stop
+ id="stop4735"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.23711340;" />
+ <stop
+ id="stop4737"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="105"
+ inkscape:window-x="316"
+ inkscape:window-height="543"
+ inkscape:window-width="912"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="32.243573"
+ inkscape:cx="36.042151"
+ inkscape:zoom="2.8284271"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson, Steven Garrity</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>mail</rdf:li>
+ <rdf:li>e-mail</rdf:li>
+ <rdf:li>MUA</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.312904e-2,0,0,1.485743e-2,45.32054,39.61432)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ style="fill:url(#linearGradient27486);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient27488);stroke-width:0.85660440;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 6.3334395,16.972251 L 6.3334395,41.481799 L 43.305555,41.481799 L 43.244499,17.089859 C 43.241050,15.712272 31.395999,2.4121110 29.210877,2.4121110 L 20.659391,2.4121110 C 18.362072,2.4121110 6.3334395,15.673953 6.3334395,16.972251 z "
+ id="path12723"
+ sodipodi:nodetypes="ccczzzz" />
+ <path
+ style="fill:url(#linearGradient27483);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.9230610,16.787103 C 6.5250222,16.356975 18.809966,3.0935378 20.667210,3.0935378 L 29.042965,3.0935378 C 30.790449,3.0935378 43.079567,16.221603 42.470079,16.978956 L 31.608858,30.475150 L 19.295373,30.156846 L 6.9230610,16.787103 z "
+ id="path18153"
+ sodipodi:nodetypes="czzzccz" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 19.077530,30.017590 L 11.744526,21.271586 L 36.562951,14.335513 L 39.592221,20.551966 L 32.175956,29.992298"
+ id="path2164"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.291767,29.836259 L 10.809167,21.026146 L 35.456637,14.132812 L 38.630714,20.403811 L 31.390193,29.810968"
+ id="path2162"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.775313,29.957146 L 11.100386,21.296624 L 36.068405,14.232329 L 39.354114,20.824726 L 31.873739,29.931855"
+ id="path2160"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient27477);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 18.593984,30.440693 L 11.260975,21.694689 L 35.972554,14.801355 L 39.083369,21.188770 L 31.963198,30.174701"
+ id="path15105"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient27474);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 20.488434,29.064331 L 7.0924698,40.036319 L 21.001312,30.432013 L 30.019470,30.432013 L 42.438517,39.914206 L 30.575092,29.064331 L 20.488434,29.064331 z "
+ id="path14245"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="color:#000000;fill:url(#linearGradient27471);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.9634751,16.885144 L 18.479648,31.201334 L 19.548151,30.346532 L 6.9634751,16.885144 z "
+ id="path14339"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient27468);stroke-width:0.85660428;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 7.3077115,17.131415 L 7.3388644,40.342421 L 42.283659,40.342421 L 42.221353,17.257512 C 42.219329,16.508413 31.005032,3.4591863 28.837233,3.4591863 L 20.941579,3.4591863 C 18.689313,3.4591863 7.3066655,16.351067 7.3077115,17.131415 z "
+ id="path15103"
+ sodipodi:nodetypes="ccczzzz" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 20.957271,30.452732 L 9.0157722,38.723588 L 11.235205,38.729695 L 21.233330,31.860755 L 30.055238,30.437917 L 20.957271,30.452732 z "
+ id="path17393"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 11.427536,21.670296 L 12.752479,23.080719 L 35.543311,16.196529 L 38.458445,21.878896 L 39.072496,21.166981 L 36.003081,14.789145 L 11.427536,21.670296 z "
+ id="path2174"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="fill:url(#linearGradient27463);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 13.308098,23.636340 L 19.334450,30.090093 L 20.531174,29.064331 L 30.617831,29.107071 L 31.429893,29.833651 L 35.404721,25.089502 C 34.250740,23.679081 13.308098,23.636340 13.308098,23.636340 z "
+ id="path2272"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path27492"
+ d="M 41.812936,17.847945 L 31.861315,30.479232 L 30.792812,29.624431 L 41.812936,17.847945 z "
+ style="color:#000000;fill:#b1b1b1;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <g
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline"
+ transform="translate(5.000000e-7,2.500000e-6)">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient1558);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500002;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block"
+ id="path12511"
+ sodipodi:cx="55.000000"
+ sodipodi:cy="125.00000"
+ sodipodi:rx="14.375000"
+ sodipodi:ry="14.375000"
+ d="m 69.375,125 c 0,7.93909 -6.435907,14.375 -14.375,14.375 -7.939093,0 -14.375,-6.43591 -14.375,-14.375 0,-7.93909 6.435907,-14.375 14.375,-14.375 7.939093,0 14.375,6.43591 14.375,14.375 z"
+ transform="matrix(0.783292,0.000000,0.000000,0.783292,-6.340883,-86.65168)"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-ydpi="33.852203" />
+ </g>
+ <g
+ transform="matrix(0.6,0,0,0.6,-0.36274396,19.819636)"
+ id="g3211">
+ <g
+ id="g6707"
+ transform="matrix(0.02311016,0,0,0.02271533,44.68502,39.36099)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect6709"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc"
+ id="path6711"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path6713"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <rect
+ style="fill:url(#linearGradient1471);fill-opacity:1;stroke:#595959;stroke-width:0.99999982;stroke-miterlimit:4;stroke-opacity:1"
+ id="rect4652"
+ width="38.4375"
+ height="6.4915943"
+ x="4.75"
+ y="36.004189"
+ rx="1.7115483"
+ ry="1.7115477" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient1468);fill-opacity:1;fill-rule:nonzero;stroke:#676767;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 7.1308961,21.5 33.7397189,0 c 0.385046,0 0.877033,0.288155 1.180434,0.723919 0.303402,0.435765 1.736469,2.610021 2.058399,3.074045 0.32193,0.464023 0.392949,0.903888 0.392949,1.476085 l 0,12.076902 c 0,0.913573 -0.731995,1.649049 -1.641245,1.649049 l -37.7207924,0 c -0.9092502,0 -1.6412458,-0.735476 -1.6412458,-1.649049 l 0,-12.076902 c 0,-0.494018 0.101166,-1.202408 0.4464064,-1.653331 0.4356464,-0.569005 1.6043462,-2.547948 1.9126074,-2.9676 C 6.1663887,21.733467 6.7324461,21.5 7.1308961,21.5 z"
+ id="rect4609"
+ sodipodi:nodetypes="cssssssssssss" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#fbfbfb;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 7.4246212,21.975532 c -0.5027281,0 -1.1197436,0.07825 -1.3700193,0.491498 l -1.9003496,3.137786 c -0.2821238,0.465832 0.033946,1.263325 0.9330583,1.263325 l 37.6434754,0 c 1.309946,0 1.219747,-1.010068 0.933058,-1.440102 l -1.767767,-2.65165 c -0.320533,-0.4808 -0.436878,-0.800857 -1.237437,-0.800857 l -33.2340188,0 z"
+ id="path4718"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssssssssssss"
+ id="path4750"
+ d="m 7.60536,22.445756 32.827313,0 c 0.365678,0 0.832919,0.272873 1.12106,0.685527 0.28814,0.412655 1.296231,2.029662 1.601968,2.469077 0.305736,0.439415 0.435569,0.855952 0.435569,1.397804 l 0,11.281097 c 0,0.865124 -0.133723,1.249095 -0.997239,1.249095 l -37.0618042,0 c -0.863516,0 -1.0596221,-0.383971 -1.0596221,-1.249095 l 0,-11.281097 c 0,-0.467819 0.2208451,-1.138641 0.5487202,-1.56565 C 5.435059,24.893685 6.1038541,23.461633 6.3966101,23.064237 6.6893662,22.666841 7.2269515,22.445756 7.60536,22.445756 z"
+ style="color:#000000;fill:none;stroke:url(#linearGradient1464);stroke-width:0.94696712;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient1459);fill-opacity:1;fill-rule:nonzero;stroke:#898989;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 11.672962,4.4999475 24.652154,0 c 0.650765,0 1.174664,0.5101302 1.174664,1.1437896 l 0,18.7044389 -27.001482,0 0,-18.7044389 c 0,-0.6336594 0.523899,-1.1437896 1.174664,-1.1437896 z"
+ id="rect15391"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ rx="0.17677672"
+ ry="0.17677675"
+ y="5.4992466"
+ x="11.498513"
+ height="18.836374"
+ width="25.000576"
+ id="rect15660"
+ style="color:#000000;fill:none;stroke:url(#linearGradient1456);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ style="fill:url(#linearGradient1451);fill-opacity:1;stroke:url(#linearGradient1453);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ id="rect4678"
+ width="33.75"
+ height="5.1875"
+ x="6.875"
+ y="27.375"
+ rx="1.7115483"
+ ry="1.7115483" />
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient1433);fill-opacity:1;stroke:none"
+ id="path4696"
+ sodipodi:cx="9.5901356"
+ sodipodi:cy="27.626486"
+ sodipodi:rx="1.281631"
+ sodipodi:ry="1.281631"
+ d="m 10.871767,27.626486 c 0,0.707825 -0.573806,1.281631 -1.2816314,1.281631 -0.7078253,0 -1.281631,-0.573806 -1.281631,-1.281631 0,-0.707825 0.5738057,-1.281631 1.281631,-1.281631 0.7078254,0 1.2816314,0.573806 1.2816314,1.281631 z"
+ transform="translate(0,2)" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.36571428;fill:url(#linearGradient1447);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 11.743718,25.416053 25.5625,0.0625 c 0.687498,0.0017 0.98782,-0.370995 0.9375,-1 l -0.125,-1.5625 1.866117,0 c 0.8125,0 0.9902,0.192563 1.1875,0.5625 l 0.5,0.9375 c 0.526795,0.98774 1.811173,1.974112 0.49816,1.974112 -4.502711,0 -28.176777,-0.349112 -30.426777,-0.974112 z"
+ id="path4731"
+ sodipodi:nodetypes="csscssssc" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc"
+ id="path4760"
+ d="m 43.488808,26.5 -38.9776275,0"
+ style="fill:none;stroke:#ffffff;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g4849"
+ style="opacity:0.43575416"
+ transform="translate(0,2)">
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4833"
+ width="19"
+ height="1"
+ x="14"
+ y="7" />
+ <rect
+ y="9"
+ x="14"
+ height="1"
+ width="19"
+ id="rect4835"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4837"
+ width="19"
+ height="1"
+ x="14"
+ y="11" />
+ <rect
+ y="13"
+ x="14"
+ height="1"
+ width="11"
+ id="rect4839"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="17"
+ x="14"
+ height="1"
+ width="19"
+ id="rect4843"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4845"
+ width="19"
+ height="1"
+ x="14"
+ y="19" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-print-open.svg b/share/pixmaps/tryton/tryton-print-open.svg
new file mode 100644
index 0000000..fb31b88
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-print-open.svg
@@ -0,0 +1,868 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg249"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 r9760"
+ sodipodi:docname="tryton-print-open.svg"
+ inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
+ inkscape:export-xdpi="240.00000"
+ inkscape:export-ydpi="240.00000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective69" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,-6.310056e-16,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop15664" />
+ <stop
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop15666" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="64.5679"
+ fx="20.8921"
+ r="5.257"
+ cy="64.5679"
+ cx="20.8921"
+ id="aigrd3">
+ <stop
+ id="stop15573"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop15575"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ offset="1.0000000" />
+ </radialGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ fy="114.5684"
+ fx="20.8921"
+ r="5.256"
+ cy="114.5684"
+ cx="20.8921"
+ id="aigrd2">
+ <stop
+ id="stop15566"
+ style="stop-color:#F0F0F0"
+ offset="0" />
+ <stop
+ id="stop15568"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ offset="1.0000000" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop270" />
+ <stop
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop271" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ style="stop-color:#fafafa;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop260" />
+ <stop
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop261" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop12513" />
+ <stop
+ style="stop-color:#fff520;stop-opacity:0.89108908;"
+ offset="0.50000000"
+ id="stop12517" />
+ <stop
+ style="stop-color:#fff300;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop12514" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient278"
+ gradientUnits="userSpaceOnUse"
+ cx="55.000000"
+ cy="125.00000"
+ fx="55.000000"
+ fy="125.00000"
+ r="14.375000" />
+ <radialGradient
+ r="37.751713"
+ fy="3.7561285"
+ fx="8.8244190"
+ cy="3.7561285"
+ cx="8.8244190"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient15656"
+ xlink:href="#linearGradient269"
+ inkscape:collect="always" />
+ <radialGradient
+ r="86.708450"
+ fy="35.736916"
+ fx="33.966679"
+ cy="35.736916"
+ cx="33.966679"
+ gradientTransform="scale(0.960493,1.041132)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient15658"
+ xlink:href="#linearGradient259"
+ inkscape:collect="always" />
+ <radialGradient
+ r="38.158695"
+ fy="7.2678967"
+ fx="8.1435566"
+ cy="7.2678967"
+ cx="8.1435566"
+ gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient15668"
+ xlink:href="#linearGradient15662"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="radialGradient2283"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ cx="20.8921"
+ cy="114.5684"
+ fx="20.8921"
+ fy="114.5684"
+ r="5.256" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd3"
+ id="radialGradient2285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
+ cx="20.8921"
+ cy="64.5679"
+ fx="20.8921"
+ fy="64.5679"
+ r="5.257" />
+ <linearGradient
+ id="linearGradient5048-1">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-7" />
+ <stop
+ id="stop5056-0"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-6" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-0">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-4" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4668">
+ <stop
+ id="stop4670"
+ offset="0"
+ style="stop-color:#8e8d87;stop-opacity:1;" />
+ <stop
+ style="stop-color:#cbc9c1;stop-opacity:1.0000000;"
+ offset="0.27586207"
+ id="stop4676" />
+ <stop
+ id="stop4672"
+ offset="1.0000000"
+ style="stop-color:#8e8d87;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4741">
+ <stop
+ id="stop4743"
+ offset="0.0000000"
+ style="stop-color:#dcdcda;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4745"
+ offset="1.0000000"
+ style="stop-color:#bab9b7;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4762">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.12371134;"
+ offset="0.0000000"
+ id="stop4764" />
+ <stop
+ id="stop4768"
+ offset="0.10344828"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4766" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259-7">
+ <stop
+ id="stop260-6"
+ offset="0.0000000"
+ style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.40546969"
+ id="stop4886" />
+ <stop
+ style="stop-color:#cdcdcd;stop-opacity:1.0000000;"
+ offset="0.53448278"
+ id="stop4884" />
+ <stop
+ id="stop261-9"
+ offset="1.0000000"
+ style="stop-color:#494949;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662-7">
+ <stop
+ id="stop15664-0"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+ <stop
+ id="stop15666-3"
+ offset="1.0000000"
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4680"
+ inkscape:collect="always">
+ <stop
+ id="stop4682"
+ offset="0"
+ style="stop-color:#f7f6f5;stop-opacity:1;" />
+ <stop
+ id="stop4684"
+ offset="1"
+ style="stop-color:#f7f6f5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4688">
+ <stop
+ id="stop4690"
+ offset="0.0000000"
+ style="stop-color:#666666;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4692"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4698">
+ <stop
+ id="stop4700"
+ offset="0.0000000"
+ style="stop-color:#fffffd;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#bbbbb9;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4706" />
+ <stop
+ id="stop4702"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4733">
+ <stop
+ id="stop4735"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.23711340;" />
+ <stop
+ id="stop4737"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048-1"
+ id="linearGradient35618"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-0"
+ id="radialGradient35620"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-0"
+ id="radialGradient35622"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4668"
+ id="linearGradient35624"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.30272,0,0,0.437918,0,0.584034)"
+ x1="1.845643"
+ y1="88.29493"
+ x2="18.972126"
+ y2="88.29493" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4741"
+ id="linearGradient35626"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.291824,0,0,0.434269,0.08855179,2)"
+ x1="1.845643"
+ y1="88.29493"
+ x2="18.972126"
+ y2="88.29493" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4762"
+ id="linearGradient35628"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.492569,0,0,0.668741,0.08188072,2)"
+ x1="15.387969"
+ y1="32.539238"
+ x2="15.487823"
+ y2="58.831264" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259-7"
+ id="linearGradient35630"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.94571,0,0,1.076032,0.05016683,4.095404)"
+ x1="25.056711"
+ y1="3.6785457"
+ x2="24.789707"
+ y2="25.247311" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662-7"
+ id="linearGradient35632"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.198769,0,0,0.853565,-0.143086,2.034513)"
+ x1="20.771229"
+ y1="25.140253"
+ x2="20.7178"
+ y2="19.337463" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4680"
+ id="linearGradient35634"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.369844,0,0,0.421969,0,2)"
+ x1="10.338233"
+ y1="64.65226"
+ x2="10.338233"
+ y2="54.136139" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4688"
+ id="linearGradient35636"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.369844,0,0,0.421969,0,2)"
+ x1="9.7316532"
+ y1="70.724976"
+ x2="9.7052784"
+ y2="62.282467" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4698"
+ id="radialGradient35638"
+ gradientUnits="userSpaceOnUse"
+ cx="9.129549"
+ cy="26.925594"
+ fx="9.129549"
+ fy="26.925594"
+ r="2.1227016" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4733"
+ id="linearGradient35640"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.772086,0,0,0.360739,0.618718,2.883883)"
+ x1="9.8698082"
+ y1="57.22765"
+ x2="9.9128132"
+ y2="72.064316" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.32941176"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="13.867684"
+ inkscape:cy="22.33948"
+ inkscape:current-layer="layer4"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="652"
+ inkscape:window-height="588"
+ inkscape:window-x="166"
+ inkscape:window-y="151"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="0" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Shadow"
+ id="layer6"
+ inkscape:groupmode="layer" />
+ <g
+ id="layer1"
+ inkscape:label="Base"
+ inkscape:groupmode="layer"
+ style="display:inline" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer4"
+ inkscape:label="new"
+ style="display:inline">
+ <g
+ id="g35349">
+ <g
+ transform="matrix(0.02165152,0,0,0.01485743,43.0076,42.68539)"
+ id="g5022"
+ style="display:inline">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect4173"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path5058"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5018"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ style="display:block;color:#000000;fill:url(#radialGradient15658);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;overflow:visible"
+ id="rect15391"
+ width="34.875000"
+ height="40.920494"
+ x="6.6035528"
+ y="3.6464462"
+ ry="1.1490486" />
+ <rect
+ style="display:block;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;overflow:visible"
+ id="rect15660"
+ width="32.775887"
+ height="38.946384"
+ x="7.6660538"
+ y="4.5839462"
+ ry="0.14904857"
+ rx="0.14904857" />
+ <g
+ transform="translate(0.646447,-0.03798933)"
+ id="g2270"
+ style="display:inline">
+ <g
+ id="g1440"
+ style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
+ transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)">
+ <radialGradient
+ id="radialGradient1442"
+ cx="20.892099"
+ cy="114.56840"
+ r="5.2560000"
+ fx="20.892099"
+ fy="114.56840"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop1444" />
+ <stop
+ offset="1"
+ style="stop-color:#474747"
+ id="stop1446" />
+ </radialGradient>
+ <path
+ style="stroke:none"
+ d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
+ id="path1448" />
+ <radialGradient
+ id="radialGradient1450"
+ cx="20.892099"
+ cy="64.567902"
+ r="5.2570000"
+ fx="20.892099"
+ fy="64.567902"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop1452" />
+ <stop
+ offset="1"
+ style="stop-color:#474747"
+ id="stop1454" />
+ </radialGradient>
+ <path
+ style="stroke:none"
+ d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
+ id="path1456" />
+ </g>
+ <path
+ style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
+ id="path15570" />
+ <path
+ style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
+ id="path15577" />
+ </g>
+ <path
+ style="display:inline;fill:none;fill-opacity:0.75000000000000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311000000001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.01754385400000000"
+ d="M 11.505723,5.4942766 L 11.505723,43.400869"
+ id="path15672"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="display:inline;fill:none;fill-opacity:0.75000000000000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.20467831000000000"
+ d="M 12.500000,5.0205154 L 12.500000,43.038228"
+ id="path15674"
+ sodipodi:nodetypes="cc" />
+ <path
+ inkscape:export-ydpi="33.852203"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ transform="matrix(0.783292,0.000000,0.000000,0.783292,-6.340883,-86.65168)"
+ d="M 69.375000 125.00000 A 14.375000 14.375000 0 1 1 40.625000,125.00000 A 14.375000 14.375000 0 1 1 69.375000 125.00000 z"
+ sodipodi:ry="14.375000"
+ sodipodi:rx="14.375000"
+ sodipodi:cy="125.00000"
+ sodipodi:cx="55.000000"
+ id="path12511"
+ style="color:#000000;fill:url(#radialGradient278);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ transform="matrix(0.6,0,0,0.6,-0.33587776,20.561253)"
+ id="g3211">
+ <g
+ id="g6707"
+ transform="matrix(0.02311016,0,0,0.02271533,44.68502,39.36099)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect6709"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient35618);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc"
+ id="path6711"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient35620);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient35622);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path6713"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <rect
+ style="fill:url(#linearGradient35624);fill-opacity:1;stroke:#595959;stroke-width:0.99999982;stroke-miterlimit:4;stroke-opacity:1"
+ id="rect4652"
+ width="38.4375"
+ height="6.4915943"
+ x="4.75"
+ y="36.004189"
+ rx="1.7115483"
+ ry="1.7115477" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient35626);fill-opacity:1;fill-rule:nonzero;stroke:#676767;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 7.1308961,21.5 33.7397189,0 c 0.385046,0 0.877033,0.288155 1.180434,0.723919 0.303402,0.435765 1.736469,2.610021 2.058399,3.074045 0.32193,0.464023 0.392949,0.903888 0.392949,1.476085 l 0,12.076902 c 0,0.913573 -0.731995,1.649049 -1.641245,1.649049 l -37.7207924,0 c -0.9092502,0 -1.6412458,-0.735476 -1.6412458,-1.649049 l 0,-12.076902 c 0,-0.494018 0.101166,-1.202408 0.4464064,-1.653331 0.4356464,-0.569005 1.6043462,-2.547948 1.9126074,-2.9676 C 6.1663887,21.733467 6.7324461,21.5 7.1308961,21.5 z"
+ id="rect4609"
+ sodipodi:nodetypes="cssssssssssss" />
+ <path
+ inkscape:connector-curvature="0"
+ style="fill:#fbfbfb;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 7.4246212,21.975532 c -0.5027281,0 -1.1197436,0.07825 -1.3700193,0.491498 l -1.9003496,3.137786 c -0.2821238,0.465832 0.033946,1.263325 0.9330583,1.263325 l 37.6434754,0 c 1.309946,0 1.219747,-1.010068 0.933058,-1.440102 l -1.767767,-2.65165 c -0.320533,-0.4808 -0.436878,-0.800857 -1.237437,-0.800857 l -33.2340188,0 z"
+ id="path4718"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cssssssssssss"
+ id="path4750"
+ d="m 7.60536,22.445756 32.827313,0 c 0.365678,0 0.832919,0.272873 1.12106,0.685527 0.28814,0.412655 1.296231,2.029662 1.601968,2.469077 0.305736,0.439415 0.435569,0.855952 0.435569,1.397804 l 0,11.281097 c 0,0.865124 -0.133723,1.249095 -0.997239,1.249095 l -37.0618042,0 c -0.863516,0 -1.0596221,-0.383971 -1.0596221,-1.249095 l 0,-11.281097 c 0,-0.467819 0.2208451,-1.138641 0.5487202,-1.56565 C 5.435059,24.893685 6.1038541,23.461633 6.3966101,23.064237 6.6893662,22.666841 7.2269515,22.445756 7.60536,22.445756 z"
+ style="color:#000000;fill:none;stroke:url(#linearGradient35628);stroke-width:0.94696712;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient35630);fill-opacity:1;fill-rule:nonzero;stroke:#898989;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 11.672962,4.4999475 24.652154,0 c 0.650765,0 1.174664,0.5101302 1.174664,1.1437896 l 0,18.7044389 -27.001482,0 0,-18.7044389 c 0,-0.6336594 0.523899,-1.1437896 1.174664,-1.1437896 z"
+ id="rect15391-2"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ rx="0.17677672"
+ ry="0.17677675"
+ y="5.4992466"
+ x="11.498513"
+ height="18.836374"
+ width="25.000576"
+ id="rect15660-3"
+ style="color:#000000;fill:none;stroke:url(#linearGradient35632);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible" />
+ <rect
+ style="fill:url(#linearGradient35634);fill-opacity:1;stroke:url(#linearGradient35636);stroke-width:1;stroke-miterlimit:4;stroke-opacity:1"
+ id="rect4678"
+ width="33.75"
+ height="5.1875"
+ x="6.875"
+ y="27.375"
+ rx="1.7115483"
+ ry="1.7115483" />
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient35638);fill-opacity:1;stroke:none"
+ id="path4696"
+ sodipodi:cx="9.5901356"
+ sodipodi:cy="27.626486"
+ sodipodi:rx="1.281631"
+ sodipodi:ry="1.281631"
+ d="m 10.871767,27.626486 c 0,0.707825 -0.573806,1.281631 -1.2816314,1.281631 -0.7078253,0 -1.281631,-0.573806 -1.281631,-1.281631 0,-0.707825 0.5738057,-1.281631 1.281631,-1.281631 0.7078254,0 1.2816314,0.573806 1.2816314,1.281631 z"
+ transform="translate(0,2)" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.36571428;fill:url(#linearGradient35640);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 11.743718,25.416053 25.5625,0.0625 c 0.687498,0.0017 0.98782,-0.370995 0.9375,-1 l -0.125,-1.5625 1.866117,0 c 0.8125,0 0.9902,0.192563 1.1875,0.5625 l 0.5,0.9375 c 0.526795,0.98774 1.811173,1.974112 0.49816,1.974112 -4.502711,0 -28.176777,-0.349112 -30.426777,-0.974112 z"
+ id="path4731"
+ sodipodi:nodetypes="csscssssc" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc"
+ id="path4760"
+ d="m 43.488808,26.5 -38.9776275,0"
+ style="fill:none;stroke:#ffffff;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1" />
+ <g
+ id="g4849"
+ style="opacity:0.43575416"
+ transform="translate(0,2)">
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4833"
+ width="19"
+ height="1"
+ x="14"
+ y="7" />
+ <rect
+ y="9"
+ x="14"
+ height="1"
+ width="19"
+ id="rect4835"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4837"
+ width="19"
+ height="1"
+ x="14"
+ y="11" />
+ <rect
+ y="13"
+ x="14"
+ height="1"
+ width="11"
+ id="rect4839"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="17"
+ x="14"
+ height="1"
+ width="19"
+ id="rect4843"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4845"
+ width="19"
+ height="1"
+ x="14"
+ y="19" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-print.svg b/share/pixmaps/tryton/tryton-print.svg
new file mode 100644
index 0000000..4c702dc
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-print.svg
@@ -0,0 +1,502 @@
+<?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"
+ sodipodi:docname="printer.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/devices"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg2994"
+ height="48px"
+ width="48px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective79" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient4762">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.12371134;"
+ offset="0.0000000"
+ id="stop4764" />
+ <stop
+ id="stop4768"
+ offset="0.10344828"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4766" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4741">
+ <stop
+ id="stop4743"
+ offset="0.0000000"
+ style="stop-color:#dcdcda;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4745"
+ offset="1.0000000"
+ style="stop-color:#bab9b7;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4733">
+ <stop
+ id="stop4735"
+ offset="0.0000000"
+ style="stop-color:#000000;stop-opacity:0.23711340;" />
+ <stop
+ id="stop4737"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4698">
+ <stop
+ id="stop4700"
+ offset="0.0000000"
+ style="stop-color:#fffffd;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#bbbbb9;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4706" />
+ <stop
+ id="stop4702"
+ offset="1.0000000"
+ style="stop-color:#000000;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4688">
+ <stop
+ id="stop4690"
+ offset="0.0000000"
+ style="stop-color:#666666;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4692"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4680"
+ inkscape:collect="always">
+ <stop
+ id="stop4682"
+ offset="0"
+ style="stop-color:#f7f6f5;stop-opacity:1;" />
+ <stop
+ id="stop4684"
+ offset="1"
+ style="stop-color:#f7f6f5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4668">
+ <stop
+ id="stop4670"
+ offset="0"
+ style="stop-color:#8e8d87;stop-opacity:1;" />
+ <stop
+ style="stop-color:#cbc9c1;stop-opacity:1.0000000;"
+ offset="0.27586207"
+ id="stop4676" />
+ <stop
+ id="stop4672"
+ offset="1.0000000"
+ style="stop-color:#8e8d87;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.40546969"
+ id="stop4886" />
+ <stop
+ style="stop-color:#cdcdcd;stop-opacity:1.0000000;"
+ offset="0.53448278"
+ id="stop4884" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#494949;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1.0000000"
+ style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="2.1227016"
+ fy="26.925594"
+ fx="9.1295490"
+ cy="26.925594"
+ cx="9.1295490"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1433"
+ xlink:href="#linearGradient4698"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="72.064316"
+ x2="9.9128132"
+ y1="57.227650"
+ x1="9.8698082"
+ gradientTransform="matrix(2.772086,0.000000,0.000000,0.360739,0.618718,2.883883)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1447"
+ xlink:href="#linearGradient4733"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="54.136139"
+ x2="10.338233"
+ y1="64.652260"
+ x1="10.338233"
+ gradientTransform="matrix(2.369844,0.000000,0.000000,0.421969,0.000000,2.000000)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1451"
+ xlink:href="#linearGradient4680"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="62.282467"
+ x2="9.7052784"
+ y1="70.724976"
+ x1="9.7316532"
+ gradientTransform="matrix(2.369844,0.000000,0.000000,0.421969,0.000000,2.000000)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1453"
+ xlink:href="#linearGradient4688"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="19.337463"
+ x2="20.717800"
+ y1="25.140253"
+ x1="20.771229"
+ gradientTransform="matrix(1.198769,0,0,0.853565,-0.143086,2.034513)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1456"
+ xlink:href="#linearGradient15662"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="25.247311"
+ x2="24.789707"
+ y1="3.6785457"
+ x1="25.056711"
+ gradientTransform="matrix(0.94571,0,0,1.076032,5.016683e-2,4.095404)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1459"
+ xlink:href="#linearGradient259"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="58.831264"
+ x2="15.487823"
+ y1="32.539238"
+ x1="15.387969"
+ gradientTransform="matrix(1.492569,0,0,0.668741,8.188072e-2,2)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1464"
+ xlink:href="#linearGradient4762"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="88.294930"
+ x2="18.972126"
+ y1="88.294930"
+ x1="1.8456430"
+ gradientTransform="matrix(2.291824,0,0,0.434269,8.855179e-2,2)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1468"
+ xlink:href="#linearGradient4741"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="88.294933"
+ x2="18.972126"
+ y1="88.294933"
+ x1="1.8456431"
+ gradientTransform="matrix(2.30272,0,0,0.437918,0,0.584034)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1471"
+ xlink:href="#linearGradient4668"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="160"
+ inkscape:window-x="491"
+ inkscape:window-height="688"
+ inkscape:window-width="872"
+ inkscape:guide-bbox="true"
+ showguides="true"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer1"
+ inkscape:cy="4.6034265"
+ inkscape:cx="29.124539"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.090196078"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Printer</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>printer</rdf:li>
+ <rdf:li>local</rdf:li>
+ <rdf:li>laser</rdf:li>
+ <rdf:li>bubblejet</rdf:li>
+ <rdf:li>inkjet</rdf:li>
+ <rdf:li>print</rdf:li>
+ <rdf:li>output</rdf:li>
+ <rdf:li>cups</rdf:li>
+ <rdf:li>lpd</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ transform="matrix(2.311016e-2,0,0,2.271533e-2,44.68502,39.36099)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ ry="1.7115477"
+ rx="1.7115483"
+ y="36.004189"
+ x="4.75"
+ height="6.4915943"
+ width="38.4375"
+ id="rect4652"
+ style="fill:url(#linearGradient1471);fill-opacity:1;stroke:#595959;stroke-width:0.99999982;stroke-miterlimit:4;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cssssssssssss"
+ id="rect4609"
+ d="M 7.1308961,21.5 L 40.870615,21.5 C 41.255661,21.5 41.747648,21.788155 42.051049,22.223919 C 42.354451,22.659684 43.787518,24.83394 44.109448,25.297964 C 44.431378,25.761987 44.502397,26.201852 44.502397,26.774049 L 44.502397,38.850951 C 44.502397,39.764524 43.770402,40.5 42.861152,40.5 L 5.1403596,40.5 C 4.2311094,40.5 3.4991138,39.764524 3.4991138,38.850951 L 3.4991138,26.774049 C 3.4991138,26.280031 3.6002798,25.571641 3.9455202,25.120718 C 4.3811666,24.551713 5.5498664,22.57277 5.8581276,22.153118 C 6.1663887,21.733467 6.7324461,21.5 7.1308961,21.5 z "
+ style="color:#000000;fill:url(#linearGradient1468);fill-opacity:1;fill-rule:nonzero;stroke:#676767;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path4718"
+ d="M 7.4246212,21.975532 C 6.9218931,21.975532 6.3048776,22.053784 6.0546019,22.46703 L 4.1542523,25.604816 C 3.8721285,26.070648 4.1881986,26.868141 5.0873106,26.868141 L 42.730786,26.868141 C 44.040732,26.868141 43.950533,25.858073 43.663844,25.428039 L 41.896077,22.776389 C 41.575544,22.295589 41.459199,21.975532 40.65864,21.975532 L 7.4246212,21.975532 z "
+ style="fill:#fbfbfb;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1464);stroke-width:0.94696712;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 7.60536,22.445756 L 40.432673,22.445756 C 40.798351,22.445756 41.265592,22.718629 41.553733,23.131283 C 41.841873,23.543938 42.849964,25.160945 43.155701,25.60036 C 43.461437,26.039775 43.59127,26.456312 43.59127,26.998164 L 43.59127,38.279261 C 43.59127,39.144385 43.457547,39.528356 42.594031,39.528356 L 5.5322268,39.528356 C 4.6687108,39.528356 4.4726047,39.144385 4.4726047,38.279261 L 4.4726047,26.998164 C 4.4726047,26.530345 4.6934498,25.859523 5.0213249,25.432514 C 5.435059,24.893685 6.1038541,23.461633 6.3966101,23.064237 C 6.6893662,22.666841 7.2269515,22.445756 7.60536,22.445756 z "
+ id="path4750"
+ sodipodi:nodetypes="cssssssssssss" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="rect15391"
+ d="M 11.672962,4.4999475 L 36.325116,4.4999475 C 36.975881,4.4999475 37.49978,5.0100777 37.49978,5.6437371 L 37.49978,24.348176 L 10.498298,24.348176 L 10.498298,5.6437371 C 10.498298,5.0100777 11.022197,4.4999475 11.672962,4.4999475 z "
+ style="color:#000000;fill:url(#linearGradient1459);fill-opacity:1;fill-rule:nonzero;stroke:#898989;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <rect
+ style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1456);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ id="rect15660"
+ width="25.000576"
+ height="18.836374"
+ x="11.498513"
+ y="5.4992466"
+ ry="0.17677675"
+ rx="0.17677672" />
+ <rect
+ ry="1.7115483"
+ rx="1.7115483"
+ y="27.375000"
+ x="6.8750000"
+ height="5.1875000"
+ width="33.750000"
+ id="rect4678"
+ style="fill:url(#linearGradient1451);fill-opacity:1.0000000;stroke:url(#linearGradient1453);stroke-width:1.0000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
+ <path
+ transform="translate(0.000000,2.000000)"
+ d="M 10.871767 27.626486 A 1.2816310 1.2816310 0 1 1 8.3085046,27.626486 A 1.2816310 1.2816310 0 1 1 10.871767 27.626486 z"
+ sodipodi:ry="1.2816310"
+ sodipodi:rx="1.2816310"
+ sodipodi:cy="27.626486"
+ sodipodi:cx="9.5901356"
+ id="path4696"
+ style="fill:url(#radialGradient1433);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="csscssssc"
+ id="path4731"
+ d="M 11.743718,25.416053 L 37.306218,25.478553 C 37.993716,25.480234 38.294038,25.107558 38.243718,24.478553 L 38.118718,22.916053 L 39.984835,22.916053 C 40.797335,22.916053 40.975035,23.108616 41.172335,23.478553 L 41.672335,24.416053 C 42.199130,25.403793 43.483508,26.390165 42.170495,26.390165 C 37.667784,26.390165 13.993718,26.041053 11.743718,25.416053 z "
+ style="fill:url(#linearGradient1447);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.36571429" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
+ d="M 43.488808,26.5 L 4.5111805,26.5"
+ id="path4760"
+ sodipodi:nodetypes="cc" />
+ <g
+ transform="translate(0.000000,2.000000)"
+ style="opacity:0.43575415"
+ id="g4849">
+ <rect
+ y="7.0000000"
+ x="14.000000"
+ height="1.0000000"
+ width="19.000000"
+ id="rect4833"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect4835"
+ width="19.000000"
+ height="1.0000000"
+ x="14.000000"
+ y="9.0000000" />
+ <rect
+ y="11.000000"
+ x="14.000000"
+ height="1.0000000"
+ width="19.000000"
+ id="rect4837"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect4839"
+ width="11.000000"
+ height="1.0000000"
+ x="14.000000"
+ y="13.000000" />
+ <rect
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="rect4843"
+ width="19.000000"
+ height="1.0000000"
+ x="14.000000"
+ y="17.000000" />
+ <rect
+ y="19.000000"
+ x="14.000000"
+ height="1.0000000"
+ width="19.000000"
+ id="rect4845"
+ style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-refresh.svg b/share/pixmaps/tryton/tryton-refresh.svg
new file mode 100644
index 0000000..565f6da
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-refresh.svg
@@ -0,0 +1,393 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ sodipodi:docname="view-refresh.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective58" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2690">
+ <stop
+ style="stop-color:#c4d7eb;stop-opacity:1;"
+ offset="0"
+ id="stop2692" />
+ <stop
+ style="stop-color:#c4d7eb;stop-opacity:0;"
+ offset="1"
+ id="stop2694" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2682">
+ <stop
+ style="stop-color:#3977c3;stop-opacity:1;"
+ offset="0"
+ id="stop2684" />
+ <stop
+ style="stop-color:#89aedc;stop-opacity:0;"
+ offset="1"
+ id="stop2686" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2402">
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1;"
+ offset="0"
+ id="stop2404" />
+ <stop
+ style="stop-color:#528ac5;stop-opacity:1;"
+ offset="1"
+ id="stop2406" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2380">
+ <stop
+ style="stop-color:#b9cfe7;stop-opacity:1"
+ offset="0"
+ id="stop2382" />
+ <stop
+ style="stop-color:#729fcf;stop-opacity:1"
+ offset="1"
+ id="stop2384" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2871">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2873" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1"
+ offset="1"
+ id="stop2875" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2847">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2849" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:0;"
+ offset="1"
+ id="stop2851" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2831">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop2833" />
+ <stop
+ id="stop2855"
+ offset="0.33333334"
+ style="stop-color:#5b86be;stop-opacity:1;" />
+ <stop
+ style="stop-color:#83a8d8;stop-opacity:0;"
+ offset="1"
+ id="stop2835" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2797">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2799" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2801" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2831"
+ id="linearGradient1486"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0.465413,-0.277593)"
+ x1="13.478554"
+ y1="10.612206"
+ x2="15.419417"
+ y2="19.115122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2847"
+ id="linearGradient1488"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,0,0,-1,47.52791,45.84741)"
+ x1="37.128052"
+ y1="29.729605"
+ x2="37.065414"
+ y2="26.194071" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2797"
+ id="linearGradient1491"
+ gradientUnits="userSpaceOnUse"
+ x1="5.9649176"
+ y1="26.048164"
+ x2="52.854097"
+ y2="26.048164" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2797"
+ id="linearGradient1493"
+ gradientUnits="userSpaceOnUse"
+ x1="5.9649176"
+ y1="26.048164"
+ x2="52.854097"
+ y2="26.048164" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2871"
+ id="linearGradient1501"
+ gradientUnits="userSpaceOnUse"
+ x1="46.834816"
+ y1="45.264122"
+ x2="45.380436"
+ y2="50.939667" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient1503"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,-9.680928e-14,16.87306)"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2380"
+ id="linearGradient2386"
+ x1="62.513836"
+ y1="36.061237"
+ x2="15.984863"
+ y2="20.60858"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2402"
+ id="linearGradient2408"
+ x1="18.935766"
+ y1="23.667896"
+ x2="53.588622"
+ y2="26.649362"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2682"
+ id="linearGradient2688"
+ x1="36.713837"
+ y1="31.455952"
+ x2="37.124462"
+ y2="24.842253"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2690"
+ id="linearGradient2696"
+ x1="32.647972"
+ y1="30.748846"
+ x2="37.124462"
+ y2="24.842253"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#3465a4"
+ fill="#729fcf"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="2.4438651"
+ inkscape:cy="18.153347"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="891"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>View Refresh</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>reload</rdf:li>
+ <rdf:li>refresh</rdf:li>
+ <rdf:li>view</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ transform="matrix(-1.489736,0,0,-1.001252,61.20865,75.2819)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.38333333;color:#000000;fill:url(#radialGradient1503);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ style="color:#000000;fill:url(#linearGradient1486);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1488);stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 20.152913,10.409904 C 20.152913,10.409904 11.215413,9.784904 13.965413,20.284904 L 6.2779132,20.284904 C 6.2779132,20.284904 6.7779132,8.409904 20.152913,10.409904 z "
+ id="path2865"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="cccc" />
+ <g
+ id="g1878"
+ transform="matrix(-0.579051,-0.489228,-0.489228,0.579051,56.91585,13.37137)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="fill:url(#linearGradient2386);fill-opacity:1.0;stroke:#3465a4;stroke-opacity:1">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path1880"
+ d="M 44.306783,50.229694 C 62.821497,35.818859 49.664587,13.411704 22.462411,12.49765 L 22.113843,3.1515478 L 7.6245439,20.496754 L 22.714328,33.219189 C 22.714328,33.219189 22.462411,23.337969 22.462411,23.337969 C 41.292171,24.336946 55.444038,37.409698 44.306783,50.229694 z "
+ style="opacity:1;color:#000000;fill:url(#linearGradient2386);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient1501);stroke-width:1.31916928;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <path
+ sodipodi:nodetypes="cccc"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path2839"
+ d="M 28.375,33.4375 C 28.375,33.4375 37.3125,34.0625 34.5625,23.5625 L 42.338388,23.5625 C 42.338388,25.065102 41.75,35.4375 28.375,33.4375 z "
+ style="color:#000000;fill:url(#linearGradient2696);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient2688);stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <g
+ style="color:#000000;fill:url(#linearGradient2408);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient1501);stroke-width:1.31916928;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;opacity:1"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.579051,0.489228,0.489228,-0.579051,-7.921023,30.53599)"
+ id="g2779">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:1;color:#000000;fill:url(#linearGradient2408);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient1501);stroke-width:1.31916928;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 44.306783,50.229694 C 62.821497,35.818859 49.664587,13.411704 22.462411,12.49765 L 22.399432,3.0690297 L 7.793943,20.424005 L 22.462411,33.006349 C 22.462411,33.006349 22.462411,23.337969 22.462411,23.337969 C 41.292171,24.336946 55.444038,37.409698 44.306783,50.229694 z "
+ id="path2781"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <path
+ style="opacity:0.27222224;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 7.0625,38.1875 L 7.125,23.3125 L 20.0625,22.9375 L 15.673627,28.116317 L 19.540852,30.489516 C 16.540852,32.739516 14.991304,32.911644 13.991304,35.474144 L 11.174446,33.363872 L 7.0625,38.1875 z "
+ id="path2791"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="cccccccc" />
+ <g
+ id="g2793"
+ transform="matrix(0.508536,0.429651,0.429651,-0.508536,-3.973188,30.54119)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path2795"
+ d="M 51.090265,45.943705 C 60.210465,30.723955 46.631614,12.20113 19.485058,11.948579 L 19.513464,3.7032834 L 6.5341979,19.296639 L 19.367661,30.26876 C 19.367661,30.26876 19.423281,21.261882 19.423281,21.261882 C 36.951096,21.037973 54.618466,31.365254 51.090265,45.943705 z "
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1493);stroke-width:1.50208926;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <g
+ style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(-0.508536,-0.429651,-0.429651,0.508536,53.049,13.36548)"
+ id="g2805">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1491);stroke-width:1.50208926;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 51.389927,46.505946 C 60.510127,31.286196 47.050763,12.432359 19.628482,12.069755 L 19.342824,4.0507204 L 6.3413093,19.379475 L 19.809059,30.764589 C 19.809059,30.764589 19.627294,21.311346 19.627294,21.311346 C 37.872231,21.693318 54.411175,32.236592 51.389927,46.505946 z "
+ id="path2807"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <path
+ style="opacity:0.27222224;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 6.8125,16.5 C 10.405935,6.0587275 23.256282,10.355393 27,12 C 31.175307,12.211475 32.674736,9.164996 36,9 C 21.950264,-0.7899963 7.1875,2.5 6.8125,16.5 z "
+ id="path2811"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ sodipodi:nodetypes="cccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-save-as.svg b/share/pixmaps/tryton/tryton-save-as.svg
new file mode 100644
index 0000000..01e2fb7
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-save-as.svg
@@ -0,0 +1,663 @@
+<?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"
+ sodipodi:docname="document-save-as.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg2913"
+ height="48px"
+ width="48px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective111" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient6965">
+ <stop
+ style="stop-color:#dddddd;stop-opacity:1;"
+ offset="0"
+ id="stop6967" />
+ <stop
+ style="stop-color:#fdfdfd;stop-opacity:1;"
+ offset="1"
+ id="stop6969" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6925">
+ <stop
+ style="stop-color:#204a87;stop-opacity:1;"
+ offset="0"
+ id="stop6927" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:0;"
+ offset="1"
+ id="stop6929" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6901">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop6903" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:0;"
+ offset="1"
+ id="stop6905" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4991">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4993" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4995" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4991"
+ id="radialGradient4997"
+ cx="23.447077"
+ cy="6.4576745"
+ fx="23.447077"
+ fy="6.4576745"
+ r="19.0625"
+ gradientTransform="matrix(-1.314471,-1.006312e-2,-1.022964e-2,1.336221,46.22108,-4.909887)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.914114,1.412791e-16,-1.412791e-16,0.914114,-3.868698,-2.706902)"
+ x1="33.059906"
+ y1="27.394117"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1.000000,-7.816467e-32,-1.132409e-32,0.536723,-5.897962e-14,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2555">
+ <stop
+ id="stop2557"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop2561" />
+ <stop
+ id="stop2563"
+ offset="0.75000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
+ offset="0.84166664"
+ id="stop2565" />
+ <stop
+ id="stop2559"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4274">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.25490198;"
+ offset="0.0000000"
+ id="stop4276" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4278" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4264"
+ inkscape:collect="always">
+ <stop
+ id="stop4266"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4268"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4254"
+ inkscape:collect="always">
+ <stop
+ id="stop4256"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4258"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4244">
+ <stop
+ id="stop4246"
+ offset="0.0000000"
+ style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4248"
+ offset="1.0000000"
+ style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236"
+ inkscape:collect="always">
+ <stop
+ id="stop4238"
+ offset="0"
+ style="stop-color:#eeeeee;stop-opacity:1;" />
+ <stop
+ id="stop4240"
+ offset="1"
+ style="stop-color:#eeeeee;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4228">
+ <stop
+ id="stop4230"
+ offset="0.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4232"
+ offset="1.0000000"
+ style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4184">
+ <stop
+ id="stop4186"
+ offset="0.0000000"
+ style="stop-color:#838383;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4188"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(0.795493,3.799180)"
+ y2="35.281250"
+ x2="24.687500"
+ y1="35.281250"
+ x1="7.0625000"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4209"
+ xlink:href="#linearGradient4184"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="40.943935"
+ x2="36.183067"
+ y1="28.481176"
+ x1="7.6046205"
+ id="linearGradient4234"
+ xlink:href="#linearGradient4228"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="33.758667"
+ x2="12.221823"
+ y1="37.205811"
+ x1="12.277412"
+ id="linearGradient4242"
+ xlink:href="#linearGradient4236"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-2.354348,0.248140)"
+ r="20.935817"
+ fy="2.9585190"
+ fx="15.571491"
+ cy="2.9585190"
+ cx="15.571491"
+ id="radialGradient4250"
+ xlink:href="#linearGradient4244"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="47.620636"
+ x2="44.096100"
+ y1="4.4331360"
+ x1="12.378357"
+ id="linearGradient4260"
+ xlink:href="#linearGradient4254"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.651032,-2.885063e-16,9.455693)"
+ r="23.555494"
+ fy="27.096155"
+ fx="23.201941"
+ cy="27.096155"
+ cx="23.201941"
+ id="radialGradient4270"
+ xlink:href="#linearGradient4264"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="26.357183"
+ x2="23.688078"
+ y1="11.318835"
+ x1="23.688078"
+ id="linearGradient4272"
+ xlink:href="#linearGradient4274"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2555"
+ id="linearGradient2553"
+ x1="33.431175"
+ y1="31.964777"
+ x2="21.747974"
+ y2="11.780679"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6901"
+ id="linearGradient6907"
+ x1="14.751649"
+ y1="15.868432"
+ x2="8.8953285"
+ y2="16.743431"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6925"
+ id="linearGradient6931"
+ x1="12.25"
+ y1="18.25"
+ x2="7"
+ y2="21.118431"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6965"
+ id="linearGradient6971"
+ x1="28.061466"
+ y1="31.431349"
+ x2="28.061466"
+ y2="36.437492"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="30"
+ inkscape:window-x="0"
+ inkscape:window-height="818"
+ inkscape:window-width="999"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer2"
+ inkscape:cy="15.12998"
+ inkscape:cx="-21.21754"
+ inkscape:zoom="2.8284271"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.22745098"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ fill="#3465a4"
+ stroke="#204a87" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Save As</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hdd</rdf:li>
+ <rdf:li>hard drive</rdf:li>
+ <rdf:li>save as</rdf:li>
+ <rdf:li>io</rdf:li>
+ <rdf:li>store</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:identifier />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="pix"
+ id="layer2"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.411405e-2,0,0,1.929202e-2,45.48953,41.75228)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ sodipodi:nodetypes="cccsccccccccc"
+ id="path4196"
+ d="M 11.28569,13.087628 C 10.66069,13.087628 10.254441,13.377808 10.004442,13.931381 C 10.004441,13.931381 3.5356915,31.034938 3.5356915,31.034938 C 3.5356915,31.034938 3.2856915,31.706497 3.2856915,32.816188 C 3.2856915,32.816188 3.2856915,42.466156 3.2856915,42.466156 C 3.2856915,43.548769 3.943477,44.091158 4.9419415,44.091156 L 43.50444,44.091156 C 44.489293,44.091156 45.09819,43.372976 45.09819,42.247406 L 45.09819,32.597438 C 45.09819,32.597438 45.204153,31.827015 45.00444,31.284938 L 38.28569,14.087631 C 38.101165,13.575725 37.648785,13.099533 37.16069,13.087628 L 11.28569,13.087628 z "
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path4170"
+ d="M 3.2735915,32.121812 L 4.0381936,31.429597 L 41.647883,31.492097 L 45.11029,31.809395 L 45.11029,42.247927 C 45.11029,43.373496 44.503272,44.091258 43.518419,44.091258 L 4.9354314,44.091258 C 3.9369667,44.091258 3.2735915,43.549207 3.2735915,42.466594 L 3.2735915,32.121812 z "
+ style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02044296px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="csccccccs"
+ id="path3093"
+ d="M 3.5490842,31.039404 C 2.8347985,32.50369 3.5484686,33.432261 4.5847985,33.432261 C 4.5847985,33.432261 43.584797,33.432261 43.584797,33.432261 C 44.703844,33.408451 45.430035,32.420356 45.013368,31.289403 L 38.299082,14.078704 C 38.114558,13.566798 37.64432,13.090606 37.156225,13.078701 L 11.299083,13.078701 C 10.674083,13.078701 10.263369,13.382274 10.01337,13.935847 C 10.01337,13.935847 3.5490842,31.039404 3.5490842,31.039404 z "
+ style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <rect
+ y="36.299183"
+ x="7.857996"
+ height="5.5625"
+ width="17.625"
+ id="rect4174"
+ style="opacity:1;color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cscc"
+ id="path4194"
+ d="M 7.8579947,41.86168 C 7.8579947,41.86168 7.8579947,37.850195 7.8579947,37.850195 C 9.6935221,41.029421 16.154485,41.86168 20.795492,41.86168 C 20.795492,41.86168 7.8579947,41.86168 7.8579947,41.86168 z "
+ style="opacity:0.81142853;fill:url(#linearGradient4242);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path4201"
+ d="M 44.796162,30.753688 C 44.859684,32.003662 44.382159,33.069528 43.474046,33.097438 C 43.474046,33.097438 5.3553296,33.097437 5.3553297,33.097438 C 4.0660978,33.097438 3.4875937,32.772491 3.271279,32.229382 C 3.3630404,33.173714 4.0970964,33.878688 5.3553297,33.878688 C 5.3553296,33.878687 43.474046,33.878688 43.474046,33.878688 C 44.550053,33.845617 45.226851,32.454664 44.82621,30.883897 L 44.796162,30.753688 z "
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ id="path4211"
+ d="M 10.96875,15.28125 C 10.922675,15.481571 10.78125,15.668047 10.78125,15.875 C 10.78125,16.823605 11.37223,17.664474 12.125,18.46875 C 12.365268,18.314675 12.490117,18.114342 12.75,17.96875 C 11.809691,17.152746 11.196604,16.252168 10.96875,15.28125 z M 37.625,15.28125 C 37.396273,16.250866 36.782988,17.153676 35.84375,17.96875 C 36.117894,18.122332 36.247738,18.33699 36.5,18.5 C 37.257262,17.693344 37.8125,16.826956 37.8125,15.875 C 37.8125,15.668047 37.670906,15.481571 37.625,15.28125 z M 39.8125,23.71875 C 39.198709,27.758861 32.513887,30.96875 24.28125,30.96875 C 16.068996,30.968751 9.4211001,27.775964 8.78125,23.75 C 8.7488928,23.947132 8.65625,24.141882 8.65625,24.34375 C 8.6562503,28.661697 15.645354,32.187501 24.28125,32.1875 C 32.917146,32.1875 39.937499,28.661698 39.9375,24.34375 C 39.9375,24.130826 39.848449,23.926394 39.8125,23.71875 z "
+ style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ transform="translate(8.838843e-2,5.301780)"
+ d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
+ sodipodi:ry="1.016466"
+ sodipodi:rx="1.3700194"
+ sodipodi:cy="25.593554"
+ sodipodi:cx="7.2036505"
+ id="path4224"
+ style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end: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;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4226"
+ sodipodi:cx="7.2036505"
+ sodipodi:cy="25.593554"
+ sodipodi:rx="1.3700194"
+ sodipodi:ry="1.016466"
+ d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
+ transform="translate(33.96705,5.213390)" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 11.642515,13.540723 C 11.040823,13.540723 10.649724,13.820081 10.409049,14.35301 C 10.409048,14.35301 3.9940341,30.943732 3.9940341,30.943732 C 3.9940341,30.943732 3.7533573,31.590247 3.7533573,32.658555 C 3.7533573,32.658555 3.7533573,41.948651 3.7533573,41.948651 C 3.7533573,43.303391 4.1974134,43.57555 5.3478414,43.57555 L 43.034746,43.57555 C 44.357872,43.57555 44.569062,43.259153 44.569062,41.738058 L 44.569062,32.447962 C 44.569062,32.447962 44.671072,31.706271 44.478807,31.184409 L 37.885616,14.378434 C 37.707973,13.885617 37.334964,13.552184 36.865071,13.540723 L 11.642515,13.540723 z "
+ id="path4252"
+ sodipodi:nodetypes="cccsccccccccc" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="M 40.5,36.554166 L 40.5,41.575101"
+ id="path4282" />
+ <path
+ id="path4284"
+ d="M 38.5,36.613943 L 38.5,41.634878"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="M 36.5,36.613943 L 36.5,41.634878"
+ id="path4286" />
+ <path
+ id="path4288"
+ d="M 34.5,36.613943 L 34.5,41.634878"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="M 32.5,36.613943 L 32.5,41.634878"
+ id="path4290" />
+ <path
+ id="path4292"
+ d="M 30.5,36.613943 L 30.5,41.634878"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
+ <path
+ id="path4294"
+ d="M 39.5,36.604065 L 39.5,41.625"
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 37.5,36.663842 L 37.5,41.684777"
+ id="path4296" />
+ <path
+ id="path4298"
+ d="M 35.5,36.663842 L 35.5,41.684777"
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 33.5,36.663842 L 33.5,41.684777"
+ id="path4300" />
+ <path
+ id="path4302"
+ d="M 31.5,36.663842 L 31.5,41.684777"
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ id="path4572"
+ d="M 7.875,36.3125 L 7.875,41.84375 L 20.4375,41.84375 L 8.21875,41.5 L 7.875,36.3125 z "
+ style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.42372879;visibility:visible;display:inline;overflow:visible"
+ id="path2545"
+ sodipodi:cx="25"
+ sodipodi:cy="19.5625"
+ sodipodi:rx="14.875"
+ sodipodi:ry="6.6875"
+ d="M 39.875 19.5625 A 14.875 6.6875 0 1 1 10.125,19.5625 A 14.875 6.6875 0 1 1 39.875 19.5625 z"
+ transform="matrix(1.037815,0.000000,0.000000,1.060747,-1.632878,3.030370)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="down">
+ <path
+ transform="matrix(1.130190,1.178179e-16,7.918544e-17,-0.759601,-3.909725,53.66554)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient6907);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient6931);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 3.2034501,25.835194 C 2.1729477,-5.3853369 28.741616,-0.4511153 28.582416,15.788689 L 35.89533,15.788689 L 24.517652,28.774671 L 12.585426,15.788689 C 12.585426,15.788689 20.126859,15.788689 20.126859,15.788689 C 20.583921,4.8193225 3.4092324,1.6100346 3.2034501,25.835194 z "
+ id="path1432"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path2177"
+ d="M 7.6642103,9.1041047 C 12.40638,-0.0400306 28.122336,2.7175443 27.761604,16.579393 L 34.078976,16.579393 C 34.078976,16.579393 24.513151,27.536769 24.513151,27.536769 L 14.41668,16.579393 C 14.41668,16.579393 20.87332,16.579393 20.87332,16.579393 C 21.144975,5.0041615 10.922265,5.5345215 7.6642103,9.1041047 z "
+ style="opacity:0.47159091;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:0.49431817;color:#000000;fill:url(#radialGradient4997);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 34.767155,16.211613 L 32.782979,18.757322 C 27.372947,17.241029 24.896829,21.486664 17.109284,20.489112 L 13.247998,16.080077 L 20.434468,16.162862 C 20.483219,4.3164571 8.3443098,4.998966 5.0292663,13.627829 C 8.8372201,-1.2611216 27.893316,0.8064118 28.28332,16.114112 L 34.767155,16.211613 z "
+ id="path4989"
+ sodipodi:nodetypes="cccccccc" />
+ <rect
+ style="opacity:1;color:#000000;fill:url(#linearGradient6971);fill-opacity:1.0;fill-rule:nonzero;stroke:#7d7d7d;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ id="rect6951"
+ width="39.247944"
+ height="12.278223"
+ x="4.5635238"
+ y="30.298382"
+ rx="1.6249996"
+ ry="1.6249996" />
+ <rect
+ style="opacity:0.59659091;color:#000000;fill:#7d7d7d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ id="rect6953"
+ width="16"
+ height="7"
+ x="7"
+ y="33"
+ ry="0" />
+ <rect
+ style="opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ id="rect6957"
+ width="1"
+ height="9"
+ x="24"
+ y="32" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-save.svg b/share/pixmaps/tryton/tryton-save.svg
new file mode 100644
index 0000000..2922c43
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-save.svg
@@ -0,0 +1,619 @@
+<?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"
+ sodipodi:docname="document-save.svg"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
+ inkscape:version="0.46"
+ sodipodi:version="0.32"
+ id="svg2913"
+ height="48px"
+ width="48px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective104" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6925">
+ <stop
+ style="stop-color:#204a87;stop-opacity:1;"
+ offset="0"
+ id="stop6927" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:0;"
+ offset="1"
+ id="stop6929" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6901">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1;"
+ offset="0"
+ id="stop6903" />
+ <stop
+ style="stop-color:#3465a4;stop-opacity:0;"
+ offset="1"
+ id="stop6905" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4991">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4993" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4995" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4991"
+ id="radialGradient4997"
+ cx="23.447077"
+ cy="6.4576745"
+ fx="23.447077"
+ fy="6.4576745"
+ r="19.0625"
+ gradientTransform="matrix(-1.314471,-1.006312e-2,-1.022964e-2,1.336221,46.22108,-4.909887)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.914114,1.412791e-16,-1.412791e-16,0.914114,-3.868698,-2.706902)"
+ x1="33.059906"
+ y1="27.394117"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1.000000,-7.816467e-32,-1.132409e-32,0.536723,-5.897962e-14,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2555">
+ <stop
+ id="stop2557"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop2561" />
+ <stop
+ id="stop2563"
+ offset="0.75000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
+ offset="0.84166664"
+ id="stop2565" />
+ <stop
+ id="stop2559"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4274">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.25490198;"
+ offset="0.0000000"
+ id="stop4276" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4278" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4264"
+ inkscape:collect="always">
+ <stop
+ id="stop4266"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4268"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4254"
+ inkscape:collect="always">
+ <stop
+ id="stop4256"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4258"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4244">
+ <stop
+ id="stop4246"
+ offset="0.0000000"
+ style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4248"
+ offset="1.0000000"
+ style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236"
+ inkscape:collect="always">
+ <stop
+ id="stop4238"
+ offset="0"
+ style="stop-color:#eeeeee;stop-opacity:1;" />
+ <stop
+ id="stop4240"
+ offset="1"
+ style="stop-color:#eeeeee;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4228">
+ <stop
+ id="stop4230"
+ offset="0.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4232"
+ offset="1.0000000"
+ style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4184">
+ <stop
+ id="stop4186"
+ offset="0.0000000"
+ style="stop-color:#838383;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4188"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(0.795493,3.799180)"
+ y2="35.281250"
+ x2="24.687500"
+ y1="35.281250"
+ x1="7.0625000"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4209"
+ xlink:href="#linearGradient4184"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="40.943935"
+ x2="36.183067"
+ y1="28.481176"
+ x1="7.6046205"
+ id="linearGradient4234"
+ xlink:href="#linearGradient4228"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="33.758667"
+ x2="12.221823"
+ y1="37.205811"
+ x1="12.277412"
+ id="linearGradient4242"
+ xlink:href="#linearGradient4236"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-2.354348,0.248140)"
+ r="20.935817"
+ fy="2.9585190"
+ fx="15.571491"
+ cy="2.9585190"
+ cx="15.571491"
+ id="radialGradient4250"
+ xlink:href="#linearGradient4244"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="47.620636"
+ x2="44.096100"
+ y1="4.4331360"
+ x1="12.378357"
+ id="linearGradient4260"
+ xlink:href="#linearGradient4254"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.651032,-2.885063e-16,9.455693)"
+ r="23.555494"
+ fy="27.096155"
+ fx="23.201941"
+ cy="27.096155"
+ cx="23.201941"
+ id="radialGradient4270"
+ xlink:href="#linearGradient4264"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="26.357183"
+ x2="23.688078"
+ y1="11.318835"
+ x1="23.688078"
+ id="linearGradient4272"
+ xlink:href="#linearGradient4274"
+ inkscape:collect="always"
+ gradientTransform="translate(0.000000,5.125000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2555"
+ id="linearGradient2553"
+ x1="33.431175"
+ y1="31.964777"
+ x2="21.747974"
+ y2="11.780679"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6901"
+ id="linearGradient6907"
+ x1="14.751649"
+ y1="15.868432"
+ x2="8.8953285"
+ y2="16.743431"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6925"
+ id="linearGradient6931"
+ x1="12.25"
+ y1="18.25"
+ x2="7"
+ y2="21.118431"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="30"
+ inkscape:window-x="0"
+ inkscape:window-height="818"
+ inkscape:window-width="999"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="layer2"
+ inkscape:cy="11.891468"
+ inkscape:cx="-133.68151"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.22745098"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ fill="#3465a4"
+ stroke="#204a87" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Save</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>hdd</rdf:li>
+ <rdf:li>hard drive</rdf:li>
+ <rdf:li>save</rdf:li>
+ <rdf:li>io</rdf:li>
+ <rdf:li>store</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:identifier />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="pix"
+ id="layer2"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(2.411405e-2,0,0,1.929202e-2,45.48953,41.75228)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ sodipodi:nodetypes="cccsccccccccc"
+ id="path4196"
+ d="M 11.28569,13.087628 C 10.66069,13.087628 10.254441,13.377808 10.004442,13.931381 C 10.004441,13.931381 3.5356915,31.034938 3.5356915,31.034938 C 3.5356915,31.034938 3.2856915,31.706497 3.2856915,32.816188 C 3.2856915,32.816188 3.2856915,42.466156 3.2856915,42.466156 C 3.2856915,43.548769 3.943477,44.091158 4.9419415,44.091156 L 43.50444,44.091156 C 44.489293,44.091156 45.09819,43.372976 45.09819,42.247406 L 45.09819,32.597438 C 45.09819,32.597438 45.204153,31.827015 45.00444,31.284938 L 38.28569,14.087631 C 38.101165,13.575725 37.648785,13.099533 37.16069,13.087628 L 11.28569,13.087628 z "
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path4170"
+ d="M 3.2735915,32.121812 L 4.0381936,31.429597 L 41.647883,31.492097 L 45.11029,31.809395 L 45.11029,42.247927 C 45.11029,43.373496 44.503272,44.091258 43.518419,44.091258 L 4.9354314,44.091258 C 3.9369667,44.091258 3.2735915,43.549207 3.2735915,42.466594 L 3.2735915,32.121812 z "
+ style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02044296px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="csccccccs"
+ id="path3093"
+ d="M 3.5490842,31.039404 C 2.8347985,32.50369 3.5484686,33.432261 4.5847985,33.432261 C 4.5847985,33.432261 43.584797,33.432261 43.584797,33.432261 C 44.703844,33.408451 45.430035,32.420356 45.013368,31.289403 L 38.299082,14.078704 C 38.114558,13.566798 37.64432,13.090606 37.156225,13.078701 L 11.299083,13.078701 C 10.674083,13.078701 10.263369,13.382274 10.01337,13.935847 C 10.01337,13.935847 3.5490842,31.039404 3.5490842,31.039404 z "
+ style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <rect
+ y="36.299183"
+ x="7.857996"
+ height="5.5625"
+ width="17.625"
+ id="rect4174"
+ style="opacity:1;color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cscc"
+ id="path4194"
+ d="M 7.8579947,41.86168 C 7.8579947,41.86168 7.8579947,37.850195 7.8579947,37.850195 C 9.6935221,41.029421 16.154485,41.86168 20.795492,41.86168 C 20.795492,41.86168 7.8579947,41.86168 7.8579947,41.86168 z "
+ style="opacity:0.81142853;fill:url(#linearGradient4242);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="cccccccc"
+ id="path4201"
+ d="M 44.796162,30.753688 C 44.859684,32.003662 44.382159,33.069528 43.474046,33.097438 C 43.474046,33.097438 5.3553296,33.097437 5.3553297,33.097438 C 4.0660978,33.097438 3.4875937,32.772491 3.271279,32.229382 C 3.3630404,33.173714 4.0970964,33.878688 5.3553297,33.878688 C 5.3553296,33.878687 43.474046,33.878688 43.474046,33.878688 C 44.550053,33.845617 45.226851,32.454664 44.82621,30.883897 L 44.796162,30.753688 z "
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ id="path4211"
+ d="M 10.96875,15.28125 C 10.922675,15.481571 10.78125,15.668047 10.78125,15.875 C 10.78125,16.823605 11.37223,17.664474 12.125,18.46875 C 12.365268,18.314675 12.490117,18.114342 12.75,17.96875 C 11.809691,17.152746 11.196604,16.252168 10.96875,15.28125 z M 37.625,15.28125 C 37.396273,16.250866 36.782988,17.153676 35.84375,17.96875 C 36.117894,18.122332 36.247738,18.33699 36.5,18.5 C 37.257262,17.693344 37.8125,16.826956 37.8125,15.875 C 37.8125,15.668047 37.670906,15.481571 37.625,15.28125 z M 39.8125,23.71875 C 39.198709,27.758861 32.513887,30.96875 24.28125,30.96875 C 16.068996,30.968751 9.4211001,27.775964 8.78125,23.75 C 8.7488928,23.947132 8.65625,24.141882 8.65625,24.34375 C 8.6562503,28.661697 15.645354,32.187501 24.28125,32.1875 C 32.917146,32.1875 39.937499,28.661698 39.9375,24.34375 C 39.9375,24.130826 39.848449,23.926394 39.8125,23.71875 z "
+ style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ transform="translate(8.838843e-2,5.301780)"
+ d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
+ sodipodi:ry="1.016466"
+ sodipodi:rx="1.3700194"
+ sodipodi:cy="25.593554"
+ sodipodi:cx="7.2036505"
+ id="path4224"
+ style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end: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;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path4226"
+ sodipodi:cx="7.2036505"
+ sodipodi:cy="25.593554"
+ sodipodi:rx="1.3700194"
+ sodipodi:ry="1.016466"
+ d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
+ transform="translate(33.96705,5.213390)" />
+ <path
+ style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 11.642515,13.540723 C 11.040823,13.540723 10.649724,13.820081 10.409049,14.35301 C 10.409048,14.35301 3.9940341,30.943732 3.9940341,30.943732 C 3.9940341,30.943732 3.7533573,31.590247 3.7533573,32.658555 C 3.7533573,32.658555 3.7533573,41.948651 3.7533573,41.948651 C 3.7533573,43.303391 4.1974134,43.57555 5.3478414,43.57555 L 43.034746,43.57555 C 44.357872,43.57555 44.569062,43.259153 44.569062,41.738058 L 44.569062,32.447962 C 44.569062,32.447962 44.671072,31.706271 44.478807,31.184409 L 37.885616,14.378434 C 37.707973,13.885617 37.334964,13.552184 36.865071,13.540723 L 11.642515,13.540723 z "
+ id="path4252"
+ sodipodi:nodetypes="cccsccccccccc" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="M 40.5,36.554166 L 40.5,41.575101"
+ id="path4282" />
+ <path
+ id="path4284"
+ d="M 38.5,36.613943 L 38.5,41.634878"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="M 36.5,36.613943 L 36.5,41.634878"
+ id="path4286" />
+ <path
+ id="path4288"
+ d="M 34.5,36.613943 L 34.5,41.634878"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
+ <path
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="M 32.5,36.613943 L 32.5,41.634878"
+ id="path4290" />
+ <path
+ id="path4292"
+ d="M 30.5,36.613943 L 30.5,41.634878"
+ style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
+ <path
+ id="path4294"
+ d="M 39.5,36.604065 L 39.5,41.625"
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 37.5,36.663842 L 37.5,41.684777"
+ id="path4296" />
+ <path
+ id="path4298"
+ d="M 35.5,36.663842 L 35.5,41.684777"
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 33.5,36.663842 L 33.5,41.684777"
+ id="path4300" />
+ <path
+ id="path4302"
+ d="M 31.5,36.663842 L 31.5,41.684777"
+ style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ id="path4572"
+ d="M 7.875,36.3125 L 7.875,41.84375 L 20.4375,41.84375 L 8.21875,41.5 L 7.875,36.3125 z "
+ style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.42372879;visibility:visible;display:inline;overflow:visible"
+ id="path2545"
+ sodipodi:cx="25"
+ sodipodi:cy="19.5625"
+ sodipodi:rx="14.875"
+ sodipodi:ry="6.6875"
+ d="M 39.875 19.5625 A 14.875 6.6875 0 1 1 10.125,19.5625 A 14.875 6.6875 0 1 1 39.875 19.5625 z"
+ transform="matrix(1.037815,0.000000,0.000000,1.060747,-1.632878,3.030370)" />
+ </g>
+ <g
+ inkscape:groupmode="layer"
+ id="layer1"
+ inkscape:label="down">
+ <path
+ transform="matrix(1.130190,1.178179e-16,7.918544e-17,-0.759601,-3.909725,53.66554)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient6907);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient6931);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 3.2034501,25.835194 C 2.1729477,-5.3853369 28.741616,-0.4511153 28.582416,15.788689 L 35.89533,15.788689 L 24.517652,28.774671 L 12.585426,15.788689 C 12.585426,15.788689 20.126859,15.788689 20.126859,15.788689 C 20.583921,4.8193225 3.4092324,1.6100346 3.2034501,25.835194 z "
+ id="path1432"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path2177"
+ d="M 7.6642103,9.1041047 C 12.40638,-0.0400306 28.122336,2.7175443 27.761604,16.579393 L 34.078976,16.579393 C 34.078976,16.579393 24.513151,27.536769 24.513151,27.536769 L 14.41668,16.579393 C 14.41668,16.579393 20.87332,16.579393 20.87332,16.579393 C 21.144975,5.0041615 10.922265,5.5345215 7.6642103,9.1041047 z "
+ style="opacity:0.47159091;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:0.49431817;color:#000000;fill:url(#radialGradient4997);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 34.767155,16.211613 L 32.782979,18.757322 C 27.372947,17.241029 24.896829,21.486664 17.109284,20.489112 L 13.247998,16.080077 L 20.434468,16.162862 C 20.483219,4.3164571 8.3443098,4.998966 5.0292663,13.627829 C 8.8372201,-1.2611216 27.893316,0.8064118 28.28332,16.114112 L 34.767155,16.211613 z "
+ id="path4989"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-start-here.svg b/share/pixmaps/tryton/tryton-start-here.svg
new file mode 100644
index 0000000..3f53130
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-start-here.svg
@@ -0,0 +1,492 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/places"
+ sodipodi:docname="start-here.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective61" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4711">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4713" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4715" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4697">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4699" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4701" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11520">
+ <stop
+ id="stop11522"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop11524"
+ offset="1.0000000"
+ style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11508"
+ inkscape:collect="always">
+ <stop
+ id="stop11510"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11512"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11494"
+ inkscape:collect="always">
+ <stop
+ id="stop11496"
+ offset="0"
+ style="stop-color:#ef2929;stop-opacity:1;" />
+ <stop
+ id="stop11498"
+ offset="1"
+ style="stop-color:#ef2929;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11415">
+ <stop
+ id="stop11417"
+ offset="0.0000000"
+ style="stop-color:#204a87;stop-opacity:0.0000000;" />
+ <stop
+ style="stop-color:#204a87;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop11423" />
+ <stop
+ id="stop11419"
+ offset="1"
+ style="stop-color:#204a87;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11399"
+ inkscape:collect="always">
+ <stop
+ id="stop11401"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop11403"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-60.28571,-0.285714)"
+ y2="34.462429"
+ x2="43.615788"
+ y1="3.7744560"
+ x1="15.828360"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11425"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(-60.57143,0.000000)"
+ y2="39.033859"
+ x2="35.679932"
+ y1="9.3458843"
+ x1="9.6957054"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11427"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="33.462429"
+ x2="26.758644"
+ y1="19.774456"
+ x1="13.267134"
+ gradientTransform="translate(-60.85714,0.428571)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient11439"
+ xlink:href="#linearGradient11415"
+ inkscape:collect="always" />
+ <radialGradient
+ r="8.5000000"
+ fy="39.142857"
+ fx="12.071428"
+ cy="39.142857"
+ cx="12.071428"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11441"
+ xlink:href="#linearGradient11399"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ r="3.8335034"
+ fy="15.048258"
+ fx="27.577173"
+ cy="15.048258"
+ cx="27.577173"
+ id="radialGradient11500"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ r="3.8335034"
+ fy="16.049133"
+ fx="27.577173"
+ cy="16.049133"
+ cx="27.577173"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11504"
+ xlink:href="#linearGradient11494"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ id="radialGradient11514"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ gradientUnits="userSpaceOnUse"
+ r="20.530962"
+ fy="35.878170"
+ fx="24.445690"
+ cy="35.878170"
+ cx="24.445690"
+ id="radialGradient11526"
+ xlink:href="#linearGradient11520"
+ inkscape:collect="always" />
+ <radialGradient
+ r="6.5659914"
+ fy="44.565483"
+ fx="30.203562"
+ cy="44.565483"
+ cx="30.203562"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,3.185827e-15,29.48178)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient11532"
+ xlink:href="#linearGradient11508"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1348"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1350"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1352"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="16.049133"
+ fx="27.577173"
+ fy="16.049133"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11494"
+ id="radialGradient1354"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
+ cx="27.577173"
+ cy="15.048258"
+ fx="27.577173"
+ fy="15.048258"
+ r="3.8335034" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11508"
+ id="radialGradient1356"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
+ cx="30.203562"
+ cy="44.565483"
+ fx="30.203562"
+ fy="44.565483"
+ r="6.5659914" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11520"
+ id="radialGradient1366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
+ cx="24.445690"
+ cy="35.878170"
+ fx="24.445690"
+ fy="35.878170"
+ r="20.530962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4697"
+ id="linearGradient4703"
+ x1="10.871767"
+ y1="15.555014"
+ x2="10.871767"
+ y2="54.634052"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4697"
+ id="linearGradient4707"
+ gradientUnits="userSpaceOnUse"
+ x1="10.871767"
+ y1="15.555014"
+ x2="10.871767"
+ y2="54.634052"
+ gradientTransform="matrix(-1,0,0,1,49.62363,-9.63433)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4711"
+ id="radialGradient4717"
+ cx="23.864855"
+ cy="40.266018"
+ fx="23.864855"
+ fy="40.266018"
+ r="14.672465"
+ gradientTransform="matrix(1,0,0,0.340361,1.187419e-15,26.56102)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4711"
+ id="radialGradient4721"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.340361,-1.298439e-15,26.56102)"
+ cx="23.864855"
+ cy="40.266018"
+ fx="23.864855"
+ fy="40.266018"
+ r="14.672465" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4697"
+ id="linearGradient3952"
+ gradientUnits="userSpaceOnUse"
+ x1="10.871767"
+ y1="15.555014"
+ x2="10.871767"
+ y2="54.634052" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4697"
+ id="linearGradient3954"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1,0,0,1,49.62363,-9.63433)"
+ x1="10.871767"
+ y1="15.555014"
+ x2="10.871767"
+ y2="54.634052" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#ef2929"
+ fill="#eeeeec"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="11.313708"
+ inkscape:cx="8.021467"
+ inkscape:cy="21.330644"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="1032"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30">
+ <inkscape:grid
+ id="GridFromPre046Settings"
+ type="xygrid"
+ originx="0px"
+ originy="0px"
+ spacingx="1px"
+ spacingy="1px"
+ color="#0000ff"
+ empcolor="#0000ff"
+ opacity="0.2"
+ empopacity="0.4"
+ empspacing="4" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Start Here</dc:title>
+ <dc:description>To be replaced by vendor/distribution branding.</dc:description>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>start</rdf:li>
+ <rdf:li>applications</rdf:li>
+ <rdf:li>launchers</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Garrett LeSage</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g15"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(0.582036,0,0,0.582076,-63.9369,-62.75444)" />
+ <g
+ id="g3946"
+ transform="matrix(0.99645,0,0,1.007814,-0.891385,0.197492)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <g
+ style="fill:#3465a4;stroke:#204a87;stroke-width:2.13030815;stroke-miterlimit:4;stroke-dasharray:none"
+ transform="matrix(0.467989,0,0,0.468861,-45.74716,-42.20022)"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="g9">
+ <path
+ style="fill:#3465a4;stroke:#204a87;stroke-width:2.13030815;stroke-miterlimit:4;stroke-dasharray:none"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 L 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
+ id="path11" />
+ <path
+ sodipodi:nodetypes="cccssssssccssc"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:#3465a4;stroke:#204a87;stroke-width:2.13030815;stroke-miterlimit:4;stroke-dasharray:none"
+ d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 C 131.45735,167.7531 130.58431,168.19401 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
+ id="path13" />
+ </g>
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.53846154;fill:none;fill-opacity:1;stroke:url(#linearGradient3952);stroke-width:0.99788946;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 23.15264,35.402331 C 23.0545,35.149035 22.924012,34.86083 22.76522,34.555538 L 21.55328,35.248555 C 20.849382,34.075677 20.088378,30.676027 20.313336,28.65454 C 20.537003,26.644656 21.671118,23.657436 21.078226,21.714272 C 20.396384,19.479565 18.499596,15.198858 16.159278,14.28373 C 14.808825,13.755597 13.867858,15.418314 12.805702,17.404522 C 11.809153,19.268045 11.361039,21.656264 11.404842,23.409277 C 11.458404,25.552859 12.154071,27.598298 13.149451,29.48408 C 14.105502,31.296507 16.599743,34.90392 17.240418,36.879022 L 16.287138,37.296844 C 16.348889,37.499631 16.504177,37.651533 16.575853,37.835749 C 17.272032,39.631092 19.749562,42.824999 21.640566,41.733227 C 23.566023,40.621565 23.963133,37.493307 23.15264,35.402331 z "
+ id="path4667"
+ sodipodi:nodetypes="ccczsszssccszc" />
+ </g>
+ <g
+ id="g3940"
+ transform="matrix(0.996431,0,0,1.007807,-0.512841,-6.0774e-2)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <g
+ id="g4657"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(-0.467989,0,0,0.468861,95.32836,-51.86619)"
+ style="fill:#729fcf;stroke:#3465a4;stroke-width:2.13033509;stroke-miterlimit:4;stroke-dasharray:none">
+ <path
+ id="path4659"
+ d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 L 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ style="fill:#729fcf;stroke:#3465a4;stroke-width:2.13033509;stroke-miterlimit:4;stroke-dasharray:none" />
+ <path
+ id="path4661"
+ d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 L 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
+ style="fill:#729fcf;stroke:#3465a4;stroke-width:2.13033509;stroke-miterlimit:4;stroke-dasharray:none"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ <path
+ sodipodi:nodetypes="ccczsszssccszc"
+ id="path4705"
+ d="M 26.470988,25.768001 C 26.569128,25.514705 26.699616,25.2265 26.858408,24.921208 L 28.070348,25.614225 C 28.774246,24.441347 29.53525,21.041697 29.310292,19.02021 C 29.086625,17.010326 27.95251,14.023106 28.545402,12.079942 C 29.227244,9.8452351 31.124032,5.5645281 33.46435,4.6494001 C 34.814803,4.1212671 35.75577,5.7839841 36.817926,7.7701921 C 37.814475,9.6337151 38.262589,12.021934 38.218786,13.774947 C 38.165224,15.918529 37.469557,17.963968 36.474177,19.84975 C 35.518126,21.662177 33.023885,25.26959 32.38321,27.244692 L 33.33649,27.662514 C 33.274739,27.865301 33.119451,28.017203 33.047775,28.201419 C 32.351596,29.996762 29.874066,33.190669 27.983062,32.098897 C 26.057605,30.987235 25.660495,27.858977 26.470988,25.768001 z "
+ style="opacity:0.53846154;fill:none;fill-opacity:1;stroke:url(#linearGradient3954);stroke-width:0.99790192;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ </g>
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-system-file-manager.svg b/share/pixmaps/tryton/tryton-system-file-manager.svg
new file mode 100644
index 0000000..99ad454
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-system-file-manager.svg
@@ -0,0 +1,317 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg1288"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
+ sodipodi:docname="system-file-manager.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective43" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient3085">
+ <stop
+ id="stop3087"
+ offset="0"
+ style="stop-color:#b47002;stop-opacity:1;" />
+ <stop
+ id="stop3089"
+ offset="1.0000000"
+ style="stop-color:#6b4301;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2368">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2370" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2372" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2182">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2184" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2186" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2182"
+ id="radialGradient2188"
+ cx="25.357143"
+ cy="36.500000"
+ fx="25.357143"
+ fy="36.500000"
+ r="14.714286"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.500000,-3.881442e-16,18.25000)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2368"
+ id="linearGradient2374"
+ x1="14.680550"
+ y1="7.2187386"
+ x2="38.694427"
+ y2="57.468739"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="19.168869"
+ x2="25.249994"
+ y1="23.568451"
+ x1="25.249994"
+ id="linearGradient3091"
+ xlink:href="#linearGradient3085"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientTransform="translate(0.000000,13.11256)"
+ y2="19.168869"
+ x2="25.249994"
+ y1="23.568451"
+ x1="25.249994"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3095"
+ xlink:href="#linearGradient3085"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#e9b96e"
+ fill="#e9b96e"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.14117647"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-125.54594"
+ inkscape:cy="-13.769376"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ showborder="true"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="878"
+ inkscape:window-height="818"
+ inkscape:window-x="370"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>File Manager</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>file</rdf:li>
+ <rdf:li>manager</rdf:li>
+ <rdf:li>copy</rdf:li>
+ <rdf:li>move</rdf:li>
+ <rdf:li>filesystem</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g5022"
+ transform="matrix(1.949531e-2,0,0,2.086758e-2,42.61888,39.78964)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
+ id="path5018"
+ sodipodi:nodetypes="cccc" />
+ </g>
+ <path
+ style="stroke-opacity:1.0000000;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.0000000px;stroke:#444329;fill-rule:evenodd;fill-opacity:1.0;fill:#c17d11"
+ d="M 10.625000,11.625000 L 10.625000,42.625000 L 39.625000,42.625000 L 39.625000,11.625000 L 35.625000,7.6250000 L 14.625000,7.6250000 L 10.625000,11.625000 z "
+ id="path1414" />
+ <path
+ style="stroke-opacity:1.0000000;stroke-linejoin:miter;stroke-linecap:butt;stroke-width:1.0000000px;stroke:none;fill-rule:evenodd;fill-opacity:1.0000000;fill:#e9b96e"
+ d="M 14.849242,8.2252435 L 11.126209,12.041107 L 12.314694,12.291107 L 38.129165,12.291107 L 39.130150,12.041107 L 35.266951,8.2252435 L 14.849242,8.2252435 z "
+ id="path2380"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ ry="0.92857140"
+ rx="0.92857140"
+ y="28.828430"
+ x="14.750000"
+ height="10.055458"
+ width="21.000000"
+ id="rect3083"
+ style="opacity:1.0000000;color:#000000;fill:#e9b96e;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#e9b96e;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
+ <rect
+ style="opacity:1.0000000;color:#000000;fill:#b67610;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b500b;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ id="rect1416"
+ width="21.000000"
+ height="10.055458"
+ x="14.573223"
+ y="28.474876"
+ rx="0.92857140"
+ ry="0.92857140" />
+ <path
+ id="path2358"
+ d="M 11.680550,12.062494 L 11.680550,41.652758 L 38.569426,41.652758 L 38.569426,12.062494 L 35.166650,8.6597185 L 15.083327,8.6597185 L 11.680550,12.062494 z "
+ style="stroke-opacity:1.0000000;stroke-linejoin:miter;stroke-linecap:butt;stroke-width:1.0000000;stroke:url(#linearGradient2374);fill-rule:evenodd;fill-opacity:1.0;fill:none;stroke-dasharray:none;stroke-miterlimit:4.0000000"
+ sodipodi:nodetypes="ccccccc" />
+ <rect
+ style="opacity:1.0000000;color:#000000;fill:#e9b96e;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#e9b96e;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ id="rect3081"
+ width="21.000000"
+ height="10.055458"
+ x="14.750000"
+ y="15.715860"
+ rx="0.92857140"
+ ry="0.92857140" />
+ <rect
+ ry="0.92857140"
+ rx="0.92857140"
+ y="15.362308"
+ x="14.573223"
+ height="10.055458"
+ width="21.000000"
+ id="rect3077"
+ style="font-family:Bitstream Vera Sans;overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.0000000px;stroke:#7b500b;fill-rule:evenodd;fill-opacity:1.0000000;fill:#b67610;color:#000000;opacity:1.0000000" />
+ <rect
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3091);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b500b;stroke-width:0.99999923px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
+ id="rect3079"
+ width="6.7473836"
+ height="3.8216934"
+ x="21.743721"
+ y="21.569220"
+ rx="0.28662863"
+ ry="0.33735332" />
+ <rect
+ ry="0.33735332"
+ rx="0.28662863"
+ y="34.681808"
+ x="21.743721"
+ height="3.8216934"
+ width="6.7473836"
+ id="rect3093"
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3095);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b500b;stroke-width:0.99999923px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-system.svg b/share/pixmaps/tryton/tryton-system.svg
new file mode 100644
index 0000000..4a63d5d
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-system.svg
@@ -0,0 +1,740 @@
+<?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"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg2327"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/devices"
+ sodipodi:docname="computer.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective112" />
+ <linearGradient
+ id="linearGradient2985"
+ inkscape:collect="always">
+ <stop
+ id="stop2987"
+ offset="0"
+ style="stop-color:#d8dfd6;stop-opacity:1;" />
+ <stop
+ id="stop2989"
+ offset="1"
+ style="stop-color:#d8dfd6;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2752">
+ <stop
+ id="stop2754"
+ offset="0"
+ style="stop-color:#9d9d9d;stop-opacity:1;" />
+ <stop
+ id="stop2756"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2711">
+ <stop
+ id="stop2713"
+ offset="0.0000000"
+ style="stop-color:#909090;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2715"
+ offset="1.0000000"
+ style="stop-color:#bebebe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2701">
+ <stop
+ id="stop2703"
+ offset="0.0000000"
+ style="stop-color:#585956;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2705"
+ offset="1.0000000"
+ style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2691">
+ <stop
+ id="stop2693"
+ offset="0.0000000"
+ style="stop-color:#868686;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2695"
+ offset="1.0000000"
+ style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2683"
+ inkscape:collect="always">
+ <stop
+ id="stop2685"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop2687"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2675">
+ <stop
+ id="stop2677"
+ offset="0.0000000"
+ style="stop-color:#5b5b97;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2679"
+ offset="1.0000000"
+ style="stop-color:#1b1b43;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2667">
+ <stop
+ id="stop2669"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2671"
+ offset="1.0000000"
+ style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2635"
+ inkscape:collect="always">
+ <stop
+ id="stop2637"
+ offset="0"
+ style="stop-color:#f9fff5;stop-opacity:1;" />
+ <stop
+ id="stop2639"
+ offset="1"
+ style="stop-color:#f9fff5;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2623">
+ <stop
+ id="stop2625"
+ offset="0.0000000"
+ style="stop-color:#dfdfde;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2627"
+ offset="1.0000000"
+ style="stop-color:#9d9f9a;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2454">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2456" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2458" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2415">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2417" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2419" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2379">
+ <stop
+ style="stop-color:#1a4876;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2381" />
+ <stop
+ style="stop-color:#3f54a3;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2383" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2328">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2330" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2332" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2307">
+ <stop
+ style="stop-color:#5a7aa4;stop-opacity:1;"
+ offset="0"
+ id="stop2309" />
+ <stop
+ style="stop-color:#5a7aa4;stop-opacity:0;"
+ offset="1"
+ id="stop2311" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2253">
+ <stop
+ style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2255" />
+ <stop
+ style="stop-color:#494949;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2257" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2245">
+ <stop
+ style="stop-color:#dde1d9;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2247" />
+ <stop
+ style="stop-color:#cacdc6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2249" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2251"
+ gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
+ x1="8.6116238"
+ y1="7.2293582"
+ x2="34.784473"
+ y2="33.339787"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2307"
+ id="linearGradient2313"
+ gradientTransform="matrix(1.208393,0.000000,0.000000,0.984410,-0.789284,-0.503380)"
+ x1="16.851954"
+ y1="9.3235140"
+ x2="24.418941"
+ y2="53.734985"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2328"
+ id="linearGradient2334"
+ gradientTransform="matrix(1.289166,0.000000,0.000000,0.922731,-0.789284,-0.503380)"
+ x1="16.119127"
+ y1="10.842293"
+ x2="27.289009"
+ y2="39.031910"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2415"
+ id="linearGradient2421"
+ gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
+ x1="17.698339"
+ y1="13.004725"
+ x2="34.974548"
+ y2="55.200756"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2379"
+ id="linearGradient2445"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.027870,0.000000,0.000000,0.822296,1.523986,1.001198)"
+ x1="21.356108"
+ y1="30.078255"
+ x2="19.994572"
+ y2="-1.3221773" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2460"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2464"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ y2="92.570930"
+ x2="10.728384"
+ y1="84.029198"
+ x1="10.728384"
+ gradientTransform="scale(1.983556,0.504145)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2653"
+ xlink:href="#linearGradient2623"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="74.098007"
+ x2="8.6485014"
+ y1="101.28460"
+ x1="13.628710"
+ gradientTransform="scale(2.143634,0.466498)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2655"
+ xlink:href="#linearGradient2635"
+ inkscape:collect="always" />
+ <radialGradient
+ r="8.7662794"
+ fy="67.501709"
+ fx="12.575710"
+ cy="67.501709"
+ cx="12.575710"
+ gradientTransform="scale(1.925808,0.519262)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2659"
+ xlink:href="#linearGradient2454"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="26.729263"
+ x2="17.199417"
+ y1="1.6537577"
+ x1="11.492236"
+ gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
+ id="linearGradient2673"
+ xlink:href="#linearGradient2667"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="8.8666229"
+ x2="16.315819"
+ y1="32.622238"
+ x1="19.150396"
+ gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
+ id="linearGradient2681"
+ xlink:href="#linearGradient2675"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="162.45061"
+ x2="3.7069974"
+ y1="171.29134"
+ x1="3.7069976"
+ gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
+ id="linearGradient2689"
+ xlink:href="#linearGradient2683"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="64.892525"
+ x2="12.127711"
+ y1="53.535141"
+ x1="12.206709"
+ gradientTransform="scale(1.816345,0.550556)"
+ id="linearGradient2707"
+ xlink:href="#linearGradient2701"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ id="linearGradient2717"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2721"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2725"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2729"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="3.8451097"
+ x2="35.520542"
+ y1="3.9384086"
+ x1="34.300991"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2733"
+ xlink:href="#linearGradient2711"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="74.098007"
+ x2="8.6485014"
+ y1="101.28460"
+ x1="13.628710"
+ gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2741"
+ xlink:href="#linearGradient2635"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="100.20015"
+ x2="8.1134233"
+ y1="88.509071"
+ x1="8.1134243"
+ gradientTransform="scale(2.309851,0.432928)"
+ id="linearGradient2758"
+ xlink:href="#linearGradient2752"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="31.246054"
+ x2="32.536823"
+ y1="5.3817744"
+ x1="10.390738"
+ gradientTransform="scale(1.104397,0.905471)"
+ id="linearGradient2979"
+ xlink:href="#linearGradient2253"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="52.536461"
+ x2="18.176752"
+ y1="48.643234"
+ x1="18.316999"
+ gradientTransform="scale(1.129863,0.885063)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2981"
+ xlink:href="#linearGradient2245"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="44.878883"
+ x2="-23.885700"
+ y1="49.953003"
+ x1="-23.885700"
+ gradientTransform="scale(1.492875,0.669848)"
+ id="linearGradient2991"
+ xlink:href="#linearGradient2985"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="100.20015"
+ x2="8.1134233"
+ y1="88.509071"
+ x1="8.1134243"
+ gradientTransform="scale(2.309851,0.432928)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1409"
+ xlink:href="#linearGradient2752"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="100.20015"
+ x2="8.1134233"
+ y1="88.509071"
+ x1="8.1134243"
+ gradientTransform="scale(2.309851,0.432928)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1411"
+ xlink:href="#linearGradient2752"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="31.246054"
+ x2="32.536823"
+ y1="5.3817744"
+ x1="10.390738"
+ gradientTransform="scale(1.104397,0.905471)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient1413"
+ xlink:href="#linearGradient2253"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.12156863"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="75.353821"
+ inkscape:cy="12.176086"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="770"
+ inkscape:window-height="688"
+ inkscape:window-x="402"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Computer</dc:title>
+ <dc:date>2005-03-08</dc:date>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>workstation</rdf:li>
+ <rdf:li>computer</rdf:li>
+ <rdf:li>node</rdf:li>
+ <rdf:li>client</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz/</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2460);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ id="path2452"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.5520000"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2407"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="translate(57.53339,3.203427)" />
+ <path
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ sodipodi:ry="3.9395950"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path1825"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2991);stroke-width:0.68065339;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2983"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.9395950"
+ d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
+ transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
+ id="path2411" />
+ <path
+ transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2462"
+ style="color:#000000;fill:url(#radialGradient2464);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <rect
+ y="30.703611"
+ x="17.472397"
+ height="2.7400389"
+ width="9.0396729"
+ id="rect2699"
+ style="color:#000000;fill:url(#linearGradient2707);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="color:#000000;fill:url(#linearGradient2251);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2979);stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
+ id="rect2404"
+ sodipodi:nodetypes="cssssssss" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2377"
+ d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
+ style="fill:url(#linearGradient2681);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000079;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
+ <path
+ style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2689);stroke-width:0.99618119;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762"
+ d="M 6.1774331,28.735789 L 37.605910,28.735789"
+ id="path2393" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path2397"
+ d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2421);stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ style="opacity:0.53142858;fill:url(#linearGradient2673);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
+ id="path2443" />
+ <path
+ transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)"
+ d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
+ sodipodi:ry="4.5520000"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2657"
+ style="color:#000000;fill:url(#radialGradient2659);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="path2409"
+ d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2981);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient1413);stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2611"
+ d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
+ style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ id="path2613"
+ d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
+ style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
+ <path
+ style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
+ id="path2619" />
+ <path
+ id="path2615"
+ d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2758);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
+ <path
+ style="fill:url(#linearGradient1411);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
+ d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
+ id="path2617"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="opacity:1.0000000;color:#000000;fill:url(#linearGradient1409);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
+ id="path2621" />
+ <path
+ style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2741);stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
+ id="path2631"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2709"
+ style="color:#000000;fill:url(#linearGradient2717);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2721);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2719"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2723"
+ style="color:#000000;fill:url(#linearGradient2725);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2729);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ id="path2727"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)" />
+ <path
+ transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)"
+ d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2731"
+ style="color:#000000;fill:url(#linearGradient2733);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ id="text2735"
+ d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
+ style="font-size:0.90290260;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-undo.svg b/share/pixmaps/tryton/tryton-undo.svg
new file mode 100644
index 0000000..d3cce96
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-undo.svg
@@ -0,0 +1,230 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
+ sodipodi:docname="edit-undo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective31" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#c4a000;stop-opacity:1;"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#c4a000;stop-opacity:0;"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#edd400;stop-opacity:1;"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#edd400;stop-opacity:0;"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-6.227265e-14,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.813471e-16,-1.171926,-1.171926,1.813471e-16,46.17440,54.10111)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient2314"
+ x1="26.5"
+ y1="34.25"
+ x2="26.25"
+ y2="43.571831"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316"
+ id="linearGradient2322"
+ x1="26.5"
+ y1="34.25"
+ x2="26.25"
+ y2="43.571831"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,-1.151905e-16,1.061756e-16,2.300689,-25.12402,-17.82636)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#c4a000"
+ fill="#edd400"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="-19.855325"
+ inkscape:cy="-15.183692"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="891"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Edit Undo</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>edit</rdf:li>
+ <rdf:li>undo</rdf:li>
+ <rdf:li>revert</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ transform="matrix(-1.489736,0.000000,0.000000,-1.001252,60.60436,75.31260)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient2314);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient2322);stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 9.582441,45.034369 C 49.608249,46.355509 43.282405,12.29355 22.462411,12.49765 L 22.462411,3.1222396 L 5.8139298,17.708819 L 22.462411,33.006349 C 22.462411,33.006349 22.462411,23.337969 22.462411,23.337969 C 36.525521,22.751999 40.639939,44.770549 9.582441,45.034369 z "
+ id="path1432"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path2177"
+ d="M 31.032281,39.315519 C 42.75538,33.235892 39.220073,13.087489 21.448701,13.549959 L 21.448701,5.4508678 C 21.448701,5.4508678 7.4009628,17.714589 7.4009628,17.714589 L 21.448701,30.658617 C 21.448701,30.658617 21.448701,22.380979 21.448701,22.380979 C 36.288551,22.032709 35.608611,35.138579 31.032281,39.315519 z "
+ style="opacity:0.69886361;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:0.51136364;color:#000000;fill:url(#radialGradient2332);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 6.6291261,17.682797 L 12.28598,23.074486 C 18.561553,22.897709 15.733126,16.710525 26.958446,13.616933 L 22.008699,12.998214 L 21.92031,4.3361562 L 6.6291261,17.682797 z "
+ id="path2324"
+ sodipodi:nodetypes="cccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-web-browser.svg b/share/pixmaps/tryton/tryton-web-browser.svg
new file mode 100644
index 0000000..d2366a9
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-web-browser.svg
@@ -0,0 +1,982 @@
+<?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"
+ width="48px"
+ height="48px"
+ id="svg3440"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
+ sodipodi:docname="internet-web-browser.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective156" />
+ <linearGradient
+ id="linearGradient4750">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4752" />
+ <stop
+ style="stop-color:#fefefe;stop-opacity:1.0000000;"
+ offset="0.37931034"
+ id="stop4758" />
+ <stop
+ style="stop-color:#1d1d1d;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4754" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4350">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4352" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop4354" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4126">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4128" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.16494845;"
+ offset="1.0000000"
+ id="stop4130" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4114">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4116" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4118" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3962">
+ <stop
+ style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3964" />
+ <stop
+ style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
+ offset="0.15517241"
+ id="stop4134" />
+ <stop
+ style="stop-color:#4074ae;stop-opacity:1.0000000;"
+ offset="0.75000000"
+ id="stop4346" />
+ <stop
+ style="stop-color:#36486c;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3966" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3962"
+ id="radialGradient3968"
+ gradientTransform="scale(0.999989,1.000011)"
+ cx="18.247644"
+ cy="15.716079"
+ fx="18.247644"
+ fy="15.716079"
+ r="29.993349"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4114"
+ id="radialGradient4120"
+ gradientTransform="scale(1.643990,0.608276)"
+ cx="15.115514"
+ cy="63.965388"
+ fx="15.115514"
+ fy="63.965388"
+ r="12.289036"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4126"
+ id="radialGradient4132"
+ gradientTransform="scale(0.999989,1.000011)"
+ cx="15.601279"
+ cy="12.142302"
+ fx="15.601279"
+ fy="12.142302"
+ r="43.526714"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4350"
+ id="radialGradient4356"
+ gradientTransform="scale(1.179536,0.847791)"
+ cx="11.826907"
+ cy="10.476453"
+ fx="11.826907"
+ fy="10.476453"
+ r="32.664848"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4750"
+ id="radialGradient4756"
+ gradientTransform="scale(1.036822,0.964486)"
+ cx="18.633780"
+ cy="17.486208"
+ fx="18.934305"
+ fy="17.810213"
+ r="40.692665"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1460"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1462"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1466"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1468"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1470"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1474"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1476"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1478"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1482"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1484"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1486"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1490"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1492"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1494"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1498"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1500"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1502"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1506"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1508"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1510"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1514"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1516"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1518"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1522"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1524"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1526"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1528"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1530"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1532"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1534"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1536"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1538"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1540"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1542"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1544"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1546"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1550"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1552"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1554"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ <radialGradient
+ r="40.692665"
+ fy="17.810213"
+ fx="18.934305"
+ cy="17.486208"
+ cx="18.633780"
+ gradientTransform="scale(1.036822,0.964486)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient1558"
+ xlink:href="#linearGradient4750"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.17254902"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="9.8994949"
+ inkscape:cx="25.799661"
+ inkscape:cy="24.622653"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1440"
+ inkscape:window-height="823"
+ inkscape:window-x="0"
+ inkscape:window-y="30"
+ inkscape:showpageshadow="false" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title>Globe</dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Tuomas Kuosmanen</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>globe</rdf:li>
+ <rdf:li>international</rdf:li>
+ <rdf:li>web</rdf:li>
+ <rdf:li>www</rdf:li>
+ <rdf:li>internet</rdf:li>
+ <rdf:li>network</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#radialGradient4120);fill-opacity:1.0000000;stroke:none;stroke-opacity:1.0000000"
+ id="path4112"
+ sodipodi:cx="24.849752"
+ sodipodi:cy="38.908627"
+ sodipodi:rx="20.203051"
+ sodipodi:ry="7.4751287"
+ d="M 45.052803 38.908627 A 20.203051 7.4751287 0 1 1 4.6467018,38.908627 A 20.203051 7.4751287 0 1 1 45.052803 38.908627 z"
+ transform="matrix(1.000000,0.000000,0.000000,1.243244,0.000000,-10.27241)" />
+ <path
+ style="fill:url(#radialGradient3968);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#39396c;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 43.959853,23.485499 C 43.959853,34.195217 35.277750,42.877222 24.569505,42.877222 C 13.860279,42.877222 5.1786663,34.195119 5.1786663,23.485499 C 5.1786663,12.776272 13.860279,4.0951517 24.569505,4.0951517 C 35.277750,4.0951517 43.959853,12.776272 43.959853,23.485499 L 43.959853,23.485499 z "
+ id="path3214" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.42159382;fill:url(#radialGradient4356);fill-opacity:1.0000000;stroke:none;stroke-opacity:1.0000000"
+ id="path4348"
+ sodipodi:cx="17.778685"
+ sodipodi:cy="15.271057"
+ sodipodi:rx="12.929953"
+ sodipodi:ry="9.2934036"
+ d="M 30.708637 15.271057 A 12.929953 9.2934036 0 1 1 4.8487320,15.271057 A 12.929953 9.2934036 0 1 1 30.708637 15.271057 z"
+ transform="matrix(0.835938,0.000000,0.000000,1.000000,9.886868,0.000000)" />
+ <g
+ id="g4136"
+ style="fill:#000000;fill-opacity:0.71345031;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
+ transform="matrix(0.982371,0.000000,0.000000,0.982371,0.121079,0.232914)">
+ <g
+ id="g4138">
+ <g
+ id="g4142">
+ <path
+ d="M 44.071300,20.714400 C 44.071300,20.977100 44.071300,20.714400 44.071300,20.714400 L 43.526400,21.331600 C 43.192400,20.938000 42.817400,20.607000 42.436600,20.261300 L 41.600700,20.384300 L 40.837000,19.521000 L 40.837000,20.589400 L 41.491300,21.084500 L 41.926800,21.577700 L 42.508800,20.919500 C 42.655300,21.193900 42.799800,21.468300 42.945300,21.742700 L 42.945300,22.565000 L 42.290000,23.305200 L 41.090800,24.128400 L 40.182600,25.034700 L 39.600600,24.374500 L 39.891600,23.634300 L 39.310500,22.976100 L 38.329100,20.878400 L 37.493200,19.933100 L 37.274400,20.179200 L 37.602500,21.372600 L 38.219700,22.071800 C 38.572200,23.089400 38.920900,24.062000 39.383800,25.034700 C 40.101600,25.034700 40.778300,24.958500 41.491200,24.868700 L 41.491200,25.444900 L 40.619100,27.584100 L 39.819300,28.488400 L 39.165000,29.888800 C 39.165000,30.656400 39.165000,31.424000 39.165000,32.191500 L 39.383800,33.097800 L 39.020500,33.508000 L 38.219700,34.002100 L 37.383800,34.701300 L 38.075200,35.482600 L 37.129900,36.306800 L 37.311500,36.840000 L 35.893500,38.445500 L 34.949200,38.445500 L 34.149400,38.939600 L 33.639600,38.939600 L 33.639600,38.281400 L 33.422800,36.963000 C 33.141500,36.136800 32.848600,35.316500 32.550700,34.496200 C 32.550700,33.890700 32.586800,33.291100 32.623000,32.685700 L 32.987300,31.863400 L 32.477500,30.875100 L 32.514600,29.517700 L 31.823200,28.736400 L 32.168900,27.605500 L 31.606400,26.967300 L 30.624000,26.967300 L 30.296900,26.597200 L 29.315500,27.214900 L 28.916100,26.761300 L 28.006900,27.543000 C 27.389700,26.843300 26.771500,26.144100 26.153400,25.444900 L 25.426800,23.716400 L 26.081100,22.730100 L 25.717800,22.319000 L 26.516600,20.425400 C 27.172900,19.609000 27.858400,18.825800 28.551800,18.039700 L 29.788100,17.710600 L 31.169000,17.546500 L 32.114300,17.793600 L 33.459000,19.150000 L 33.931700,18.615800 L 34.585000,18.533800 L 35.821300,18.944900 L 36.766600,18.944900 L 37.420900,18.368700 L 37.711900,17.957600 L 37.056600,17.546500 L 35.965800,17.464500 C 35.663100,17.044600 35.381800,16.603200 35.022400,16.230100 L 34.658100,16.394200 L 34.512600,17.464500 L 33.858300,16.724300 L 33.713800,15.900100 L 32.987200,15.325900 L 32.695200,15.325900 L 33.422700,16.148200 L 33.131700,16.888400 L 32.550600,17.052500 L 32.913900,16.312300 L 32.258600,15.984200 L 31.678500,15.326000 L 30.586700,15.572100 L 30.442200,15.900200 L 29.787900,16.312300 L 29.424600,17.217600 L 28.516400,17.669700 L 28.116000,17.217600 L 27.680500,17.217600 L 27.680500,15.736200 L 28.625800,15.242100 L 29.352400,15.242100 L 29.205900,14.666900 L 28.625800,14.090700 L 29.606300,13.884600 L 30.151200,13.268400 L 30.586700,12.527200 L 31.387500,12.527200 L 31.168700,11.952000 L 31.678500,11.622900 L 31.678500,12.281100 L 32.768300,12.527200 L 33.858100,11.622900 L 33.931300,11.210800 L 34.875600,10.553100 C 34.533800,10.595600 34.192000,10.626800 33.858000,10.717700 L 33.858000,9.9766000 L 34.221300,9.1538000 L 33.858000,9.1538000 L 33.059600,9.8940000 L 32.840800,10.305600 L 33.059600,10.882300 L 32.695300,11.868600 L 32.114200,11.539500 L 31.606400,10.964300 L 30.805600,11.539500 L 30.514600,10.223600 L 31.895500,9.3188000 L 31.895500,8.8247000 L 32.768500,8.2490000 L 34.149400,7.9194000 L 35.094700,8.2490000 L 36.838800,8.5781000 L 36.403300,9.0713000 L 35.458000,9.0713000 L 36.403300,10.058600 L 37.129900,9.2363000 L 37.350600,8.8745000 C 37.350600,8.8745000 40.137700,11.372500 41.730500,14.105000 C 43.323300,16.838400 44.071300,20.060100 44.071300,20.714400 z "
+ id="path4144" />
+ </g>
+ </g>
+ <g
+ id="g4146">
+ <g
+ id="g4150">
+ <path
+ d="M 26.070300,9.2363000 L 25.997100,9.7295000 L 26.506900,10.058600 L 27.378000,9.4829000 L 26.942500,8.9892000 L 26.360500,9.3188000 L 26.070500,9.2363000"
+ id="path4152" />
+ </g>
+ </g>
+ <g
+ id="g4154">
+ <g
+ id="g4158">
+ <path
+ d="M 26.870100,5.8633000 L 24.979500,5.1226000 L 22.799800,5.3692000 L 20.109400,6.1094000 L 19.600600,6.6035000 L 21.272500,7.7549000 L 21.272500,8.4131000 L 20.618200,9.0713000 L 21.491200,10.800300 L 22.071300,10.470200 L 22.799800,9.3188000 C 23.922800,8.9716000 24.929700,8.5781000 25.997100,8.0844000 L 26.870100,5.8632000"
+ id="path4160" />
+ </g>
+ </g>
+ <g
+ id="g4162">
+ <g
+ id="g4166">
+ <path
+ d="M 28.833000,12.774900 L 28.542000,12.033700 L 28.032200,12.198700 L 28.178700,13.103000 L 28.833000,12.774900"
+ id="path4168" />
+ </g>
+ </g>
+ <g
+ id="g4170">
+ <g
+ id="g4174">
+ <path
+ d="M 29.123000,12.608900 L 28.977500,13.597200 L 29.777300,13.432200 L 30.358400,12.857000 L 29.849600,12.362900 C 29.678700,11.907800 29.482400,11.483000 29.268500,11.046500 L 28.833000,11.046500 L 28.833000,11.539700 L 29.123000,11.868800 L 29.123000,12.609000"
+ id="path4176" />
+ </g>
+ </g>
+ <g
+ id="g4178">
+ <g
+ id="g4182">
+ <path
+ d="M 18.365200,28.242200 L 17.783200,27.089900 L 16.692900,26.843300 L 16.111400,25.280800 L 14.657800,25.444900 L 13.422400,24.540600 L 12.113300,25.692000 L 12.113300,25.873600 C 11.717300,25.759300 11.230500,25.743700 10.877900,25.526900 L 10.586900,24.704600 L 10.586900,23.799300 L 9.7148000,23.881300 C 9.7876000,23.305100 9.8598000,22.729900 9.9331000,22.153800 L 9.4238000,22.153800 L 8.9155000,22.812000 L 8.4062000,23.058100 L 7.6791000,22.647900 L 7.6063000,21.742600 L 7.7518000,20.755300 L 8.8426000,19.933000 L 9.7147000,19.933000 L 9.8597000,19.438900 L 10.950000,19.685000 L 11.749800,20.673300 L 11.895300,19.026800 L 13.276600,17.875400 L 13.785400,16.641000 L 14.803000,16.229900 L 15.384500,15.407600 L 16.692600,15.159600 L 17.347400,14.173300 C 16.693100,14.173300 16.038800,14.173300 15.384500,14.173300 L 16.620300,13.597100 L 17.491900,13.597100 L 18.728200,13.185000 L 18.873700,12.692800 L 18.437200,12.280700 L 17.928400,12.115700 L 18.073900,11.622500 L 17.710600,10.882300 L 16.838000,11.210400 L 16.983500,10.552700 L 15.965900,9.9765000 L 15.166600,11.374400 L 15.238900,11.868500 L 14.439600,12.198600 L 13.930300,13.267900 L 13.712500,12.280600 L 12.331200,11.704400 L 12.112900,10.964200 L 13.930300,9.8939000 L 14.730100,9.1537000 L 14.802900,8.2489000 L 14.366900,8.0018000 L 13.785400,7.9193000 L 13.422100,8.8246000 C 13.422100,8.8246000 12.814200,8.9437000 12.657900,8.9823000 C 10.661800,10.821700 6.6286000,14.792400 5.6916000,22.288500 C 5.7287000,22.462300 6.3708000,23.470100 6.3708000,23.470100 L 7.8972000,24.374400 L 9.4236000,24.786500 L 10.078400,25.609700 L 11.095500,26.349900 L 11.677000,26.267900 L 12.113000,26.464200 L 12.113000,26.597000 L 11.531900,28.160000 L 11.095400,28.818200 L 11.240900,29.148300 L 10.877600,30.380700 L 12.186200,32.767400 L 13.494300,33.919700 L 14.076300,34.742000 L 14.003100,36.470500 L 14.439600,37.456800 L 14.003100,39.349400 C 14.003100,39.349400 13.968900,39.337700 14.024600,39.527100 C 14.080800,39.716600 16.353700,40.978300 16.498200,40.870900 C 16.642200,40.761500 16.765300,40.665800 16.765300,40.665800 L 16.620300,40.255600 L 17.201400,39.679400 L 17.419700,39.103200 L 18.365000,38.773100 L 19.091600,36.962600 L 18.873800,36.470400 L 19.381600,35.730200 L 20.472400,35.482200 L 21.054400,34.165800 L 20.908900,32.521300 L 21.781000,31.286900 L 21.926500,30.052500 C 20.733100,29.460700 19.549500,28.851300 18.365000,28.242000"
+ id="path4184" />
+ </g>
+ </g>
+ <g
+ id="g4186">
+ <g
+ id="g4190">
+ <path
+ d="M 16.765600,9.5649000 L 17.492200,10.058600 L 18.074200,10.058600 L 18.074200,9.4829000 L 17.347600,9.1538000 L 16.765600,9.5649000"
+ id="path4192" />
+ </g>
+ </g>
+ <g
+ id="g4194">
+ <g
+ id="g4198">
+ <path
+ d="M 14.876000,8.9072000 L 14.512200,9.8120000 L 15.239300,9.8120000 L 15.603100,8.9892000 C 15.916600,8.7675000 16.228600,8.5444000 16.547900,8.3310000 L 17.275000,8.5781000 C 17.759400,8.9072000 18.243800,9.2363000 18.728600,9.5649000 L 19.456100,8.9072000 L 18.655800,8.5781000 L 18.292000,7.8374000 L 16.911100,7.6728000 L 16.838300,7.2612000 L 16.184000,7.4262000 L 15.893600,8.0020000 L 15.529800,7.2613000 L 15.384800,7.5904000 L 15.457600,8.4132000 L 14.876000,8.9072000"
+ id="path4200" />
+ </g>
+ </g>
+ <g
+ id="g4202">
+ <g
+ style="opacity:0.75000000"
+ id="g4204">
+ <path
+ id="path4206"
+ d="" />
+ </g>
+ <g
+ id="g4208">
+ <path
+ id="path4210"
+ d="" />
+ </g>
+ </g>
+ <g
+ id="g4212">
+ <g
+ style="opacity:0.75000000"
+ id="g4214">
+ <path
+ id="path4216"
+ d="" />
+ </g>
+ <g
+ id="g4218">
+ <path
+ id="path4220"
+ d="" />
+ </g>
+ </g>
+ <g
+ id="g4222">
+ <g
+ id="g4226">
+ <path
+ d="M 17.492200,6.8496000 L 17.856000,6.5210000 L 18.583100,6.3564000 C 19.081100,6.1142000 19.581100,5.9511000 20.109500,5.7802000 L 19.819500,5.2865000 L 18.881000,5.4213000 L 18.437600,5.8632000 L 17.706600,5.9692000 L 17.056700,6.2744000 L 16.740800,6.4272000 L 16.547900,6.6855000 L 17.492200,6.8496000"
+ id="path4228" />
+ </g>
+ </g>
+ <g
+ id="g4230">
+ <g
+ id="g4234">
+ <path
+ d="M 18.728500,14.666500 L 19.165000,14.008300 L 18.510200,13.515100 L 18.728500,14.666500"
+ id="path4236" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g3216"
+ style="color:#000000;fill:url(#radialGradient1460);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0179454;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ transform="matrix(0.982371,0.000000,0.000000,0.982371,-8.095179e-2,3.088300e-2)">
+ <g
+ id="g3218"
+ style="color:#000000;fill:url(#radialGradient1462);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3222"
+ style="color:#000000;fill:url(#radialGradient1466);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 44.071300,20.714400 C 44.071300,20.977100 44.071300,20.714400 44.071300,20.714400 L 43.526400,21.331600 C 43.192400,20.938000 42.817400,20.607000 42.436600,20.261300 L 41.600700,20.384300 L 40.837000,19.521000 L 40.837000,20.589400 L 41.491300,21.084500 L 41.926800,21.577700 L 42.508800,20.919500 C 42.655300,21.193900 42.799800,21.468300 42.945300,21.742700 L 42.945300,22.565000 L 42.290000,23.305200 L 41.090800,24.128400 L 40.182600,25.034700 L 39.600600,24.374500 L 39.891600,23.634300 L 39.310500,22.976100 L 38.329100,20.878400 L 37.493200,19.933100 L 37.274400,20.179200 L 37.602500,21.372600 L 38.219700,22.071800 C 38.572200,23.089400 38.920900,24.062000 39.383800,25.034700 C 40.101600,25.034700 40.778300,24.958500 41.491200,24.868700 L 41.491200,25.444900 L 40.619100,27.584100 L 39.819300,28.488400 L 39.165000,29.888800 C 39.165000,30.656400 39.165000,31.424000 39.165000,32.191500 L 39.383800,33.097800 L 39.020500,33.508000 L 38.219700,34.002100 L 37.383800,34.701300 L 38.075200,35.482600 L 37.129900,36.306800 L 37.311500,36.840000 L 35.893500,38.445500 L 34.949200,38.445500 L 34.149400,38.939600 L 33.639600,38.939600 L 33.639600,38.281400 L 33.422800,36.963000 C 33.141500,36.136800 32.848600,35.316500 32.550700,34.496200 C 32.550700,33.890700 32.586800,33.291100 32.623000,32.685700 L 32.987300,31.863400 L 32.477500,30.875100 L 32.514600,29.517700 L 31.823200,28.736400 L 32.168900,27.605500 L 31.606400,26.967300 L 30.624000,26.967300 L 30.296900,26.597200 L 29.315500,27.214900 L 28.916100,26.761300 L 28.006900,27.543000 C 27.389700,26.843300 26.771500,26.144100 26.153400,25.444900 L 25.426800,23.716400 L 26.081100,22.730100 L 25.717800,22.319000 L 26.516600,20.425400 C 27.172900,19.609000 27.858400,18.825800 28.551800,18.039700 L 29.788100,17.710600 L 31.169000,17.546500 L 32.114300,17.793600 L 33.459000,19.150000 L 33.931700,18.615800 L 34.585000,18.533800 L 35.821300,18.944900 L 36.766600,18.944900 L 37.420900,18.368700 L 37.711900,17.957600 L 37.056600,17.546500 L 35.965800,17.464500 C 35.663100,17.044600 35.381800,16.603200 35.022400,16.230100 L 34.658100,16.394200 L 34.512600,17.464500 L 33.858300,16.724300 L 33.713800,15.900100 L 32.987200,15.325900 L 32.695200,15.325900 L 33.422700,16.148200 L 33.131700,16.888400 L 32.550600,17.052500 L 32.913900,16.312300 L 32.258600,15.984200 L 31.678500,15.326000 L 30.586700,15.572100 L 30.442200,15.900200 L 29.787900,16.312300 L 29.424600,17.217600 L 28.516400,17.669700 L 28.116000,17.217600 L 27.680500,17.217600 L 27.680500,15.736200 L 28.625800,15.242100 L 29.352400,15.242100 L 29.205900,14.666900 L 28.625800,14.090700 L 29.606300,13.884600 L 30.151200,13.268400 L 30.586700,12.527200 L 31.387500,12.527200 L 31.168700,11.952000 L 31.678500,11.622900 L 31.678500,12.281100 L 32.768300,12.527200 L 33.858100,11.622900 L 33.931300,11.210800 L 34.875600,10.553100 C 34.533800,10.595600 34.192000,10.626800 33.858000,10.717700 L 33.858000,9.9766000 L 34.221300,9.1538000 L 33.858000,9.1538000 L 33.059600,9.8940000 L 32.840800,10.305600 L 33.059600,10.882300 L 32.695300,11.868600 L 32.114200,11.539500 L 31.606400,10.964300 L 30.805600,11.539500 L 30.514600,10.223600 L 31.895500,9.3188000 L 31.895500,8.8247000 L 32.768500,8.2490000 L 34.149400,7.9194000 L 35.094700,8.2490000 L 36.838800,8.5781000 L 36.403300,9.0713000 L 35.458000,9.0713000 L 36.403300,10.058600 L 37.129900,9.2363000 L 37.350600,8.8745000 C 37.350600,8.8745000 40.137700,11.372500 41.730500,14.105000 C 43.323300,16.838400 44.071300,20.060100 44.071300,20.714400 z "
+ id="path3224"
+ style="color:#000000;fill:url(#radialGradient1468);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3226"
+ style="color:#000000;fill:url(#radialGradient1470);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3230"
+ style="color:#000000;fill:url(#radialGradient1474);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 26.070300,9.2363000 L 25.997100,9.7295000 L 26.506900,10.058600 L 27.378000,9.4829000 L 26.942500,8.9892000 L 26.360500,9.3188000 L 26.070500,9.2363000"
+ id="path3232"
+ style="color:#000000;fill:url(#radialGradient1476);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3234"
+ style="color:#000000;fill:url(#radialGradient1478);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3238"
+ style="color:#000000;fill:url(#radialGradient1482);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 26.870100,5.8633000 L 24.979500,5.1226000 L 22.799800,5.3692000 L 20.109400,6.1094000 L 19.600600,6.6035000 L 21.272500,7.7549000 L 21.272500,8.4131000 L 20.618200,9.0713000 L 21.491200,10.800300 L 22.071300,10.470200 L 22.799800,9.3188000 C 23.922800,8.9716000 24.929700,8.5781000 25.997100,8.0844000 L 26.870100,5.8632000"
+ id="path3240"
+ style="color:#000000;fill:url(#radialGradient1484);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3242"
+ style="color:#000000;fill:url(#radialGradient1486);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3246"
+ style="color:#000000;fill:url(#radialGradient1490);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 28.833000,12.774900 L 28.542000,12.033700 L 28.032200,12.198700 L 28.178700,13.103000 L 28.833000,12.774900"
+ id="path3248"
+ style="color:#000000;fill:url(#radialGradient1492);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3250"
+ style="color:#000000;fill:url(#radialGradient1494);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3254"
+ style="color:#000000;fill:url(#radialGradient1498);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 29.123000,12.608900 L 28.977500,13.597200 L 29.777300,13.432200 L 30.358400,12.857000 L 29.849600,12.362900 C 29.678700,11.907800 29.482400,11.483000 29.268500,11.046500 L 28.833000,11.046500 L 28.833000,11.539700 L 29.123000,11.868800 L 29.123000,12.609000"
+ id="path3256"
+ style="color:#000000;fill:url(#radialGradient1500);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3258"
+ style="color:#000000;fill:url(#radialGradient1502);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3262"
+ style="color:#000000;fill:url(#radialGradient1506);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 18.365200,28.242200 L 17.783200,27.089900 L 16.692900,26.843300 L 16.111400,25.280800 L 14.657800,25.444900 L 13.422400,24.540600 L 12.113300,25.692000 L 12.113300,25.873600 C 11.717300,25.759300 11.230500,25.743700 10.877900,25.526900 L 10.586900,24.704600 L 10.586900,23.799300 L 9.7148000,23.881300 C 9.7876000,23.305100 9.8598000,22.729900 9.9331000,22.153800 L 9.4238000,22.153800 L 8.9155000,22.812000 L 8.4062000,23.058100 L 7.6791000,22.647900 L 7.6063000,21.742600 L 7.7518000,20.755300 L 8.8426000,19.933000 L 9.7147000,19.933000 L 9.8597000,19.438900 L 10.950000,19.685000 L 11.749800,20.673300 L 11.895300,19.026800 L 13.276600,17.875400 L 13.785400,16.641000 L 14.803000,16.229900 L 15.384500,15.407600 L 16.692600,15.159600 L 17.347400,14.173300 C 16.693100,14.173300 16.038800,14.173300 15.384500,14.173300 L 16.620300,13.597100 L 17.491900,13.597100 L 18.728200,13.185000 L 18.873700,12.692800 L 18.437200,12.280700 L 17.928400,12.115700 L 18.073900,11.622500 L 17.710600,10.882300 L 16.838000,11.210400 L 16.983500,10.552700 L 15.965900,9.9765000 L 15.166600,11.374400 L 15.238900,11.868500 L 14.439600,12.198600 L 13.930300,13.267900 L 13.712500,12.280600 L 12.331200,11.704400 L 12.112900,10.964200 L 13.930300,9.8939000 L 14.730100,9.1537000 L 14.802900,8.2489000 L 14.366900,8.0018000 L 13.785400,7.9193000 L 13.422100,8.8246000 C 13.422100,8.8246000 12.814200,8.9437000 12.657900,8.9823000 C 10.661800,10.821700 6.6286000,14.792400 5.6916000,22.288500 C 5.7287000,22.462300 6.3708000,23.470100 6.3708000,23.470100 L 7.8972000,24.374400 L 9.4236000,24.786500 L 10.078400,25.609700 L 11.095500,26.349900 L 11.677000,26.267900 L 12.113000,26.464200 L 12.113000,26.597000 L 11.531900,28.160000 L 11.095400,28.818200 L 11.240900,29.148300 L 10.877600,30.380700 L 12.186200,32.767400 L 13.494300,33.919700 L 14.076300,34.742000 L 14.003100,36.470500 L 14.439600,37.456800 L 14.003100,39.349400 C 14.003100,39.349400 13.968900,39.337700 14.024600,39.527100 C 14.080800,39.716600 16.353700,40.978300 16.498200,40.870900 C 16.642200,40.761500 16.765300,40.665800 16.765300,40.665800 L 16.620300,40.255600 L 17.201400,39.679400 L 17.419700,39.103200 L 18.365000,38.773100 L 19.091600,36.962600 L 18.873800,36.470400 L 19.381600,35.730200 L 20.472400,35.482200 L 21.054400,34.165800 L 20.908900,32.521300 L 21.781000,31.286900 L 21.926500,30.052500 C 20.733100,29.460700 19.549500,28.851300 18.365000,28.242000"
+ id="path3264"
+ style="color:#000000;fill:url(#radialGradient1508);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3266"
+ style="color:#000000;fill:url(#radialGradient1510);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3270"
+ style="color:#000000;fill:url(#radialGradient1514);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 16.765600,9.5649000 L 17.492200,10.058600 L 18.074200,10.058600 L 18.074200,9.4829000 L 17.347600,9.1538000 L 16.765600,9.5649000"
+ id="path3272"
+ style="color:#000000;fill:url(#radialGradient1516);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3274"
+ style="color:#000000;fill:url(#radialGradient1518);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3278"
+ style="color:#000000;fill:url(#radialGradient1522);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 14.876000,8.9072000 L 14.512200,9.8120000 L 15.239300,9.8120000 L 15.603100,8.9892000 C 15.916600,8.7675000 16.228600,8.5444000 16.547900,8.3310000 L 17.275000,8.5781000 C 17.759400,8.9072000 18.243800,9.2363000 18.728600,9.5649000 L 19.456100,8.9072000 L 18.655800,8.5781000 L 18.292000,7.8374000 L 16.911100,7.6728000 L 16.838300,7.2612000 L 16.184000,7.4262000 L 15.893600,8.0020000 L 15.529800,7.2613000 L 15.384800,7.5904000 L 15.457600,8.4132000 L 14.876000,8.9072000"
+ id="path3280"
+ style="color:#000000;fill:url(#radialGradient1524);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3282"
+ style="color:#000000;fill:url(#radialGradient1526);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ style="opacity:0.75000000;color:#000000;fill:url(#radialGradient1528);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ id="g3284">
+ <path
+ d=""
+ style="color:#000000;fill:url(#radialGradient1530);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ id="path3286" />
+ </g>
+ <g
+ id="g3288"
+ style="color:#000000;fill:url(#radialGradient1532);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d=""
+ id="path3290"
+ style="color:#000000;fill:url(#radialGradient1534);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3292"
+ style="color:#000000;fill:url(#radialGradient1536);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ style="opacity:0.75000000;color:#000000;fill:url(#radialGradient1538);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ id="g3294">
+ <path
+ d=""
+ style="color:#000000;fill:url(#radialGradient1540);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
+ id="path3296" />
+ </g>
+ <g
+ id="g3298"
+ style="color:#000000;fill:url(#radialGradient1542);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d=""
+ id="path3300"
+ style="color:#000000;fill:url(#radialGradient1544);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3302"
+ style="color:#000000;fill:url(#radialGradient1546);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3306"
+ style="color:#000000;fill:url(#radialGradient1550);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 17.492200,6.8496000 L 17.856000,6.5210000 L 18.583100,6.3564000 C 19.081100,6.1142000 19.581100,5.9511000 20.109500,5.7802000 L 19.819500,5.2865000 L 18.881000,5.4213000 L 18.437600,5.8632000 L 17.706600,5.9692000 L 17.056700,6.2744000 L 16.740800,6.4272000 L 16.547900,6.6855000 L 17.492200,6.8496000"
+ id="path3308"
+ style="color:#000000;fill:url(#radialGradient1552);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ <g
+ id="g3310"
+ style="color:#000000;fill:url(#radialGradient1554);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <g
+ id="g3314"
+ style="color:#000000;fill:url(#radialGradient1558);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
+ <path
+ d="M 18.728500,14.666500 L 19.165000,14.008300 L 18.510200,13.515100 L 18.728500,14.666500"
+ id="path3316"
+ style="color:#000000;fill:url(#radialGradient4756);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ </g>
+ <path
+ style="fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient4132);stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
+ d="M 42.975093,23.485534 C 42.975093,33.651354 34.733915,41.892440 24.569493,41.892440 C 14.404139,41.892440 6.1634261,33.651261 6.1634261,23.485534 C 6.1634261,13.320180 14.404139,5.0799340 24.569493,5.0799340 C 34.733915,5.0799340 42.975093,13.320180 42.975093,23.485534 L 42.975093,23.485534 z "
+ id="path4122" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton.icns b/share/pixmaps/tryton/tryton.icns
new file mode 100644
index 0000000..b501666
Binary files /dev/null and b/share/pixmaps/tryton/tryton.icns differ
diff --git a/share/pixmaps/tryton/tryton.ico b/share/pixmaps/tryton/tryton.ico
new file mode 100644
index 0000000..96e06f8
Binary files /dev/null and b/share/pixmaps/tryton/tryton.ico differ
diff --git a/share/pixmaps/tryton/tryton.png b/share/pixmaps/tryton/tryton.png
new file mode 100644
index 0000000..d8b712f
Binary files /dev/null and b/share/pixmaps/tryton/tryton.png differ
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 523fe06..b8b18b9 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,12 +1,12 @@
Metadata-Version: 1.0
Name: tryton
-Version: 2.0.2
+Version: 2.2.0
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
Author-email: info at b2ck.com
License: GPL-3
-Download-URL: http://downloads.tryton.org/2.0/
+Download-URL: http://downloads.tryton.org/2.2/
Description: tryton
======
@@ -68,9 +68,11 @@ Description: tryton
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: GTK
+Classifier: Framework :: Tryton
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Czech
Classifier: Natural Language :: Dutch
Classifier: Natural Language :: English
Classifier: Natural Language :: French
@@ -81,7 +83,6 @@ Classifier: Natural Language :: Slovak
Classifier: Natural Language :: Slovenian
Classifier: Natural Language :: Japanese
Classifier: Operating System :: OS Independent
-Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Office/Business
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index 1e9de5d..9ae14af 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -50,10 +50,8 @@ share/locale/ja_JP/LC_MESSAGES/tryton.mo
share/locale/nl_NL/LC_MESSAGES/tryton.mo
share/locale/ru_RU/LC_MESSAGES/tryton.mo
share/locale/sl_SI/LC_MESSAGES/tryton.mo
-share/pixmaps/tryton/LICENSE
share/pixmaps/tryton/tryton-attachment-hi.svg
share/pixmaps/tryton/tryton-attachment.svg
-share/pixmaps/tryton/tryton-cancel.svg
share/pixmaps/tryton/tryton-clear.svg
share/pixmaps/tryton/tryton-close.svg
share/pixmaps/tryton/tryton-connect.svg
@@ -84,11 +82,12 @@ share/pixmaps/tryton/tryton-mail-message-new.svg
share/pixmaps/tryton/tryton-mail-message.svg
share/pixmaps/tryton/tryton-new.svg
share/pixmaps/tryton/tryton-noimage.png
-share/pixmaps/tryton/tryton-ok.svg
share/pixmaps/tryton/tryton-open.svg
share/pixmaps/tryton/tryton-preferences-system-session.svg
share/pixmaps/tryton/tryton-preferences-system.svg
share/pixmaps/tryton/tryton-preferences.svg
+share/pixmaps/tryton/tryton-print-email.svg
+share/pixmaps/tryton/tryton-print-open.svg
share/pixmaps/tryton/tryton-print.svg
share/pixmaps/tryton/tryton-refresh.svg
share/pixmaps/tryton/tryton-save-as.svg
@@ -104,9 +103,10 @@ share/pixmaps/tryton/tryton.png
tryton/__init__.py
tryton/client.py
tryton/config.py
+tryton/exceptions.py
tryton/fingerprints.py
tryton/ipc.py
-tryton/pysocket.py
+tryton/jsonrpc.py
tryton/pyson.py
tryton/rpc.py
tryton/signal_event.py
@@ -132,6 +132,7 @@ tryton/common/date_widget.py
tryton/common/datetime_strftime.py
tryton/common/domain_inversion.py
tryton/common/environment.py
+tryton/common/tdp.py
tryton/gui/__init__.py
tryton/gui/main.py
tryton/gui/window/__init__.py
@@ -146,8 +147,10 @@ tryton/gui/window/email.py
tryton/gui/window/fileactions.py
tryton/gui/window/form.py
tryton/gui/window/limit.py
+tryton/gui/window/nomodal.py
tryton/gui/window/preference.py
tryton/gui/window/shortcuts.py
+tryton/gui/window/tabcontent.py
tryton/gui/window/tips.py
tryton/gui/window/win_export.py
tryton/gui/window/win_form.py
@@ -202,18 +205,6 @@ tryton/gui/window/view_form/view/graph_gtk/pie.py
tryton/gui/window/view_form/view/list_gtk/__init__.py
tryton/gui/window/view_form/view/list_gtk/editabletree.py
tryton/gui/window/view_form/view/list_gtk/parser.py
-tryton/gui/window/view_form/widget_search/__init__.py
-tryton/gui/window/view_form/widget_search/calendar.py
-tryton/gui/window/view_form/widget_search/char.py
-tryton/gui/window/view_form/widget_search/checkbox.py
-tryton/gui/window/view_form/widget_search/float.py
-tryton/gui/window/view_form/widget_search/form.py
-tryton/gui/window/view_form/widget_search/integer.py
-tryton/gui/window/view_form/widget_search/interface.py
-tryton/gui/window/view_form/widget_search/reference.py
-tryton/gui/window/view_form/widget_search/selection.py
tryton/plugins/__init__.py
tryton/plugins/translation/__init__.py
-tryton/plugins/workflow/__init__.py
-tryton/wizard/__init__.py
-tryton/wizard/main.py
\ No newline at end of file
+tryton/plugins/workflow/__init__.py
\ No newline at end of file
diff --git a/tryton.egg-info/requires.txt b/tryton.egg-info/requires.txt
index a88de00..850b2a2 100644
--- a/tryton.egg-info/requires.txt
+++ b/tryton.egg-info/requires.txt
@@ -1,4 +1,7 @@
python-dateutil
[timezone]
-pytz
\ No newline at end of file
+pytz
+
+[simplejson]
+simplejson
\ No newline at end of file
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 0ca095c..3c81170 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -3,13 +3,12 @@
import time
import datetime
import tryton.rpc as rpc
-from tryton.wizard import Wizard
from tryton.common import message, error, selection, file_open, mailto
from tryton.gui.window import Window
from tryton.pyson import PYSONDecoder
+from tryton.exceptions import TrytonServerError
import gettext
import tempfile
-import base64
import os
import webbrowser
import tryton.common as common
@@ -19,7 +18,7 @@ _ = gettext.gettext
class Action(object):
@staticmethod
- def exec_report(name, data, window, direct_print=False, email_print=False,
+ def exec_report(name, data, direct_print=False, email_print=False,
email=None, context=None):
if context is None:
context = {}
@@ -30,24 +29,27 @@ class Action(object):
del data['ids']
ctx = rpc.CONTEXT.copy()
ctx.update(context)
+ ctx['direct_print'] = direct_print
+ ctx['email_print'] = email_print
+ ctx['email'] = email
if not ids:
args = ('model', data['model'], 'search', [], 0, None, None, ctx)
try:
ids = rpc.execute(*args)
- except Exception, exception:
- ids = common.process_exception(exception, window, *args)
+ except TrytonServerError, exception:
+ ids = common.process_exception(exception, *args)
if not ids:
return False
if ids == []:
- message(_('Nothing to print!'), window)
+ message(_('Nothing to print!'))
return False
data['id'] = ids[0]
args = ('report', name, 'execute', ids, data, ctx)
- rpcprogress = common.RPCProgress('execute', args, window)
+ rpcprogress = common.RPCProgress('execute', args)
try:
res = rpcprogress.run()
- except Exception, exception:
- common.process_exception(exception, window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
if not res:
return False
@@ -58,19 +60,18 @@ class Action(object):
fp_name = os.path.join(dtemp,
name.replace(os.sep, '_').replace(os.altsep or os.sep, '_') \
+ os.extsep + type)
- file_d = open(fp_name, 'wb')
- file_d.write(base64.decodestring(data))
- file_d.close()
+ with open(fp_name, 'wb') as file_d:
+ file_d.write(data)
if email_print:
mailto(to=email.get('to'), cc=email.get('cc'),
subject=email.get('subject'), body=email.get('body'),
attachment=fp_name)
else:
- file_open(fp_name, type, window, print_p=print_p)
+ file_open(fp_name, type, print_p=print_p)
return True
@staticmethod
- def execute(act_id, data, window, action_type=None, context=None):
+ def execute(act_id, data, action_type=None, context=None):
if context is None:
context = {}
ctx = rpc.CONTEXT.copy()
@@ -80,8 +81,8 @@ class Action(object):
try:
res = rpc.execute('model', 'ir.action', 'read', act_id,
['type'], ctx)
- except Exception, exception:
- common.process_exception(exception, window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return
if not res:
raise Exception, 'ActionNotFound'
@@ -89,13 +90,13 @@ class Action(object):
try:
res = rpc.execute('model', action_type, 'search_read',
[('action', '=', act_id)], 0, 1, None, None, ctx)
- except Exception, exception:
- common.process_exception(exception, window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return
- Action._exec_action(res, window, data)
+ Action._exec_action(res, data)
@staticmethod
- def _exec_action(action, window, data=None, context=None):
+ def _exec_action(action, data=None, context=None):
if context is None:
context = {}
if data is None:
@@ -121,6 +122,7 @@ class Action(object):
}
ctx.update(rpc.CONTEXT)
eval_ctx = ctx.copy()
+ eval_ctx['_user'] = rpc._USER
action_ctx = PYSONDecoder(eval_ctx).decode(
action.get('pyson_context') or '{}')
ctx.update(action_ctx)
@@ -128,12 +130,14 @@ class Action(object):
domain_context = ctx.copy()
domain_context['context'] = ctx
+ domain_context['_user'] = rpc._USER
domain = PYSONDecoder(domain_context).decode(action['pyson_domain'])
search_context = ctx.copy()
search_context['context'] = ctx
+ search_context['_user'] = rpc._USER
search_value = PYSONDecoder(search_context).decode(
- action['pyson_search_value'] or '{}')
+ action['pyson_search_value'] or '[]')
name = False
if action.get('window_name', True):
@@ -142,30 +146,22 @@ class Action(object):
res_model = action.get('res_model', data.get('res_model'))
res_id = action.get('res_id', data.get('res_id'))
- Window.create(view_ids, res_model, res_id, domain, window,
+ Window.create(view_ids, res_model, res_id, domain,
action_ctx, view_mode, name=name,
limit=action.get('limit'),
auto_refresh=action.get('auto_refresh'),
search_value=search_value,
icon=(action.get('icon.rec_name') or ''))
elif action['type'] == 'ir.action.wizard':
- if action.get('window', False):
- Window.create_wizard(action['wiz_name'], data, window,
- direct_print=action.get('direct_print', False),
- email_print=action.get('email_print', False),
- email=action.get('email'), name=action.get('name', False),
- context=context, icon=(action.get('icon.rec_name') or ''))
- else:
- Wizard.execute(action['wiz_name'], data, window,
- direct_print=action.get('direct_print', False),
- email_print=action.get('email_print', False),
- email=action.get('email'), context=context)
- if action['wiz_name'] == 'ir.ui.view_sc.add':
- from tryton.gui.main import Main
- Main.get_main().shortcut_set()
+ Window.create_wizard(action['wiz_name'], data,
+ direct_print=action.get('direct_print', False),
+ email_print=action.get('email_print', False),
+ email=action.get('email'), name=action.get('name', False),
+ context=context, icon=(action.get('icon.rec_name') or ''),
+ window=action.get('window', False))
elif action['type'] == 'ir.action.report':
- Action.exec_report(action['report_name'], data, window,
+ Action.exec_report(action['report_name'], data,
direct_print=action.get('direct_print', False),
email_print=action.get('email_print', False),
email=action.get('email'), context=context)
@@ -175,7 +171,7 @@ class Action(object):
webbrowser.open(action['url'], new=2)
@staticmethod
- def exec_keyword(keyword, window, data=None, context=None, warning=True,
+ def exec_keyword(keyword, data=None, context=None, warning=True,
alwaysask=False):
actions = []
if 'id' in data:
@@ -184,20 +180,19 @@ class Action(object):
actions = rpc.execute('model', 'ir.action.keyword',
'get_keyword', keyword, (data['model'], model_id),
rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
keyact = {}
for action in actions:
keyact[action['name'].replace('_', '')] = action
- res = selection(_('Select your action'), keyact, window,
- alwaysask=alwaysask)
+ res = selection(_('Select your action'), keyact, alwaysask=alwaysask)
if res:
(name, action) = res
- Action._exec_action(action, window, data, context=context)
+ Action._exec_action(action, data, context=context)
return (name, action)
elif not len(keyact) and warning:
- message(_('No action defined!'), window)
+ message(_('No action defined!'))
return False
diff --git a/tryton/client.py b/tryton/client.py
index a7ce99c..b7bc3f6 100644
--- a/tryton/client.py
+++ b/tryton/client.py
@@ -1,6 +1,5 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
"""
%prog [options]
"""
@@ -98,17 +97,11 @@ class TrytonClient(object):
if hasattr(signal, 'SIGQUIT'):
signal.signal(signal.SIGQUIT, lambda signum, frame: main.sig_quit())
- def excepthook(exctyp, value, tb):
+ def excepthook(exctyp, exception, tb):
import common
-
- if str(value) == 'NotLogged':
- return
-
- tb_s = reduce(lambda x, y: x+y,
- traceback.format_exception(exctyp, value, tb))
- for path in sys.path:
- tb_s = tb_s.replace(path, '')
- common.error(str(value), main.window, tb_s)
+ import traceback
+ tb = '\n'.join(traceback.format_tb(tb))
+ common.process_exception(exception, tb=tb)
sys.excepthook = excepthook
diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py
index d9779bf..4fdd6d8 100644
--- a/tryton/common/cellrendererfloat.py
+++ b/tryton/common/cellrendererfloat.py
@@ -29,24 +29,25 @@ class CellRendererFloat(CellRendererInteger):
value = entry.get_text()
position = entry.get_position()
new_value = value[:position] + new_text + value[position:]
- try:
- decimal_point = locale.localeconv()['decimal_point']
+ decimal_point = locale.localeconv()['decimal_point']
- if new_value in ('-', decimal_point):
- return
+ if new_value in ('-', decimal_point):
+ return
+ try:
locale.atof(new_value)
+ except ValueError:
+ entry.stop_emission('insert-text')
+ return
- new_int = new_value
- new_decimal = ''
- if decimal_point in new_value:
- new_int, new_decimal = new_value.rsplit(decimal_point, 1)
-
- if len(new_int) > self.digits[0] \
- or len(new_decimal) > self.digits[1]:
- entry.stop_emission('insert-text')
+ new_int = new_value
+ new_decimal = ''
+ if decimal_point in new_value:
+ new_int, new_decimal = new_value.rsplit(decimal_point, 1)
- except Exception:
+ if len(new_int) > self.digits[0] \
+ or len(new_decimal) > self.digits[1]:
entry.stop_emission('insert-text')
+
gobject.type_register(CellRendererFloat)
diff --git a/tryton/common/cellrendererinteger.py b/tryton/common/cellrendererinteger.py
index b8c5fac..aaeedf3 100644
--- a/tryton/common/cellrendererinteger.py
+++ b/tryton/common/cellrendererinteger.py
@@ -20,11 +20,11 @@ class CellRendererInteger(CellRendererText):
value = entry.get_text()
position = entry.get_position()
new_value = value[:position] + new_text + value[position:]
+ if new_value == '-':
+ return
try:
- if new_value == '-':
- return
locale.atoi(new_value)
- except Exception:
+ except ValueError:
entry.stop_emission('insert-text')
gobject.type_register(CellRendererInteger)
diff --git a/tryton/common/common.py b/tryton/common/common.py
index 70db285..8ef10bc 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -1,9 +1,9 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
import gtk
import gobject
+import glib
import pango
import gettext
import os
@@ -37,6 +37,13 @@ except ImportError:
ssl = None
import dis
from threading import Lock, Semaphore
+try:
+ import pytz
+except ImportError:
+ pytz = None
+
+from tryton.exceptions import (TrytonServerError, TrytonError,
+ TrytonServerUnavailable)
_ = gettext.gettext
@@ -59,11 +66,15 @@ class TrytonIconFactory(gtk.IconFactory):
try:
pixbuf = gtk.gdk.pixbuf_new_from_file(
os.path.join(PIXMAPS_DIR, fname).decode('utf-8'))
- except Exception:
+ except IOError:
continue
icon_set = gtk.IconSet(pixbuf)
self.add(name, icon_set)
self._locale_icons.add(name)
+ for name in ('ok', 'cancel'):
+ icon_set = gtk.Style().lookup_icon_set('gtk-%s' % name)
+ self.add('tryton-%s' % name, icon_set)
+ self._locale_icons.add('tryton-%s' % name)
def load_icons(self, refresh=False):
if not refresh:
@@ -74,7 +85,7 @@ class TrytonIconFactory(gtk.IconFactory):
try:
icons = rpc.execute('model', 'ir.ui.icon', 'list_icons',
rpc.CONTEXT)
- except Exception:
+ except TrytonServerError:
icons = []
for icon_id, icon_name in icons:
if refresh and icon_name in self._loaded_icons:
@@ -91,12 +102,13 @@ class TrytonIconFactory(gtk.IconFactory):
self.load_icons(refresh=True)
icon_ref = (self._name2id[iconname], iconname)
idx = self._tryton_icons.index(icon_ref)
- to_load = slice(max(0, idx-self.batchnum/2), idx+self.batchnum/2)
+ to_load = slice(max(0, idx - self.batchnum // 2),
+ idx + self.batchnum // 2)
ids = [e[0] for e in self._tryton_icons[to_load]]
try:
icons = rpc.execute('model', 'ir.ui.icon', 'read', ids,
['name', 'icon'], rpc.CONTEXT)
- except Exception:
+ except TrytonServerError:
icons = []
for icon in icons:
# svg file cannot be loaded from data into a pixbuf
@@ -148,7 +160,10 @@ def refresh_dblist(host, port):
def refresh_langlist(lang_widget, host, port):
liststore = lang_widget.get_model()
liststore.clear()
- lang_list = rpc.db_exec(host, port, 'list_lang')
+ try:
+ lang_list = rpc.db_exec(host, port, 'list_lang')
+ except socket.error:
+ return []
from tryton.gui.main import Main
Main.get_main().refresh_ssl()
index = -1
@@ -164,8 +179,9 @@ def refresh_langlist(lang_widget, host, port):
lang_widget.set_active(index)
return lang_list
-def request_server(server_widget, parent):
+def request_server(server_widget):
result = False
+ parent = get_toplevel_window()
dialog = gtk.Dialog(
title= _('Tryton Connection'),
parent=parent,
@@ -185,7 +201,7 @@ def request_server(server_widget, parent):
xoptions=gtk.FILL)
entry_port = gtk.Entry()
entry_port.set_max_length(5)
- entry_port.set_text("8070")
+ entry_port.set_text("8000")
entry_port.set_activates_default(True)
entry_port.set_width_chars(16)
table.attach(entry_port, 1, 2, 1, 2, yoptions=False,
@@ -225,14 +241,42 @@ def request_server(server_widget, parent):
dialog.destroy()
return result
+def get_toplevel_window():
+ windows = [x for x in gtk.window_list_toplevels()
+ if x.window and x.props.visible]
+ trans2windows = dict((x.get_transient_for(), x) for x in windows)
+ for window in set(windows) - set(trans2windows.iterkeys()):
+ return window
+ return trans2windows[None]
-def selection(title, values, parent, alwaysask=False):
+def get_sensible_widget(window):
+ from tryton.gui.main import Main
+ main = Main.get_main()
+ if main and window == main.window:
+ focus_widget = window.get_focus()
+ page = main.get_page()
+ if page and focus_widget and focus_widget.is_ancestor(page.widget):
+ return page.widget
+ return window
+
+def center_window(window, parent, sensible):
+ parent_x, parent_y = parent.window.get_origin()
+ window_allocation = window.get_allocation()
+ sensible_allocation = sensible.get_allocation()
+ x = (parent_x + sensible_allocation.x +
+ int((sensible_allocation.width - window_allocation.width) / 2))
+ y = (parent_y + sensible_allocation.y +
+ int((sensible_allocation.height - window_allocation.height) / 2))
+ window.move(x, y)
+
+def selection(title, values, alwaysask=False):
if not values or len(values)==0:
return None
elif len(values)==1 and (not alwaysask):
key = values.keys()[0]
return (key, values[key])
+ parent = get_toplevel_window()
dialog = gtk.Dialog(_('Selection'), parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
@@ -286,9 +330,10 @@ def selection(title, values, parent, alwaysask=False):
dialog.destroy()
return res
-def file_selection(title, filename='', parent=None,
+def file_selection(title, filename='',
action=gtk.FILE_CHOOSER_ACTION_OPEN, preview=True, multi=False,
filters=None):
+ parent = get_toplevel_window()
if action == gtk.FILE_CHOOSER_ACTION_OPEN:
buttons = (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OPEN,gtk.RESPONSE_OK)
@@ -308,14 +353,16 @@ def file_selection(title, filename='', parent=None,
win.add_filter(filt)
def update_preview_cb(win, img):
+ have_preview = False
filename = win.get_preview_filename()
- try:
- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(filename.decode(
- sys.getfilesystemencoding().encode('utf-8')), 128, 128)
- img.set_from_pixbuf(pixbuf)
- have_preview = True
- except Exception:
- have_preview = False
+ if filename:
+ try:
+ pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(filename.decode(
+ sys.getfilesystemencoding().encode('utf-8')), 128, 128)
+ img.set_from_pixbuf(pixbuf)
+ have_preview = True
+ except (IOError, glib.GError):
+ pass
win.set_preview_widget_active(have_preview)
return
@@ -337,7 +384,7 @@ def file_selection(title, filename='', parent=None,
CONFIG['client.default_path'] = \
os.path.dirname(filepath)
CONFIG.save()
- except Exception:
+ except IOError:
pass
parent.present()
win.destroy()
@@ -349,32 +396,28 @@ def file_selection(title, filename='', parent=None,
try:
CONFIG['client.default_path'] = \
os.path.dirname(filenames[0])
- except Exception:
+ except IOError:
pass
parent.present()
win.destroy()
return filenames
-def file_open(filename, type, parent, print_p=False):
+def file_open(filename, type, print_p=False):
if os.name == 'nt':
operation = 'open'
if print_p:
operation = 'print'
try:
os.startfile(os.path.normpath(filename), operation)
- except Exception:
- # Try without operation, it is not supported on version < 2.5
- try:
- os.startfile(os.path.normpath(filename))
- except Exception:
- save_name = file_selection(_('Save As...'), parent=parent,
- action=gtk.FILE_CHOOSER_ACTION_SAVE)
- if save_name:
- file_p = open(filename, 'rb')
- save_p = open(save_name, 'wb+')
- save_p.write(file_p.read())
- save_p.close()
- file_p.close()
+ except WindowsError:
+ save_name = file_selection(_('Save As...'),
+ action=gtk.FILE_CHOOSER_ACTION_SAVE)
+ if save_name:
+ file_p = open(filename, 'rb')
+ save_p = open(save_name, 'wb+')
+ save_p.write(file_p.read())
+ save_p.close()
+ file_p.close()
return
elif os.name == 'mac' or \
(hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
@@ -384,7 +427,7 @@ def file_open(filename, type, parent, print_p=False):
if not pid:
try:
os.execv('/usr/bin/open', ['/usr/bin/open', filename])
- except Exception:
+ except OSError:
sys.exit(0)
time.sleep(0.1)
sys.exit(0)
@@ -402,7 +445,7 @@ def file_open(filename, type, parent, print_p=False):
#TODO add dialog box
pass
if not cmd:
- save_name = file_selection(_('Save As...'), parent=parent,
+ save_name = file_selection(_('Save As...'),
action=gtk.FILE_CHOOSER_ACTION_SAVE)
if save_name:
file_p = open(filename, 'rb')
@@ -424,7 +467,7 @@ def file_open(filename, type, parent, print_p=False):
if not pid:
try:
os.execv(prog, args)
- except Exception:
+ except OSError:
sys.exit(0)
time.sleep(0.1)
sys.exit(0)
@@ -451,7 +494,7 @@ def mailto(to=None, cc=None, subject=None, body=None, attachment=None):
if not pid:
try:
os.execv(prog, args)
- except Exception:
+ except OSError:
sys.exit(0)
time.sleep(0.1)
sys.exit(0)
@@ -496,8 +539,8 @@ class UniqueDialog(object):
if self.running:
return
- parent = args[1]
- dialog = self.build_dialog(*args)
+ parent = get_toplevel_window()
+ dialog = self.build_dialog(parent, *args)
dialog.set_icon(TRYTON_ICON)
self.running = True
dialog.show_all()
@@ -510,21 +553,21 @@ class UniqueDialog(object):
class MessageDialog(UniqueDialog):
- def build_dialog(self, message, parent, msg_type):
+ def build_dialog(self, parent, message, msg_type):
dialog = gtk.MessageDialog(parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT, msg_type,
gtk.BUTTONS_OK, message)
return dialog
- def __call__(self, message, parent, msg_type=gtk.MESSAGE_INFO):
- super(MessageDialog, self).__call__(message, parent, msg_type)
+ def __call__(self, message, msg_type=gtk.MESSAGE_INFO):
+ super(MessageDialog, self).__call__(message, msg_type)
message = MessageDialog()
class WarningDialog(UniqueDialog):
- def build_dialog(self, message, parent, title, buttons=gtk.BUTTONS_OK):
+ def build_dialog(self, parent, message, title, buttons=gtk.BUTTONS_OK):
dialog = gtk.MessageDialog(parent, gtk.DIALOG_DESTROY_WITH_PARENT,
gtk.MESSAGE_WARNING, buttons)
if hasattr(dialog, 'format_secondary_markup'):
@@ -546,8 +589,8 @@ class UserWarningDialog(WarningDialog):
def _set_always(self, toggle):
self.always = toggle.get_active()
- def build_dialog(self, message, parent, title):
- dialog = super(UserWarningDialog, self).build_dialog(message, parent,
+ def build_dialog(self, parent, message, title):
+ dialog = super(UserWarningDialog, self).build_dialog(parent, message,
title, gtk.BUTTONS_OK_CANCEL)
check = gtk.CheckButton(_('Always ignore this warning.'))
check.connect_after('toggled', self._set_always)
@@ -556,9 +599,8 @@ class UserWarningDialog(WarningDialog):
dialog.vbox.pack_end(alignment, True, False)
return dialog
- def __call__(self, message, parent, title):
- response = super(UserWarningDialog, self).__call__(message, parent,
- title)
+ def __call__(self, message, title):
+ response = super(UserWarningDialog, self).__call__(message, title)
if response == gtk.RESPONSE_OK:
if self.always:
return 'always'
@@ -570,7 +612,7 @@ userwarning = UserWarningDialog()
class ConfirmationDialog(UniqueDialog):
- def build_dialog(self, message, parent):
+ def build_dialog(self, parent, message):
dialog = gtk.Dialog(_('Confirmation'), parent, gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
| gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
@@ -584,22 +626,21 @@ class ConfirmationDialog(UniqueDialog):
label = gtk.Label('%s' % (to_xml(message)))
hbox.pack_start(label, True, True)
dialog.vbox.pack_start(hbox)
- dialog.set_transient_for(parent)
return dialog
class SurDialog(ConfirmationDialog):
- def build_dialog(self, message, parent):
- dialog = super(SurDialog, self).build_dialog(message, parent)
+ def build_dialog(self, parent, message):
+ dialog = super(SurDialog, self).build_dialog(parent, message)
dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
dialog.add_button("gtk-ok", gtk.RESPONSE_OK | gtk.CAN_DEFAULT
| gtk.HAS_DEFAULT)
dialog.set_default_response(gtk.RESPONSE_OK)
return dialog
- def __call__(self, message, parent):
- response = super(SurDialog, self).__call__(message, parent)
+ def __call__(self, message):
+ response = super(SurDialog, self).__call__(message)
return response == gtk.RESPONSE_OK
sur = SurDialog()
@@ -613,8 +654,8 @@ class Sur3BDialog(ConfirmationDialog):
gtk.RESPONSE_CANCEL: 'cancel'
}
- def build_dialog(self, message, parent):
- dialog = super(Sur3BDialog, self).build_dialog(message, parent)
+ def build_dialog(self, parent, message):
+ dialog = super(Sur3BDialog, self).build_dialog(parent, message)
dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
dialog.add_button("gtk-no", gtk.RESPONSE_NO)
dialog.add_button("gtk-yes", gtk.RESPONSE_YES | gtk.CAN_DEFAULT
@@ -622,8 +663,8 @@ class Sur3BDialog(ConfirmationDialog):
dialog.set_default_response(gtk.RESPONSE_YES)
return dialog
- def __call__(self, message, parent):
- response = super(Sur3BDialog, self).__call__(message, parent)
+ def __call__(self, message):
+ response = super(Sur3BDialog, self).__call__(message)
return self.response_mapping.get(response, 'cancel')
sur_3b = Sur3BDialog()
@@ -631,7 +672,7 @@ sur_3b = Sur3BDialog()
class AskDialog(UniqueDialog):
- def build_dialog(self, question, parent, visibility):
+ def build_dialog(self, parent, question, visibility):
win = gtk.Dialog('Tryton', parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
@@ -654,12 +695,12 @@ class AskDialog(UniqueDialog):
win.vbox.pack_start(hbox)
return win
- def __call__(self, question, parent, visibility=True):
+ def __call__(self, question, visibility=True):
if self.running:
return
- dialog = self.build_dialog(question, parent,
- visibility=visibility)
+ parent = get_toplevel_window()
+ dialog = self.build_dialog(parent, question, visibility=visibility)
dialog.set_icon(TRYTON_ICON)
self.running = True
dialog.show_all()
@@ -677,7 +718,7 @@ ask = AskDialog()
class ConcurrencyDialog(UniqueDialog):
- def build_dialog(self, resource, parent, obj_id, context):
+ def build_dialog(self, parent, resource, obj_id, context):
dialog = gtk.Dialog(_('Concurrency Exception'), parent, gtk.DIALOG_MODAL
| gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
| gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
@@ -713,9 +754,8 @@ class ConcurrencyDialog(UniqueDialog):
dialog.add_action_widget(write_button, gtk.RESPONSE_OK)
return dialog
- def __call__(self, resource, obj_id, context, parent):
- # parent must be the second parameter
- res = super(ConcurrencyDialog, self).__call__(resource, parent, obj_id,
+ def __call__(self, resource, obj_id, context):
+ res = super(ConcurrencyDialog, self).__call__(resource, obj_id,
context)
if res == gtk.RESPONSE_OK:
@@ -723,7 +763,7 @@ class ConcurrencyDialog(UniqueDialog):
if res == gtk.RESPONSE_APPLY:
from tryton.gui.window import Window
Window.create(False, resource, res_id=obj_id,
- domain=[('id', '=', obj_id)], window=parent,
+ domain=[('id', '=', obj_id)],
context=context, mode=['form', 'tree'])
return False
@@ -732,7 +772,7 @@ concurrency = ConcurrencyDialog()
class ErrorDialog(UniqueDialog):
- def build_dialog(self, title, parent, details):
+ def build_dialog(self, parent, title, details):
dialog = gtk.Dialog(_('Error'), parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
dialog.set_has_separator(True)
@@ -801,20 +841,21 @@ class ErrorDialog(UniqueDialog):
dialog.set_size_request(600, 400)
return dialog
- def __call__(self, title, parent, details):
+ def __call__(self, title, details):
if title == details:
title = ''
log = logging.getLogger('common.message')
log.error(details)
- response = super(ErrorDialog, self).__call__(title, parent, details)
+ response = super(ErrorDialog, self).__call__(title, details)
if response == gtk.RESPONSE_OK:
- send_bugtracker(details, parent)
+ send_bugtracker(details)
error = ErrorDialog()
-def send_bugtracker(msg, parent):
+def send_bugtracker(msg):
from tryton import rpc
+ parent = get_toplevel_window()
win = gtk.Dialog(_('Bug Tracker'), parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
@@ -897,7 +938,7 @@ def send_bugtracker(msg, parent):
server.set('issue' + str(issue_id), *['nosy=+' + user])
message(_('The same bug was already reported by another user.\n' \
'To keep you informed your username is added to the nosy-list of this issue') + \
- '%s' % issue_id, parent)
+ '%s' % issue_id)
else:
# create a new issue for this error-message
# first create message
@@ -907,120 +948,120 @@ def send_bugtracker(msg, parent):
issue_id = server.create('issue', *['messages=' + str(msg_id),
'nosy=' + user, 'title=' + title, 'priority=bug'])
message(_('Created new bug with ID ') + \
- 'issue%s' % issue_id, parent)
+ 'issue%s' % issue_id)
webbrowser.open(CONFIG['roundup.url'] + 'issue%s' % issue_id, new=2)
- except Exception, exception:
- if hasattr(exception, 'faultString') \
- and 'roundup.cgi.exceptions.Unauthorised' in exception.faultString:
- message(_('Connection error!\n' \
- 'Bad username or password!'), parent)
+ except (socket.error, xmlrpclib.Fault), exception:
+ if (isinstance(exception, xmlrpclib.Fault)
+ and 'roundup.cgi.exceptions.Unauthorised' in
+ exception.faultString):
+ message(_('Connection error!\nBad username or password!'))
return send_bugtracker(msg, parent)
tb_s = reduce(lambda x, y: x + y,
traceback.format_exception(sys.exc_type,
sys.exc_value, sys.exc_traceback))
- message(_('Exception:') + '\n' + tb_s, parent,
- msg_type=gtk.MESSAGE_ERROR)
+ message(_('Exception:') + '\n' + tb_s, msg_type=gtk.MESSAGE_ERROR)
def to_xml(string):
return string.replace('&','&').replace('<','<').replace('>','>')
PLOCK = Lock()
-def process_exception(exception, parent, *args):
- global _USERNAME, _DATABASE, _SOCK
- if str(exception.args[0]) == 'BadFingerprint':
- warning(_('The server fingerprint has changed since last connection!\n'
- 'The application will stop connecting to this server '
- 'until its fingerprint is fixed.'), parent, _('Security risk!'))
- from tryton.gui.main import Main
- Main.sig_quit()
- sys.exit()
- if str(exception.args[0]) == 'NotLogged':
- if not rpc._SOCK:
- message(_('Connection error!\n' \
- 'Unable to connect to the server!'), parent)
- return False
- if not PLOCK.acquire(False):
- return False
- hostname = rpc._SOCK.hostname
- port = rpc._SOCK.port
- try:
- while True:
- password = ask(_('Password:'), parent, visibility=False)
- if password is None:
- raise Exception('NotLogged')
- res = rpc.login(rpc._USERNAME, password, hostname, port,
- rpc._DATABASE)
- from tryton.gui.main import Main
- Main.get_main().refresh_ssl()
- if res == -1:
- message(_('Connection error!\n' \
- 'Unable to connect to the server!'), parent)
- return False
- if res < 0:
- continue
+def process_exception(exception, *args, **kwargs):
+
+ if isinstance(exception, TrytonError):
+ if exception.faultCode == 'BadFingerprint':
+ warning(
+ _('The server fingerprint has changed since last connection!\n'
+ 'The application will stop connecting to this server '
+ 'until its fingerprint is fixed.'), _('Security risk!'))
+ from tryton.gui.main import Main
+ Main.sig_quit()
+ sys.exit()
+ elif exception.faultCode == 'NotLogged':
+ if rpc.CONNECTION is None:
+ message(_('Connection error!\n' \
+ 'Unable to connect to the server!'))
+ return False
+ elif isinstance(exception, TrytonServerError):
+ if exception.faultCode == 'UserWarning':
+ name, msg, description = exception.args
+ res = userwarning(description, msg)
+ if res in ('always', 'ok'):
+ args2 = ('model', 'res.user.warning', 'create', {
+ 'user': rpc._USER,
+ 'name': name,
+ 'always': (res == 'always'),
+ }, rpc.CONTEXT)
+ try:
+ rpc.execute(*args2)
+ except TrytonServerError, exception:
+ process_exception(exception, *args2)
if args:
try:
return rpc.execute(*args)
- except Exception, exception:
- return process_exception(exception, parent, *args)
+ except TrytonServerError, exception:
+ return process_exception(exception, *args)
return True
- finally:
- PLOCK.release()
-
- if exception.args[0] == 'ConcurrencyException':
- if len(args) >= 6:
- if concurrency(args[1], args[3][0], args[5], parent):
- if '_timestamp' in args[5]:
- del args[5]['_timestamp']
- try:
- return rpc.execute(*args)
- except Exception, exception:
- return process_exception(exception, parent, *args)
return False
- else:
- message(_('Concurrency Exception'), parent,
- msg_type=gtk.MESSAGE_ERROR)
+ elif exception.faultCode == 'UserError':
+ msg, description = exception.args
+ warning(description, msg)
return False
-
- if exception.args[0] == 'UserWarning':
- msg = ''
- if len(exception.args) > 4:
- msg = exception.args[3]
- res = userwarning(str(msg), parent, str(exception.args[2]))
- if res in ('always', 'ok'):
- args2 = ('model', 'res.user.warning', 'create', {
- 'user': rpc._USER,
- 'name': exception.args[1],
- 'always': (res == 'always'),
- }, rpc.CONTEXT)
+ elif exception.faultCode == 'ConcurrencyException':
+ if len(args) >= 6:
+ if concurrency(args[1], args[3][0], args[5]):
+ if '_timestamp' in args[5]:
+ del args[5]['_timestamp']
+ try:
+ return rpc.execute(*args)
+ except TrytonServerError, exception:
+ return process_exception(exception, *args)
+ return False
+ else:
+ message(_('Concurrency Exception'), msg_type=gtk.MESSAGE_ERROR)
+ return False
+ elif exception.faultCode == 'NotLogged':
+ from tryton.gui.main import Main
+ if not PLOCK.acquire(False):
+ return False
+ hostname = rpc._HOST
+ port = rpc._PORT
try:
- rpc.execute(*args2)
- except Exception, exception:
- process_exception(exception, parent, *args2)
- if args:
- try:
- return rpc.execute(*args)
- except Exception, exception:
- return process_exception(exception, parent, *args)
- return True
+ while True:
+ password = ask(_('Password:'), visibility=False)
+ if password is None:
+ Main.get_main().sig_logout()
+ raise TrytonError('NotLogged')
+ res = rpc.login(rpc._USERNAME, password, hostname, port,
+ rpc._DATABASE)
+ Main.get_main().refresh_ssl()
+ if res == -1:
+ message(_('Connection error!\n' \
+ 'Unable to connect to the server!'))
+ return False
+ if res < 0:
+ continue
+ if args:
+ try:
+ return rpc.execute(*args)
+ except TrytonServerError, exception:
+ return process_exception(exception, *args)
+ return True
+ finally:
+ PLOCK.release()
+ elif isinstance(exception, (socket.error, TrytonServerUnavailable)):
+ warning(str(exception), _('Network Error!'))
return False
- if exception.args[0] == 'UserError':
- msg = ''
- if len(exception.args) > 3:
- msg = exception.args[2]
- warning(str(msg), parent, str(exception.args[1]))
- return False
-
- if isinstance(exception, socket.error):
- msg = ''
- if len(exception.args) > 2:
- msg = exception.args[1]
- warning(msg, parent, _('Network Error!'))
- return False
-
- error(str(exception.args[0]), parent, str(exception.args[-1]))
+ if isinstance(exception, TrytonServerError):
+ error_title, error_detail = exception.faultCode, exception.faultString
+ else:
+ error_title = str(exception)
+ if 'tb' in kwargs:
+ error_detail = kwargs['tb']
+ else:
+ error_detail = traceback.format_exc()
+ error(error_title, error_detail)
return False
def node_attributes(node):
@@ -1083,59 +1124,59 @@ class DBProgress(object):
self.db_info = None
def start(self):
- key = (self.host, self.port)
- dbs, createdb = [], False
+ dbs, createdb = None, False
try:
dbs = refresh_dblist(self.host, self.port)
createdb = True
+ except Exception:
+ pass
finally:
self.db_info = (dbs, createdb)
self.updated.set()
- def update(self, combo, progressbar, dbname=''):
- key = (self.host, self.port)
+ def update(self, combo, progressbar, callback, dbname=''):
self.db_info = None
thread = threading.Thread(target=self.start).start()
+ gobject.timeout_add(100, self.end, combo, progressbar, callback,
+ dbname)
- i = 0
- while not self.updated.isSet():
- i += 1
- time.sleep(0.1)
- if i >= 10:
- progressbar.show()
- progressbar.pulse()
- while gtk.events_pending():
- gtk.main_iteration()
+ def end(self, combo, progressbar, callback, dbname):
+ if not self.updated.isSet():
+ progressbar.show()
+ progressbar.pulse()
+ return True
progressbar.hide()
dbs, createdb = self.db_info
if dbs is None:
- return None, False
+ dbs, createdb = None, False
elif dbs == -1:
- return -1, False
-
- from tryton.gui.main import Main
- Main.get_main().refresh_ssl()
- liststore = combo.get_model()
- liststore.clear()
- index = -1
- for db_num, db_name in enumerate(dbs):
- liststore.append([db_name])
- if db_name == dbname:
- index = db_num
- if index == -1:
- index = 0
- combo.set_active(index)
-
- return len(dbs), createdb
+ dbs, createdb = -1, False
+ else:
+ from tryton.gui.main import Main
+ Main.get_main().refresh_ssl()
+ liststore = combo.get_model()
+ liststore.clear()
+ index = -1
+ for db_num, db_name in enumerate(dbs):
+ liststore.append([db_name])
+ if db_name == dbname:
+ index = db_num
+ if index == -1:
+ index = 0
+ combo.set_active(index)
+ dbs = len(dbs)
+
+ callback(dbs, createdb)
+ return False
class RPCProgress(object):
- def __init__(self, method, args, parent):
+ def __init__(self, method, args):
self.method = method
self.args = args
- self.parent = parent
+ self.parent = get_toplevel_window()
self.res = None
self.error = False
self.exception = None
@@ -1157,6 +1198,8 @@ class RPCProgress(object):
watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
self.parent.window.set_cursor(watch)
+ parent_sensitive = self.parent.props.sensitive
+ self.parent.props.sensitive = False
i = 0
win = None
progressbar = None
@@ -1200,10 +1243,12 @@ class RPCProgress(object):
win.window.set_cursor(watch)
with gtk.gdk.lock:
progressbar.pulse()
- with gtk.gdk.lock:
- while gtk.events_pending():
- gtk.main_iteration()
+ if win:
+ with gtk.gdk.lock:
+ while gtk.events_pending():
+ gtk.main_iteration()
time.sleep(0.1)
+ self.parent.props.sensitive = parent_sensitive
self.parent.window.set_cursor(None)
if win:
win.destroy()
@@ -1272,7 +1317,7 @@ def text_to_float_time(text, conv=None):
try:
try:
return locale.atof(text)
- except Exception:
+ except ValueError:
pass
if conv:
tmp_conv = FLOAT_TIME_CONV.copy()
@@ -1298,7 +1343,7 @@ def text_to_float_time(text, conv=None):
try:
value += abs(locale.atof(buf))
continue
- except Exception:
+ except ValueError:
pass
for sep in conv.keys():
if buf.endswith(sep):
@@ -1307,7 +1352,7 @@ def text_to_float_time(text, conv=None):
if text.startswith('-'):
value *= -1
return value
- except Exception:
+ except ValueError:
return 0.0
def float_time_to_text(val, conv=None):
@@ -1415,3 +1460,12 @@ def safe_eval(source, data=None):
'bool': bool,
'dict': dict,
}}, data)
+
+def timezoned_date(date):
+ if pytz and rpc.CONTEXT.get('timezone'):
+ lzone = pytz.timezone(rpc.CONTEXT['timezone'])
+ szone = pytz.timezone(rpc.TIMEZONE)
+ sdt = szone.localize(date, is_dst=True)
+ ldt = sdt.astimezone(lzone)
+ date = ldt
+ return date
diff --git a/tryton/common/date_widget.py b/tryton/common/date_widget.py
index 1d44a1c..f6162a3 100644
--- a/tryton/common/date_widget.py
+++ b/tryton/common/date_widget.py
@@ -1,7 +1,6 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
"Date Widget"
-from __future__ import with_statement
import gobject
import pango
@@ -141,14 +140,7 @@ class DateEntry(gtk.Entry):
def date_set(self, dt):
if dt:
- format = self.format
- if dt.year < 10:
- format = format.replace('%Y', '000%Y')
- elif dt.year < 100:
- format = format.replace('%Y', '00%Y')
- elif dt.year < 1000:
- format = format.replace('%Y', '0%Y')
- self.set_text(datetime_strftime(dt, format))
+ self.set_text(datetime_strftime(dt, self.format))
else:
if self.is_focus():
self.set_text(self.initial_value)
@@ -159,9 +151,11 @@ class DateEntry(gtk.Entry):
if default is None:
default = datetime_strftime(datetime.datetime.now(), self.format)
if text == self.initial_value or not text:
- return False
+ return ''
match = self.regex.match(text)
+ if not match:
+ return ''
for i in range(len(match.groups())):
val = match.group(i + 1)
n = len(val)
@@ -194,7 +188,7 @@ class DateEntry(gtk.Entry):
try:
time.strptime(self.compute_date(text, default=default, year='2000'),
self.format)
- except Exception:
+ except ValueError:
return False
return True
@@ -203,7 +197,7 @@ class DateEntry(gtk.Entry):
date = self.compute_date(self.get_text())
try:
res = datetime.datetime(*time.strptime(date, self.format)[:6])
- except Exception:
+ except ValueError:
return None
self.set_text(date)
return res
@@ -276,7 +270,7 @@ class ComplexEntry(gtk.HBox):
self.widget.select_region(0, 0)
self.widget_cmd = CmdEntry()
self.widget_cmd.hide()
- self.pack_start(self.widget, expand=True, fill=True)
+ self.pack_start(self.widget, expand=False, fill=False)
self.pack_start(self.widget_cmd, expand=False, fill=True)
def _date_cb(self, event):
@@ -336,7 +330,7 @@ def compute_date(cmd, dt, format):
dt = datetime.datetime.now()
try:
return f(dt, groups)
- except Exception:
+ except ValueError:
continue
if __name__ == '__main__':
diff --git a/tryton/common/datetime_strftime.py b/tryton/common/datetime_strftime.py
index 65f6fa5..d125d8d 100644
--- a/tryton/common/datetime_strftime.py
+++ b/tryton/common/datetime_strftime.py
@@ -44,7 +44,7 @@ def datetime_strftime(dt, fmt):
sites.append(site)
s = s1
- syear = "%4d" % (dt.year,)
+ syear = "%04d" % (dt.year,)
for site in sites:
s = s[:site] + syear + s[site+4:]
return s
diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py
index 69266da..fbca01c 100644
--- a/tryton/common/domain_inversion.py
+++ b/tryton/common/domain_inversion.py
@@ -56,7 +56,7 @@ def inverse_leaf(domain):
if len(domain) == 3:
return domain
else:
- return [domain[3]] + domain[1:]
+ return [domain[3]] + list(domain[1:])
return domain
else:
return map(inverse_leaf, domain)
@@ -86,8 +86,8 @@ def localize_domain(domain, field_name=None):
if len(domain) == 3:
return domain
else:
- return [domain[3]] + domain[1:-1]
- return [locale_part(domain[0], field_name)] + domain[1:]
+ return [domain[3]] + list(domain[1:-1])
+ return [locale_part(domain[0], field_name)] + list(domain[1:])
else:
return [localize_domain(part, field_name) for part in domain]
@@ -95,7 +95,7 @@ def unlocalize_domain(domain, fieldname):
if domain in ('AND', 'OR', True, False):
return domain
elif is_leaf(domain):
- return ['%s.%s' % (fieldname, domain[0])] + domain[1:]
+ return ['%s.%s' % (fieldname, domain[0])] + list(domain[1:])
else:
return [unlocalize_domain(part, fieldname) for part in domain]
diff --git a/tryton/common/environment.py b/tryton/common/environment.py
index f644537..3cc9ca2 100644
--- a/tryton/common/environment.py
+++ b/tryton/common/environment.py
@@ -17,15 +17,19 @@ class EvalEnvironment(dict):
if self.eval_type == 'eval':
return self.parent.get_eval(check_load=self.check_load)[item]
else:
- return self.parent._get_on_change_args([item])[item]
+ return self.parent.group.fields[item].get_on_change_value(self.parent,
+ check_load=self.check_load)
def __getattr__(self, item):
- return self.__getitem__(item)
+ try:
+ return self.__getitem__(item)
+ except KeyError:
+ raise AttributeError(item)
def get(self, item, default=None):
try:
- return self.__getattr__(item)
- except Exception:
+ return self.__getitem__(item)
+ except KeyError:
pass
return super(EvalEnvironment, self).get(item, default)
diff --git a/tryton/common/tdp.py b/tryton/common/tdp.py
new file mode 100644
index 0000000..8989650
--- /dev/null
+++ b/tryton/common/tdp.py
@@ -0,0 +1,1477 @@
+# -*- coding: utf-8 -*-
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+# For explanation of this parser see
+# http://effbot.org/zone/simple-top-down-parsing.htm
+
+import datetime
+import gettext
+import re
+import time
+from decimal import Decimal
+import decimal
+import locale
+import gtk
+
+from tryton.translate import date_format
+from tryton.common import datetime_strftime, HM_FORMAT, timezoned_date
+from tryton.common.date_widget import DateEntry
+
+_ = gettext.gettext
+
+OPERATORS = set((
+ '=',
+ '>',
+ '<',
+ '<=',
+ '>=',
+ '!=',
+ 'in',
+ 'not in',
+ 'ilike',
+ 'not ilike'))
+
+def operator(field):
+ type_ = field['type'] if field else ''
+ if type_ in ('char', 'text', 'many2one') or not field:
+ return 'ilike'
+ else:
+ return '='
+
+
+def cast(field, value):
+ type_ = field['type'] if field else ''
+ if type_ == 'boolean':
+ return any(test.lower().startswith(value.lower()) for test in (_('y'),
+ _('yes'), _('true'), '1'))
+ elif type_ == 'integer':
+ for conv in (int, float):
+ try:
+ return conv(value)
+ except ValueError:
+ continue
+ return False
+ elif type_ == 'float':
+ try:
+ return float(value)
+ except ValueError:
+ return False
+ elif type_ == 'numeric':
+ try:
+ return Decimal(value)
+ except decimal.InvalidOperation:
+ return False
+ elif type_ in ('selection', 'reference'):
+ for key, text in field['selection']:
+ if text == value:
+ return key
+ return value
+ elif type_ == 'datetime':
+ value = value.replace(' : ', ':') # Parser add spaces arround :
+ try:
+ value = datetime.datetime(*time.strptime(value,
+ date_format() + ' ' + HM_FORMAT)[:6])
+ except ValueError:
+ try:
+ value = datetime.datetime(*time.strptime(value,
+ date_format())[:6])
+ except ValueError:
+ return False
+ return timezoned_date(value)
+ elif type_ == 'date':
+ try:
+ return datetime.date(*time.strptime(value, date_format())[:3])
+ except ValueError:
+ return False
+ else:
+ return value
+
+def quote(value):
+ for test in (':', ' '):
+ if test in value:
+ return '"%s"' % value
+ return value
+
+
+class Base(object):
+ value = None
+
+ fmt = '%s %s %s'
+
+ def __init__(self, parser):
+ self.parser = parser
+ self.pos = None
+ self.parent = None
+ self._left = None
+ self._right = None
+
+ def _get_left(self):
+ return self._left
+
+ def _set_left(self, value):
+ self._left = value
+ value.pos = 'left'
+ value.parent = self
+
+ left = property(_get_left, _set_left)
+
+ def _get_right(self):
+ return self._right
+
+ def _set_right(self, value):
+ self._right = value
+ value.pos = 'right'
+ value.parent = self
+
+ right = property(_get_right, _set_right)
+
+ def domain(self, parent_field=None):
+ raise NotImplementedError("domain method is missing on %s" % \
+ self.__class__)
+
+ def complete_fmt(self, left, value, right):
+ return (self.fmt % (left, value, right)).strip()
+
+ def complete(self, parent_field=None):
+ left = self.left and tuple(self.left.complete()) or ('',)
+ right = self.right and tuple(self.right.complete(parent_field)) or ('',)
+
+ for lvalue in left:
+ for rvalue in right:
+ yield self.complete_fmt(lvalue, self.value, rvalue)
+
+ def split(self, words=""):
+ field, value = None, ' '.join(words)
+ for i in xrange(len(words)):
+ candidate = ' '.join(words[-i-1:])
+ if candidate.lower() in self.parser.dom_fields:
+ field = self.parser.dom_fields[candidate.lower()]
+ value = ' '.join(words[:-i-1])
+
+ return field, value
+
+ def __str__(self, prefix=''):
+ res = '%s[%s] %s'% (prefix, self.pos or 'root', self.value)
+ res = res.ljust(30) + str(type(self))
+ if self.left:
+ res += "\n" + self.left.__str__(' ' + prefix)
+ if self.right:
+ res += "\n" + self.right.__str__(' ' + prefix)
+ return res
+
+
+class Literal(Base):
+ lbp = 80
+
+ def __init__(self, parser, value):
+ super(Literal, self).__init__(parser)
+ self.value = value
+
+ def nud(self):
+ return self
+
+ def led(self, left):
+ self.left = left
+ return self
+
+ def flatten(self):
+ words = [self.value]
+ node = self.left
+ while node:
+ if not isinstance(node, Literal):
+ break
+ words.insert(0, node.value)
+ node = node.left
+ return words
+
+ def split(self, words=""):
+ words = self.flatten()
+ return super(Literal, self).split(words)
+
+ def domain(self, parent_field=None):
+ value = ' '.join(self.flatten())
+ return [('rec_name', 'ilike', value + '%')]
+
+ def suggest(self, words, suggestions):
+ candidate = ''
+ # Traking previous suggestion avoid duplicates when several
+ # fields have the same ending (ex: "Menu" and "Parent Menu"):
+ previous = set()
+ for pos, word in enumerate(words):
+ candidate = word + candidate
+ for field in suggestions:
+ if field.lower().startswith(candidate.lower()):
+ if words[pos+1:]:
+ new_item = ' '.join(reversed(words[pos+1:]))
+ new_item += ' ' + field
+ else:
+ new_item = field
+ if new_item not in previous:
+ previous.add(new_item)
+ yield new_item
+ candidate = ' ' + candidate
+
+ def suggest_ltr(self, words, suggestions):
+ words = list(reversed(words))
+
+ for field in suggestions:
+ for i in xrange(len(words), 0, -1):
+ candidate = ' '.join(words[:i])
+
+ if field.lower().startswith(candidate.lower()):
+ new_item = quote(field)
+ if (i-len(words) < 0) and words[i-len(words):]:
+ find = False
+ for item in self.suggest(words[i - len(words):],
+ self.parser.sugg_fields):
+ yield new_item + ' ' + item + (':'
+ if self.pos == 'right' else '')
+ find = True
+ if find:
+ break
+ new_item += ' ' + ' '.join(words[i-len(words):])
+ yield new_item
+ break
+
+ def complete(self, parent_field=None):
+ item = self
+ words = []
+ while item:
+ words.append(item.value)
+ item = item.left
+
+ orig = ' '.join(reversed(words)).lower()
+ extra = values = []
+ if parent_field:
+ if parent_field['type'] in ('selection', 'reference', 'boolean'):
+ if parent_field['type'] in ('selection', 'reference'):
+ suggestions = tuple(x[1] for x in parent_field['selection'])
+ else:
+ suggestions = (_('Y'), _('Yes'), _('True'), '1', _('N'),
+ _('No'), _('False'), '0')
+ for suggestion in self.suggest_ltr(words, suggestions):
+ if suggestion != orig:
+ extra.append(suggestion)
+ elif parent_field['type'] in ('date', 'datetime'):
+ format_ = date_format()
+ if parent_field['type'] == 'datetime':
+ format_ += ' ' + HM_FORMAT
+ entry = DateEntry(format_)
+ entry.set_text(entry.initial_value)
+ gtk.Entry.insert_text(entry, orig, 0)
+ default = datetime_strftime(datetime.datetime.combine(
+ datetime.date.today(), datetime.time.min), format_)
+ value = entry.compute_date(entry.get_text(), default) or ''
+ if value:
+ if value.endswith(' 00:00:00'):
+ value = value[:-9]
+ if len(value) > len(orig):
+ extra.append(quote(value))
+
+ if not extra:
+ values = tuple(self.suggest(words, self.parser.sugg_fields))
+
+ if not values and not extra:
+ values = (quote(' '.join(reversed(words))),)
+ elif (not self.parent) or self.pos == 'right':
+ values = extra or tuple(v + ':' for v in values)
+
+ right = self.right and tuple(self.right.complete())
+
+ if not self.right:
+ for value in values:
+ yield value
+ else:
+ for value in values:
+ for rvalue in right:
+ yield '%s %s' % (value, rvalue)
+
+
+class InfixMixin:
+
+ def nud(self):
+ self.right = self.parser.expression(self.lbp)
+ return self
+
+ def led(self, left):
+ self.left = left
+ self.right = self.parser.expression(self.lbp)
+ return self
+
+
+class Colon(Base, InfixMixin):
+ value = ':'
+ lbp = 50
+ fmt = '%s%s %s'
+
+ def __init__(self, parser):
+ self.extra_domain = []
+ super(Colon, self).__init__(parser)
+
+ def led(self, left):
+ self.left = left
+ # decreasing lbp makes Colon right-associative
+ self.right = self.parser.expression(self.lbp - 1)
+ return self
+
+ def complete(self, parent_field=None):
+ assert parent_field is None, parent_field
+
+ if self.left:
+ field, _ = self.left.split()
+ left = self.left and tuple(self.left.complete(field)) or ('',)
+ else:
+ field = None
+ left = ['']
+ if not isinstance(self.right, Colon):
+ right = tuple(self.right.complete(parent_field=field))
+ else:
+ right = self.right and tuple(self.right.complete()) or ('',)
+
+ for lvalue in left:
+ for rvalue in right:
+ yield self.complete_fmt(lvalue, self.value, rvalue)
+
+ def domain(self, parent_field=None):
+ if self.left:
+ field, value = self.left.split()
+ else:
+ field, value = None, ''
+
+ #Recurse left
+ if isinstance(self.left, Literal):
+ if parent_field:
+ value = cast(parent_field, value)
+ if parent_field['type'] in ('char', 'text', 'many2one'):
+ value += '%'
+ domain = [(parent_field['name'], operator(parent_field),
+ value)]
+ elif value:
+ domain = [('rec_name', 'ilike', value + '%')]
+ else:
+ domain = []
+ node = self.left
+ while node:
+ if not isinstance(node, Literal):
+ if node.domain():
+ domain = node.domain()
+ break
+ node = node.left
+ elif self.left:
+ domain = self.left.domain(parent_field)
+ else:
+ domain = []
+
+ #Recurse right
+ if isinstance(self.right, Literal) and field:
+ value = cast(field, ' '.join(self.right.flatten()))
+ if field['type'] in ('char', 'text', 'many2one'):
+ value += '%'
+
+ domain.append((field['name'] , operator(field), value))
+ else:
+ domain.extend(self.right.domain(field))
+
+ return domain
+
+class DoubleDot(Base, InfixMixin):
+ value = '..'
+ lbp = 70
+ fmt = '%s%s%s'
+
+ def split(self):
+ assert isinstance(self.right, Literal)
+ return self.right.split()
+
+ def domain(self, parent_field=None):
+ res = []
+ if parent_field is not None:
+ field_name = parent_field['name']
+ else:
+ field_name = 'rec_name'
+ if self.left:
+ value = cast(parent_field, ' '.join(self.left.flatten()))
+ res.append((field_name, '>=', value))
+ if self.right:
+ _, value = self.right.split()
+ value = cast(parent_field, value)
+ res.append((field_name, '<', value))
+ return res
+
+
+class Comma(Base, InfixMixin):
+ value = ';'
+ lbp = 70
+ fmt = '%s%s %s'
+
+ def split(self, words=""):
+ return self.right.split()
+
+ def domain(self, parent_field=None):
+ if parent_field is not None:
+ field_name = parent_field['name']
+ else:
+ field_name = 'rec_name'
+
+ _, value = self.right.split()
+ values = [cast(parent_field, value)]
+ if isinstance(self.right, Comma):
+ values.append(cast(parent_field, ''))
+
+ def walk(node, values):
+ while node:
+ if node.right:
+ if isinstance(node.right, Literal):
+ values.append(cast(parent_field,
+ ' '.join(node.right.flatten())))
+ else:
+ walk(node.right, values)
+ if isinstance(node, Literal):
+ values.append(cast(parent_field,
+ ' '.join(node.flatten())))
+ break
+ if not node.left:
+ values.append(cast(parent_field, ''))
+ node = node.left
+ walk(self.left, values)
+
+ return [(field_name, 'in' , list(reversed(values)))]
+
+
+class Comparator(Base, InfixMixin):
+ value = ''
+ lbp = 60
+ fmt = '%s %s%s'
+
+ def split(self):
+ assert isinstance(self.right, Literal)
+ return self.right.split()
+
+ def domain(self, parent_field=None):
+ res = []
+ if parent_field is not None:
+ field_name = parent_field['name']
+ else:
+ field_name = 'rec_name'
+
+ if self.left:
+ res.extend(self.left.domain(parent_field=parent_field))
+
+ if self.right:
+ _, value = self.right.split()
+ value = cast(parent_field, value)
+ res.append((field_name, self.value, value))
+ return res
+
+class LessThan(Comparator):
+ value = '<'
+
+class LessThanOrEqual(Comparator):
+ value = '<='
+
+class BiggerThan(Comparator):
+ value = '>'
+
+class BiggerThanOrEqual(Comparator):
+ value = '>='
+
+
+class Equal(Comparator):
+ value = '='
+ fmt = '%s%s%s'
+
+ def domain(self, parent_field=None):
+ assert not self.left, 'Unexpected left child %s' % self.left
+ return super(Equal, self).domain(parent_field)
+
+
+class Not(Base, InfixMixin):
+ value = '!'
+ lbp = 60
+ fmt = '%s%s%s'
+
+ def split(self):
+ assert isinstance(self.right, (Literal, Comma))
+ return self.right.split()
+
+ def domain(self, parent_field=None):
+ assert not self.left, 'Unexpected left child %s' % self.left
+ res = []
+ if parent_field is not None:
+ field_name = parent_field['name']
+ else:
+ field_name = 'rec_name'
+
+ if isinstance(self.right, Comma):
+ (field_name, oper, value), = self.right.domain(parent_field)
+ res.append((field_name, 'not %s' % oper, value))
+ elif self.right:
+ _, value = self.right.split()
+ if parent_field:
+ value = cast(parent_field, value)
+ oper = operator(parent_field)
+ if oper == 'ilike':
+ oper = 'not ilike'
+ value += '%'
+ else:
+ oper = '!='
+ res.append((field_name, oper, value))
+ return res
+
+class NotEqual(Equal):
+ value = '!='
+ fmt = '%s%s%s'
+
+
+class And(Base, InfixMixin):
+ value = 'and'
+ lbp = 40
+ fmt = '%s %s %s'
+
+ def domain(self, parent_field=None):
+ result = []
+ for token in (self.left, self.right):
+ if token:
+ dom = token.domain()
+ if (isinstance(token, And)
+ and token.value == self.value):
+ result.extend(dom)
+ else:
+ if len(dom) == 1:
+ dom, = dom
+ result.append(dom)
+ return result
+
+
+class Or(And):
+ value = 'or'
+ lbp = 30
+ fmt = '%s %s %s'
+
+ def domain(self, parent_field=None):
+ result = super(Or, self).domain(parent_field)
+ if result[0] != 'OR':
+ return ['OR'] + result
+ else:
+ return result
+
+
+class CloseParenthesis(Base):
+ value = ')'
+ lbp = 10
+ fmt = '%s%s %s'
+
+ def nud(self):
+ return self
+
+ def led(self, left):
+ self.left = left
+ return self
+
+ def domain(self, parent_field=None):
+ if self.left:
+ return self.left.domain()
+ return []
+
+class OpenParenthesis(Base):
+ value = '('
+ lbp = 10
+ fmt = '%s %s%s'
+
+ def nud(self):
+ expr = self.parser.expression(self.lbp)
+ self.right = expr
+ return self
+
+ def led(self, left):
+ expr = self.parser.expression(self.lbp)
+ self.right = expr
+ self.left = left
+ return self
+
+ def domain(self, parent_field=None):
+ domain = []
+ if self.left:
+ domain = self.left.domain()
+
+ if self.right:
+ domain.append(self.right.domain())
+
+ return domain
+
+
+class End(Base):
+ value = None
+ lbp = 0
+
+ def __init__(self, parser):
+ super(End, self).__init__(parser)
+ self.value = ''
+
+ def nud(self):
+ return self
+
+ def domain(self, parent_field=None):
+ return []
+
+ def complete(self, parent_field=None):
+ if parent_field:
+ if parent_field['type'] in ('selection', 'reference'):
+ return (x[1] for x in parent_field['selection'])
+ elif parent_field['type'] in ('date', 'datetime'):
+ format_ = date_format()
+ return (datetime_strftime(datetime.date.today(), format_),)
+ elif parent_field['type'] == 'boolean':
+ return (_('True'), _('False'))
+ return []
+
+SPLIT_REGEXP = re.compile(
+ r'("[^"]*"?)'
+ '|(\bor\b)'
+ '|(\band\b)'
+ '|(\.\.)'
+ '|(\()'
+ '|(\))'
+ '|(;)'
+ '|([0-9]{1,2}:[0-9]{1,2}:[0-9]{1,2})'
+ '|([0-9]{1,2}:[0-9]{1,2}:)'
+ '|([0-9]{1,2}:)'
+ '|(:)'
+ '|(<)(?!=)'
+ '|(<=)'
+ '|(>)(?!=)'
+ '|(>=)'
+ '|(=)'
+ '|(!)(?!=)'
+ '|(!=)'
+ '|(\s)'
+ )
+
+TOKENS = dict((t.value, t) for t in [
+ And,
+ Or,
+ DoubleDot,
+ Literal,
+ Colon,
+ OpenParenthesis,
+ CloseParenthesis,
+ Comma,
+ LessThan,
+ LessThanOrEqual,
+ BiggerThan,
+ BiggerThanOrEqual,
+ Equal,
+ Not,
+ NotEqual,
+ End] if t.value is not None)
+
+
+class DomainParser:
+
+ def __init__(self, fields):
+ self.token_flow = None
+ self.token = None
+ self.fields = fields
+ strings = {}
+ for field in fields.itervalues():
+ if not field.get('searchable', True):
+ continue
+ strings[field['string']] = field
+ self.sugg_fields = tuple(strings)
+ self.dom_fields = dict((key.lower(), value)
+ for key, value in strings.iteritems())
+
+ def tokenize(self, query):
+ for token in SPLIT_REGEXP.split(query):
+ if token:
+ token = token.strip()
+ if not token:
+ continue
+ yield token
+
+ def expression(self, rbp=0):
+ token = self.token
+ self.token = self.next_token()
+ left = token.nud()
+ while self.token.lbp > rbp:
+ token = self.token
+ self.token = self.next_token()
+ left = token.led(left)
+ return left
+
+ def next_token(self):
+ try :
+ new_tk = self.token_flow.next()
+ except StopIteration:
+ return End(self)
+
+ if new_tk.startswith('"') or new_tk.endswith('"'):
+ new_tk = new_tk.strip('"')
+
+ if new_tk in TOKENS:
+ return TOKENS[new_tk](self)
+
+ return Literal(self, new_tk)
+
+ def parse(self, input_string):
+ self.token_flow = self.tokenize(input_string)
+ self.token = self.next_token()
+ return self.expression()
+
+ def _string_char(self, field, operator, value):
+ if not operator and isinstance(value, basestring):
+ if value.endswith('%'):
+ value = value[:-1]
+ return '%s: %s' % (field['string'], quote(value))
+ elif operator in ('not ilike', 'not'):
+ operator = '!'
+ if value.endswith('%'):
+ value = value[:-1]
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(map(quote, value))
+ else:
+ value = quote(value)
+ return '%s: %s%s' % (field['string'], operator, value)
+
+ _string_text = _string_char
+ _string_many2one = _string_char
+
+ def _string_integer(self, field, operator, value):
+ if value is False:
+ value = ''
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(map(str, value))
+ return '%s: %s%s' % (field['string'], operator, value)
+
+ def _string_float(self, field, operator, value):
+ digits = field.get('digits', (16, 2))
+ format_ = lambda x: locale.format(
+ '%.' + str(digits[1]) + 'f', x or 0.0, True)
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(map(format_, value))
+ else:
+ value = format_(value)
+ return '%s: %s%s' % (field['string'], operator, value)
+
+ _string_numeric = _string_float
+
+ def _string_selection(self, field, operator, value):
+ selections = dict(field['selection'])
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(quote(selections.get(x, x)) for x in value)
+ else:
+ value = quote(selections.get(value, value))
+ return '%s: %s%s' % (field['string'], operator, value)
+
+ _string_reference = _string_selection
+
+ def _string_boolean(self, field, operator, value):
+ format_ = lambda x: _('True') if x else _('False')
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(format_(x) for x in value)
+ else:
+ value = format_(value)
+ return '%s: %s' % (field['string'], value)
+
+ def _string_datetime(self, field, operator, value):
+ def format_(value):
+ if not value:
+ return ''
+ else:
+ if (not isinstance(value, datetime.datetime)
+ or value.time() == datetime.time.min):
+ format_ = date_format()
+ else:
+ format_ = date_format() + ' ' + HM_FORMAT
+ return quote(datetime_strftime(value, format_))
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(map(format_, value))
+ else:
+ value = format_(value)
+ return '%s: %s%s' % (field['string'], operator, value)
+
+ def _string_date(self, field, operator, value):
+ format_ = (lambda x: quote(datetime_strftime(x, date_format()))
+ if x else '')
+ if isinstance(value, (list, tuple)):
+ value = '; '.join(map(format_, value))
+ else:
+ value = format_(value)
+ return '%s: %s%s' % (field['string'], operator, value)
+
+ def string(self, domain):
+ if not domain:
+ return ''
+ if domain[0] in ('AND', 'OR'):
+ nary = ' ' if domain[0] == 'AND' else ' or '
+ domain = domain[1:]
+ else:
+ nary = ' '
+ def format(expression):
+ if (isinstance(expression, (list, tuple))
+ and len(expression) > 2
+ and isinstance(expression[1], basestring)
+ and expression[1] in OPERATORS):
+ field_name, oper, value = expression
+ if field_name == 'rec_name' and field_name not in self.fields:
+ if oper == 'ilike':
+ if value.endswith('%'):
+ value = value[:-1]
+ return quote(value)
+ else:
+ field = self.fields[field_name]
+ def_op = operator(field)
+ if oper in (def_op, '!' + def_op) and value:
+ oper = oper.rstrip(def_op)
+ elif oper.endswith('in'):
+ if oper == 'not in':
+ oper = '!'
+ else:
+ oper = ''
+ return getattr(self, '_string_%s' % field['type'])(field,
+ oper, value)
+ else:
+ return '(' + self.string(expression) + ')'
+ return nary.join(format(x) for x in domain)
+
+
+def test_parser():
+ fields = {
+ 'boolean': {
+ 'string': 'Boolean',
+ 'name': 'boolean',
+ 'type': 'boolean',
+ },
+ 'selection': {
+ 'string': 'Selection',
+ 'name': 'selection',
+ 'type': 'selection',
+ 'selection': [
+ ('spam', 'Spam'),
+ ('ham', 'Ham'),
+ ('spamham', 'Spamham'),
+ ],
+ },
+ 'date': {
+ 'string': 'Date',
+ 'name': 'date',
+ 'type': 'date',
+ },
+ 'datetime': {
+ 'string': 'Date Time',
+ 'name': 'datetime',
+ 'type': 'datetime',
+ },
+ 'char': {
+ 'string': 'Char',
+ 'name': 'char',
+ 'type': 'char',
+ },
+ 'numeric': {
+ 'string': 'Numeric',
+ 'name': 'numeric',
+ 'type': 'numeric',
+ },
+ 'integer': {
+ 'string': 'Integer',
+ 'name': 'integer',
+ 'type': 'integer',
+ },
+ 'float': {
+ 'string': 'Float',
+ 'name': 'float',
+ 'type': 'float',
+ },
+ 'notsearchable': {
+ 'string': 'Not Searchable',
+ 'name': 'notsearchable',
+ 'type': 'char',
+ 'searchable': False,
+ },
+ }
+ return DomainParser(fields)
+
+def test_selection_complete():
+ parser = test_parser()
+ assert list(parser.parse('S').complete()) == ['Selection:']
+ assert list(parser.parse('Selection:').complete()) == ['Selection: Spam',
+ 'Selection: Ham', 'Selection: Spamham']
+ assert list(parser.parse('Selection: H').complete()) == ['Selection: Ham']
+ assert list(parser.parse('Selection: h').complete()) == ['Selection: Ham']
+ assert list(parser.parse('Selection: =H').complete()) == [
+ 'Selection: =Ham']
+ assert list(parser.parse('Selection: Ham').complete()) == [
+ 'Selection: Ham']
+ assert list(parser.parse('Selection: S').complete()) == [
+ 'Selection: Spam',
+ 'Selection: Spamham',
+ ]
+ assert list(parser.parse('Selection: foo').complete()) == [
+ 'Selection: foo']
+ assert list(parser.parse('Selection: Ham foo').complete()) == [
+ 'Selection: Ham foo']
+
+def test_selection_domain():
+ parser = test_parser()
+ assert parser.parse('S').domain() == [('rec_name', 'ilike', 'S%')]
+ assert parser.parse('Selection:').domain() == []
+ assert parser.parse('Selection: H').domain() == [('selection', '=', 'H')]
+ assert parser.parse('Selection: =H').domain() == [('selection', '=', 'H')]
+ assert parser.parse('Selection: Ham').domain() == [
+ ('selection', '=', 'ham')]
+ assert parser.parse('Selection: Ham; Spam').domain() == [
+ ('selection', 'in', ['ham', 'spam'])]
+
+def test_selection_string():
+ parser = test_parser()
+ assert parser.string([]) == ''
+ assert parser.string([('rec_name', 'ilike', 'S%')]) == 'S'
+ assert parser.string([('selection', '=', 'H')]) == 'Selection: H'
+ assert parser.string([('selection', '=', 'ham')]) == 'Selection: Ham'
+ assert parser.string([('selection', '!=', 'ham')]) == 'Selection: !Ham'
+ assert parser.string([('selection', 'in', ['ham', 'spam'])]) == \
+ 'Selection: Ham; Spam'
+
+def test_boolean_complete():
+ parser = test_parser()
+ assert list(parser.parse('b').complete()) == ['Boolean:']
+ assert list(parser.parse('boolean:').complete()) == ['Boolean: True',
+ 'Boolean: False']
+ assert list(parser.parse('boolean: true').complete()) == ['Boolean: True']
+ assert list(parser.parse('boolean: t').complete()) == ['Boolean: True']
+ assert list(parser.parse('boolean: y').complete()) == ['Boolean: Y',
+ 'Boolean: Yes']
+ assert list(parser.parse('boolean: 1').complete()) == ['Boolean: 1']
+ assert list(parser.parse('boolean: false').complete()) == ['Boolean: False']
+ assert list(parser.parse('boolean: f').complete()) == ['Boolean: False']
+ assert list(parser.parse('boolean: n').complete()) == ['Boolean: N',
+ 'Boolean: No']
+ assert list(parser.parse('boolean: 0').complete()) == ['Boolean: 0']
+ assert list(parser.parse('boolean: =1').complete()) == ['Boolean: =1']
+
+def test_boolean_domain():
+ parser = test_parser()
+ assert parser.parse('B').domain() == [('rec_name', 'ilike', 'B%')]
+ assert parser.parse('Boolean:').domain() == []
+ assert parser.parse('Boolean: true').domain() == [('boolean', '=', True)]
+ assert parser.parse('Boolean: t').domain() == [('boolean', '=', True)]
+ assert parser.parse('Boolean: y').domain() == [('boolean', '=', True)]
+ assert parser.parse('Boolean: 1').domain() == [('boolean', '=', True)]
+ assert parser.parse('Boolean: true; false').domain() == [
+ ('boolean', 'in', [True, False])]
+
+def test_boolean_string():
+ parser = test_parser()
+ assert parser.string([('boolean', '=', True)]) == 'Boolean: True'
+ assert parser.string([('boolean', '=', False)]) == 'Boolean: False'
+ assert parser.string([('boolean', 'in', [True, False])]) == \
+ 'Boolean: True; False'
+
+def test_char_complete():
+ parser = test_parser()
+ assert list(parser.parse('c').complete()) == ['Char:']
+ assert list(parser.parse('char:').complete()) == []
+ assert list(parser.parse('char: bar').complete()) == ['Char: bar']
+ assert list(parser.parse('Char: foo bar').complete()) == [
+ 'Char: "foo bar"']
+ assert list(parser.parse('char: =foo').complete()) == ['Char: =foo']
+
+def test_char_domain():
+ parser = test_parser()
+ assert parser.parse('c').domain() == [('rec_name', 'ilike', 'c%')]
+ assert parser.parse('Char:').domain() == []
+ assert parser.parse('Char: foo bar').domain() == [
+ ('char', 'ilike', 'foo bar%')]
+ assert parser.parse('Char: =foo').domain() == [('char', '=', 'foo')]
+ assert parser.parse('Char: !foo').domain() == [
+ ('char', 'not ilike', 'foo%')]
+ assert parser.parse('Char: !=foo').domain() == [('char', '!=', 'foo')]
+ assert parser.parse('Char: != foo').domain() == [('char', '!=', 'foo')]
+ assert parser.parse('Char: 2; 3').domain() == [('char', 'in', ['2', '3'])]
+ assert parser.parse('Char:! 2; 3').domain() == [('char', 'not in', ['2', '3'])]
+
+def test_char_string():
+ parser = test_parser()
+ assert parser.string([('char', 'ilike', 'bar%')]) == 'Char: bar'
+ assert parser.string([('char', 'ilike', 'foo bar%')]) == 'Char: "foo bar"'
+ assert parser.string([('char', '=', 'foo')]) == 'Char: =foo'
+ assert parser.string([('char', 'not ilike', 'foo%')]) == 'Char: !foo'
+ assert parser.string([('char', '!=', 'foo')]) == 'Char: !=foo'
+ assert parser.string([('char', 'in', ['2', '3'])]) == 'Char: 2; 3'
+ assert parser.string([('char', 'not in', ['2', '3'])]) == 'Char: !2; 3'
+
+
+def test_numeric_complete():
+ parser = test_parser()
+ assert list(parser.parse('numeric: 100').complete()) == [
+ 'Numeric: 100']
+
+def test_numeric_domain():
+ parser = test_parser()
+ assert parser.parse('Numeric: >100').domain() == [
+ ('numeric', '>', Decimal(100))]
+ assert parser.parse('Numeric:>=100').domain() == [
+ ('numeric', '>=', Decimal(100))]
+ assert parser.parse('Numeric: =100').domain() == [
+ ('numeric', '=', Decimal(100))]
+ assert parser.parse('Numeric: 100').domain() == [
+ ('numeric', '=', Decimal(100))]
+ assert parser.parse('Numeric: foo').domain() == [
+ ('numeric', '=', False)]
+ assert parser.parse('Numeric: 2; 3').domain() == [
+ ('numeric', 'in', [Decimal(2), Decimal(3)])]
+
+def test_numeric_string():
+ parser = test_parser()
+ assert parser.string([('numeric', '=', Decimal(100))]) == 'Numeric: 100.00'
+ assert parser.string([('numeric', 'in', [Decimal(2), Decimal(3)])]) == \
+ 'Numeric: 2.00; 3.00'
+
+def test_integer_complete():
+ parser = test_parser()
+ assert list(parser.parse('integer: 42').complete()) == ['Integer: 42']
+ assert list(parser.parse('integer: 2;3').complete()) == ['Integer: 2; 3']
+
+def test_integer_domain():
+ parser = test_parser()
+ assert parser.parse('Integer: >42').domain() == [
+ ('integer', '>', 42)]
+ assert parser.parse('Integer: >=42').domain() == [
+ ('integer', '>=', 42)]
+ assert parser.parse('Integer: =42').domain() == [
+ ('integer', '=', 42)]
+ assert parser.parse('Integer: 42').domain() == [
+ ('integer', '=', 42)]
+ assert parser.parse('Integer: 3.14').domain() == [
+ ('integer', '=', 3.14)]
+ assert parser.parse('Integer: foo').domain() == [
+ ('integer', '=', False)]
+ assert parser.parse('Integer: 2; 3').domain() == [
+ ('integer', 'in', [2, 3])]
+
+def test_integer_string():
+ parser = test_parser()
+ assert parser.string([('integer', '=', 42)]) == 'Integer: 42'
+ assert parser.string([('integer', '=', False)]) == 'Integer: ='
+ assert parser.string([('integer', 'in', [2, 3])]) == 'Integer: 2; 3'
+
+
+def test_float_complete():
+ parser = test_parser()
+ assert list(parser.parse('float: 3.14').complete()) == ['Float: 3.14']
+
+def test_float_domain():
+ parser = test_parser()
+ assert parser.parse('Float: >3.14').domain() == [
+ ('float', '>', 3.14)]
+ assert parser.parse('Float: >=3.14').domain() == [
+ ('float', '>=', 3.14)]
+ assert parser.parse('Float: =3.14').domain() == [
+ ('float', '=', 3.14)]
+ assert parser.parse('Float: 3.14').domain() == [
+ ('float', '=', 3.14)]
+ assert parser.parse('Float: 42').domain() == [
+ ('float', '=', 42.0)]
+ assert parser.parse('Float: foo').domain() == [
+ ('float', '=', False)]
+
+def test_float_string():
+ parser = test_parser()
+ assert parser.string([('float', '=', 3.14)]) == 'Float: 3.14'
+ assert parser.string([('float', '=', 42)]) == 'Float: 42.00'
+ assert parser.string([('float', '>', 42)]) == 'Float: >42.00'
+ assert parser.string([('float', 'not in', [3.14, 42])]) == \
+ 'Float: !3.14; 42.00'
+
+def test_date_complete():
+ today = datetime.date.today()
+ today_str = datetime_strftime(today, date_format())
+ parser = test_parser()
+ assert list(parser.parse('Date:').complete()) == [
+ 'Date Time: ' + today_str,
+ 'Date: ' + today_str,
+ ]
+ assert list(parser.parse('Date: ' + today_str[0:2]).complete()) == [
+ 'Date Time: ' + today_str,
+ 'Date: ' + today_str,
+ ]
+ assert list(parser.parse('Date: 12').complete()) == [
+ 'Date Time: 12' + today_str[2:],
+ 'Date: 12' + today_str[2:],
+ ]
+ assert list(parser.parse('Date: 12/04').complete()) == [
+ 'Date Time: 12/04' + today_str[5:],
+ 'Date: 12/04' + today_str[5:],
+ ]
+ assert list(parser.parse('Date: 12/4').complete()) == [
+ 'Date Time: 12/04' + today_str[5:],
+ 'Date: 12/04' + today_str[5:],
+ ]
+ assert list(parser.parse('Date: 12/4/2002').complete()) == [
+ 'Date Time: 12/04/2002',
+ 'Date: 12/04/2002',
+ ]
+
+def test_date_domain():
+ today = datetime.date.today()
+ today_str = datetime_strftime(today, date_format())
+ parser = test_parser()
+ assert parser.parse('Date:').domain() == []
+ assert parser.parse('Date: ' + today_str[0]).domain() == [
+ ('date', '=', False)]
+ assert parser.parse('Date: >' + today_str[0]).domain() == [
+ ('date', '>', False)]
+ assert parser.parse('Date: 12/04/2002').domain() == [
+ ('date', '=', datetime.date(2002, 12, 4))]
+ assert parser.parse('Date: 12/4/2002').domain() == [
+ ('date', '=', datetime.date(2002, 12, 4))]
+ assert parser.parse('Date: 12/4/2002; 1/1/1970').domain() == [
+ ('date', 'in', [datetime.date(2002, 12, 4), datetime.date(1970, 1, 1)])]
+
+def test_date_string():
+ parser = test_parser()
+ assert parser.string([('date', '=', False)]) == 'Date: ='
+ assert parser.string([('date', '>=', datetime.date(2002, 12, 4))]) == \
+ 'Date: >=12/04/2002'
+ assert parser.string([('date', 'in', [datetime.date(2002, 12, 4),
+ datetime.date(1970, 1, 1)])]) == \
+ 'Date: 12/04/2002; 01/01/1970'
+
+def test_datetime_complete():
+ today = datetime.date.today()
+ today_str = datetime_strftime(today, date_format())
+ parser = test_parser()
+ assert list(parser.parse('Date Time: ' + today_str).complete()) == [
+ 'Date Time: ' + today_str]
+ assert list(parser.parse('Date Time: "' + today_str + ' 12:30:00"'
+ ).complete()) == ['Date Time: "' + today_str + ' 12:30:00"']
+ assert list(parser.parse('Date Time: ' + today_str + ' 12:30:00'
+ ).complete()) == ['Date Time: "' + today_str + ' 12:30:00"']
+
+def test_datetime_domain():
+ today = datetime.date.today()
+ today_str = datetime_strftime(today, date_format())
+ parser = test_parser()
+ assert parser.parse('Date Time: ' + today_str).domain() == [
+ ('datetime', '=', datetime.datetime.combine(today, datetime.time.min))]
+ assert parser.parse('Date Time: "' + today_str + ' 12:30:00"').domain() ==\
+ [('datetime', '=', datetime.datetime.combine(today,
+ datetime.time(12, 30)))]
+ assert parser.parse('Date Time: ' + today_str + ' 12:30:00').domain() == [
+ ('datetime', '=', datetime.datetime.combine(today,
+ datetime.time(12, 30)))]
+ assert parser.parse('Date Time: foo').domain() == [
+ ('datetime', '=', False)]
+ assert parser.parse('Date Time: 12/4/2002; 1/1/1970').domain() == [
+ ('datetime', 'in', [
+ datetime.datetime.combine(datetime.date(2002, 12, 4),
+ datetime.time.min),
+ datetime.datetime.combine(datetime.date(1970, 1, 1),
+ datetime.time.min)])]
+
+def test_datetime_string():
+ parser = test_parser()
+ assert parser.string([('datetime', '=', False)]) == 'Date Time: ='
+ assert parser.string([('datetime', '=', datetime.datetime(2002, 12, 4, 12,
+ 30))]) == 'Date Time: "12/04/2002 12:30:00"'
+ assert parser.string([('datetime', '=', datetime.datetime(2002, 12, 4, 0,
+ 0))]) == 'Date Time: 12/04/2002'
+ assert parser.string([('datetime', 'in', [
+ datetime.datetime.combine(datetime.date(2002, 12, 4),
+ datetime.time.min),
+ datetime.datetime.combine(datetime.date(1970, 1, 1),
+ datetime.time.min)])]) == \
+ 'Date Time: 12/04/2002; 01/01/1970'
+
+def test_composite_complete():
+ today = datetime.date.today()
+ today_str = datetime_strftime(today, date_format())
+ parser = test_parser()
+ assert list(parser.parse(': foo').complete()) == [': foo']
+ assert list(parser.parse(': foo b').complete()) == [': foo Boolean:']
+ assert list(parser.parse('char: foo boolean: false').complete()) == [
+ 'Char: foo Boolean: False']
+ assert list(parser.parse('char: foo or char: bar').complete()) == [
+ 'Char: foo or Char: bar']
+ assert list(parser.parse('char: foo b').complete()) == [
+ 'Char: foo Boolean:']
+ assert list(parser.parse('(char: foo b').complete()) == [
+ '(Char: foo Boolean:']
+ assert list(parser.parse('char: foo and b').complete()) == [
+ 'Char: foo and Boolean:']
+ assert list(parser.parse('(char: foo and b').complete()) == [
+ '(Char: foo and Boolean:']
+ assert list(parser.parse('selection: Ham c').complete()) == [
+ 'Selection: Ham Char:']
+ assert list(parser.parse('selection: ham c').complete()) == [
+ 'Selection: Ham Char:']
+ assert list(parser.parse('date: ' + today_str + ' c').complete()) == [
+ 'Date Time: ' + today_str + ' Char:',
+ 'Date: ' + today_str + ' Char:']
+ assert list(parser.parse('Selection: H Selection').complete()) == [
+ 'Selection: Ham Selection:']
+ assert list(parser.parse('Selection: H or Selection').complete()) == [
+ 'Selection: Ham or Selection:']
+ assert list(parser.parse('Selection: H Selection:').complete()) == [
+ 'Selection: Ham Selection: Spam',
+ 'Selection: Ham Selection: Ham',
+ 'Selection: Ham Selection: Spamham']
+ assert list(parser.parse('Selection: H or Selection:').complete()) == [
+ 'Selection: Ham or Selection: Spam',
+ 'Selection: Ham or Selection: Ham',
+ 'Selection: Ham or Selection: Spamham']
+ assert list(parser.parse('Selection: H Selection: S').complete()) == [
+ 'Selection: Ham Selection: Spam',
+ 'Selection: Ham Selection: Spamham',
+ ]
+ assert list(parser.parse('Selection: H or Selection: S').complete()) == [
+ 'Selection: Ham or Selection: Spam',
+ 'Selection: Ham or Selection: Spamham',
+ ]
+
+def test_composite_domain():
+ parser = test_parser()
+ assert parser.parse('char: foo boolean: false').domain() == [
+ ('char', 'ilike', 'foo%'), ('boolean', '=', False)]
+ assert parser.parse('char: foo and char: bar').domain() == [
+ ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')]
+ assert parser.parse('char: foo or char: bar').domain() == [
+ 'OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')]
+ assert parser.parse('char: foo or char: bar and boolean: 1').domain() == [
+ 'OR', ('char', 'ilike', 'foo%'), [
+ ('char', 'ilike', 'bar%'), ('boolean', '=', True)]]
+ assert parser.parse('char: foo and char: bar or boolean: 0').domain() == [
+ 'OR', [('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')],
+ ('boolean', '=', False)]
+ assert parser.parse('char: foo and char: bar and boolean: 0').domain() == [
+ ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%'),
+ ('boolean', '=', False)]
+ assert parser.parse('char: foo or char: bar or boolean: 0').domain() == [
+ 'OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%'),
+ ('boolean', '=', False)]
+ assert parser.parse('(char: foo or char: bar) and boolean: 1').domain() == [
+ ['OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')],
+ ('boolean', '=', True)]
+ assert parser.parse('(char: foo or char: bar) boolean: 1').domain() == [
+ ['OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')],
+ ('boolean', '=', True)]
+ assert parser.parse('(char: foo or char: bar) and Date Time: 12/4/2002'
+ ).domain() == [
+ ['OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')],
+ ('datetime', '=', datetime.datetime(2002, 12, 4, 0, 0))]
+ assert parser.parse('(char: foo or char: bar) Date Time: 12/4/2002').domain() == [
+ ['OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')],
+ ('datetime', '=', datetime.datetime(2002, 12, 4, 0, 0))]
+ assert parser.parse('char: foo or (char: bar and boolean: 1)').domain() == [
+ 'OR', ('char', 'ilike', 'foo%'), [
+ ('char', 'ilike', 'bar%'), ('boolean', '=', True)]]
+ assert parser.parse('char: foo and (char: bar or boolean: 0)').domain() == [
+ ('char', 'ilike', 'foo%'),
+ ['OR', ('char', 'ilike', 'bar%'), ('boolean', '=', False)]]
+ assert parser.parse('char: foo (char: bar or boolean: 0)').domain() == [
+ ('char', 'ilike', 'foo%'),
+ ['OR', ('char', 'ilike', 'bar%'), ('boolean', '=', False)]]
+ assert parser.parse('char: foo and ((char: bar or boolean: 0))'
+ ).domain() == [('char', 'ilike', 'foo%'),
+ [['OR', ('char', 'ilike', 'bar%'),
+ ('boolean', '=', False)]]]
+ assert parser.parse('char: foo ((char: bar or boolean: 0))'
+ ).domain() == [
+ ('char', 'ilike', 'foo%'),
+ [['OR', ('char', 'ilike', 'bar%'), ('boolean', '=', False)]]]
+ assert parser.parse('char: foo (char: test (char: bar or boolean: 0))'
+ ).domain() == [
+ ('char', 'ilike', 'foo%'),
+ [('char', 'ilike', 'test%')],
+ ['OR', ('char', 'ilike', 'bar%'), ('boolean', '=', False)]]
+ assert parser.parse('char: foo and (').domain() == [
+ ('char', 'ilike', 'foo%'), []]
+ assert parser.parse('char: foo and ()').domain() == [
+ ('char', 'ilike', 'foo%'), []]
+ assert parser.parse('char: foo and (char: bar or boolean: 0').domain() == [
+ ('char', 'ilike', 'foo%'),
+ ['OR', ('char', 'ilike', 'bar%'), ('boolean', '=', False)]]
+ assert parser.parse('Selection: Ham Selection: Spam').domain() == [
+ ('selection', '=', 'ham'), ('selection', '=', 'spam')]
+ assert parser.parse('Selection: =Ham Selection: =Spam').domain() == [
+ ('selection', '=', 'ham'), ('selection', '=', 'spam')]
+ assert parser.parse('Selection: !Ham Selection: !Spam').domain() == [
+ ('selection', '!=', 'ham'), ('selection', '!=', 'spam')]
+ assert parser.parse('Selection: !Ham; Spam Char: bar').domain() == [
+ ('selection', 'not in', ['ham', 'spam']), ('char', 'ilike', 'bar%')]
+
+
+def test_composite_string():
+ parser = test_parser()
+ assert parser.string([
+ ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')]) == \
+ 'Char: foo Char: bar'
+ assert parser.string([
+ 'AND', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')]) == \
+ 'Char: foo Char: bar'
+ assert parser.string([
+ 'OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')]) == \
+ 'Char: foo or Char: bar'
+ assert parser.string([
+ 'OR', ('char', 'ilike', 'foo%'), [
+ ('char', 'ilike', 'bar%'), ('boolean', '=', True)]]) == \
+ 'Char: foo or (Char: bar Boolean: True)'
+ assert parser.string([
+ 'OR', [('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%')],
+ ('boolean', '=', False)]) == \
+ '(Char: foo Char: bar) or Boolean: False'
+ assert parser.string([
+ ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%'),
+ ('boolean', '=', False)]) == \
+ 'Char: foo Char: bar Boolean: False'
+ assert parser.string([
+ 'OR', ('char', 'ilike', 'foo%'), ('char', 'ilike', 'bar%'),
+ ('boolean', '=', False)]) == \
+ 'Char: foo or Char: bar or Boolean: False'
+ assert parser.string([
+ 'OR', ('char', 'ilike', 'foo%'), [
+ ('char', 'ilike', 'bar%'), ('boolean', '=', True)]]) == \
+ 'Char: foo or (Char: bar Boolean: True)'
+ assert parser.string([
+ ('char', 'ilike', 'foo%'),
+ ['OR', ('char', 'ilike', 'bar%'), ('boolean', '=', False)]]) == \
+ 'Char: foo (Char: bar or Boolean: False)'
+
+def test_quote_complete():
+ parser = test_parser()
+ assert list(parser.parse('"char"').complete()) == ['Char:']
+ assert list(parser.parse('"char:"').complete()) == ['"char:"']
+ assert list(parser.parse('"Char:"').complete()) == ['"Char:"']
+ assert list(parser.parse('char: "foo bar"').complete()) == [
+ 'Char: "foo bar"']
+ assert list(parser.parse('Char: "Boolean: false"').complete()) == [
+ 'Char: "Boolean: false"']
+
+def test_quote_domain():
+ parser = test_parser()
+ assert parser.parse('"char"').domain() == [('rec_name', 'ilike', 'char%')]
+ assert parser.parse('char: "foo bar"').domain() == [
+ ('char', 'ilike', 'foo bar%')]
+
+def test_quote_string():
+ parser = test_parser()
+ assert parser.string([('rec_name', 'ilike', 'char:%')]) == '"char:"'
+ assert parser.string([('char', 'ilike', 'foo bar%')]) == 'Char: "foo bar"'
+ assert parser.string([('char', 'ilike', 'Boolean: false%')]) == \
+ 'Char: "Boolean: false"'
+
+def test_column():
+ parser = test_parser()
+ assert parser.parse(':').domain() == []
+ assert parser.parse('::').domain() == []
+ assert parser.parse(': foo').domain() == [('rec_name', 'ilike', 'foo%')]
+ assert parser.parse('foo :').domain() == [('rec_name', 'ilike', 'foo%')]
+ assert parser.parse(': foo b').domain() == [('rec_name', 'ilike', 'foo b%')]
+ assert parser.parse('": foo b"').domain() == [
+ ('rec_name', 'ilike', ': foo b%')]
+
+def test_double_dot():
+ parser = test_parser()
+ assert parser.parse('Integer: 0..42').domain() == [
+ ('integer', '>=', 0), ('integer', '<', 42)]
+ assert parser.parse('Numeric: 0..42').domain() == [
+ ('numeric', '>=', Decimal(0)), ('numeric', '<', Decimal(42))]
+ assert parser.parse('a..z').domain() == [
+ ('rec_name', '>=', 'a'), ('rec_name', '<', 'z')]
+ assert parser.parse('Char: a..z').domain() == [
+ ('char', '>=', 'a'), ('char', '<', 'z')]
+ assert parser.parse('Integer: 0..42 Char: foo').domain() == [
+ ('integer', '>=', 0), ('integer', '<', 42), ('char', 'ilike', 'foo%')]
+
+def test_comma():
+ parser = test_parser()
+ assert parser.parse('Char: foo; bar').domain() == [
+ ('char', 'in', ['foo', 'bar'])]
+ assert parser.parse('foo; bar').domain() == [
+ ('rec_name', 'in', ['foo', 'bar'])]
+ assert parser.parse('Char: foo; bar Selection: Ham').domain() == [
+ ('char', 'in', ['foo', 'bar']), ('selection', '=', 'ham')]
+ assert parser.parse('Char: foo bar; test').domain() == [
+ ('char', 'in', ['foo bar', 'test'])]
+ assert parser.parse('Char: foo; bar; Selection: Ham').domain() == [
+ ('char', 'in', ['foo', 'bar', '']), ('selection', '=', 'ham')]
+ assert parser.parse('Char: ;foo; bar').domain() == [
+ ('char', 'in', ['', 'foo', 'bar'])]
+ assert parser.parse('Char: foo;; bar').domain() == [
+ ('char', 'in', ['foo', '', 'bar'])]
+ assert parser.parse('Char: foo;;; bar').domain() == [
+ ('char', 'in', ['foo', '', 'bar'])]
+ assert parser.parse('Char: ;;foo;; bar;;').domain() == [
+ ('char', 'in', ['', '', 'foo', '', 'bar', '', ''])]
+ assert parser.parse('Integer: 0; 1; 1; 2; 3; 5').domain() == [
+ ('integer', 'in', [0, 1, 1, 2, 3, 5])]
+ assert parser.parse('Integer: 0; 1;; 2; 3').domain() == [
+ ('integer', 'in', [0, 1, 0, 2, 3])]
+
+def test_comparator():
+ parser = test_parser()
+ assert parser.parse('< foo').domain() == [
+ ('rec_name', '<', 'foo')]
+ assert parser.parse('=foo').domain() == [
+ ('rec_name', '=', 'foo')]
+ assert parser.parse('!foo').domain() == [
+ ('rec_name', 'not ilike', 'foo%')]
+ assert parser.parse('!=foo').domain() == [
+ ('rec_name', '!=', 'foo')]
+ assert parser.parse('Integer:< Selection: Ham').domain() == [
+ ('integer', '<', 0), ('selection', '=', 'ham')]
+ assert parser.parse('Integer: << 10').domain() == [
+ ('integer', '<', 10)]
+ assert parser.parse('Integer: <> 10').domain() == [
+ ('integer', '<', 10)]
+ assert parser.parse('Integer: !10').domain() == [
+ ('integer', '!=', 10)]
+ assert parser.parse('foo <').domain() == [
+ ('rec_name', 'ilike', 'foo%'), ('rec_name', '<', '')]
+
+def test_str():
+ parser = test_parser()
+ assert str(parser.parse('foo bar spam ham =')) == '''\
+[root] = <class 'tryton.common.tdp.Equal'>
+ [left] ham <class 'tryton.common.tdp.Literal'>
+ [left] spam <class 'tryton.common.tdp.Literal'>
+ [left] bar <class 'tryton.common.tdp.Literal'>
+ [left] foo <class 'tryton.common.tdp.Literal'>
+ [right] <class 'tryton.common.tdp.End'>'''
+
+if __name__ == '__main__':
+ test_comparator()
+ test_comma()
+ test_double_dot()
+ test_column()
+ test_selection_complete()
+ test_selection_domain()
+ test_selection_string()
+ test_boolean_complete()
+ test_boolean_domain()
+ test_boolean_string()
+ test_char_complete()
+ test_char_domain()
+ test_char_string()
+ test_numeric_complete()
+ test_numeric_domain()
+ test_numeric_string()
+ test_integer_complete()
+ test_integer_domain()
+ test_integer_string()
+ test_float_complete()
+ test_float_domain()
+ test_float_string()
+ test_date_complete()
+ test_date_domain()
+ test_date_string()
+ test_datetime_complete()
+ test_datetime_domain()
+ test_datetime_string()
+ test_composite_complete()
+ test_composite_domain()
+ test_composite_string()
+ test_quote_complete()
+ test_quote_domain()
+ test_quote_string()
diff --git a/tryton/config.py b/tryton/config.py
index 32098f7..be2a0ca 100644
--- a/tryton/config.py
+++ b/tryton/config.py
@@ -11,6 +11,8 @@ import sys
import locale
import gtk
+from tryton.exceptions import TrytonError
+
_ = gettext.gettext
def get_home_dir():
@@ -50,11 +52,12 @@ class ConfigManager(object):
short_version = '.'.join(VERSION.split('.', 2)[:2])
demo_server = 'demo%s.tryton.org' % short_version
demo_database = 'demo%s' % short_version
+ form_tab = 'left' if os.name != 'nt' else 'top'
self.defaults = {
'login.profile': demo_server,
'login.login': 'demo',
'login.server': demo_server,
- 'login.port': '8070',
+ 'login.port': '8000',
'login.db': demo_database,
'login.expanded': False,
'tip.autostart': False,
@@ -68,9 +71,10 @@ class ConfigManager(object):
'client.default_height': 750,
'client.modepda': False,
'client.toolbar': 'default',
- 'client.form_tab': 'left',
+ 'client.form_tab': form_tab,
'client.maximize': False,
'client.save_width_height': True,
+ 'client.save_tree_expanded_state': True,
'client.spellcheck': False,
'client.default_path': get_home_dir(),
'client.lang': locale.getdefaultlocale()[0],
@@ -121,10 +125,10 @@ class ConfigManager(object):
opt, self.arguments = parser.parse_args()
if len(self.arguments) > 1:
- raise Exception(_('Too much arguments'))
+ raise TrytonError(_('Too much arguments'))
if opt.config and not os.path.isfile(opt.config):
- raise Exception(_('File "%s" not found') % (opt.config,))
+ raise TrytonError(_('File "%s" not found') % (opt.config,))
self.rcfile = opt.config or os.path.join(get_config_dir(), 'tryton.conf')
self.load()
@@ -149,7 +153,7 @@ class ConfigManager(object):
configparser.add_section(section)
configparser.set(section, name, self.config[entry])
configparser.write(open(self.rcfile, 'wb'))
- except Exception:
+ except IOError:
logging.getLogger('common.options').warn(
_('Unable to write config file %s!') % \
(self.rcfile,))
@@ -180,7 +184,8 @@ class ConfigManager(object):
self.defaults.get(key)))
CONFIG = ConfigManager()
-if os.name == 'nt' and hasattr(sys, 'frozen'):
+if (os.name == 'nt' and hasattr(sys, 'frozen')
+ and os.path.basename(sys.executable) == 'tryton.exe'):
CURRENT_DIR = os.path.dirname(unicode(sys.executable,
sys.getfilesystemencoding()))
else:
diff --git a/tryton/exceptions.py b/tryton/exceptions.py
new file mode 100644
index 0000000..bac5bc1
--- /dev/null
+++ b/tryton/exceptions.py
@@ -0,0 +1,15 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+from jsonrpc import Fault
+
+TrytonServerError = Fault
+
+
+class TrytonServerUnavailable(Exception):
+ pass
+
+
+class TrytonError(Exception):
+
+ def __init__(self, faultCode):
+ self.faultCode = faultCode
diff --git a/tryton/fingerprints.py b/tryton/fingerprints.py
index 50c2401..8c7f806 100644
--- a/tryton/fingerprints.py
+++ b/tryton/fingerprints.py
@@ -15,27 +15,26 @@ class Fingerprints(dict):
def load(self):
if not os.path.isfile(KNOWN_HOSTS_PATH):
return
- known_hosts = open(KNOWN_HOSTS_PATH)
- for line in known_hosts.xreadlines():
- line = line.strip()
- try:
- key, sha1 = line.split(' ')
- host, port = key.rsplit(':', 1)
- except ValueError:
- continue
- self[(host, port)] = sha1
- known_hosts.close()
+ with open(KNOWN_HOSTS_PATH) as known_hosts:
+ for line in known_hosts:
+ line = line.strip()
+ try:
+ host, sha1 = line.split(' ')
+ except ValueError:
+ host, sha1 = line, ''
+ self[host] = sha1
def save(self):
lines = []
- known_hosts = open(KNOWN_HOSTS_PATH, 'w')
- known_hosts.writelines('%s:%s %s' % (host, port, sha1)
- + os.linesep for (host, port), sha1 in self.iteritems())
- known_hosts.close()
+ with open(KNOWN_HOSTS_PATH, 'w') as known_hosts:
+ known_hosts.writelines('%s %s' % (host, sha1)
+ + os.linesep for host, sha1 in self.iteritems())
def __setitem__(self, key, value):
- assert isinstance(key, tuple)
- assert len(key) == 2
- assert len(value) == 59 # len of formated sha1
+ assert isinstance(key, basestring)
+ if value:
+ assert len(value) == 59 # len of formated sha1
+ else:
+ value = ''
super(Fingerprints, self).__setitem__(key, value)
self.save()
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index 1340797..95e9b5d 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -1,17 +1,17 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
import os
import sys
+import socket
import gettext
from urlparse import urlparse
import urllib
import gobject
import gtk
-if sys.version_info < (2, 6):
+try:
import simplejson as json
-else:
+except ImportError:
import json
import webbrowser
import tryton.rpc as rpc
@@ -19,7 +19,7 @@ from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR, DATA_DIR, \
get_config_dir
import tryton.common as common
from tryton.action import Action
-from tryton.wizard import Wizard
+from tryton.exceptions import TrytonServerError, TrytonError
from tryton.gui.window import Window
from tryton.gui.window.preference import Preference
from tryton.gui.window import Limit
@@ -33,7 +33,6 @@ from tryton.gui.window.about import About
from tryton.gui.window.shortcuts import Shortcuts
from tryton.gui.window.dbrestore import DBRestore
import re
-import base64
import tryton.translate as translate
import tryton.plugins
import pango
@@ -45,13 +44,15 @@ except ImportError:
gtk_osxapplication = None
try:
import gtkspell
-except Exception:
+except ImportError:
gtkspell = None
_ = gettext.gettext
_MAIN = []
+TAB_SIZE = 120
+
class Main(object):
window = None
@@ -71,7 +72,7 @@ class Main(object):
self.window.set_title('Tryton')
self.window.set_icon(TRYTON_ICON)
self.window.connect("destroy", Main.sig_quit)
- self.window.connect("delete_event", self.sig_delete)
+ self.window.connect("delete_event", self.sig_close)
self.window.connect('configure_event', self.sig_configure)
self.window.connect('window_state_event', self.sig_window_state)
@@ -103,8 +104,6 @@ class Main(object):
gtk.gdk.CONTROL_MASK|gtk.gdk.SHIFT_MASK)
gtk.accel_map_add_entry('<tryton>/Form/Delete', gtk.keysyms.D,
gtk.gdk.CONTROL_MASK)
- gtk.accel_map_add_entry('<tryton>/Form/Find', gtk.keysyms.F,
- gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/Form/Next', gtk.keysyms.Page_Down,
0)
gtk.accel_map_add_entry('<tryton>/Form/Previous', gtk.keysyms.Page_Up,
@@ -123,7 +122,7 @@ class Main(object):
gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/Form/Actions', gtk.keysyms.E,
gtk.gdk.CONTROL_MASK)
- gtk.accel_map_add_entry('<tryton>/Form/Print', gtk.keysyms.P,
+ gtk.accel_map_add_entry('<tryton>/Form/Report', gtk.keysyms.P,
gtk.gdk.CONTROL_MASK)
if hasattr(gtk, 'accel_map_load'):
@@ -131,12 +130,6 @@ class Main(object):
self.tooltips = common.Tooltips()
- toolbar = gtk.Toolbar()
- self.toolbar = toolbar
- toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
- toolbar.set_style(gtk.TOOLBAR_BOTH)
- self.toolbar_menu = None
-
self.vbox = gtk.VBox()
self.window.add(self.vbox)
@@ -144,16 +137,12 @@ class Main(object):
self.menubar = None
self.menuitem_user = None
self.menuitem_plugins = None
-
- self.set_statusbar()
- self.set_menubar()
+ self.menuitem_shortcut = None
if self.macapp is not None:
self.macapp.ready()
self.buttons = {}
- self._set_toolbar()
- self.set_toolbar_label()
self.pane = gtk.HPaned()
self.menu_screen = None
@@ -166,29 +155,36 @@ class Main(object):
self.pane.add2(self.notebook)
+ self.set_statusbar()
+ self.set_menubar()
+
self.window.show_all()
self.pages = []
self.previous_pages = {}
self.current_page = 0
self.last_page = 0
+ self.dialogs = []
if CONFIG['client.modepda']:
self.radiomenuitem_pda.set_active(True)
else:
self.radiomenuitem_normal.set_active(True)
- self.sb_set()
settings = gtk.settings_get_default()
- settings.set_property('gtk-button-images', True)
- settings.set_property('gtk-can-change-accels',
- CONFIG['client.can_change_accelerators'])
- try:
- settings.set_property('gtk-keynav-cursor-only', True)
- except TypeError:
- pass
+ # Due to a bug in old version of pyGTk gtk-button-images can
+ # not be set when there is no buttons
+ gtk.Button()
+ for setting, value in (
+ ('gtk-button-images', True),
+ ('gtk-can-change-accels',
+ CONFIG['client.can_change_accelerators']),
+ ('gtk-keynav-cursor-only', True)):
+ try:
+ settings.set_property(setting, value)
+ except TypeError:
+ pass
- self.sig_toolbar_show()
self.sig_statusbar_show()
if os.name in ('nt', 'mac') or \
@@ -254,10 +250,19 @@ class Main(object):
menu_plugins.set_accel_path('<tryton>/Plugins')
menuitem_shortcut = gtk.MenuItem(_('_Shortcuts'))
+ if self.menuitem_shortcut:
+ menuitem_shortcut.set_sensitive(
+ self.menuitem_shortcut.get_property('sensitive'))
+ else:
+ menuitem_shortcut.set_sensitive(False)
self.menuitem_shortcut = menuitem_shortcut
- self.menuitem_shortcut.set_sensitive(False)
menubar.add(menuitem_shortcut)
menuitem_shortcut.set_accel_path('<tryton>/Shortcuts')
+ def shortcut_activate(widget):
+ if (not menuitem_shortcut.get_submenu()
+ or not menuitem_shortcut.get_submenu().get_children()):
+ self.shortcut_set()
+ menuitem_shortcut.connect('select', shortcut_activate)
menuitem_help = gtk.MenuItem(_('_Help'))
menubar.add(menuitem_help)
@@ -440,161 +445,6 @@ class Main(object):
menu_user.add(imagemenuitem_open_request)
return menu_user
- def _set_menu_form(self):
- menu_form = gtk.Menu()
-
- imagemenuitem_new = gtk.ImageMenuItem(_('_New'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-new', gtk.ICON_SIZE_MENU)
- imagemenuitem_new.set_image(image)
- imagemenuitem_new.connect('activate', self._sig_child_call, 'but_new')
- imagemenuitem_new.set_accel_path('<tryton>/Form/New')
- menu_form.add(imagemenuitem_new)
-
- imagemenuitem_save = gtk.ImageMenuItem(_('_Save'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-save', gtk.ICON_SIZE_MENU)
- imagemenuitem_save.set_image(image)
- imagemenuitem_save.connect('activate', self._sig_child_call, 'but_save')
- imagemenuitem_save.set_accel_path('<tryton>/Form/Save')
- menu_form.add(imagemenuitem_save)
-
- imagemenuitem_copy = gtk.ImageMenuItem(_('_Duplicate'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-copy', gtk.ICON_SIZE_MENU)
- imagemenuitem_copy.set_image(image)
- imagemenuitem_copy.connect('activate', self._sig_child_call, 'but_copy')
- imagemenuitem_copy.set_accel_path('<tryton>/Form/Duplicate')
- menu_form.add(imagemenuitem_copy)
-
- imagemenuitem_delete = gtk.ImageMenuItem(_('_Delete...'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-delete', gtk.ICON_SIZE_MENU)
- imagemenuitem_delete.set_image(image)
- imagemenuitem_delete.connect('activate', self._sig_child_call, 'but_remove')
- imagemenuitem_delete.set_accel_path('<tryton>/Form/Delete')
- menu_form.add(imagemenuitem_delete)
-
- menu_form.add(gtk.SeparatorMenuItem())
-
- imagemenuitem_search = gtk.ImageMenuItem(_('_Find...'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-find', gtk.ICON_SIZE_MENU)
- imagemenuitem_search.set_image(image)
- imagemenuitem_search.connect('activate', self._sig_child_call, 'but_search')
- imagemenuitem_search.set_accel_path('<tryton>/Form/Find')
- menu_form.add(imagemenuitem_search)
-
- imagemenuitem_next = gtk.ImageMenuItem(_('_Next'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-go-next', gtk.ICON_SIZE_MENU)
- imagemenuitem_next.set_image(image)
- imagemenuitem_next.connect('activate', self._sig_child_call, 'but_next')
- imagemenuitem_next.set_accel_path('<tryton>/Form/Next')
- menu_form.add(imagemenuitem_next)
-
- imagemenuitem_previous = gtk.ImageMenuItem(_('_Previous'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-go-previous', gtk.ICON_SIZE_MENU)
- imagemenuitem_previous.set_image(image)
- imagemenuitem_previous.connect('activate', self._sig_child_call, 'but_previous')
- imagemenuitem_previous.set_accel_path('<tryton>/Form/Previous')
- menu_form.add(imagemenuitem_previous)
-
- imagemenuitem_switch = gtk.ImageMenuItem(_('_Switch View'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-fullscreen', gtk.ICON_SIZE_MENU)
- imagemenuitem_switch.set_image(image)
- imagemenuitem_switch.connect('activate', self._sig_child_call, 'but_switch')
- imagemenuitem_switch.set_accel_path('<tryton>/Form/Switch View')
- menu_form.add(imagemenuitem_switch)
-
- menu_form.add(gtk.SeparatorMenuItem())
-
- imagemenuitem_close = gtk.ImageMenuItem(_('_Close Tab'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-close', gtk.ICON_SIZE_MENU)
- imagemenuitem_close.set_image(image)
- imagemenuitem_close.connect('activate', self.sig_win_close)
- imagemenuitem_close.set_accel_path('<tryton>/Form/Close')
- menu_form.add(imagemenuitem_close)
-
- imagemenuitem_win_prev = gtk.ImageMenuItem(_('_Previous Tab'), self.accel_group)
- imagemenuitem_win_prev.connect('activate', self.sig_win_prev)
- imagemenuitem_win_prev.set_accel_path('<tryton>/Form/Previous Tab')
- menu_form.add(imagemenuitem_win_prev)
-
- imagemenuitem_win_next = gtk.ImageMenuItem(_('_Next Tab'), self.accel_group)
- imagemenuitem_win_next.connect('activate', self.sig_win_next)
- imagemenuitem_win_next.set_accel_path('<tryton>/Form/Next Tab')
- menu_form.add(imagemenuitem_win_next)
-
- menu_form.add(gtk.SeparatorMenuItem())
-
- imagemenuitem_log = gtk.ImageMenuItem(_('View _Logs...'))
- imagemenuitem_log.connect('activate', self._sig_child_call, 'but_log')
- menu_form.add(imagemenuitem_log)
-
- imagemenuitem_goto_id = gtk.ImageMenuItem(_('_Go to Record ID...'),
- self.accel_group)
- imagemenuitem_goto_id.connect('activate', self._sig_child_call,
- 'but_goto_id')
- imagemenuitem_goto_id.set_accel_path('<tryton>/Form/Goto')
- menu_form.add(imagemenuitem_goto_id)
-
- menu_form.add(gtk.SeparatorMenuItem())
-
- imagemenuitem_reload = gtk.ImageMenuItem(_('_Reload/Undo'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-refresh', gtk.ICON_SIZE_MENU)
- imagemenuitem_reload.set_image(image)
- imagemenuitem_reload.connect('activate', self._sig_child_call,
- 'but_reload')
- imagemenuitem_reload.set_accel_path('<tryton>/Form/Reload')
- menu_form.add(imagemenuitem_reload)
-
- menu_form.add(gtk.SeparatorMenuItem())
-
- imagemenuitem_action = gtk.ImageMenuItem(_('_Actions...'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-executable', gtk.ICON_SIZE_MENU)
- imagemenuitem_action.set_image(image)
- imagemenuitem_action.connect('activate', self._sig_child_call,
- 'but_action')
- imagemenuitem_action.set_accel_path('<tryton>/Form/Actions')
- menu_form.add(imagemenuitem_action)
-
- imagemenuitem_print = gtk.ImageMenuItem(_('_Print...'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-print', gtk.ICON_SIZE_MENU)
- imagemenuitem_print.set_image(image)
- imagemenuitem_print.connect('activate', self._sig_child_call,
- 'but_print')
- imagemenuitem_print.set_accel_path('<tryton>/Form/Print')
- menu_form.add(imagemenuitem_print)
-
- menu_form.add(gtk.SeparatorMenuItem())
-
- imagemenuitem_export = gtk.ImageMenuItem(_('_Export Data...'))
- image = gtk.Image()
- image.set_from_stock('tryton-save-as', gtk.ICON_SIZE_MENU)
- imagemenuitem_export.set_image(image)
- imagemenuitem_export.connect('activate', self._sig_child_call,
- 'but_save_as')
- imagemenuitem_export.set_accel_path('<tryton>/Form/Export Data')
- menu_form.add(imagemenuitem_export)
-
- menuitem_import = gtk.MenuItem(_('_Import Data...'))
- menuitem_import.connect('activate', self._sig_child_call,
- 'but_import')
- menuitem_import.set_accel_path('<tryton>/Form/Import Data')
- menu_form.add(menuitem_import)
-
- menu_form.set_accel_group(self.accel_group)
- menu_form.set_accel_path('<tryton>/Form')
- menu_form.show_all()
- return menu_form
-
def _set_menu_options(self):
menu_options = gtk.Menu()
@@ -690,14 +540,6 @@ class Main(object):
menu_form.set_accel_path('<tryton>/Options/Form')
menuitem_form.set_submenu(menu_form)
- checkmenuitem_toolbar = gtk.CheckMenuItem(_('Toolbar'))
- checkmenuitem_toolbar.connect('activate',
- lambda menuitem: self.sig_toolbar_change(menuitem.get_active()))
- checkmenuitem_toolbar.set_accel_path('<tryton>/Options/Form/Toolbar')
- menu_form.add(checkmenuitem_toolbar)
- if CONFIG['form.toolbar']:
- checkmenuitem_toolbar.set_active(True)
-
checkmenuitem_statusbar = gtk.CheckMenuItem(_('Statusbar'))
checkmenuitem_statusbar.connect('activate',
lambda menuitem: self.sig_statusbar_change(menuitem.get_active()))
@@ -716,6 +558,18 @@ class Main(object):
if CONFIG['client.save_width_height']:
checkmenuitem_save_width_height.set_active(True)
+ checkmenuitem_save_tree_state = gtk.CheckMenuItem(
+ _('Save Tree Expanded State'))
+ checkmenuitem_save_tree_state.connect('activate',
+ lambda menuitem: CONFIG.__setitem__(
+ 'client.save_tree_expanded_state',
+ menuitem.get_active()))
+ checkmenuitem_save_tree_state.set_accel_path(
+ '<tryton>/Options/Form/Save Tree Expanded State')
+ menu_form.add(checkmenuitem_save_tree_state)
+ if CONFIG['client.save_tree_expanded_state']:
+ checkmenuitem_save_tree_state.set_active(True)
+
if gtkspell:
checkmenuitem_spellcheck = gtk.CheckMenuItem(_('Spell Checking'))
checkmenuitem_spellcheck.connect('activate',
@@ -845,134 +699,18 @@ class Main(object):
return menu_help
- def _set_toolbar(self):
- toolbutton_new = gtk.ToolButton('tryton-new')
- toolbutton_new.set_use_underline(True)
- self.toolbar.insert(toolbutton_new, -1)
- toolbutton_new.connect('clicked', self._sig_child_call, 'but_new')
- self.buttons['but_new'] = toolbutton_new
-
- toolbutton_save = gtk.ToolButton('tryton-save')
- toolbutton_save.set_use_underline(True)
- self.toolbar.insert(toolbutton_save, -1)
- toolbutton_save.connect('clicked', self._sig_child_call, 'but_save')
- self.buttons['but_save'] = toolbutton_save
-
- self.toolbar.insert(gtk.SeparatorToolItem(), -1)
-
- toolbutton_remove = gtk.ToolButton('tryton-delete')
- toolbutton_remove.set_use_underline(True)
- self.toolbar.insert(toolbutton_remove, -1)
- toolbutton_remove.connect('clicked', self._sig_child_call, 'but_remove')
- self.buttons['but_remove'] = toolbutton_remove
-
- self.toolbar.insert(gtk.SeparatorToolItem(), -1)
-
- toolbutton_search = gtk.ToolButton('tryton-find')
- toolbutton_search.set_use_underline(True)
- self.toolbar.insert(toolbutton_search, -1)
- toolbutton_search.connect('clicked', self._sig_child_call, 'but_search')
- self.buttons['but_search'] = toolbutton_search
-
- toolbutton_previous = gtk.ToolButton('tryton-go-previous')
- self.toolbar.insert(toolbutton_previous, -1)
- toolbutton_previous.connect('clicked', self._sig_child_call, 'but_previous')
- self.buttons['but_previous'] = toolbutton_previous
-
- toolbutton_next = gtk.ToolButton('tryton-go-next')
- self.toolbar.insert(toolbutton_next, -1)
- toolbutton_next.connect('clicked', self._sig_child_call, 'but_next')
- self.buttons['but_next'] = toolbutton_next
-
- toolbutton_switch = gtk.ToolButton('tryton-fullscreen')
- self.toolbar.insert(toolbutton_switch, -1)
- toolbutton_switch.connect('clicked', self._sig_child_call, 'but_switch')
- self.buttons['but_switch'] = toolbutton_switch
-
- toolbutton_reload = gtk.ToolButton('tryton-refresh')
- toolbutton_reload.set_use_underline(True)
- self.toolbar.insert(toolbutton_reload, -1)
- toolbutton_reload.connect('clicked', self._sig_child_call, 'but_reload')
- self.buttons['but_reload'] = toolbutton_reload
-
- self.toolbar.insert(gtk.SeparatorToolItem(), -1)
-
- toolbutton_action = gtk.ToolButton('tryton-executable')
- self.toolbar.insert(toolbutton_action, -1)
- toolbutton_action.connect('clicked', self._sig_child_call, 'but_action')
- self.buttons['but_action'] = toolbutton_action
-
- toolbutton_print = gtk.ToolButton('tryton-print')
- self.toolbar.insert(toolbutton_print, -1)
- toolbutton_print.connect('clicked', self._sig_child_call, 'but_print')
- self.buttons['but_print'] = toolbutton_print
-
- self.toolbar.insert(gtk.SeparatorToolItem(), -1)
-
- toolbutton_attach = gtk.ToolButton('tryton-attachment')
- self.toolbar.insert(toolbutton_attach, -1)
- toolbutton_attach.connect('clicked', self._sig_child_call, 'but_attach')
- self.buttons['but_attach'] = toolbutton_attach
-
- self.menutoolbutton = None
- if hasattr(gtk, 'MenuToolButton'):
- self.menutoolbutton = gtk.MenuToolButton(None, None)
- # Remove the button to keep only the toggle
- hbox, = self.menutoolbutton.get_children()
- button, toggle = hbox.get_children()
- hbox.remove(button)
- self.toolbar.insert(self.menutoolbutton, -1)
- menu = self._set_menu_form()
- self.menutoolbutton.set_menu(menu)
- self.toolbar_menu = menu
-
-
- def set_toolbar_label(self):
- labels = {
- 'but_new': _('_New'),
- 'but_save': _('_Save'),
- 'but_remove': _('_Delete'),
- 'but_search': _('_Find'),
- 'but_previous': _('Previous'),
- 'but_next': _('Next'),
- 'but_switch': _('Switch'),
- 'but_reload': _('_Reload'),
- 'but_action': _('Action'),
- 'but_print': _('Print'),
- 'but_attach': _('Attachment(0)'),
- }
- tooltips = {
- 'but_new': _('Create a new record'),
- 'but_save': _('Save this record'),
- 'but_remove': _('Delete this record'),
- 'but_search': _('Find records'),
- 'but_previous': _('Previous Record'),
- 'but_next': _('Next Record'),
- 'but_switch': _('Switch view'),
- 'but_reload': _('Reload'),
- 'but_action': _('Action'),
- 'but_print': _('Print'),
- 'but_attach': _('Add an attachment to the record'),
- }
- for i in self.buttons:
- self.buttons[i].set_label(labels[i])
- self.tooltips.set_tip(self.buttons[i], tooltips[i])
- if self.toolbar_menu and self.menutoolbutton:
- self.toolbar_menu.destroy()
- menu = self._set_menu_form()
- self.menutoolbutton.set_menu(menu)
-
@staticmethod
def get_main():
return _MAIN[0]
- def shortcut_set(self, shortcuts=None):
+ def shortcut_set(self):
def _action_shortcut(widget, action):
- Action.exec_keyword('tree_open', self.window, {
+ Action.exec_keyword('tree_open', {
'model': 'ir.ui.menu',
'id': action,
'ids': [action],
})
+ self.shortcut_unset()
def _add_shortcut(widget):
ids = self.menu_screen.sel_ids_get()
@@ -981,8 +719,8 @@ class Main(object):
try:
values = rpc.execute('model', self.menu_screen.model_name,
'read', ids, ['rec_name'], rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return
try:
for value in values:
@@ -992,23 +730,25 @@ class Main(object):
'user_id': rpc._USER,
'resource': self.menu_screen.model_name,
}, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
- self.shortcut_set()
+ except TrytonServerError, exception:
+ common.process_exception(exception)
+ self.shortcut_unset()
def _manage_shortcut(widget):
Window.create(False, 'ir.ui.view_sc', False,
domain=[('user_id', '=', rpc._USER)],
- window=self.window, mode=['tree', 'form'])
+ mode=['tree', 'form'])
+ self.shortcut_unset()
- if shortcuts is None:
- user = rpc._USER
- try:
- shortcuts = rpc.execute('model', 'ir.ui.view_sc', 'get_sc',
- user, 'ir.ui.menu', rpc.CONTEXT)
- except Exception:
- shortcuts = []
- menu = gtk.Menu()
+ user = rpc._USER
+ try:
+ shortcuts = rpc.execute('model', 'ir.ui.view_sc', 'get_sc',
+ user, 'ir.ui.menu', rpc.CONTEXT)
+ except TrytonServerError:
+ shortcuts = []
+ menu = self.menuitem_shortcut.get_submenu()
+ if not menu:
+ menu = gtk.Menu()
for shortcut in shortcuts:
menuitem = gtk.MenuItem(shortcut['name'])
menuitem.connect('activate', _action_shortcut, shortcut['res_id'])
@@ -1022,13 +762,11 @@ class Main(object):
menu.add(manage_shortcut)
menu.show_all()
self.menuitem_shortcut.set_submenu(menu)
- self.menuitem_shortcut.set_sensitive(True)
def shortcut_unset(self):
- menu = gtk.Menu()
- menu.show_all()
- self.menuitem_shortcut.set_submenu(menu)
- self.menuitem_shortcut.set_sensitive(False)
+ self.menuitem_shortcut.remove_submenu()
+ # Set a submenu to get keyboard shortcut working
+ self.menuitem_shortcut.set_submenu(gtk.Menu())
def sig_accel_change(self, value):
CONFIG['client.can_change_accelerators'] = value
@@ -1042,17 +780,6 @@ class Main(object):
else:
settings.set_property('gtk-can-change-accels', False)
- def sig_toolbar_change(self, value):
- CONFIG['form.toolbar'] = value
- return self.sig_toolbar_show()
-
- def sig_toolbar_show(self):
- toolbar = CONFIG['form.toolbar']
- if toolbar:
- self.toolbar.show()
- else:
- self.toolbar.hide()
-
def sig_statusbar_change(self, value):
CONFIG['form.statusbar'] = value
return self.sig_statusbar_show()
@@ -1071,26 +798,29 @@ class Main(object):
def sig_toolbar(self, option):
CONFIG['client.toolbar'] = option
if option == 'default':
- self.toolbar.set_style(False)
+ barstyle = False
elif option == 'both':
- self.toolbar.set_style(gtk.TOOLBAR_BOTH)
+ barstyle = gtk.TOOLBAR_BOTH
elif option == 'text':
- self.toolbar.set_style(gtk.TOOLBAR_TEXT)
+ barstyle = gtk.TOOLBAR_TEXT
elif option == 'icons':
- self.toolbar.set_style(gtk.TOOLBAR_ICONS)
+ barstyle = gtk.TOOLBAR_ICONS
+ for page_idx in range(self.notebook.get_n_pages()):
+ page = self.get_page(page_idx)
+ page.toolbar.set_style(barstyle)
@staticmethod
def sig_form_tab(option):
CONFIG['client.form_tab'] = option
def sig_limit(self, widget):
- Limit(self.window).run()
+ Limit().run()
def sig_file_actions(self, widget):
- FileActions(self.window).run()
+ FileActions().run()
def sig_email(self, widget):
- Email(self.window).run()
+ Email().run()
def sig_win_next(self, widget):
page = self.notebook.get_current_page()
@@ -1103,7 +833,9 @@ class Main(object):
self.notebook.set_current_page(page - 1)
def sig_user_preferences(self, widget):
- win = Preference(rpc._USER, self.window)
+ if not self.close_pages():
+ return False
+ win = Preference(rpc._USER)
if win.run():
rpc.context_reload()
prefs = rpc.execute('model', 'res.user',
@@ -1116,14 +848,13 @@ class Main(object):
translate.setlang(prefs['language'], prefs.get('locale'))
if CONFIG['client.lang'] != prefs['language']:
self.set_menubar()
- self.set_toolbar_label()
- self.shortcut_set()
+ self.shortcut_unset()
self.set_statusbar()
self.request_set()
self.sig_win_menu()
CONFIG['client.lang'] = prefs['language']
CONFIG.save()
- self.window.present()
+ self.sig_win_menu()
return True
def sig_win_close(self, widget):
@@ -1135,7 +866,7 @@ class Main(object):
ctx.update(rpc.CONTEXT)
ctx['active_test'] = False
return Window.create(None, 'res.request', False, [ ],
- mode=['form', 'tree'], window=self.window, context=ctx)
+ mode=['form', 'tree'], context=ctx)
def sig_request_open(self, widget):
ctx = {}
@@ -1143,14 +874,14 @@ class Main(object):
ctx['active_test'] = False
try:
ids1, ids2 = self.request_set(True)
- except Exception, exception:
- if common.process_exception(exception, self.window):
+ except TrytonServerError, exception:
+ if common.process_exception(exception):
ids1, ids2 = self.request_set(True)
else:
raise
ids = ids1 + ids2
return Window.create(False, 'res.request', ids, [ ],
- mode=['tree', 'form'], window=self.window, context=ctx)
+ mode=['tree', 'form'], context=ctx)
def request_set(self, exception=False):
try:
@@ -1170,7 +901,7 @@ class Main(object):
len(ids2))
self.sb_requests.set_text(message)
return (ids, ids2)
- except Exception:
+ except (TrytonServerError, socket.error):
if exception:
raise
return ([], [])
@@ -1180,25 +911,25 @@ class Main(object):
return
if not res:
try:
- dblogin = DBLogin(self.window)
- res = dblogin.run(self.window)
- except Exception, exception:
- if exception.args == ('QueryCanceled',):
+ res = DBLogin().run()
+ except TrytonError, exception:
+ if exception.faultCode == 'QueryCanceled':
return False
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return
- self.window.present()
try:
log_response = rpc.login(*res)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return
+ rpc.context_reload()
self.refresh_ssl()
if log_response > 0:
try:
prefs = rpc.execute('model', 'res.user', 'get_preferences',
False, rpc.CONTEXT)
- except Exception:
+ except TrytonServerError:
prefs = None
common.ICONFACTORY.load_icons()
if prefs and 'language_direction' in prefs:
@@ -1212,37 +943,38 @@ class Main(object):
translate.setlang(prefs['language'], prefs.get('locale'))
if CONFIG['client.lang'] != prefs['language']:
self.set_menubar()
- self.set_toolbar_label()
- self.shortcut_set()
+ self.shortcut_unset()
self.set_statusbar()
self.request_set()
CONFIG['client.lang'] = prefs['language']
CONFIG.save()
elif log_response == -1:
common.message(_('Connection error!\n' \
- 'Unable to connect to the server!'), self.window)
+ 'Unable to connect to the server!'))
elif log_response == -2:
common.message(_('Connection error!\n' \
- 'Bad username or password!'), self.window)
+ 'Bad username or password!'))
return self.sig_login()
- if not self.menuitem_shortcut.get_property('sensitive'):
- self.shortcut_set()
+ self.shortcut_unset()
+ self.menuitem_shortcut.set_sensitive(True)
self.menuitem_user.set_sensitive(True)
- #self.menuitem_form.set_sensitive(True)
self.menuitem_plugins.set_sensitive(True)
if CONFIG.arguments:
url = CONFIG.arguments.pop()
self.open_url(url)
return True
- def sig_logout(self, widget, disconnect=True):
+ def close_pages(self):
+ if self.notebook.get_n_pages():
+ if not common.sur(
+ _('The following action requires to close all tabs.\n'
+ 'Do you want to continue?')):
+ return False
res = True
while res:
wid = self.get_page()
if wid:
- if 'but_close' in wid.handlers:
- res = wid.handlers['but_close']()
- if not res:
+ if not wid.sig_close():
return False
res = self._win_del()
else:
@@ -1254,12 +986,17 @@ class Main(object):
if self.menu_screen:
self.menu_screen.destroy()
self.menu_screen = None
+ return True
+
+ def sig_logout(self, widget=None, disconnect=True):
+ if not self.close_pages():
+ return False
self.sb_username.set_text('')
self.sb_servername.set_text('')
self.sb_requests.set_text('')
self.shortcut_unset()
+ self.menuitem_shortcut.set_sensitive(False)
self.menuitem_user.set_sensitive(False)
- #self.menuitem_form.set_sensitive(False)
self.menuitem_plugins.set_sensitive(False)
if disconnect:
rpc.logout()
@@ -1267,25 +1004,21 @@ class Main(object):
return True
def refresh_ssl(self):
- if rpc.SECURE:
- info = ''
- if hasattr(rpc._SOCK.ssl_sock, 'server'):
- info = str(rpc._SOCK.ssl_sock.server())
- self.tooltips.set_tip(self.secure_img, _('SSL connection') + \
- '\n' + info)
+ if rpc.CONNECTION is not None and rpc.CONNECTION.ssl:
+ self.tooltips.set_tip(self.secure_img, _('SSL connection'))
self.secure_img.show()
else:
self.secure_img.hide()
self.tooltips.set_tip(self.secure_img, '')
def sig_tips(self, *args):
- Tips(self.window)
+ Tips()
def sig_about(self, widget):
- About(self.window)
+ About()
def sig_shortcuts(self, widget):
- Shortcuts(self.window).run()
+ Shortcuts().run()
def menu_toggle(self, nohide=False):
has_focus = True
@@ -1323,26 +1056,26 @@ class Main(object):
args = ('model', 'res.user', 'get_preferences', False, rpc.CONTEXT)
try:
prefs = rpc.execute(*args)
- except Exception, exception:
- prefs = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ prefs = common.process_exception(exception, *args)
if not prefs:
return False
self.sb_username.set_text(prefs.get('status_bar', ''))
self.sb_servername.set_text('%s@%s:%d/%s' % (rpc._USERNAME,
- rpc._SOCK.hostname, rpc._SOCK.port, rpc._DATABASE))
+ rpc._HOST, rpc._PORT, rpc._DATABASE))
if not prefs[menu_type]:
if quiet:
return False
common.warning(_('You can not log into the system!\n' \
'Verify if you have a menu defined on your user.'),
- 'Access Denied!', self.window)
+ 'Access Denied!')
rpc.logout()
self.refresh_ssl()
return False
act_id = prefs[menu_type]
if except_id and act_id == except_id:
return act_id
- Action.execute(act_id, {}, self.window)
+ Action.execute(act_id, {})
return act_id
def sig_home_new(self, widget=None, quiet=True, except_id=False,
@@ -1359,7 +1092,7 @@ class Main(object):
'ids': self.pages[page].ids_get(),
'id': self.pages[page].id_get(),
}
- tryton.plugins.execute(datas, self.window)
+ tryton.plugins.execute(datas)
@classmethod
def sig_quit(cls, widget=None):
@@ -1372,20 +1105,10 @@ class Main(object):
cls.tryton_client.quit_mainloop()
- def sig_close(self, widget):
- if common.sur(_("Do you really want to quit?"), parent=self.window):
- if not self.sig_logout(widget):
- return False
- Main.sig_quit()
- else:
+ def sig_close(self, widget, event=None):
+ if not self.sig_logout(widget):
return True
-
- def sig_delete(self, widget, event):
- if common.sur(_("Do you really want to quit?"), parent=self.window):
- if not self.sig_logout(widget):
- return True
- return False
- return True
+ Main.sig_quit()
def sig_configure(self, widget, event):
if hasattr(event, 'width') \
@@ -1399,8 +1122,15 @@ class Main(object):
gtk.gdk.WINDOW_STATE_MAXIMIZED)
return False
- def win_add(self, page):
- if page.model == 'ir.ui.menu' and not self.pane.get_child1():
+ def win_add(self, page, hide_current=False, allow_similar=True):
+ if not allow_similar:
+ for other_page in self.pages:
+ if page == other_page:
+ page_num = self.notebook.page_num(other_page.widget)
+ other_page.widget.props.visible = True
+ self.notebook.set_current_page(page_num)
+ return
+ if not self.pane.get_child1():
screen = page.screen
screen.screen_container.alternate_view = True
screen.switch_view(view_type=screen.current_view.view_type)
@@ -1408,10 +1138,16 @@ class Main(object):
self.menu_screen = screen
screen.display(set_cursor=True)
return
- elif page.model == 'ir.ui.menu':
- self.sig_win_menu()
previous_page_id = self.notebook.get_current_page()
previous_widget = self.notebook.get_nth_page(previous_page_id)
+ if previous_widget and hide_current:
+ prev_tab_label = self.notebook.get_tab_label(previous_widget)
+ prev_tab_label.set_size_request(TAB_SIZE / 4, -1)
+ close_button = prev_tab_label.get_children()[-1]
+ close_button.hide()
+ page_id = previous_page_id + 1
+ else:
+ page_id = -1
self.previous_pages[page] = previous_widget
self.pages.append(page)
hbox = gtk.HBox(spacing=3)
@@ -1432,7 +1168,7 @@ class Main(object):
hbox.pack_start(label, expand=True, fill=True)
layout = label.get_layout()
w, h = layout.get_size()
- if (w / pango.SCALE) > 120 - noise_size:
+ if (w // pango.SCALE) > TAB_SIZE - noise_size:
label2 = gtk.Label('...')
self.tooltips.set_tip(label2, page.name)
hbox.pack_start(label2, expand=False, fill=False)
@@ -1455,44 +1191,22 @@ class Main(object):
hbox.connect("style-set", on_style_set)
hbox.show_all()
- hbox.set_size_request(120, -1)
+ hbox.set_size_request(TAB_SIZE, -1)
label_menu = gtk.Label(page.name)
label_menu.set_alignment(0.0, 0.5)
- self.notebook.append_page_menu(page.widget, hbox, label_menu)
+ self.notebook.insert_page_menu(page.widget, hbox, label_menu, page_id)
if hasattr(self.notebook, 'set_tab_reorderable'):
self.notebook.set_tab_reorderable(page.widget, True)
- self.notebook.set_current_page(-1)
- page.signal_connect(self, 'attachment-count', self._attachment_count)
-
- def sb_set(self, view=None):
- if not view:
- view = self.get_page()
- for i in self.buttons:
- if self.buttons[i]:
- self.buttons[i].set_sensitive(
- bool(view and (i in view.handlers)))
- if hasattr(view, 'update_attachment_count'):
- view.update_attachment_count()
- else:
- self._attachment_count(view, 0)
-
- def _attachment_count(self, widget, signal_data):
- label = _('Attachment(%d)') % signal_data
- self.buttons['but_attach'].set_label(label)
- if signal_data:
- self.buttons['but_attach'].set_stock_id('tryton-attachment-hi')
- else:
- self.buttons['but_attach'].set_stock_id('tryton-attachment')
+ self.notebook.set_current_page(page_id)
def _sig_remove_book(self, widget, page_widget):
for page in self.pages:
if page.widget == page_widget:
page_num = self.notebook.page_num(page.widget)
self.notebook.set_current_page(page_num)
- if 'but_close' in page.handlers:
- res = page.handlers['but_close']()
- if not res:
- return
+ res = page.sig_close()
+ if not res:
+ return
self._win_del(page_widget)
def _win_del(self, page_widget=None):
@@ -1509,7 +1223,6 @@ class Main(object):
page.signal_unconnect(self)
break
self.notebook.remove_page(page_id)
- self.sb_set()
next_page_id = -1
to_pop = []
@@ -1529,6 +1242,9 @@ class Main(object):
page.destroy()
del page
+ current_widget = self.notebook.get_nth_page(next_page_id)
+ if current_widget:
+ current_widget.props.visible = True
self.notebook.set_current_page(next_page_id)
if not self.pages and self.menu_screen:
self.menu_screen.current_view.set_cursor()
@@ -1545,43 +1261,36 @@ class Main(object):
return page
return None
- def _sig_child_call(self, widget, button_name):
- wid = self.get_page()
- if wid:
- res = True
- if button_name in wid.handlers:
- res = wid.handlers[button_name]()
- if button_name == 'but_close' and res:
- self._win_del()
-
def _sig_page_changt(self, notebook, page, page_num):
self.last_page = self.current_page
- self.current_page = self.notebook.get_current_page()
+ last_form = self.get_page(self.current_page)
+ tab_label = notebook.get_tab_label(notebook.get_nth_page(page_num))
+ tab_label.set_size_request(TAB_SIZE, -1)
+ close_button = tab_label.get_children()[-1]
+ close_button.show()
+ if last_form:
+ for dialog in last_form.dialogs:
+ dialog.hide()
+ self.current_page = self.notebook.get_current_page()
current_form = self.get_page(self.current_page)
- parent = self.toolbar.get_parent()
- if parent:
- parent.remove(self.toolbar)
- current_form.toolbar_box.add(self.toolbar)
- current_form.toolbar_box.show_all()
-
- self.sb_set()
+ for dialog in current_form.dialogs:
+ dialog.show()
def sig_db_new(self, widget):
if not self.sig_logout(widget):
return False
dia = DBCreate(CONFIG['login.server'], int(CONFIG['login.port']),
sig_login=self.sig_login)
- res = dia.run(self.window)
+ res = dia.run()
if res:
CONFIG.save()
return res
- def sig_db_drop(self, widget):
+ def sig_db_drop(self, widget=None):
if not self.sig_logout(widget):
return False
- dialog = DBBackupDrop(self.window, function='drop')
- url, dbname, passwd = dialog.run(self.window)
+ url, dbname, passwd = DBBackupDrop(function='drop').run()
if not dbname:
rpc.logout()
Main.get_main().refresh_ssl()
@@ -1589,79 +1298,74 @@ class Main(object):
host, port = url.rsplit(':', 1)
sure = common.sur_3b(_("You are going to delete a Tryton " \
- "database.\nAre you really sure to proceed?"), self.window)
+ "database.\nAre you really sure to proceed?"))
if sure == "ko" or sure == "cancel":
return
rpcprogress = common.RPCProgress('db_exec', (host, int(port), 'drop',
- dbname, passwd), self.window)
+ dbname, passwd))
try:
rpcprogress.run()
- except Exception, exception:
+ except TrytonServerError, exception:
self.refresh_ssl()
- if exception[0] == "AccessDenied":
+ if exception.faultCode == "AccessDenied":
common.warning(_("Wrong Tryton Server Password" \
- "\nPlease try again."), self.window,
+ "\nPlease try again."),
_('Access denied!'))
- self.sig_db_drop(self.window)
+ self.sig_db_drop()
else:
- common.warning(_('Database drop failed with ' \
- 'error message:\n') + str(exception[0]), \
- self.window, _('Database drop failed!'))
+ common.warning(_('Database drop failed with error message:\n')
+ + str(exception.faultCode), _('Database drop failed!'))
return
self.refresh_ssl()
- common.message(_("Database dropped successfully!"), \
- parent=self.window)
+ common.message(_("Database dropped successfully!"))
def sig_db_restore(self, widget):
if not self.sig_logout(widget):
return False
- filename = common.file_selection(_('Open Backup File to Restore...'), \
- parent=self.window, preview=False)
+ filename = common.file_selection(_('Open Backup File to Restore...'),
+ preview=False)
if not filename:
return
- dialog = DBRestore(self.window, filename=filename)
- url, dbname, passwd, update = dialog.run(self.window)
+ dialog = DBRestore(filename=filename)
+ url, dbname, passwd, update = dialog.run()
if dbname:
- file_p = open(filename, 'rb')
- data_b64 = base64.encodestring(file_p.read())
- file_p.close()
+ with open(filename, 'rb') as file_p:
+ data = file_p.read()
host, port = url.rsplit(':' , 1)
rpcprogress = common.RPCProgress('db_exec', (host, int(port),
- 'restore', dbname, passwd, data_b64, update), self.window)
+ 'restore', dbname, passwd, buffer(data), update))
try:
res = rpcprogress.run()
- except Exception, exception:
+ except TrytonServerError, exception:
self.refresh_ssl()
- if exception[0] == \
+ if exception.faultCode == \
"Couldn't restore database with password":
common.warning(_("It is not possible to restore a " \
"password protected database.\n" \
"Backup and restore needed to be proceed " \
- "manual."), self.window, \
+ "manual."),
_('Database is password protected!'))
- elif exception[0] == "AccessDenied":
+ elif exception.faultCode == "AccessDenied":
common.warning(_("Wrong Tryton Server Password.\n" \
- "Please try again."), self.window, \
+ "Please try again."),
_('Access denied!'))
- self.sig_db_restore(self.window)
+ self.sig_db_restore()
else:
common.warning(_('Database restore failed with ' \
- 'error message:\n') + str(exception[0]), \
- self.window, _('Database restore failed!'))
+ 'error message:\n') + str(exception.faultCode), \
+ _('Database restore failed!'))
return
self.refresh_ssl()
if res:
- common.message(_("Database restored successfully!"), \
- parent=self.window)
+ common.message(_("Database restored successfully!"))
else:
- common.message(_('Database restore failed!'), \
- parent=self.window)
+ common.message(_('Database restore failed!'))
def sig_db_dump(self, widget):
if not self.sig_logout(widget):
return False
- dialog = DBBackupDrop(self.window, function='backup')
- url, dbname, passwd = dialog.run(self.window)
+ dialog = DBBackupDrop(function='backup')
+ url, dbname, passwd = dialog.run()
if not (dbname and url and passwd):
rpc.logout()
@@ -1670,42 +1374,38 @@ class Main(object):
host, port = url.rsplit(':', 1)
rpcprogress = common.RPCProgress('db_exec', (host, int(port), 'dump',
- dbname, passwd), self.window)
+ dbname, passwd))
try:
- dump_b64 = rpcprogress.run()
- except Exception, exception:
- if exception[0] == "Couldn't dump database with password":
+ dump = rpcprogress.run()
+ except TrytonServerError, exception:
+ if exception.faultCode == "Couldn't dump database with password":
common.warning(_("It is not possible to dump a password " \
"protected Database.\nBackup and restore " \
"needed to be proceed manual."),
- self.window, _('Database is password protected!'))
- elif exception[0] == "AccessDenied":
+ _('Database is password protected!'))
+ elif exception.faultCode == "AccessDenied":
common.warning(_("Wrong Tryton Server Password.\n" \
- "Please try again."), self.window,
+ "Please try again."),
_('Access denied!'))
- self.sig_db_dump(self.window)
+ self.sig_db_dump()
else:
common.warning(_('Database dump failed with ' \
- 'error message:\n') + str(exception[0]), \
- self.window, _('Database dump failed!'))
+ 'error message:\n') + str(exception.faultCode),
+ _('Database dump failed!'))
rpc.logout()
Main.get_main().refresh_ssl()
return
self.refresh_ssl()
- dump = base64.decodestring(dump_b64)
- filename = common.file_selection(_('Save As...'), \
- action=gtk.FILE_CHOOSER_ACTION_SAVE, parent=self.window, \
- preview=False,
- filename=dbname + '-' + time.strftime('%Y%m%d%H%M') + '.dump')
+ filename = common.file_selection(_('Save As...'),
+ action=gtk.FILE_CHOOSER_ACTION_SAVE, preview=False,
+ filename=dbname + '-' + time.strftime('%Y%m%d%H%M') + '.dump')
if filename:
- file_ = open(filename, 'wb')
- file_.write(dump)
- file_.close()
- common.message(_("Database backuped successfully!"), \
- parent=self.window)
+ with open(filename, 'wb') as file_:
+ file_.write(dump)
+ common.message(_("Database backuped successfully!"))
else:
rpc.logout()
Main.get_main().refresh_ssl()
@@ -1720,8 +1420,8 @@ class Main(object):
+ [CONFIG.defaults['login.port']])[:2]
database, path = (urlp.path[1:].split('/', 1) + [None])[:2]
if (not path or
- hostname != rpc._SOCK.hostname or
- int(port) != rpc._SOCK.port or
+ hostname != rpc._HOST or
+ int(port) != rpc._PORT or
database != rpc._DATABASE):
return
type_, path = (path.split('/', 1) + [''])[:2]
@@ -1730,7 +1430,7 @@ class Main(object):
try:
params = dict(param.split('=', 1)
for param in urlp.params.split('&'))
- except Exception:
+ except ValueError:
return
def open_model(path):
@@ -1757,10 +1457,10 @@ class Main(object):
mode = ['form', 'tree']
try:
Window.create(view_ids, model, res_id=res_id, domain=domain,
- window=self.window, context=context, mode=mode,
- name=name, limit=limit, auto_refresh=auto_refresh,
- search_value=search_value)
+ context=context, mode=mode, name=name, limit=limit,
+ auto_refresh=auto_refresh, search_value=search_value)
except Exception:
+ # Prevent crashing the client
return
def open_wizard(wizard):
@@ -1777,15 +1477,11 @@ class Main(object):
except ValueError:
return
try:
- if window:
- Window.create_wizard(wizard, data, self.window,
- direct_print=direct_print, email_print=email_print,
- email=email, name=name, context=context)
- else:
- Wizard.execute(wizard, data, self.window,
- direct_print=direct_print, email_print=email_print,
- email=email, context=context)
+ Window.create_wizard(wizard, data, direct_print=direct_print,
+ email_print=email_print, email=email, name=name,
+ context=context, window=window)
except Exception:
+ # Prevent crashing the client
return
def open_report(report):
@@ -1801,10 +1497,10 @@ class Main(object):
except ValueError:
return
try:
- Action.exec_report(report, data, self.window,
- direct_print=direct_print, email_print=email_print,
- email=email, context=context)
+ Action.exec_report(report, data, direct_print=direct_print,
+ email_print=email_print, email=email, context=context)
except Exception:
+ # Prevent crashing the client
return
def open_url():
diff --git a/tryton/gui/window/about.py b/tryton/gui/window/about.py
index b4f505b..84d3eca 100644
--- a/tryton/gui/window/about.py
+++ b/tryton/gui/window/about.py
@@ -4,16 +4,19 @@
import gtk
import gettext
import os
+import webbrowser
from tryton.config import TRYTON_ICON, PIXMAPS_DIR, DATA_DIR
from tryton.version import VERSION, WEBSITE
-import webbrowser
+from tryton.common import get_toplevel_window
COPYRIGHT = '''\
-Copyright (C) 2007-2010 Cédric Krier.
-Copyright (C) 2007-2010 Bertrand Chenal.
-Copyright (C) 2008-2010 B2CK SPRL.
-Copyright (C) 2008-2010 Udo Spallek.
-Copyright (C) 2008-2010 virtual things - Preisler & Spallek GbR.
+Copyright (C) 2010-2011 Nicolas Ãvrard.
+Copyright (C) 2007-2011 Cédric Krier.
+Copyright (C) 2007-2011 Bertrand Chenal.
+Copyright (C) 2008-2011 B2CK SPRL.
+Copyright (C) 2008-2011 Udo Spallek.
+Copyright (C) 2008-2011 virtual things - Preisler & Spallek GbR.
+Copyright (C) 2007-2009 Lorenzo Gil Sanchez.
Copyright (C) 2004-2008 Tiny SPRL.
'''
AUTHORS = [
@@ -22,7 +25,8 @@ AUTHORS = [
'Franz Wiesinger',
'Hartmut Goebel',
'Korbinian Preisler <info at virtual-things.biz>',
- 'Mathias Behrle',
+ 'Mathias Behrle <info at m9s.biz>',
+ 'Nicolas Ãvrard <nicolas.evrard at b2ck.com>',
'Sednacom <contact at sednacom.fr>',
'Udo Spallek <info at virtual-things.biz>',
]
@@ -707,11 +711,12 @@ _ = gettext.gettext
class About(object):
- def __init__(self, parent):
+ def __init__(self):
gtk.about_dialog_set_email_hook(lambda widget, link:
webbrowser.open(link, new=2))
gtk.about_dialog_set_url_hook(lambda widget, link:
webbrowser.open(link, new=2))
+ parent = get_toplevel_window()
self.win = gtk.AboutDialog()
self.win.set_transient_for(parent)
self.win.set_name('Tryton')
diff --git a/tryton/gui/window/attachment.py b/tryton/gui/window/attachment.py
index 1724a2d..4c83734 100644
--- a/tryton/gui/window/attachment.py
+++ b/tryton/gui/window/attachment.py
@@ -8,19 +8,17 @@ from tryton.gui.window.win_form import WinForm
class Attachment(object):
"Attachment window"
- def __init__(self, model_name, record_id, parent):
+ def __init__(self, model_name, record_id):
self.resource = '%s,%s' % (model_name, record_id)
- self.parent = parent
def run(self):
- screen = Screen('ir.attachment', self.parent, domain=[
+ screen = Screen('ir.attachment', domain=[
('resource', '=', self.resource),
], mode=['tree', 'form'], context={
'resource': self.resource,
}, exclude_field='resource')
screen.search_filter()
- win = WinForm(screen, self.parent, view_type='tree')
- if win.run():
- screen.group.save()
- self.parent.present()
- win.destroy()
+ def callback(result):
+ if result:
+ screen.group.save()
+ WinForm(screen, callback, view_type='tree')
diff --git a/tryton/gui/window/board.py b/tryton/gui/window/board.py
index 73a2593..c1da0f5 100644
--- a/tryton/gui/window/board.py
+++ b/tryton/gui/window/board.py
@@ -1,84 +1,74 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
"Board"
+import gettext
import gtk
-import pango
+from tryton.config import CONFIG
from tryton.signal_event import SignalEvent
+from tryton.gui import Main
import tryton.rpc as rpc
from tryton.gui.window.view_board import ViewBoard
import tryton.common as common
+from tryton.exceptions import TrytonServerError
+from tabcontent import TabContent
-class Board(SignalEvent):
+_ = gettext.gettext
+
+
+class Board(SignalEvent, TabContent):
'Board'
- def __init__(self, model, window, view_id, context=None, name=False,
+ toolbar_def = [
+ ('new', 'tryton-new', _('New'), _('Create a new record'), None),
+ ('save', 'tryton-save', _('Save'), _('Save this record'), None),
+ ('switch', 'tryton-fullscreen', _('Switch'), _('Switch view'),
+ None),
+ ('reload', 'tryton-refresh', _('_Reload'), _('Reload'),
+ 'sig_reload'),
+ ]
+
+ menu_def = [
+ (_('_New'), 'tryton-new', None, '<tryton>/Form/New'),
+ (_('_Save'), 'tryton-save', None, '<tryton>/Form/Save'),
+ (_('_Switch View'), 'tryton-fullscreen', None,
+ '<tryton>/Form/Switch View'),
+ (_('_Reload/Undo'), 'tryton-refresh', 'sig_reload',
+ '<tryton>/Form/Reload'),
+ (_('_Delete...'), 'tryton-delete', None, '<tryton>/Form/Delete'),
+ (_('_Close Tab'), 'tryton-close', 'sig_win_close',
+ '<tryton>/Form/Close'),
+ ]
+
+ def __init__(self, model, view_id, context=None, name=False,
auto_refresh=False):
super(Board, self).__init__()
try:
view = rpc.execute('model', 'ir.ui.view', 'read',
view_id, ['arch'], context)
- except Exception, exception:
- common.process_exception(exception, window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
raise
- self.board = ViewBoard(view['arch'], window, context=context)
-
+ self.board = ViewBoard(view['arch'], context=context)
+ self.model = model
+ self.view_id = view_id
+ self.context = context
+ self.auto_refresh = auto_refresh
+ self.dialogs = []
if not name:
self.name = self.board.name
else:
self.name = name
- self.model = model
- self.widget = gtk.VBox()
-
- title = gtk.Label()
- title.set_use_markup(True)
- title.modify_font(pango.FontDescription("14"))
- title.set_label('<b>' + self.name + '</b>')
- title.set_padding(20, 4)
- title.set_alignment(0.0, 0.5)
- title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
- title.show()
-
- hbox = gtk.HBox()
- hbox.pack_start(title, expand=True, fill=True)
- hbox.show()
-
- frame = gtk.Frame()
- frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
- frame.add(hbox)
- frame.show()
-
- eb = gtk.EventBox()
- eb.add(frame)
- eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffffff"))
- eb.show()
-
- self.widget.pack_start(eb, expand=False, fill=True, padding=3)
-
- self.toolbar_box = gtk.HBox()
- self.widget.pack_start(self.toolbar_box, False, True)
-
- viewport = gtk.Viewport()
- viewport.set_shadow_type(gtk.SHADOW_NONE)
- viewport.add(self.board.widget_get())
- viewport.show()
- self.scrolledwindow = gtk.ScrolledWindow()
- self.scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
- self.scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- self.scrolledwindow.add(viewport)
- self.scrolledwindow.show()
-
- self.widget.pack_start(self.scrolledwindow)
- self.widget.show()
-
- self.handlers = {
- 'but_reload': self.sig_reload,
- 'but_close': self.sig_close,
- }
+ self.create_tabcontent()
+
+ def get_toolbars(self):
+ return {}
+
+ def widget_get(self):
+ return self.board.widget_get()
def sig_reload(self, test_modified=True):
self.board.reload()
@@ -86,3 +76,17 @@ class Board(SignalEvent):
def sig_close(self):
return True
+
+ def __eq__(self, value):
+ if not value:
+ return False
+ if not isinstance(value, Board):
+ return False
+ return (self.model == value.model
+ and self.view_id == value.view_id
+ and self.context == value.context
+ and self.name == value.name
+ and self.auto_refresh == value.auto_refresh)
+
+ def sig_win_close(self, widget):
+ Main.get_main().sig_win_close(widget)
diff --git a/tryton/gui/window/dbcreate.py b/tryton/gui/window/dbcreate.py
index 7f48f84..e59463b 100644
--- a/tryton/gui/window/dbcreate.py
+++ b/tryton/gui/window/dbcreate.py
@@ -1,12 +1,12 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
import gtk
import gobject
import gettext
import re
import tryton.common as common
from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR
+from tryton.exceptions import TrytonServerError
import tryton.rpc as rpc
_ = gettext.gettext
@@ -29,7 +29,7 @@ class DBCreate(object):
self.entry_server_connection.modify_text(gtk.STATE_INSENSITIVE, \
gtk.gdk.color_parse(common.COLOR_SCHEMES["black"]))
self.tooltips.set_tip(self.entry_server_connection,_("This is the URL of " \
- "the Tryton server. Use server 'localhost' and port '8070' if " \
+ "the Tryton server. Use server 'localhost' and port '8000' if " \
"the server is installed on this computer. Click on 'Change' to " \
"change the address."))
else:
@@ -47,20 +47,20 @@ class DBCreate(object):
self.tooltips.set_tip(self.entry_server_connection, _( \
"Can not connect to the server!\n" \
"1. Try to check if the server is running.\n" \
- "2. Find out on which address and port it is listen.\n" \
+ "2. Find out on which address and port it is listening.\n" \
"3. If there is a firewall between the server and this " \
- "client, make shure that the server address and port " \
- "(usually 8070) are not blocked.\n" \
+ "client, make sure that the server address and port " \
+ "(usually 8000) are not blocked.\n" \
"Click on 'Change' to change the address."))
return state
- def server_change(self, widget, parent):
+ def server_change(self, widget):
"""
This method checks the server connection via host and port. If the
connection is successfull, it query the language list and pass true
state to the GUI. Otherwise it pass false state to the GUI.
"""
- res = common.request_server(self.entry_server_connection, parent)
+ res = common.request_server(self.entry_server_connection)
if not res:
return False
host, port = res
@@ -68,7 +68,7 @@ class DBCreate(object):
if self.combo_language and host and port:
common.refresh_langlist(self.combo_language, host, port)
self.server_connection_state(True)
- except Exception:
+ except TrytonServerError:
self.server_connection_state(False)
return False
return True
@@ -177,7 +177,7 @@ class DBCreate(object):
self.entry_server_connection.unset_flags(gtk.CAN_FOCUS)
self.entry_server_connection.set_editable(False)
self.tooltips.set_tip(self.entry_server_connection, _("This is the URL of " \
- "the server. Use server 'localhost' and port '8070' if " \
+ "the server. Use server 'localhost' and port '8000' if " \
"the server is installed on this computer. Click on 'Change' to " \
"change the address."))
self.button_server_change = gtk.Button(_("C_hange"), stock=None,
@@ -287,7 +287,8 @@ class DBCreate(object):
self.dialog.vbox.pack_start(dialog_vbox)
self.sig_login = sig_login
- def run(self, parent):
+ def run(self):
+ parent = common.get_toplevel_window()
self.dialog.set_default_response(gtk.RESPONSE_OK)
self.dialog.set_transient_for(parent)
self.dialog.show_all()
@@ -296,7 +297,7 @@ class DBCreate(object):
change_button = self.button_server_change
admin_passwd = self.entry_adminpasswd
admin_passwd2 = self.entry_adminpasswd2
- change_button.connect_after('clicked', self.server_change, self.dialog)
+ change_button.connect_after('clicked', self.server_change)
if self.host and self.port:
url = '%s:%d' % (self.host, self.port)
@@ -308,7 +309,7 @@ class DBCreate(object):
self.combo_language.set_model(liststore)
try:
common.refresh_langlist(self.combo_language, self.host, self.port)
- except Exception:
+ except TrytonServerError:
self.button_create.set_sensitive(False)
while True:
@@ -327,20 +328,19 @@ class DBCreate(object):
common.warning(_('The database name is restricted to ' \
'alpha-nummerical characters and "_" (underscore). ' \
'Avoid all accents, space ' \
- 'and any other special characters.'), self.dialog, \
+ 'and any other special characters.'),
_('Wrong characters in database name!'))
continue
elif admin_passwd.get_text() != admin_passwd2.get_text():
common.warning(
_("The new admin password " \
"doesn't match the confirmation field.\n"),
- self.dialog,
_("Passwords doesn't match!"))
continue
elif not admin_passwd.get_text():
common.warning(_("Admin password and confirmation are " \
"required to create a new database."), \
- self.dialog, _('Missing admin password!'))
+ _('Missing admin password!'))
continue
elif url_m.group(1) \
and int(url_m.group(2)) \
@@ -351,13 +351,13 @@ class DBCreate(object):
try:
exist = rpc.db_exec(url_m.group(1),
int(url_m.group(2)), 'db_exist', dbname)
- except Exception, exception:
- common.process_exception(exception, self.dialog)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
continue
if exist:
common.warning(_("A database with the same name " \
"already exists.\n" \
- "Try another database name."), self.dialog,
+ "Try another database name."),
_("This database name already exist!"))
self.entry_dbname.set_text("")
self.entry_dbname.grab_focus()
@@ -368,14 +368,13 @@ class DBCreate(object):
try:
rpcprogress = common.RPCProgress('db_exec',
(host, int(port), 'create', dbname, passwd,
- langreal, admin_passwd.get_text()),
- self.dialog)
+ langreal, admin_passwd.get_text()))
rpcprogress.run()
- except Exception, exception:
- if str(exception[0]) == "AccessDenied":
+ except TrytonServerError, exception:
+ if str(exception.faultCode) == "AccessDenied":
common.warning(_("Sorry, wrong password for " \
"the Tryton server. Please try again."),
- self.dialog, _("Access denied!"))
+ _("Access denied!"))
self.entry_serverpasswd.set_text("")
self.entry_serverpasswd.grab_focus()
continue
@@ -386,8 +385,9 @@ class DBCreate(object):
"be broken. Maybe drop this database! " \
"Please check the error message for " \
"possible informations.\n" \
- "Error message:\n") + str(exception[0]),
- self.dialog, _("Error creating database!"))
+ "Error message:\n")
+ + str(exception.faultCode),
+ _("Error creating database!"))
parent.present()
self.dialog.destroy()
rpc.logout()
diff --git a/tryton/gui/window/dbdumpdrop.py b/tryton/gui/window/dbdumpdrop.py
index 729a147..08cfe1a 100644
--- a/tryton/gui/window/dbdumpdrop.py
+++ b/tryton/gui/window/dbdumpdrop.py
@@ -3,6 +3,7 @@
import threading
import gtk
+import gobject
import gettext
import tryton.common as common
from tryton.config import CONFIG, TRYTON_ICON
@@ -19,31 +20,30 @@ class DBBackupDrop(object):
db_widget.hide()
label.hide()
dbprogress = common.DBProgress(host, port)
- dbs, createdb = dbprogress.update(db_widget, db_progress)
- if dbs is None or dbs == -1:
- if dbs is None:
+ def callback(dbs, createdb):
+ if dbs is None or dbs == -1:
+ if dbs is None:
+ label.set_label('<b>' + \
+ _('Could not connect to server!') + '</b>')
+ else:
+ label.set_label('<b>' + \
+ _('This client version is not compatible with the server!')
+ + '</b>')
+ db_widget.hide()
+ label.show()
+ elif dbs == 0:
label.set_label('<b>' + \
- _('Could not connect to server!') + '</b>')
+ _('No database found, you must create one!') + '</b>')
+ db_widget.hide()
+ label.show()
else:
- label.set_label('<b>' + \
- _('This client version is not compatible with the server!')
- + '</b>')
- db_widget.hide()
- label.show()
- elif dbs == 0:
- label.set_label('<b>' + \
- _('No database found, you must create one!') + '</b>')
- db_widget.hide()
- label.show()
- else:
- label.hide()
- db_widget.show()
- return dbs
+ label.hide()
+ db_widget.show()
+ dbprogress.update(db_widget, db_progress, callback)
@staticmethod
- def refreshlist_ask(widget, server_widget, db_widget, label, db_progress,
- parent=None):
- res = common.request_server(server_widget, parent)
+ def refreshlist_ask(widget, server_widget, db_widget, label, db_progress):
+ res = common.request_server(server_widget)
if not res:
return None
host, port = res
@@ -71,7 +71,7 @@ class DBBackupDrop(object):
else:
self.button_ok.set_sensitive(False)
- def __init__(self, parent, function=None):
+ def __init__(self, function=None):
# This widget is used for creating and droping a database!
if function =="backup":
dialog_title = _("Backup a database")
@@ -88,11 +88,10 @@ class DBBackupDrop(object):
else:
return None
- self.dialog = gtk.Dialog( \
- title = dialog_title, \
- parent = parent, \
- flags = gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT \
- | gtk.WIN_POS_CENTER_ON_PARENT,)
+ self.parent = common.get_toplevel_window()
+ self.dialog = gtk.Dialog(title=dialog_title, parent=self.parent,
+ flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
+ | gtk.WIN_POS_CENTER_ON_PARENT)
self.dialog.set_has_separator(True)
self.dialog.set_icon(TRYTON_ICON)
self.dialog.connect("key-press-event", self.event_show_button_ok)
@@ -122,23 +121,23 @@ class DBBackupDrop(object):
label_subtitle.set_justify(gtk.JUSTIFY_LEFT)
label_subtitle.set_alignment(0, 1)
label_subtitle.set_padding( 9, 5)
- table.attach(label_subtitle, 0, 3, 0, 1, xoptions=gtk.FILL)
+ table.attach(label_subtitle, 0, 3, 0, 1, yoptions=False, xoptions=gtk.FILL)
hseparator = gtk.HSeparator()
- table.attach(hseparator, 0, 3, 1, 2, yoptions=gtk.FILL)
+ table.attach(hseparator, 0, 3, 1, 2, yoptions=False)
self.label_server = gtk.Label(_("Server Connection:"))
self.label_server.set_alignment(1, 0.5)
self.label_server.set_padding(3, 3)
- table.attach(self.label_server, 0, 1, 2, 3, xoptions=gtk.FILL,
- yoptions=gtk.FILL)
+ table.attach(self.label_server, 0, 1, 2, 3, yoptions=False,
+ xoptions=gtk.FILL)
self.entry_server_connection = gtk.Entry()
self.entry_server_connection.set_sensitive(False)
self.entry_server_connection.unset_flags(gtk.CAN_FOCUS)
self.entry_server_connection.set_editable(False)
self.tooltips.set_tip(self.entry_server_connection, _("This is the " \
- "URL of the server. Use server 'localhost' and port '8070' " \
+ "URL of the server. Use server 'localhost' and port '8000' " \
"if the server is installed on this computer. " \
"Click on 'Change' to change the address."))
table.attach(self.entry_server_connection, 1, 2, 2, 3,
@@ -150,38 +149,43 @@ class DBBackupDrop(object):
img_button_server_change.set_from_stock('tryton-preferences-system', \
gtk.ICON_SIZE_BUTTON)
self.button_server_change.set_image(img_button_server_change)
- table.attach(self.button_server_change, 2, 3, 2, 3, yoptions=gtk.FILL, \
- xoptions=gtk.FILL)
+ table.attach(self.button_server_change, 2, 3, 2, 3, yoptions=False)
self.label_database = gtk.Label()
self.label_database.set_text(_("Database:"))
self.label_database.set_alignment(1, 0.5)
self.label_database.set_padding(3, 3)
- table.attach(self.label_database, 0, 1, 3, 4, xoptions=gtk.FILL,
- yoptions=gtk.FILL)
+ table.attach(self.label_database, 0, 1, 3, 4, yoptions=False,
+ xoptions=gtk.FILL)
- vbox_combo = gtk.VBox()
+ vbox_combo = gtk.VBox(homogeneous=True)
self.combo_database = gtk.ComboBox()
+ dbstore = gtk.ListStore(gobject.TYPE_STRING)
+ cell = gtk.CellRendererText()
+ self.combo_database.pack_start(cell, True)
+ self.combo_database.add_attribute(cell, 'text', 0)
+ self.combo_database.set_model(dbstore)
self.db_progressbar = gtk.ProgressBar()
self.combo_database_label = gtk.Label()
self.combo_database_label.set_use_markup(True)
self.combo_database_label.set_alignment(0, 1)
- vbox_combo.pack_start(self.combo_database, True, True)
- vbox_combo.pack_start(self.combo_database_label, False, False)
- vbox_combo.pack_start(self.db_progressbar, True, True)
+ vbox_combo.pack_start(self.combo_database)
+ vbox_combo.pack_start(self.combo_database_label)
+ vbox_combo.pack_start(self.db_progressbar)
width, height = 0, 0
+ # Compute size_request of box in order to prevent "form jumping"
for child in vbox_combo.get_children():
cwidth, cheight = child.size_request()
width, height = max(width, cwidth), max(height, cheight)
vbox_combo.set_size_request(width, height)
- table.attach(vbox_combo, 1, 3, 3, 4, yoptions=gtk.FILL)
+ table.attach(vbox_combo, 1, 3, 3, 4, yoptions=False)
self.label_serverpasswd = gtk.Label(_("Tryton Server Password:"))
self.label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT)
self.label_serverpasswd.set_alignment(1, 0.5)
self.label_serverpasswd.set_padding( 3, 3)
- table.attach(self.label_serverpasswd, 0, 1, 4, 5, xoptions=gtk.FILL,
- yoptions=gtk.FILL)
+ table.attach(self.label_serverpasswd, 0, 1, 4, 5, yoptions=False,
+ xoptions=gtk.FILL)
self.entry_serverpasswd = gtk.Entry()
self.entry_serverpasswd.set_visibility(False)
@@ -190,14 +194,13 @@ class DBBackupDrop(object):
"password of the Tryton server. It doesn't belong to a " \
"real user. This password is usually defined in the trytond " \
"configuration."))
- table.attach(self.entry_serverpasswd, 1, 3, 4, 5, yoptions=gtk.FILL)
+ table.attach(self.entry_serverpasswd, 1, 3, 4, 5, yoptions=False)
self.entry_serverpasswd.grab_focus()
self.dialog.vbox.pack_start(self.dialog_vbox)
- def run(self, parent):
+ def run(self):
self.dialog.set_default_response(gtk.RESPONSE_OK)
- self.dialog.set_transient_for(parent)
self.dialog.show_all()
pass_widget = self.entry_serverpasswd
@@ -206,17 +209,12 @@ class DBBackupDrop(object):
db_widget = self.combo_database
db_progress = self.db_progressbar
label = self.combo_database_label
- liststore = gtk.ListStore(str)
- db_widget.set_model(liststore)
- cell = gtk.CellRendererText()
- db_widget.pack_start(cell, True)
- db_widget.add_attribute(cell, 'text', 0)
- res = self.refreshlist(None, db_widget, label, db_progress,
+ self.refreshlist(None, db_widget, label, db_progress,
CONFIG['login.server'], CONFIG['login.port'])
change_button = self.button_server_change
- change_button.connect_after('clicked', DBBackupDrop.refreshlist_ask, \
- server_widget, db_widget, label, db_progress, self.dialog)
+ change_button.connect_after('clicked', DBBackupDrop.refreshlist_ask,
+ server_widget, db_widget, label, db_progress)
while True:
database = False
@@ -232,7 +230,7 @@ class DBBackupDrop(object):
self.dialog.destroy()
rpc.logout()
break
- parent.present()
+ self.parent.present()
self.dialog.destroy()
return (url, database, passwd)
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index 6201642..4e28d7c 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -1,6 +1,5 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
import ConfigParser
import gtk
@@ -16,13 +15,14 @@ import tryton.common as common
from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR, get_config_dir
import tryton.rpc as rpc
from tryton.gui.window.dbcreate import DBCreate
+from tryton.exceptions import TrytonError
_ = gettext.gettext
class DBListEditor(object):
- def __init__(self, parent, profile_store, profiles):
+ def __init__(self, parent, profile_store, profiles, callback):
self.profiles = profiles
self.current_database = None
self.old_profile, self.current_profile = None, None
@@ -142,6 +142,16 @@ class DBListEditor(object):
self.dialog.set_default_size(640, 350)
self.dialog.set_default_response(gtk.RESPONSE_ACCEPT)
+ self.dialog.connect('close', lambda *a: False)
+ self.dialog.connect('response', self.response)
+ self.callback = callback
+
+ def response(self, widget, response):
+ if self.callback:
+ self.callback(self.current_profile['name'])
+ self.parent.present()
+ self.dialog.destroy()
+
def run(self, profile_name):
self.clear_entries() # must be done before show_all for windows
self.dialog.show_all()
@@ -154,10 +164,6 @@ class DBListEditor(object):
i = 0
self.profile_tree.get_selection().select_path((i,))
self.profile_selected(self.profile_tree)
- self.dialog.run()
- self.parent.present()
- self.dialog.destroy()
- return self.current_profile['name']
def _current_profile(self):
model, selection = self.profile_tree.get_selection().get_selected()
@@ -169,7 +175,7 @@ class DBListEditor(object):
for entryname in ('host', 'port', 'database', 'username'):
entry = getattr(self, '%s_entry' % entryname)
if entryname == 'port':
- entry.set_text('8070')
+ entry.set_text('8000')
else:
entry.set_text('')
self.current_database = None
@@ -284,6 +290,8 @@ class DBListEditor(object):
port = self.port_entry.get_text()
if not (host and port):
return
+ if self.updating_db:
+ return
if dbname is None:
dbname = self.current_database
@@ -293,33 +301,40 @@ class DBListEditor(object):
self.remove_button.set_sensitive(False)
self.ok_button.set_sensitive(False)
self.cell.set_property('editable', False)
+ self.host_entry.set_sensitive(False)
+ self.port_entry.set_sensitive(False)
self.updating_db = True
- dbs, createdb = dbprogress.update(self.database_combo,
- self.database_progressbar, dbname)
- self.updating_db = False
- if dbs is None and createdb is None:
- pass
- elif dbs is None or dbs == -1:
- if dbs is None:
- label = _(u'Could not connect to the server')
- else:
- label = _(u'Incompatible version of the server')
- self.database_label.set_label('<b>%s</b>' % label)
- self.database_label.show()
- elif dbs == 0:
- if createdb:
- self.database_button.show()
+ def callback(dbs, createdb):
+ self.updating_db = False
+
+ if dbs is None and createdb is None:
+ pass
+ elif dbs is None or dbs == -1:
+ if dbs is None:
+ label = _(u'Could not connect to the server')
+ else:
+ label = _(u'Incompatible version of the server')
+ self.database_label.set_label('<b>%s</b>' % label)
+ self.database_label.show()
+ elif dbs == 0:
+ if createdb:
+ self.database_button.show()
+ else:
+ self.database_entry.show()
else:
- self.database_entry.show()
- else:
- self.database_entry.set_text(dbname if dbname else '')
- self.database_combo.show()
+ self.database_entry.set_text(dbname if dbname else '')
+ self.database_combo.show()
- self.add_button.set_sensitive(True)
- self.remove_button.set_sensitive(True)
- self.ok_button.set_sensitive(True)
- self.cell.set_property('editable', True)
+ self.add_button.set_sensitive(True)
+ self.remove_button.set_sensitive(True)
+ self.ok_button.set_sensitive(True)
+ self.cell.set_property('editable', True)
+ self.host_entry.set_sensitive(True)
+ self.port_entry.set_sensitive(True)
+
+ dbprogress.update(self.database_combo,
+ self.database_progressbar, callback, dbname)
def db_create(self, button):
if not self.current_profile['name']:
@@ -327,7 +342,7 @@ class DBListEditor(object):
host = self.host_entry.get_text()
port = int(self.port_entry.get_text())
dia = DBCreate(host, port)
- dbname = dia.run(self.dialog)
+ dbname = dia.run()
self.username_entry.set_text('admin')
self.display_dbwidget(None, None, dbname)
@@ -356,9 +371,10 @@ class DBListEditor(object):
class DBLogin(object):
- def __init__(self, parent):
+ def __init__(self):
# GTK Stuffs
- self.dialog = gtk.Dialog(title=_('Login'), parent=parent,
+ self.parent = common.get_toplevel_window()
+ self.dialog = gtk.Dialog(title=_('Login'), parent=self.parent,
flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
self.dialog.set_has_separator(True)
@@ -367,7 +383,7 @@ class DBLogin(object):
tooltips = common.Tooltips()
button_cancel = gtk.Button(_('_Cancel'))
img_cancel = gtk.Image()
- img_cancel.set_from_stock('tryton-cancel', gtk.ICON_SIZE_BUTTON)
+ img_cancel.set_from_stock('gtk-cancel', gtk.ICON_SIZE_BUTTON)
button_cancel.set_image(img_cancel)
tooltips.set_tip(button_cancel,
_('Cancel connection to the Tryton server'))
@@ -406,8 +422,6 @@ class DBLogin(object):
self.combo_profile.add_attribute(cell, 'sensitive', 1)
self.combo_profile.set_model(self.profile_store)
self.combo_profile.connect('changed', self.profile_changed)
- self.combo_profile.connect('move-active', self.profile_move_active)
- self.move_active = False
self.profile_label = gtk.Label(_(u'Profile:'))
self.profile_label.set_justify(gtk.JUSTIFY_RIGHT)
self.profile_label.set_alignment(1, 0.5)
@@ -431,6 +445,7 @@ class DBLogin(object):
self.label_host.set_padding(3, 3)
self.entry_host = gtk.Entry()
self.entry_host.connect_after('focus-out-event', self.clear_profile_combo)
+ self.entry_host.set_activates_default(True)
self.table_main.attach(self.label_host, 0, 1, 4, 5, xoptions=gtk.FILL)
self.table_main.attach(self.entry_host, 1, 3, 4, 5)
self.label_database = gtk.Label(_('Database:'))
@@ -439,6 +454,7 @@ class DBLogin(object):
self.label_database.set_padding(3, 3)
self.entry_database = gtk.Entry()
self.entry_database.connect_after('focus-out-event', self.clear_profile_combo)
+ self.entry_database.set_activates_default(True)
self.table_main.attach(self.label_database, 0, 1, 5, 6,
xoptions=gtk.FILL)
self.table_main.attach(self.entry_database, 1, 3, 5, 6)
@@ -461,13 +477,13 @@ class DBLogin(object):
# Profile informations
self.profile_cfg = os.path.join(get_config_dir(), 'profiles.cfg')
- self.profiles = ConfigParser.SafeConfigParser({'port': '8070'})
+ self.profiles = ConfigParser.SafeConfigParser({'port': '8000'})
if not os.path.exists(self.profile_cfg):
short_version = '.'.join(VERSION.split('.', 2)[:2])
name = 'demo%s.tryton.org' % short_version
self.profiles.add_section(name)
self.profiles.set(name, 'host', name)
- self.profiles.set(name, 'port', '8070')
+ self.profiles.set(name, 'port', '8000')
self.profiles.set(name, 'database', 'demo%s' % short_version)
self.profiles.set(name, 'username', 'demo')
else:
@@ -478,20 +494,23 @@ class DBLogin(object):
self.profile_store.append([section, active])
def profile_manage(self, widget):
- dia = DBListEditor(self.dialog, self.profile_store, self.profiles)
+ def callback(profile_name):
+ with open(self.profile_cfg, 'wb') as configfile:
+ self.profiles.write(configfile)
+
+ for idx, row in enumerate(self.profile_store):
+ if row[0] == profile_name and row[1]:
+ self.combo_profile.set_active(idx)
+ self.profile_changed(self.combo_profile)
+ break
+
+ dia = DBListEditor(self.dialog, self.profile_store, self.profiles,
+ callback)
active_profile = self.combo_profile.get_active()
profile_name = None
if active_profile != -1:
profile_name = self.profile_store[active_profile][0]
- profile_name = dia.run(profile_name)
- with open(self.profile_cfg, 'wb') as configfile:
- self.profiles.write(configfile)
-
- for idx, row in enumerate(self.profile_store):
- if row[0] == profile_name and row[1]:
- self.combo_profile.set_active(idx)
- self.profile_changed(self.combo_profile)
- break
+ dia.run(profile_name)
def profile_changed(self, combobox):
position = combobox.get_active()
@@ -510,16 +529,8 @@ class DBLogin(object):
self.entry_database.set_text(self.profiles.get(profile, 'database'))
if username:
self.entry_login.set_text(username)
- focus_widget = self.entry_password
else:
self.entry_login.set_text('')
- focus_widget = self.entry_login
- if not self.move_active:
- focus_widget.grab_focus()
- self.move_active = False
-
- def profile_move_active(self, combobox, scrolltype):
- self.move_active = True
def clear_profile_combo(self, entry, event):
netloc = self.entry_host.get_text()
@@ -541,6 +552,7 @@ class DBLogin(object):
else:
idx = -1
self.combo_profile.set_active(idx)
+ return False
def expand_hostspec(self, expander, *args):
visibility = expander.props.expanded
@@ -562,9 +574,9 @@ class DBLogin(object):
if ':' in netloc:
return int(netloc.split(':')[1])
else:
- return 8070
+ return 8000
- def run(self, parent):
+ def run(self):
profile_name = CONFIG['login.profile']
can_use_profile = self.profiles.has_section(profile_name)
if can_use_profile:
@@ -623,7 +635,12 @@ class DBLogin(object):
hostname = '[%s]' % host
else:
hostname = host
- if not common.test_server_version(host, port):
+ try:
+ if not common.test_server_version(host, port):
+ common.warning('', _(u'Incompatible version of the server'))
+ continue
+ except Exception, exception:
+ common.process_exception(exception)
continue
database = self.entry_database.get_text()
login = self.entry_login.get_text()
@@ -635,14 +652,12 @@ class DBLogin(object):
result = (self.entry_login.get_text(),
self.entry_password.get_text(), host, port, database)
+ self.parent.present()
+ self.dialog.destroy()
if res != gtk.RESPONSE_OK:
- parent.present()
- self.dialog.destroy()
rpc.logout()
from tryton.gui.main import Main
Main.get_main().refresh_ssl()
- raise Exception('QueryCanceled')
- parent.present()
- self.dialog.destroy()
+ raise TrytonError('QueryCanceled')
return result
diff --git a/tryton/gui/window/dbrestore.py b/tryton/gui/window/dbrestore.py
index 9d3b8e9..6be7386 100644
--- a/tryton/gui/window/dbrestore.py
+++ b/tryton/gui/window/dbrestore.py
@@ -1,6 +1,5 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of this
# repository contains the full copyright notices and license terms.
-from __future__ import with_statement
import gtk
import gobject
@@ -56,15 +55,14 @@ class DBRestore(object):
gobject.idle_add(_move_cursor)
entry.stop_emission("insert-text")
- def __init__(self, parent=None, filename=None):
+ def __init__(self, filename=None):
"""
Database restore widget
"""
- self.dialog = gtk.Dialog( \
- title = _("Restore Database"), \
- parent=parent, \
- flags = gtk.DIALOG_MODAL \
- | gtk.WIN_POS_CENTER_ON_PARENT)
+ self.parent = common.get_toplevel_window()
+ self.dialog = gtk.Dialog(title=_("Restore Database"),
+ parent=self.parent, flags=gtk.DIALOG_MODAL
+ | gtk.WIN_POS_CENTER_ON_PARENT)
vbox = gtk.VBox()
self.dialog.vbox.pack_start(vbox)
self.tooltips = common.Tooltips()
@@ -85,7 +83,7 @@ class DBRestore(object):
self.entry_server_url.set_activates_default(True)
self.entry_server_url.set_width_chars(16)
self.tooltips.set_tip(self.entry_server_url, _("This is the URL of " \
- "the server. Use server 'localhost' and port '8070' if " \
+ "the server. Use server 'localhost' and port '8000' if " \
"the server is installed on this computer. Click on " \
"'Change' to change the address."))
table.attach(self.entry_server_url, 1, 2, 0, 1, yoptions=gtk.FILL)
@@ -166,11 +164,10 @@ class DBRestore(object):
self.entry_server_password.grab_focus()
- def run(self, parent):
+ def run(self):
"""
Database Restore widget run part
"""
- self.dialog.set_transient_for(parent)
self.dialog.show_all()
self.entry_server_url.set_text('%(login.server)s:%(login.port)s' %
@@ -181,9 +178,9 @@ class DBRestore(object):
url = False
update = False
#TODO: This needs to be unified with the other widgets
- self.button_server_change.connect_after('clicked', \
- lambda a, b: common.request_server(b, self.dialog), \
- self.entry_server_url)
+ self.button_server_change.connect_after('clicked',
+ lambda a, b: common.request_server(b),
+ self.entry_server_url)
res = self.dialog.run()
if res == gtk.RESPONSE_OK:
database = self.entry_db_name.get_text()
@@ -195,7 +192,7 @@ class DBRestore(object):
self.dialog.destroy()
rpc.logout()
break
- parent.present()
+ self.parent.present()
self.dialog.destroy()
return url, database, passwd, update
diff --git a/tryton/gui/window/email.py b/tryton/gui/window/email.py
index e4cb887..4112050 100644
--- a/tryton/gui/window/email.py
+++ b/tryton/gui/window/email.py
@@ -4,22 +4,22 @@
import gtk
import gettext
from tryton.config import TRYTON_ICON, CONFIG
+from tryton.common import get_toplevel_window
_ = gettext.gettext
class Email(object):
- def __init__(self, parent):
- self.win = gtk.Dialog(_('Email'), parent,
+ def __init__(self):
+ self.parent = get_toplevel_window()
+ self.win = gtk.Dialog(_('Email'), self.parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
- self.parent = parent
self.win.set_default_response(gtk.RESPONSE_OK)
self.win.set_icon(TRYTON_ICON)
self.win.set_has_separator(True)
- self.win.set_transient_for(parent)
self.win.vbox.set_spacing(3)
self.win.vbox.pack_start(gtk.Label(
_('Email Program Settings')), expand=False, fill=True)
diff --git a/tryton/gui/window/fileactions.py b/tryton/gui/window/fileactions.py
index 721f4e7..4033656 100644
--- a/tryton/gui/window/fileactions.py
+++ b/tryton/gui/window/fileactions.py
@@ -4,7 +4,7 @@
import gtk
import gettext
from tryton.config import TRYTON_ICON, CONFIG
-from tryton.common import safe_eval
+from tryton.common import safe_eval, get_toplevel_window
_ = gettext.gettext
@@ -12,16 +12,15 @@ _ = gettext.gettext
class FileActions(object):
"File actions window"
- def __init__(self, parent):
- self.win = gtk.Dialog(_('File Actions'), parent,
+ def __init__(self):
+ self.parent= get_toplevel_window()
+ self.win = gtk.Dialog(_('File Actions'), self.parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
- self.parent = parent
self.win.set_default_response(gtk.RESPONSE_OK)
self.win.set_icon(TRYTON_ICON)
self.win.set_has_separator(True)
- self.win.set_transient_for(parent)
self.win.vbox.pack_start(gtk.Label(
_('Edit Files Actions')), expand=False, fill=True)
self.win.vbox.pack_start(gtk.HSeparator())
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index 7f973a4..7c9e27d 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -9,25 +9,88 @@ import tryton.rpc as rpc
from tryton.gui.window.view_form.screen import Screen
from tryton.action import Action
from tryton.config import CONFIG
-from tryton.gui.window.win_search import WinSearch
+from tryton.gui import Main
+from tryton.gui.window import Window
from tryton.gui.window.preference import Preference
from tryton.gui.window.win_export import WinExport
from tryton.gui.window.win_import import WinImport
from tryton.gui.window.attachment import Attachment
from tryton.signal_event import SignalEvent
-from tryton.common import TRYTON_ICON, message, sur, sur_3b, COLOR_SCHEMES
+from tryton.common import (TRYTON_ICON, message, sur, sur_3b, COLOR_SCHEMES,
+ timezoned_date)
+from tryton.exceptions import TrytonServerError
import tryton.common as common
-import pango
from tryton.translate import date_format
from tryton.common import DT_FORMAT, DHM_FORMAT, HM_FORMAT
+from tryton.pyson import PYSONEncoder
+
+from tabcontent import TabContent
_ = gettext.gettext
-class Form(SignalEvent):
+class Form(SignalEvent, TabContent):
"Form"
- def __init__(self, model, window, res_id=False, domain=None, mode=None,
+ toolbar_def = [
+ ('new', 'tryton-new', _('New'), _('Create a new record'),
+ 'sig_new'),
+ ('save', 'tryton-save', _('Save'), _('Save this record'),
+ 'sig_save'),
+ ('switch', 'tryton-fullscreen', _('Switch'), _('Switch view'),
+ 'sig_switch'),
+ ('reload', 'tryton-refresh', _('_Reload'), _('Reload'),
+ 'sig_reload'),
+ (None,) * 5,
+ ('previous', 'tryton-go-previous', _('Previous'),
+ _('Previous Record'), 'sig_previous'),
+ ('next', 'tryton-go-next', _('Next'), _('Next Record'),
+ 'sig_next'),
+ (None,) * 5,
+ ('attach', 'tryton-attachment', _('Attachment(0)'),
+ _('Add an attachment to the record'), 'sig_attach'),
+ ]
+ menu_def = [
+ (_('_New'), 'tryton-new', 'sig_new', '<tryton>/Form/New'),
+ (_('_Save'), 'tryton-save', 'sig_save', '<tryton>/Form/Save'),
+ (_('_Duplicate'), 'tryton-copy', 'sig_copy',
+ '<tryton>/Form/Duplicate'),
+ (_('_Delete...'), 'tryton-delete', 'sig_remove',
+ '<tryton>/Form/Delete'),
+ (None,) * 4,
+ (_('_Next'), 'tryton-go-next', 'sig_next', '<tryton>/Form/Next'),
+ (_('_Previous'), 'tryton-go-previous', 'sig_previous',
+ '<tryton>/Form/Previous'),
+ (_('_Switch View'), 'tryton-fullscreen', 'sig_switch',
+ '<tryton>/Form/Switch View'),
+ (None,) * 4,
+ (_('_Close Tab'), 'tryton-close', 'sig_win_close',
+ '<tryton>/Form/Close'),
+ (None,) * 4,
+ (_('View _Logs...'), None, 'sig_logs', None),
+ (_('_Go to Record ID...'), None, 'sig_goto', '<tryton>/Form/Goto'),
+ (None,) * 4,
+ (_('_Reload/Undo'), 'tryton-refresh', 'sig_reload',
+ '<tryton>/Form/Reload'),
+ (None,) * 4,
+ (_('_Actions...'), 'tryton-executable', 'sig_action',
+ '<tryton>/Form/Actions'),
+ (_('_Relate...'), 'tryton-go-jump', 'sig_relate',
+ '<tryton>/Form/Relate'),
+ (_('_Report...'), 'tryton-print-open', 'sig_print_open',
+ '<tryton>/Form/Report'),
+ (_('_E-Mail...'), 'tryton-print-email', 'sig_print_email',
+ '<tryton>/Form/Email'),
+ (_('_Print...'), 'tryton-print', 'sig_print',
+ '<tryton>/Form/Print'),
+ (None,) * 4,
+ (_('_Export Data...'), 'tryton-save-as', 'sig_save_as',
+ '<tryton>/Form/Export Data'),
+ (_('_Import Data...'), None, 'sig_import',
+ '<tryton>/Form/Import Data'),
+ ]
+
+ def __init__(self, model, res_id=False, domain=None, mode=None,
view_ids=None, context=None, name=False, limit=None,
auto_refresh=False, search_value=None):
super(Form, self).__init__()
@@ -42,21 +105,17 @@ class Form(SignalEvent):
context = {}
self.model = model
- self.window = window
+ self.res_id = res_id
self.domain = domain
+ self.mode = mode
self.context = context
+ self.auto_refresh = auto_refresh
+ self.view_ids = view_ids
+ self.dialogs = []
- self.widget = gtk.VBox(spacing=3)
- self.widget.show()
-
- self.screen = Screen(self.model, self.window, mode=mode,
- context=self.context, view_ids=view_ids, domain=domain,
- limit=limit, readonly=bool(auto_refresh),
- search_value=search_value)
- self.screen.signal_connect(self, 'record-message', self._record_message)
- self.screen.signal_connect(self, 'record-modified', self._record_modified)
- self.screen.signal_connect(self, 'attachment-count',
- self._attachment_count)
+ self.screen = Screen(self.model, mode=mode, context=self.context,
+ view_ids=view_ids, domain=domain, limit=limit,
+ readonly=bool(auto_refresh), search_value=search_value)
self.screen.widget.show()
if not name:
@@ -64,87 +123,15 @@ class Form(SignalEvent):
else:
self.name = name
- title = gtk.Label()
- title.set_use_markup(True)
- title.modify_font(pango.FontDescription("14"))
- title.set_label('<b>' + self.name + '</b>')
- title.set_padding(20, 4)
- title.set_alignment(0.0, 0.5)
- title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
- title.show()
-
-
- self.info_label = gtk.Label()
- self.info_label.set_padding(3, 3)
- self.info_label.set_alignment(1.0, 0.5)
-
- self.eb_info = gtk.EventBox()
- self.eb_info.add(self.info_label)
- self.eb_info.connect('button-release-event',
- lambda *a: self.message_info(''))
-
- vbox = gtk.VBox()
- vbox.pack_start(self.eb_info, expand=True, fill=True, padding=5)
- vbox.show()
-
- self.status_label = gtk.Label()
- self.status_label.set_padding(5, 4)
- self.status_label.set_alignment(0.0, 0.5)
- self.status_label.show()
-
- hbox = gtk.HBox()
- hbox.pack_start(title, expand=True, fill=True)
- hbox.pack_start(vbox, expand=False, fill=True, padding=20)
- hbox.pack_start(self.status_label, expand=False, fill=True)
- hbox.show()
-
- frame = gtk.Frame()
- frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
- frame.add(hbox)
- frame.show()
-
- eb = gtk.EventBox()
- eb.add(frame)
- eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffffff"))
- eb.show()
-
- self.widget.pack_start(eb, expand=False, fill=True, padding=3)
-
- self.toolbar_box = gtk.HBox()
- self.widget.pack_start(self.toolbar_box, False, True)
-
- viewport = gtk.Viewport()
- viewport.set_shadow_type(gtk.SHADOW_NONE)
- viewport.add(self.screen.widget)
- viewport.show()
- self.scrolledwindow = gtk.ScrolledWindow()
- self.scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
- self.scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- self.scrolledwindow.add(viewport)
- self.scrolledwindow.show()
-
- self.widget.pack_start(self.scrolledwindow)
-
- self.handlers = {
- 'but_new': self.sig_new,
- 'but_copy': self.sig_copy,
- 'but_save': self.sig_save,
- 'but_save_as': self.sig_save_as,
- 'but_import': self.sig_import,
- 'but_remove': self.sig_remove,
- 'but_search': self.sig_search,
- 'but_previous': self.sig_previous,
- 'but_next': self.sig_next,
- 'but_goto_id': self.sig_goto,
- 'but_log': self.sig_logs,
- 'but_print': self.sig_print,
- 'but_reload': self.sig_reload,
- 'but_action': self.sig_action,
- 'but_switch': self.sig_switch,
- 'but_attach': self.sig_attach,
- 'but_close': self.sig_close,
- }
+ self.create_tabcontent()
+ self.screen.signal_connect(self, 'record-message',
+ self._record_message)
+ self.screen.signal_connect(self, 'record-modified',
+ self._record_modified)
+ self.screen.signal_connect(self, 'record-saved', self._record_saved)
+ self.screen.signal_connect(self, 'attachment-count',
+ self._attachment_count)
+
if res_id not in (None, False):
if isinstance(res_id, (int, long)):
res_id = [res_id]
@@ -159,10 +146,42 @@ class Form(SignalEvent):
if auto_refresh and int(auto_refresh):
gobject.timeout_add(int(auto_refresh) * 1000, self.sig_reload)
+ def get_toolbars(self):
+ ctx = {}
+ ctx.update(rpc.CONTEXT)
+ ctx.update(self.context)
+ args = ('model', self.model, 'view_toolbar_get', ctx)
+ try:
+ toolbars = rpc.execute(*args)
+ except TrytonServerError, exception:
+ toolbars = common.process_exception(exception, *args)
+ toolbars = toolbars if toolbars else {}
+ return toolbars
+
+ def widget_get(self):
+ return self.screen.widget
+
+ def __eq__(self, value):
+ if not value:
+ return False
+ if not isinstance(value, Form):
+ return False
+ return (self.model == value.model
+ and self.res_id == value.res_id
+ and self.domain == value.domain
+ and self.mode == value.mode
+ and self.view_ids == value.view_ids
+ and self.context == value.context
+ and self.name == value.name
+ and self.screen.limit == value.screen.limit
+ and self.auto_refresh == value.auto_refresh
+ and self.screen.search_value == value.screen.search_value)
+
def sig_goto(self, widget=None):
if not self.modified_save():
return
- win = gtk.Dialog(_('Go to ID'), self.window,
+ parent = common.get_toplevel_window()
+ win = gtk.Dialog(_('Go to ID'), parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
@@ -186,7 +205,7 @@ class Form(SignalEvent):
new_value = value[:position] + new_text + value[position:]
try:
locale.atoi(new_value)
- except Exception:
+ except ValueError:
widget.stop_emission('insert-text')
entry.connect('insert_text', sig_insert_text)
table.attach(entry, 1, 2, 1, 2)
@@ -198,12 +217,9 @@ class Form(SignalEvent):
if response == gtk.RESPONSE_OK:
self.screen.display(locale.atoi(entry.get_text()), set_cursor=True)
win.destroy()
- self.window.present()
+ parent.present()
def destroy(self):
- if self.toolbar_box.get_children():
- toolbar = self.toolbar_box.get_children()[0]
- self.toolbar_box.remove(toolbar)
self.screen.signal_unconnect(self)
self.screen.destroy()
self.screen = None
@@ -223,8 +239,7 @@ class Form(SignalEvent):
def sig_attach(self, widget=None):
obj_id = self.id_get()
if obj_id >= 0 and obj_id is not False:
- win = Attachment(self.model, obj_id, self.window)
- win.run()
+ Attachment(self.model, obj_id).run()
else:
self.message_info(_('No record selected!'))
self.update_attachment_count(reload=True)
@@ -236,7 +251,15 @@ class Form(SignalEvent):
attachment_count = record.get_attachment_count(reload=reload)
else:
attachment_count = 0
- self.signal('attachment-count', attachment_count)
+ self._attachment_count(None, attachment_count)
+
+ def _attachment_count(self, widget, signal_data):
+ label = _('Attachment(%d)') % signal_data
+ self.buttons['attach'].set_label(label)
+ if signal_data:
+ self.buttons['attach'].set_stock_id('tryton-attachment-hi')
+ else:
+ self.buttons['attach'].set_stock_id('tryton-attachment')
def sig_switch(self, widget=None):
if not self.modified_save():
@@ -263,8 +286,8 @@ class Form(SignalEvent):
ctx)
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return
message_str = ''
@@ -274,21 +297,11 @@ class Form(SignalEvent):
if line.get(key, False) \
and key in ('create_date', 'write_date'):
display_format = date_format() + ' ' + HM_FORMAT
- date = line[key]
- if 'timezone' in rpc.CONTEXT:
- try:
- import pytz
- lzone = pytz.timezone(rpc.CONTEXT['timezone'])
- szone = pytz.timezone(rpc.TIMEZONE)
- sdt = szone.localize(datetime, is_dst=True)
- ldt = sdt.astimezone(lzone)
- date = ldt
- except Exception:
- pass
+ date = timezoned_date(line[key])
value = common.datetime_strftime(date, display_format)
message_str += val + ' ' + value +'\n'
message_str += _('Model:') + ' ' + self.model
- message(message_str, self.window)
+ message(message_str)
return True
def sig_remove(self, widget=None):
@@ -296,7 +309,7 @@ class Form(SignalEvent):
msg = _('Are you sure to remove this record?')
else:
msg = _('Are you sure to remove those records?')
- if sur(msg, self.window):
+ if sur(msg):
if not self.screen.remove(delete=True, force_remove=True):
self.message_info(_('Records not removed!'))
else:
@@ -308,7 +321,7 @@ class Form(SignalEvent):
fields = {}
for name, field in self.screen.group.fields.iteritems():
fields[name] = field.attrs
- win = WinImport(self.model, self.window)
+ win = WinImport(self.model)
win.run()
def sig_save_as(self, widget=None):
@@ -317,7 +330,7 @@ class Form(SignalEvent):
fields = {}
for name, field in self.screen.group.fields.iteritems():
fields[name] = field.attrs
- win = WinExport(self.model, self.ids_get(), self.window,
+ win = WinExport(self.model, self.ids_get(),
context=self.context)
win.run()
@@ -327,6 +340,7 @@ class Form(SignalEvent):
return
self.screen.new()
self.message_info('')
+ self.activate_save()
def sig_copy(self, widget=None):
if not self.modified_save():
@@ -337,8 +351,8 @@ class Form(SignalEvent):
args = ('model', self.model, 'copy', res_ids, {}, ctx)
try:
new_ids = rpc.execute(*args)
- except Exception, exception:
- new_ids = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ new_ids = common.process_exception(exception, *args)
if new_ids:
self.screen.load(new_ids)
self.message_info(_('Working now on the duplicated record(s)!'),
@@ -369,7 +383,7 @@ class Form(SignalEvent):
return False
if test_modified and self.screen.modified():
res = sur_3b(_('This record has been modified\n' \
- 'do you want to save it ?'), self.window)
+ 'do you want to save it ?'))
if res == 'ok':
self.sig_save(None)
elif res == 'ko':
@@ -381,58 +395,50 @@ class Form(SignalEvent):
self.screen.display()
else:
obj_id = self.id_get()
- self.screen.search_filter()
+ self.screen.search_filter(self.screen.screen_container.get_text())
for record in self.screen.group:
if record.id == obj_id:
self.screen.current_record = record
self.screen.display(set_cursor=True)
break
self.message_info('')
+ self.activate_save()
return True
- def sig_action(self, keyword='form_action'):
- ids = self.ids_get()
- if self.screen.current_record:
- obj_id = self.screen.current_record.id
- else:
- obj_id = False
- if self.screen.current_view.view_type == 'form':
- obj_id = self.screen.save_current()
- if not obj_id:
- return False
- ids = [obj_id]
- if self.screen.current_view.view_type == 'tree':
- sel_ids = self.screen.current_view.sel_ids_get()
- if sel_ids:
- ids = sel_ids
- if len(ids):
- ctx = self.context.copy()
- if 'active_ids' in ctx:
- del ctx['active_ids']
- if 'active_id' in ctx:
- del ctx['active_id']
- res = Action.exec_keyword(keyword, self.window, {
- 'model': self.screen.model_name,
- 'id': obj_id or False,
- 'ids': ids,
- }, context=ctx, alwaysask=True)
- if res:
- self.sig_reload(test_modified=False)
- else:
- self.message_info(_('No record selected!'))
+ def sig_action(self, widget):
+ self.buttons['action'].props.active = True
- def sig_print(self):
- self.sig_action('form_print')
+ def sig_print(self, widget):
+ self.buttons['print'].props.active = True
- def sig_search(self, widget=None):
- if not self.modified_save():
+ def sig_print_open(self, widget):
+ self.buttons['open'].props.active = True
+
+ def sig_print_email(self, widget):
+ self.buttons['email'].props.active = True
+
+ def sig_relate(self, widget):
+ self.buttons['relate'].props.active = True
+
+ def action_popup(self, widget):
+ button, = widget.get_children()
+ button.grab_focus()
+ menu = widget._menu
+ if not widget.props.active:
+ menu.popdown()
return
- win = WinSearch(self.model, domain=self.domain,
- context=self.context, parent=self.window)
- res = win.run()
- if res:
- self.screen.clear()
- self.screen.load(res)
+
+ def menu_position(menu):
+ parent = widget.get_toplevel()
+ parent_x, parent_y = parent.window.get_origin()
+ widget_allocation = widget.get_allocation()
+ return (
+ widget_allocation.x + parent_x,
+ widget_allocation.y + widget_allocation.height + parent_y,
+ False
+ )
+ menu.show_all()
+ menu.popup(None, None, menu_position, 0, 0)
def message_info(self, message, color='red'):
if message:
@@ -446,26 +452,34 @@ class Form(SignalEvent):
def _record_message(self, screen, signal_data):
name = '_'
- if signal_data[0] >= 0:
+ if signal_data[0]:
name = str(signal_data[0])
+ for button_id in ('print', 'action', 'relate', 'email', 'open', 'save',
+ 'switch', 'attach'):
+ button = self.buttons[button_id]
+ can_be_sensitive = getattr(button, '_can_be_sensitive', True)
+ button.props.sensitive = (bool(signal_data[0])
+ and can_be_sensitive)
+
msg = name + ' / ' + str(signal_data[1])
if signal_data[1] < signal_data[2]:
msg += _(' of ') + str(signal_data[2])
self.status_label.set_text(msg)
self.message_info('')
+ self.activate_save()
def _record_modified(self, screen, signal_data):
self.message_info('', color='white')
+ self.activate_save()
- def _attachment_count(self, screen, signal_data):
- self.signal('attachment-count', signal_data)
+ def _record_saved(self, screen, signal_data):
+ self.activate_save()
def modified_save(self, reload=True):
if self.screen.modified():
value = sur_3b(
_('This record has been modified\n' \
- 'do you want to save it ?'),
- self.window)
+ 'do you want to save it ?'))
if value == 'ok':
return self.sig_save(None)
elif value == 'ko':
@@ -476,5 +490,117 @@ class Form(SignalEvent):
return False
return True
- def sig_close(self):
+ def sig_close(self, widget=None):
+ for dialog in self.dialogs[:]:
+ dialog.destroy()
return self.modified_save(reload=False)
+
+ def _action(self, action, atype):
+ action = action.copy()
+ if not self.screen.save_current():
+ return
+ record_id = self.screen.id_get()
+ record_ids = self.screen.sel_ids_get()
+ if atype in ('print', 'action'):
+ email = {}
+ if 'pyson_email' in action:
+ email = self.screen.current_record.expr_eval(
+ action['pyson_email'])
+ if not email:
+ email = {}
+ if 'subject' not in email:
+ email['subject'] = action['name'].replace('_', '')
+ action['email'] = email
+ self.screen.display()
+ elif atype == 'relate':
+ encoder = PYSONEncoder()
+ if 'pyson_domain' in action:
+ action['pyson_domain'] = encoder.encode(
+ self.screen.current_record.expr_eval(
+ action['pyson_domain'], check_load=False))
+ if 'pyson_context' in action:
+ action['pyson_context'] = encoder.encode(
+ self.screen.current_record.expr_eval(
+ action['pyson_context'], check_load=False))
+ else:
+ raise NotImplementedError("Action type '%s' is not supported" %
+ atype)
+ data = {
+ 'model': self.screen.model_name,
+ 'id': record_id,
+ 'ids': record_ids,
+ }
+ Action._exec_action(action, data, {})
+
+ def activate_save(self):
+ self.buttons['save'].props.sensitive = self.screen.modified()
+
+ def sig_win_close(self, widget):
+ Main.get_main().sig_win_close(widget)
+
+ def create_toolbar(self, toolbars):
+ gtktoolbar = super(Form, self).create_toolbar(toolbars)
+
+ iconstock = {
+ 'print': 'tryton-print',
+ 'action': 'tryton-executable',
+ 'relate': 'tryton-go-jump',
+ 'email': 'tryton-print-email',
+ 'open': 'tryton-print-open',
+ }
+ for action_type, special_action, action_name, tooltip in (
+ ('action', 'action', _('Action'), _('Launch action')),
+ ('relate', 'relate', _('Relate'), _('Open related records')),
+ (None,) * 4,
+ ('print', 'open', _('Report'), _('Open report')),
+ ('print', 'email', _('E-Mail'), _('E-Mail report')),
+ ('print', 'print', _('Print'), _('Print report')),
+ ):
+ if action_type is not None:
+ tbutton = gtk.ToggleToolButton(iconstock.get(special_action))
+ tbutton.set_label(action_name)
+ tbutton._menu = self._create_popup_menu(tbutton,
+ action_type, toolbars[action_type], special_action)
+ tbutton.connect('toggled', self.action_popup)
+ self.tooltips.set_tip(tbutton, tooltip)
+ self.buttons[special_action] = tbutton
+ tbutton._can_be_sensitive = bool(toolbars.get(action_type))
+ else:
+ tbutton = gtk.SeparatorToolItem()
+ gtktoolbar.insert(tbutton, -1)
+
+ return gtktoolbar
+
+ def _create_popup_menu(self, widget, keyword, actions, special_action):
+ menu = gtk.Menu()
+ menu.connect('deactivate', self._popup_menu_hide, widget)
+
+ for action in actions:
+ new_action = action.copy()
+ if special_action == 'print':
+ new_action['direct_print'] = True
+ elif special_action == 'email':
+ new_action['email_print'] = True
+ action_name = action['name']
+ if '_' not in action_name:
+ action_name = '_' + action_name
+ menuitem = gtk.MenuItem(action_name)
+ menuitem.set_use_underline(True)
+ menuitem.connect('activate', self._popup_menu_selected, widget,
+ new_action, keyword)
+ menu.add(menuitem)
+
+ return menu
+
+ def _popup_menu_selected(self, menuitem, togglebutton, action, keyword):
+ event = gtk.get_current_event()
+ allow_similar = False
+ if (event.state & gtk.gdk.CONTROL_MASK
+ or event.state & gtk.gdk.MOD1_MASK):
+ allow_similar = True
+ with Window(hide_current=True, allow_similar=allow_similar):
+ self._action(action, keyword)
+ togglebutton.props.active = False
+
+ def _popup_menu_hide(self, menuitem, togglebutton):
+ togglebutton.props.active = False
diff --git a/tryton/gui/window/limit.py b/tryton/gui/window/limit.py
index f4e74a8..bac2ce6 100644
--- a/tryton/gui/window/limit.py
+++ b/tryton/gui/window/limit.py
@@ -4,6 +4,7 @@ import sys
import gtk
import gettext
from tryton.config import TRYTON_ICON, CONFIG
+from tryton.common import get_toplevel_window
_ = gettext.gettext
@@ -11,16 +12,15 @@ _ = gettext.gettext
class Limit(object):
'Set Search Limit'
- def __init__(self, parent):
- self.win = gtk.Dialog(_('Limit'), parent,
+ def __init__(self):
+ self.parent = get_toplevel_window()
+ self.win = gtk.Dialog(_('Limit'), self.parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
- self.parent = parent
self.win.set_default_response(gtk.RESPONSE_OK)
self.win.set_icon(TRYTON_ICON)
self.win.set_has_separator(True)
- self.win.set_transient_for(parent)
self.win.vbox.set_spacing(3)
self.win.vbox.pack_start(gtk.Label(
_('Search Limit Settings')), expand=False, fill=True)
diff --git a/tryton/gui/window/nomodal.py b/tryton/gui/window/nomodal.py
new file mode 100644
index 0000000..c100e2b
--- /dev/null
+++ b/tryton/gui/window/nomodal.py
@@ -0,0 +1,28 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+from tryton.gui.main import Main
+import tryton.common as common
+
+
+class NoModal(object):
+
+ def __init__(self):
+ self.parent = common.get_toplevel_window()
+ self.sensible_widget = common.get_sensible_widget(self.parent)
+ self.page = None
+ self.parent_focus = self.parent.get_focus()
+
+ def register(self):
+ main = Main.get_main()
+ self.page = main.get_page()
+ if not self.page:
+ self.page = main
+ self.page.dialogs.append(self)
+ self.sensible_widget.props.sensitive = False
+
+ def destroy(self):
+ self.page.dialogs.remove(self)
+ self.parent.present()
+ self.sensible_widget.props.sensitive = True
+ if self.parent_focus:
+ self.parent_focus.grab_focus()
diff --git a/tryton/gui/window/preference.py b/tryton/gui/window/preference.py
index 7d1dd42..3f03596 100644
--- a/tryton/gui/window/preference.py
+++ b/tryton/gui/window/preference.py
@@ -7,6 +7,7 @@ import tryton.rpc as rpc
import copy
from tryton.gui.window.view_form.screen import Screen
from tryton.config import TRYTON_ICON
+from tryton.exceptions import TrytonServerError
import tryton.common as common
_ = gettext.gettext
@@ -15,13 +16,13 @@ _ = gettext.gettext
class Preference(object):
"Preference window"
- def __init__(self, user, parent):
- self.win = gtk.Dialog(_('Preferences'), parent,
+ def __init__(self, user):
+ self.parent = common.get_toplevel_window()
+ self.win = gtk.Dialog(_('Preferences'), self.parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
self.win.set_has_separator(False)
self.win.set_icon(TRYTON_ICON)
- self.parent = parent
self.accel_group = gtk.AccelGroup()
self.win.add_accel_group(self.accel_group)
@@ -38,8 +39,8 @@ class Preference(object):
rpc.CONTEXT)
try:
view = rpc.execute(*args)
- except Exception, exception:
- view = common.process_exception(exception, parent, *args)
+ except TrytonServerError, exception:
+ view = common.process_exception(exception, *args)
if not view:
self.win.destroy()
self.win = None
@@ -48,15 +49,15 @@ class Preference(object):
title = gtk.Label(_('Edit User Preferences'))
title.show()
self.win.vbox.pack_start(title, expand=False, fill=True)
- self.screen = Screen('res.user', self.win, mode=[])
+ self.screen = Screen('res.user', mode=[])
self.screen.new(default=False)
self.screen.add_view(view)
args = ('model', 'res.user', 'get_preferences', False, rpc.CONTEXT)
try:
preferences = rpc.execute(*args)
- except Exception, exception:
- preferences = common.process_exception(exception, parent, *args)
+ except TrytonServerError, exception:
+ preferences = common.process_exception(exception, *args)
if not preferences:
self.win.destroy()
raise
@@ -65,13 +66,13 @@ class Preference(object):
self.screen.screen_container.set(self.screen.current_view.widget)
self.screen.display(set_cursor=True)
- width, height = self.screen.screen_container.size_get()
- parent_width, parent_height = parent.get_size()
- self.screen.widget.set_size_request(min(parent_width - 20, width + 20),
- min(parent_height - 60, height + 25))
self.screen.widget.show()
self.win.vbox.pack_start(self.screen.widget)
self.win.set_title(_('Preference'))
+
+ width, height = self.parent.get_size()
+ self.win.set_default_size(int(width * 0.9), int(height * 0.9))
+
self.win.show()
def run(self):
@@ -85,7 +86,7 @@ class Preference(object):
vals = copy.copy(self.screen.get(get_modifiedonly=True))
if 'password' in vals:
password = common.ask(_('Current Password:'),
- self.win, visibility=False)
+ visibility=False)
if not password:
break
else:
@@ -94,7 +95,7 @@ class Preference(object):
password, rpc.CONTEXT)
try:
rpc.execute(*args)
- except Exception, exception:
+ except TrytonServerError, exception:
if not common.process_exception(exception, self.win,
*args):
continue
diff --git a/tryton/gui/window/shortcuts.py b/tryton/gui/window/shortcuts.py
index bdbb00f..2d6bc3d 100644
--- a/tryton/gui/window/shortcuts.py
+++ b/tryton/gui/window/shortcuts.py
@@ -4,6 +4,7 @@
import gtk
import gettext
from tryton.config import TRYTON_ICON
+from tryton.common import get_toplevel_window
_ = gettext.gettext
@@ -11,12 +12,12 @@ _ = gettext.gettext
class Shortcuts(object):
'Shortcuts window'
- def __init__(self, parent):
- self.dialog = gtk.Dialog(_('Keyboard Shortcuts'), parent, gtk.DIALOG_MODAL
- | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
- | gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
- (gtk.STOCK_OK, gtk.RESPONSE_OK))
- self.parent = parent
+ def __init__(self):
+ self.parent = get_toplevel_window()
+ self.dialog = gtk.Dialog(_('Keyboard Shortcuts'), self.parent,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
+ | gtk.WIN_POS_CENTER_ON_PARENT | gtk.gdk.WINDOW_TYPE_HINT_DIALOG,
+ (gtk.STOCK_OK, gtk.RESPONSE_OK))
self.dialog.set_icon(TRYTON_ICON)
self.dialog.set_has_separator(True)
self.dialog.set_default_response(gtk.RESPONSE_OK)
diff --git a/tryton/gui/window/tabcontent.py b/tryton/gui/window/tabcontent.py
new file mode 100644
index 0000000..dd287c5
--- /dev/null
+++ b/tryton/gui/window/tabcontent.py
@@ -0,0 +1,166 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+import gettext
+import gtk
+import pango
+
+import tryton.common as common
+from tryton.config import CONFIG
+from tryton.gui import Main
+
+_ = gettext.gettext
+
+
+class TabContent(object):
+
+ def create_tabcontent(self):
+ self.buttons = {}
+ self.tooltips = common.Tooltips()
+ self.accel_group = Main.get_main().accel_group
+
+ self.widget = gtk.VBox(spacing=3)
+ self.widget.show()
+
+ title_box = self.make_title_bar()
+ self.widget.pack_start(title_box, expand=False, fill=True, padding=3)
+
+ self.toolbar = self.create_toolbar(self.get_toolbars())
+ self.toolbar.show_all()
+ self.widget.pack_start(self.toolbar, False, True)
+
+ viewport = gtk.Viewport()
+ viewport.set_shadow_type(gtk.SHADOW_NONE)
+ viewport.add(self.widget_get())
+ viewport.show()
+ self.scrolledwindow = gtk.ScrolledWindow()
+ self.scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
+ self.scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
+ gtk.POLICY_AUTOMATIC)
+ self.scrolledwindow.add(viewport)
+ self.scrolledwindow.show()
+
+ self.widget.pack_start(self.scrolledwindow)
+
+ def make_title_bar(self):
+ title = gtk.Label()
+ title.set_use_markup(True)
+ title.modify_font(pango.FontDescription("14"))
+ title.set_label('<b>' + self.name + '</b>')
+ title.set_padding(10, 4)
+ title.set_alignment(0.0, 0.5)
+ title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
+ title.show()
+
+ title_menu = gtk.MenuBar()
+ title_item = gtk.MenuItem('')
+ title_item.remove(title_item.get_children()[0])
+ menu_image = gtk.Image()
+ menu_image.set_from_stock('tryton-preferences-system',
+ gtk.ICON_SIZE_BUTTON)
+ title_item.add(menu_image)
+ title_item.set_submenu(self.set_menu_form())
+ title_menu.append(title_item)
+ title_menu.show_all()
+
+ self.info_label = gtk.Label()
+ self.info_label.set_padding(3, 3)
+ self.info_label.set_alignment(1.0, 0.5)
+
+ self.eb_info = gtk.EventBox()
+ self.eb_info.add(self.info_label)
+ self.eb_info.connect('button-release-event',
+ lambda *a: self.message_info(''))
+
+ vbox = gtk.VBox()
+ vbox.pack_start(self.eb_info, expand=True, fill=True, padding=5)
+ vbox.show()
+
+ self.status_label = gtk.Label()
+ self.status_label.set_padding(5, 4)
+ self.status_label.set_alignment(0.0, 0.5)
+ self.status_label.show()
+
+ hbox = gtk.HBox()
+ hbox.pack_start(title, expand=True, fill=True)
+ hbox.pack_start(vbox, expand=False, fill=True, padding=20)
+ hbox.pack_start(self.status_label, expand=False, fill=True)
+ hbox.show()
+
+ frame = gtk.Frame()
+ frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+ frame.add(hbox)
+ frame.show()
+
+ eb = gtk.EventBox()
+ eb.add(frame)
+ eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffffff"))
+ eb.show()
+
+ frame_menu = gtk.Frame()
+ frame_menu.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+ frame_menu.add(title_menu)
+ frame_menu.show()
+
+ title_box = gtk.HBox()
+ title_box.pack_start(frame_menu, expand=False, fill=True)
+ title_box.pack_start(eb, expand=True, fill=True)
+ title_box.show()
+
+ return title_box
+
+ def create_base_toolbar(self, toolbar):
+
+ for button_id, stock_id, label, tooltip, callback in self.toolbar_def:
+ if button_id:
+ toolitem = gtk.ToolButton(stock_id)
+ toolitem.set_label(label)
+ toolitem.set_use_underline(True)
+ if callback:
+ toolitem.connect('clicked', getattr(self, callback))
+ else:
+ toolitem.props.sensitive = False
+ self.tooltips.set_tip(toolitem, tooltip)
+ self.buttons[button_id] = toolitem
+ else:
+ toolitem = gtk.SeparatorToolItem()
+ toolbar.insert(toolitem, -1)
+
+ def set_menu_form(self):
+ menu_form = gtk.Menu()
+ menu_form.set_accel_group(self.accel_group)
+ menu_form.set_accel_path('<tryton>/Form')
+
+ for label, stock_id, callback, accel_path in self.menu_def:
+ if label:
+ menuitem = gtk.ImageMenuItem(label, self.accel_group)
+ if callback:
+ menuitem.connect('activate', getattr(self, callback))
+ else:
+ menuitem.props.sensitive = False
+ if stock_id:
+ image = gtk.Image()
+ image.set_from_stock(stock_id, gtk.ICON_SIZE_MENU)
+ menuitem.set_image(image)
+ if accel_path:
+ menuitem.set_accel_path(accel_path)
+ else:
+ menuitem = gtk.SeparatorMenuItem()
+ menu_form.add(menuitem)
+
+ menu_form.show_all()
+ return menu_form
+
+ def create_toolbar(self, toolbars):
+ gtktoolbar = gtk.Toolbar()
+ option = CONFIG['client.toolbar']
+ if option == 'default':
+ gtktoolbar.set_style(False)
+ elif option == 'both':
+ gtktoolbar.set_style(gtk.TOOLBAR_BOTH)
+ elif option == 'text':
+ gtktoolbar.set_style(gtk.TOOLBAR_TEXT)
+ elif option == 'icons':
+ gtktoolbar.set_style(gtk.TOOLBAR_ICONS)
+ self.create_base_toolbar(gtktoolbar)
+ return gtktoolbar
diff --git a/tryton/gui/window/tips.py b/tryton/gui/window/tips.py
index 0f2fd5d..a5348ab 100644
--- a/tryton/gui/window/tips.py
+++ b/tryton/gui/window/tips.py
@@ -5,13 +5,14 @@ import gtk
import gettext
import os
from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR
+from tryton.common import get_toplevel_window
_ = gettext.gettext
class Tips(object):
- def __init__(self, parent):
+ def __init__(self):
self.tips = [
_('''<b>Welcome to Tryton</b>
@@ -41,6 +42,7 @@ You can save any graphs in PNG file with right-click on it.
]
+ parent = get_toplevel_window()
self.win = gtk.Dialog(_('Tips'), parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
@@ -92,7 +94,7 @@ You can save any graphs in PNG file with right-click on it.
try:
self.number = int(CONFIG['tip.position'])
- except Exception:
+ except ValueError:
self.number = 0
self.tip_set()
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index 9e105d8..d95de15 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -13,26 +13,26 @@ from tryton.pyson import PYSONDecoder
import gettext
from tryton.config import CONFIG
from tryton.signal_event import SignalEvent
+from tryton.exceptions import TrytonServerError
_ = gettext.gettext
class Action(SignalEvent):
- def __init__(self, window, attrs=None):
+ def __init__(self, attrs=None, context=None):
super(Action, self).__init__()
self.act_id = int(attrs['name'])
- self._window = window
self.screen = None
- self.tree = None
+ self.context = context or {}
try:
self.action = rpc.execute('model', 'ir.action.act_window', 'read',
self.act_id, False, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self._window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
raise
- view_ids = False
+ view_ids = None
self.action['view_mode'] = None
if self.action.get('views', []):
view_ids = [x[0] for x in self.action['views']]
@@ -44,8 +44,8 @@ class Action(SignalEvent):
self.action['view_mode'] = attrs['view_mode']
self.action.setdefault('pyson_domain', '[]')
- self.context = {}
self.context.update(rpc.CONTEXT)
+ self.context['_user'] = rpc._USER
self.context.update(PYSONDecoder(self.context).decode(
self.action.get('pyson_context', '{}')))
@@ -146,7 +146,7 @@ class Action(SignalEvent):
if self.action['res_model']:
self.screen = Screen(self.action['res_model'],
- self._window, mode=self.action['view_mode'],
+ mode=self.action['view_mode'],
context=self.context, view_ids=view_ids,
domain=self.domain, readonly=True, alternate_view=True)
alignment.add(self.screen.screen_container.alternate_viewport)
@@ -173,21 +173,21 @@ class Action(SignalEvent):
ctx = {}
ctx.update(rpc.CONTEXT)
ctx.update(self.context)
- win = WinSearch(self.action['res_model'], domain=self.domain,
- context=ctx, parent=self._window)
- res = win.run()
- if res:
- self.screen.clear()
- self.screen.load(res)
+ def callback(result):
+ if result:
+ self.screen.clear()
+ self.screen.load(res)
+ WinSearch(self.action['res_model'], callback, domain=self.domain,
+ context=ctx)
def _sig_open(self, widget):
try:
action_id = rpc.execute('model', 'ir.action',
'get_action_id', self.act_id, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self._window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
if action_id:
- Action2.execute(action_id, {}, self._window)
+ Action2.execute(action_id, {})
def _sig_previous(self, widget):
self.screen.display_prev()
@@ -197,7 +197,7 @@ class Action(SignalEvent):
def _sig_label(self, screen, signal_data):
name = '_'
- if signal_data[0] >= 0:
+ if signal_data[0]:
name = str(signal_data[0])
line = '(%s/%s)' % (name, signal_data[1])
self.label.set_text(line)
@@ -211,43 +211,27 @@ class Action(SignalEvent):
res_ids = rpc.execute('model', self.action['res_model'], 'search',
self.domain, 0, self.action['limit'] or
CONFIG['client.limit'], None, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self._window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
if self.screen:
self.screen.clear()
self.screen.load(res_ids)
- elif self.tree:
- self.tree.ids = res_ids
- self.tree.reload()
return True
- def sig_key_press(self, widget, event):
- if event.keyval == gtk.keysyms.Left:
- model, paths = self.tree.view.get_selection()\
- .get_selected_rows()
- for path in paths:
- self.tree.view.collapse_row(path)
- elif event.keyval == gtk.keysyms.Right:
- model, paths = self.tree.view.get_selection()\
- .get_selected_rows()
- for path in paths:
- self.tree.view.expand_row(path, False)
-
def _active_changed(self, *args):
self.signal('active-changed')
def _get_active(self):
if self.screen and self.screen.current_record:
return common.EvalEnvironment(self.screen.current_record, False)
- elif self.tree:
- return {'id': self.tree.sel_id_get()}
active = property(_get_active)
def update_domain(self, actions):
domain_ctx = self.context.copy()
domain_ctx['context'] = domain_ctx
+ domain_ctx['_user'] = rpc._USER
for action in actions:
if action.active:
domain_ctx['_active_%s' % action.act_id] = action.active
diff --git a/tryton/gui/window/view_board/parser.py b/tryton/gui/window/view_board/parser.py
index 4057c26..7aa0abe 100644
--- a/tryton/gui/window/view_board/parser.py
+++ b/tryton/gui/window/view_board/parser.py
@@ -10,9 +10,9 @@ from tryton.config import CONFIG, TRYTON_ICON
class ParserBoard(object):
- def __init__(self, window):
- self.window = window
+ def __init__(self, context=None):
self.title = None
+ self.context = context
def parse(self, root_node, notebook=None, paned=None, tooltips=None):
widgets = []
@@ -31,14 +31,20 @@ class ParserBoard(object):
if not node.nodeType == node.ELEMENT_NODE:
continue
attrs = common.node_attributes(node)
+ yexpand = int(attrs.get('yexpand', 0))
+ yfill = int(attrs.get('yfill', 0))
+ xexpand = int(attrs.get('xexpand', 1))
+ xfill = int(attrs.get('xfill', 1))
+ colspan = int(attrs.get('colspan', 1))
if node.localName == 'image':
common.ICONFACTORY.register_icon(attrs['name'])
icon = gtk.Image()
icon.set_from_stock(attrs['name'], gtk.ICON_SIZE_DIALOG)
- container.wid_add(icon, colspan=int(attrs.get('colspan', 1)),
- expand=int(attrs.get('expand',0)), ypadding=10,
- help_tip=attrs.get('help', False),
- fill=int(attrs.get('fill', 0)))
+ container.wid_add(icon,
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill, ypadding=10,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'separator':
text = attrs.get('string', '')
if 'string' in attrs or 'name' in attrs:
@@ -55,10 +61,11 @@ class ParserBoard(object):
label.set_alignment(float(attrs.get('align', 0.0)), 0.5)
vbox.pack_start(label)
vbox.pack_start(gtk.HSeparator())
- container.wid_add(vbox, colspan=int(attrs.get('colspan', 1)),
- expand=int(attrs.get('expand', 0)),
- ypadding=10, help_tip=attrs.get('help', False),
- fill=int(attrs.get('fill', 0)))
+ container.wid_add(vbox,
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill, ypadding=10,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'label':
text = attrs.get('string', '')
if not text:
@@ -82,48 +89,32 @@ class ParserBoard(object):
continue
label = gtk.Label(text)
label.set_use_markup(True)
- if 'align' in attrs:
- label.set_alignment(float(attrs['align'] or 0.0), 0.5)
+ label.set_alignment(float(attrs.get('xalign', 1.0)),
+ float(attrs.get('yalign', 0.0)))
label.set_angle(int(attrs.get('angle', 0)))
- expand = False
- if 'expand' in attrs:
- expand = bool(common.safe_eval(attrs['expand']))
- fill = False
- if 'fill' in attrs:
- fill = bool(common.safe_eval(attrs['fill']))
- xexpand = False
- if 'xexpand' in attrs:
- xexpand = bool(common.safe_eval(attrs['xexpand']))
- xfill = True
- if 'xfill' in attrs:
- xfill = bool(common.safe_eval(attrs['xfill']))
+ xexpand = bool(attrs.get('xexpand', 0))
container.wid_add(label,
- colspan=int(attrs.get('colspan', 1)),
- expand=expand, help_tip=attrs.get('help', False),
- fill=fill, xexpand=xexpand, xfill=xfill)
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'newline':
container.newline()
elif node.localName == 'notebook':
notebook = gtk.Notebook()
- if attrs and 'tabpos' in attrs:
- pos = {'up':gtk.POS_TOP,
- 'down':gtk.POS_BOTTOM,
- 'left':gtk.POS_LEFT,
- 'right':gtk.POS_RIGHT
- }[attrs['tabpos']]
- else:
- if CONFIG['client.form_tab'] == 'top':
- pos = gtk.POS_TOP
- elif CONFIG['client.form_tab'] == 'left':
- pos = gtk.POS_LEFT
- elif CONFIG['client.form_tab'] == 'right':
- pos = gtk.POS_RIGHT
- elif CONFIG['client.form_tab'] == 'bottom':
- pos = gtk.POS_BOTTOM
+ if CONFIG['client.form_tab'] == 'top':
+ pos = gtk.POS_TOP
+ elif CONFIG['client.form_tab'] == 'left':
+ pos = gtk.POS_LEFT
+ elif CONFIG['client.form_tab'] == 'right':
+ pos = gtk.POS_RIGHT
+ elif CONFIG['client.form_tab'] == 'bottom':
+ pos = gtk.POS_BOTTOM
notebook.set_tab_pos(pos)
notebook.set_border_width(3)
- container.wid_add(notebook, colspan=attrs.get('colspan', 3),
- expand=True, fill=True)
+ container.wid_add(notebook,
+ colspan=int(attrs.get('colspan', 4)),
+ yexpand=True, yfill=True)
widget, new_widgets = self.parse(node, notebook, tooltips=tooltips)
widgets += new_widgets
elif node.localName == 'page':
@@ -146,14 +137,14 @@ class ParserBoard(object):
frame.add(widget)
else:
frame = widget
- container.wid_add(frame, colspan=int(attrs.get('colspan', 1)),
- expand=int(attrs.get('expand', 0)),
- rowspan=int(attrs.get('rowspan', 1)), ypadding=0,
- fill=int(attrs.get('fill', 1)))
+ container.wid_add(frame,
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill, ypadding=0,
+ xexpand=xexpand, xfill=xfill, xpadding=0)
elif node.localName == 'hpaned':
hpaned = gtk.HPaned()
container.wid_add(hpaned, colspan=int(attrs.get('colspan', 4)),
- expand=True, fill=True)
+ yexpand=True, yfill=True)
widget, new_widgets = self.parse(node, paned=hpaned, tooltips=tooltips)
widgets += new_widgets
if 'position' in attrs:
@@ -161,7 +152,7 @@ class ParserBoard(object):
elif node.localName == 'vpaned':
vpaned = gtk.VPaned()
container.wid_add(vpaned, colspan=int(attrs.get('colspan', 4)),
- expand=True, fill=True)
+ yexpand=True, yfill=True)
widget, new_widgets = self.parse(node, paned=vpaned, tooltips=tooltips)
widgets += new_widgets
if 'position' in attrs:
@@ -175,9 +166,12 @@ class ParserBoard(object):
paned.pack2(widget, resize=True, shrink=True)
elif node.localName == 'action':
name = str(attrs['name'])
- widget_act = Action(self.window, attrs)
+ widget_act = Action(attrs, self.context)
widgets.append(widget_act)
+ yexpand = bool(attrs.get('yexpand', 1))
+ yfill = bool(attrs.get('yfill', 1))
container.wid_add(widget_act.widget,
- colspan=int(attrs.get('colspan', 1)),
- expand=True, fill=True)
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill,
+ xexpand=xexpand, xfill=xfill)
return container.pop(), widgets
diff --git a/tryton/gui/window/view_board/view_board.py b/tryton/gui/window/view_board/view_board.py
index 5774b37..fde66ae 100644
--- a/tryton/gui/window/view_board/view_board.py
+++ b/tryton/gui/window/view_board/view_board.py
@@ -9,11 +9,11 @@ from tryton.gui.window.view_board.action import Action
class ViewBoard(object):
'View board'
- def __init__(self, arch, window, context=None):
- self.window = window
+ def __init__(self, arch, context=None):
+ self.context = context
xml_dom = xml.dom.minidom.parseString(arch)
- parser = ParserBoard(window)
+ parser = ParserBoard(context)
for node in xml_dom.childNodes:
if not node.nodeType == node.ELEMENT_NODE:
continue
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 9652e70..f5f9c1e 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -1,15 +1,17 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import os
+import tempfile
import tryton.rpc as rpc
from tryton.common import DT_FORMAT, DHM_FORMAT, HM_FORMAT, datetime_strftime, \
domain_inversion, eval_domain, localize_domain, unlocalize_domain, \
- merge, inverse_leaf, EvalEnvironment
+ merge, inverse_leaf, EvalEnvironment, RPCProgress
import tryton.common as common
-from tryton.pyson import PYSONDecoder
import time
import datetime
from decimal import Decimal
import logging
+from tryton.exceptions import TrytonServerError
class Field(object):
@@ -138,12 +140,7 @@ class CharField(object):
if (internal or False) != (record.value.get(self.name, False) or False):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- record.modified_fields = prev_modified_fields
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
@@ -241,12 +238,7 @@ class FloatField(CharField):
if not self.get_state_attrs(record).get('readonly', False):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- record.modified_fields = prev_modified_fields
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
@@ -265,12 +257,7 @@ class NumericField(CharField):
if not self.get_state_attrs(record).get('readonly', False):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- record.prev_modified_fields = prev_modified_fields
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
@@ -293,12 +280,7 @@ class BooleanField(CharField):
if internal != bool(record.value.get(self.name, False)):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- record.modified_fields = prev_modified_fields
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
@@ -352,14 +334,13 @@ class M2OField(CharField):
value = record.parent.id
else:
value = False
- if value and isinstance(value, (int, long)) and value > 0:
+ if value and isinstance(value, (int, long)) and value >= 0:
args = ('model', self.attrs['relation'], 'read', value,
['rec_name'], rpc.CONTEXT)
try:
result = rpc.execute(*args)
- except Exception, exception:
- result = common.process_exception(exception, record.window,
- *args)
+ except TrytonServerError, exception:
+ result = common.process_exception(exception, *args)
if not result:
return
value = value, result['rec_name']
@@ -391,20 +372,11 @@ class M2OField(CharField):
if (internal[0] or False) != (record.value[self.name][0] or False):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- record.modified_fields = prev_modified_fields
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
elif force_change:
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
@@ -472,7 +444,7 @@ class O2MField(CharField):
return
from group import Group
parent_name = self.attrs.get('relation_field', '')
- group = Group(self.attrs['relation'], {}, record.window,
+ group = Group(self.attrs['relation'], {},
parent=record,
parent_name=parent_name,
child_name=self.name,
@@ -495,18 +467,22 @@ class O2MField(CharField):
record_removed = record.value[self.name].record_removed
record_deleted = record.value[self.name].record_deleted
result = [('add', [])]
+ parent_name = self.attrs.get('relation_field', '')
for record2 in record.value[self.name]:
if record2 in record_removed or record2 in record_deleted:
continue
- if record2.id > 0:
+ if record2.id >= 0:
values = record2.get(check_load=check_load,
get_readonly=readonly, get_modifiedonly=modified)
+ values.pop(parent_name, None)
if record2.modified and values:
result.append(('write', record2.id, values))
result[0][1].append(record2.id)
else:
- result.append(('create',
- record2.get(check_load=check_load, get_readonly=readonly)))
+ values = record2.get(check_load=check_load,
+ get_readonly=readonly)
+ values.pop(parent_name, None)
+ result.append(('create', values))
if record_removed:
result.append(('unlink', [x.id for x in record_removed]))
if record_deleted:
@@ -545,7 +521,7 @@ class O2MField(CharField):
elif record.model_name == self.attrs['relation']:
fields = record.group.fields
parent_name = self.attrs.get('relation_field', '')
- group = Group(self.attrs['relation'], {}, record.window,
+ group = Group(self.attrs['relation'], {},
parent=record, parent_name=parent_name,
child_name=self.name,
context=self.context,
@@ -597,21 +573,20 @@ class O2MField(CharField):
field_names, context)
try:
fields_dict = rpc.execute(*args)
- except Exception, exception:
- fields_dict = common.process_exception(exception,
- record.window, *args)
+ except TrytonServerError, exception:
+ fields_dict = common.process_exception(exception, *args)
if not fields_dict:
return False
parent_name = self.attrs.get('relation_field', '')
- group = Group(self.attrs['relation'], fields, record.window,
+ group = Group(self.attrs['relation'], fields_dict,
parent=record, parent_name=parent_name, child_name=self.name,
context=self.context,
parent_datetime_field=self.attrs.get('datetime_field'))
group.load_fields(fields_dict)
if record.value.get(self.name):
group.record_deleted.extend(x for x in record.value[self.name]
- if x.id > 0)
+ if x.id >= 0)
group.record_deleted.extend(record.value[self.name].record_deleted)
group.record_removed.extend(record.value[self.name].record_removed)
record.value[self.name] = group
@@ -640,9 +615,8 @@ class O2MField(CharField):
field_names, context)
try:
fields = rpc.execute(*args)
- except Exception, exception:
- fields = common.process_exception(exception, record.window,
- *args)
+ except TrytonServerError, exception:
+ fields = common.process_exception(exception, *args)
if not fields:
return False
@@ -719,7 +693,7 @@ class O2MField(CharField):
class M2MField(O2MField):
def get_default(self, record):
- return [x.id for x in record.value.get(self.name) or [] if x.id > 0]
+ return [x.id for x in record.value.get(self.name) or [] if x.id >= 0]
def get_eval(self, record, check_load=True):
return [x.id for x in record.value.get(self.name) or []]
@@ -734,7 +708,7 @@ class M2MField(O2MField):
elif record.model_name == self.attrs['relation']:
fields = record.group.fields
parent_name = self.attrs.get('relation_field', '')
- group = Group(self.attrs['relation'], {}, record.window,
+ group = Group(self.attrs['relation'], {},
parent=record, parent_name=parent_name,
child_name=self.name,
context=self.context,
@@ -779,12 +753,7 @@ class ReferenceField(CharField):
if (internal or False) != (record.value[self.name] or False):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
- try:
- self.sig_changed(record)
- except Exception:
- record.value[self.name] = internal
- record.modified_fields = prev_modified_fields
- return
+ self.sig_changed(record)
record.validate(softvalidation=True)
record.signal('record-changed')
@@ -798,16 +767,15 @@ class ReferenceField(CharField):
ref_model, (ref_id, ref_str) = value
if ref_model:
ref_id = int(ref_id)
- if not ref_id:
+ if ref_id < 0:
ref_str = ''
- if not ref_str and ref_id > 0:
+ if not ref_str and ref_id >= 0:
args = ('model', ref_model, 'read', ref_id,
['rec_name'], rpc.CONTEXT)
try:
result = rpc.execute(*args)
- except Exception, exception:
- result = common.process_exception(exception, record.window,
- *args)
+ except TrytonServerError, exception:
+ result = common.process_exception(exception, *args)
if not result:
return
result = result['rec_name']
@@ -815,7 +783,7 @@ class ReferenceField(CharField):
record.value[self.name] = ref_model, (ref_id, result)
record.value[self.name + '.rec_name'] = result
else:
- record.value[self.name] = ref_model, (0, '')
+ record.value[self.name] = ref_model, (-1, '')
record.value[self.name + '.rec_name'] = ''
else:
record.value[self.name] = ref_model, (ref_id, ref_str)
@@ -828,6 +796,59 @@ class ReferenceField(CharField):
record.modified_fields.setdefault(self.name)
record.signal('record-modified')
+class BinaryField(CharField):
+
+ def get(self, record, check_load=True, readonly=True, modified=False):
+ result = record.value.get(self.name, False) or False
+ if isinstance(result, basestring):
+ try:
+ with open(result, 'rb') as fp:
+ result = buffer(fp.read())
+ except IOError:
+ result = self.get_data(record)
+ return result
+
+ def get_client(self, record):
+ return self.get(record)
+
+ def set_client(self, record, value, force_change=False):
+ _, filename = tempfile.mkstemp(prefix='tryton_')
+ with open(filename, 'wb') as fp:
+ fp.write(value or '')
+ self.set(record, filename)
+ record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
+ self.sig_changed(record)
+ record.validate(softvalidation=True)
+ record.signal('record-changed')
+
+ def get_size(self, record):
+ result = record.value.get(self.name) or 0
+ if isinstance(result, basestring):
+ result = os.stat(result).st_size
+ elif isinstance(result, buffer):
+ result = len(result)
+ return result
+
+ def get_data(self, record):
+ if not isinstance(record.value.get(self.name), (basestring, buffer)):
+ if record.id < 0:
+ return ''
+ ctx = rpc.CONTEXT.copy()
+ ctx.update(record.context_get())
+ rpcprogress = RPCProgress('execute', ('model', record.model_name,
+ 'read', record.id, [self.name], ctx))
+ try:
+ values = rpcprogress.run()
+ except TrytonServerError, exception:
+ values = common.process_exception(exception)
+ return ''
+ _, filename = tempfile.mkstemp(prefix='tryton_')
+ with open(filename, 'wb') as fp:
+ fp.write(values[self.name] or '')
+ self.set(record, filename)
+ return self.get(record)
+
TYPES = {
'char': CharField,
'sha': CharField,
@@ -845,4 +866,5 @@ TYPES = {
'datetime': DateTimeField,
'date': DateField,
'one2one': O2OField,
+ 'binary': BinaryField,
}
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index 27ff8d4..338cf67 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -6,21 +6,21 @@ from record import Record
from field import Field, O2MField
from tryton.signal_event import SignalEvent
import tryton.common as common
+from tryton.exceptions import TrytonServerError
from tryton.common.domain_inversion import is_leaf
class Group(SignalEvent, list):
- def __init__(self, model_name, fields, window, ids=None, parent=None,
+ def __init__(self, model_name, fields, ids=None, parent=None,
parent_name='', child_name='', context=None, domain=None,
readonly=False, parent_datetime_field=None):
super(Group, self).__init__()
if domain is None:
domain = []
- self.domain = domain
+ self.__domain = domain
self.__domain4inversion = None
self.lock_signal = False
- self.__window = window
self.parent = parent
self.parent_name = parent_name or ''
self.child_name = child_name
@@ -40,15 +40,12 @@ class Group(SignalEvent, list):
self.__field_childs = None
self.exclude_field = None
- def __get_window(self):
- return self.__window
-
- def __set_window(self, window):
- for record in self:
- record.window = window
- self.__window = window
-
- window = property(__get_window, __set_window)
+ @property
+ def domain(self):
+ if self.parent and self.child_name:
+ field = self.parent.group.fields[self.child_name]
+ return [self.__domain, field.domain_get(self.parent)]
+ return self.__domain
def clean4inversion(self, domain):
"This method will replace non relevant fields for domain inversion"
@@ -155,6 +152,9 @@ class Group(SignalEvent, list):
saved.append(record.save(force_reload=False))
return saved
+ def delete(self, records, context=None):
+ return Record.delete(records, context=context)
+
@property
def root_group(self):
root = self
@@ -179,16 +179,16 @@ class Group(SignalEvent, list):
def on_write_ids(self, ids):
if not self.on_write:
- return False
+ return []
res = []
for fnct in self.on_write:
args = ('model', self.model_name, fnct, ids, self.context)
try:
res += rpc.execute(*args)
- except Exception, exception:
- res2 = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res2 = common.process_exception(exception, *args)
if not res2:
- return False
+ return []
res += res2
return list({}.fromkeys(res))
@@ -203,8 +203,7 @@ class Group(SignalEvent, list):
for id in ids:
if self.get(id):
continue
- new_record = Record(self.model_name, id, self.window,
- group=self)
+ new_record = Record(self.model_name, id, group=self)
self.append(new_record)
new_records.append(new_record)
new_record.signal_connect(self, 'record-changed',
@@ -247,7 +246,6 @@ class Group(SignalEvent, list):
if record.group is not self:
record.signal_unconnect(record.group)
record.group = self
- record.window = self.window
record.signal_connect(self, 'record-changed', self._record_changed)
record.signal_connect(self, 'record-modified', self._record_modified)
if position == -1:
@@ -279,7 +277,7 @@ class Group(SignalEvent, list):
def new(self, default=True, domain=None, context=None, signal=True,
obj_id=None):
- record = Record(self.model_name, obj_id, self.window, group=self)
+ record = Record(self.model_name, obj_id, group=self)
record.signal_connect(self, 'record-changed', self._record_changed)
record.signal_connect(self, 'record-modified', self._record_modified)
if default:
@@ -302,7 +300,7 @@ class Group(SignalEvent, list):
def remove(self, record, remove=False, modified=True, signal=True,
force_remove=False):
idx = self.index(record)
- if self[idx].id > 0:
+ if self[idx].id >= 0:
if remove:
if self[idx] in self.record_deleted:
self.record_deleted.remove(self[idx])
@@ -317,7 +315,7 @@ class Group(SignalEvent, list):
if modified:
record.modified_fields.setdefault('id')
record.signal('record-modified')
- if not record.parent or self[idx].id <= 0 or force_remove:
+ if not record.parent or self[idx].id < 0 or force_remove:
self._remove(self[idx])
if len(self):
@@ -369,7 +367,7 @@ class Group(SignalEvent, list):
new = []
for record in self:
- if record.id <= 0:
+ if record.id < 0:
new.append(record)
ctx = context.copy()
@@ -378,8 +376,8 @@ class Group(SignalEvent, list):
args = ('model', self.model_name, 'default_get', to_add.keys(), ctx)
try:
values = rpc.execute(*args)
- except Exception, exception:
- values = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ values = common.process_exception(exception, *args)
if not values:
return False
for name in to_add:
@@ -400,7 +398,6 @@ class Group(SignalEvent, list):
def destroy(self):
super(Group, self).destroy()
- self.__window = None
self.parent = None
self.fields = {}
self.record_deleted, self.record_removed = [], []
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index a712d85..128f3a4 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -8,17 +8,21 @@ import field
import datetime
import logging
import time
+from functools import reduce
+from tryton.exceptions import TrytonServerError
class Record(SignalEvent):
id = -1
- def __init__(self, model_name, obj_id, window, group=None):
+ def __init__(self, model_name, obj_id, group=None):
super(Record, self).__init__()
- self.__window = window
self.model_name = model_name
- self.id = obj_id or Record.id
+ if obj_id is None:
+ self.id = Record.id
+ else:
+ self.id = obj_id
if self.id < 0:
Record.id -= 1
self._loaded = set()
@@ -34,7 +38,7 @@ class Record(SignalEvent):
self.autocompletion = {}
def __getitem__(self, name, raise_exception=False):
- if name not in self._loaded and self.id > 0:
+ if name not in self._loaded and self.id >= 0:
ids = [self.id]
if name == '*':
loading = reduce(
@@ -52,11 +56,11 @@ class Record(SignalEvent):
idx + n < length) and n < 100:
if idx - n >= 0:
record = self.group[idx - n]
- if name not in record._loaded and record.id > 0:
+ if name not in record._loaded and record.id >= 0:
ids.append(record.id)
if idx + n < length:
record = self.group[idx + n]
- if name not in record._loaded and record.id > 0:
+ if name not in record._loaded and record.id >= 0:
ids.append(record.id)
n += 1
if loading == 'eager':
@@ -71,13 +75,16 @@ class Record(SignalEvent):
fields.append('_timestamp')
ctx = rpc.CONTEXT.copy()
ctx.update(self.context_get())
+ ctx.update(dict(('%s.%s' % (self.model_name, fname), 'size')
+ for fname, field in self.group.fields.iteritems()
+ if field.attrs['type'] == 'binary'))
args = ('model', self.model_name, 'read', ids, fields, ctx)
try:
values = rpc.execute(*args)
- except Exception, exception:
+ except TrytonServerError, exception:
if raise_exception:
raise
- values = common.process_exception(exception, self.window, *args)
+ values = common.process_exception(exception, *args)
if not values:
values = [{'id': x} for x in ids]
id2value = dict((value['id'], value) for value in values)
@@ -127,8 +134,6 @@ class Record(SignalEvent):
group.on_write = self.group.on_write
group.readonly = self.group.readonly
group._context.update(self.group._context)
- if group.window != self.window:
- group.window = self.window
return group
def get_path(self, group):
@@ -144,19 +149,6 @@ class Record(SignalEvent):
path.reverse()
return tuple(path)
- def _get_window(self):
- return self.__window
-
- def _set_window(self, window):
- self.__window = window
- for fieldname, value in self.value.iteritems():
- if fieldname not in self.group.fields:
- continue
- if isinstance(self.group.fields[fieldname], field.O2MField):
- value.window = window
-
- window = property(_get_window, _set_window)
-
def get_removed(self):
if self.group is not None:
return self in self.group.record_removed
@@ -245,9 +237,8 @@ class Record(SignalEvent):
self.context_get())
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window,
- *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return False
old_id = self.id
@@ -266,9 +257,8 @@ class Record(SignalEvent):
try:
if not rpc.execute(*args):
return False
- except Exception, exception:
- res = common.process_exception(exception, self.window,
- *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return False
self._loaded.clear()
@@ -282,14 +272,43 @@ class Record(SignalEvent):
self.parent.save(force_reload=force_reload)
return self.id
+ @staticmethod
+ def delete(records, context=None):
+ if not records:
+ return
+ record = records[0]
+ group = record.group
+ assert all(r.model_name == record.model_name for r in records)
+ assert all(r.group == group for r in records)
+ records = [r for r in records if r.id >= 0]
+ ctx = {}
+ ctx.update(rpc.CONTEXT)
+ ctx.update(context or {})
+ ctx['_timestamp'] = {}
+ for rec in records:
+ ctx['_timestamp'].update(rec.get_timestamp())
+ record_ids = set(r.id for r in records)
+ reload_ids = set(group.on_write_ids(list(record_ids)))
+ reload_ids -= record_ids
+ reload_ids = list(reload_ids)
+ args = ('model', record.model_name, 'delete', list(record_ids), ctx)
+ try:
+ rpc.execute(*args)
+ except TrytonServerError, exception:
+ if not common.process_exception(exception, *args):
+ return False
+ if reload_ids:
+ group.root_group.reload(reload_ids)
+ return True
+
def default_get(self, domain=None, context=None):
if len(self.group.fields):
args = ('model', self.model_name, 'default_get',
self.group.fields.keys(), context)
try:
vals = rpc.execute(*args)
- except Exception, exception:
- vals = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ vals = common.process_exception(exception, *args)
if not vals:
return
if (self.parent
@@ -309,8 +328,8 @@ class Record(SignalEvent):
args = ('model', self.model_name, 'read', self.id, ['rec_name'], ctx)
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return ''
return res['rec_name']
@@ -436,12 +455,7 @@ class Record(SignalEvent):
def _get_on_change_args(self, args):
res = {}
- values = {}
- for name, field in self.group.fields.iteritems():
- values[name] = field.get_on_change_value(self, check_load=False)
- if self.parent and self.parent_name:
- values['_parent_' + self.parent_name] = \
- common.EvalEnvironment(self.parent, False, 'on_change')
+ values = common.EvalEnvironment(self, True, 'on_change')
for arg in args:
scope = values
for i in arg.split('.'):
@@ -461,8 +475,8 @@ class Record(SignalEvent):
args = ('model', self.model_name, 'on_change_' + fieldname, args, ctx)
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return
later = {}
@@ -511,8 +525,8 @@ class Record(SignalEvent):
args, ctx)
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return
self.group.fields[fieldname].set_on_change(self, res)
@@ -534,8 +548,8 @@ class Record(SignalEvent):
ctx)
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
# ensure res is a list
res = []
@@ -548,8 +562,8 @@ class Record(SignalEvent):
field_name + '=' + str(value), ctx)
try:
res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
if not res:
return
self.set_default(res)
@@ -563,13 +577,12 @@ class Record(SignalEvent):
], rpc.CONTEXT)
try:
self.attachment_count = rpc.execute(*args)
- except Exception:
+ except TrytonServerError:
return 0
return self.attachment_count
def destroy(self):
super(Record, self).destroy()
- self.window = None
self.group = None
self.value = None
self.next = None
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index 5232b48..9062455 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -2,25 +2,33 @@
#this repository contains the full copyright notices and license terms.
"Screen"
import gobject
+try:
+ import simplejson as json
+except ImportError:
+ import json
import copy
+import collections
import xml.dom.minidom
import tryton.rpc as rpc
from tryton.gui.window.view_form.model.group import Group
+from tryton.gui.window.view_form.model.record import Record
from tryton.gui.window.view_form.view.screen_container import ScreenContainer
-from tryton.gui.window.view_form.widget_search import Form
from tryton.signal_event import SignalEvent
from tryton.common import node_attributes
from tryton.config import CONFIG
import tryton.common as common
+from tryton.exceptions import TrytonServerError, TrytonServerUnavailable
+from tryton.jsonrpc import JSONEncoder
+from tryton.common.tdp import DomainParser
class Screen(SignalEvent):
"Screen"
- def __init__(self, model_name, window, view_ids=None, mode=None,
- context=None, views_preload=None, domain=None, row_activate=None,
- limit=None, readonly=False, exclude_field=None, sort=None,
- search_value=None, alternate_view=False):
+ def __init__(self, model_name, view_ids=None, mode=None, context=None,
+ views_preload=None, domain=None, row_activate=None, limit=None,
+ readonly=False, exclude_field=None, sort=None, search_value=None,
+ alternate_view=False):
if view_ids is None:
view_ids = []
if mode is None:
@@ -32,6 +40,8 @@ class Screen(SignalEvent):
if domain is None:
domain = []
+ self.limit = limit or int(CONFIG['client.limit'])
+ self.offset = 0
super(Screen, self).__init__()
self.readonly = readonly
@@ -45,31 +55,32 @@ class Screen(SignalEvent):
self.model_name = model_name
self.context = context
self.views = []
- self.view_ids = view_ids
+ self.view_ids = view_ids[:]
self.parent = None
self.parent_name = None
self.exclude_field = exclude_field
- self.__window = window
+ self.filter_widget = None
self.__group = None
self.new_group()
self.__current_record = None
self.current_record = None
self.screen_container = ScreenContainer()
self.screen_container.alternate_view = alternate_view
- self.filter_widget = None
self.widget = self.screen_container.widget_get()
self.__current_view = 0
- self.limit = limit
self.search_value = search_value
self.fields_view_tree = None
self.sort = sort
self.view_to_load = []
+ self.expanded_nodes = collections.defaultdict(
+ lambda: collections.defaultdict(lambda: None))
+ self.domain_parser = None
if mode:
self.view_to_load = mode[1:]
view_id = False
- if view_ids:
- view_id = view_ids.pop(0)
+ if self.view_ids:
+ view_id = self.view_ids.pop(0)
view = self.add_view_id(view_id, mode[0])
self.screen_container.set(view.widget)
self.display()
@@ -79,83 +90,97 @@ class Screen(SignalEvent):
def search_active(self, active=True):
if active and not self.parent:
- if not self.filter_widget:
- if not self.fields_view_tree:
- ctx = {}
- ctx.update(rpc.CONTEXT)
- ctx.update(self.context)
- try:
- self.fields_view_tree = rpc.execute('model',
- self.model_name, 'fields_view_get', False,
- 'tree', ctx)
- except Exception:
- return
- self.filter_widget = Form(self.fields_view_tree,
- self.model_name, self.window, self.domain,
- (self, self.search_filter), self.context)
- self.screen_container.add_filter(self.filter_widget.widget,
- self.search_filter, self.search_clear,
- self.search_prev, self.search_next)
- self.filter_widget.set_limit(self.limit)
- self.filter_widget.value = self.search_value
+ if not self.fields_view_tree:
+ ctx = {}
+ ctx.update(rpc.CONTEXT)
+ ctx.update(self.context)
+ try:
+ self.fields_view_tree = rpc.execute('model',
+ self.model_name, 'fields_view_get', False,
+ 'tree', ctx)
+ except TrytonServerError:
+ return
+
+ fields = self.fields_view_tree['fields']
+ for name, props in fields.iteritems():
+ if props['type'] not in ('selection', 'reference'):
+ continue
+ if isinstance(props['selection'], (tuple, list)):
+ continue
+ props['selection'] = self.get_selection(props)
+
+ self.domain_parser = DomainParser(
+ self.fields_view_tree['fields'])
+
+ self.screen_container.set_screen(self)
self.screen_container.show_filter()
else:
self.screen_container.hide_filter()
- def search_prev(self, widget=None):
- self.filter_widget.prev()
- self.search_filter()
-
- def search_next(self, widget=None):
- self.filter_widget.next()
- self.search_filter()
+ def get_selection(self, props):
+ try:
+ selection = rpc.execute('model',
+ self.model_name, props['selection'], rpc.CONTEXT)
+ except TrytonServerError, exception:
+ common.process_exception(exception, None)
+ selection = []
+ selection.sort(lambda x, y: cmp(x[1], y[1]))
+ return selection
+
+ def search_prev(self, search_string):
+ self.offset -= self.limit
+ self.search_filter(search_string=search_string)
+
+ def search_next(self, search_string):
+ self.offset += self.limit
+ self.search_filter(search_string=search_string)
+
+ def search_complete(self, search_string):
+ parsed_tree = self.domain_parser.parse(search_string)
+ res = list(r for r in parsed_tree.complete() \
+ if r.strip() != search_string)
+ return res
- def search_clear(self, widget=None):
- self.filter_widget.clear()
- self.clear()
+ def search_filter(self, search_string=None, only_ids=False):
+ domain = []
- def search_filter(self, widget=None, only_ids=False):
- limit = None
- offset = 0
- values = []
- if self.filter_widget:
- limit = self.filter_widget.get_limit()
- offset = self.filter_widget.get_offset()
- values = self.filter_widget.value
+ if self.domain_parser and not self.parent:
+ if search_string is not None:
+ domain = self.domain_parser.parse(search_string or '').domain()
+ else:
+ domain = self.search_value
+ self.screen_container.set_text(self.domain_parser.string(domain))
else:
- values = [('id', 'in', [x.id for x in self.group])]
+ domain = [('id', 'in', [x.id for x in self.group])]
+
ctx = {}
ctx.update(rpc.CONTEXT)
ctx.update(self.context)
- if values:
+ if domain:
if self.domain:
- values = ['AND', values, self.domain]
+ domain = ['AND', domain, self.domain]
else:
- values = self.domain
+ domain = self.domain
+ rpc_args = ('model', self.model_name, 'search', domain, self.offset,
+ self.limit, self.sort, ctx)
try:
- try:
- ids = rpc.execute('model', self.model_name, 'search', values,
- offset, limit, self.sort, ctx)
- except Exception, exception:
- common.process_exception(exception, self.window)
- ids = rpc.execute('model', self.model_name, 'search', values,
- offset, limit, self.sort, ctx)
- if not only_ids:
- if len(ids) == limit:
- try:
- self.search_count = rpc.execute('model',
- self.model_name, 'search_count', values, ctx)
- except Exception, exception:
- common.process_exception(exception, self.window)
- self.search_count = rpc.execute('model',
- self.model_name, 'search_count', values, ctx)
- else:
- self.search_count = len(ids)
- except Exception:
- ids = []
- self.screen_container.but_prev.set_sensitive(bool(offset))
- if (len(ids) == limit
- and self.search_count > limit + offset):
+ ids = rpc.execute(*rpc_args)
+ except TrytonServerError, exception:
+ ids = (common.process_exception(exception, *rpc_args) or [])
+ if not only_ids:
+ if len(ids) == self.limit:
+ rpc_args = ('model', self.model_name, 'search_count', domain,
+ ctx)
+ try:
+ self.search_count = rpc.execute(*rpc_args)
+ except TrytonServerError, exception:
+ self.search_count = (common.process_exception(exception,
+ *rpc_args) or 0)
+ else:
+ self.search_count = len(ids)
+ self.screen_container.but_prev.set_sensitive(bool(self.offset))
+ if (len(ids) == self.limit
+ and self.search_count > self.limit + self.offset):
self.screen_container.but_next.set_sensitive(True)
else:
self.screen_container.but_next.set_sensitive(False)
@@ -195,7 +220,7 @@ class Screen(SignalEvent):
group = property(__get_group, __set_group)
def new_group(self):
- self.group = Group(self.model_name, {}, self.window, domain=self.domain,
+ self.group = Group(self.model_name, {}, domain=self.domain,
context=self.context, readonly=self.readonly)
def _group_cleared(self, group, signal):
@@ -220,11 +245,7 @@ class Screen(SignalEvent):
def __set_current_record(self, record):
self.__current_record = record
try:
- offset = int(self.filter_widget.get_offset())
- except Exception:
- offset = 0
- try:
- pos = self.group.index(record) + offset + 1
+ pos = self.group.index(record) + self.offset + 1
except ValueError:
pos = []
i = record
@@ -233,7 +254,7 @@ class Screen(SignalEvent):
i = i.parent
pos.reverse()
pos = tuple(pos)
- self.signal('record-message', (pos or 0, len(self.group) + offset,
+ self.signal('record-message', (pos or 0, len(self.group) + self.offset,
self.search_count, record and record.id))
attachment_count = 0
if record and record.attachment_count > 0:
@@ -245,15 +266,6 @@ class Screen(SignalEvent):
current_record = property(__get_current_record, __set_current_record)
- def __get_window(self):
- return self.__window
-
- def __set_window(self, window):
- self.group.window = window
- self.__window = window
-
- window = property(__get_window, __set_window)
-
def update_attachment(self, record):
if record != self.current_record:
return False
@@ -263,12 +275,12 @@ class Screen(SignalEvent):
return False
def destroy(self):
+ self.save_tree_state()
for view in self.views:
view.destroy()
self.group.signal_unconnect(self)
self.group.destroy()
self.parent = None
- self.__window = None
self.__group = None
self.__current_record = None
self.screen_container = None
@@ -276,9 +288,16 @@ class Screen(SignalEvent):
def default_row_activate(self):
from tryton.action import Action
+ from tryton.gui.main import Main
+ main = Main.get_main()
+ current_form = main.get_page()
+ if current_form:
+ for dialog in current_form.dialogs:
+ dialog.hide()
+
if (self.current_view.view_type == 'tree' and
self.current_view.widget_tree.keyword_open):
- return Action.exec_keyword('tree_open', self.window, {
+ return Action.exec_keyword('tree_open', {
'model': self.model_name,
'id': self.id_get(),
'ids': [self.id_get()],
@@ -300,17 +319,18 @@ class Screen(SignalEvent):
self.current_view.set_cursor()
self.current_view.display()
return
- for i in xrange(len(self.views) + len(self.view_to_load)):
- if len(self.view_to_load):
- self.load_view_to_load()
- self.__current_view = len(self.views) - 1
- else:
- self.__current_view = ((self.__current_view + 1)
- % len(self.views))
- if not view_type:
- break
- elif self.current_view.view_type == view_type:
- break
+ if not view_type or self.current_view.view_type != view_type:
+ for i in xrange(len(self.views) + len(self.view_to_load)):
+ if len(self.view_to_load):
+ self.load_view_to_load()
+ self.__current_view = len(self.views) - 1
+ else:
+ self.__current_view = ((self.__current_view + 1)
+ % len(self.views))
+ if not view_type:
+ break
+ elif self.current_view.view_type == view_type:
+ break
self.screen_container.set(self.current_view.widget)
if not self.current_record and self.current_view.view_type == 'form':
self.new(default=default, context=context)
@@ -335,21 +355,16 @@ class Screen(SignalEvent):
ctx.update(rpc.CONTEXT)
ctx.update(self.context)
args = ('model', self.model_name, 'fields_view_get',
- view_id, view_type,
- self.parent and False or CONFIG['form.toolbar'],
- ctx)
+ view_id, view_type, ctx)
try:
view = rpc.execute(*args)
- except Exception, exception:
- view = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ view = common.process_exception(exception, *args)
if not view:
return
- return self.add_view(view, display, toolbar=view.get('toolbar', False),
- context=context)
+ return self.add_view(view, display, context=context)
- def add_view(self, view, display=False, toolbar=None, context=None):
- if toolbar is None:
- toolbar = {}
+ def add_view(self, view, display=False, context=None):
arch = view['arch']
fields = view['fields']
@@ -372,8 +387,8 @@ class Screen(SignalEvent):
from tryton.gui.window.view_form.view.widget_parse import WidgetParse
self.group.add_fields(fields, context=context)
- parser = WidgetParse(parent=self.parent, window=self.window)
- view = parser.parse(self, xml_dom, self.group.fields, toolbar=toolbar,
+ parser = WidgetParse(parent=self.parent)
+ view = parser.parse(self, xml_dom, self.group.fields,
children_field=children_field)
self.views.append(view)
@@ -475,6 +490,7 @@ class Screen(SignalEvent):
self.current_view.set_cursor()
self.current_view.display()
return False
+ self.signal('record-saved')
if path and obj_id:
path = path[:-1] + ((path[-1][0], obj_id),)
self.current_record = self.group.get_by_path(path)
@@ -499,13 +515,13 @@ class Screen(SignalEvent):
get_modifiedonly=get_modifiedonly)
def modified(self):
- self.current_view.set_value()
res = False
if self.current_view.view_type != 'tree':
- res = self.current_record and self.current_record.modified
+ if self.current_record:
+ res = self.current_record.modified or self.current_record.id < 0
else:
for record in self.group:
- if record.modified:
+ if record.modified or record.id < 0:
res = True
return res
@@ -525,110 +541,101 @@ class Screen(SignalEvent):
self.group.unremove(record)
def remove(self, delete=False, remove=False, force_remove=False):
- res = False
- reload_ids = []
+ records = None
if self.current_view.view_type == 'form' and self.current_record:
- record_id = self.current_record.id
- if delete and record_id > 0:
- context = {}
- context.update(rpc.CONTEXT)
- context.update(self.context)
- context['_timestamp'] = self.current_record.get_timestamp()
- reload_ids = self.group.on_write_ids([record_id])
- if reload_ids and record_id in reload_ids:
- reload_ids.remove(record_id)
- args = ('model', self.model_name, 'delete', [record_id],
- context)
- try:
- res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window,
- *args)
- if not res:
- return False
- self.current_view.set_cursor()
- record = self.current_record
- idx = record.group.index(record)
- record.group.remove(record, remove=remove,
+ records = [self.current_record]
+ elif self.current_view.view_type == 'tree':
+ records = self.current_view.selected_records()
+ if delete:
+ if not self.group.delete(records):
+ return False
+
+ top_record = records[0]
+ idx = top_record.group.index(top_record)
+ path = top_record.get_path(self.group)
+
+ for record in records:
+ # set current model to None to prevent __select_changed
+ # to save the previous_model as it can be already deleted.
+ self.current_record = None
+ record.group.remove(record, remove=remove, signal=False,
force_remove=force_remove)
+ # send record-changed only once
+ record.signal('record-changed')
- if delete:
- if (record.parent and
- record.parent.model_name == record.model_name):
+ if delete:
+ for record in records:
+ if record.parent:
record.parent.save()
- if record.group:
- idx = min(idx, len(record.group) - 1)
- self.current_record = record.group[idx]
- elif (record.parent and
- record.parent.model_name == record.model_name):
- self.current_record = record.parent
- else:
- self.current_record = None
- if reload_ids:
- self.group.root_group.reload(reload_ids)
- self.display()
- res = True
- if self.current_view.view_type == 'tree':
- records = self.current_view.selected_records()
- saved_records = [r for r in records if r.id >= 0]
- if delete and saved_records:
- context = {}
- context.update(rpc.CONTEXT)
- context.update(self.context)
- context['_timestamp'] = {}
- for record in saved_records:
- context['_timestamp'].update(record.get_timestamp())
- reload_ids = self.group.on_write_ids([x.id for x in saved_records])
- if reload_ids:
- for record in saved_records:
- if record.id in reload_ids:
- reload_ids.remove(record.id)
- args = ('model', self.model_name, 'delete',
- [x.id for x in saved_records], context)
- try:
- res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window,
- *args)
- if not res:
- return False
- if not records:
- return True
- path = self.current_view.store.on_get_path(records[0])
- for record in records:
- # set current model to None to prevent __select_changed
- # to save the previous_model as it can be already deleted.
- self.current_record = None
- record.group.remove(record, remove=remove, signal=False,
- force_remove=force_remove)
-
- # send record-changed only once
- record.signal('record-changed')
-
- if delete:
- for record in records:
- if record.parent:
- record.parent.save()
-
- if path[-1] > 0:
- path = path[:-1] + (path[-1] - 1,)
- else:
- path = path[:-1]
- if path:
- iter_ = self.current_view.store.get_iter(path)
- self.current_record = self.current_view.store.get_value(iter_, 0)
- elif len(self.group):
- self.current_record = self.group[0]
- if reload_ids:
- self.group.root_group.reload(reload_ids)
- self.current_view.set_cursor()
- self.display()
- res = True
+ if idx > 0:
+ record = top_record.group[idx - 1]
+ path = path[:-1] + ((path[-1][0], record.id,),)
+ else:
+ path = path[:-1]
+ if path:
+ self.current_record = self.group.get_by_path(path)
+ elif len(self.group):
+ self.current_record = self.group[0]
+ self.current_view.set_cursor()
+ self.display()
self.request_set()
- return res
+ return True
+
+ def set_tree_state(self):
+ view = self.current_view
+ if (not CONFIG['client.save_tree_expanded_state']
+ or not self.current_view
+ or self.current_view.view_type != 'tree'
+ or not self.current_view.children_field
+ or not self.group):
+ return
+ parent = self.parent.id if self.parent else None
+ expanded_nodes = self.expanded_nodes[parent][view.children_field]
+ if expanded_nodes is None:
+ json_domain = self.get_tree_domain(parent)
+ try:
+ expanded_nodes = rpc.execute('model',
+ 'ir.ui.view_tree_expanded_state', 'get_expanded',
+ self.model_name, json_domain,
+ self.current_view.children_field, rpc.CONTEXT)
+ expanded_nodes = json.loads(expanded_nodes)
+ except TrytonServerError:
+ expanded_nodes = []
+ self.expanded_nodes[parent][view.children_field] = expanded_nodes
+ view.expand_nodes(expanded_nodes)
+
+ def save_tree_state(self):
+ view = self.current_view
+ if (not CONFIG['client.save_tree_expanded_state']
+ or not view
+ or view.view_type != 'tree'
+ or not view.children_field
+ or not (self.parent is None
+ or isinstance(self.parent, Record))):
+ return
+ parent = self.parent.id if self.parent else None
+ paths = view.get_expanded_paths()
+ self.expanded_nodes[parent][view.children_field] = paths
+ json_domain = self.get_tree_domain(parent)
+ json_paths = json.dumps(paths)
+ try:
+ rpc.execute('model', 'ir.ui.view_tree_expanded_state',
+ 'set_expanded', self.model_name, json_domain,
+ self.current_view.children_field, json_paths, rpc.CONTEXT)
+ except (TrytonServerError, TrytonServerUnavailable):
+ pass
+
+ def get_tree_domain(self, parent):
+ if parent:
+ domain = (self.domain + [(self.exclude_field, '=', parent)])
+ else:
+ domain = self.domain
+ json_domain = json.dumps(domain, cls=JSONEncoder)
+ return json_domain
def load(self, ids, set_cursor=True, modified=False):
+ self.expanded_nodes.clear()
self.group.load(ids, display=False, modified=modified)
self.current_view.reset()
if ids:
@@ -658,6 +665,7 @@ class Screen(SignalEvent):
in ('tree', 'graph', 'calendar'))
if set_cursor:
self.current_view.set_cursor(reset_view=False)
+ self.set_tree_state()
def display_next(self):
view = self.current_view
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index 12bc70a..6e05a63 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -1,25 +1,24 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import operator
+from functools import reduce
import gtk
import gettext
from tryton.common import message, TRYTON_ICON
import tryton.rpc as rpc
import tryton.common as common
from interface import ParserView
-from tryton.action import Action
from tryton.config import CONFIG
-from tryton.pyson import PYSONEncoder
_ = gettext.gettext
class ViewForm(ParserView):
- def __init__(self, window, screen, widget, children=None,
- buttons=None, toolbar=None, notebooks=None, cursor_widget='',
- children_field=None):
- super(ViewForm, self).__init__(window, screen, widget, children,
- buttons, toolbar, notebooks, cursor_widget, children_field)
+ def __init__(self, screen, widget, children=None, buttons=None,
+ notebooks=None, cursor_widget='', children_field=None):
+ super(ViewForm, self).__init__(screen, widget, children, buttons,
+ notebooks, cursor_widget, children_field)
self.view_type = 'form'
for button in self.buttons:
@@ -41,132 +40,10 @@ class ViewForm(ParserView):
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
viewport.add(scroll)
- if isinstance(self.screen.window, gtk.Dialog):
- width, height = self.widget.size_request()
- if self.screen.window:
- parent = self.screen.window.get_transient_for()
- if parent:
- parent_width, parent_height = parent.get_size()
- width = min(parent_width - 40, width)
- height = min(parent_height - 80, height)
- vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
self.widget = vbox
- if toolbar and not CONFIG['client.modepda']:
- hbox = gtk.HBox(homogeneous=False)
- self.widget.pack_start(hbox, False, False)
-
- gtktoolbar = gtk.Toolbar()
- gtktoolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
- gtktoolbar.set_style(gtk.TOOLBAR_BOTH)
- hbox.pack_start(gtktoolbar, expand=True, fill=True)
- for icontype in ('print', 'action', 'relate'):
- if not toolbar[icontype]:
- continue
-
- for tool in toolbar[icontype]:
- if not tool['icon.rec_name']:
- iconstock = {
- 'print': 'tryton-print',
- 'action': 'tryton-executable',
- 'relate': 'tryton-go-jump',
- }.get(icontype)
- else:
- iconstock = tool['icon.rec_name']
- common.ICONFACTORY.register_icon(iconstock)
-
- if hasattr(gtk, 'MenuToolButton') and icontype == 'print':
- tbutton = gtk.MenuToolButton(iconstock)
- else:
- tbutton = gtk.ToolButton(iconstock)
- tbutton.set_use_underline(True)
- text = tool['name']
- if '_' not in text:
- text = '_' + text
- tbutton.set_label(text)
- gtktoolbar.insert(tbutton, -1)
-
- tbutton.connect('clicked', self._sig_clicked, tool,
- icontype)
- if hasattr(gtk, 'MenuToolButton') and icontype == 'print':
- menu = gtk.Menu()
- for mtype, text in (('print', _('_Direct Print')),
- ('email', _('_Email as Attachment'))):
- menuitem = gtk.MenuItem(text)
- tool = tool.copy()
- if mtype == 'print':
- tool['direct_print'] = True
- tool['email_print'] = False
- else:
- tool['direct_print'] = False
- tool['email_print'] = True
- menuitem.connect('activate', self._sig_clicked,
- tool, icontype)
- menu.add(menuitem)
- menuitem.show()
- tbutton.set_menu(menu)
- hbox.show_all()
-
-
- def _sig_clicked(self, widget, action, atype):
- return self._action(action, atype)
-
- def _action(self, action, atype):
- act = action.copy()
- if atype in ('print', 'action'):
- self.screen.save_current()
- obj_id = self.screen.current_record \
- and self.screen.current_record.id
- if obj_id < 0:
- if atype in ('print'):
- message(_('You must save this record ' \
- 'to be able to use the print button!'), self.window)
- if atype in ('action'):
- message(_('You must save this record ' \
- 'to be able to use the action button!'), self.window)
- return False
- email = {}
- if 'pyson_email' in action:
- email = self.screen.current_record.expr_eval(
- action['pyson_email'])
- if not email:
- email = {}
- email['subject'] = action['name'].replace('_', '')
- act['email'] = email
- self.screen.display()
- if atype == 'relate':
- obj_id = self.screen.current_record \
- and self.screen.current_record.id
- if not obj_id:
- message(_('You must select a record ' \
- 'to be able to use the relate button !'), self.window)
- return False
- if obj_id < 0:
- message(_('You must save this record '
- 'to be able to use the relate button!'), self.window)
- return False
- encoder = PYSONEncoder()
- if 'pyson_domain' in act:
- act['pyson_domain'] = encoder.encode(
- self.screen.current_record.expr_eval(
- act['pyson_domain'], check_load=False))
- if 'pyson_context' in act:
- act['pyson_context'] = encoder.encode(
- self.screen.current_record.expr_eval(
- act['pyson_context'], check_load=False))
- data = {
- 'model': self.screen.model_name,
- 'id': obj_id,
- 'ids': [obj_id],
- }
- value = Action._exec_action(act, self.window, data, {})
- if atype in ('print', 'action'):
- if self.screen:
- self.screen.reload(written=True)
- return value
-
def __getitem__(self, name):
return self.widgets[name][0]
@@ -229,7 +106,7 @@ class ViewForm(ParserView):
# Get first the lazy one to reduce number of requests
fields = [(name, field.attrs.get('loading', 'eager'))
for name, field in record.group.fields.iteritems()]
- fields.sort(lambda x, y: cmp(y[1], x[1]))
+ fields.sort(key=operator.itemgetter(1))
for field, _ in fields:
record[field].get(record, check_load=False)
for name, widgets in self.widgets.iteritems():
diff --git a/tryton/gui/window/view_form/view/form_gtk/binary.py b/tryton/gui/window/view_form/view/form_gtk/binary.py
index d22e832..21f8cca 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -1,7 +1,5 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
-import base64
import gtk
import gettext
import os
@@ -21,9 +19,8 @@ def humanize(size):
class Binary(WidgetInterface):
"Binary"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Binary, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Binary, self).__init__(field_name, model_name, attrs=attrs)
self.filename = attrs.get('filename')
@@ -31,7 +28,7 @@ class Binary(WidgetInterface):
self.widget = gtk.HBox(spacing=0)
self.wid_size = gtk.Entry()
- self.wid_size.set_width_chars(11)
+ self.wid_size.set_width_chars(10)
self.wid_size.props.sensitive = False
if self.filename and attrs.get('filename_visible'):
self.wid_text = gtk.Entry()
@@ -115,11 +112,9 @@ class Binary(WidgetInterface):
return self.wid_size.grab_focus()
def sig_new(self, widget=None):
- filename = file_selection(_('Open...'),
- parent=self.widget.get_toplevel())
+ filename = file_selection(_('Open...'))
if filename and self.field:
- self.field.set_client(self.record,
- base64.encodestring(open(filename, 'rb').read()))
+ self.field.set_client(self.record, open(filename, 'rb').read())
if self.filename_field:
self.filename_field.set_client(self.record,
os.path.basename(filename))
@@ -133,22 +128,21 @@ class Binary(WidgetInterface):
os.sep, '_').replace(os.altsep or os.sep, '_')
file_path = os.path.join(dtemp, filename)
with open(file_path, 'wb') as fp:
- fp.write(base64.decodestring(self.field.get(self.record)))
+ fp.write(self.field.get_data(self.record))
root, type_ = os.path.splitext(filename)
if type_:
type_ = type_[1:]
- file_open(file_path, type_, self.window)
+ file_open(file_path, type_)
def sig_save_as(self, widget=None):
filename = ''
if self.filename_field:
filename = self.filename_field.get(self.record)
filename = file_selection(_('Save As...'), filename=filename,
- parent=self.widget.get_toplevel(),
action=gtk.FILE_CHOOSER_ACTION_SAVE)
if filename:
with open(filename,'wb') as fp:
- fp.write(base64.decodestring(self.field.get(self.record)))
+ fp.write(self.field.get_data(self.record))
def sig_remove(self, widget=None):
self.field.set_client(self.record, False)
@@ -179,18 +173,12 @@ class Binary(WidgetInterface):
return False
if self.wid_text:
self.wid_text.set_text(self.filename_field.get(record) or '')
- self.wid_size.set_text(humanize(len(field.get(record) or [])))
+ self.wid_size.set_text(humanize(field.get_size(record) or 0))
if self.but_open:
- self.but_open.set_sensitive(bool(field.get(record)))
- self.but_save_as.set_sensitive(bool(field.get(record)))
+ self.but_open.set_sensitive(bool(field.get_size(record)))
+ self.but_save_as.set_sensitive(bool(field.get_size(record)))
return True
- def display_value(self):
- if self.wid_text:
- return self.wid_text.get_text()
- else:
- return ''
-
def set_value(self, record, field):
if self.wid_text:
self.filename_field.set_client(self.record,
diff --git a/tryton/gui/window/view_form/view/form_gtk/calendar.py b/tryton/gui/window/view_form/view/form_gtk/calendar.py
index d8afdf4..0966ee1 100644
--- a/tryton/gui/window/view_form/view/form_gtk/calendar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/calendar.py
@@ -8,8 +8,9 @@ import locale
from interface import WidgetInterface
import tryton.rpc as rpc
from tryton.common import DT_FORMAT, DHM_FORMAT, HM_FORMAT, message, \
- TRYTON_ICON
-from tryton.common import date_widget, Tooltips, datetime_strftime
+ TRYTON_ICON, timezoned_date
+from tryton.common import date_widget, Tooltips, datetime_strftime, \
+ get_toplevel_window
from tryton.translate import date_format
_ = gettext.gettext
@@ -18,9 +19,8 @@ _ = gettext.gettext
class Calendar(WidgetInterface):
"Calendar"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Calendar, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Calendar, self).__init__(field_name, model_name, attrs=attrs)
self.format = date_format()
self.widget = date_widget.ComplexEntry(self.format, spacing=0)
@@ -72,7 +72,7 @@ class Calendar(WidgetInterface):
return False
try:
date = datetime.date(*time.strptime(value, self.format)[:3])
- except Exception:
+ except ValueError:
return False
return datetime_strftime(date, DT_FORMAT)
@@ -92,24 +92,15 @@ class Calendar(WidgetInterface):
if len(value)>10:
value = value[:10]
date = datetime.date(*time.strptime(value, DT_FORMAT)[:3])
- format = self.format
- if date.year < 10:
- format = format.replace('%Y', '000%Y')
- elif date.year < 100:
- format = format.replace('%Y', '00%Y')
- elif date.year < 1000:
- format = format.replace('%Y', '0%Y')
- value = datetime_strftime(date, format)
+ value = datetime_strftime(date, self.format)
if len(value) > self.entry.get_width_chars():
self.entry.set_width_chars(len(value))
self.entry.set_text(value)
return True
- def display_value(self):
- return self.entry.get_text()
-
def cal_open(self, widget):
- win = gtk.Dialog(_('Date Selection'), self.window,
+ parent = get_toplevel_window()
+ win = gtk.Dialog(_('Date Selection'), parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
@@ -138,25 +129,17 @@ class Calendar(WidgetInterface):
if response == gtk.RESPONSE_OK:
year, month, day = cal.get_date()
date = datetime.date(year, month + 1, day)
- format = self.format
- if date.year < 10:
- format = format.replace('%Y', '000%Y')
- elif date.year < 100:
- format = format.replace('%Y', '00%Y')
- elif date.year < 1000:
- format = format.replace('%Y', '0%Y')
- self.entry.set_text(datetime_strftime(date, format))
+ self.entry.set_text(datetime_strftime(date, self.format))
self._focus_out()
- self.window.present()
+ parent.present()
win.destroy()
class DateTime(WidgetInterface):
"DateTime"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(DateTime, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(DateTime, self).__init__(field_name, model_name, attrs=attrs)
self.format = date_format() + ' ' + HM_FORMAT
self.widget = date_widget.ComplexEntry(self.format, spacing=0)
@@ -207,18 +190,9 @@ class DateTime(WidgetInterface):
return False
try:
date = datetime.datetime(*time.strptime(value, self.format)[:6])
- except Exception:
+ except ValueError:
return False
- if 'timezone' in rpc.CONTEXT and timezone:
- try:
- import pytz
- lzone = pytz.timezone(rpc.CONTEXT['timezone'])
- szone = pytz.timezone(rpc.TIMEZONE)
- ldt = lzone.localize(date, is_dst=True)
- sdt = ldt.astimezone(szone)
- date = sdt
- except Exception:
- pass
+ date = timezoned_date(date)
return datetime_strftime(date, DHM_FORMAT)
def set_value(self, record, field):
@@ -236,34 +210,16 @@ class DateTime(WidgetInterface):
self.entry.clear()
else:
date = datetime.datetime(*time.strptime(dt_val, DHM_FORMAT)[:6])
- if 'timezone' in rpc.CONTEXT and timezone:
- try:
- import pytz
- lzone = pytz.timezone(rpc.CONTEXT['timezone'])
- szone = pytz.timezone(rpc.TIMEZONE)
- sdt = szone.localize(date, is_dst=True)
- ldt = sdt.astimezone(lzone)
- date = ldt
- except Exception:
- pass
- format = self.format
- if date.year < 10:
- format = format.replace('%Y', '000%Y')
- elif date.year < 100:
- format = format.replace('%Y', '00%Y')
- elif date.year < 1000:
- format = format.replace('%Y', '0%Y')
- value = datetime_strftime(date, format)
+ date = timezoned_date(date)
+ value = datetime_strftime(date, self.format)
if len(value) > self.entry.get_width_chars():
self.entry.set_width_chars(len(value))
self.entry.set_text(value)
return True
- def display_value(self):
- return self.entry.get_text()
-
def cal_open(self, widget):
- win = gtk.Dialog(_('Date Time Selection'), self.window,
+ parent = get_toplevel_window()
+ win = gtk.Dialog(_('Date Time Selection'), parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
@@ -314,5 +270,5 @@ class DateTime(WidgetInterface):
value = datetime_strftime(date, DHM_FORMAT)
self.show(value, timezone=False)
self._focus_out()
- self.window.present()
+ parent.present()
win.destroy()
diff --git a/tryton/gui/window/view_form/view/form_gtk/char.py b/tryton/gui/window/view_form/view/form_gtk/char.py
index 1fca396..cd67f2a 100644
--- a/tryton/gui/window/view_form/view/form_gtk/char.py
+++ b/tryton/gui/window/view_form/view/form_gtk/char.py
@@ -13,8 +13,8 @@ _ = gettext.gettext
class Char(WidgetInterface):
"Char"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Char, self).__init__(field_name, model_name, window, attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Char, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.HBox()
self.autocomplete = bool(attrs.get('autocomplete'))
@@ -30,12 +30,12 @@ class Char(WidgetInterface):
focus_entry = self.entry.get_child()
else:
self.entry = gtk.Entry()
- self.entry.set_property('activates_default', True)
- self.entry.set_max_length(int(attrs.get('size', 0)))
- self.entry.set_width_chars(5)
- self.entry.connect('activate', self.sig_activate)
focus_entry = self.entry
+ focus_entry.set_property('activates_default', True)
+ focus_entry.set_width_chars(10)
+ focus_entry.set_max_length(int(attrs.get('size', 0)))
+ focus_entry.connect('activate', self.sig_activate)
focus_entry.connect('focus-in-event', lambda x, y: self._focus_in())
focus_entry.connect('focus-out-event', lambda x, y: self._focus_out())
self.widget.pack_start(self.entry)
@@ -68,18 +68,16 @@ class Char(WidgetInterface):
value = ''
else:
value = field.get(record) or ''
- self.display_value(value)
- def display_value(self, value):
if not self.autocomplete:
self.entry.set_text(value)
- return
- for idx, row in enumerate(self.entry_store):
- if row[0] == value:
- self.entry.set_active(idx)
- return
else:
- self.entry.get_child().set_text(value)
+ for idx, row in enumerate(self.entry_store):
+ if row[0] == value:
+ self.entry.set_active(idx)
+ return
+ else:
+ self.entry.get_child().set_text(value)
def _readonly_set(self, value):
sensitivity = {True: gtk.SENSITIVITY_OFF, False: gtk.SENSITIVITY_AUTO}
@@ -97,8 +95,8 @@ class Char(WidgetInterface):
class Sha(Char):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Sha, self).__init__(field_name, model_name, window, attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Sha, self).__init__(field_name, model_name, attrs=attrs)
self.entry.props.visibility = False
self.visibility_checkbox = gtk.CheckButton()
diff --git a/tryton/gui/window/view_form/view/form_gtk/checkbox.py b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
index f3d5bc3..1bdca3f 100644
--- a/tryton/gui/window/view_form/view/form_gtk/checkbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
@@ -8,9 +8,8 @@ _ = gettext.gettext
class CheckBox(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(CheckBox, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(CheckBox, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.CheckButton()
self.widget.connect('focus-in-event', lambda x, y: self._focus_in())
self.widget.connect('focus-out-event', lambda x, y: self._focus_out())
@@ -29,9 +28,3 @@ class CheckBox(WidgetInterface):
self.widget.set_active(False)
return False
self.widget.set_active(bool(field.get(record)))
-
- def display_value(self):
- if self.widget.get_active():
- return _('True')
- else:
- return _('False')
diff --git a/tryton/gui/window/view_form/view/form_gtk/float.py b/tryton/gui/window/view_form/view/form_gtk/float.py
index 71740ca..26de08b 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float.py
@@ -8,16 +8,16 @@ from integer import Integer
class Float(Integer):
"Float"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Float, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Float, self).__init__(field_name, model_name, attrs=attrs)
self.digits = (16, 2)
+ self.entry.set_width_chars(sum(self.digits))
self.entry.connect('key-press-event', self.key_press_event)
def set_value(self, record, field):
try:
value = locale.atof(self.entry.get_text())
- except Exception:
+ except ValueError:
value = 0.0
return field.set_client(record, value)
@@ -27,10 +27,8 @@ class Float(Integer):
self.entry.set_text('')
return False
self.digits = field.attrs.get('digits', (16, 2))
- if isinstance(self.digits, str):
- digits = record.expr_eval(self.digits)
- else:
- digits = self.digits
+ digits = record.expr_eval(self.digits)
+ self.entry.set_width_chars(sum(digits))
self.entry.set_text(locale.format('%.' + str(digits[1]) + 'f',
field.get(record) or 0.0, True))
@@ -41,30 +39,32 @@ class Float(Integer):
ord(locale.localeconv()['decimal_point'])))
def sig_insert_text(self, entry, new_text, new_text_length, position):
+ if not self.record:
+ entry.stop_emission('insert-text')
+ return
+
value = entry.get_text()
position = entry.get_position()
new_value = value[:position] + new_text + value[position:]
- try:
- decimal_point = locale.localeconv()['decimal_point']
+ decimal_point = locale.localeconv()['decimal_point']
- if new_value in ('-', decimal_point):
- return
+ if new_value in ('-', decimal_point):
+ return
- if isinstance(self.digits, str):
- digits = self.record.expr_eval(self.digits)
- else:
- digits = self.digits
+ digits = self.record.expr_eval(self.digits)
+ try:
locale.atof(new_value)
+ except ValueError:
+ entry.stop_emission('insert-text')
+ return
- new_int = new_value
- new_decimal = ''
- if decimal_point in new_value:
- new_int, new_decimal = new_value.rsplit(decimal_point, 1)
-
- if len(new_int) > digits[0] \
- or len(new_decimal) > digits[1]:
- entry.stop_emission('insert-text')
+ new_int = new_value
+ new_decimal = ''
+ if decimal_point in new_value:
+ new_int, new_decimal = new_value.rsplit(decimal_point, 1)
- except Exception:
+ if len(new_int) > digits[0] \
+ or len(new_decimal) > digits[1]:
entry.stop_emission('insert-text')
+
diff --git a/tryton/gui/window/view_form/view/form_gtk/float_time.py b/tryton/gui/window/view_form/view/form_gtk/float_time.py
index 3fa5c60..1644bab 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float_time.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float_time.py
@@ -8,9 +8,8 @@ import tryton.rpc as rpc
class FloatTime(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(FloatTime, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(FloatTime, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.HBox()
self.entry = gtk.Entry()
@@ -48,9 +47,6 @@ class FloatTime(WidgetInterface):
self.entry.set_text(common.float_time_to_text(val, self.conv))
- def display_value(self):
- return self.entry.get_text()
-
def _readonly_set(self, value):
super(FloatTime, self)._readonly_set(value)
self.entry.set_editable(not value)
diff --git a/tryton/gui/window/view_form/view/form_gtk/image.py b/tryton/gui/window/view_form/view/form_gtk/image.py
index cf244c2..3422406 100644
--- a/tryton/gui/window/view_form/view/form_gtk/image.py
+++ b/tryton/gui/window/view_form/view/form_gtk/image.py
@@ -1,11 +1,10 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from __future__ import with_statement
import gtk
+import glib
import gettext
import os
import tempfile
-from base64 import encodestring, decodestring
from tryton.common import file_selection, Tooltips, file_open
from tryton.config import PIXMAPS_DIR
from interface import WidgetInterface
@@ -18,9 +17,8 @@ NOIMAGE = open(os.path.join(PIXMAPS_DIR, 'tryton-noimage.png'), 'rb').read()
class Image(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Image, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Image, self).__init__(field_name, model_name, attrs=attrs)
self.filename = attrs.get('filename')
self.height = int(attrs.get('img_height', 100))
@@ -127,11 +125,10 @@ class Image(WidgetInterface):
for pat in ("*.png", "*.jpg", "*.gif", "*.tif", "*.xpm"):
filter_image.add_pattern(pat)
- filename = file_selection(_('Open...'), parent=self.window,
- preview=True, filters=[filter_image, filter_all])
+ filename = file_selection(_('Open...'), preview=True,
+ filters=[filter_image, filter_all])
if filename:
- self.field.set_client(self.record,
- encodestring(open(filename, 'rb').read()))
+ self.field.set_client(self.record, open(filename, 'rb').read())
if self.filename_field:
self.filename_field.set_client(self.record,
os.path.basename(filename))
@@ -145,21 +142,21 @@ class Image(WidgetInterface):
os.sep, '_').replace(os.altsep or os.sep, '_')
file_path = os.path.join(dtemp, filename)
with open(file_path, 'wb') as fp:
- fp.write(decodestring(self.field.get(self.record)))
+ fp.write(self.field.get_data(self.record))
root, type_ = os.path.splitext(filename)
if type_:
type_ = type_[1:]
- file_open(file_path, type_, self.window)
+ file_open(file_path, type_)
def sig_save_as(self, widget):
filename = ''
if self.filename_field:
filename = self.filename_field.get(self.record)
filename = file_selection(_('Save As...'), filename=filename,
- parent=self.window, action=gtk.FILE_CHOOSER_ACTION_SAVE)
+ action=gtk.FILE_CHOOSER_ACTION_SAVE)
if filename:
with open(filename, 'wb') as fp:
- fp.write(decodestring(self.field.get(self.record)))
+ fp.write(self.field.get_data(self.record))
def sig_remove(self, widget):
self.field.set_client(self.record, False)
@@ -178,30 +175,32 @@ class Image(WidgetInterface):
if info == 0:
uri = selection.get_text().split('\n')[0]
if uri:
- self.field.set_client(self.record,
- encodestring(urllib.urlopen(uri).read()))
+ self.field.set_client(self.record, urllib.urlopen(uri).read())
self.update_img()
elif info == 1:
uri = selection.data.split('\r\n')[0]
if uri:
- self.field.set_client(self.record,
- encodestring(urllib.urlopen(uri).read()))
+ self.field.set_client(self.record, urllib.urlopen(uri).read())
self.update_img()
elif info == 2:
data = selection.get_pixbuf()
if data:
- self.field.set_client(self.record,
- encodestring(data))
+ self.field.set_client(self.record, data)
self.update_img()
def update_img(self):
value = None
if self.field:
value = self.field.get_client(self.record)
+ if isinstance(value, (int, long)):
+ if value > 10**6:
+ value = False
+ else:
+ value = self.field.get_data(self.record)
if not value:
data = NOIMAGE
else:
- data = decodestring(value)
+ data = value
pixbuf = None
for ftype in ('jpeg', 'gif', 'png', 'bmp', 'svg'):
@@ -210,7 +209,7 @@ class Image(WidgetInterface):
loader.write(data, len(data))
pixbuf = loader.get_pixbuf()
loader.close()
- except Exception:
+ except glib.GError:
continue
if pixbuf:
break
diff --git a/tryton/gui/window/view_form/view/form_gtk/integer.py b/tryton/gui/window/view_form/view/form_gtk/integer.py
index ccc4d6d..069900f 100644
--- a/tryton/gui/window/view_form/view/form_gtk/integer.py
+++ b/tryton/gui/window/view_form/view/form_gtk/integer.py
@@ -7,9 +7,13 @@ import locale
class Integer(Char):
"Integer"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Integer, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Integer, self).__init__(field_name, model_name, attrs=attrs)
+ self.entry.set_width_chars(8)
+ _, _, padding, pack_type = self.widget.query_child_packing(
+ self.entry)
+ self.widget.set_child_packing(self.entry, False, False,
+ padding, pack_type)
self.entry.set_max_length(0)
self.entry.set_alignment(1.0)
self.entry.connect('insert_text', self.sig_insert_text)
@@ -17,7 +21,7 @@ class Integer(Char):
def set_value(self, record, field):
try:
value = locale.atoi(self.entry.get_text())
- except Exception:
+ except ValueError:
value = 0
return field.set_client(record, value)
@@ -30,16 +34,13 @@ class Integer(Char):
self.entry.set_text(locale.format('%d',
field.get(record) or 0, True))
- def display_value(self):
- return self.entry.get_text()
-
def sig_insert_text(self, entry, new_text, new_text_length, position):
value = entry.get_text()
position = entry.get_position()
new_value = value[:position] + new_text + value[position:]
+ if new_value == '-':
+ return
try:
- if new_value == '-':
- return
locale.atoi(new_value)
- except Exception:
+ except ValueError:
entry.stop_emission('insert-text')
diff --git a/tryton/gui/window/view_form/view/form_gtk/interface.py b/tryton/gui/window/view_form/view/form_gtk/interface.py
index b1644d4..9010889 100644
--- a/tryton/gui/window/view_form/view/form_gtk/interface.py
+++ b/tryton/gui/window/view_form/view/form_gtk/interface.py
@@ -6,10 +6,9 @@ from tryton.common import COLORS
class WidgetInterface(object):
- def __init__(self, field_name, model_name, window, attrs=None):
+ def __init__(self, field_name, model_name, attrs=None):
self.field_name = field_name
self.model_name = model_name
- self.window = window
self.view = None # Filled by ViewForm
self.attrs = attrs or {}
for attr_name in ('readonly', 'invisible'):
@@ -110,9 +109,6 @@ class WidgetInterface(object):
self.visible = True
widget.show()
- def display_value(self):
- return self.field.get_client(self.record)
-
def _focus_in(self):
pass
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2many.py b/tryton/gui/window/view_form/view/form_gtk/many2many.py
index 87d177c..fc5915f 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -7,6 +7,7 @@ import tryton.rpc as rpc
from tryton.gui.window.win_search import WinSearch
from tryton.gui.window.win_form import WinForm
from tryton.config import CONFIG
+from tryton.exceptions import TrytonServerError
import tryton.common as common
import gettext
@@ -15,56 +16,66 @@ _ = gettext.gettext
class Many2Many(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Many2Many, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Many2Many, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.VBox(homogeneous=False, spacing=5)
+ self._readonly = True
+
+ hbox = gtk.HBox(homogeneous=False, spacing=0)
+ hbox.set_border_width(2)
+
+ label = gtk.Label(attrs.get('string', ''))
+ label.set_alignment(0.0, 0.5)
+ hbox.pack_start(label, expand=True, fill=True)
+
+ hbox.pack_start(gtk.VSeparator(), expand=False, fill=True)
+
+ tooltips = common.Tooltips()
- hbox = gtk.HBox(homogeneous=False, spacing=3)
self.wid_text = gtk.Entry()
self.wid_text.set_property('width_chars', 13)
self.wid_text.connect('activate', self._sig_activate)
+ self.wid_text.connect('focus-out-event', self._focus_out)
hbox.pack_start(self.wid_text, expand=True, fill=True)
- hbox.pack_start(gtk.VSeparator(), padding=2, expand=False, fill=False)
-
- self.wid_but_add = gtk.Button()
- hbox_add = gtk.HBox()
+ self.but_add = gtk.Button()
+ tooltips.set_tip(self.but_add, _('Add'))
+ self.but_add.connect('clicked', self._sig_add)
img_add = gtk.Image()
- img_add.set_from_stock('tryton-list-add', gtk.ICON_SIZE_BUTTON)
- hbox_add.pack_start(img_add)
- label_add = gtk.Label(_('Add'))
- hbox_add.pack_start(label_add)
- self.wid_but_add.add(hbox_add)
- self.wid_but_add.set_relief(gtk.RELIEF_HALF)
- self.wid_but_add.set_focus_on_click(True)
- self.wid_but_add.connect('clicked', self._sig_add)
- hbox.pack_start(self.wid_but_add, padding=3, expand=False, fill=False)
-
- self.wid_but_remove = gtk.Button()
- hbox_remove = gtk.HBox()
+ img_add.set_from_stock('tryton-list-add',
+ gtk.ICON_SIZE_SMALL_TOOLBAR)
+ img_add.set_alignment(0.5, 0.5)
+ self.but_add.add(img_add)
+ self.but_add.set_relief(gtk.RELIEF_NONE)
+ hbox.pack_start(self.but_add, expand=False, fill=False)
+
+
+ self.but_remove = gtk.Button()
+ tooltips.set_tip(self.but_remove, _('Remove'))
+ self.but_remove.connect('clicked', self._sig_remove)
img_remove = gtk.Image()
- img_remove.set_from_stock('tryton-list-remove', gtk.ICON_SIZE_BUTTON)
- hbox_remove.pack_start(img_remove)
- label_remove = gtk.Label(_('Remove'))
- hbox_remove.pack_start(label_remove)
- self.wid_but_remove.add(hbox_remove)
- self.wid_but_remove.set_relief(gtk.RELIEF_HALF)
- self.wid_but_remove.set_focus_on_click(True)
- self.wid_but_remove.connect('clicked', self._sig_remove)
- hbox.pack_start(self.wid_but_remove, expand=False, fill=False)
-
- self.widget.pack_start(hbox, expand=False, fill=False)
+ img_remove.set_from_stock('tryton-list-remove',
+ gtk.ICON_SIZE_SMALL_TOOLBAR)
+ img_remove.set_alignment(0.5, 0.5)
+ self.but_remove.add(img_remove)
+ self.but_remove.set_relief(gtk.RELIEF_NONE)
+ hbox.pack_start(self.but_remove, expand=False, fill=False)
hbox.set_focus_chain([self.wid_text])
- self.screen = Screen(attrs['relation'], self.window,
- mode=['tree'], views_preload=attrs.get('views', {}),
- row_activate=self._on_activate)
+ tooltips.enable()
+
+ frame = gtk.Frame()
+ frame.add(hbox)
+ frame.set_shadow_type(gtk.SHADOW_OUT)
+ self.widget.pack_start(frame, expand=False, fill=True)
+
+ self.screen = Screen(attrs['relation'], mode=['tree'],
+ views_preload=attrs.get('views', {}),
+ row_activate=self._on_activate)
+ self.screen.signal_connect(self, 'record-message', self._sig_label)
- if not isinstance(self.screen.window, gtk.Dialog):
- self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
@@ -104,6 +115,10 @@ class Many2Many(WidgetInterface):
widget.modify_text(gtk.STATE_INSENSITIVE,
self.colors['text_color_insensitive'])
+ def _focus_out(self, *args):
+ if self.wid_text.get_text():
+ self._sig_add()
+
def _sig_add(self, *args):
domain = self.field.domain_get(self.record)
context = self.field.context_get(self.record)
@@ -116,24 +131,25 @@ class Many2Many(WidgetInterface):
dom = domain
ids = rpc.execute('model', self.attrs['relation'], 'search',
dom , 0, CONFIG['client.limit'], None, context)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
+
+ def callback(ids):
+ res_id = None
+ if ids:
+ res_id = ids[0]
+ self.screen.load(ids, modified=True)
+ self.screen.display(res_id=res_id)
+ if self.screen.current_view:
+ self.screen.current_view.set_cursor()
+ self.wid_text.set_text('')
if len(ids) != 1 or not value:
- win = WinSearch(self.attrs['relation'], sel_multi=True, ids=ids,
- context=context, domain=domain,
- parent=self.widget.get_toplevel(),
- views_preload=self.attrs.get('views', {}))
- ids = win.run()
-
- res_id = None
- if ids:
- res_id = ids[0]
- self.screen.load(ids, modified=True)
- self.screen.display(res_id=res_id)
- if self.screen.current_view:
- self.screen.current_view.set_cursor()
- self.wid_text.set_text('')
+ WinSearch(self.attrs['relation'], callback, sel_multi=True,
+ ids=ids, context=context, domain=domain,
+ views_preload=self.attrs.get('views', {}))
+ else:
+ callback(ids)
def _sig_remove(self, *args):
self.screen.remove(remove=True)
@@ -147,19 +163,25 @@ class Many2Many(WidgetInterface):
def _sig_edit(self):
if self.screen.current_record:
- win = WinForm(self.screen, self.widget.get_toplevel())
- if win.run():
- self.screen.current_record.save()
- else:
- self.screen.current_record.cancel()
- win.destroy()
+ def callback(result):
+ if result:
+ self.screen.current_record.save()
+ else:
+ self.screen.current_record.cancel()
+ WinForm(self.screen, callback)
def _readonly_set(self, value):
- super(Many2Many, self)._readonly_set(value)
+ self._readonly = value
self.wid_text.set_editable(not value)
self.wid_text.set_sensitive(not value)
- self.wid_but_remove.set_sensitive(not value)
- self.wid_but_add.set_sensitive(not value)
+ self.but_remove.set_sensitive(not value)
+ self.but_add.set_sensitive(not value)
+
+ def _sig_label(self, screen, signal_data):
+ if signal_data[0] >= 1:
+ self.but_remove.set_sensitive(not self._readonly)
+ else:
+ self.but_remove.set_sensitive(False)
def display(self, record, field):
super(Many2Many, self).display(record, field)
@@ -175,15 +197,7 @@ class Many2Many(WidgetInterface):
self.screen.display()
return True
- def display_value(self):
- ids = self.field.get_default(self.record)
- try:
- result = rpc.execute('model', self.attrs['relation'], 'read',
- ids, ['rec_name'], rpc.CONTEXT)
- except Exception:
- return str(ids)
- return ', '.join(x['rec_name'] for x in result)
-
def set_value(self, record, field):
+ self.screen.save_tree_state()
self.screen.current_view.set_value()
return True
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py
index 3436187..81d8bf5 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -13,6 +13,7 @@ import tryton.rpc as rpc
from tryton.action import Action
from tryton.config import CONFIG
from tryton.pyson import PYSONEncoder
+from tryton.exceptions import TrytonServerError
import pango
_ = gettext.gettext
@@ -20,9 +21,8 @@ _ = gettext.gettext
class Many2One(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Many2One, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Many2One, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.HBox(spacing=0)
self.widget.set_property('sensitive', True)
@@ -113,56 +113,50 @@ class Many2One(WidgetInterface):
ids = rpc.execute('model', self.attrs['relation'],
'search', dom, 0, CONFIG['client.limit'], None,
context)
- except Exception, exception:
+ except TrytonServerError, exception:
self.focus_out = True
- common.process_exception(exception, self.window)
+ common.process_exception(exception)
self.changed = True
- return False
+ return
if len(ids)==1:
self.field.set_client(self.record, ids[0],
force_change=True)
self.focus_out = True
self.display(self.record, self.field)
- return True
-
- win = WinSearch(self.attrs['relation'], sel_multi=False,
- ids=ids, context=context, domain=domain,
- parent=self.widget.get_toplevel(),
- views_preload=self.attrs.get('views', {}))
- ids = win.run()
- if ids:
- self.field.set_client(self.record, ids[0],
- force_change=True)
- self.focus_out = True
- self.display(self.record, self.field)
- return True
- else:
+ return
+ def callback(ids):
+ if ids:
+ self.field.set_client(self.record, ids[0],
+ force_change=True)
self.focus_out = True
self.display(self.record, self.field)
- return False
+
+ WinSearch(self.attrs['relation'], callback, sel_multi=False,
+ ids=ids, context=context, domain=domain,
+ views_preload=self.attrs.get('views', {}))
+ return
self.focus_out = True
self.display(self.record, self.field)
self.changed = True
- return True
+ return
def get_screen(self):
domain = self.field.domain_get(self.record)
context = self.field.context_get(self.record)
- return Screen(self.attrs['relation'], self.window, domain=domain,
- context=context, mode=['form'],
- views_preload=self.attrs.get('views', {}))
+ return Screen(self.attrs['relation'], domain=domain, context=context,
+ mode=['form'], views_preload=self.attrs.get('views', {}),
+ readonly=self._readonly)
def sig_new(self, *args):
self.focus_out = False
screen = self.get_screen()
- win = WinForm(screen, self.widget.get_toplevel(), new=True)
- if win.run():
- if screen.save_current():
+ def callback(result):
+ if result and screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
self.field.set_client(self.record, value)
- win.destroy()
- self.focus_out = True
+ self.focus_out = True
+ WinForm(screen, callback, new=True)
def sig_edit(self, widget):
self.changed = False
@@ -171,53 +165,59 @@ class Many2One(WidgetInterface):
if value:
screen = self.get_screen()
screen.load([self.field.get(self.record)])
- win = WinForm(screen, self.widget.get_toplevel())
- while win.run():
- if screen.save_current():
+ def callback(result):
+ if result and screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
- self.field.set_client(self.record, value, force_change=True)
- break
- else:
+ self.field.set_client(self.record, value,
+ force_change=True)
+ elif result:
screen.display()
- win.destroy()
- else:
- if not self._readonly:
- domain = self.field.domain_get(self.record)
- context = rpc.CONTEXT.copy()
- context.update(self.field.context_get(self.record))
- self.wid_text.grab_focus()
+ return WinForm(screen, callback)
+ self.focus_out = True
+ self.display(self.record, self.field)
+ self.changed = True
+ WinForm(screen, callback)
+ return
+ elif not self._readonly:
+ domain = self.field.domain_get(self.record)
+ context = rpc.CONTEXT.copy()
+ context.update(self.field.context_get(self.record))
+ self.wid_text.grab_focus()
- try:
- if self.wid_text.get_text():
- dom = [('rec_name', 'ilike',
- '%' + self.wid_text.get_text() + '%'),
- domain]
- else:
- dom = domain
- ids = rpc.execute('model', self.attrs['relation'],
- 'search', dom, 0, CONFIG['client.limit'], None,
- context)
- except Exception, exception:
- self.focus_out = True
- common.process_exception(exception, self.window)
- self.changed = True
- return False
- if ids and len(ids)==1:
- self.field.set_client(self.record, ids[0],
- force_change=True)
- self.focus_out = True
- self.display(self.record, self.field)
- return True
+ try:
+ if self.wid_text.get_text():
+ dom = [('rec_name', 'ilike',
+ '%' + self.wid_text.get_text() + '%'),
+ domain]
+ else:
+ dom = domain
+ ids = rpc.execute('model', self.attrs['relation'],
+ 'search', dom, 0, CONFIG['client.limit'], None,
+ context)
+ except TrytonServerError, exception:
+ self.focus_out = True
+ common.process_exception(exception)
+ self.changed = True
+ return False
+ if ids and len(ids)==1:
+ self.field.set_client(self.record, ids[0],
+ force_change=True)
+ self.focus_out = True
+ self.display(self.record, self.field)
+ return True
- win = WinSearch(self.attrs['relation'], sel_multi=False,
- ids=ids, context=context,
- domain=domain, parent=self.widget.get_toplevel(),
- views_preload=self.attrs.get('views', {}))
- ids = win.run()
+ def callback(ids):
if ids:
self.field.set_client(self.record, ids[0],
force_change=True)
+ self.focus_out = True
+ self.display(self.record, self.field)
+ self.changed = True
+ WinSearch(self.attrs['relation'], callback, sel_multi=False,
+ ids=ids, context=context, domain=domain,
+ views_preload=self.attrs.get('views', {}))
+ return
self.focus_out = True
self.display(self.record, self.field)
self.changed = True
@@ -231,7 +231,7 @@ class Many2One(WidgetInterface):
self.sig_edit(widget)
return True
elif event.keyval in (gtk.keysyms.Tab, gtk.keysyms.Return) and editable:
- return not self.sig_activate(widget, event, key_press=True)
+ self.sig_activate(widget, event, key_press=True)
return False
def sig_changed(self, *args):
@@ -250,12 +250,14 @@ class Many2One(WidgetInterface):
super(Many2One, self).display(record, field)
if not field:
self.wid_text.set_text('')
+ self.wid_text.set_position(0)
self.changed = True
return False
img = self.but_open.get_image()
current_stock = img.get_stock()[0]
- res = field.get_client(record)
- self.wid_text.set_text((res and str(res)) or '')
+ res = field.get_client(record) or ''
+ self.wid_text.set_text(res)
+ self.wid_text.set_position(len(res))
if res and current_stock != 'tryton-open':
img.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
self.tooltips.set_tip(self.but_open, _('Open a record'))
@@ -267,11 +269,11 @@ class Many2One(WidgetInterface):
def _populate_popup(self, widget, menu):
value = self.field.get(self.record)
args = ('model', 'ir.action.keyword', 'get_keyword',
- 'form_relate', (self.attrs['relation'], 0), rpc.CONTEXT)
+ 'form_relate', (self.attrs['relation'], -1), rpc.CONTEXT)
try:
relates = rpc.execute(*args)
- except Exception, exception:
- relates = common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ relates = common.process_exception(exception)
if not relates:
return False
menu_entries = []
@@ -306,10 +308,9 @@ class Many2One(WidgetInterface):
act = action.copy()
obj_id = self.field.get(self.record)
if not obj_id:
- common.message(_('You must select a record to use the relation!'),
- self.window)
+ common.message(_('You must select a record to use the relation!'))
return False
- screen = Screen(self.attrs['relation'], self.window)
+ screen = Screen(self.attrs['relation'])
screen.load([obj_id])
encoder = PYSONEncoder()
act['domain'] = encoder.encode(screen.current_record.expr_eval(
@@ -319,11 +320,11 @@ class Many2One(WidgetInterface):
data['model'] = self.attrs['relation']
data['id'] = obj_id
data['ids'] = [obj_id]
- return Action._exec_action(act, self.window, data, context)
+ return Action._exec_action(act, data, context)
def click_and_action(self, atype):
obj_id = self.field.get(self.record)
- return Action.exec_keyword(atype, self.window, {
+ return Action.exec_keyword(atype, {
'model': self.attrs['relation'],
'id': obj_id or False,
'ids': [obj_id],
diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py
index f8c78b7..11863cd 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -8,6 +8,7 @@ from tryton.gui.window.view_form.screen import Screen
from tryton.gui.window.win_search import WinSearch
from tryton.gui.window.win_form import WinForm
from tryton.config import CONFIG
+from tryton.exceptions import TrytonServerError
import tryton.common as common
import tryton.rpc as rpc
import pango
@@ -17,9 +18,8 @@ _ = gettext.gettext
class One2Many(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(One2Many, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(One2Many, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.VBox(homogeneous=False, spacing=2)
self._readonly = True
@@ -40,6 +40,7 @@ class One2Many(WidgetInterface):
self.wid_text = gtk.Entry()
self.wid_text.set_property('width_chars', 13)
self.wid_text.connect('activate', self._sig_activate)
+ self.wid_text.connect('focus-out-event', self._focus_out)
hbox.pack_start(self.wid_text, expand=True, fill=True)
self.but_add = gtk.Button()
@@ -153,15 +154,13 @@ class One2Many(WidgetInterface):
frame.set_shadow_type(gtk.SHADOW_OUT)
self.widget.pack_start(frame, expand=False, fill=True)
- self.screen = Screen(attrs['relation'], self.window,
- mode=attrs.get('mode', 'tree,form').split(','),
- views_preload=attrs.get('views', {}),
- row_activate=self._on_activate,
- exclude_field=attrs.get('relation_field', None))
+ self.screen = Screen(attrs['relation'],
+ mode=attrs.get('mode', 'tree,form').split(','),
+ views_preload=attrs.get('views', {}),
+ row_activate=self._on_activate,
+ exclude_field=attrs.get('relation_field', None))
self.screen.signal_connect(self, 'record-message', self._sig_label)
- if not isinstance(self.screen.window, gtk.Dialog):
- self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
@@ -235,17 +234,19 @@ class One2Many(WidgetInterface):
sequence = None
if self.screen.current_view.view_type == 'tree':
sequence = self.screen.current_view.widget_tree.sequence
+
+ def update_sequence():
+ if sequence:
+ self.screen.group.set_sequence(field=sequence)
+
if (self.screen.current_view.view_type == 'form') \
or self.screen.editable_get():
self.screen.new(context=ctx)
self.screen.current_view.widget.set_sensitive(True)
+ update_sequence()
else:
- win = WinForm(self.screen, self.widget.get_toplevel(), new=True,
+ WinForm(self.screen, lambda a: update_sequence(), new=True,
many=True, context=ctx)
- win.run()
- win.destroy()
- if sequence:
- self.screen.group.set_sequence(field=sequence)
def _sig_edit(self, widget=None):
self.view.set_value()
@@ -255,9 +256,7 @@ class One2Many(WidgetInterface):
if not record.validate(fields):
self.screen.display()
return
- win = WinForm(self.screen, self.widget.get_toplevel())
- win.run()
- win.destroy()
+ WinForm(self.screen, lambda a: None)
def _sig_next(self, widget):
self.view.set_value()
@@ -289,6 +288,10 @@ class One2Many(WidgetInterface):
self._sig_add()
self.wid_text.grab_focus()
+ def _focus_out(self, *args):
+ if self.wid_text.get_text():
+ self._sig_add()
+
def _sig_add(self, *args):
self.view.set_value()
domain = self.field.domain_get(self.record)
@@ -307,23 +310,25 @@ class One2Many(WidgetInterface):
dom = ['OR', domain, ('id', 'in', removed_ids)]
ids = rpc.execute('model', self.attrs['relation'], 'search', dom,
0, CONFIG['client.limit'], None, context)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
+ def callback(ids):
+ res_id = None
+ if ids:
+ res_id = ids[0]
+ self.screen.load(ids, modified=True)
+ self.screen.display(res_id=res_id)
+ if self.screen.current_view:
+ self.screen.current_view.set_cursor()
+ self.wid_text.set_text('')
if len(ids) != 1:
- win = WinSearch(self.attrs['relation'], sel_multi=True, ids=ids,
- context=context, domain=domain, parent=self.window,
- views_preload=self.attrs.get('views', {}))
- ids = win.run()
-
- res_id = None
- if ids:
- res_id = ids[0]
- self.screen.load(ids, modified=True)
- self.screen.display(res_id=res_id)
- if self.screen.current_view:
- self.screen.current_view.set_cursor()
- self.wid_text.set_text('')
+ WinSearch(self.attrs['relation'], callback, sel_multi=True,
+ ids=ids, context=context, domain=domain,
+ views_preload=self.attrs.get('views', {}))
+ else:
+ callback(ids)
+
def _sig_label(self, screen, signal_data):
name = '_'
@@ -379,10 +384,8 @@ class One2Many(WidgetInterface):
self.screen.display()
return True
- def display_value(self):
- return '<' + self.attrs.get('string', '') + '>'
-
def set_value(self, record, field):
+ self.screen.save_tree_state()
self.screen.current_view.set_value()
if self.screen.modified(): # TODO check if required
record.modified_fields.setdefault(field.name)
diff --git a/tryton/gui/window/view_form/view/form_gtk/parser.py b/tryton/gui/window/view_form/view/form_gtk/parser.py
index c44c6ea..19bef62 100644
--- a/tryton/gui/window/view_form/view/form_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/form_gtk/parser.py
@@ -10,6 +10,7 @@ import tryton.common as common
from tryton.config import CONFIG, TRYTON_ICON
from tryton.gui.main import Main
import logging
+from tryton.exceptions import TrytonServerError
_ = gettext.gettext
@@ -32,7 +33,7 @@ class Button(object):
icon = gtk.Image()
icon.set_from_stock(stock, gtk.ICON_SIZE_SMALL_TOOLBAR)
self.widget.set_image(icon)
- except Exception:
+ except KeyError:
log = logging.getLogger('common')
log.warning(_('Wrong icon for the button!'))
self.widget.connect('clicked', self.button_clicked)
@@ -45,7 +46,7 @@ class Button(object):
obj_id = self.form.screen.save_current()
if obj_id:
if not self.attrs.get('confirm', False) or \
- common.sur(self.attrs['confirm'], self.form.window):
+ common.sur(self.attrs['confirm']):
button_type = self.attrs.get('type', 'workflow')
ctx = rpc.CONTEXT.copy()
ctx.update(record.context_get())
@@ -55,32 +56,29 @@ class Button(object):
self.attrs['name'], ctx)
try:
rpc.execute(*args)
- except Exception, exception:
- common.process_exception(exception, self.form.window,
- *args)
+ except TrytonServerError, exception:
+ common.process_exception(exception, *args)
elif button_type == 'object':
args = ('model', self.form.screen.model_name, self.attrs['name'],
[obj_id], ctx)
try:
rpc.execute(*args)
- except Exception, exception:
- common.process_exception(exception, self.form.window,
- *args)
+ except TrytonServerError, exception:
+ common.process_exception(exception, *args)
elif button_type == 'action':
action_id = None
args = ('model', 'ir.action', 'get_action_id',
int(self.attrs['name']), ctx)
try:
action_id = rpc.execute(*args)
- except Exception, exception:
- action_id = common.process_exception(exception, self.form.window,
- *args)
+ except TrytonServerError, exception:
+ action_id = common.process_exception(exception, *args)
if action_id:
Action.execute(action_id, {
'model': self.form.screen.model_name,
'id': obj_id,
'ids': [obj_id],
- }, self.form.window, context=ctx)
+ }, context=ctx)
else:
raise Exception('Unallowed button type')
self.form.screen.reload(written=True)
@@ -101,14 +99,10 @@ class Button(object):
if 'icon' in state_changes:
stock = state_changes['icon']
if stock:
- try:
- common.ICONFACTORY.register_icon(stock)
- icon = gtk.Image()
- icon.set_from_stock(stock, gtk.ICON_SIZE_SMALL_TOOLBAR)
- self.widget.set_image(icon)
- except Exception:
- log = logging.getLogger('common')
- log.warning(_('Wrong icon for the button!'))
+ common.ICONFACTORY.register_icon(stock)
+ icon = gtk.Image()
+ icon.set_from_stock(stock, gtk.ICON_SIZE_SMALL_TOOLBAR)
+ self.widget.set_image(icon)
else:
self.widget.set_image(gtk.Image())
@@ -210,6 +204,19 @@ class ScrolledWindow(gtk.ScrolledWindow):
self.show()
+class Alignment(gtk.Alignment):
+
+ def __init__(self, widget, attrs):
+ super(Alignment, self).__init__(
+ float(attrs.get('xalign', 0.0)),
+ float(attrs.get('yalign', 0.5)),
+ abs(1 - float(attrs.get('xalign', 0.0))),
+ abs(1 - float(attrs.get('yalign', 0.0))))
+ self.add(widget)
+ widget.connect('show', lambda *a: self.show())
+ widget.connect('hide', lambda *a: self.hide())
+
+
class _container(object):
def __init__(self, tooltips):
self.cont = []
@@ -240,8 +247,8 @@ class _container(object):
self.cont[-1] = (table, 0, height + 1)
table.resize(height + 1, self.col[-1])
- def wid_add(self, widget, name='', expand=False, ypadding=2, rowspan=1,
- colspan=1, translate=False, fname=None, help_tip=False, fill=False,
+ def wid_add(self, widget, name='', yexpand=False, ypadding=2, rowspan=1,
+ colspan=1, translate=False, fname=None, help_tip=False, yfill=False,
xexpand=True, xfill=True, xpadding=3):
(table, width, height) = self.cont[-1]
if colspan > self.col[-1]:
@@ -250,9 +257,9 @@ class _container(object):
self.newline()
(table, width, height) = self.cont[-1]
yopt = False
- if expand:
+ if yexpand:
yopt = yopt | gtk.EXPAND
- if fill:
+ if yfill:
yopt = yopt | gtk.FILL
xopt = False
if xexpand:
@@ -262,14 +269,14 @@ class _container(object):
if help_tip:
self.tooltips.set_tip(widget, help_tip)
self.tooltips.enable()
- if translate and hasattr(widget, 'pack_start'):
+ if translate:
button = gtk.Button()
img = gtk.Image()
img.set_from_stock('tryton-locale', gtk.ICON_SIZE_SMALL_TOOLBAR)
button.set_image(img)
button.set_relief(gtk.RELIEF_NONE)
self.trans_box.append((button, name, fname, widget.get_children()[0]))
- widget.pack_start(button, fill=False, expand=False)
+ widget.get_child().pack_start(button, fill=False, expand=False)
widget.show_all()
table.attach(widget, width, width + colspan,
height, height + rowspan,
@@ -292,10 +299,10 @@ class _container(object):
class ParserForm(ParserInterface):
- def __init__(self, window, parent=None, attrs=None, screen=None,
+ def __init__(self, parent=None, attrs=None, screen=None,
children_field=None):
- super(ParserForm, self).__init__(window, parent=parent, attrs=attrs,
- screen=screen, children_field=children_field)
+ super(ParserForm, self).__init__(parent=parent, attrs=attrs,
+ screen=screen, children_field=children_field)
self.widget_id = 0
def parse(self, model_name, root_node, fields, notebook=None, paned=None,
@@ -325,15 +332,21 @@ class ParserForm(ParserInterface):
if attrs.get('name') and fields.get(attrs['name']) \
and attrs['name'] != self.screen.exclude_field:
cursor_widget = attrs.get('name')
+ yexpand = int(attrs.get('yexpand', 0))
+ yfill = int(attrs.get('yfill', 0))
+ xexpand = int(attrs.get('xexpand', 1))
+ xfill = int(attrs.get('xfill', 1))
+ colspan = int(attrs.get('colspan', 1))
if node.localName == 'image':
common.ICONFACTORY.register_icon(attrs['name'])
icon = Image(attrs)
button_list.append(icon)
icon.set_from_stock(attrs['name'], gtk.ICON_SIZE_DIALOG)
- container.wid_add(icon, colspan=int(attrs.get('colspan', 1)),
- expand=int(attrs.get('expand',0)), ypadding=10,
- help_tip=attrs.get('help', False),
- fill=int(attrs.get('fill', 0)))
+ container.wid_add(icon,
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill, ypadding=10,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'separator':
text = attrs.get('string', '')
if 'name' in attrs:
@@ -349,13 +362,14 @@ class ParserForm(ParserInterface):
if text:
label = gtk.Label(text)
label.set_use_markup(True)
- label.set_alignment(float(attrs.get('align', 0.0)), 0.5)
+ label.set_alignment(float(attrs.get('xalign', 0.0)), 0.5)
vbox.pack_start(label)
vbox.pack_start(gtk.HSeparator())
- container.wid_add(vbox, colspan=int(attrs.get('colspan', 1)),
- expand=int(attrs.get('expand', 0)),
- ypadding=10, help_tip=attrs.get('help', False),
- fill=int(attrs.get('fill', 0)))
+ container.wid_add(vbox,
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill, ypadding=10,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'label':
text = attrs.get('string', '')
if 'name' in attrs and attrs['name'] in fields:
@@ -375,8 +389,8 @@ class ParserForm(ParserInterface):
else:
text = fields[attrs['name']].attrs['string'] + \
_(':')
- if 'align' not in attrs:
- attrs['align'] = 1.0
+ if 'xalign' not in attrs:
+ attrs['xalign'] = 1.0
elif not text:
for node in node.childNodes:
if node.nodeType == node.TEXT_NODE:
@@ -389,27 +403,17 @@ class ParserForm(ParserInterface):
label = Label(text, attrs)
button_list.append(label)
label.set_use_markup(True)
- if 'align' in attrs:
- label.set_alignment(float(attrs['align'] or 0.0), 0.5)
if CONFIG['client.modepda']:
- label.set_alignment(0.0, 0.5)
+ attrs['xalign'] = 0.0
+ label.set_alignment(float(attrs.get('xalign', 1.0)),
+ float(attrs.get('yalign', 0.0)))
label.set_angle(int(attrs.get('angle', 0)))
- expand = False
- if 'expand' in attrs:
- expand = bool(common.safe_eval(attrs['expand']))
- fill = False
- if 'fill' in attrs:
- fill = bool(common.safe_eval(attrs['fill']))
- xexpand = False
- if 'xexpand' in attrs:
- xexpand = bool(common.safe_eval(attrs['xexpand']))
- xfill = True
- if 'xfill' in attrs:
- xfill = bool(common.safe_eval(attrs['xfill']))
+ xexpand = bool(attrs.get('xexpand', 0))
container.wid_add(label,
- colspan=int(attrs.get('colspan', 1)),
- expand=expand, help_tip=attrs.get('help', False),
- fill=fill, xexpand=xexpand, xfill=xfill)
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'newline':
container.newline()
@@ -418,45 +422,35 @@ class ParserForm(ParserInterface):
button = Button(attrs)
button_list.append(button)
container.wid_add(button.widget,
- colspan=int(attrs.get('colspan', 1)),
- help_tip=attrs.get('help', False))
+ help_tip=attrs.get('help', False),
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'notebook':
notebook = gtk.Notebook()
notebook.set_scrollable(True)
notebook_list.append(notebook)
- if attrs and 'tabpos' in attrs:
- pos = {'up':gtk.POS_TOP,
- 'down':gtk.POS_BOTTOM,
- 'left':gtk.POS_LEFT,
- 'right':gtk.POS_RIGHT
- }[attrs['tabpos']]
- else:
- if CONFIG['client.form_tab'] == 'top':
- pos = gtk.POS_TOP
- elif CONFIG['client.form_tab'] == 'left':
- pos = gtk.POS_LEFT
- elif CONFIG['client.form_tab'] == 'right':
- pos = gtk.POS_RIGHT
- elif CONFIG['client.form_tab'] == 'bottom':
- pos = gtk.POS_BOTTOM
+ if CONFIG['client.form_tab'] == 'top':
+ pos = gtk.POS_TOP
+ elif CONFIG['client.form_tab'] == 'left':
+ pos = gtk.POS_LEFT
+ elif CONFIG['client.form_tab'] == 'right':
+ pos = gtk.POS_RIGHT
+ elif CONFIG['client.form_tab'] == 'bottom':
+ pos = gtk.POS_BOTTOM
notebook.set_tab_pos(pos)
notebook.set_border_width(3)
- container.wid_add(notebook, colspan=attrs.get('colspan', 4),
- expand=True, fill=True)
+ colspan = int(attrs.get('colspan', 4))
+ yexpand = bool(attrs.get('yexpand', 1))
+ yfill = bool(attrs.get('yfill', 1))
+ container.wid_add(notebook,
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill,
+ xexpand=xexpand, xfill=xfill)
widget, widgets, buttons, spam, notebook_list2, cursor_widget2 = \
self.parse(model_name, node, fields, notebook,
tooltips=tooltips)
- max_width, max_height = -1, -1
- window_width, window_height = Main.get_main().window.get_size()
- for i in xrange(notebook.get_n_pages()):
- width, height = notebook.get_nth_page(i)\
- .get_child().get_child().size_request()
- if width > max_width and width < window_width - 50:
- max_width = width
- if height > max_height and height < window_height - 50:
- max_height = height
- notebook.set_size_request(max_width + 20, max_height + 20)
if not cursor_widget:
cursor_widget = cursor_widget2
notebook_list.extend(notebook_list2)
@@ -557,25 +551,13 @@ class ParserForm(ParserInterface):
not attr_name in attrs:
attrs[attr_name] = fields[name].attrs[attr_name]
- widget_act = WIDGETS_TYPE[ftype][0](name, model_name,
- self.window, attrs)
+ widget_act = WIDGETS_TYPE[ftype][0](name, model_name, attrs)
self.widget_id += 1
widget_act.position = self.widget_id
dict_widget.setdefault(name, [])
dict_widget[name].append(widget_act)
- size = int(attrs.get('colspan', WIDGETS_TYPE[ftype][1]))
- expand = WIDGETS_TYPE[ftype][2]
- if 'expand' in attrs:
- expand = bool(common.safe_eval(attrs['expand']))
- fill = WIDGETS_TYPE[ftype][3]
- if 'fill' in attrs:
- fill = bool(common.safe_eval(attrs['fill']))
- xexpand = True
- if 'xexpand' in attrs:
- xexpand = bool(common.safe_eval(attrs['xexpand']))
- xfill = True
- if 'xfill' in attrs:
- xfill = bool(common.safe_eval(attrs['xfill']))
+ yexpand = bool(attrs.get('yexpand', WIDGETS_TYPE[ftype][2]))
+ yfill = bool(attrs.get('yfill', WIDGETS_TYPE[ftype][3]))
hlp = fields[name].attrs.get('help', attrs.get('help', False))
if attrs.get('height', False) or attrs.get('width', False):
widget_act.widget.set_size_request(
@@ -584,10 +566,13 @@ class ParserForm(ParserInterface):
translate = False
if ftype in ('char', 'text'):
translate = fields[name].attrs.get('translate', False)
- container.wid_add(widget_act.widget,
- fields[name].attrs['string'], expand,
- translate=translate, colspan=size, fname=name,
- help_tip=hlp, fill=fill, xexpand=xexpand, xfill=xfill)
+ container.wid_add(Alignment(widget_act.widget, attrs),
+ fields[name].attrs['string'], fname=name,
+ help_tip=hlp,
+ translate=translate,
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill,
+ xexpand=xexpand, xfill=xfill)
elif node.localName == 'group':
widget, widgets, buttons, spam, notebook_list2, cursor_widget2 = \
@@ -615,14 +600,14 @@ class ParserForm(ParserInterface):
frame = Frame(text, attrs)
frame.add(widget)
button_list.append(frame)
- container.wid_add(frame, colspan=int(attrs.get('colspan', 1)),
- expand=int(attrs.get('expand', 0)),
- rowspan=int(attrs.get('rowspan', 1)), ypadding=0,
- fill=int(attrs.get('fill', 1)), xpadding=0)
+ container.wid_add(frame,
+ colspan=colspan,
+ yexpand=yexpand, yfill=yfill, ypadding=0,
+ xexpand=xexpand, xfill=xfill, xpadding=0)
elif node.localName == 'hpaned':
hpaned = gtk.HPaned()
container.wid_add(hpaned, colspan=int(attrs.get('colspan', 4)),
- expand=True, fill=True)
+ yexpand=True, yfill=True)
widget, widgets, buttons, spam, notebook_list2, cursor_widget2 = \
self.parse(model_name, node, fields, paned=hpaned,
tooltips=tooltips)
@@ -638,7 +623,7 @@ class ParserForm(ParserInterface):
elif node.localName == 'vpaned':
vpaned = gtk.VPaned()
container.wid_add(vpaned, colspan=int(attrs.get('colspan', 4)),
- expand=True, fill=True)
+ yexpand=True, yfill=True)
widget, widgets, buttons, spam, notebook_list, cursor_widget2 = \
self.parse(model_name, node, fields, paned=vpaned,
tooltips=tooltips)
@@ -676,8 +661,7 @@ class ParserForm(ParserInterface):
obj_id = self.screen.current_record.id
if obj_id < 0:
common.message(
- _('You need to save the record before adding translations!'),
- parent=self.window)
+ _('You need to save the record before adding translations!'))
return False
obj_id = self.screen.current_record.save(force_reload=False)
@@ -685,13 +669,12 @@ class ParserForm(ParserInterface):
lang_ids = rpc.execute('model', 'ir.lang',
'search', [('translatable', '=', '1')],
rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
if not lang_ids:
- common.message(_('No other language available!'),
- parent=self.window)
+ common.message(_('No other language available!'))
return False
try:
lang_ids += rpc.execute('model', 'ir.lang',
@@ -700,18 +683,21 @@ class ParserForm(ParserInterface):
langs = rpc.execute('model', 'ir.lang',
'read', lang_ids, ['code', 'name'],
rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
code = rpc.CONTEXT.get('language', 'en_US')
+ widget_entry = widget_entry.get_children()[0]
+ if isinstance(widget_entry, gtk.ScrolledWindow):
+ widget_entry = widget_entry.get_child()
#widget accessor functions
def value_get(widget):
- if type(widget) == type(gtk.Entry()):
+ if isinstance(widget, gtk.Entry):
return widget.get_text()
- elif type(widget.child) == type(gtk.TextView()):
- buf = widget.child.get_buffer()
+ elif isinstance(widget, gtk.TextView):
+ buf = widget.get_buffer()
iter_start = buf.get_start_iter()
iter_end = buf.get_end_iter()
return buf.get_text(iter_start, iter_end, False)
@@ -721,22 +707,22 @@ class ParserForm(ParserInterface):
def value_set(widget, value):
if not value:
value = ''
- if type(widget) == type(gtk.Entry()):
+ if isinstance(widget, gtk.Entry):
widget.set_text(value)
- elif type(widget.child) == type(gtk.TextView()):
- buf = widget.child.get_buffer()
+ elif isinstance(widget, gtk.TextView):
+ buf = widget.get_buffer()
buf.delete(buf.get_start_iter(), buf.get_end_iter())
iter_start = buf.get_start_iter()
buf.insert(iter_start, value)
def widget_duplicate(widget):
- if type(widget) == type(gtk.Entry()):
+ if isinstance(widget, gtk.Entry):
entry = gtk.Entry()
entry.set_property('activates_default', True)
entry.set_max_length(widget.get_max_length())
entry.set_width_chars(widget.get_width_chars())
return entry, gtk.FILL
- elif type(widget.child) == type(gtk.TextView()):
+ elif isinstance(widget, gtk.TextView):
textview = gtk.TextView()
textview.set_wrap_mode(gtk.WRAP_WORD)
scrolledwindow = gtk.ScrolledWindow()
@@ -751,7 +737,8 @@ class ParserForm(ParserInterface):
return None, False
- win = gtk.Dialog(_('Add Translation'), self.window,
+ parent = common.get_toplevel_window()
+ win = gtk.Dialog(_('Add Translation'),parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
win.set_has_separator(True)
win.vbox.set_spacing(5)
@@ -784,8 +771,8 @@ class ParserForm(ParserInterface):
try:
val = rpc.execute('model', model_name,
'read', [obj_id], [name], context)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
val = val[0]
if gtk.widget_get_default_direction() == gtk.TEXT_DIR_RTL:
@@ -837,16 +824,13 @@ class ParserForm(ParserInterface):
{str(name): new_val['value']}, context)
try:
rpc.execute(*args)
- except Exception, exception:
- common.process_exception(exception, self.window, *args)
- if response == gtk.RESPONSE_CANCEL:
- self.window.present()
- win.destroy()
- return
- self.screen.current_record.reload()
- self.window.present()
+ except TrytonServerError, exception:
+ common.process_exception(exception, *args)
+ if response != gtk.RESPONSE_CANCEL:
+ self.screen.current_record.reload()
win.destroy()
- return True
+ parent.present()
+ return response != gtk.RESPONSE_CANCEL
from calendar import Calendar, DateTime
from float import Float
diff --git a/tryton/gui/window/view_form/view/form_gtk/progressbar.py b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
index 79e2b00..42f11d6 100644
--- a/tryton/gui/window/view_form/view/form_gtk/progressbar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
@@ -14,9 +14,8 @@ class ProgressBar(WidgetInterface):
'top_to_bottom': gtk.PROGRESS_TOP_TO_BOTTOM,
}
- def __init__(self, field_name, model_name, window, attrs=None):
- super(ProgressBar, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(ProgressBar, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.ProgressBar()
orientation = self.orientations.get(attrs.get('orientation',
'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
@@ -29,12 +28,7 @@ class ProgressBar(WidgetInterface):
self.widget.set_fraction(0.0)
return False
value = float(field.get(record) or 0.0)
- digits = field.attrs.get('digits', (16, 2))
- if isinstance(self.digits, str):
- digits = record.expr_eval(self.digits)
+ digits = record.expr_eval(field.attrs.get('digits', (16, 2)))
self.widget.set_text(locale.format('%.' + str(digits[1]) + 'f',
value, True))
self.widget.set_fraction(value / 100.0)
-
- def display_value(self):
- return self.widget.get_text()
diff --git a/tryton/gui/window/view_form/view/form_gtk/reference.py b/tryton/gui/window/view_form/view/form_gtk/reference.py
index b15282d..adb7d11 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -1,12 +1,15 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import operator
import gtk
import gobject
import gettext
+import math
from interface import WidgetInterface
from tryton.gui.window.win_search import WinSearch
from tryton.gui.window.win_form import WinForm
from tryton.gui.window.view_form.screen import Screen
+from tryton.exceptions import TrytonServerError
import tryton.rpc as rpc
import tryton.common as common
from tryton.config import CONFIG
@@ -16,9 +19,8 @@ _ = gettext.gettext
class Reference(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Reference, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Reference, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.HBox(spacing=0)
@@ -28,7 +30,6 @@ class Reference(WidgetInterface):
child.connect('changed',
self.sig_changed_combo)
child.connect('key_press_event', self.sig_key_pressed)
- self.widget_combo.set_size_request(int(attrs.get('widget_size', -1)), -1)
self.widget.pack_start(self.widget_combo, expand=False, fill=True)
self.widget.pack_start(gtk.Label('-'), expand=False, fill=False)
@@ -80,10 +81,20 @@ class Reference(WidgetInterface):
try:
selection = rpc.execute('model',
self.model_name, selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
selection = []
- selection.sort(lambda x, y: cmp(x[1], y[1]))
+ selection.sort(key=operator.itemgetter(1))
+ if selection:
+ pop = sorted((len(x) for x in selection), reverse=True)
+ average = sum(pop) / len(pop)
+ deviation = int(math.sqrt(sum((x - average)**2 for x in pop) /
+ len(pop)))
+ width = max(next((x for x in pop if x < (deviation * 4)), 10), 10)
+ else:
+ width = 10
+ child.set_width_chars(width)
+
self.set_popdown(selection)
self.last_key = (None, 0)
@@ -144,25 +155,28 @@ class Reference(WidgetInterface):
self.focus_out = False
if not value:
- model, (obj_id, name) = self.get_model() or '', (0, '')
+ model, (obj_id, name) = self.get_model() or '', (-1, '')
else:
try:
model, (obj_id, name) = value
except ValueError:
self.focus_out = True
- return False
- if model and obj_id:
+ return
+ if model and obj_id >= 0:
if not leave:
- screen = Screen(model, self.window, mode=['form'])
+ screen = Screen(model, mode=['form'])
screen.load([obj_id])
- win = WinForm(screen, self.widget.get_toplevel())
- if win.run():
- if screen.save_current():
+ def callback(result):
+ if result and screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
self.field.set_client(self.record, (model, value),
force_change=True)
- win.destroy()
+ self.focus_out = True
+ self.changed = True
+ self.display(self.record, self.field)
+ WinForm(screen, callback)
+ return
elif model:
if not self._readonly and ( self.wid_text.get_text() or not leave):
domain = self.field.domain_get(self.record)
@@ -177,25 +191,28 @@ class Reference(WidgetInterface):
dom = domain
ids = rpc.execute('model', model, 'search', dom, 0,
CONFIG['client.limit'], None, context)
- except Exception, exception:
+ except TrytonServerError, exception:
self.focus_out = True
self.changed = True
- common.process_exception(exception, self.window)
- return False
+ common.process_exception(exception)
+ return
if ids and len(ids) == 1:
self.field.set_client(self.record, (model, (ids[0], '')))
self.display(self.record, self.field)
self.focus_out = True
self.changed = True
- return True
+ return
- win = WinSearch(model, sel_multi=False, ids=ids, context=context,
- domain=domain, parent=self.widget.get_toplevel())
- ids = win.run()
- if ids:
- self.field.set_client(self.record, (model, (ids[0], '')))
- else:
- self.field.set_client(self.record, ('', (name, name)))
+ def callback(ids):
+ if ids:
+ self.field.set_client(self.record, (model, (ids[0], '')))
+ self.focus_out = True
+ self.changed = True
+ self.display(self.record, self.field)
+ WinSearch(model, callback, sel_multi=False, ids=ids,
+ context=context, domain=domain)
+ return
+ self.field.set_client(self.record, ('', (name, name)))
self.focus_out = True
self.changed = True
self.display(self.record, self.field)
@@ -204,14 +221,13 @@ class Reference(WidgetInterface):
model = self.get_model()
if not model:
return
- screen = Screen(model, self.window, mode=['form'])
- win = WinForm(screen, self.widget.get_toplevel(), new=True)
- if win.run():
- if screen.save_current():
+ screen = Screen(model, mode=['form'])
+ def callback(result):
+ if result and screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
self.field.set_client(self.record, (model, value))
- win.destroy()
+ WinForm(screen, callback, new=True)
def sig_key_press(self, widget, event):
editable = self.wid_text.get_editable()
@@ -233,18 +249,19 @@ class Reference(WidgetInterface):
if not self.changed:
return
self.wid_text.set_text('')
- self.field.set_client(self.record, (self.get_model(), (0, '')))
+ self.wid_text.set_position(0)
+ self.field.set_client(self.record, (self.get_model(), (-1, '')))
def sig_changed(self, *args):
if not self.changed:
return False
val = self.field.get_client(self.record)
if not val:
- model, (obj_id, name) = '', (0, '')
+ model, (obj_id, name) = '', (-1, '')
else:
model, (obj_id, name) = val
- if self.get_model() and obj_id:
- self.field.set_client(self.record, (self.get_model(), (0, '')))
+ if self.get_model() and obj_id >= 0:
+ self.field.set_client(self.record, (self.get_model(), (-1, '')))
self.display(self.record, self.field)
return False
@@ -253,29 +270,22 @@ class Reference(WidgetInterface):
self.changed = False
if not field:
child.set_text('')
+ child.set_position(0)
self.changed =True
return False
super(Reference, self).display(record, field)
value = field.get_client(record)
img = gtk.Image()
if not value:
- model, (obj_id, name) = '', (0, '')
+ model, (obj_id, name) = '', (-1, '')
else:
model, (obj_id, name) = value
if model:
child.set_text(self._selection2[model])
- if not name and obj_id:
- args = ('model', model, 'read', obj_id, ['rec_name'],
- rpc.CONTEXT)
- try:
- name = rpc.execute(*args)
- except Exception, exception:
- name = common.process_exception(exception, self.window,
- *args)
- if not name:
- name = '???'
+ child.set_position(len(self._selection2[model]))
self.wid_text.set_text(name)
- if obj_id:
+ self.wid_text.set_position(len(name))
+ if obj_id >= 0:
img.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
self.but_open.set_image(img)
else:
@@ -283,15 +293,13 @@ class Reference(WidgetInterface):
self.but_open.set_image(img)
else:
child.set_text('')
+ child.set_position(0)
self.wid_text.set_text(str(name))
+ self.wid_text.set_position(len(str(name)))
img.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
self.but_open.set_image(img)
self.changed = True
- def display_value(self):
- return self.widget_combo.get_child().get_text() + ', ' + \
- self.wid_text.get_text()
-
def sig_key_pressed(self, *args):
key = args[1].string.lower()
if self.last_key[0] == key:
diff --git a/tryton/gui/window/view_form/view/form_gtk/selection.py b/tryton/gui/window/view_form/view/form_gtk/selection.py
index 6c6cddf..95ede54 100644
--- a/tryton/gui/window/view_form/view/form_gtk/selection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/selection.py
@@ -1,33 +1,34 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import operator
import gtk
import gobject
+import math
from interface import WidgetInterface
import tryton.rpc as rpc
import tryton.common as common
from tryton.pyson import PYSONDecoder
+from tryton.exceptions import TrytonServerError
class Selection(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(Selection, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(Selection, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.HBox(spacing=3)
self.entry = gtk.ComboBoxEntry()
- child = self.entry.get_child()
+ child = self.entry.child
child.set_property('activates_default', True)
child.set_max_length(int(attrs.get('size', 0)))
- child.set_width_chars(5)
+ child.set_width_chars(10)
child.connect('changed', self.sig_changed)
self.changed = True
child.connect('key_press_event', self.sig_key_press)
child.connect('activate', self.sig_activate)
child.connect_after('focus-out-event', self.sig_activate)
- self.entry.set_size_request(int(attrs.get('widget_size', -1)), -1)
- self.widget.pack_start(self.entry, expand=True, fill=True)
+ self.widget.pack_start(self.entry)
self.widget.set_focus_chain([child])
self._selection = {}
@@ -42,12 +43,12 @@ class Selection(WidgetInterface):
try:
selection = rpc.execute('model',
self.model_name, selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
selection = []
self.selection = selection[:]
if self.attrs.get('sort', True):
- selection.sort(lambda x, y: cmp(x[1], y[1]))
+ selection.sort(key=operator.itemgetter(1))
self.set_popdown(selection)
def update_selection(self, record):
@@ -64,8 +65,8 @@ class Selection(WidgetInterface):
None, ['rec_name'], rpc.CONTEXT)
try:
result = rpc.execute(*args)
- except Exception, exception:
- result = common.process_exception(exception, self.window, args)
+ except TrytonServerError, exception:
+ result = common.process_exception(exception, args)
if isinstance(result, list):
selection = [(x['id'], x['rec_name']) for x in result]
selection.append((False, ''))
@@ -96,7 +97,18 @@ class Selection(WidgetInterface):
if hasattr(completion, 'set_inline_selection'):
completion.set_inline_selection(True)
completion.set_model(model)
- self.entry.get_child().set_completion(completion)
+ self.entry.child.set_completion(completion)
+ if self._selection:
+ pop = sorted((len(x) for x in self._selection), reverse=True)
+ average = sum(pop) / len(pop)
+ deviation = int(math.sqrt(sum((x - average)**2 for x in pop) /
+ len(pop)))
+ width = max(next((x for x in pop if x < (deviation * 4)), 10), 10)
+ else:
+ width = 10
+ self.entry.child.set_width_chars(width)
+ if self._selection:
+ self.entry.child.set_max_length(max(len(x) for x in self._selection))
completion.set_text_column(0)
return lst
@@ -105,10 +117,10 @@ class Selection(WidgetInterface):
self.entry.set_sensitive(not value)
def _color_widget(self):
- return self.entry.get_child()
+ return self.entry.child
def value_get(self):
- child = self.entry.get_child()
+ child = self.entry.child
res = child.get_text()
return self._selection.get(res, False), res
@@ -145,7 +157,7 @@ class Selection(WidgetInterface):
def display(self, record, field):
self.update_selection(record)
- child = self.entry.get_child()
+ child = self.entry.child
self.changed = False
if not field:
child.set_text('')
@@ -177,9 +189,6 @@ class Selection(WidgetInterface):
child.set_text('')
self.changed = True
- def display_value(self):
- return self.entry.get_child().get_text()
-
def sig_changed(self, *args):
if self.changed:
self._focus_out()
diff --git a/tryton/gui/window/view_form/view/form_gtk/textbox.py b/tryton/gui/window/view_form/view/form_gtk/textbox.py
index 459092f..ce4a3ed 100644
--- a/tryton/gui/window/view_form/view/form_gtk/textbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/textbox.py
@@ -7,15 +7,14 @@ from tryton.config import CONFIG
try:
import gtkspell
-except Exception:
+except ImportError:
gtkspell = None
class TextBox(WidgetInterface):
- def __init__(self, field_name, model_name, window, attrs=None):
- super(TextBox, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(TextBox, self).__init__(field_name, model_name, attrs=attrs)
self.widget = gtk.HBox()
self.scrolledwindow = gtk.ScrolledWindow()
@@ -118,10 +117,3 @@ class TextBox(WidgetInterface):
elif spell:
spell.detach()
del spell
-
- def display_value(self):
- lines = (self.field.get_client(self.record) or '').split('\n')
- if len(lines) > 1:
- return lines[0] + '...'
- else:
- return lines[0]
diff --git a/tryton/gui/window/view_form/view/form_gtk/url.py b/tryton/gui/window/view_form/view/form_gtk/url.py
index 9844ab0..13be753 100644
--- a/tryton/gui/window/view_form/view/form_gtk/url.py
+++ b/tryton/gui/window/view_form/view/form_gtk/url.py
@@ -10,8 +10,8 @@ import tryton.common as common
class URL(Char):
"url"
- def __init__(self, field_name, model_name, window, attrs=None):
- super(URL, self).__init__(field_name, model_name, window, attrs=attrs)
+ def __init__(self, field_name, model_name, attrs=None):
+ super(URL, self).__init__(field_name, model_name, attrs=attrs)
self.tooltips = common.Tooltips()
self.button = gtk.Button()
diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py
index 75c43fc..8ae7c48 100644
--- a/tryton/gui/window/view_form/view/graph.py
+++ b/tryton/gui/window/view_form/view/graph.py
@@ -5,11 +5,10 @@ from interface import ParserView
class ViewGraph(ParserView):
- def __init__(self, window, screen, widget, children=None,
- buttons=None, toolbar=None, notebooks=None, cursor_widget=None,
- children_field=None):
- super(ViewGraph, self).__init__(window, screen, widget, children,
- buttons, toolbar, notebooks, cursor_widget, children_field)
+ def __init__(self, screen, widget, children=None, buttons=None,
+ notebooks=None, cursor_widget=None, children_field=None):
+ super(ViewGraph, self).__init__(screen, widget, children, buttons,
+ notebooks, cursor_widget, children_field)
self.view_type = 'graph'
self.widgets = children
diff --git a/tryton/gui/window/view_form/view/graph_gtk/bar.py b/tryton/gui/window/view_form/view/graph_gtk/bar.py
index a189ef0..73b248a 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/bar.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/bar.py
@@ -115,12 +115,12 @@ class Bar(Graph):
self.queue_draw_area(minx - 1, miny - 1,
maxx - minx + 2, maxy - miny + 2)
- def action(self, window):
- super(Bar, self).action(window)
+ def action(self):
+ super(Bar, self).action()
for bar in self.bars:
if bar.highlight:
ids = self.ids[bar.xname]
- self.action_keyword(ids, window)
+ self.action_keyword(ids)
class VerticalBar(Bar):
diff --git a/tryton/gui/window/view_form/view/graph_gtk/graph.py b/tryton/gui/window/view_form/view/graph_gtk/graph.py
index 0dcd6cf..854c100 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -2,6 +2,7 @@
#this repository contains the full copyright notices and license terms.
#This code is inspired by the pycha project (http://www.lorenzogil.com/projects/pycha/)
import gtk
+from functools import reduce
from tryton.common import hex2rgb, generateColorscheme, DT_FORMAT, \
DHM_FORMAT, COLOR_SCHEMES, datetime_strftime
from tryton.pyson import PYSONDecoder
@@ -14,6 +15,7 @@ import tryton.rpc as rpc
import cairo
from tryton.action import Action
from tryton.translate import date_format
+from tryton.gui.window import Window
class Popup(object):
@@ -35,11 +37,11 @@ class Popup(object):
widget_x, widget_y = widget.window.get_origin()
width, height = widget.window.get_size()
popup_width, popup_height = self.win.get_size()
- if x < popup_width / 2:
- x = popup_width / 2
- if x > width - popup_width / 2:
- x = width - popup_width / 2
- pos_x = widget_x + x - popup_width / 2
+ if x < popup_width // 2:
+ x = popup_width // 2
+ if x > width - popup_width // 2:
+ x = width - popup_width // 2
+ pos_x = widget_x + x - popup_width // 2
if pos_x < 0:
pos_x = 0
if y < popup_height + 5:
@@ -126,10 +128,10 @@ class Graph(gtk.DrawingArea):
self.queue_draw()
- def action(self, window):
+ def action(self):
self.popup.hide()
- def action_keyword(self, ids, window):
+ def action_keyword(self, ids):
if not ids:
return
ctx = self.group.context.copy()
@@ -137,17 +139,23 @@ class Graph(gtk.DrawingArea):
del ctx['active_ids']
if 'active_id' in ctx:
del ctx['active_id']
- return Action.exec_keyword('graph_open', window, {
- 'model': self.model,
- 'id': ids[0],
- 'ids': ids,
- }, context=ctx, warning=False)
+ event = gtk.get_current_event()
+ allow_similar = False
+ if (event.state & gtk.gdk.CONTROL_MASK
+ or event.state & gtk.gdk.MOD1_MASK):
+ allow_similar = True
+ with Window(hide_current=True, allow_similar=allow_similar):
+ return Action.exec_keyword('graph_open', {
+ 'model': self.model,
+ 'id': ids[0],
+ 'ids': ids,
+ }, context=ctx, warning=False)
def drawBackground(self, cr, width, height):
# Fill the background
cr.save()
r, g, b = hex2rgb(self.attrs.get('background', '#d5d5d5'))
- linear = cairo.LinearGradient(width / 2, 0, width / 2, height)
+ linear = cairo.LinearGradient(width // 2, 0, width // 2, height)
linear.add_color_stop_rgb(0, 1, 1, 1)
linear.add_color_stop_rgb(1, r, g, b)
cr.set_source(linear)
@@ -352,11 +360,13 @@ class Graph(gtk.DrawingArea):
key = yfield.get('key', yfield['name'])
self.datas[x].setdefault(key, 0.0)
if yfield.get('domain'):
- values = rpc.CONTEXT.copy()
- values['state'] = 'draft'
+ context = rpc.CONTEXT.copy()
+ context['context'] = context.copy()
+ context['_user'] = rpc._USER
for field in model.group.fields:
- values[field] = model[field].get(model, check_load=False)
- if not PYSONDecoder(values).decode(yfield['domain']):
+ context[field] = model[field].get(model,
+ check_load=False)
+ if not PYSONDecoder(context).decode(yfield['domain']):
continue
if yfield['name'] == '#':
self.datas[x][key] += 1
diff --git a/tryton/gui/window/view_form/view/graph_gtk/line.py b/tryton/gui/window/view_form/view/graph_gtk/line.py
index b038d53..d4b1694 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/line.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/line.py
@@ -201,12 +201,12 @@ class Line(Graph):
super(Line, self).drawAxis(cr, width, height)
self.drawLine(cr, 1.0, 0)
- def action(self, window):
- super(Line, self).action(window)
+ def action(self):
+ super(Line, self).action()
for point in self.points:
if point.highlight:
ids = self.ids[point.xname]
- self.action_keyword(ids, window)
+ self.action_keyword(ids)
def YLabels(self):
ylabels = super(Line, self).YLabels()
diff --git a/tryton/gui/window/view_form/view/graph_gtk/parser.py b/tryton/gui/window/view_form/view/graph_gtk/parser.py
index 03efdcc..1311fb5 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/parser.py
@@ -20,8 +20,9 @@ GRAPH_TYPE = {
'pie': Pie,
}
-def save(widget, graph, window):
- dia = gtk.Dialog(_('Save As'), window,
+def save(widget, graph):
+ parent = common.get_toplevel_window()
+ dia = gtk.Dialog(_('Save As'), parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
gtk.STOCK_OK, gtk.RESPONSE_OK))
@@ -79,7 +80,7 @@ def save(widget, graph, window):
CONFIG['client.default_path'] = \
os.path.dirname(filename)
CONFIG.save()
- except Exception:
+ except IOError:
pass
if response == gtk.RESPONSE_OK:
if width and height and filename:
@@ -93,24 +94,24 @@ def save(widget, graph, window):
gtk.MESSAGE_ERROR)
else:
break
- window.present()
+ parent.present()
dia.destroy()
return
-def button_press(widget, event, graph, window):
+def button_press(widget, event, graph):
if event.button == 3:
menu = gtk.Menu()
item = gtk.ImageMenuItem(_('Save As...'))
img = gtk.Image()
img.set_from_stock('tryton-save-as', gtk.ICON_SIZE_MENU)
item.set_image(img)
- item.connect('activate', save, graph, window)
+ item.connect('activate', save, graph)
item.show()
menu.append(item)
menu.popup(None, None, None, event.button, event.time)
return True
elif event.button == 1:
- graph.action(window)
+ graph.action()
class ParserGraph(ParserInterface):
@@ -145,6 +146,6 @@ class ParserGraph(ParserInterface):
widget = GRAPH_TYPE[attrs.get('type', 'vbar')](xfield, yfields, attrs, model)
event = gtk.EventBox()
event.add(widget)
- event.connect('button-press-event', button_press, widget, self.window)
+ event.connect('button-press-event', button_press, widget)
return event, {'root': widget}, [], '', [], None
diff --git a/tryton/gui/window/view_form/view/graph_gtk/pie.py b/tryton/gui/window/view_form/view/graph_gtk/pie.py
index 42d1550..feb0e46 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/pie.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/pie.py
@@ -156,12 +156,12 @@ class Pie(Graph):
slice.highlight = False
self.queue_draw()
- def action(self, window):
- super(Pie, self).action(window)
+ def action(self):
+ super(Pie, self).action()
for slice in self.slices:
if slice.highlight:
ids = self.ids[slice.xname]
- self.action_keyword(ids, window)
+ self.action_keyword(ids)
class Slice(object):
diff --git a/tryton/gui/window/view_form/view/interface.py b/tryton/gui/window/view_form/view/interface.py
index 47ea8b5..991a315 100644
--- a/tryton/gui/window/view_form/view/interface.py
+++ b/tryton/gui/window/view_form/view/interface.py
@@ -5,9 +5,8 @@
class ParserInterface(object):
- def __init__(self, window, parent=None, attrs=None, screen=None,
+ def __init__(self, parent=None, attrs=None, screen=None,
children_field=None):
- self.window = window
self.parent = parent
self.attrs = attrs
self.title = None
@@ -18,17 +17,14 @@ class ParserInterface(object):
class ParserView(object):
- def __init__(self, window, screen, widget, children=None, buttons=None,
- toolbar=None, notebooks=None, cursor_widget=None,
- children_field=None):
- self.window = window
+ def __init__(self, screen, widget, children=None, buttons=None,
+ notebooks=None, cursor_widget=None, children_field=None):
self.screen = screen
self.widget = widget
self.children = children
if buttons is None:
buttons = []
self.buttons = buttons
- self.toolbar = toolbar
if notebooks is None:
notebooks = []
self.notebooks = notebooks
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index 65ad9fa..d8f5b40 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -3,9 +3,9 @@
import gobject
import gtk
import sys
-if sys.version_info < (2, 6):
+try:
import simplejson as json
-else:
+except ImportError:
import json
import tryton.rpc as rpc
import locale
@@ -18,11 +18,27 @@ from tryton.config import CONFIG
from tryton.common.cellrendererbutton import CellRendererButton
from tryton.common.cellrenderertoggle import CellRendererToggle
from tryton.pyson import PYSONEncoder
+from tryton.gui.window import Window
+from tryton.exceptions import TrytonServerError
import os
_ = gettext.gettext
+def path_convert_id2pos(model, id_path):
+ "This function will transform a path of id into a path of position"
+ group = model.group
+ id_path = id_path[:]
+ while id_path:
+ current_id = id_path.pop(0)
+ try:
+ record = group.get(current_id)
+ group = record.children_group(model.children_field, check_load=True)
+ except (KeyError, AttributeError):
+ return None
+ return model.on_get_path(record)
+
+
class AdaptModelGroup(gtk.GenericTreeModel):
def __init__(self, group, children_field=None):
@@ -129,7 +145,7 @@ class AdaptModelGroup(gtk.GenericTreeModel):
if old_pos != pos:
new_order[old_pos] = pos
pos += 1
- except Exception:
+ except KeyError:
continue
self.group.sort(lambda x, y: \
cmp(new_order[ids2pos[x.id]], new_order[ids2pos[y.id]]))
@@ -191,12 +207,12 @@ class AdaptModelGroup(gtk.GenericTreeModel):
return record
def on_iter_next(self, record):
- if not record:
+ if record is None:
return None
return record.next.get(id(record.group))
def on_iter_has_child(self, record):
- if not self.children_field:
+ if record is None or not self.children_field:
return False
children = record.children_group(self.children_field)
length = len(children)
@@ -205,8 +221,12 @@ class AdaptModelGroup(gtk.GenericTreeModel):
return bool(length)
def on_iter_children(self, record):
- if self.children_field and record.children_group(self.children_field):
- return record.children_group(self.children_field)[0]
+ if record is None:
+ return None
+ if self.children_field:
+ children = record.children_group(self.children_field)
+ if children:
+ return children[0]
return None
def on_iter_n_children(self, record):
@@ -231,11 +251,10 @@ class AdaptModelGroup(gtk.GenericTreeModel):
class ViewList(ParserView):
- def __init__(self, window, screen, widget, children=None, buttons=None,
- toolbar=None, notebooks=None, cursor_widget=None,
- children_field=None):
- super(ViewList, self).__init__(window, screen, widget, children,
- buttons, toolbar, notebooks, cursor_widget, children_field)
+ def __init__(self, screen, widget, children=None, buttons=None,
+ notebooks=None, cursor_widget=None, children_field=None):
+ super(ViewList, self).__init__(screen, widget, children, buttons,
+ notebooks, cursor_widget, children_field)
self.store = None
self.view_type = 'tree'
@@ -249,9 +268,6 @@ class ViewList(ParserView):
viewport.add(scroll)
self.widget_tree = self.widget
- if isinstance(self.screen.window, gtk.Dialog):
- width, height = self.widget_tree.size_request()
- vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
self.widget_tree.screen = screen
@@ -272,62 +288,6 @@ class ViewList(ParserView):
hbox.pack_start(hbox2, expand=False, fill=False, padding=12)
hbox.show_all()
- if toolbar and not CONFIG['client.modepda'] \
- and (toolbar['print'] or toolbar['action']):
- hbox = gtk.HBox()
- self.widget.pack_start(hbox, expand=False, fill=False)
-
- gtktoolbar = gtk.Toolbar()
- gtktoolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
- gtktoolbar.set_style(gtk.TOOLBAR_BOTH)
- hbox.pack_start(gtktoolbar, True, True)
-
- for icontype in ('print', 'action'):
- if not toolbar[icontype]:
- continue
-
- for tool in toolbar[icontype]:
- if not tool['icon.rec_name']:
- iconstock = {
- 'print': 'tryton-print',
- 'action': 'tryton-executable',
- }.get(icontype)
- else:
- iconstock = tool['icon.rec_name']
- common.ICONFACTORY.register_icon(iconstock)
-
- if hasattr(gtk, 'MenuToolButton') and icontype == 'print':
- tbutton = gtk.MenuToolButton(iconstock)
- else:
- tbutton = gtk.ToolButton(iconstock)
- tbutton.set_use_underline(True)
- text = tool['name']
- if '_' not in text:
- text = '_' + text
- tbutton.set_label(text)
- gtktoolbar.insert(tbutton, -1)
-
- tbutton.connect('clicked', self._sig_clicked, tool,
- icontype)
- if hasattr(gtk, 'MenuToolButton') and icontype == 'print':
- menu = gtk.Menu()
- for mtype, text in (('print', _('_Direct Print')),
- ('email', _('_Email as Attachment'))):
- menuitem = gtk.MenuItem(text)
- tool2 = tool.copy()
- if mtype == 'print':
- tool2['direct_print'] = True
- tool2['email_print'] = False
- else:
- tool2['direct_print'] = False
- tool2['email_print'] = True
- menuitem.connect('activate', self._sig_clicked,
- tool2, icontype)
- menu.add(menuitem)
- menuitem.show()
- tbutton.set_menu(menu)
- hbox.show_all()
-
self.display()
self.widget_tree.connect('button-press-event', self.__button_press)
@@ -369,40 +329,13 @@ class ViewList(ParserView):
self.widget_tree.connect('drag-data-delete', self.drag_data_delete)
self.widget_tree.connect('key_press_event', self.on_keypress)
- self.widget_tree.connect('test-expand-row', self.test_expand_row)
- self.widget_tree.set_expander_column(self.widget_tree.get_column(0))
+ if self.children_field:
+ self.widget_tree.connect('test-expand-row', self.test_expand_row)
+ self.widget_tree.set_expander_column(self.widget_tree.get_column(0))
def get_fields(self):
return [col.name for col in self.widget_tree.get_columns() if col.name]
- def _sig_clicked(self, widget, action, atype):
- return self._action(action, atype)
-
- def _action(self, action, atype):
- act = action.copy()
- obj_ids = self.screen.sel_ids_get()
- obj_id = self.screen.id_get()
- if not obj_ids or not obj_id:
- message(_('No record selected!'), self.window)
- return False
- email = {}
- if action.get('pyson_email'):
- email = self.screen.current_record.expr_eval(action['pyson_email'])
- if not email:
- email = {}
- email['subject'] = action['name'].replace('_', '')
- act['email'] = email
- data = {
- 'model': self.screen.model_name,
- 'id': obj_id,
- 'ids': obj_ids,
- }
- value = Action._exec_action(act, self.window, data, {})
- if self.screen:
- self.screen.reload(written=True)
- return value
-
-
def on_keypress(self, widget, event):
if event.keyval == gtk.keysyms.c and event.state & gtk.gdk.CONTROL_MASK:
self.on_copy()
@@ -427,7 +360,8 @@ class ViewList(ParserView):
elif event.keyval == gtk.keysyms.Up:
if path == (0,):
return True
- if event.keyval in (gtk.keysyms.Left, gtk.keysyms.Right):
+ if (event.keyval in (gtk.keysyms.Left, gtk.keysyms.Right)
+ and self.children_field):
selection = widget.get_selection()
model, paths = selection.get_selected_rows()
if event.keyval == gtk.keysyms.Left:
@@ -457,33 +391,35 @@ class ViewList(ParserView):
try:
for field in fields:
record.__getitem__(field, True)
- except Exception, exception:
+ except TrytonServerError, exception:
return True
iter_ = model.iter_next(iter_)
return False
def on_copy(self):
- clipboard = self.widget_tree.get_clipboard(gtk.gdk.SELECTION_CLIPBOARD)
- targets = [
- ('STRING', 0, 0),
- ('TEXT', 0, 1),
- ('COMPOUND_TEXT', 0, 2),
- ('UTF8_STRING', 0, 3)
- ]
- selection = self.widget_tree.get_selection()
- # Set to clipboard directly if not too much selected rows
- # to speed up paste
- # Don't use set_with_data on mac see:
- # http://bugzilla.gnome.org/show_bug.cgi?id=508601
- if selection.count_selected_rows() < 100 \
- or os.name == 'mac' \
- or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
- data = []
- selection.selected_foreach(self.copy_foreach, data)
- clipboard.set_text('\n'.join(data))
- else:
- clipboard.set_with_data(targets, self.copy_get_func,
- self.copy_clear_func, selection)
+ for clipboard_type in (gtk.gdk.SELECTION_CLIPBOARD,
+ gtk.gdk.SELECTION_PRIMARY):
+ clipboard = self.widget_tree.get_clipboard(clipboard_type)
+ targets = [
+ ('STRING', 0, 0),
+ ('TEXT', 0, 1),
+ ('COMPOUND_TEXT', 0, 2),
+ ('UTF8_STRING', 0, 3)
+ ]
+ selection = self.widget_tree.get_selection()
+ # Set to clipboard directly if not too much selected rows
+ # to speed up paste
+ # Don't use set_with_data on mac see:
+ # http://bugzilla.gnome.org/show_bug.cgi?id=508601
+ if selection.count_selected_rows() < 100 \
+ or os.name == 'mac' \
+ or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
+ data = []
+ selection.selected_foreach(self.copy_foreach, data)
+ clipboard.set_text('\n'.join(data))
+ else:
+ clipboard.set_with_data(targets, self.copy_get_func,
+ self.copy_clear_func, selection)
def copy_foreach(self, treemodel, path,iter, data):
record = treemodel.get_value(iter, 0)
@@ -606,45 +542,49 @@ class ViewList(ParserView):
return False
record = model.group[path[0][0]]
+ menu_entries = []
+ menu_entries.append(('gtk-copy', lambda x: self.on_copy(), 1))
if hasattr(path[1], '_type') and path[1]._type == 'many2one':
value = record[path[1].name].get(record)
args = ('model', 'ir.action.keyword', 'get_keyword',
'form_relate', (self.screen.group.fields[
- path[1].name].attrs['relation'], 0), rpc.CONTEXT)
+ path[1].name].attrs['relation'], -1), rpc.CONTEXT)
try:
relates = rpc.execute(*args)
- except Exception, exception:
- relates = common.process_exception(exception, self.window,
- *args)
- if not relates:
- return False
- menu_entries = []
- menu_entries.append((None, None, None))
- menu_entries.append((_('Actions'),
- lambda x: self.click_and_action(
- 'form_action', value, path), 0))
- menu_entries.append((_('Reports'),
- lambda x: self.click_and_action(
- 'form_print', value, path), 0))
- menu_entries.append((None, None, None))
- for relate in relates:
- relate['string'] = relate['name']
- fct = lambda action: lambda x: \
- self.click_and_relate(action, value, path)
- menu_entries.append(
- ('... ' + relate['name'], fct(relate), 0))
- menu = gtk.Menu()
- for stock_id, callback, sensitivity in menu_entries:
- if stock_id:
- item = gtk.ImageMenuItem(stock_id)
- if callback:
- item.connect('activate', callback)
- item.set_sensitive(bool(sensitivity or value))
- else:
- item = gtk.SeparatorMenuItem()
- item.show()
- menu.append(item)
- menu.popup(None, None, None, event.button, event.time)
+ except TrytonServerError, exception:
+ relates = common.process_exception(exception, *args)
+ if relates:
+ menu_entries.append((None, None, None))
+ menu_entries.append((_('Actions'),
+ lambda x: self.click_and_action(
+ 'form_action', value, path), 0))
+ menu_entries.append((_('Reports'),
+ lambda x: self.click_and_action(
+ 'form_print', value, path), 0))
+ menu_entries.append((None, None, None))
+ for relate in relates:
+ relate['string'] = relate['name']
+ fct = lambda action: lambda x: \
+ self.click_and_relate(action, value, path)
+ menu_entries.append(
+ ('... ' + relate['name'], fct(relate), 0))
+ menu = gtk.Menu()
+ for stock_id, callback, sensitivity in menu_entries:
+ if stock_id:
+ item = gtk.ImageMenuItem(stock_id)
+ if callback:
+ item.connect('activate', callback)
+ item.set_sensitive(bool(sensitivity or value))
+ else:
+ item = gtk.SeparatorMenuItem()
+ item.show()
+ menu.append(item)
+ menu.popup(None, None, None, event.button, event.time)
+ elif event.button == 2:
+ event.button = 1
+ event.state |= gtk.gdk.MOD1_MASK
+ treeview.emit('button-press-event', event)
+ return True
return False
def click_and_relate(self, action, value, path):
@@ -652,12 +592,11 @@ class ViewList(ParserView):
context = {}
act = action.copy()
if not(value):
- message(_('You must select a record to use the relation!'),
- self.window)
+ message(_('You must select a record to use the relation!'))
return False
from tryton.gui.window.view_form.screen import Screen
screen = Screen(self.screen.group.fields[
- path[1].name].attrs['relation'], self.window)
+ path[1].name].attrs['relation'])
screen.load([value])
encoder = PYSONEncoder()
act['domain'] = encoder.encode(screen.current_record.expr_eval(
@@ -667,10 +606,10 @@ class ViewList(ParserView):
data['model'] = self.screen.model_name
data['id'] = value
data['ids'] = [value]
- return Action._exec_action(act, self.window, data, context)
+ return Action._exec_action(act, data, context)
def click_and_action(self, atype, value, path):
- return Action.exec_keyword(atype, self.window, {
+ return Action.exec_keyword(atype, {
'model': self.screen.group.fields[
path[1].name].attrs['relation'],
'id': value or False,
@@ -717,7 +656,7 @@ class ViewList(ParserView):
try:
rpc.execute('model', 'ir.ui.view_tree_width', 'set_width',
self.screen.model_name, fields, rpc.CONTEXT)
- except Exception:
+ except TrytonServerError:
pass
self.widget_tree.destroy()
self.screen = None
@@ -727,11 +666,17 @@ class ViewList(ParserView):
def __sig_switch(self, treeview, path, column):
if column._type == 'button':
return
- if not self.screen.row_activate():
- if treeview.row_expanded(path):
- treeview.collapse_row(path)
- else:
- treeview.expand_row(path, False)
+ allow_similar = False
+ event = gtk.get_current_event()
+ if (event.state & gtk.gdk.MOD1_MASK
+ or event.state & gtk.gdk.SHIFT_MASK):
+ allow_similar = True
+ with Window(allow_similar=allow_similar):
+ if not self.screen.row_activate() and self.children_field:
+ if treeview.row_expanded(path):
+ treeview.collapse_row(path)
+ else:
+ treeview.expand_row(path, False)
def __select_changed(self, tree_sel):
previous_record = self.screen.current_record
@@ -812,23 +757,22 @@ class ViewList(ParserView):
value = 0.0
value_selected = 0.0
loaded = True
+ child_fieldname = self.children[child][0]
for record in self.screen.group:
- if not record.loaded:
+ if not record.get_loaded([child_fieldname]):
loaded = False
break
+ field_value = record.fields_get()[child_fieldname].get(record,
+ check_load=False)
if record.id in ids or not ids:
if not value_selected:
- value_selected = record.fields_get()[self.children[child][0]]\
- .get(record, check_load=False)
+ value_selected = field_value
else:
- value_selected += record.fields_get()[self.children[child][0]]\
- .get(record, check_load=False)
+ value_selected += field_value
if not value:
- value = record.fields_get()[self.children[child][0]]\
- .get(record, check_load=False)
+ value = field_value
else:
- value += record.fields_get()[self.children[child][0]]\
- .get(record, check_load=False)
+ value += field_value
if loaded:
label_str = locale.format('%.' + str(self.children[child][3]) + 'f',
@@ -871,7 +815,7 @@ class ViewList(ParserView):
def sel_ids_get(self):
def _func_sel_get(store, path, iter, ids):
record = store.on_get_iter(path)
- if record and record.id > 0:
+ if record and record.id >= 0:
ids.append(record.id)
ids = []
sel = self.widget_tree.get_selection()
@@ -898,3 +842,29 @@ class ViewList(ParserView):
pass
else:
renderer.set_property('editable', False)
+
+ def get_expanded_paths(self, starting_path=None, starting_id_path=None):
+ # Use id instead of position
+ # because the position may change between load
+ if not starting_path:
+ starting_path = []
+ if not starting_id_path:
+ starting_id_path = []
+ id_paths = []
+ record = self.store.on_get_iter(starting_path)
+ for path_idx in range(self.store.on_iter_n_children(record)):
+ path = starting_path + [path_idx]
+ expanded = self.widget_tree.row_expanded(tuple(path))
+ if expanded:
+ expanded_record = self.store.on_get_iter(path)
+ id_path = starting_id_path + [expanded_record.id]
+ id_paths.append(id_path)
+ child_id_paths = self.get_expanded_paths(path, id_path)
+ id_paths += child_id_paths
+ return id_paths
+
+ def expand_nodes(self, nodes):
+ for node in nodes:
+ expand_path = path_convert_id2pos(self.store, node)
+ if expand_path:
+ self.widget_tree.expand_to_path(expand_path)
diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
index 54df75f..d013c85 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -20,7 +20,7 @@ class EditableTreeView(gtk.TreeView):
self.editable = position
self.cells = {}
- def on_quit_cell(self, current_record, fieldname, value):
+ def on_quit_cell(self, current_record, fieldname, value, callback=None):
field = current_record[fieldname]
if hasattr(field, 'editabletree_entry'):
del field.editabletree_entry
@@ -32,12 +32,12 @@ class EditableTreeView(gtk.TreeView):
return
try:
- real_value = cell.value_from_text(current_record, value)
- field.set_client(current_record, real_value)
+ cell.value_from_text(current_record, value, callback=callback)
except parser.UnsettableColumn:
return
- def on_open_remote(self, current_record, fieldname, create, value):
+ def on_open_remote(self, current_record, fieldname, create, value,
+ entry=None, callback=None):
field = current_record[fieldname]
cell = self.cells[fieldname]
if value != cell.get_textual_value(current_record) or not value:
@@ -45,13 +45,10 @@ class EditableTreeView(gtk.TreeView):
else:
changed = False
try:
- valid, value = cell.open_remote(current_record, create,
- changed, value)
- if valid:
- field.set_client(current_record, value)
+ cell.open_remote(current_record, create, changed, value,
+ callback=callback)
except NotImplementedError:
pass
- return cell.get_textual_value(current_record)
def on_create_line(self):
model = self.get_model()
@@ -154,9 +151,11 @@ class EditableTreeView(gtk.TreeView):
else:
txt = entry.get_active_text()
entry.disconnect(entry.editing_done_id)
- self.on_quit_cell(record, column.name, txt)
- entry.editing_done_id = entry.connect('editing_done',
- self.on_editing_done)
+ def callback():
+ entry.editing_done_id = entry.connect('editing_done',
+ self.on_editing_done)
+ self.set_cursor(path, column, True)
+ self.on_quit_cell(record, column.name, txt, callback=callback)
if event.keyval in self.leaving_record_events:
fields = self.cells.keys()
if not record.validate(fields):
@@ -210,27 +209,25 @@ class EditableTreeView(gtk.TreeView):
new_path = self._key_down(path, model, column)
entry.editing_done_id = entry.connect('editing_done',
self.on_editing_done)
- elif event.keyval == gtk.keysyms.Escape:
- if record.id < 0:
- self.screen.remove(delete=False, remove=True,
- force_remove=True)
- else:
- return False
elif event.keyval in (gtk.keysyms.F3, gtk.keysyms.F2):
if isinstance(entry, gtk.Entry):
value = entry.get_text()
else:
value = entry.get_active_text()
entry.disconnect(entry.editing_done_id)
- newval = self.on_open_remote(record, column.name,
- create=(event.keyval==gtk.keysyms.F3), value=value)
- if isinstance(entry, gtk.Entry):
- entry.set_text(newval)
- else:
- entry.set_active_text(newval)
- entry.editing_done_id = entry.connect('editing_done',
- self.on_editing_done)
- self.set_cursor(path, column, True)
+ def callback():
+ cell = self.cells[column.name]
+ value = cell.get_textual_value(record)
+ if isinstance(entry, gtk.Entry):
+ entry.set_text(value)
+ else:
+ entry.set_active_text(value)
+ entry.editing_done_id = entry.connect('editing_done',
+ self.on_editing_done)
+ self.set_cursor(path, column, True)
+ self.on_open_remote(record, column.name,
+ create=(event.keyval==gtk.keysyms.F3), value=value,
+ callback=callback)
else:
field = record[column.name]
if isinstance(entry, gtk.Entry):
diff --git a/tryton/gui/window/view_form/view/list_gtk/parser.py b/tryton/gui/window/view_form/view/list_gtk/parser.py
index f2b4c3b..48a5db1 100644
--- a/tryton/gui/window/view_form/view/list_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/list_gtk/parser.py
@@ -12,6 +12,7 @@ import tryton.rpc as rpc
from tryton.common import DT_FORMAT, DHM_FORMAT, COLORS, node_attributes, \
TRYTON_ICON, HM_FORMAT
import tryton.common as common
+from tryton.exceptions import TrytonError, TrytonServerError
from tryton.common.cellrendererbutton import CellRendererButton
from tryton.common.cellrendererdate import CellRendererDate
from tryton.common.cellrenderertext import CellRendererText
@@ -27,6 +28,7 @@ import locale
import datetime
import time
import gettext
+import operator
_ = gettext.gettext
@@ -57,19 +59,20 @@ def sort_model(column, treeview, screen):
column.arrow.hide()
store = treeview.get_model()
unsaved_records = [x for x in store.group if x.id < 0]
+ search_string = screen.screen_container.get_text() or None
if screen.search_count == len(store):
- ids = screen.search_filter(only_ids=True)
+ ids = screen.search_filter(search_string=search_string, only_ids=True)
store.sort(ids)
else:
- screen.search_filter()
+ screen.search_filter(search_string=search_string)
for record in unsaved_records:
store.group.append(record)
class ParserTree(ParserInterface):
- def __init__(self, window, parent=None, attrs=None, screen=None,
+ def __init__(self, parent=None, attrs=None, screen=None,
children_field=None):
- super(ParserTree, self).__init__(window, parent, attrs, screen,
+ super(ParserTree, self).__init__(parent, attrs, screen,
children_field=children_field)
self.treeview = None
@@ -111,7 +114,7 @@ class ParserTree(ParserInterface):
node_attrs[attr_name] = fields[fname].attrs[attr_name]
cell = CELLTYPES.get(node_attrs.get('widget',
fields[fname].attrs['type']))(fname, model_name,
- treeview, self.window, node_attrs)
+ treeview, node_attrs)
treeview.cells[fname] = cell
renderer = cell.renderer
@@ -186,6 +189,7 @@ class ParserTree(ParserInterface):
col.width = width
if width > 0:
col.set_fixed_width(width)
+ col.set_min_width(1)
#XXX doesn't work well when resize columns
#col.set_expand(True)
if (not treeview.sequence
@@ -204,14 +208,15 @@ class ParserTree(ParserInterface):
'float_time'):
label = gtk.Label(node_attrs['sum'] + _(': '))
label_sum = gtk.Label()
- if isinstance(fields[fname].attrs.get('digits'), str):
+ if isinstance(fields[fname].attrs.get('digits'),
+ basestring):
digits = 2
else:
digits = fields[fname].attrs.get('digits', (16, 2))[1]
dict_widget[i] = (fname, label, label_sum, digits)
elif node.localName == 'button':
#TODO add shortcut
- cell = Button(treeview, self.window, self.screen, node_attrs)
+ cell = Button(treeview, self.screen, node_attrs)
button_list.append(cell)
renderer = cell.renderer
string = node_attrs.get('string', _('Unknown'))
@@ -256,14 +261,13 @@ class ParserTree(ParserInterface):
class Char(object):
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
+ def __init__(self, field_name, model_name, treeview, attrs=None):
super(Char, self).__init__()
self.field_name = field_name
self.model_name = model_name
self.attrs = attrs or {}
self.renderer = CellRendererText()
self.treeview = treeview
- self.window = window
def setter(self, column, cell, store, iter):
record = store.get_value(iter, 0)
@@ -335,7 +339,8 @@ class Char(object):
def get_color(self, record):
return record.expr_eval(self.treeview.colors, check_load=False)
- def open_remote(self, record, create, changed=False, text=None):
+ def open_remote(self, record, create, changed=False, text=None,
+ callback=None):
raise NotImplementedError
def get_textual_value(self, record):
@@ -343,18 +348,24 @@ class Char(object):
return ''
return record[self.field_name].get_client(record) or ''
- def value_from_text(self, record, text):
- return text
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ field.set_client(record, text)
+ if callback:
+ callback()
class Int(Char):
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
- super(Int, self).__init__(field_name, model_name, treeview, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, treeview, attrs=None):
+ super(Int, self).__init__(field_name, model_name, treeview,
+ attrs=attrs)
self.renderer = CellRendererInteger()
- def value_from_text(self, record, text):
- return int(text)
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ field.set_client(record, int(text))
+ if callback:
+ callback()
def get_textual_value(self, record):
return locale.format('%d',
@@ -362,9 +373,9 @@ class Int(Char):
class Boolean(Int):
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
- super(Boolean, self).__init__(field_name, model_name, treeview, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, treeview, attrs=None):
+ super(Boolean, self).__init__(field_name, model_name, treeview,
+ attrs=attrs)
self.renderer = CellRendererToggle()
self.renderer.connect('toggled', self._sig_toggled)
@@ -385,9 +396,9 @@ class Boolean(Int):
class Date(Char):
server_format = DT_FORMAT
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
- super(Date, self).__init__(field_name, model_name, treeview, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, treeview, attrs=None):
+ super(Date, self).__init__(field_name, model_name, treeview,
+ attrs=attrs)
self.display_format = date_format()
self.renderer = CellRendererDate(self.display_format)
@@ -398,22 +409,25 @@ class Date(Char):
date = datetime.date(*time.strptime(value, self.server_format)[:3])
return common.datetime_strftime(date, self.display_format)
- def value_from_text(self, record, text):
- if not text:
- return False
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ date = False
try:
date = datetime.date(*time.strptime(text, self.display_format)[:3])
- except Exception:
- return False
- return common.datetime_strftime(date, self.server_format)
+ date = common.datetime_strftime(date, self.server_format)
+ except ValueError:
+ date = False
+ field.set_client(record, date)
+ if callback:
+ callback()
class Datetime(Date):
server_format = DHM_FORMAT
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
+ def __init__(self, field_name, model_name, treeview, attrs=None):
super(Datetime, self).__init__(field_name, model_name, treeview,
- window, attrs=attrs)
+ attrs=attrs)
self.display_format = date_format() + ' ' + HM_FORMAT
self.renderer.format = self.display_format
@@ -423,77 +437,60 @@ class Datetime(Date):
return ''
date = datetime.datetime(*time.strptime(value,
self.server_format)[:6])
- if 'timezone' in rpc.CONTEXT:
- try:
- import pytz
- lzone = pytz.timezone(rpc.CONTEXT['timezone'])
- szone = pytz.timezone(rpc.TIMEZONE)
- sdt = szone.localize(date, is_dst=True)
- ldt = sdt.astimezone(lzone)
- date = ldt
- except Exception:
- pass
+ date = common.timezoned_date(date)
return common.datetime_strftime(date, self.display_format)
- def value_from_text(self, record, text):
- if not text:
- return False
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ date = False
try:
date = datetime.datetime(*time.strptime(text,
self.display_format)[:6])
- except Exception:
- return False
- if 'timezone' in rpc.CONTEXT:
- try:
- import pytz
- lzone = pytz.timezone(rpc.CONTEXT['timezone'])
- szone = pytz.timezone(rpc.TIMEZONE)
- ldt = lzone.localize(date, is_dst=True)
- sdt = ldt.astimezone(szone)
- date = sdt
- except Exception:
- pass
- return common.datetime_strftime(date, self.server_format)
+ date = common.timezoned_date(date)
+ date = common.datetime_strftime(date, self.server_format)
+ except ValueError:
+ date = False
+ field.set_client(record, date)
+ if callback:
+ callback()
class Float(Char):
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
- super(Float, self).__init__(field_name, model_name, treeview, window,
- attrs=attrs)
+ def __init__(self, field_name, model_name, treeview, attrs=None):
+ super(Float, self).__init__(field_name, model_name, treeview,
+ attrs=attrs)
self.renderer = CellRendererFloat()
def setter(self, column, cell, store, iter):
super(Float, self).setter(column, cell, store, iter)
record = store.get_value(iter, 0)
field = record[self.field_name]
- if isinstance(field.attrs.get('digits'), str):
- digits = record.expr_eval(field.attrs['digits'])
- else:
- digits = field.attrs.get('digits', (16, 2))
+ digits = record.expr_eval(field.attrs.get('digits', (16, 2)))
cell.digits = digits
def get_textual_value(self, record):
field = record[self.field_name]
- if isinstance(field.attrs.get('digits'), str):
- digit = record.expr_eval(field.attrs['digits'])[1]
- else:
- digit = field.attrs.get('digits', (16, 2))[1]
+ digit = record.expr_eval(field.attrs.get('digits', (16, 2)))[1]
return locale.format('%.'+str(digit)+'f',
record[self.field_name].get_client(record) or 0.0, True)
- def value_from_text(self, record, text):
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
try:
- return locale.atof(text)
- except Exception:
- return 0.0
+ value = locale.atof(text)
+ except ValueError:
+ value = 0.0
+ field.set_client(record, value)
+ if callback:
+ callback()
class FloatTime(Char):
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
+ def __init__(self, field_name, model_name, treeview, attrs=None):
super(FloatTime, self).__init__(field_name, model_name, treeview,
- window, attrs=attrs)
+ attrs=attrs)
self.conv = None
if attrs and attrs.get('float_time'):
self.conv = rpc.CONTEXT.get(attrs['float_time'])
@@ -502,15 +499,20 @@ class FloatTime(Char):
val = record[self.field_name].get_client(record)
return common.float_time_to_text(val, self.conv)
- def value_from_text(self, record, text):
- return common.text_to_float_time(text, self.conv)
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ field.set_client(record, common.text_to_float_time(text, self.conv))
+ if callback:
+ callback()
class M2O(Char):
- def value_from_text(self, record, text):
+ def value_from_text(self, record, text, callback=None):
field = record.group.fields[self.field_name]
if not text and not field.get_state_attrs(
record)['required']:
+ if callback:
+ callback()
return False
relation = record[self.field_name].attrs['relation']
@@ -525,16 +527,24 @@ class M2O(Char):
context)
try:
ids = rpc.execute(*args)
- except Exception, exception:
- ids = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ ids = common.process_exception(exception, *args)
if not ids:
- return '???'
+ field.set_client(record, '???')
+ if callback:
+ callback()
+ return
if len(ids) != 1:
- return self.search_remote(relation, ids,
- domain=domain, context=context)[0]
- return ids[0]
+ if callback:
+ self.search_remote(record, relation, ids, domain=domain,
+ context=context, callback=callback)
+ return
+ field.set_client(record, ids[0])
+ if callback:
+ callback()
- def open_remote(self, record, create=True, changed=False, text=None):
+ def open_remote(self, record, create=True, changed=False, text=None,
+ callback=None):
field = record.group.fields[self.field_name]
relation = field.attrs['relation']
@@ -552,55 +562,62 @@ class M2O(Char):
args = ('model', relation, 'search', dom, 0, None, None, context)
try:
ids = rpc.execute(*args)
- except Exception, exception:
- ids = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ ids = common.process_exception(exception, *args)
if not ids:
- return False, False
+ field.set_client(record, False)
+ if callback:
+ callback()
+ return
if len(ids) == 1:
- return True, ids[0]
- searched = self.search_remote(relation, ids, domain=domain,
- context=context)
- if searched[0]:
- return True, searched
- return False, False
- screen = Screen(relation, self.window, domain=domain, context=context,
- mode=['form'])
+ field.set_client(record, ids[0])
+ if callback:
+ callback()
+ return
+ self.search_remote(record, relation, ids, domain=domain,
+ context=context, callback=callback)
+ return
+ screen = Screen(relation, domain=domain, context=context,
+ mode=['form'])
+
+ def open_callback(result):
+ if result and screen.save_current():
+ value = (screen.current_record.id,
+ screen.current_record.rec_name())
+ field.set_client(record, value)
+ if callback:
+ callback()
if obj_id:
screen.load([obj_id])
- win = WinForm(screen, self.window)
- else:
- win = WinForm(screen, self.window, new=True)
- value = False
- if win.run():
- if screen.save_current():
- value = (screen.current_record.id,
- screen.current_record.rec_name())
- win.destroy()
- if value:
- return True, value
+ WinForm(screen, open_callback)
else:
- return False, False
-
- def search_remote(self, relation, ids=None, domain=None, context=None):
- win = WinSearch(relation, sel_multi=False, ids=ids, context=context,
- domain=domain, parent=self.window)
- found = win.run()
- if found:
- args = ('model', relation, 'read', found[0], ['rec_name'],
- context)
- try:
- res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
- if not res:
- return False, None
- return found[0], res['rec_name']
- else:
- return False, None
+ WinForm(screen, open_callback, new=True)
+
+ def search_remote(self, record, relation, ids=None, domain=None,
+ context=None, callback=None):
+ field = record.group.fields[self.field_name]
+ def search_callback(found):
+ value = None
+ if found:
+ args = ('model', relation, 'read', found[0], ['rec_name'],
+ context)
+ try:
+ res = rpc.execute(*args)
+ except TrytonServerError, exception:
+ res = common.process_exception(exception, *args)
+ if res:
+ value = (found[0], res['rec_name'])
+ field.set_client(record, value)
+ if callback:
+ callback()
+ WinSearch(relation, search_callback, sel_multi=False, ids=ids,
+ context=context, domain=domain)
+
class O2O(M2O):
pass
+
class UnsettableColumn(Exception):
def __init__(self):
@@ -617,22 +634,24 @@ class O2M(Char):
return '( ' + str(len(record[self.field_name].\
get_client(record))) + ' )'
- def value_from_text(self, record, text):
- pass
+ def value_from_text(self, record, text, callback=None):
+ if callback:
+ callback()
- def open_remote(self, record, create=True, changed=False, text=None):
+ def open_remote(self, record, create=True, changed=False, text=None,
+ callback=None):
group = record.value[self.field_name]
field = record.group.fields[self.field_name]
relation = field.attrs['relation']
context = field.context_get(record)
- screen = Screen(relation, self.window, mode=['tree', 'form'],
- exclude_field=field.attrs.get('relation_field'))
+ screen = Screen(relation, mode=['tree', 'form'],
+ exclude_field=field.attrs.get('relation_field'))
screen.group = group
- win = WinForm(screen, self.window, view_type='tree', context=context)
- win.run()
- win.destroy()
- return False, False
+ def open_callback(result):
+ if callback:
+ callback()
+ WinForm(screen, open_callback, view_type='tree', context=context)
class M2M(Char):
@@ -645,12 +664,17 @@ class M2M(Char):
return '( ' + str(len(record[self.field_name].\
get_client(record))) + ' )'
- def value_from_text(self, record, text):
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
if not text:
- return []
+ field.set_client(record, [])
+ if callback:
+ callback()
+ return
if not (text[0] != '('):
- return record[self.field_name].get(record)
- field = record[self.field_name]
+ if callback:
+ callback()
+ return
relation = field.attrs['relation']
domain = field.domain_get(record)
context = field.context_get(record)
@@ -663,16 +687,25 @@ class M2M(Char):
None, context)
try:
ids = rpc.execute(*args)
- except Exception, exception:
- ids = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ ids = common.process_exception(exception, *args)
if ids is False:
- return []
- win = WinSearch(relation, sel_multi=True, ids=ids, context=context,
- domain=domain, parent=self.window)
- found = win.run()
- return found or []
-
- def open_remote(self, record, create=True, changed=False, text=None):
+ field.set_client(record, [])
+ if callback:
+ callback()
+ return
+ if not callback:
+ return
+ def winsearch_callback(result):
+ field.set_client(record, result or [])
+ if callback:
+ callback()
+ WinSearch(relation, winsearch_callback, sel_multi=True, ids=ids,
+ context=context, domain=domain)
+ return
+
+ def open_remote(self, record, create=True, changed=False, text=None,
+ callback=None):
field = record[self.field_name]
relation = field.attrs['relation']
context = field.context_get(record)
@@ -683,21 +716,27 @@ class M2M(Char):
args = ('model', relation, 'search', domain)
try:
ids = rpc.execute(*args)
- except Exception, exception:
- ids = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ ids = common.process_exception(exception, *args)
if ids is False:
- return False, None
+ field.set_client(record, False)
+ if callback:
+ callback()
if ids and len(ids)==1:
- return True, ids
+ field.set_client(record, ids)
+ if callback:
+ callback()
+ return
else:
ids = [x.id for x in field.get_client(record)]
- win = WinSearch(relation, sel_multi=True, ids=ids, context=context,
- domain=domain, parent=self.window)
- found = win.run()
- if found:
- return True, found
- else:
- return False, None
+ def open_callback(result):
+ if result:
+ field.set_client(record, result)
+ if callback:
+ callback()
+ WinSearch(relation, open_callback, sel_multi=True, ids=ids, context=context,
+ domain=domain)
+
class Selection(Char):
@@ -709,15 +748,14 @@ class Selection(Char):
self._domain_cache = {}
selection = self.attrs.get('selection', [])[:]
if not isinstance(selection, (list, tuple)):
+ args = ('model', self.model_name, selection, rpc.CONTEXT)
try:
- selection = rpc.execute('model',
- self.model_name, selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
- selection = []
+ selection = rpc.execute(*args)
+ except TrytonServerError, exception:
+ selection = (common.process_exception(exception, args) or [])
self.selection = selection[:]
if self.attrs.get('sort', True):
- selection.sort(lambda x, y: cmp(x[1], y[1]))
+ selection.sort(key=operator.itemgetter(1))
self.renderer.set_property('model', self.get_model(selection))
self.renderer.set_property('text-column', 0)
@@ -740,8 +778,11 @@ class Selection(Char):
value = value[0]
return dict(self.selection).get(value, '')
- def value_from_text(self, record, text):
- return self._selection.get(text, False), text
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ field.set_client(record, self._selection.get(text, False))
+ if callback:
+ callback()
def editing_started(self, cell, editable, path):
store = self.treeview.get_model()
@@ -772,8 +813,8 @@ class Selection(Char):
0, None, None, ['rec_name'], rpc.CONTEXT)
try:
result = rpc.execute(*args)
- except Exception, exception:
- result = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ result = common.process_exception(exception, *args)
if isinstance(result, list):
selection = [(x['id'], x['rec_name']) for x in result]
@@ -790,47 +831,36 @@ class Selection(Char):
class Reference(Char):
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
+ def __init__(self, field_name, model_name, treeview, attrs=None):
super(Reference, self).__init__(field_name, model_name, treeview,
- window, attrs=attrs)
+ attrs=attrs)
self._selection = {}
selection = attrs.get('selection', [])
if not isinstance(selection, (list, tuple)):
try:
selection = rpc.execute('model',
model_name, selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
selection = []
- selection.sort(lambda x, y: cmp(x[1], y[1]))
+ selection.sort(key=operator.itemgetter(1))
for i, j in selection:
self._selection[i] = str(j)
def get_textual_value(self, record):
value = record[self.field_name].get_client(record)
if not value:
- model, (obj_id, name) = '', (0, '')
+ model, (obj_id, name) = '', (-1, '')
else:
model, (obj_id, name) = value
if model:
- if not name and obj_id:
- args = ('model', model, 'read', obj_id, ['rec_name'],
- rpc.CONTEXT)
- try:
- res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window,
- *args)
- if not res:
- name = '???'
- else:
- name = res['rec_name']
return self._selection.get(model, model) + ',' + name
else:
return name
- def value_from_text(self, record, text):
- pass
+ def value_from_text(self, record, text, callback=None):
+ if callback:
+ callback()
class ProgressBar(object):
@@ -841,7 +871,7 @@ class ProgressBar(object):
'top_to_bottom': gtk.PROGRESS_TOP_TO_BOTTOM,
}
- def __init__(self, field_name, model_name, treeview, window, attrs=None):
+ def __init__(self, field_name, model_name, treeview, attrs=None):
super(ProgressBar, self).__init__()
self.field_name = field_name
self.model_name = model_name
@@ -851,37 +881,36 @@ class ProgressBar(object):
'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
self.renderer.set_property('orientation', orientation)
self.treeview = treeview
- self.window = window
def setter(self, column, cell, store, iter):
record = store.get_value(iter, 0)
value = float(self.get_textual_value(record) or 0.0)
cell.set_property('value', value)
- if isinstance(self.attrs.get('digits'), str):
- digit = record.expr_eval(self.attrs['digits'])[1]
- else:
- digit = self.attrs.get('digits', (16, 2))[1]
+ digit = record.expr_eval(self.attrs.get('digits', (16, 2)))[1]
text = locale.format('%.' + str(digit) + 'f', value, True)
cell.set_property('text', text + '%')
- def open_remote(self, record, create, changed=False, text=None):
+ def open_remote(self, record, create, changed=False, text=None,
+ callback=None):
raise NotImplementedError
def get_textual_value(self, record):
return record[self.field_name].get_client(record) or ''
- def value_from_text(self, record, text):
- return float(text)
+ def value_from_text(self, record, text, callback=None):
+ field = record[self.field_name]
+ field.set_client(record, float(text))
+ if callback:
+ callback()
class Button(object):
- def __init__(self, treeview, window, screen, attrs=None):
+ def __init__(self, treeview, screen, attrs=None):
super(Button, self).__init__()
self.attrs = attrs or {}
self.renderer = CellRendererButton(attrs.get('string', _('Unknown')))
self.treeview = treeview
- self.window = window
self.screen = screen
self.renderer.connect('clicked', self.button_clicked)
@@ -902,7 +931,7 @@ class Button(object):
obj_id = self.screen.save_current()
if obj_id:
if not self.attrs.get('confirm', False) or \
- common.sur(self.attrs['confirm'], self.window):
+ common.sur(self.attrs['confirm']):
button_type = self.attrs.get('type', 'workflow')
ctx = rpc.CONTEXT.copy()
ctx.update(record.context_get())
@@ -912,32 +941,31 @@ class Button(object):
self.attrs['name'], ctx)
try:
rpc.execute(*args)
- except Exception, exception:
- common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ common.process_exception(exception, *args)
elif button_type == 'object':
args = ('model', self.screen.model_name,
self.attrs['name'], [obj_id], ctx)
try:
rpc.execute(*args)
- except Exception, exception:
- common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ common.process_exception(exception, *args)
elif button_type == 'action':
action_id = None
args = ('model', 'ir.action', 'get_action_id',
int(self.attrs['name']), ctx)
try:
action_id = rpc.execute(*args)
- except Exception, exception:
- action_id = common.process_exception(exception,
- self.window, *args)
+ except TrytonServerError, exception:
+ action_id = common.process_exception(exception, *args)
if action_id:
Action.execute(action_id, {
'model': self.screen.model_name,
'id': obj_id,
'ids': [obj_id],
- }, self.window, context=ctx)
+ }, context=ctx)
else:
- raise Exception('Unallowed button type')
+ raise TrytonError('Unallowed button type')
self.screen.reload(written=True)
else:
self.screen.display()
diff --git a/tryton/gui/window/view_form/view/screen_container.py b/tryton/gui/window/view_form/view/screen_container.py
index 0e39c41..344cbc4 100644
--- a/tryton/gui/window/view_form/view/screen_container.py
+++ b/tryton/gui/window/view_form/view/screen_container.py
@@ -16,6 +16,7 @@ class ScreenContainer(object):
self.filter_vbox = None
self.but_prev = None
self.but_next = None
+ self.current_text = ''
self.alternate_viewport = gtk.Viewport()
self.alternate_viewport.set_shadow_type(gtk.SHADOW_NONE)
self.alternate_view = False
@@ -23,20 +24,35 @@ class ScreenContainer(object):
def widget_get(self):
return self.vbox
- def add_filter(self, widget, fnct, clear_fnct, prev_fnct, next_fnct):
- tooltips = common.Tooltips()
+ def set_screen(self, screen):
+ self.screen = screen
+ tooltips = common.Tooltips()
+ if self.filter_vbox is not None:
+ return
self.filter_vbox = gtk.VBox(spacing=0)
self.filter_vbox.set_border_width(0)
hbox = gtk.HBox(homogeneous=False, spacing=0)
label = gtk.Label(_('Search'))
label.set_alignment(0.0, 0.5)
- hbox.pack_start(label, expand=True, fill=True)
+ hbox.pack_start(label, expand=False, fill=False, padding=5)
+
+ self.search_entry = gtk.Entry()
+ self.search_entry.set_alignment(0.0)
+ self.completion = gtk.EntryCompletion()
+ self.completion.set_model(gtk.ListStore(str))
+ self.completion.set_text_column(0)
+ self.completion.set_match_func(lambda *a: True, None)
+ self.search_entry.connect_after('activate', self.do_search)
+ self.search_entry.set_completion(self.completion)
+ self.search_entry.connect('changed', self.changed)
+
+ hbox.pack_start(self.search_entry, expand=True, fill=True, padding=5)
but_prev = gtk.Button()
self.but_prev = but_prev
tooltips.set_tip(but_prev, _('Previous'))
- but_prev.connect('clicked', prev_fnct)
+ but_prev.connect('clicked', self.search_prev)
img_prev = gtk.Image()
img_prev.set_from_stock('tryton-go-previous',
gtk.ICON_SIZE_SMALL_TOOLBAR)
@@ -48,7 +64,7 @@ class ScreenContainer(object):
but_next = gtk.Button()
self.but_next = but_next
tooltips.set_tip(but_next, _('Next'))
- but_next.connect('clicked', next_fnct)
+ but_next.connect('clicked', self.search_next)
img_next = gtk.Image()
img_next.set_from_stock('tryton-go-next',
gtk.ICON_SIZE_SMALL_TOOLBAR)
@@ -59,7 +75,7 @@ class ScreenContainer(object):
but_find = gtk.Button()
tooltips.set_tip(but_find, _('Find'))
- but_find.connect('clicked', fnct)
+ but_find.connect('clicked', self.do_search)
img_find = gtk.Image()
img_find.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
img_find.set_alignment(0.5, 0.5)
@@ -69,7 +85,7 @@ class ScreenContainer(object):
but_clear = gtk.Button()
tooltips.set_tip(but_clear, _('Clear'))
- but_clear.connect('clicked', clear_fnct)
+ but_clear.connect('clicked', self.clear)
img_clear = gtk.Image()
img_clear.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR)
img_clear.set_alignment(0.5, 0.5)
@@ -83,7 +99,6 @@ class ScreenContainer(object):
hseparator = gtk.HSeparator()
hseparator.show()
self.filter_vbox.pack_start(hseparator, expand=True, fill=False)
- self.filter_vbox.pack_start(widget, expand=True, fill=True)
self.vbox.pack_start(self.filter_vbox, expand=False, fill=True)
@@ -115,5 +130,28 @@ class ScreenContainer(object):
self.viewport.add(widget)
self.viewport.show_all()
- def size_get(self):
- return self.viewport.get_child().size_request()
+ def changed(self, editable):
+ res = self.screen.search_complete(self.get_text())
+ self.current_text = self.get_text()
+ model = self.completion.get_model()
+ model.clear()
+ for r in res:
+ model.append([r.strip()])
+
+ def clear(self, widget=None):
+ self.search_entry.set_text('');
+
+ def get_text(self):
+ return self.search_entry.get_text().strip().decode('utf-8')
+
+ def set_text(self, value):
+ return self.search_entry.set_text(value)
+
+ def search_next(self, widget=None):
+ self.screen.search_next(self.get_text())
+
+ def search_prev(self, widget=None):
+ self.screen.search_prev(self.get_text())
+
+ def do_search(self, widget=None):
+ self.screen.search_filter(self.get_text())
diff --git a/tryton/gui/window/view_form/view/widget_parse.py b/tryton/gui/window/view_form/view/widget_parse.py
index 02ab9be..da55426 100644
--- a/tryton/gui/window/view_form/view/widget_parse.py
+++ b/tryton/gui/window/view_form/view/widget_parse.py
@@ -9,6 +9,7 @@ from form import ViewForm
from list import ViewList
from graph import ViewGraph
#from calendar import ViewCalendar
+from tryton.exceptions import TrytonError
PARSERS = {
'form': form_gtk.ParserForm,
@@ -27,24 +28,22 @@ PARSERS2 = {
class WidgetParse(ParserInterface):
- def parse(self, screen, root_node, fields, toolbar=None,
- children_field=None):
+ def parse(self, screen, root_node, fields, children_field=None):
widget = None
for node in root_node.childNodes:
if not node.nodeType == node.ELEMENT_NODE:
continue
if node.localName in PARSERS:
- widget = PARSERS[node.localName](self.window, self.parent,
- self.attrs, screen, children_field)
+ widget = PARSERS[node.localName](self.parent, self.attrs,
+ screen, children_field)
wid, child, buttons, on_write, notebooks, cursor_widget = \
widget.parse(screen.model_name, node, fields)
screen.set_on_write(on_write)
- res = PARSERS2[node.localName](self.window, screen, wid, child,
- buttons, toolbar, notebooks, cursor_widget,
- children_field)
+ res = PARSERS2[node.localName](screen, wid, child, buttons,
+ notebooks, cursor_widget, children_field)
res.title = widget.title
widget = res
break
else:
- raise Exception('Unknow view mode: %s' % node.localName)
+ raise TrytonError('Unknow view mode: %s' % node.localName)
return widget
diff --git a/tryton/gui/window/view_form/widget_search/__init__.py b/tryton/gui/window/view_form/widget_search/__init__.py
deleted file mode 100644
index ff8a6ab..0000000
--- a/tryton/gui/window/view_form/widget_search/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-from form import *
diff --git a/tryton/gui/window/view_form/widget_search/calendar.py b/tryton/gui/window/view_form/widget_search/calendar.py
deleted file mode 100644
index e643197..0000000
--- a/tryton/gui/window/view_form/widget_search/calendar.py
+++ /dev/null
@@ -1,202 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import time
-import datetime
-import gtk
-import gettext
-import locale
-from interface import Interface
-from tryton.common import DT_FORMAT, DHM_FORMAT, TRYTON_ICON
-from tryton.common import date_widget, Tooltips, datetime_strftime
-from tryton.translate import date_format
-import gobject
-
-_ = gettext.gettext
-
-
-class Calendar(Interface):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(Calendar, self).__init__(name, parent, attrs=attrs,
- context=context, on_change=on_change)
-
- tooltips = Tooltips()
- self.widget = gtk.HBox(spacing=3)
-
- self.format = date_format()
-
- self.liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
- self.combo = gtk.ComboBox(self.liststore)
- cell = gtk.CellRendererText()
- self.combo.pack_start(cell, True)
- self.combo.add_attribute(cell, 'text', 1)
- for oper in (['=', _('is')],
- ['between', _('is between')],
- ['not between', _('is not between')],
- ['!=', _('is not')],
- ):
- self.liststore.append(oper)
- self.combo.set_active(0)
- self.widget.pack_start(self.combo, False, False)
- self.combo.connect('changed', self._changed)
- self.combo.connect('changed', self.on_change)
-
- self.widget1 = date_widget.ComplexEntry(self.format, spacing=3)
- self.widget1.show()
- self.entry1 = self.widget1.widget
- self.entry1.set_property('width-chars', 10)
- self.entry1.set_property('activates_default', True)
- self.entry1.connect('key_press_event', self.on_change)
- tooltips.set_tip(self.entry1, _('Start date'))
- self.widget.pack_start(self.widget1, expand=False, fill=True)
-
- self.eb1 = gtk.EventBox()
- tooltips.set_tip(self.eb1, _('Open the calendar'))
- self.eb1.set_events(gtk.gdk.BUTTON_PRESS)
- self.eb1.connect('button_press_event', self.cal_open, self.entry1,
- parent)
- img = gtk.Image()
- img.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON)
- img.set_alignment(0.5, 0.5)
- self.eb1.add(img)
- self.widget.pack_start(self.eb1, expand=False, fill=False)
-
- self.separator = gtk.Label('-')
- self.widget.pack_start(self.separator, expand=False, fill=False)
-
- self.widget2 = date_widget.ComplexEntry(self.format, spacing=3)
- self.entry2 = self.widget2.widget
- self.entry2.set_property('width-chars', 10)
- self.entry2.set_property('activates_default', True)
- self.entry2.connect('key_press_event', self.on_change)
- tooltips.set_tip(self.entry2, _('End date'))
- self.widget.pack_start(self.widget2, expand=False, fill=True)
-
- self.eb2 = gtk.EventBox()
- tooltips.set_tip(self.eb2, _('Open the calendar'))
- self.eb2.set_events(gtk.gdk.BUTTON_PRESS)
- self.eb2.connect('button_press_event', self.cal_open, self.entry2,
- parent)
- img = gtk.Image()
- img.set_from_stock('tryton-find', gtk.ICON_SIZE_BUTTON)
- img.set_alignment(0.5, 0.5)
- self.eb2.add(img)
- self.widget.pack_start(self.eb2, expand=False, fill=False)
-
- self.widget.show_all()
- self._changed(self.combo)
-
- tooltips.enable()
-
- def _changed(self, widget):
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if oper in ('=', '!='):
- self.entry2.hide()
- self.separator.hide()
- self.eb2.hide()
- else:
- self.entry2.show()
- self.separator.show()
- self.eb2.show()
-
- def _date_get(self, value):
- try:
- date = datetime.date(*time.strptime(value, self.format)[:3])
- except Exception:
- return False
- if self.attrs.get('type', 'date') == 'datetime':
- return datetime_strftime(datetime.datetime.combine(date,
- datetime.time.min), DHM_FORMAT)
- return datetime_strftime(date, DT_FORMAT)
-
- def _value_get(self):
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if oper in ('=', '!='):
- value = self._date_get(self.entry1.get_text())
- if value:
- return [(self.name, oper, value)]
- else:
- return []
- else:
- res = []
- if oper == 'between':
- clause = 'AND'
- oper1 = '>='
- oper2 = '<='
- else:
- clause = 'OR'
- oper1 = '<='
- oper2 = '>='
- res.append(clause)
- val = self._date_get(self.entry1.get_text())
- if val:
- res.append((self.name, oper1, val))
- val = self._date_get(self.entry2.get_text())
- if val:
- res.append((self.name, oper2, val))
- return [res]
-
- def _value_set(self, value):
- def conv(value):
- if not value:
- return ''
- try:
- return datetime_strftime(value, self.format)
- except Exception:
- return ''
-
- i = self.liststore.get_iter_root()
- while i:
- if self.liststore.get_value(i, 0) == value[0]:
- self.combo.set_active_iter(i)
- break
- i = self.liststore.iter_next(i)
-
- self.entry1.set_text(conv(value[1]))
- if len(value) == 2:
- self.entry2.clear()
- else:
- self.entry2.set_text(conv(value[2]))
-
- value = property(_value_get, _value_set)
-
- def cal_open(self, widget, event, dest, parent=None):
- win = gtk.Dialog(_('Date selection'), parent,
- gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
- (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
- gtk.STOCK_OK, gtk.RESPONSE_OK))
- win.set_has_separator(True)
- win.set_icon(TRYTON_ICON)
-
- cal = gtk.Calendar()
- cal.display_options(gtk.CALENDAR_SHOW_HEADING | \
- gtk.CALENDAR_SHOW_DAY_NAMES | \
- gtk.CALENDAR_SHOW_WEEK_NUMBERS)
- cal.connect('day-selected-double-click',
- lambda *x: win.response(gtk.RESPONSE_OK))
- win.vbox.pack_start(cal, expand=True, fill=True)
- win.show_all()
-
- try:
- val = self._date_get(dest.get_text())
- if val:
- cal.select_month(int(val[5:7])-1, int(val[0:4]))
- cal.select_day(int(val[8:10]))
- except ValueError:
- pass
-
- response = win.run()
- if response == gtk.RESPONSE_OK:
- year, month, day = cal.get_date()
- date = datetime.date(year, month + 1, day)
- dest.set_text(datetime_strftime(date, self.format))
- self.on_change()
- win.destroy()
-
- def clear(self):
- self.value = ('=', '')
-
- def sig_activate(self, fct):
- self.entry1.connect_after('activate', fct)
- self.entry2.connect_after('activate', fct)
diff --git a/tryton/gui/window/view_form/widget_search/char.py b/tryton/gui/window/view_form/widget_search/char.py
deleted file mode 100644
index 8474fe3..0000000
--- a/tryton/gui/window/view_form/widget_search/char.py
+++ /dev/null
@@ -1,83 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-import gettext
-from interface import Interface
-import gobject
-
-_ = gettext.gettext
-
-
-class Char(Interface):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(Char, self).__init__(name, parent, attrs=attrs, context=context,
- on_change=on_change)
-
- self.widget = gtk.HBox()
-
- self.liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
- self.combo = gtk.ComboBox(self.liststore)
- cell = gtk.CellRendererText()
- self.combo.pack_start(cell, True)
- self.combo.add_attribute(cell, 'text', 1)
- for oper in (
- ['ilike', _('contains')],
- ['not ilike', _('does not contain')],
- ['=', _('equals')],
- ['!=', _('does not equal')],
- ['starts', _('starts with')],
- ['ends', _('ends with')],
- ):
- self.liststore.append(oper)
- self.combo.set_active(0)
- self.combo.connect('changed', self.on_change)
- self.widget.pack_start(self.combo, False, False)
-
- self.entry = gtk.Entry()
- self.entry.set_max_length(int(self.attrs.get('size', 0)))
- self.entry.set_width_chars(5)
- self.entry.set_property('activates_default', True)
- self.entry.connect('key_press_event', self.on_change)
- self.widget.pack_start(self.entry, True, True)
- self.widget.show_all()
-
- def _value_get(self):
- value = self.entry.get_text()
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if value or oper != 'ilike':
- if oper == '=' and not value:
- value = False
- if oper in ('ilike', 'not ilike') \
- and '%' not in value:
- return [(self.name, oper, '%' + value + '%')]
- elif oper == 'starts':
- return [(self.name, 'ilike', value + '%')]
- elif oper == 'ends':
- return [(self.name, 'ilike', '%' + value)]
- return [(self.name, oper, value)]
- else:
- return []
-
- def _value_set(self, value):
- i = self.liststore.get_iter_root()
- while i:
- if self.liststore.get_value(i, 0) == value[0]:
- self.combo.set_active_iter(i)
- break
- i = self.liststore.iter_next(i)
- self.entry.set_text(value[1] or '')
-
- value = property(_value_get, _value_set)
-
- def clear(self):
- self.value = ['ilike', '']
-
- def _readonly_set(self, value):
- self.combo.set_sensitive(not value)
- self.entry.set_editable(not value)
- self.entry.set_sensitive(not value)
-
- def sig_activate(self, fct):
- self.entry.connect_after('activate', fct)
diff --git a/tryton/gui/window/view_form/widget_search/checkbox.py b/tryton/gui/window/view_form/widget_search/checkbox.py
deleted file mode 100644
index d357daa..0000000
--- a/tryton/gui/window/view_form/widget_search/checkbox.py
+++ /dev/null
@@ -1,78 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-import gettext
-from interface import Interface
-
-_ = gettext.gettext
-
-
-class CheckBox(Interface):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(CheckBox, self).__init__(name, parent, attrs=attrs,
- context=context, on_change=on_change)
-
- self.widget = gtk.combo_box_entry_new_text()
- self.widget.child.set_editable(True)
- self.widget.child.set_property('activates_default', True)
- self.widget.child.connect('key_press_event', self.sig_key_press)
- self.widget.child.connect('key_press_event', self.on_change)
- self.widget.set_focus_chain([self.widget.child])
-
- if self.name != 'active' or \
- not (self.name == 'active' \
- and self.context.get('active_test', True)):
- self.widget.append_text('')
- self.widget.child.set_text('')
- else:
- self.widget.child.set_text(_('Yes'))
- self.widget.append_text(_('Yes'))
- self.widget.append_text(_('No'))
-
- completion = gtk.EntryCompletion()
- #Only available in PyGTK 2.6 and above.
- if hasattr(completion, 'set_inline_selection'):
- completion.set_inline_selection(True)
- completion.set_model(self.widget.get_model())
- self.widget.child.set_completion(completion)
- completion.set_text_column(0)
- self.widget.show()
-
- def sig_key_press(self, widget, event):
- if event.type == gtk.gdk.KEY_PRESS \
- and event.state & gtk.gdk.CONTROL_MASK \
- and event.keyval == gtk.keysyms.space:
- self.widget.popup()
-
- def _value_get(self):
- val = self.widget.child.get_text()
- if not val \
- and self.name == 'active' \
- and self.context.get('active_test', True):
- val = _('Yes')
- self.widget.child.set_text(val)
- if val:
- return [(self.name, '=', int(val == _('Yes')))]
- self.widget.child.set_text('')
- return []
-
- def _value_set(self, value):
- if value == '':
- if self.name != 'active' or \
- (self.name == 'active' \
- and self.context.get('active_test', True)):
- self.widget.child.set_text('')
- else:
- self.widget.child.set_text(_('Yes'))
- return
- if value:
- self.widget.child.set_text(_('Yes'))
- else:
- self.widget.child.set_text(_('No'))
-
- value = property(_value_get, _value_set)
-
- def sig_activate(self, fct):
- self.widget.child.connect_after('activate', fct)
diff --git a/tryton/gui/window/view_form/widget_search/float.py b/tryton/gui/window/view_form/widget_search/float.py
deleted file mode 100644
index 9b6966d..0000000
--- a/tryton/gui/window/view_form/widget_search/float.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import locale
-from decimal import Decimal
-from integer import Integer
-import gettext
-
-_ = gettext.gettext
-
-
-class Float(Integer):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(Float, self).__init__(name, parent, attrs=attrs, context=context,
- on_change=on_change)
- if isinstance(self.attrs.get('digits'), str):
- self.digits = (16, 2)
- else:
- self.digits = self.attrs.get('digits', (16, 2))
-
- def _value_get(self):
- try:
- value1 = locale.atof(self.entry1.get_text())
- except Exception:
- value1 = False
- try:
- value2 = locale.atof(self.entry2.get_text())
- except Exception:
- value2 = False
- return self._get_clause(value1, value2)
-
- def _value_set(self, value):
- def conv(value):
- if value == False:
- return ''
- else:
- return locale.format('%.' + str(self.digits[1]) + 'f',
- value or 0.0, True)
-
- i = self.liststore.get_iter_root()
- while i:
- if self.liststore.get_value(i, 0) == value[0]:
- self.combo.set_active_iter(i)
- break
- i = self.liststore.iter_next(i)
-
- self.entry1.set_text(conv(value[1]))
- if len(value) == 2:
- self.entry2.set_text('')
- else:
- self.entry2.set_text(conv(value[2]))
-
- value = property(_value_get, _value_set)
-
- def clear(self):
- self.value = ('=', False, False)
-
- def sig_insert_text(self, widget, new_text, new_text_length, position):
- value = widget.get_text()
- position = widget.get_position()
- new_value = value[:position] + new_text + value[position:]
- try:
- if new_value == '-':
- return
- if len(str(int(locale.atof(new_value)))) > self.digits[0]:
- widget.stop_emission('insert-text')
- except Exception:
- widget.stop_emission('insert-text')
-
-
-class Numeric(Float):
-
- def _value_get(self):
- try:
- value1 = Decimal(str(locale.atof(self.entry1.get_text())))
- except Exception:
- value1 = False
- try:
- value2 = Decimal(str(locale.atof(self.entry2.get_text())))
- except Exception:
- value2 = False
- res = self._get_clause(value1, value2)
- return res
-
- def _value_set(self, value):
- super(Numeric, self)._value_set(value)
-
- value = property(_value_get, _value_set)
diff --git a/tryton/gui/window/view_form/widget_search/form.py b/tryton/gui/window/view_form/widget_search/form.py
deleted file mode 100644
index 1e88be6..0000000
--- a/tryton/gui/window/view_form/widget_search/form.py
+++ /dev/null
@@ -1,321 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-from xml.parsers import expat
-import sys
-import gettext
-from tryton.config import CONFIG
-
-_ = gettext.gettext
-
-
-class _container(object):
-
- def __init__(self, max_width):
- self.cont = []
- self.max_width = max_width
- self.width = {}
- self.count = 0
- self.col = 0
-
- def new(self, col=6):
- self.col = col+1
- table = gtk.Table(1, col)
- table.show()
- table.set_homogeneous(False)
- table.set_col_spacings(3)
- table.set_row_spacings(0)
- table.set_border_width(1)
- self.cont.append( (table, 1, 0) )
-
- def get(self):
- return self.cont[-1][0]
-
- def pop(self):
- return self.cont.pop()[0]
-
- def newline(self):
- (table, i, j) = self.cont[-1]
- if i > 0:
- self.cont[-1] = (table, 1, j+1)
- table.resize(j + 1, self.col)
-
- def wid_add(self, widget, length=1, name=None, expand=False, ypadding=0):
- self.count += 1
- (table, i, j) = self.cont[-1]
- if length > self.col:
- length = self.col
- if length + i > self.col:
- self.newline()
- (table, i, j) = self.cont[-1]
- if name:
- vbox = gtk.VBox(homogeneous=False, spacing=1)
- vbox.show()
- label = gtk.Label(name)
- label.show()
- label.set_alignment(0.0, 0.5)
- vbox.pack_start(label, expand=False)
- vbox.pack_start(widget, expand=expand, fill=True)
- wid = vbox
- else:
- wid = widget
- yopt = False
- if expand:
- yopt = yopt | gtk.EXPAND |gtk.FILL
- table.attach(wid, i, i+length, j, j+1,
- yoptions=yopt, xoptions=gtk.FILL|gtk.EXPAND,
- ypadding=ypadding, xpadding=5)
- self.cont[-1] = (table, i+length, j)
- width = 750
- if widget:
- width = widget.size_request()[0]
- self.width[('%d.%d') % (i, j)] = width
- return wid
-
-
-class Parse(object):
-
- def __init__(self, parent, fields, model='', context=None,
- on_change=None):
- self.fields = fields
- self.parent = parent
- self.model = model
- self.col = CONFIG['client.modepda'] and 1 or 6
- self.focusable = None
- self.add_widget_end = []
- self.container = None
- self.spin_limit = gtk.SpinButton(climb_rate=1, digits=0)
- self.spin_limit.show()
- self.spin_offset = gtk.SpinButton(climb_rate=1, digits=0)
- self.spin_offset.show()
- self.title = 'Form'
- self.notebooks = []
- self.dict_widget = {}
- self.context = context or {}
- self.on_change = on_change
-
- def _psr_start(self, name, attrs):
-
- if name in ('form','tree'):
- self.title = attrs.get('string', self.title)
- self.container.new(self.col)
- elif name == 'field':
- if attrs['name'] in self.fields:
- val = attrs.get('select', None)
- if val is None:
- val = self.fields[attrs['name']].get('select', 0)
- val = int(val)
- if val:
- if val <= 1:
- self.add_widget(attrs, val)
- else:
- self.add_widget_end.append((attrs, val))
-
- def add_widget(self, attrs, val):
- ftype = attrs.get('widget', self.fields[str(attrs['name'])]['type'])
- self.fields[str(attrs['name'])].update(attrs)
- self.fields[str(attrs['name'])]['model']=self.model
- if ftype not in WIDGETS_TYPE:
- return False
- widget_act = WIDGETS_TYPE[ftype][0](str(attrs['name']), self.parent,
- attrs=self.fields[attrs['name']], context=self.context,
- on_change=self.on_change)
- if 'string' in self.fields[str(attrs['name'])]:
- label = self.fields[str(attrs['name'])]['string'] + _(':')
- else:
- label = None
- size = WIDGETS_TYPE[ftype][1]
- if not self.focusable:
- self.focusable = widget_act.widget
- wid = self.container.wid_add(widget_act.widget, size, label,
- int(self.fields[str(attrs['name'])].get('expand',0)))
- if int(val) <= 1:
- wid.show()
- self.dict_widget[str(attrs['name'])] = (widget_act, wid, int(val))
-
- def add_parameters(self):
- hb_param = gtk.HBox(spacing=3)
- hb_param.pack_start(gtk.Label(_('Limit:')), expand=False, fill=False)
-
- self.spin_limit.set_numeric(False)
- self.spin_limit.set_adjustment(gtk.Adjustment(value=CONFIG['client.limit'],
- lower=1, upper=sys.maxint, step_incr=10, page_incr=100))
- self.spin_limit.set_property('visible', True)
-
- hb_param.pack_start(self.spin_limit, expand=False, fill=False)
-
- hb_param.pack_start(gtk.Label(_('Offset:')), expand=False, fill=False)
-
- self.spin_offset.set_numeric(False)
- self.spin_offset.set_adjustment(gtk.Adjustment(value=0, lower=0,
- upper=sys.maxint, step_incr=CONFIG['client.limit'], page_incr=100))
-
- hb_param.pack_start(self.spin_offset, expand=False, fill=False)
-
- hb_param.show_all()
- return hb_param
-
- def _psr_end(self, name):
- pass
-
- def _psr_char(self, name):
- pass
-
- def parse(self, xml_data, max_width):
- psr = expat.ParserCreate()
- psr.StartElementHandler = self._psr_start
- psr.EndElementHandler = self._psr_end
- psr.CharacterDataHandler = self._psr_char
- self.container = _container(max_width)
-
- psr.Parse(xml_data)
-
- vbox = gtk.VBox()
- vbox.show()
- vbox.pack_start(self.container.pop())
-
- expander = gtk.Expander(_('Advanced Search'))
- expander.show()
- vbox2 = gtk.VBox()
- vbox2.show()
-
- self.container = _container(max_width)
- self.container.new(self.col)
- for i in self.add_widget_end:
- self.add_widget(*i)
- if ('active' in self.fields) and ('active' not in self.dict_widget):
- val = self.fields['active'].get('select', 0)
- val = int(val)
- self.add_widget(self.fields['active'], val)
-
- self.add_widget_end = []
-
- vbox2.pack_start(self.container.pop())
-
- vbox2.pack_start(self.add_parameters())
- expander.add(vbox2)
- vbox.pack_start(expander)
-
- return (self.dict_widget, vbox)
-
-
-class Form(object):
-
- def __init__(self, view, model=None, parent=None, domain=None,
- call=None, context=None):
- if domain is None:
- domain = []
- if context is None:
- context = {}
- parser = Parse(parent, view['fields'], model=model, context=context,
- on_change=self.on_change)
- self.parent = parent
- self.fields = view['fields']
- self.model = model
- self.parser = parser
- self.call = call
- self.context = context
- #get the size of the window and the limite / decalage Hbox element
- width = 640
- if self.parent:
- width = self.parent.size_request()[0]
- (self.widgets, self.widget) = parser.parse(view['arch'], width)
- self.widget.show()
- self.spin_limit = parser.spin_limit
- self.spin_limit.connect('value-changed', self.limit_changed)
- self.spin_limit.set_activates_default(True)
- self.spin_offset = parser.spin_offset
- self.spin_offset.set_activates_default(True)
- self.focusable = parser.focusable
- self.id = 0
- self.name = parser.title
- for i in self.widgets.itervalues():
- i[0].sig_activate(self.sig_activate)
- self.spin_limit.connect_after('activate', self.sig_activate)
- self.spin_offset.connect_after('activate', self.sig_activate)
-
- def clear(self):
- self.id = 0
- for i in self.widgets.itervalues():
- i[0].clear()
- self.spin_offset.set_value(0)
-
- def next(self):
- self.spin_offset.set_value(self.spin_offset.get_value()
- + self.spin_limit.get_value())
-
- def prev(self):
- self.spin_offset.set_value(max(self.spin_offset.get_value()
- - self.spin_limit.get_value(), 0))
-
- def on_change(self, *args):
- self.spin_offset.set_value(0)
-
- def limit_changed(self, widget):
- self.spin_offset.set_increments(step=self.spin_limit.get_value(),
- page=100)
-
- def set_limit(self, value):
- if not value:
- value = CONFIG['client.limit']
- return self.spin_limit.set_value(value)
-
- def get_limit(self):
- return self.spin_limit.get_value()
-
- def get_offset(self):
- return self.spin_offset.get_value()
-
- def sig_activate(self, *args):
- if self.call:
- obj, fct = self.call
- fct(obj)
-
- def _value_get(self):
- res = []
- for i in self.widgets:
- res += self.widgets[i][0].value
- return res
-
- def _value_set(self, value):
- if not value:
- return
- for i in value:
- if i in self.widgets:
- self.widgets[i][0].value = value[i]
-
- value = property(_value_get, _value_set)
-
-import calendar
-import float
-import integer
-import selection
-import char
-import checkbox
-import reference
-
-WIDGETS_TYPE = {
- 'date': (calendar.Calendar, 2),
- 'datetime': (calendar.Calendar, 2),
- 'float': (float.Float, 2),
- 'numeric': (float.Numeric, 2),
- 'integer': (integer.Integer, 2),
- 'biginteger': (integer.Integer, 2),
- 'selection': (selection.Selection, 2),
- 'many2one_selection': (selection.Selection, 2),
- 'char': (char.Char, 2),
- 'boolean': (checkbox.CheckBox, 2),
- 'reference': (reference.Reference, 2),
- 'text': (char.Char, 2),
- 'email': (char.Char, 2),
- 'url': (char.Char, 2),
- 'many2one': (char.Char, 2),
- 'one2many': (char.Char, 2),
- 'one2many_form': (char.Char, 2),
- 'one2many_list': (char.Char, 2),
- 'many2many_edit': (char.Char, 2),
- 'many2many': (char.Char, 2),
- 'callto': (char.Char, 2),
- 'sip': (char.Char, 2),
- 'one2one': (char.Char, 2),
-}
diff --git a/tryton/gui/window/view_form/widget_search/integer.py b/tryton/gui/window/view_form/widget_search/integer.py
deleted file mode 100644
index 889642c..0000000
--- a/tryton/gui/window/view_form/widget_search/integer.py
+++ /dev/null
@@ -1,140 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-from interface import Interface
-import locale
-import gettext
-import gobject
-
-_ = gettext.gettext
-
-
-class Integer(Interface):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(Integer, self).__init__(name, parent, attrs=attrs,
- context=context, on_change=on_change)
- self.widget = gtk.HBox(spacing=3)
-
- self.liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
- self.combo = gtk.ComboBox(self.liststore)
- cell = gtk.CellRendererText()
- self.combo.pack_start(cell, True)
- self.combo.add_attribute(cell, 'text', 1)
- for oper in (['=', _('equals')],
- ['between', _('is between')],
- ['not between', _('is not between')],
- ['!=', _('is different')],
- ):
- self.liststore.append(oper)
- self.combo.set_active(0)
- self.widget.pack_start(self.combo, False, False)
- self.combo.connect('changed', self._changed)
- self.combo.connect('changed', self.on_change)
-
- self.entry1 = gtk.Entry()
- self.entry1.set_max_length(0)
- self.entry1.set_width_chars(5)
- self.entry1.set_activates_default(True)
- self.entry1.set_alignment(1.0)
- self.entry1.connect('insert_text', self.sig_insert_text)
- self.entry1.connect('key_press_event', self.on_change)
- self.widget.pack_start(self.entry1, expand=True, fill=True)
- self.separator = gtk.Label('-')
- self.widget.pack_start(self.separator, expand=False, fill=False)
- self.entry2 = gtk.Entry()
- self.entry2.set_max_length(0)
- self.entry2.set_width_chars(5)
- self.entry2.set_activates_default(True)
- self.entry2.set_alignment(1.0)
- self.entry2.connect('insert_text', self.sig_insert_text)
- self.entry2.connect('key_press_event', self.on_change)
- self.widget.pack_start(self.entry2, expand=True, fill=True)
-
- self.widget.show_all()
- self._changed(self.combo)
-
- def _changed(self, widget):
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if oper in ('=', '!='):
- self.entry2.hide()
- self.separator.hide()
- else:
- self.entry2.show()
- self.separator.show()
-
- def _value_get(self):
- try:
- value1 = locale.atoi(self.entry1.get_text())
- except Exception:
- value1 = False
- try:
- value2 = locale.atoi(self.entry2.get_text())
- except Exception:
- value2 = False
- return self._get_clause(value1, value2)
-
- def _get_clause(self, value1, value2):
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if oper in ('=', '!='):
- if self.entry1.get_text():
- return [(self.name, oper, value1 or 0)]
- else:
- return []
- else:
- res = []
- if oper == 'between':
- clause = 'AND'
- oper1 = '>='
- oper2 = '<='
- else:
- clause = 'OR'
- oper1 = '<='
- oper2 = '>='
- res.append(clause)
- if value1 is not False:
- res.append((self.name, oper1, value1))
- if value2 is not False:
- res.append((self.name, oper2, value2))
- return [res]
-
- def _value_set(self, value):
- def conv(value):
- if value == False:
- return ''
- else:
- return locale.format('%d', value or 0, True)
-
- i = self.liststore.get_iter_root()
- while i:
- if self.liststore.get_value(i, 0) == value[0]:
- self.combo.set_active_iter(i)
- break
- i = self.liststore.iter_next(i)
-
- self.entry1.set_text(conv(value[1]))
- if len(value) == 2:
- self.entry2.set_text('')
- else:
- self.entry2.set_text(conv(value[2]))
-
- value = property(_value_get, _value_set)
-
- def clear(self):
- self.value = ('=', False, False)
-
- def sig_activate(self, fct):
- self.entry1.connect_after('activate', fct)
- self.entry2.connect_after('activate', fct)
-
- def sig_insert_text(self, widget, new_text, new_text_length, position):
- value = widget.get_text()
- position = widget.get_position()
- new_value = value[:position] + new_text + value[position:]
- try:
- if new_value == '-':
- return
- locale.atoi(new_value)
- except Exception:
- widget.stop_emission('insert-text')
diff --git a/tryton/gui/window/view_form/widget_search/interface.py b/tryton/gui/window/view_form/widget_search/interface.py
deleted file mode 100644
index 6d400f6..0000000
--- a/tryton/gui/window/view_form/widget_search/interface.py
+++ /dev/null
@@ -1,37 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gettext
-
-_ = gettext.gettext
-
-
-class Interface(object):
- "Interface for search widget"
-
- def __init__(self, name, parent, attrs=None, context=None, on_change=None):
- if attrs is None:
- attrs = {}
- self._value = None
- self.parent = parent
- self.name = name
- self.model = attrs.get('model', None)
- self.attrs = attrs or {}
- self.context = context or {}
- self.on_change = on_change
-
- def clear(self):
- self.value = ''
-
- def _value_get(self):
- return self._value
-
- def _value_set(self, value):
- self._value = value
-
- value = property(_value_get, _value_set)
-
- def _readonly_set(self, value):
- pass
-
- def sig_activate(self, fct):
- pass
diff --git a/tryton/gui/window/view_form/widget_search/reference.py b/tryton/gui/window/view_form/widget_search/reference.py
deleted file mode 100644
index 015e2ca..0000000
--- a/tryton/gui/window/view_form/widget_search/reference.py
+++ /dev/null
@@ -1,130 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-import gettext
-from interface import Interface
-import tryton.rpc as rpc
-import tryton.common as common
-import gobject
-
-_ = gettext.gettext
-
-
-class Reference(Interface):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(Reference, self).__init__(name, parent, attrs=attrs,
- context=context, on_change=on_change)
-
- self.widget = gtk.HBox()
-
- self.liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
- self.combo = gtk.ComboBox(self.liststore)
- cell = gtk.CellRendererText()
- self.combo.pack_start(cell, True)
- self.combo.add_attribute(cell, 'text', 1)
- for oper in (['like', _('equals')],
- ['not like', _('is different')],
- ):
- self.liststore.append(oper)
- self.combo.set_active(0)
- self.combo.connect('changed', self.on_change)
- self.widget.pack_start(self.combo, False, False)
-
- self.entry = gtk.combo_box_entry_new_text()
- self.entry.child.set_editable(True)
- self.entry.child.set_property('activates_default', True)
- self.entry.child.connect('key_press_event', self.sig_key_press)
- self.entry.child.connect('key_press_event', self.on_change)
- self.entry.set_focus_chain([self.entry.child])
- self._selection = {}
- selection = self.attrs.get('selection', [])
- if 'relation' in self.attrs:
- try:
- result = rpc.execute('model',
- self.attrs['relation'], 'search_read',
- self.attrs.get('domain', []),
- 0, None, None, ['rec_name'], rpc.CONTEXT)
- selection = [(x['id'], x['rec_name']) for x in result]
- except Exception, exception:
- common.process_exception(exception, parent)
- selection = []
- else:
- if not isinstance(selection, (list, tuple)):
- try:
- selection = rpc.execute('model',
- self.attrs['model'], selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, parent)
- selection = []
- selection.sort(lambda x, y: cmp(x[1], y[1]))
- self.attrs['selection'] = selection
- self.set_popdown(selection)
- self.widget.pack_start(self.entry, True, True)
- self.widget.show_all()
-
- def set_popdown(self, selection):
- model = self.entry.get_model()
- model.clear()
- lst = []
- for (i, j) in selection:
- name = str(j)
- if type(i) == type(1):
- name += ' (' + str(i) + ')'
- lst.append(name)
- self._selection[name] = i
- self.entry.append_text('')
- for name in lst:
- self.entry.append_text(name)
- completion = gtk.EntryCompletion()
- #Only available in PyGTK 2.6 and above.
- if hasattr(completion, 'set_inline_selection'):
- completion.set_inline_selection(True)
- completion.set_model(model)
- self.entry.child.set_completion(completion)
- completion.set_text_column(0)
- return lst
-
- def sig_key_press(self, widget, event):
- if event.type == gtk.gdk.KEY_PRESS \
- and event.state & gtk.gdk.CONTROL_MASK \
- and event.keyval == gtk.keysyms.space:
- self.entry.popup()
-
- def _value_get(self):
- value = self._selection.get(self.entry.child.get_text(), False)
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if value or oper != 'like':
- return [(self.name, oper, value + ',%')]
- else:
- self.entry.child.set_text('')
- return []
-
- def _value_set(self, value):
- i = self.liststore.get_iter_root()
- while i:
- if self.liststore.get_value(i, 0) == value[0]:
- self.combo.set_active_iter(i)
- break
- i = self.liststore.iter_next(i)
- if value[1] == False:
- self.entry.child.set_text('')
- return
- for long_text, sel_value in self._selection.items():
- if sel_value == value[1]:
- self.entry.child.set_text(long_text)
- break
-
- value = property(_value_get, _value_set, None,
- 'The content of the widget or ValueError if not valid')
-
- def clear(self):
- self.value = ['like', False]
-
- def _readonly_set(self, value):
- self.combo.set_sensitive(not value)
- self.entry.set_sensitive(not value)
-
- def sig_activate(self, fct):
- self.entry.child.connect_after('activate', fct)
diff --git a/tryton/gui/window/view_form/widget_search/selection.py b/tryton/gui/window/view_form/widget_search/selection.py
deleted file mode 100644
index ecda05e..0000000
--- a/tryton/gui/window/view_form/widget_search/selection.py
+++ /dev/null
@@ -1,134 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-from interface import Interface
-import tryton.rpc as rpc
-import tryton.common as common
-import gobject
-import gettext
-from tryton.pyson import PYSONDecoder
-
-_ = gettext.gettext
-
-class Selection(Interface):
-
- def __init__(self, name, parent, attrs=None, context=None,
- on_change=None):
- super(Selection, self).__init__(name, parent, attrs=attrs,
- context=context, on_change=on_change)
-
- self.widget = gtk.HBox()
-
- self.liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
- self.combo = gtk.ComboBox(self.liststore)
- cell = gtk.CellRendererText()
- self.combo.pack_start(cell, True)
- self.combo.add_attribute(cell, 'text', 1)
- for oper in (['=', _('equals')],
- ['!=', _('is different')],
- ):
- self.liststore.append(oper)
- self.combo.set_active(0)
- self.combo.connect('changed', self.on_change)
- self.widget.pack_start(self.combo, False, False)
-
- self.entry = gtk.combo_box_entry_new_text()
- self.entry.child.set_editable(True)
- self.entry.child.set_property('activates_default', True)
- self.entry.child.connect('key_press_event', self.sig_key_press)
- self.entry.child.connect('key_press_event', self.on_change)
- self.entry.set_focus_chain([self.entry.child])
- self._selection = {}
- selection = self.attrs.get('selection', [])
- if 'relation' in self.attrs:
- if not self.attrs.get('domain'):
- domain = []
- else:
- domain = PYSONDecoder(rpc.CONTEXT).decode(self.attrs['domain'])
- try:
- result = rpc.execute('model', self.attrs['relation'],
- 'search_read', domain, 0, None, None,
- ['rec_name'], rpc.CONTEXT)
- selection = [(x['id'], x['rec_name']) for x in result]
- except Exception, exception:
- common.process_exception(exception, parent)
- selection = []
- else:
- if not isinstance(selection, (list, tuple)):
- try:
- selection = rpc.execute('model',
- self.attrs['model'], selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, parent)
- selection = []
- selection.sort(lambda x, y: cmp(x[1], y[1]))
- self.attrs['selection'] = selection
- self.set_popdown(selection)
- self.widget.pack_start(self.entry, True, True)
- self.widget.show_all()
-
- def set_popdown(self, selection):
- model = self.entry.get_model()
- model.clear()
- self._selection = {}
- lst = []
- for (i, j) in selection:
- name = str(j)
- if type(i) == type(1):
- name += ' (' + str(i) + ')'
- lst.append(name)
- self._selection[name] = i
- self.entry.append_text('')
- for name in lst:
- self.entry.append_text(name)
- completion = gtk.EntryCompletion()
- #Only available in PyGTK 2.6 and above.
- if hasattr(completion, 'set_inline_selection'):
- completion.set_inline_selection(True)
- completion.set_model(model)
- self.entry.child.set_completion(completion)
- completion.set_text_column(0)
- return lst
-
- def sig_key_press(self, widget, event):
- if event.type == gtk.gdk.KEY_PRESS \
- and event.state & gtk.gdk.CONTROL_MASK \
- and event.keyval == gtk.keysyms.space:
- self.entry.popup()
-
- def _value_get(self):
- value = self._selection.get(self.entry.child.get_text(), False)
- oper = self.liststore.get_value(self.combo.get_active_iter(), 0)
- if value or oper != '=':
- return [(self.name, oper, value)]
- else:
- self.entry.child.set_text('')
- return []
-
- def _value_set(self, value):
- i = self.liststore.get_iter_root()
- while i:
- if self.liststore.get_value(i, 0) == value[0]:
- self.combo.set_active_iter(i)
- break
- i = self.liststore.iter_next(i)
- if value[1] == False:
- self.entry.child.set_text('')
- return
- for long_text, sel_value in self._selection.items():
- if sel_value == value[1]:
- self.entry.child.set_text(long_text)
- break
-
- def clear(self):
- self.value = ['=', False]
-
- value = property(_value_get, _value_set, None,
- 'The content of the widget or ValueError if not valid')
-
- def _readonly_set(self, value):
- self.combo.set_sensitive(not value)
- self.entry.set_sensitive(not value)
-
- def sig_activate(self, fct):
- self.entry.child.connect_after('activate', fct)
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index 4d1afe1..94499aa 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -5,6 +5,7 @@ import gobject
import gettext
import tryton.common as common
import tryton.rpc as rpc
+from tryton.exceptions import TrytonServerError
import types
from tryton.config import TRYTON_ICON
import csv
@@ -17,10 +18,11 @@ _ = gettext.gettext
class WinExport(object):
"Window export"
- def __init__(self, model, ids, parent, context=None):
+ def __init__(self, model, ids, context=None):
+ self.parent = common.get_toplevel_window()
self.dialog = gtk.Dialog(
title= _("Export to CSV"),
- parent=parent,
+ parent=self.parent,
flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.WIN_POS_CENTER_ON_PARENT)
self.dialog.set_icon(TRYTON_ICON)
@@ -161,8 +163,6 @@ class WinExport(object):
self.fields_data = {}
self.context = context
- self.parent = parent
-
self.view1 = gtk.TreeView()
self.view1.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
self.view1.connect('row-expanded', self.on_row_expanded)
@@ -239,8 +239,8 @@ class WinExport(object):
args = ('model', model, 'fields_get', None, rpc.CONTEXT)
try:
return rpc.execute(*args)
- except Exception, exception:
- return common.process_exception(exception, self.parent, *args)
+ except TrytonServerError, exception:
+ return common.process_exception(exception, *args)
def on_row_expanded(self, treeview, iter, path):
child = self.model1.iter_children(iter)
@@ -277,16 +277,15 @@ class WinExport(object):
[('resource', '=', self.model)], 0, None, None, rpc.CONTEXT)
try:
export_ids = rpc.execute(*args)
- except Exception, exception:
- export_ids = common.process_exception(exception, self.parent,
- *args)
+ except TrytonServerError, exception:
+ export_ids = common.process_exception(exception, *args)
if not export_ids:
return
args = ('model', 'ir.export', 'read', export_ids, None, rpc.CONTEXT)
try:
exports = rpc.execute(*args)
- except Exception, exception:
- exports = common.process_exception(exception, self.parent, *args)
+ except TrytonServerError, exception:
+ exports = common.process_exception(exception, *args)
if not exports:
return
args = ('model', 'ir.export.line', 'read',
@@ -294,8 +293,8 @@ class WinExport(object):
rpc.CONTEXT)
try:
lines = rpc.execute(*args)
- except Exception, exception:
- lines = common.process_exception(exception, self.parent, *args)
+ except TrytonServerError, exception:
+ lines = common.process_exception(exception, *args)
if not lines:
return
id2lines = {}
@@ -309,7 +308,7 @@ class WinExport(object):
self.pref_export.set_model(self.predef_model)
def add_predef(self, widget):
- name = common.ask(_('What is the name of this export?'), self.parent)
+ name = common.ask(_('What is the name of this export?'))
if not name:
return
iter = self.model2.get_iter_root()
@@ -327,7 +326,7 @@ class WinExport(object):
}, rpc.CONTEXT)
try:
new_id = rpc.execute(*args)
- except Exception, exception:
+ except TrytonServerError, exception:
new_ids = common.process_exception(exception, self.dialog, *args)
if not new_id:
return
@@ -348,7 +347,7 @@ class WinExport(object):
args = ('model', 'ir.export', 'delete', export_id, rpc.CONTEXT)
try:
rpc.execute(*args)
- except Exception, exception:
+ except TrytonServerError, exception:
if not common.process_exception(exception, self.dialog, *args):
return
for i in range(len(self.predef_model)):
@@ -397,10 +396,9 @@ class WinExport(object):
self.export_csv(fname, fields2, result,
self.wid_write_field_names.get_active(), popup=False)
os.close(fileno)
- common.file_open(fname, 'csv', self.parent)
+ common.file_open(fname, 'csv')
else:
fname = common.file_selection(_('Save As...'),
- parent=self.parent,
action=gtk.FILE_CHOOSER_ACTION_SAVE)
if fname:
self.export_csv(fname, fields2, result,
@@ -428,15 +426,13 @@ class WinExport(object):
file_p.close()
if popup:
if len(result) == 1:
- common.message(_('%d record saved!') % len(result),
- self.parent)
+ common.message(_('%d record saved!') % len(result))
else:
- common.message(_('%d records saved!') % len(result),
- self.parent)
+ common.message(_('%d records saved!') % len(result))
return True
- except Exception, exception:
+ except IOError, exception:
common.warning(_("Operation failed!\nError message:\n%s") \
- % (exception[0],), self.parent, _('Error'))
+ % (exception.faultCode,), _('Error'))
return False
def datas_read(self, ids, model, fields, context=None):
@@ -447,7 +443,7 @@ class WinExport(object):
try:
datas = rpc.execute('model', model,
'export_data', ids, fields, ctx)
- except Exception, exception:
+ except TrytonServerError, exception:
common.process_exception(exception, self.dialog)
return []
return datas
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 65b9211..c81cf0c 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -6,18 +6,20 @@ from tryton.config import CONFIG
import gtk
import pango
import gettext
+from tryton.exceptions import TrytonServerError
+from tryton.gui.window.nomodal import NoModal
_ = gettext.gettext
-class WinForm(object):
+class WinForm(NoModal):
"Form window"
- def __init__(self, screen, parent, view_type='form', new=False,
- many=False, context=None):
-
- self.parent = parent
+ def __init__(self, screen, callback, view_type='form',
+ new=False, many=False, context=None):
+ NoModal.__init__(self)
self.screen = screen
+ self.callback = callback
self.context = context
self.prev_view = self.screen.current_view
self.screen.screen_container.alternate_view = True
@@ -31,13 +33,12 @@ class WinForm(object):
self.screen.switch_view(view_type=view_type, context=context)
if new and not switch_new:
self.screen.new(context=self.context)
- self.win = gtk.Dialog(_('Link'), parent,
- gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
- self.win.set_property('default-width', 760)
- self.win.set_property('default-height', 500)
+ self.win = gtk.Dialog(_('Link'), self.parent,
+ gtk.DIALOG_DESTROY_WITH_PARENT)
self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
self.win.set_icon(TRYTON_ICON)
self.win.set_has_separator(False)
+ self.win.connect('response', self.response)
self.accel_group = gtk.AccelGroup()
self.win.add_accel_group(self.accel_group)
@@ -189,23 +190,19 @@ class WinForm(object):
scroll.add(self.screen.screen_container.alternate_viewport)
- width, height = self.screen.current_view.widget.size_request()
- scroll.set_size_request(width, height + 30)
- parent_width, parent_height = parent.get_size()
- win_width, win_height = self.win.get_size()
- self.widget_width = min(parent_width - 20, max(win_width, width + 20))
- self.widget_height = min(parent_height - 60, height + win_height + 20)
- self.win.set_default_size(self.widget_width, self.widget_height)
+ sensible_allocation = self.sensible_widget.get_allocation()
+ self.win.set_default_size(int(sensible_allocation.width * 0.9),
+ int(sensible_allocation.height * 0.9))
if view_type == 'tree':
self.screen.signal_connect(self, 'record-message', self._sig_label)
self.screen.screen_container.alternate_viewport.connect(
'key-press-event', self.on_keypress)
+ self.register()
self.win.show()
- self.prev_window = self.screen.window
- self.screen.window = self.win
+ common.center_window(self.win, self.parent, self.sensible_widget)
self.screen.display()
self.screen.current_view.set_cursor()
@@ -263,23 +260,26 @@ class WinForm(object):
dom = domain
ids = rpc.execute('model', self.attrs['relation'], 'search', dom,
0, CONFIG['client.limit'], None, context)
- except Exception, exception:
- common.process_exception(exception, self.window)
+ except TrytonServerError, exception:
+ common.process_exception(exception)
return False
+
+ def callback(ids):
+ res_id = None
+ if ids:
+ res_id = ids[0]
+ self.screen.load(ids, modified=True)
+ self.screen.display(res_id=res_id)
+ if self.screen.current_view:
+ self.screen.current_view.set_cursor()
+ self.wid_text.set_text('')
+
if len(ids) != 1:
- win = WinSearch(self.attrs['relation'], sel_multi=True, ids=ids,
- context=context, domain=domain, parent=self.window,
- views_preload=self.attrs.get('views', {}))
- ids = win.run()
-
- res_id = None
- if ids:
- res_id = ids[0]
- self.screen.load(ids, modified=True)
- self.screen.display(res_id=res_id)
- if self.screen.current_view:
- self.screen.current_view.set_cursor()
- self.wid_text.set_text('')
+ WinSearch(self.attrs['relation'], callback, sel_multi=True,
+ ids=ids, context=context, domain=domain,
+ views_preload=self.attrs.get('views', {}))
+ else:
+ callback(ids)
def _sig_label(self, screen, signal_data):
name = '_'
@@ -288,30 +288,30 @@ class WinForm(object):
line = '(%s/%s)' % (name, signal_data[1])
self.label.set_text(line)
- def run(self):
+ def response(self, win, response_id):
validate = False
cancel_responses = (gtk.RESPONSE_CANCEL, gtk.RESPONSE_DELETE_EVENT)
- while not validate:
- response = self.win.run()
- self.screen.current_view.set_value()
- if (response in cancel_responses
- or self.screen.current_record is None):
- break
+ self.screen.current_view.set_value()
+ if (response_id not in cancel_responses
+ and self.screen.current_record is not None):
validate = self.screen.current_record.validate(
self.screen.current_view.get_fields())
if not validate:
self.screen.current_view.set_cursor()
self.screen.display()
- continue
- if response == gtk.RESPONSE_ACCEPT:
+ return
+ if response_id == gtk.RESPONSE_ACCEPT:
self.new()
- validate = False
+ return
if (self.but_cancel
and self.screen.current_record
- and response in cancel_responses):
+ and response_id in cancel_responses):
self.screen.group.remove(self.screen.current_record, remove=True)
- return False
- return response not in cancel_responses
+ result = False
+ else:
+ result = response_id not in cancel_responses
+ self.destroy()
+ self.callback(result)
def new(self):
self.screen.new(context=self.context)
@@ -325,6 +325,12 @@ class WinForm(object):
viewport.remove(viewport.get_child())
self.screen.switch_view(view_type=self.prev_view.view_type)
self.screen.signal_unconnect(self)
- self.screen.window = self.prev_window
self.win.destroy()
- self.parent.present()
+ NoModal.destroy(self)
+
+ def show(self):
+ self.win.show()
+ common.center_window(self.win, self.parent, self.sensible_widget)
+
+ def hide(self):
+ self.win.hide()
diff --git a/tryton/gui/window/win_import.py b/tryton/gui/window/win_import.py
index e159f46..06f6b44 100644
--- a/tryton/gui/window/win_import.py
+++ b/tryton/gui/window/win_import.py
@@ -7,6 +7,7 @@ import tryton.common as common
import tryton.rpc as rpc
import csv
from tryton.config import TRYTON_ICON, CONFIG
+from tryton.exceptions import TrytonServerError
_ = gettext.gettext
@@ -14,9 +15,10 @@ _ = gettext.gettext
class WinImport(object):
"Window import"
- def __init__(self, model, parent):
+ def __init__(self, model):
+ self.parent = common.get_toplevel_window()
self.dialog = gtk.Dialog(
- title=_("Import from CSV"), parent=parent,
+ title=_("Import from CSV"), parent=self.parent,
flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
| gtk.WIN_POS_CENTER_ON_PARENT)
self.dialog.set_icon(TRYTON_ICON)
@@ -169,7 +171,6 @@ class WinImport(object):
self.model = model
self.fields_data = {}
- self.parent = parent
self.dialog.show_all()
self.import_csv_file.set_current_folder(CONFIG['client.default_path'])
@@ -229,7 +230,7 @@ class WinImport(object):
args = ('model', model, 'fields_get', None, rpc.CONTEXT)
try:
return rpc.execute(*args)
- except Exception, exception:
+ except TrytonServerError, exception:
return common.process_exception(exception, self.dialog, *args)
def on_row_expanded(self, treeview, iter, path):
@@ -256,7 +257,7 @@ class WinImport(object):
try:
data = csv.reader(open(fname, 'rb'), quotechar=csvdel,
delimiter=csvsep)
- except Exception:
+ except IOError:
common.warning(_('Error opening CSV file'), self.dialog,
_('Error'))
return True
@@ -287,7 +288,7 @@ class WinImport(object):
field = word
else:
common.warning(
- _('Error processing the file at field%s.') %
+ _('Error processing the file at field %s.') %
word, self.dialog, _('Error'))
return True
num = self.model2.append()
@@ -354,21 +355,19 @@ class WinImport(object):
try:
res = rpc.execute('model', model, 'import_data', fields, datas,
rpc.CONTEXT)
- except Exception, exception:
+ except TrytonServerError, exception:
common.process_exception(exception, self.dialog)
return False
if res[0] >= 0:
if res[0] == 1:
- common.message(_('%d record imported!') % (res[0],),
- self.parent)
+ common.message(_('%d record imported!') % res[0])
else:
- common.message(_('%d records imported!') % (res[0],),
- self.parent)
+ common.message(_('%d records imported!') % res[0])
else:
buf = ''
for key, val in res[1].items():
buf += ('\t%s: %s\n' % (str(key), str(val)))
- common.error(_('Importation Error!'), self.parent,
+ common.error(_('Importation Error!'),
_('Error trying to import this record:\n' \
'%s\nError Message:\n%s\n\n%s') % (buf, res[2], res[3]))
return True
diff --git a/tryton/gui/window/win_search.py b/tryton/gui/window/win_search.py
index e689ec1..4712a6c 100644
--- a/tryton/gui/window/win_search.py
+++ b/tryton/gui/window/win_search.py
@@ -2,32 +2,34 @@
#this repository contains the full copyright notices and license terms.
import gtk
import gettext
+import tryton.common as common
import tryton.rpc as rpc
from tryton.gui.window.view_form.screen import Screen
-import tryton.gui.window.view_form.widget_search as widget_search
from tryton.config import TRYTON_ICON
-import tryton.common as common
from tryton.gui.window.win_form import WinForm
+from tryton.gui.window.nomodal import NoModal
_ = gettext.gettext
-class WinSearch(object):
+class WinSearch(NoModal):
- def __init__(self, model, sel_multi=True, ids=None, context=None,
- domain=None, parent=None, views_preload=None):
+ def __init__(self, model, callback, sel_multi=True, ids=None, context=None,
+ domain=None, views_preload=None):
+ NoModal.__init__(self)
if views_preload is None:
views_preload = {}
self.domain = domain or []
self.context = context or {}
self.sel_multi = sel_multi
- self.parent = parent
+ self.callback = callback
self.win = gtk.Dialog(_('Search'), self.parent,
- gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
+ gtk.DIALOG_DESTROY_WITH_PARENT)
self.win.set_icon(TRYTON_ICON)
self.win.set_has_separator(True)
self.win.set_default_response(gtk.RESPONSE_APPLY)
+ self.win.connect('response', self.response)
self.accel_group = gtk.AccelGroup()
self.win.add_accel_group(self.accel_group)
@@ -47,9 +49,9 @@ class WinSearch(object):
scrollwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
self.win.vbox.pack_start(scrollwindow, expand=True, fill=True)
- self.screen = Screen(model, self.win, domain=domain,
- mode=['tree'], context=context,
- views_preload=views_preload, row_activate=self.sig_activate)
+ self.screen = Screen(model, domain=domain, mode=['tree'],
+ context=context, views_preload=views_preload,
+ row_activate=self.sig_activate)
self.view = self.screen.current_view
self.view.unset_editable()
sel = self.view.widget_tree.get_selection()
@@ -74,10 +76,18 @@ class WinSearch(object):
self.win.set_size_request(700, 500)
+ self.register()
+ sensible_allocation = self.sensible_widget.get_allocation()
+ self.win.set_default_size(int(sensible_allocation.width * 0.9),
+ int(sensible_allocation.height * 0.9))
+ self.win.show()
+ common.center_window(self.win, self.parent, self.sensible_widget)
+
def sig_activate(self, *args):
self.view.widget_tree.emit_stop_by_name('row_activated')
if not self.sel_multi:
self.win.response(gtk.RESPONSE_OK)
+ return True
return False
def sig_button(self, view, event):
@@ -86,33 +96,34 @@ class WinSearch(object):
return False
def destroy(self):
- self.parent.present()
self.screen.destroy()
self.win.destroy()
+ NoModal.destroy(self)
+
+ def show(self):
+ self.win.show()
+
+ def hide(self):
+ self.win.hide()
- def run(self):
- end = False
- while not end:
- button = self.win.run()
- if button == gtk.RESPONSE_OK:
+ def response(self, win, response_id):
+ res = None
+ if response_id == gtk.RESPONSE_OK:
+ res = self.screen.sel_ids_get()
+ elif response_id == gtk.RESPONSE_APPLY:
+ if not self.screen.search_filter():
res = self.screen.sel_ids_get()
- end = True
- elif button == gtk.RESPONSE_APPLY:
- end = not self.screen.search_filter()
- if end:
- res = self.screen.sel_ids_get()
- elif button == gtk.RESPONSE_ACCEPT:
- res = None
- screen = Screen(self.model_name, self.win, domain=self.domain,
- context=self.context, mode=['form'])
- win = WinForm(screen, self.win, new=True)
- if win.run():
- if screen.save_current():
- res = [screen.current_record.id]
- win.destroy()
- end = True
else:
- res = None
- end = True
+ return
+ elif response_id == gtk.RESPONSE_ACCEPT:
+ screen = Screen(self.model_name, domain=self.domain,
+ context=self.context, mode=['form'])
+ def callback(result):
+ if result and screen.save_current():
+ res = [screen.current_record.id]
+ self.destroy()
+ self.callback(res)
+ WinForm(screen, callback, new=True)
+ return
self.destroy()
- return res
+ return self.callback(res)
diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py
index f95863b..493ed55 100644
--- a/tryton/gui/window/window.py
+++ b/tryton/gui/window/window.py
@@ -6,8 +6,22 @@ from preference import *
class Window(object):
+ hide_current = False
+ allow_similar = False
+
+ def __init__(self, hide_current=False, allow_similar=True):
+ Window.hide_current = hide_current
+ Window.allow_similar = allow_similar
+
+ def __enter__(self):
+ return self
+
+ def __exit__(self, type, value, traceback):
+ Window.hide_current = False
+ Window.allow_similar = False
+
@staticmethod
- def create(view_ids, model, res_id=False, domain=None, window=None,
+ def create(view_ids, model, res_id=False, domain=None,
context=None, mode=None, name=False, limit=None,
auto_refresh=False, search_value=None, icon=None):
from tryton.gui import Main
@@ -16,25 +30,29 @@ class Window(object):
if model:
from form import Form
- win = Form(model, window, res_id, domain, mode=mode,
- view_ids=(view_ids or []), context=context, name=name,
- limit=limit, auto_refresh=auto_refresh,
- search_value=search_value)
+ win = Form(model, res_id, domain, mode=mode,
+ view_ids=(view_ids or []), context=context, name=name,
+ limit=limit, auto_refresh=auto_refresh,
+ search_value=search_value)
else:
from board import Board
- win = Board(model, window, view_ids and view_ids[0] or None,
- context=context, name=name, auto_refresh=auto_refresh)
+ win = Board(model, view_ids and view_ids[0] or None,
+ context=context, name=name, auto_refresh=auto_refresh)
win.icon = icon
- Main.get_main().win_add(win)
+ Main.get_main().win_add(win, hide_current=Window.hide_current,
+ allow_similar=Window.allow_similar)
@staticmethod
- def create_wizard(action, datas, parent, state='init', direct_print=False,
- email_print=False, email=None, name=False, context=None,
- icon=None):
+ def create_wizard(action, data, state='init', direct_print=False,
+ email_print=False, email=None, name=False, context=None, icon=None,
+ window=False):
from tryton.gui import Main
- from wizard import Wizard
- win = Wizard(parent, name=name)
- win.icon = icon
- Main.get_main().win_add(win)
- win.run(action, datas, state=state, direct_print=direct_print,
+ from wizard import WizardForm, WizardDialog
+ if window:
+ win = WizardForm(name=name)
+ win.icon = icon
+ Main.get_main().win_add(win, Window.hide_current)
+ else:
+ win = WizardDialog(name=name)
+ win.run(action, data, state=state, direct_print=direct_print,
email_print=email_print, email=email, context=context)
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index f65949f..c0cb89d 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -2,22 +2,24 @@
#this repository contains the full copyright notices and license terms.
import gtk
import pango
+import gettext
from tryton.signal_event import SignalEvent
import tryton.rpc as rpc
import tryton.common as common
from tryton.gui.window.view_form.screen import Screen
from tryton.gui import Main
+from tryton.exceptions import TrytonServerError
+from tryton.config import CONFIG
+from tryton.gui.window.nomodal import NoModal
+_ = gettext.gettext
-class Wizard(SignalEvent):
- "Wizard"
+class Wizard(object):
- def __init__(self, window, name=False):
+ def __init__(self, name=False):
super(Wizard, self).__init__()
- self.window = window
self.widget = gtk.VBox(spacing=3)
- self.toolbar_box = gtk.HBox()
- self.widget.pack_start(self.toolbar_box, False, True)
+ self.toolbar_box = None
self.widget.show()
self.name = name or ''
self.model = ''
@@ -29,23 +31,17 @@ class Wizard(SignalEvent):
self.email = False
self.context = None
self.states = {}
-
- self.handlers = {
- 'but_close': self.sig_close
- }
-
- def sig_close(self):
- if 'end' in self.states:
- self.states['end'].clicked()
- return self.state == 'end'
+ self.response2state = {}
+ self.__processing = False
+ self.__waiting_response = False
def run(self, action, datas, state='init', direct_print=False,
email_print=False, email=None, context=None):
self.action = action
self.datas = datas
self.state = state
- self.direct_print = False
- self.email_print = False
+ self.direct_print = direct_print
+ self.email_print = email_print
self.email = email
self.context = context
if not 'form' in datas:
@@ -53,8 +49,8 @@ class Wizard(SignalEvent):
args = ('wizard', action, 'create', rpc.CONTEXT)
try:
self.wiz_id = rpc.execute(*args)
- except Exception, exception:
- self.wiz_id = common.process_exception(exception, self.window, *args)
+ except TrytonServerError, exception:
+ self.wiz_id = common.process_exception(exception, *args)
if not self.wiz_id:
return
self.process()
@@ -62,66 +58,73 @@ class Wizard(SignalEvent):
def process(self):
from tryton.action import Action
res = {}
- while self.state != 'end':
- ctx = self.context.copy()
- ctx.update(rpc.CONTEXT)
- ctx['active_id'] = self.datas.get('id')
- ctx['active_ids'] = self.datas.get('ids')
- rpcprogress = common.RPCProgress('execute', ('wizard',
- self.action, 'execute', self.wiz_id, self.datas, self.state, ctx),
- self.window)
- try:
- res = rpcprogress.run()
- except Exception, exception:
- common.process_exception(exception, self.window)
- break
- if not res:
- self.end()
- return
- self.clean()
-
- if 'datas' in res:
- self.datas['form'] = res['datas']
- elif res['type'] == 'form':
- self.datas['form'] = {}
- if res['type'] == 'form':
- self.update(res, res['state'], res['object'], context=ctx)
- self.screen.current_record.set_default(self.datas['form'])
- break
- elif res['type'] == 'action':
- self.state = res['state']
- if self.state == 'end':
+ if self.__processing or self.__waiting_response:
+ return
+ try:
+ self.__processing = True
+ while self.state != 'end':
+ ctx = self.context.copy()
+ ctx.update(rpc.CONTEXT)
+ ctx['active_id'] = self.datas.get('id')
+ ctx['active_ids'] = self.datas.get('ids')
+ rpcprogress = common.RPCProgress('execute', ('wizard',
+ self.action, 'execute', self.wiz_id, self.datas,
+ self.state, ctx))
+ try:
+ res = rpcprogress.run()
+ except TrytonServerError, exception:
+ common.process_exception(exception)
+ self.end()
+ break
+ if not res:
self.end()
- Action._exec_action(res['action'], self.window, self.datas,
- context=ctx)
- if self.state == 'end':
return
- elif res['type'] == 'print':
- self.datas['report_id'] = res.get('report_id', False)
- if res.get('get_id_from_action', False):
- backup_ids = datas['ids']
- self.datas['ids'] = self.datas['form']['ids']
- Action.exec_report(res['report'], self.datas, self.window,
+
+ if 'datas' in res:
+ self.datas['form'] = res['datas']
+ elif res['type'] == 'form':
+ self.datas['form'] = {}
+ if res['type'] == 'form':
+ self.clean()
+ self.update(res, res['state'], res['object'], context=ctx)
+ self.screen.current_record.set_default(self.datas['form'])
+ self.__waiting_response = True
+ break
+ elif res['type'] == 'action':
+ self.state = res['state']
+ sensitive_widget = self.widget.get_toplevel()
+ if self.state == 'end':
+ self.end()
+ Action._exec_action(res['action'], self.datas, context=ctx)
+ if self.state == 'end' or (
+ res['action']['type'] == 'ir.action.wizard'
+ and not sensitive_widget.props.sensitive):
+ return
+ elif res['type'] == 'print':
+ self.datas['report_id'] = res.get('report_id', False)
+ if res.get('get_id_from_action', False):
+ backup_ids = self.datas['ids']
+ self.datas['ids'] = self.datas['form']['ids']
+ Action.exec_report(res['report'], self.datas,
direct_print=self.direct_print,
email_print=self.email_print, email=self.email,
context=ctx)
- self.datas['ids'] = backup_ids
- else:
- Action.exec_report(res['report'], self.datas, self.window,
+ self.datas['ids'] = backup_ids
+ else:
+ Action.exec_report(res['report'], self.datas,
direct_print=self.direct_print,
email_print=self.email_print, email=self.email,
context=ctx)
- self.state = res['state']
- elif res['type'] == 'state':
- self.state = res['state']
+ self.state = res['state']
+ elif res['type'] == 'state':
+ self.state = res['state']
- if self.state == 'end':
- self.end()
+ if self.state == 'end':
+ self.end()
+ finally:
+ self.__processing = False
def destroy(self):
- if self.toolbar_box.get_children():
- toolbar = self.toolbar_box.get_children()[0]
- self.toolbar_box.remove(toolbar)
if hasattr(self, 'screen'):
self.screen.signal_unconnect(self)
self.screen.destroy()
@@ -134,16 +137,17 @@ class Wizard(SignalEvent):
rpc.CONTEXT)
#XXX to remove when company displayed in status bar
rpc.context_reload()
- except Exception:
+ except TrytonServerError:
pass
- Main.get_main()._win_del(self.widget)
def clean(self):
for widget in self.widget.get_children():
self.widget.remove(widget)
self.states = {}
- def sig_clicked(self, widget, state):
+ def response(self, widget, response):
+ self.__waiting_response = False
+ state = self.response2state.get(response, 'end')
self.screen.current_view.set_value()
if not self.screen.current_record.validate() \
and state != 'end':
@@ -153,26 +157,26 @@ class Wizard(SignalEvent):
self.state = state
self.process()
- def update(self, view, state, obj_name, context=None):
+ def _get_button(self, state):
+ button = gtk.Button()
+ button.set_use_underline(True)
+ button.set_label('_' + state[1])
+ if len(state) >= 3:
+ common.ICONFACTORY.register_icon(state[2])
+ icon = gtk.Image()
+ icon.set_from_stock(state[2], gtk.ICON_SIZE_BUTTON)
+ button.set_image(icon)
+ self.states[state[0]] = button
+ response = len(self.states)
+ self.response2state[response] = state[0]
+ button.show()
+ return button
+
+ def update(self, view, states, obj_name, context=None):
self.model = obj_name
- hbuttonbox = gtk.HButtonBox()
- hbuttonbox.set_spacing(5)
- hbuttonbox.set_layout(gtk.BUTTONBOX_END)
- hbuttonbox.show()
- for i in state:
- but = gtk.Button()
- but.set_use_underline(True)
- but.set_label('_' + i[1])
- but.show()
- but.connect('clicked', self.sig_clicked, i[0])
- self.states[i[0]] = but
- if len(i) >= 3:
- common.ICONFACTORY.register_icon(i[2])
- icon = gtk.Image()
- icon.set_from_stock(i[2], gtk.ICON_SIZE_BUTTON)
- but.set_image(icon)
- hbuttonbox.pack_start(but)
+ for state in states:
+ self._get_button(state)
val = {}
fields = view['fields']
@@ -180,7 +184,7 @@ class Wizard(SignalEvent):
if 'value' in fields[i]:
val[i] = fields[i]['value']
- self.screen = Screen(obj_name, self.window, mode=[], context=context)
+ self.screen = Screen(obj_name, mode=[], context=context)
self.screen.add_view(view, display=True)
self.screen.widget.show()
@@ -223,7 +227,8 @@ class Wizard(SignalEvent):
self.widget.pack_start(eb, expand=False, fill=True, padding=3)
- self.widget.pack_start(self.toolbar_box, False, True)
+ if self.toolbar_box:
+ self.widget.pack_start(self.toolbar_box, False, True)
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_NONE)
@@ -238,8 +243,135 @@ class Wizard(SignalEvent):
self.widget.pack_start(self.scrolledwindow)
- self.widget.pack_start(hbuttonbox, expand=False, fill=True)
-
self.screen.new(default=False)
self.screen.current_record.set_default(val)
self.screen.current_view.set_cursor()
+
+
+class WizardForm(Wizard,SignalEvent):
+ "Wizard"
+
+ def __init__(self, name=False):
+ super(WizardForm, self).__init__(name=name)
+ self.toolbar_box = gtk.HBox()
+ self.hbuttonbox = gtk.HButtonBox()
+ self.hbuttonbox.set_spacing(5)
+ self.hbuttonbox.set_layout(gtk.BUTTONBOX_END)
+ self.hbuttonbox.show()
+ self.widget.pack_start(self.toolbar_box, False, True)
+ self.dialogs = []
+
+ self.handlers = {
+ 'but_close': self.sig_close
+ }
+
+ def clean(self):
+ super(WizardForm, self).clean()
+ for button in self.hbuttonbox.get_children():
+ self.hbuttonbox.remove(button)
+
+ def _get_button(self, state):
+ button = super(WizardForm, self)._get_button(state)
+ button.connect('clicked', self.response, state[0])
+ self.hbuttonbox.pack_start(button)
+ return button
+
+ def update(self, view, states, obj_name, context=None):
+ super(WizardForm, self).update(view, states, obj_name, context=context)
+ self.widget.pack_start(self.hbuttonbox, expand=False, fill=True)
+
+ def sig_close(self):
+ if 'end' in self.states:
+ self.states['end'].clicked()
+ return self.state == 'end'
+
+ def destroy(self):
+ if self.toolbar_box.get_children():
+ toolbar = self.toolbar_box.get_children()[0]
+ self.toolbar_box.remove(toolbar)
+ super(WizardForm, self).destroy()
+
+ def end(self):
+ super(WizardForm, self).end()
+ Main.get_main()._win_del(self.widget)
+
+
+class WizardDialog(Wizard, NoModal):
+
+ def __init__(self, name=False):
+ if not name:
+ name = _('Wizard')
+ Wizard.__init__(self, name=name)
+ NoModal.__init__(self)
+ self.dia = gtk.Dialog(self.name, self.parent,
+ gtk.DIALOG_DESTROY_WITH_PARENT)
+ self.dia.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
+ if hasattr(self.dia, 'set_deletable'):
+ self.dia.set_deletable(False)
+ self.dia.connect('close', self.close)
+ self.dia.connect('response', self.response)
+ self.dia.connect('state-changed', self.state_changed)
+
+ self.accel_group = gtk.AccelGroup()
+ self.dia.add_accel_group(self.accel_group)
+
+ self.dia.vbox.add(self.widget)
+
+ self.register()
+
+ def clean(self):
+ super(WizardDialog, self).clean()
+ hbuttonbox = self.dia.get_action_area()
+ for button in hbuttonbox.get_children():
+ hbuttonbox.remove(button)
+
+ def _get_button(self, state):
+ button = super(WizardDialog, self)._get_button(state)
+ response = len(self.states)
+ self.dia.add_action_widget(button, response)
+ if len(state) >= 4 and state[3]:
+ button.set_flags(gtk.CAN_DEFAULT)
+ button.add_accelerator('clicked', self.accel_group,
+ gtk.keysyms.Return, gtk.gdk.CONTROL_MASK,
+ gtk.ACCEL_VISIBLE)
+ self.dia.set_default_response(response)
+ return button
+
+ def update(self, view, states, obj_name, context=None):
+ super(WizardDialog, self).update(view, states, obj_name, context=context)
+ sensible_allocation = self.sensible_widget.get_allocation()
+ self.dia.set_default_size(int(sensible_allocation.width * 0.9),
+ int(sensible_allocation.height * 0.9))
+ self.dia.show()
+ common.center_window(self.dia, self.parent, self.sensible_widget)
+
+ def destroy(self):
+ self.dia.destroy()
+ NoModal.destroy(self)
+ main = Main.get_main()
+ if self.parent == main.window:
+ current_form = main.get_page()
+ if current_form:
+ for dialog in current_form.dialogs:
+ dialog.show()
+ if hasattr(self.page, 'screen'):
+ self.page.screen.reload(written=True)
+ super(WizardDialog, self).destroy()
+
+ def end(self):
+ super(WizardDialog, self).end()
+ self.destroy()
+
+ def close(self, widget, event=None):
+ widget.emit_stop_by_name('close')
+ return True
+
+ def show(self):
+ self.dia.show()
+
+ def hide(self):
+ self.dia.hide()
+
+ def state_changed(self, widget, state):
+ if self.dia.props.sensitive and state == gtk.STATE_INSENSITIVE:
+ self.process()
diff --git a/tryton/ipc.py b/tryton/ipc.py
index 62ce5e8..ea7e70e 100644
--- a/tryton/ipc.py
+++ b/tryton/ipc.py
@@ -89,7 +89,7 @@ class FileServer(IPCServer):
for path in to_remove.copy():
try:
os.remove(path)
- except Exception:
+ except OSError:
continue
to_remove.remove(path)
time.sleep(1)
@@ -157,9 +157,8 @@ class FileClient(IPCClient):
return False
tmpdir = open(self.filename, 'r').readline().strip()
_, tmpfile = tempfile.mkstemp(dir=tmpdir, text=True)
- tmpfile = open(tmpfile, 'w')
- print >> tmpfile, message
- tmpfile.close()
+ with open(tmpfile, 'w') as tmpfile:
+ print >> tmpfile, message
return True
diff --git a/tryton/jsonrpc.py b/tryton/jsonrpc.py
new file mode 100644
index 0000000..a38f4a9
--- /dev/null
+++ b/tryton/jsonrpc.py
@@ -0,0 +1,313 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+import xmlrpclib
+try:
+ import simplejson as json
+except ImportError:
+ import json
+import ssl
+import httplib
+from decimal import Decimal
+import datetime
+import socket
+import gzip
+import StringIO
+import hashlib
+import sys
+import base64
+
+__all__ = ["ResponseError", "Fault", "ProtocolError", "Transport",
+ "ServerProxy"]
+CONNECT_TIMEOUT = 5
+DEFAULT_TIMEOUT = None
+
+
+class ResponseError(xmlrpclib.ResponseError):
+ pass
+
+
+class Fault(xmlrpclib.Fault):
+
+ def __init__(self, faultCode, faultString='', **extra):
+ super(Fault, self).__init__(faultCode, str(faultString), **extra)
+ self.args = faultString
+
+
+class ProtocolError(xmlrpclib.ProtocolError):
+ pass
+
+def object_hook(dct):
+ if '__class__' in dct:
+ if dct['__class__'] == 'datetime':
+ return datetime.datetime(dct['year'], dct['month'], dct['day'],
+ dct['hour'], dct['minute'], dct['second'])
+ elif dct['__class__'] == 'date':
+ return datetime.date(dct['year'], dct['month'], dct['day'])
+ elif dct['__class__'] == 'buffer':
+ return buffer(base64.decodestring(dct['base64']))
+ elif dct['__class__'] == 'Decimal':
+ return Decimal(dct['decimal'])
+ return dct
+
+
+class JSONEncoder(json.JSONEncoder):
+
+ def __init__(self, *args, **kwargs):
+ super(JSONEncoder, self).__init__(*args, **kwargs)
+ # Force to use our custom decimal with simplejson
+ self.use_decimal = False
+
+ def default(self, obj):
+ if isinstance(obj, datetime.date):
+ if isinstance(obj, datetime.datetime):
+ return {'__class__': 'datetime',
+ 'year': obj.year,
+ 'month': obj.month,
+ 'day': obj.day,
+ 'hour': obj.hour,
+ 'minute': obj.minute,
+ 'second': obj.second,
+ }
+ return {'__class__': 'date',
+ 'year': obj.year,
+ 'month': obj.month,
+ 'day': obj.day,
+ }
+ elif isinstance(obj, buffer):
+ return {'__class__': 'buffer',
+ 'base64': base64.encodestring(obj),
+ }
+ elif isinstance(obj, Decimal):
+ return {'__class__': 'Decimal',
+ 'decimal': str(obj),
+ }
+ return super(JSONEncoder, self).default(obj)
+
+
+class JSONParser(object):
+
+ def __init__(self, target):
+ self.__targer = target
+
+ def feed(self, data):
+ self.__targer.feed(data)
+
+ def close(self):
+ pass
+
+
+class JSONUnmarshaller(object):
+ data = ''
+
+ def feed(self, data):
+ self.data += data
+
+ def close(self):
+ return json.loads(self.data, object_hook=object_hook)
+
+
+class Transport(xmlrpclib.Transport, xmlrpclib.SafeTransport):
+
+ accept_gzip_encoding = True
+ encode_threshold = 1400 # common MTU
+
+ def __init__(self, fingerprints=None, ca_certs=None):
+ xmlrpclib.Transport.__init__(self)
+ self._connection = (None, None)
+ self.__fingerprints = fingerprints
+ self.__ca_certs = ca_certs
+
+ def getparser(self):
+ target = JSONUnmarshaller()
+ parser = JSONParser(target)
+ return parser, target
+
+ def get_host_info(self, host):
+ host, extra_headers, x509 = xmlrpclib.Transport.get_host_info(self, host)
+ if extra_headers is None:
+ extra_headers = []
+ extra_headers.append(('Connection', 'keep-alive'))
+ return host, extra_headers, x509
+
+ def send_content(self, connection, request_body):
+ connection.putheader("Content-Type", "text/json")
+ if (self.encode_threshold is not None and
+ self.encode_threshold < len(request_body) and
+ gzip):
+ connection.putheader("Content-Encoding", "gzip")
+ buffer = StringIO.StringIO()
+ output = gzip.GzipFile(mode='wb', fileobj=buffer)
+ output.write(request_body)
+ output.close()
+ buffer.seek(0)
+ request_body = buffer.getvalue()
+ connection.putheader("Content-Length", str(len(request_body)))
+ connection.endheaders()
+ if request_body:
+ connection.send(request_body)
+
+ def make_connection(self, host):
+ if self._connection and host == self._connection[0]:
+ return self._connection[1]
+ host, extra_headers, x509 = self.get_host_info(host)
+
+ ca_certs = self.__ca_certs
+ cert_reqs = ssl.CERT_REQUIRED if ca_certs else ssl.CERT_NONE
+
+
+ class HTTPSConnection(httplib.HTTPSConnection):
+ def connect(self):
+ sock = socket.create_connection((self.host, self.port),
+ self.timeout)
+ if self._tunnel_host:
+ self.sock = sock
+ self._tunnel()
+ self.sock = ssl.wrap_socket(sock, self.key_file,
+ self.cert_file, ca_certs=ca_certs, cert_reqs=cert_reqs)
+
+ def http_connection():
+ self._connection = host, httplib.HTTPConnection(host,
+ timeout=CONNECT_TIMEOUT)
+ self._connection[1].connect()
+
+ def https_connection():
+ self._connection = host, HTTPSConnection(host,
+ timeout=CONNECT_TIMEOUT)
+ try:
+ self._connection[1].connect()
+ sock = self._connection[1].sock
+ try:
+ peercert = sock.getpeercert(True)
+ except socket.error:
+ peercert = None
+ def format_hash(value):
+ return reduce(lambda x, y: x + y[1].upper() +
+ ((y[0] % 2 and y[0] + 1 < len(value)) and ':' or ''),
+ enumerate(value), '')
+ return format_hash(hashlib.sha1(peercert).hexdigest())
+ except ssl.SSLError, e:
+ http_connection()
+
+ fingerprint = ''
+ if self.__fingerprints is not None and host in self.__fingerprints:
+ if self.__fingerprints[host]:
+ fingerprint = https_connection()
+ else:
+ http_connection()
+ else:
+ fingerprint = https_connection()
+
+ if self.__fingerprints is not None:
+ if host in self.__fingerprints and self.__fingerprints[host]:
+ if self.__fingerprints[host] != fingerprint:
+ self.close()
+ raise ssl.SSLError('BadFingerprint')
+ else:
+ self.__fingerprints[host] = fingerprint
+ self._connection[1].timeout = DEFAULT_TIMEOUT
+ self._connection[1].sock.settimeout(DEFAULT_TIMEOUT)
+ return self._connection[1]
+
+ if sys.version_info[:2] <= (2, 6):
+
+ def request(self, host, handler, request_body, verbose=0):
+ h = self.make_connection(host)
+ if verbose:
+ h.set_debuglevel(1)
+
+ self.send_request(h, handler, request_body)
+ self.send_host(h, host)
+ self.send_user_agent(h)
+ self.send_content(h, request_body)
+
+ response = h.getresponse()
+
+ if response.status != 200:
+ raise ProtocolError(
+ host + handler,
+ response.status,
+ response.reason,
+ response.getheaders()
+ )
+
+ self.verbose = verbose
+
+ try:
+ sock = h._conn.sock
+ except AttributeError:
+ sock = None
+
+ if response.getheader("Content-Encoding", "") == "gzip":
+ response = gzip.GzipFile(mode="rb",
+ fileobj=StringIO.StringIO(response.read()))
+ sock = None
+
+ return self._parse_response(response, sock)
+
+ def send_request(self, connection, handler, request_body):
+ xmlrpclib.Transport.send_request(self, connection, handler,
+ request_body)
+ connection.putheader("Accept-Encoding", "gzip")
+
+ def close(self):
+ if self._connection[1]:
+ self._connection[1].close()
+ self._connection = (None, None)
+
+
+class ServerProxy(xmlrpclib.ServerProxy):
+ __id = 0
+
+ def __init__(self, host, port, database='', verbose=0,
+ fingerprints=None, ca_certs=None):
+ self.__host = '%s:%s' % (host, port)
+ self.__handler = '/' + database
+ self.__transport = Transport(fingerprints, ca_certs)
+ self.__verbose = verbose
+
+ def __request(self, methodname, params):
+ self.__id += 1
+ id_ = self.__id
+ request = json.dumps({
+ 'id': id_,
+ 'method': methodname,
+ 'params': params,
+ }, cls=JSONEncoder)
+
+ try:
+ response = self.__transport.request(
+ self.__host,
+ self.__handler,
+ request,
+ verbose=self.__verbose
+ )
+ except (socket.error, httplib.HTTPException), v:
+ # trap 'Broken pipe'
+ if isinstance(v, socket.error) and v.args[0] != 32:
+ raise
+ # try one more time
+ self.__transport.close()
+ response = self.__transport.request(
+ self.__host,
+ self.__handler,
+ request,
+ verbose=self.__verbose
+ )
+ except:
+ self.__transport.close()
+ raise
+
+ if response['id'] != id_:
+ raise ResponseError('Invalid response id (%s) excpected %s' %
+ (response['id'], id_))
+ if response.get('error'):
+ raise Fault(*response['error'])
+ return response['result']
+
+ def close(self):
+ self.__transport.close()
+
+ @property
+ def ssl(self):
+ return isinstance(self.__transport.make_connection(self.__host),
+ httplib.HTTPSConnection)
diff --git a/tryton/plugins/__init__.py b/tryton/plugins/__init__.py
index 05e31a3..119eca5 100644
--- a/tryton/plugins/__init__.py
+++ b/tryton/plugins/__init__.py
@@ -23,22 +23,19 @@ if os.path.isdir(PLUGINS_PATH):
try:
module = imp.load_module(module, *imp.find_module(module, [PLUGINS_PATH]))
MODULES.append(module)
- except Exception, exception:
+ except ImportError, exception:
continue
-def execute(datas, parent):
+def execute(datas):
result = {}
for module in MODULES:
- try:
- for name, func in module.get_plugins(datas['model']):
- result[name] = func
- except Exception, exception:
- continue
+ for name, func in module.get_plugins(datas['model']):
+ result[name] = func
if not result:
- common.message(_('No available plugin for this resource!'), parent)
+ common.message(_('No available plugin for this resource!'))
return False
- res = common.selection(_('Choose a Plugin'), result, parent, alwaysask=True)
+ res = common.selection(_('Choose a Plugin'), result, alwaysask=True)
if res:
- res[1](datas, parent)
+ res[1](datas)
return True
diff --git a/tryton/plugins/translation/__init__.py b/tryton/plugins/translation/__init__.py
index 0e906d2..b21b318 100644
--- a/tryton/plugins/translation/__init__.py
+++ b/tryton/plugins/translation/__init__.py
@@ -5,11 +5,11 @@ import gettext
_ = gettext.gettext
-def translate_view(datas, parent):
+def translate_view(datas):
model = datas['model']
Window.create(False, 'ir.translation', res_id=False,
domain=[('model', '=', model)],
- mode=['tree', 'form'], window=parent)
+ mode=['tree', 'form'])
def get_plugins(model):
return [
diff --git a/tryton/plugins/workflow/__init__.py b/tryton/plugins/workflow/__init__.py
index 9b88d79..502e5d4 100644
--- a/tryton/plugins/workflow/__init__.py
+++ b/tryton/plugins/workflow/__init__.py
@@ -5,16 +5,16 @@ import gettext
_ = gettext.gettext
-def workflow_print(datas, parent):
+def workflow_print(datas):
datas = datas.copy()
datas['nested'] = False
- Action.exec_report('workflow.instance.graph', datas, parent)
+ Action.exec_report('workflow.instance.graph', datas)
return True
-def workflow_print_complex(datas, parent):
+def workflow_print_complex(datas):
datas = datas.copy()
datas['nested'] = True
- Action.exec_report('workflow.instance.graph', datas, parent)
+ Action.exec_report('workflow.instance.graph', datas)
return True
def get_plugins(model):
diff --git a/tryton/pysocket.py b/tryton/pysocket.py
deleted file mode 100644
index 9936e24..0000000
--- a/tryton/pysocket.py
+++ /dev/null
@@ -1,253 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import socket
-# can't use/fall-back pickle due to different interface :-(
-import cPickle
-try:
- import cStringIO as StringIO
-except ImportError:
- import StringIO
-try:
- import ssl
-except ImportError:
- ssl = None
-import gzip
-try:
- import hashlib
-except ImportError:
- hashlib = None
- import sha
-import os
-
-DNS_CACHE = {}
-MAX_SIZE = 999999999
-MAX_LENGHT = len(str(MAX_SIZE))
-CONNECT_TIMEOUT = 5
-TIMEOUT = 3600
-GZIP_THRESHOLD = 1400 # common MTU
-
-_ALLOWED_MODULES = {'datetime': ['datetime', 'date'], 'decimal': ['Decimal']}
-
-def checkfunction(module, klass):
- if module in _ALLOWED_MODULES and klass in _ALLOWED_MODULES[module]:
- mod = __import__(module, {}, {}, ['__all__'])
- _class = getattr(mod, klass)
- return _class
- raise ValueError('Not supported: %s/%s' % (module, klass))
-
-
-class PySocket:
-
- def __init__(self, sock=None, fingerprints=None, ca_certs=None):
- self.sock = sock
- self.host = None
- self.hostname = None
- self.port = None
- self.ssl = False
- self.ssl_sock = None
- self.connected = False
- self.buffer = ''
- self.fingerprints = fingerprints
- if os.path.isfile(ca_certs):
- self.ca_certs = ca_certs
- else:
- self.ca_certs = None
-
- def connect(self, host, port=False):
- if not port:
- buf = host.split('//')[1]
- host, port = buf.rsplit(':', 1)
- hostname = host
- if host in DNS_CACHE:
- host = DNS_CACHE[host]
- self.sock = None
- if socket.has_ipv6:
- try:
- socket.getaddrinfo(host, int(port), socket.AF_INET6)
- self.sock = socket.socket(socket.AF_INET6,
- socket.SOCK_STREAM)
- self.sock.settimeout(CONNECT_TIMEOUT)
- self.sock.connect((host, int(port)))
- except Exception:
- self.sock = None
- if self.sock is None:
- self.sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- self.sock.settimeout(CONNECT_TIMEOUT)
- self.sock.connect((host, int(port)))
- DNS_CACHE[hostname], port = self.sock.getpeername()[:2]
- try:
- sock = None
- if socket.has_ipv6:
- try:
- socket.getaddrinfo(host, int(port), socket.AF_INET6)
- sock = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
- sock.settimeout(CONNECT_TIMEOUT)
- sock.connect((host, int(port)))
- except Exception:
- sock = None
- if sock is None:
- sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- sock.settimeout(CONNECT_TIMEOUT)
- sock.connect((host, int(port)))
- if ssl:
- ssl_sock = ssl.wrap_socket(sock)
- self.ssl = True
- elif hasattr(socket, 'ssl'):
- ssl_sock = socket.ssl(sock)
- self.ssl = True
- except Exception:
- pass
- self.sock.settimeout(TIMEOUT)
- fingerprint = None
- if self.ssl:
- if ssl:
- self.ssl_sock = ssl.wrap_socket(self.sock,
- ca_certs=self.ca_certs, cert_reqs=(self.ca_certs and
- ssl.CERT_REQUIRED or ssl.CERT_NONE))
- elif hasattr(socket, 'ssl'):
- self.ssl_sock = socket.ssl(self.sock, certfile=self.ca_certs)
- try:
- peercert = self.ssl_sock.getpeercert(True)
- except Exception:
- peercert = None
- def format_hash(value):
- return reduce(lambda x, (i, y): x + y.upper() +
- ((i % 2 and i + 1 < len(value)) and ':' or ''),
- enumerate(value), '')
- if peercert and hashlib:
- fingerprint = format_hash(hashlib.sha1(peercert).hexdigest())
- elif peercert:
- fingerprint = format_hash(sha1.new(peercert).hexdigest())
- self.host = host
- self.hostname = hostname
- self.port = port
- self.connected = True
- self.buffer = ''
- if self.fingerprints is not None:
- key = (self.hostname, str(self.port))
- if key in self.fingerprints:
- if self.fingerprints[key] != fingerprint:
- self.disconnect()
- raise Exception('BadFingerprint')
- elif fingerprint:
- self.fingerprints[key] = fingerprint
-
- def disconnect(self):
- try:
- sock = self.sock
- if self.ssl:
- sock = self.ssl_sock
- try:
- shutdown_value = 2
- if hasattr(socket, 'SHUT_RDWR'):
- shutdown_value = socket.SHUT_RDWR
- if hasattr(sock, 'sock_shutdown'):
- sock.sock_shutdown(shutdown_value)
- else:
- sock.shutdown(shutdown_value)
- except Exception:
- pass
- sock.close()
- except Exception:
- pass
- self.sock = None
- self.ssl = False
- self.ssl_sock = None
- self.connected = False
- self.buffer = ''
-
- def reconnect(self):
- if self.hostname and self.port:
- self.disconnect()
- self.connect(self.hostname, self.port)
-
- def send(self, msg, exception=False, traceback=None):
- msg = cPickle.dumps([msg, traceback], protocol=2)
- gzip_p = False
- if len(msg) > GZIP_THRESHOLD:
- buffer = StringIO.StringIO()
- output = gzip.GzipFile(mode='wb', fileobj=buffer)
- output.write(msg)
- output.close()
- buffer.seek(0)
- msg = buffer.getvalue()
- gzip_p = True
- size = len(msg)
- msg = str(size) + ' ' + (exception and "1" or "0") \
- + (gzip_p and "1" or "0") + msg
- size = len(msg)
-
- totalsent = 0
- while totalsent < size:
- if self.ssl:
- sent = self.ssl_sock.write(msg[totalsent:])
- else:
- sent = self.sock.send(msg[totalsent:])
- if sent == 0:
- raise RuntimeError, "socket connection broken"
- totalsent = totalsent + sent
-
- def receive(self):
- buf = self.buffer
- L = []
- size_remaining = MAX_LENGHT
- while size_remaining:
- chunk_size = min(size_remaining, 4096)
- if self.ssl:
- chunk = self.ssl_sock.read(chunk_size)
- else:
- chunk = self.sock.recv(chunk_size)
- if chunk == '':
- raise RuntimeError, "socket connection broken"
- L.append(chunk)
- size_remaining -= len(chunk)
- if ' ' in chunk:
- break
- if size_remaining < 0:
- raise RuntimeError, "socket connection broken"
- buf += ''.join(L)
- size, msg = buf.split(' ', 1)
- size = int(size)
- if size > MAX_SIZE:
- raise RuntimeError, "socket connection broken"
- while len(msg) < 2:
- chunk_size = min(size + 2, 4096)
- if self.ssl:
- msg += self.ssl_sock.read(chunk_size)
- else:
- msg += self.sock.recv(chunk_size)
- if msg == '':
- raise RuntimeError, "socket connection broken"
- exception = msg[0] != "0"
- gzip_p = msg[1] != "0"
- L = [msg[2:]]
- size_remaining = size - len(L[0])
- while size_remaining:
- chunk_size = min(size_remaining, 4096)
- if self.ssl:
- chunk = self.ssl_sock.read(chunk_size)
- else:
- chunk = self.sock.recv(chunk_size)
- if chunk == '':
- raise RuntimeError, "socket connection broken"
- L.append(chunk)
- size_remaining -= len(chunk)
- msg = ''.join(L)
- if len(msg) > size:
- self.buffer = msg[size:]
- msg = msg[:size]
- else:
- self.buffer = ''
- msgio = StringIO.StringIO(msg)
- if gzip_p:
- output = gzip.GzipFile(mode='r', fileobj=msgio)
- msgio = StringIO.StringIO(output.read(-1))
- output.close()
- unpickler = cPickle.Unpickler(msgio)
- # cPickle mechanism to import instances (pickle differs here)
- unpickler.find_global = checkfunction
- res = unpickler.load()
- if exception:
- raise Exception(*(list(res[0]) + [res[1]]))
- else:
- return res[0]
diff --git a/tryton/pyson.py b/tryton/pyson.py
index b3d375b..9c7dde7 100644
--- a/tryton/pyson.py
+++ b/tryton/pyson.py
@@ -1,11 +1,12 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
import sys
-if sys.version_info < (2, 6):
+try:
import simplejson as json
-else:
+except ImportError:
import json
import datetime
+from functools import reduce
class PYSON(object):
@@ -20,6 +21,64 @@ class PYSON(object):
def eval(dct, context):
raise NotImplementedError
+ def __invert__(self):
+ if self.types()!= set([bool]):
+ return Not(Bool(self))
+ else:
+ return Not(self)
+
+ def __and__(self, other):
+ if (isinstance(self, And)
+ and not isinstance(self, Or)):
+ self._statements.append(other)
+ return self
+ if (isinstance(other, PYSON)
+ and other.types() != set([bool])):
+ other = Bool(other)
+ if self.types() != set([bool]):
+ return And(Bool(self), other)
+ else:
+ return And(self, other)
+
+ def __or__(self, other):
+ if isinstance(self, Or):
+ self._statements.append(other)
+ return self
+ if (isinstance(other, PYSON)
+ and other.types() != set([bool])):
+ other = Bool(other)
+ if self.types() != set([bool]):
+ return Or(Bool(self), other)
+ else:
+ return Or(self, other)
+
+ def __eq__(self, other):
+ return Equal(self, other)
+
+ def __ne__(self, other):
+ return Not(Equal(self, other))
+
+ def __gt__(self, other):
+ return Greater(self, other)
+
+ def __ge__(self, other):
+ return Greater(self, other, True)
+
+ def __lt__(self, other):
+ return Less(self, other)
+
+ def __le__(self, other):
+ return Less(self, other, True)
+
+ def get(self, k, d=''):
+ return Get(self, k, d)
+
+ def in_(self, obj):
+ return In(self, obj)
+
+ def contains(self, k):
+ return In(k, self)
+
class PYSONEncoder(json.JSONEncoder):
@@ -131,7 +190,7 @@ class And(PYSON):
assert isinstance(statement, bool), \
'statement must be boolean'
assert len(statements) >= 2, 'must have at least 2 statements'
- self._statements = statements
+ self._statements = list(statements)
def pyson(self):
return {
@@ -405,7 +464,7 @@ class Date(PYSON):
date = date.replace(year=year)
if dct['dM']:
month = date.month + dct['dM']
- year = date.year + month / 12
+ year = date.year + month // 12
month = month % 12
date = date.replace(year=year, month=month)
if dct['dd']:
diff --git a/tryton/rpc.py b/tryton/rpc.py
index 3368588..01635ba 100644
--- a/tryton/rpc.py
+++ b/tryton/rpc.py
@@ -1,198 +1,135 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-import pysocket
+import httplib
+import itertools
import logging
import socket
import os
from threading import Semaphore
+from functools import partial
+from tryton.jsonrpc import ServerProxy, Fault
from tryton.fingerprints import Fingerprints
from tryton.config import get_config_dir
from tryton.ipc import Server as IPCServer
+from tryton.exceptions import TrytonServerError, TrytonServerUnavailable
-_SOCK = None
+CONNECTION = None
_USER = None
_USERNAME = ''
_SESSION = ''
+_HOST = ''
+_PORT = None
_DATABASE = ''
CONTEXT = {}
_VIEW_CACHE = {}
+_TOOLBAR_CACHE = {}
TIMEZONE = 'utc'
-SECURE = False
_SEMAPHORE = Semaphore()
_CA_CERTS = os.path.join(get_config_dir(), 'ca_certs')
+if not os.path.isfile(_CA_CERTS):
+ _CA_CERTS = None
+_FINGERPRINTS = Fingerprints()
+
+ServerProxy = partial(ServerProxy, fingerprints=_FINGERPRINTS, ca_certs=_CA_CERTS)
def db_list(host, port):
- global _SOCK, SECURE
- _SEMAPHORE.acquire()
try:
- try:
- if _SOCK and (_SOCK.hostname != host or _SOCK.port != port):
- _SOCK.disconnect()
- if _SOCK is None:
- _SOCK = pysocket.PySocket(fingerprints=Fingerprints(),
- ca_certs=_CA_CERTS)
- if not _SOCK.connected:
- _SOCK.connect(host, port)
- args = (None, None, None, 'common', 'db', 'list')
- logging.getLogger('rpc.request').info(repr(args))
- try:
- _SOCK.send(args)
- except Exception, exception:
- if exception[0] == 32:
- _SOCK.reconnect()
- _SOCK.send(args)
- else:
- raise
- res = _SOCK.receive()
- SECURE = _SOCK.ssl
- finally:
- _SEMAPHORE.release()
- logging.getLogger('rpc.result').debug(repr(res))
- return res
- except Exception, exception:
- if exception[0] == 'AccessDenied':
+ connection = ServerProxy(host, port)
+ logging.getLogger('rpc.request').info('common.db.list(None, None)')
+ result = connection.common.db.list(None, None)
+ logging.getLogger('rpc.result').debug(repr(result))
+ return result
+ except Fault, exception:
+ if exception.faultCode == 'AccessDenied':
raise
else:
logging.getLogger('rpc.result').debug(repr(None))
return None
def db_exec(host, port, method, *args):
- global _SOCK, SECURE
- _SEMAPHORE.acquire()
- try:
- try:
- if _SOCK and (_SOCK.hostname != host or _SOCK.port != port):
- _SOCK.disconnect()
- if _SOCK is None:
- _SOCK= pysocket.PySocket(fingerprints=Fingerprints(),
- ca_certs=_CA_CERTS)
- if not _SOCK.connected:
- _SOCK.connect(host, port)
- args = (None, None, None, 'common', 'db', method) + args
- logging.getLogger('rpc.request').info(repr(args))
- try:
- _SOCK.send(args)
- except Exception, exception:
- if exception[0] == 32:
- _SOCK.reconnect()
- _SOCK.send(args)
- else:
- raise
- res = _SOCK.receive()
- SECURE = _SOCK.ssl
- finally:
- _SEMAPHORE.release()
- logging.getLogger('rpc.result').debug(repr(res))
- return res
- except Exception:
- raise
+ connection = ServerProxy(host, port)
+ logging.getLogger('rpc.request').info('common.db.%s(None, None, %s)' %
+ (method, args))
+ result = getattr(connection.common.db, method)(None, None, *args)
+ logging.getLogger('rpc.result').debug(repr(result))
+ return result
def server_version(host, port):
- global _SOCK, SECURE
- _SEMAPHORE.acquire()
try:
- try:
- if _SOCK and (_SOCK.hostname != host or _SOCK.port != port):
- _SOCK.disconnect()
- if _SOCK is None:
- _SOCK = pysocket.PySocket(fingerprints=Fingerprints(),
- ca_certs=_CA_CERTS)
- if not _SOCK.connected:
- _SOCK.connect(host, port)
- args = (None, None, None, 'common', None, 'version')
- logging.getLogger('rpc.request').info(repr(args))
- try:
- _SOCK.send(args)
- except Exception, exception:
- if exception[0] == 32:
- _SOCK.reconnect()
- _SOCK.send(args)
- else:
- raise
- res = _SOCK.receive()
- SECURE = _SOCK.ssl
- finally:
- _SEMAPHORE.release()
- logging.getLogger('rpc.result').debug(repr(res))
- return res
- except Exception:
- logging.getLogger('rpc.result').debug(repr(None))
- return None
+ connection = ServerProxy(host, port)
+ logging.getLogger('rpc.request').info(
+ 'common.server.version(None, None)')
+ result = connection.common.server.version(None, None)
+ logging.getLogger('rpc.result').debug(repr(result))
+ return result
+ except (Fault, socket.error):
+ raise
def login(username, password, host, port, database):
- global _SOCK, _USER, _USERNAME, _SESSION, _DATABASE, _VIEW_CACHE, SECURE
+ global CONNECTION, _USER, _USERNAME, _SESSION, _HOST, _PORT, _DATABASE, _VIEW_CACHE
+ global _TOOLBAR_CACHE
_VIEW_CACHE = {}
- SECURE = False
+ _TOOLBAR_CACHE = {}
try:
_SEMAPHORE.acquire()
try:
- if _SOCK and (_SOCK.hostname != host or _SOCK.port != port):
- _SOCK.disconnect()
- if _SOCK is None:
- _SOCK = pysocket.PySocket(fingerprints=Fingerprints(),
- ca_certs=_CA_CERTS)
- if not _SOCK.connected:
- _SOCK.connect(host, port)
- args = (database, username, password, 'common', 'db', 'login')
- logging.getLogger('rpc.request').info(repr(args))
- _SOCK.send(args)
- res = _SOCK.receive()
- logging.getLogger('rpc.result').debug(repr(res))
+ if CONNECTION is not None:
+ CONNECTION.close()
+ CONNECTION = ServerProxy(host, port, database)
+ logging.getLogger('rpc.request').info('common.db.login(%s, %s)' %
+ (username, 'x' * 10))
+ result = CONNECTION.common.db.login(username, password)
+ logging.getLogger('rpc.result').debug(repr(result))
finally:
_SEMAPHORE.release()
- except (socket.error, RuntimeError):
- try:
- _SOCK.reconnect()
- except (socket.error, RuntimeError):
- pass
+ except socket.error:
_USER = None
_SESSION = ''
return -1
- if not res:
+ if not result:
_USER = None
_SESSION = ''
return -2
- _USER = res[0]
+ _USER = result[0]
_USERNAME = username
- _SESSION = res[1]
+ _SESSION = result[1]
+ _HOST = host
+ _PORT = port
_DATABASE = database
- SECURE = _SOCK.ssl
- context_reload()
IPCServer(host, port, database).run()
return 1
def logout():
- global _SOCK, _USER, _USERNAME, _SESSION, _DATABASE, _VIEW_CACHE, SECURE
+ global CONNECTION, _USER, _USERNAME, _SESSION, _HOST, _PORT, _DATABASE, _VIEW_CACHE
+ global _TOOLBAR_CACHE
if IPCServer.instance:
IPCServer.instance.stop()
- if _SOCK and _USER:
+ if CONNECTION is not None:
+ _SEMAPHORE.acquire()
try:
- _SEMAPHORE.acquire()
- try:
- args = (_DATABASE, _USER, _SESSION, 'common', 'db', 'logout')
- logging.getLogger('rpc.request').info(repr(args))
- _SOCK.sock.settimeout(pysocket.CONNECT_TIMEOUT)
- _SOCK.send(args)
- res = _SOCK.receive()
- logging.getLogger('rpc.result').debug(repr(res))
- finally:
- _SEMAPHORE.release()
- except Exception:
+ logging.getLogger('rpc.request').info('common.db.logout(%s, %s)' %
+ (_USER, _SESSION))
+ CONNECTION.common.db.logout(_USER, _SESSION)
+ except (Fault, socket.error, httplib.CannotSendRequest):
pass
- _SOCK.disconnect()
- _SOCK = None
+ finally:
+ _SEMAPHORE.release()
+ CONNECTION.close()
+ CONNECTION = None
_USER = None
_USERNAME = ''
_SESSION = ''
+ _HOST = ''
+ _PORT = None
_DATABASE = ''
_VIEW_CACHE = {}
- SECURE = False
+ _TOOLBAR_CACHE = {}
def context_reload():
- global CONTEXT, TIMEZONE
+ global CONTEXT, TIMEZONE, _HOST, _PORT
try:
context = execute('model', 'res.user', 'get_preferences', True, {})
- except Exception:
+ except Fault:
return
CONTEXT = {}
for i in context:
@@ -200,43 +137,52 @@ def context_reload():
CONTEXT[i] = value
if i == 'timezone':
try:
- TIMEZONE = execute('common', None, 'timezone_get')
- except Exception:
+ connection = ServerProxy(_HOST, _PORT)
+ TIMEZONE = connection.common.server.timezone_get(None, None)
+ except Fault:
pass
def _execute(blocking, *args):
- global _SOCK, _DATABASE, _USER, _SESSION
- if not _SOCK or not _SOCK.connected:
- raise Exception('NotLogged')
- logging.getLogger('rpc.request').info(repr((args)))
+ global CONNECTION, _USER, _SESSION
+ if CONNECTION is None:
+ raise TrytonServerError('NotLogged')
key = False
- if len(args) >= 6 and args[1] == 'fields_view_get':
- key = str(args)
+ method = args[2]
+ if method == 'fields_view_get':
+ args, ctx = args[:-1], args[-1]
+ # Make sure all the arguments are present
+ args = tuple(arg if arg is not None else default
+ for arg, default in itertools.izip_longest(args,
+ ('', '', 'fields_view_get', None, 'form'),
+ fillvalue=None))
+ key = str(args + (ctx,))
if key in _VIEW_CACHE and _VIEW_CACHE[key][0]:
- args = args[:]
- args = args + (_VIEW_CACHE[key][0],)
+ args += (_VIEW_CACHE[key][0], ctx)
+ else:
+ args += (ctx,)
+ elif method == 'view_toolbar_get':
+ key = str(args)
+ if key in _TOOLBAR_CACHE:
+ return _TOOLBAR_CACHE[key]
res = _SEMAPHORE.acquire(blocking)
if not res:
return
try:
- try:
- _SOCK.send((_DATABASE, _USER, _SESSION) + args)
- result = _SOCK.receive()
- except (socket.error, RuntimeError):
- try:
- _SOCK.reconnect()
- _SOCK.send((_DATABASE, _USER, _SESSION) + args)
- result = _SOCK.receive()
- except (socket.error, RuntimeError):
- _SOCK.reconnect()
- raise
+ name = '.'.join(args[:3])
+ args = (_USER, _SESSION) + args[3:]
+ logging.getLogger('rpc.request').info('%s%s' % (name, args))
+ result = getattr(CONNECTION, name)(*args)
+ except (httplib.CannotSendRequest, socket.error), exception:
+ raise TrytonServerUnavailable(*exception.args)
finally:
_SEMAPHORE.release()
- if key:
+ if key and method == 'fields_view_get':
if result is True and key in _VIEW_CACHE:
result = _VIEW_CACHE[key][1]
else:
_VIEW_CACHE[key] = (result['md5'], result)
+ elif key and method == 'view_toolbar_get':
+ _TOOLBAR_CACHE[key] = result
logging.getLogger('rpc.result').debug(repr(result))
return result
diff --git a/tryton/translate.py b/tryton/translate.py
index b5a0ad9..5ff8104 100644
--- a/tryton/translate.py
+++ b/tryton/translate.py
@@ -179,7 +179,7 @@ def setlang(lang=None, locale_dict=None):
os.environ['LC_MESSAGES'] = lang2 + '.' + encoding
os.environ['LANG'] = lang + '.' + encoding
locale.setlocale(locale.LC_ALL, lang2 + '.' + encoding)
- except Exception:
+ except locale.Error:
logging.getLogger('translate').info(
_('Unable to set locale %s') % lang2 + '.' + encoding)
diff --git a/tryton/version.py b/tryton/version.py
index b1bf33f..45ecaae 100644
--- a/tryton/version.py
+++ b/tryton/version.py
@@ -1,7 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
PACKAGE = "tryton"
-VERSION = "2.0.2"
+VERSION = "2.2.0"
LICENSE = "GPL-3"
WEBSITE = "http://www.tryton.org/"
diff --git a/tryton/wizard/__init__.py b/tryton/wizard/__init__.py
deleted file mode 100644
index 5115afa..0000000
--- a/tryton/wizard/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-from main import *
diff --git a/tryton/wizard/main.py b/tryton/wizard/main.py
deleted file mode 100644
index 6cb22a3..0000000
--- a/tryton/wizard/main.py
+++ /dev/null
@@ -1,261 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import gtk
-import gettext
-import tryton.rpc as rpc
-import tryton.common as common
-import thread, time
-from tryton.gui.window.view_form.screen import Screen
-import os
-import pango
-from tryton.config import CONFIG
-
-_ = gettext.gettext
-
-
-class Dialog(object):
- "Dialog for wizard"
-
- def __init__(self, view, state, obj_name, parent,
- action='', size=(0, 0), context=None):
- self.parent = parent
- self.action = action
- self.states = []
- default = -1
- self.dia = gtk.Dialog(_('Wizard'), parent,
- gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
- self.dia.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
- if hasattr(self.dia, 'set_deletable'):
- self.dia.set_deletable(False)
- self.dia.connect('close', self.close)
-
- self.accel_group = gtk.AccelGroup()
- self.dia.add_accel_group(self.accel_group)
-
- for i in state:
- but = gtk.Button(i[1])
- but.show()
- if len(i) >= 3:
- common.ICONFACTORY.register_icon(i[2])
- icon = gtk.Image()
- icon.set_from_stock(i[2], gtk.ICON_SIZE_BUTTON)
- but.set_image(icon)
- self.dia.add_action_widget(but, len(self.states))
- if len(i) >= 4 and i[3]:
- if default < 0:
- default = len(self.states)
- but.set_flags(gtk.CAN_DEFAULT)
- but.add_accelerator('clicked', self.accel_group,
- gtk.keysyms.Return, gtk.gdk.CONTROL_MASK,
- gtk.ACCEL_VISIBLE)
- self.dia.set_default_response(default)
- self.states.append(i[0])
-
- val = {}
- fields = view['fields']
- for i in fields:
- if 'value' in fields[i]:
- val[i] = fields[i]['value']
-
- self.screen = Screen(obj_name, self.dia, mode=[], context=context)
- self.screen.add_view(view, display=True)
-
- title = gtk.Label()
- title.set_use_markup(True)
- title.modify_font(pango.FontDescription("14"))
- title.set_label('<b>' + self.screen.current_view.title + '</b>')
- title.set_padding(20, 3)
- title.set_alignment(0.0, 0.5)
- title.show()
-
- self.info_label = gtk.Label()
- self.info_label.set_padding(3, 3)
- self.info_label.set_alignment(1.0, 0.5)
-
- self.eb_info = gtk.EventBox()
- self.eb_info.add(self.info_label)
- self.eb_info.connect('button-release-event',
- lambda *a: self.message_info(''))
-
- vbox = gtk.VBox()
- vbox.pack_start(self.eb_info, expand=True, fill=True, padding=5)
- vbox.show()
-
- hbox = gtk.HBox()
- hbox.pack_start(title, expand=True, fill=True)
- hbox.pack_start(vbox, expand=False, fill=True, padding=20)
- hbox.show()
-
- frame = gtk.Frame()
- frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
- frame.add(hbox)
- frame.show()
-
- eb = gtk.EventBox()
- eb.add(frame)
- eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffffff"))
- eb.show()
-
- self.dia.vbox.pack_start(eb, expand=False, fill=True, padding=3)
-
- self.dia.vbox.pack_start(self.screen.widget, True, True)
-
- width, height = self.screen.screen_container.size_get()
- parent_width, parent_height = parent.get_size()
- dia_width, dia_height = self.dia.get_size()
- self.widget_width = min(parent_width - 20,
- max(dia_width, width + 20, size[0]))
- self.widget_height = min(parent_height - 60,
- max(height + dia_height + 20, size[1]))
- self.dia.set_default_size(self.widget_width,
- self.widget_height)
- self.screen.widget.show()
- self.dia.set_title(self.screen.current_view.title)
- self.dia.show()
- self.screen.new(default=False)
- self.screen.current_record.set_default(val)
- self.screen.current_view.set_cursor()
-
- def run(self, datas=None):
- if datas is None:
- datas = {}
- while True:
- res = self.dia.run()
- self.screen.current_view.set_value()
- if self.screen.current_record.validate() \
- or (res<0) or (self.states[res]=='end'):
- break
- self.screen.display()
-
- if CONFIG['client.save_width_height']:
- width, height = self.dia.get_size()
- if (width, height) != (self.widget_width, self.widget_height):
- try:
- rpc.execute('model', 'ir.action.wizard_size', 'set_size',
- self.action, self.screen.model_name, width, height,
- rpc.CONTEXT)
- except Exception:
- pass
-
- if res < len(self.states) and res >= 0:
- datas.update(self.screen.get())
- self.dia.hide()
- self.parent.present()
- return self.states[res], datas
- else:
- self.dia.hide()
- self.parent.present()
- return False
-
- def close(self, widget, event=None):
- widget.emit_stop_by_name('close')
- return True
-
- def destroy(self):
- self.dia.destroy()
-
- def message_info(self, message, color='red'):
- if message:
- self.info_label.set_label(message)
- self.eb_info.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse(
- COLOR_SCHEMES.get(color, 'white')))
- self.eb_info.show_all()
- else:
- self.info_label.set_label('')
- self.eb_info.hide()
-
-
-class Wizard(object):
-
- @staticmethod
- def execute(action, datas, parent, state='init',
- direct_print=False, email_print=False, email=None,
- context=None):
- from tryton.action import Action
- if not 'form' in datas:
- datas['form'] = {}
- args = ('wizard', action, 'create', rpc.CONTEXT)
- try:
- wiz_id = rpc.execute(*args)
- except Exception, exception:
- wiz_id = common.process_exception(exception, parent, *args)
- if not wiz_id:
- return
- dia = None
- res = {}
- while state != 'end':
- ctx = context.copy()
- ctx.update(rpc.CONTEXT)
- ctx['active_id'] = datas.get('id')
- ctx['active_ids'] = datas.get('ids')
- rpcprogress = common.RPCProgress('execute', ('wizard',
- action, 'execute', wiz_id, datas, state, ctx), parent)
- try:
- res = rpcprogress.run()
- exception = None
- except Exception, exception:
- if common.process_exception(exception, parent):
- continue
- else:
- # Continue by running previous result except if access to
- # wizard is denied
- if exception.args[0] == 'AccessDenied':
- break
- if not res:
- if dia:
- res = {'type': 'form'}
- else:
- break
- else:
- if dia and not exception:
- dia.destroy()
- dia = None
-
- if 'datas' in res:
- datas['form'] = res['datas']
- elif res['type'] == 'form':
- datas['form'] = {}
- if res['type'] == 'form':
- if not dia:
- dia = Dialog(res, res['state'], res['object'], parent,
- action=action, size=res['size'], context=ctx)
- dia.screen.current_record.set_default(datas['form'])
- res2 = dia.run(datas['form'])
- if not res2:
- break
- state, new_data = res2
-
- for data in new_data:
- if new_data[data] is None:
- del new_data[data]
- datas['form'].update(new_data)
- del new_data
- elif res['type'] == 'action':
- Action._exec_action(res['action'], dia or parent, datas,
- context=ctx)
- state = res['state']
- elif res['type'] == 'print':
- datas['report_id'] = res.get('report_id', False)
- if res.get('get_id_from_action', False):
- backup_ids = datas['ids']
- datas['ids'] = datas['form']['ids']
- Action.exec_report(res['report'], datas, dia or parent,
- direct_print=direct_print, email_print=email_print,
- email=email, context=ctx)
- datas['ids'] = backup_ids
- else:
- Action.exec_report(res['report'], datas, dia or parent,
- direct_print=direct_print, email_print=email_print,
- email=email, context=ctx)
- state = res['state']
- elif res['type'] == 'state':
- state = res['state']
- if dia:
- dia.destroy()
- dia = None
- try:
- rpc.execute('wizard', action, 'delete', wiz_id, rpc.CONTEXT)
- #XXX to remove when company displayed in status bar
- rpc.context_reload()
- except Exception:
- pass
commit e8f15d242de02abee23338b3cf51e12686f6702b
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 19:52:32 2011 +0100
Merging upstream version 2.0.2+dfsg.
diff --git a/CHANGELOG b/CHANGELOG
index 98630b0..9170a0a 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,6 @@
+Version 2.0.2 - 2011-10-01
+* Bug fixes (see mercurial logs for details)
+
Version 2.0.1 - 2011-05-29
* Bug fixes (see mercurial logs for details)
diff --git a/PKG-INFO b/PKG-INFO
index 011f2a8..523fe06 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: tryton
-Version: 2.0.1
+Version: 2.0.2
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
@@ -77,6 +77,9 @@ Classifier: Natural Language :: French
Classifier: Natural Language :: German
Classifier: Natural Language :: Russian
Classifier: Natural Language :: Spanish
+Classifier: Natural Language :: Slovak
+Classifier: Natural Language :: Slovenian
+Classifier: Natural Language :: Japanese
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
diff --git a/setup.py b/setup.py
index f01c3ae..351cb37 100644
--- a/setup.py
+++ b/setup.py
@@ -48,10 +48,14 @@ data_files=[
glob.glob('share/locale/fr_FR/LC_MESSAGES/*.mo')),
('share/locale/ru_RU/LC_MESSAGES',
glob.glob('share/locale/ru_RU/LC_MESSAGES/*.mo')),
+ ('share/locale/sl_SI/LC_MESSAGES',
+ glob.glob('share/locale/sl_SI/LC_MESSAGES/*.mo')),
('share/locale/ja_JP/LC_MESSAGES',
glob.glob('share/locale/ja_JP/LC_MESSAGES/*.mo')),
]
+trans_lang = ('bg', 'cs', 'de', 'es', 'fr', 'ru', 'sl', 'ja')
+
if os.name == 'nt':
import py2exe
@@ -140,6 +144,9 @@ dist = setup(name=PACKAGE,
'Natural Language :: German',
'Natural Language :: Russian',
'Natural Language :: Spanish',
+ 'Natural Language :: Slovak',
+ 'Natural Language :: Slovenian',
+ 'Natural Language :: Japanese',
'Operating System :: OS Independent',
'Programming Language :: Python :: 2.5',
'Programming Language :: Python :: 2.6',
@@ -225,7 +232,7 @@ if os.name == 'nt':
if os.path.isfile(file):
shutil.copy(file, dist_dir)
- for lang in ('de', 'es', 'fr', 'ru'):
+ for lang in trans_lang:
if os.path.isdir(os.path.join(dist_dir, 'share', 'locale', lang)):
shutil.rmtree(os.path.join(dist_dir, 'share', 'locale', lang))
shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
@@ -318,7 +325,7 @@ elif os.name == 'mac' \
shutil.copy(os.path.join(gtk_dir, 'share', 'themes', 'Clearlooks',
'gtk-2.0', 'gtkrc'), os.path.join(resources_dir, 'gtkrc'))
- for lang in ('de', 'es', 'fr', 'ru'):
+ for lang in trans_lang:
if os.path.isdir(os.path.join(resources_dir, 'share', 'locale', lang)):
shutil.rmtree(os.path.join(resources_dir, 'share', 'locale', lang))
shutil.copytree(os.path.join(gtk_dir, 'share', 'locale', lang),
diff --git a/share/locale/ja_JP/LC_MESSAGES/tryton.mo b/share/locale/ja_JP/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..342a294
Binary files /dev/null and b/share/locale/ja_JP/LC_MESSAGES/tryton.mo differ
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 011f2a8..523fe06 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: tryton
-Version: 2.0.1
+Version: 2.0.2
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
@@ -77,6 +77,9 @@ Classifier: Natural Language :: French
Classifier: Natural Language :: German
Classifier: Natural Language :: Russian
Classifier: Natural Language :: Spanish
+Classifier: Natural Language :: Slovak
+Classifier: Natural Language :: Slovenian
+Classifier: Natural Language :: Japanese
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 2.5
Classifier: Programming Language :: Python :: 2.6
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index d244592..1e9de5d 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -46,6 +46,7 @@ share/locale/de_DE/LC_MESSAGES/tryton.mo
share/locale/es_CO/LC_MESSAGES/tryton.mo
share/locale/es_ES/LC_MESSAGES/tryton.mo
share/locale/fr_FR/LC_MESSAGES/tryton.mo
+share/locale/ja_JP/LC_MESSAGES/tryton.mo
share/locale/nl_NL/LC_MESSAGES/tryton.mo
share/locale/ru_RU/LC_MESSAGES/tryton.mo
share/locale/sl_SI/LC_MESSAGES/tryton.mo
diff --git a/tryton/common/common.py b/tryton/common/common.py
index d4bdd5a..70db285 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -128,6 +128,12 @@ def find_in_path(name):
return val
return name
+def test_server_version(host, port):
+ version = rpc.server_version(host, port)
+ if not version:
+ return False
+ return version.split('.')[:2] == VERSION.split('.')[:2]
+
def refresh_dblist(host, port):
'''
Return the number of database available
@@ -135,10 +141,8 @@ def refresh_dblist(host, port):
or -1 if the server version doesn't match the client version
'''
rpc.logout()
- version = rpc.server_version(host, port)
- if hasattr(version, 'split'):
- if version.split('.')[:2] != VERSION.split('.')[:2]:
- return -1
+ if not test_server_version(host, port):
+ return -1
return rpc.db_list(host, port)
def refresh_langlist(lang_widget, host, port):
@@ -520,9 +524,9 @@ message = MessageDialog()
class WarningDialog(UniqueDialog):
- def build_dialog(self, message, parent, title):
+ def build_dialog(self, message, parent, title, buttons=gtk.BUTTONS_OK):
dialog = gtk.MessageDialog(parent, gtk.DIALOG_DESTROY_WITH_PARENT,
- gtk.MESSAGE_WARNING, gtk.BUTTONS_OK)
+ gtk.MESSAGE_WARNING, buttons)
if hasattr(dialog, 'format_secondary_markup'):
dialog.set_markup('<b>%s</b>' % (to_xml(title)))
dialog.format_secondary_markup(to_xml(message))
@@ -544,7 +548,7 @@ class UserWarningDialog(WarningDialog):
def build_dialog(self, message, parent, title):
dialog = super(UserWarningDialog, self).build_dialog(message, parent,
- title)
+ title, gtk.BUTTONS_OK_CANCEL)
check = gtk.CheckButton(_('Always ignore this warning.'))
check.connect_after('toggled', self._set_always)
alignment = gtk.Alignment(1, 0.5)
@@ -1080,16 +1084,13 @@ class DBProgress(object):
def start(self):
key = (self.host, self.port)
+ dbs, createdb = [], False
try:
dbs = refresh_dblist(self.host, self.port)
createdb = True
- except Exception, exception:
- if exception[0] == 'AccessDenied':
- dbs, createdb = [], False
- else:
- raise
- self.db_info = (dbs, createdb)
- self.updated.set()
+ finally:
+ self.db_info = (dbs, createdb)
+ self.updated.set()
def update(self, combo, progressbar, dbname=''):
key = (self.host, self.port)
@@ -1333,17 +1334,13 @@ def float_time_to_text(val, conv=None):
val = val - hours
mins = int((val% 1 + 0.01) / conv['m'])
if years:
- value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['Y'],
- years, True)
+ value += ' ' + locale.format('%d', years, True) + FLOAT_TIME_SEPS['Y']
if months:
- value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['M'],
- months, True)
+ value += ' ' + locale.format('%d', months, True) + FLOAT_TIME_SEPS['M']
if weeks:
- value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['w'],
- weeks, True)
+ value += ' ' + locale.format('%d', weeks, True) + FLOAT_TIME_SEPS['w']
if days:
- value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['d'],
- days, True)
+ value += ' ' + locale.format('%d', days, True) + FLOAT_TIME_SEPS['d']
if hours or mins:
value += ' %02d:%02d' % (hours, mins)
value = value.strip()
diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py
index a4a8375..69266da 100644
--- a/tryton/common/domain_inversion.py
+++ b/tryton/common/domain_inversion.py
@@ -180,7 +180,7 @@ class And(object):
elif is_leaf(part) and self.base(part[0]) == symbol:
result.append(part)
else:
- field, _, _ = part
+ field = part[0]
if (field not in context
or field in context
and eval_leaf(part, context, operator.and_)):
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index 107648b..1340797 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -87,8 +87,9 @@ class Main(object):
gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/File/Quit', gtk.keysyms.Q,
gtk.gdk.CONTROL_MASK)
- gtk.accel_map_add_entry('<tryton>/User/Menu Reload', gtk.keysyms.T,
- gtk.gdk.MOD1_MASK)
+ if os.name != 'mac':
+ gtk.accel_map_add_entry('<tryton>/User/Menu Reload', gtk.keysyms.T,
+ gtk.gdk.MOD1_MASK)
gtk.accel_map_add_entry('<tryton>/User/Menu Toggle', gtk.keysyms.T,
gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/User/Home', gtk.keysyms.H,
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index 348cc96..6201642 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -85,6 +85,7 @@ class DBListEditor(object):
self.port_entry = gtk.Entry()
self.port_entry.connect('focus-out-event', self.display_dbwidget)
self.port_entry.connect('changed', self.update_profiles, 'port')
+ self.port_entry.connect('insert_text', self.insert_text_port)
self.port_entry.set_activates_default(True)
table.attach(port, 0, 1, 2, 3, yoptions=False, xoptions=gtk.FILL)
table.attach(self.port_entry, 1, 2, 2, 3, yoptions=False)
@@ -344,6 +345,15 @@ class DBListEditor(object):
self.profiles.set(self.current_profile['name'], 'database', dbname)
self.validate_profile(self.current_profile['name'])
+ def insert_text_port(self, entry, new_text, new_text_length, position):
+ value = entry.get_text()
+ position = entry.get_position()
+ new_value = value[:position] + new_text + value[position:]
+ try:
+ int(new_value)
+ except ValueError:
+ entry.stop_emission('insert-text')
+
class DBLogin(object):
def __init__(self, parent):
@@ -478,7 +488,7 @@ class DBLogin(object):
self.profiles.write(configfile)
for idx, row in enumerate(self.profile_store):
- if row[0] == profile_name:
+ if row[0] == profile_name and row[1]:
self.combo_profile.set_active(idx)
self.profile_changed(self.combo_profile)
break
@@ -493,6 +503,8 @@ class DBLogin(object):
except ConfigParser.NoOptionError:
username = ''
host = self.profiles.get(profile, 'host')
+ if ':' in host:
+ host = '[%s]' % host
port = self.profiles.get(profile, 'port')
self.entry_host.set_text('%s:%s' % (host, port))
self.entry_database.set_text(self.profiles.get(profile, 'database'))
@@ -510,10 +522,17 @@ class DBLogin(object):
self.move_active = True
def clear_profile_combo(self, entry, event):
- host_entry = self.entry_host.get_text()
- host, port = host_entry.split(':', 1) if ':' in host_entry else ('', '')
+ netloc = self.entry_host.get_text()
+ host = self.get_hostname(netloc)
+ try:
+ port = str(self.get_port(netloc))
+ except ValueError:
+ host = ''
+ port = ''
database = self.entry_database.get_text().strip()
for idx, profile_info in enumerate(self.profile_store):
+ if not profile_info[1]:
+ continue
profile = profile_info[0]
if (host == self.profiles.get(profile, 'host')
and port == self.profiles.get(profile, 'port')
@@ -530,6 +549,21 @@ class DBLogin(object):
self.entry_database.props.visible = visibility
self.label_database.props.visible = visibility
+ def get_hostname(self, netloc):
+ if '[' in netloc and ']' in netloc:
+ return netloc.split(']')[0][1:]
+ elif ':' in netloc:
+ return netloc.split(':')[0]
+ else:
+ return netloc
+
+ def get_port(self, netloc):
+ netloc = netloc.split(']')[-1]
+ if ':' in netloc:
+ return int(netloc.split(':')[1])
+ else:
+ return 8070
+
def run(self, parent):
profile_name = CONFIG['login.profile']
can_use_profile = self.profiles.has_section(profile_name)
@@ -548,7 +582,11 @@ class DBLogin(object):
break
else:
self.combo_profile.set_active(-1)
- self.entry_host.set_text('%s:%s' % (CONFIG['login.server'],
+ if ':' in CONFIG['login.server']:
+ host = '[%s]' % CONFIG['login.server']
+ else:
+ host = CONFIG['login.server']
+ self.entry_host.set_text('%s:%s' % (host,
CONFIG['login.port']))
db = CONFIG['login.db'] if CONFIG['login.db'] else ''
self.entry_database.set_text(db)
@@ -567,15 +605,26 @@ class DBLogin(object):
self.expand_hostspec(self.expander)
res, result = None, ('', '', '', '', '')
- while not (res in (gtk.RESPONSE_CANCEL, gtk.RESPONSE_DELETE_EVENT)
- or (res == gtk.RESPONSE_OK and all(result))):
+ while not all(result):
res = self.dialog.run()
+ if res != gtk.RESPONSE_OK:
+ break
active_profile = self.combo_profile.get_active()
if active_profile != -1:
profile = self.profile_store[active_profile][0]
CONFIG['login.profile'] = profile
- host, port = (self.entry_host.get_text().split(':', 1)
- + ['8070'])[:2]
+ netloc = self.entry_host.get_text()
+ host = self.get_hostname(netloc)
+ try:
+ port = self.get_port(netloc)
+ except ValueError:
+ continue
+ if ':' in host:
+ hostname = '[%s]' % host
+ else:
+ hostname = host
+ if not common.test_server_version(host, port):
+ continue
database = self.entry_database.get_text()
login = self.entry_login.get_text()
CONFIG['login.server'] = host
@@ -584,7 +633,7 @@ class DBLogin(object):
CONFIG['login.expanded'] = self.expander.props.expanded
CONFIG['login.login'] = login
result = (self.entry_login.get_text(),
- self.entry_password.get_text(), host, int(port), database)
+ self.entry_password.get_text(), host, port, database)
if res != gtk.RESPONSE_OK:
parent.present()
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index 65c16b3..9e105d8 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -44,7 +44,7 @@ class Action(SignalEvent):
self.action['view_mode'] = attrs['view_mode']
self.action.setdefault('pyson_domain', '[]')
- self.context = {'active_id': False, 'active_ids': []}
+ self.context = {}
self.context.update(rpc.CONTEXT)
self.context.update(PYSONDecoder(self.context).decode(
self.action.get('pyson_context', '{}')))
@@ -238,7 +238,7 @@ class Action(SignalEvent):
self.signal('active-changed')
def _get_active(self):
- if self.screen:
+ if self.screen and self.screen.current_record:
return common.EvalEnvironment(self.screen.current_record, False)
elif self.tree:
return {'id': self.tree.sel_id_get()}
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 381374a..9652e70 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -42,7 +42,7 @@ class CharField(object):
record.autocomplete_with(self.name)
def domains_get(self, record):
- screen_domain = domain_inversion(record.group.domain,
+ screen_domain = domain_inversion(record.group.domain4inversion,
self.name, EvalEnvironment(record, False))
if isinstance(screen_domain, bool) and not screen_domain:
screen_domain = [('id', '=', False)]
@@ -316,12 +316,13 @@ class M2OField(CharField):
def get(self, record, check_load=True, readonly=True, modified=False):
value = record.value.get(self.name)
- if record.parent_name == self.name:
+ if (record.parent_name == self.name
+ and self.attrs['relation'] == record.group.parent.model_name):
value = record.parent.id if record.parent else False
if value:
if isinstance(value, (int, basestring, long)):
self.set(record, value)
- value = record.value.get(self.name)
+ value = record.value.get(self.name, value)
if isinstance(value, (int, basestring, long)):
return value
return value[0] or False
@@ -329,19 +330,21 @@ class M2OField(CharField):
def get_client(self, record):
value = record.value.get(self.name)
- if record.parent_name == self.name:
+ if (record.parent_name == self.name
+ and self.attrs['relation'] == record.group.parent.model_name):
value = record.parent.id if record.parent else False
if value:
if isinstance(value, (int, basestring, long)):
self.set(record, value)
- value = record.value.get(self.name)
+ value = record.value.get(self.name, value)
if isinstance(value, (int, basestring, long)):
return value
return value[1]
return False
def set(self, record, value, modified=False):
- if record.parent_name == self.name:
+ if (record.parent_name == self.name
+ and self.attrs['relation'] == record.group.parent.model_name):
if record.parent:
if 'rec_name' in record.parent.value:
value = (record.parent.id, record.parent.value['rec_name'])
@@ -370,7 +373,8 @@ class M2OField(CharField):
else:
record.value[self.name + '.rec_name'] = ''
record.value[self.name] = value or (False, '')
- if record.parent_name == self.name:
+ if (record.parent_name == self.name
+ and self.attrs['relation'] == record.group.parent.model_name):
if record.parent:
if 'rec_name' not in record.parent.value:
record.parent.value['rec_name'] = \
@@ -422,7 +426,8 @@ class M2OField(CharField):
def get_state_attrs(self, record):
result = super(M2OField, self).get_state_attrs(record)
- if record.parent_name == self.name:
+ if (record.parent_name == self.name
+ and self.attrs['relation'] == record.group.parent.model_name):
result = result.copy()
result['readonly'] = True
return result
@@ -455,10 +460,12 @@ class O2MField(CharField):
record.parent.signal('record-changed')
def _group_list_changed(self, group, signal):
- group.parent.group.signal('group-list-changed', signal)
+ if group.model_name == group.parent.model_name:
+ group.parent.group.signal('group-list-changed', signal)
def _group_cleared(self, group, signal):
- group.parent.signal('group-cleared')
+ if group.model_name == group.parent.model_name:
+ group.parent.signal('group-cleared')
def _set_default_value(self, record):
if record.value.get(self.name) is not None:
@@ -485,8 +492,12 @@ class O2MField(CharField):
def get(self, record, check_load=True, readonly=True, modified=False):
if record.value.get(self.name) is None:
return []
+ record_removed = record.value[self.name].record_removed
+ record_deleted = record.value[self.name].record_deleted
result = [('add', [])]
for record2 in record.value[self.name]:
+ if record2 in record_removed or record2 in record_deleted:
+ continue
if record2.id > 0:
values = record2.get(check_load=check_load,
get_readonly=readonly, get_modifiedonly=modified)
@@ -496,12 +507,10 @@ class O2MField(CharField):
else:
result.append(('create',
record2.get(check_load=check_load, get_readonly=readonly)))
- if record.value[self.name].record_removed:
- result.append(('unlink', [x.id for x in \
- record.value[self.name].record_removed]))
- if record.value[self.name].record_deleted:
- result.append(('delete', [x.id for x in \
- record.value[self.name].record_deleted]))
+ if record_removed:
+ result.append(('unlink', [x.id for x in record_removed]))
+ if record_deleted:
+ result.append(('delete', [x.id for x in record_deleted]))
return result
def get_timestamp(self, record):
@@ -569,6 +578,9 @@ class O2MField(CharField):
fields = group.fields
elif record.model_name == self.attrs['relation']:
fields = record.group.fields
+ if fields:
+ fields = dict((fname, field.attrs)
+ for fname, field in fields.iteritems())
# value is a list of dict
fields_dict = {}
@@ -584,7 +596,7 @@ class O2MField(CharField):
args = ('model', self.attrs['relation'], 'fields_get',
field_names, context)
try:
- fields_to_load = rpc.execute(*args)
+ fields_dict = rpc.execute(*args)
except Exception, exception:
fields_dict = common.process_exception(exception,
record.window, *args)
@@ -592,17 +604,17 @@ class O2MField(CharField):
return False
parent_name = self.attrs.get('relation_field', '')
- group = Group(self.attrs['relation'], fields_dict, record.window,
+ group = Group(self.attrs['relation'], fields, record.window,
parent=record, parent_name=parent_name, child_name=self.name,
context=self.context,
parent_datetime_field=self.attrs.get('datetime_field'))
+ group.load_fields(fields_dict)
if record.value.get(self.name):
group.record_deleted.extend(x for x in record.value[self.name]
if x.id > 0)
group.record_deleted.extend(record.value[self.name].record_deleted)
group.record_removed.extend(record.value[self.name].record_removed)
record.value[self.name] = group
- group.fields = fields
for vals in (value or []):
new_record = record.value[self.name].new(default=False)
new_record.set_default(vals, modified=modified)
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index efe1f47..27ff8d4 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -6,6 +6,7 @@ from record import Record
from field import Field, O2MField
from tryton.signal_event import SignalEvent
import tryton.common as common
+from tryton.common.domain_inversion import is_leaf
class Group(SignalEvent, list):
@@ -17,10 +18,11 @@ class Group(SignalEvent, list):
if domain is None:
domain = []
self.domain = domain
+ self.__domain4inversion = None
self.lock_signal = False
self.__window = window
self.parent = parent
- self.parent_name = parent_name
+ self.parent_name = parent_name or ''
self.child_name = child_name
self.parent_datetime_field = parent_datetime_field
self._context = context or {}
@@ -36,6 +38,7 @@ class Group(SignalEvent, list):
self.readonly = True
self.__id2record = {}
self.__field_childs = None
+ self.exclude_field = None
def __get_window(self):
return self.__window
@@ -47,6 +50,29 @@ class Group(SignalEvent, list):
window = property(__get_window, __set_window)
+ def clean4inversion(self, domain):
+ "This method will replace non relevant fields for domain inversion"
+ if domain in ([], ()):
+ return []
+ head, tail = domain[0], domain[1:]
+ if head in ('AND', 'OR'):
+ pass
+ elif is_leaf(head):
+ field = head[0]
+ if (field in self.fields
+ and self.fields[field].attrs.get('readonly')):
+ head = []
+ else:
+ head = self.clean4inversion(head)
+ return [head] + self.clean4inversion(tail)
+
+ def __get_domain4inversion(self):
+ if self.__domain4inversion is None:
+ self.__domain4inversion = self.clean4inversion(self.domain)
+ return self.__domain4inversion
+
+ domain4inversion = property(__get_domain4inversion)
+
def insert(self, pos, record):
assert record.group is self
if pos >= 1:
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 40917df..a712d85 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -292,7 +292,10 @@ class Record(SignalEvent):
vals = common.process_exception(exception, self.window, *args)
if not vals:
return
- if self.parent_name in self.group.fields and self.parent:
+ if (self.parent
+ and self.parent_name in self.group.fields
+ and (self.group.fields[self.parent_name].attrs['relation']
+ == self.group.parent.model_name)):
vals[self.parent_name] = self.parent.id
self.set_default(vals)
for fieldname, fieldinfo in self.group.fields.iteritems():
@@ -321,6 +324,10 @@ class Record(SignalEvent):
for field_name, field in self.group.fields.iteritems():
if fields and field_name not in fields:
continue
+ if field.get_state_attrs(self).get('readonly', False):
+ continue
+ if field_name == self.group.exclude_field:
+ continue
if not field.validate(self, softvalidation):
res = False
return res
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index 29fd753..5232b48 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -48,6 +48,7 @@ class Screen(SignalEvent):
self.view_ids = view_ids
self.parent = None
self.parent_name = None
+ self.exclude_field = exclude_field
self.__window = window
self.__group = None
self.new_group()
@@ -61,7 +62,6 @@ class Screen(SignalEvent):
self.limit = limit
self.search_value = search_value
self.fields_view_tree = None
- self.exclude_field = exclude_field
self.sort = sort
self.view_to_load = []
@@ -190,6 +190,7 @@ class Screen(SignalEvent):
self._record_modified)
self.__group.signal_connect(self, 'group-changed', self._group_changed)
self.__group.add_fields(fields)
+ self.__group.exclude_field = self.exclude_field
group = property(__get_group, __set_group)
@@ -457,7 +458,7 @@ class Screen(SignalEvent):
def save_current(self):
if not self.current_record:
- if self.current_view == 'tree' and len(self.group):
+ if self.current_view.view_type == 'tree' and len(self.group):
self.current_record = self.group[0]
else:
return True
@@ -570,20 +571,21 @@ class Screen(SignalEvent):
res = True
if self.current_view.view_type == 'tree':
records = self.current_view.selected_records()
- if delete and records:
+ saved_records = [r for r in records if r.id >= 0]
+ if delete and saved_records:
context = {}
context.update(rpc.CONTEXT)
context.update(self.context)
context['_timestamp'] = {}
- for record in records:
+ for record in saved_records:
context['_timestamp'].update(record.get_timestamp())
- reload_ids = self.group.on_write_ids([x.id for x in records])
+ reload_ids = self.group.on_write_ids([x.id for x in saved_records])
if reload_ids:
- for record in records:
+ for record in saved_records:
if record.id in reload_ids:
reload_ids.remove(record.id)
args = ('model', self.model_name, 'delete',
- [x.id for x in records], context)
+ [x.id for x in saved_records], context)
try:
res = rpc.execute(*args)
except Exception, exception:
@@ -661,14 +663,14 @@ class Screen(SignalEvent):
view = self.current_view
view.set_value()
view.set_cursor(reset_view=False)
- if view.view_type == 'tree':
+ if view.view_type == 'tree' and len(self.group):
start, end = view.widget_tree.get_visible_range()
vadjustment = view.widget_tree.get_vadjustment()
vadjustment.value = vadjustment.value + vadjustment.page_increment
store = view.store
iter_ = store.get_iter(end)
self.current_record = store.get_value(iter_, 0)
- elif self.current_record.group:
+ elif view.view_type == 'form' and self.current_record.group:
group = self.current_record.group
record = self.current_record
while group:
@@ -703,14 +705,14 @@ class Screen(SignalEvent):
view = self.current_view
view.set_value()
view.set_cursor(reset_view=False)
- if view.view_type == 'tree':
+ if view.view_type == 'tree' and len(self.group):
start, end = view.widget_tree.get_visible_range()
vadjustment = view.widget_tree.get_vadjustment()
vadjustment.value = vadjustment.value - vadjustment.page_increment
store = view.store
iter_ = store.get_iter(start)
self.current_record = store.get_value(iter_, 0)
- elif self.current_record.group:
+ elif view.view_type == 'form' and self.current_record.group:
group = self.current_record.group
record = self.current_record
idx = group.index(record) - 1
diff --git a/tryton/gui/window/view_form/view/form_gtk/binary.py b/tryton/gui/window/view_form/view/form_gtk/binary.py
index d9d4c19..d22e832 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -116,7 +116,7 @@ class Binary(WidgetInterface):
def sig_new(self, widget=None):
filename = file_selection(_('Open...'),
- parent=self.window)
+ parent=self.widget.get_toplevel())
if filename and self.field:
self.field.set_client(self.record,
base64.encodestring(open(filename, 'rb').read()))
@@ -144,7 +144,8 @@ class Binary(WidgetInterface):
if self.filename_field:
filename = self.filename_field.get(self.record)
filename = file_selection(_('Save As...'), filename=filename,
- parent=self.window, action=gtk.FILE_CHOOSER_ACTION_SAVE)
+ parent=self.widget.get_toplevel(),
+ action=gtk.FILE_CHOOSER_ACTION_SAVE)
if filename:
with open(filename,'wb') as fp:
fp.write(base64.decodestring(self.field.get(self.record)))
diff --git a/tryton/gui/window/view_form/view/form_gtk/image.py b/tryton/gui/window/view_form/view/form_gtk/image.py
index 124149b..cf244c2 100644
--- a/tryton/gui/window/view_form/view/form_gtk/image.py
+++ b/tryton/gui/window/view_form/view/form_gtk/image.py
@@ -208,17 +208,17 @@ class Image(WidgetInterface):
try:
loader = gtk.gdk.PixbufLoader(ftype)
loader.write(data, len(data))
+ pixbuf = loader.get_pixbuf()
+ loader.close()
except Exception:
continue
- pixbuf = loader.get_pixbuf()
if pixbuf:
break
if not pixbuf:
loader = gtk.gdk.PixbufLoader('png')
loader.write(NOIMAGE, len(NOIMAGE))
pixbuf = loader.get_pixbuf()
-
- loader.close()
+ loader.close()
img_height = pixbuf.get_height()
if img_height > self.height:
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2many.py b/tryton/gui/window/view_form/view/form_gtk/many2many.py
index bbee21c..87d177c 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -121,8 +121,9 @@ class Many2Many(WidgetInterface):
return False
if len(ids) != 1 or not value:
win = WinSearch(self.attrs['relation'], sel_multi=True, ids=ids,
- context=context, domain=domain, parent=self.window,
- views_preload=self.attrs.get('views', {}))
+ context=context, domain=domain,
+ parent=self.widget.get_toplevel(),
+ views_preload=self.attrs.get('views', {}))
ids = win.run()
res_id = None
@@ -146,7 +147,7 @@ class Many2Many(WidgetInterface):
def _sig_edit(self):
if self.screen.current_record:
- win = WinForm(self.screen, self.window)
+ win = WinForm(self.screen, self.widget.get_toplevel())
if win.run():
self.screen.current_record.save()
else:
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py
index 4f9f967..3436187 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -127,7 +127,7 @@ class Many2One(WidgetInterface):
win = WinSearch(self.attrs['relation'], sel_multi=False,
ids=ids, context=context, domain=domain,
- parent=self.window,
+ parent=self.widget.get_toplevel(),
views_preload=self.attrs.get('views', {}))
ids = win.run()
if ids:
@@ -155,7 +155,7 @@ class Many2One(WidgetInterface):
def sig_new(self, *args):
self.focus_out = False
screen = self.get_screen()
- win = WinForm(screen, self.window, new=True)
+ win = WinForm(screen, self.widget.get_toplevel(), new=True)
if win.run():
if screen.save_current():
value = (screen.current_record.id,
@@ -171,7 +171,7 @@ class Many2One(WidgetInterface):
if value:
screen = self.get_screen()
screen.load([self.field.get(self.record)])
- win = WinForm(screen, self.window)
+ win = WinForm(screen, self.widget.get_toplevel())
while win.run():
if screen.save_current():
value = (screen.current_record.id,
@@ -212,7 +212,7 @@ class Many2One(WidgetInterface):
win = WinSearch(self.attrs['relation'], sel_multi=False,
ids=ids, context=context,
- domain=domain, parent=self.window,
+ domain=domain, parent=self.widget.get_toplevel(),
views_preload=self.attrs.get('views', {}))
ids = win.run()
if ids:
diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py
index a42b3e9..f8c78b7 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -240,7 +240,7 @@ class One2Many(WidgetInterface):
self.screen.new(context=ctx)
self.screen.current_view.widget.set_sensitive(True)
else:
- win = WinForm(self.screen, self.window, new=True,
+ win = WinForm(self.screen, self.widget.get_toplevel(), new=True,
many=True, context=ctx)
win.run()
win.destroy()
@@ -255,7 +255,7 @@ class One2Many(WidgetInterface):
if not record.validate(fields):
self.screen.display()
return
- win = WinForm(self.screen, self.window)
+ win = WinForm(self.screen, self.widget.get_toplevel())
win.run()
win.destroy()
diff --git a/tryton/gui/window/view_form/view/form_gtk/progressbar.py b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
index 1734f5f..79e2b00 100644
--- a/tryton/gui/window/view_form/view/form_gtk/progressbar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
@@ -16,7 +16,7 @@ class ProgressBar(WidgetInterface):
def __init__(self, field_name, model_name, window, attrs=None):
super(ProgressBar, self).__init__(field_name, model_name, window,
- parent, attrs=attrs)
+ attrs=attrs)
self.widget = gtk.ProgressBar()
orientation = self.orientations.get(attrs.get('orientation',
'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
diff --git a/tryton/gui/window/view_form/view/form_gtk/reference.py b/tryton/gui/window/view_form/view/form_gtk/reference.py
index 0397ae3..b15282d 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -155,7 +155,7 @@ class Reference(WidgetInterface):
if not leave:
screen = Screen(model, self.window, mode=['form'])
screen.load([obj_id])
- win = WinForm(screen, self.window)
+ win = WinForm(screen, self.widget.get_toplevel())
if win.run():
if screen.save_current():
value = (screen.current_record.id,
@@ -190,7 +190,7 @@ class Reference(WidgetInterface):
return True
win = WinSearch(model, sel_multi=False, ids=ids, context=context,
- domain=domain, parent=self.window)
+ domain=domain, parent=self.widget.get_toplevel())
ids = win.run()
if ids:
self.field.set_client(self.record, (model, (ids[0], '')))
@@ -205,7 +205,7 @@ class Reference(WidgetInterface):
if not model:
return
screen = Screen(model, self.window, mode=['form'])
- win = WinForm(screen, self.window, new=True)
+ win = WinForm(screen, self.widget.get_toplevel(), new=True)
if win.run():
if screen.save_current():
value = (screen.current_record.id,
diff --git a/tryton/gui/window/view_form/view/graph_gtk/graph.py b/tryton/gui/window/view_form/view/graph_gtk/graph.py
index ec1fbb4..0dcd6cf 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -122,7 +122,7 @@ class Graph(gtk.DrawingArea):
self.drawGraph(cx, width, height)
self.drawAxis(cx, width, height)
self.drawLegend(cx, width, height)
- surface.write_to_png(filename)
+ surface.write_to_png(filename.encode('utf-8'))
self.queue_draw()
diff --git a/tryton/gui/window/view_form/view/graph_gtk/parser.py b/tryton/gui/window/view_form/view/graph_gtk/parser.py
index 27a5950..03efdcc 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/parser.py
@@ -77,7 +77,7 @@ def save(widget, graph, window):
filename = filename.decode('utf-8')
try:
CONFIG['client.default_path'] = \
- os.path.dirname(filepath)
+ os.path.dirname(filename)
CONFIG.save()
except Exception:
pass
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index 4494e7d..65ad9fa 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -114,14 +114,6 @@ class AdaptModelGroup(gtk.GenericTreeModel):
record.modified_fields.setdefault(record.parent_name or 'id')
group.move(record, 0)
- def move_end(self, record):
- group = self.group
- if group != record.group:
- record.group.remove(record, remove=True)
- group.add(record)
- record.modified_fields.setdefault(record.parent_name or 'id')
- group.move(record, -1)
-
def sort(self, ids):
ids2pos = {}
pos = 0
@@ -593,7 +585,7 @@ class ViewList(ParserView):
elif self.children_field:
store.move_into(record, path)
else:
- store.move_end(record)
+ store.move_after(record, (len(store) - 1,))
context.drop_finish(False, etime)
if treeview.sequence:
record.group.set_sequence(field=treeview.sequence)
@@ -721,7 +713,7 @@ class ViewList(ParserView):
if last_col and last_col.name in fields:
del fields[last_col.name]
- if fields:
+ if fields and any(fields.itervalues()):
try:
rpc.execute('model', 'ir.ui.view_tree_width', 'set_width',
self.screen.model_name, fields, rpc.CONTEXT)
@@ -743,6 +735,8 @@ class ViewList(ParserView):
def __select_changed(self, tree_sel):
previous_record = self.screen.current_record
+ if previous_record and previous_record not in previous_record.group:
+ previous_record = None
if tree_sel.get_mode() == gtk.SELECTION_SINGLE:
model, iter_ = tree_sel.get_selected()
diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
index 9a3b1ca..54df75f 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -212,17 +212,10 @@ class EditableTreeView(gtk.TreeView):
self.on_editing_done)
elif event.keyval == gtk.keysyms.Escape:
if record.id < 0:
- model.remove(model.get_iter(path))
- model.row_deleted(path)
- self.screen.current_record = False
- if not path[0]:
- self.screen.current_record = False
- if path[0] == len(self.screen.group) \
- and path[0]:
- path = (path[0] - 1,)
- self.screen.display()
- if len(self.screen.group):
- self.set_cursor(path, column, False)
+ self.screen.remove(delete=False, remove=True,
+ force_remove=True)
+ else:
+ return False
elif event.keyval in (gtk.keysyms.F3, gtk.keysyms.F2):
if isinstance(entry, gtk.Entry):
value = entry.get_text()
diff --git a/tryton/gui/window/view_form/view/list_gtk/parser.py b/tryton/gui/window/view_form/view/list_gtk/parser.py
index 332b494..f2b4c3b 100644
--- a/tryton/gui/window/view_form/view/list_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/list_gtk/parser.py
@@ -1,6 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import gobject
from editabletree import EditableTreeView
from tryton.gui.window.view_form.view.interface import ParserInterface
from tryton.gui.window.win_search import WinSearch
@@ -703,68 +704,88 @@ class Selection(Char):
def __init__(self, *args):
super(Selection, self).__init__(*args)
self.renderer = CellRendererCombo()
- selection_data = gtk.ListStore(str, str)
+ self.renderer.connect('editing-started', self.editing_started)
+ self._last_domain = None
+ self._domain_cache = {}
selection = self.attrs.get('selection', [])[:]
- self.selection = selection[:]
- if not self.attrs.get('domain'):
- domain = []
- else:
- domain = PYSONDecoder(rpc.CONTEXT).decode(self.attrs['domain'])
- if 'relation' in self.attrs:
- args = ('model', self.attrs['relation'], 'search_read',
- domain, 0, None, None, ['rec_name'], rpc.CONTEXT)
+ if not isinstance(selection, (list, tuple)):
try:
- result = rpc.execute(*args)
+ selection = rpc.execute('model',
+ self.model_name, selection, rpc.CONTEXT)
except Exception, exception:
- result = common.process_exception(exception, self.window, *args)
- if not result:
- result = []
- selection = [(x['id'], x['rec_name']) for x in result]
- self.selection = selection[:]
- else:
- if not isinstance(selection, (list, tuple)):
- try:
- selection = rpc.execute('model',
- self.model_name, selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
- selection = []
- self.selection = selection[:]
-
- for dom in common.filter_domain(domain):
- if dom[1] in ('=', '!='):
- todel = []
- for i in xrange(len(selection)):
- if (dom[1] == '=' \
- and selection[i][0] != dom[2]) \
- or (dom[1] == '!=' \
- and selection[i][0] == dom[2]):
- todel.append(i)
- for i in todel[::-1]:
- del selection[i]
-
+ common.process_exception(exception, self.window)
+ selection = []
+ self.selection = selection[:]
if self.attrs.get('sort', True):
selection.sort(lambda x, y: cmp(x[1], y[1]))
- self._selection = selection
- for i in selection:
- selection_data.append(i)
- self.renderer.set_property('model', selection_data)
- self.renderer.set_property('text-column', 1)
+ self.renderer.set_property('model', self.get_model(selection))
+ self.renderer.set_property('text-column', 0)
+
+ def get_model(self, selection):
+ model = gtk.ListStore(gobject.TYPE_STRING)
+ self._selection = {}
+ lst = []
+ for (value, name) in selection:
+ name = str(name)
+ lst.append(name)
+ self._selection[name] = value
+ i = model.append()
+ model.set(i, 0, name)
+ return model
def get_textual_value(self, record):
+ self.update_selection(record)
value = record[self.field_name].get(record)
if isinstance(value, (list, tuple)):
value = value[0]
return dict(self.selection).get(value, '')
def value_from_text(self, record, text):
- res = False
- for val, txt in self._selection:
- if txt[:len(text)].lower() == text.lower():
- if len(txt) == len(text):
- return val
- res = val
- return res
+ return self._selection.get(text, False), text
+
+ def editing_started(self, cell, editable, path):
+ store = self.treeview.get_model()
+ record = store.get_value(store.get_iter(path), 0)
+ self.update_selection(record)
+ model = self.get_model(self.selection)
+ editable.set_model(model)
+ editable.set_text_column(0)
+ completion = gtk.EntryCompletion()
+ #Only available in PyGTK 2.6 and above.
+ if hasattr(completion, 'set_inline_selection'):
+ completion.set_inline_selection(True)
+ completion.set_model(model)
+ editable.get_child().set_completion(completion)
+ completion.set_text_column(0)
+ return False
+
+ def update_selection(self, record):
+ if 'relation' not in self.attrs:
+ return
+ field = record[self.field_name]
+ domain = field.domain_get(record)
+ if str(domain) in self._domain_cache:
+ self.selection = self._domain_cache[str(domain)]
+ self._last_domain = domain
+ if domain != self._last_domain:
+ args = ('model', self.attrs['relation'], 'search_read', domain,
+ 0, None, None, ['rec_name'], rpc.CONTEXT)
+ try:
+ result = rpc.execute(*args)
+ except Exception, exception:
+ result = common.process_exception(exception, self.window, *args)
+
+ if isinstance(result, list):
+ selection = [(x['id'], x['rec_name']) for x in result]
+ selection.append((False, ''))
+ self._last_domain = domain
+ self._domain_cache[str(domain)] = selection
+ else:
+ selection = []
+ self._last_domain = None
+ else:
+ selection = self.selection
+ self.selection = selection[:]
class Reference(Char):
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index fee597f..4d1afe1 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -304,7 +304,7 @@ class WinExport(object):
for export in exports:
self.predef_model.append((
export['id'],
- [x['name'] for x in id2lines[export['id']]],
+ [x['name'] for x in id2lines.get(export['id'], [])],
export['name']))
self.pref_export.set_model(self.predef_model)
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 2675430..65b9211 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -251,6 +251,7 @@ class WinForm(object):
self.wid_text.grab_focus()
def _sig_add(self, *args):
+ from tryton.gui.window.win_search import WinSearch
domain = []
context = rpc.CONTEXT.copy()
diff --git a/tryton/translate.py b/tryton/translate.py
index 8272655..b5a0ad9 100644
--- a/tryton/translate.py
+++ b/tryton/translate.py
@@ -172,11 +172,13 @@ def setlang(lang=None, locale_dict=None):
elif os.name == 'mac' or \
(hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
encoding = 'UTF-8'
+ # ensure environment variable are str
+ lang, lang2, encoding = str(lang), str(lang2), str(encoding)
os.environ['LANGUAGE'] = lang
os.environ['LC_ALL'] = lang2 + '.' + encoding
os.environ['LC_MESSAGES'] = lang2 + '.' + encoding
os.environ['LANG'] = lang + '.' + encoding
- locale.setlocale(locale.LC_ALL, str(lang2 + '.' + encoding))
+ locale.setlocale(locale.LC_ALL, lang2 + '.' + encoding)
except Exception:
logging.getLogger('translate').info(
_('Unable to set locale %s') % lang2 + '.' + encoding)
diff --git a/tryton/version.py b/tryton/version.py
index d11e6d8..b1bf33f 100644
--- a/tryton/version.py
+++ b/tryton/version.py
@@ -1,7 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
PACKAGE = "tryton"
-VERSION = "2.0.1"
+VERSION = "2.0.2"
LICENSE = "GPL-3"
WEBSITE = "http://www.tryton.org/"
commit 4fce94415037fabc4b774cf0428c16951f05eb79
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 19:52:08 2011 +0100
Merging upstream version 2.0.1+dfsg.
diff --git a/share/pixmaps/tryton/LICENSE b/share/pixmaps/tryton/LICENSE
deleted file mode 100644
index 11782c0..0000000
--- a/share/pixmaps/tryton/LICENSE
+++ /dev/null
@@ -1,264 +0,0 @@
- [1]Creative Commons
-
- Creative Commons Legal Code
-
- Attribution-ShareAlike 2.0
- CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
- LEGAL SERVICES. DISTRIBUTION OF THIS LICENSE DOES NOT CREATE AN
- ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
- INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
- REGARDING THE INFORMATION PROVIDED, AND DISCLAIMS LIABILITY FOR
- DAMAGES RESULTING FROM ITS USE.
-
- License
-
- THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS
- CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS
- PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE
- WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS
- PROHIBITED.
-
- BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND
- AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. THE LICENSOR GRANTS
- YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF
- SUCH TERMS AND CONDITIONS.
-
- 1. Definitions
- a. "Collective Work" means a work, such as a periodical issue,
- anthology or encyclopedia, in which the Work in its entirety in
- unmodified form, along with a number of other contributions,
- constituting separate and independent works in themselves, are
- assembled into a collective whole. A work that constitutes a
- Collective Work will not be considered a Derivative Work (as
- defined below) for the purposes of this License.
- b. "Derivative Work" means a work based upon the Work or upon the
- Work and other pre-existing works, such as a translation, musical
- arrangement, dramatization, fictionalization, motion picture
- version, sound recording, art reproduction, abridgment,
- condensation, or any other form in which the Work may be recast,
- transformed, or adapted, except that a work that constitutes a
- Collective Work will not be considered a Derivative Work for the
- purpose of this License. For the avoidance of doubt, where the
- Work is a musical composition or sound recording, the
- synchronization of the Work in timed-relation with a moving image
- ("synching") will be considered a Derivative Work for the purpose
- of this License.
- c. "Licensor" means the individual or entity that offers the Work
- under the terms of this License.
- d. "Original Author" means the individual or entity who created the
- Work.
- e. "Work" means the copyrightable work of authorship offered under
- the terms of this License.
- f. "You" means an individual or entity exercising rights under this
- License who has not previously violated the terms of this License
- with respect to the Work, or who has received express permission
- from the Licensor to exercise rights under this License despite a
- previous violation.
- g. "License Elements" means the following high-level license
- attributes as selected by Licensor and indicated in the title of
- this License: Attribution, ShareAlike.
-
- 2. Fair Use Rights. Nothing in this license is intended to reduce,
- limit, or restrict any rights arising from fair use, first sale or
- other limitations on the exclusive rights of the copyright owner under
- copyright law or other applicable laws.
-
- 3. License Grant. Subject to the terms and conditions of this License,
- Licensor hereby grants You a worldwide, royalty-free, non-exclusive,
- perpetual (for the duration of the applicable copyright) license to
- exercise the rights in the Work as stated below:
- a. to reproduce the Work, to incorporate the Work into one or more
- Collective Works, and to reproduce the Work as incorporated in the
- Collective Works;
- b. to create and reproduce Derivative Works;
- c. to distribute copies or phonorecords of, display publicly, perform
- publicly, and perform publicly by means of a digital audio
- transmission the Work including as incorporated in Collective
- Works;
- d. to distribute copies or phonorecords of, display publicly, perform
- publicly, and perform publicly by means of a digital audio
- transmission Derivative Works.
- e. For the avoidance of doubt, where the work is a musical
- composition:
- i. Performance Royalties Under Blanket Licenses. Licensor waives
- the exclusive right to collect, whether individually or via a
- performance rights society (e.g. ASCAP, BMI, SESAC),
- royalties for the public performance or public digital
- performance (e.g. webcast) of the Work.
- ii. Mechanical Rights and Statutory Royalties. Licensor waives
- the exclusive right to collect, whether individually or via a
- music rights society or designated agent (e.g. Harry Fox
- Agency), royalties for any phonorecord You create from the
- Work ("cover version") and distribute, subject to the
- compulsory license created by 17 USC Section 115 of the US
- Copyright Act (or the equivalent in other jurisdictions).
- f. Webcasting Rights and Statutory Royalties. For the avoidance of
- doubt, where the Work is a sound recording, Licensor waives the
- exclusive right to collect, whether individually or via a
- performance-rights society (e.g. SoundExchange), royalties for the
- public digital performance (e.g. webcast) of the Work, subject to
- the compulsory license created by 17 USC Section 114 of the US
- Copyright Act (or the equivalent in other jurisdictions).
-
- The above rights may be exercised in all media and formats whether now
- known or hereafter devised. The above rights include the right to make
- such modifications as are technically necessary to exercise the rights
- in other media and formats. All rights not expressly granted by
- Licensor are hereby reserved.
-
- 4. Restrictions.The license granted in Section 3 above is expressly
- made subject to and limited by the following restrictions:
- a. You may distribute, publicly display, publicly perform, or
- publicly digitally perform the Work only under the terms of this
- License, and You must include a copy of, or the Uniform Resource
- Identifier for, this License with every copy or phonorecord of the
- Work You distribute, publicly display, publicly perform, or
- publicly digitally perform. You may not offer or impose any terms
- on the Work that alter or restrict the terms of this License or
- the recipients' exercise of the rights granted hereunder. You may
- not sublicense the Work. You must keep intact all notices that
- refer to this License and to the disclaimer of warranties. You may
- not distribute, publicly display, publicly perform, or publicly
- digitally perform the Work with any technological measures that
- control access or use of the Work in a manner inconsistent with
- the terms of this License Agreement. The above applies to the Work
- as incorporated in a Collective Work, but this does not require
- the Collective Work apart from the Work itself to be made subject
- to the terms of this License. If You create a Collective Work,
- upon notice from any Licensor You must, to the extent practicable,
- remove from the Collective Work any reference to such Licensor or
- the Original Author, as requested. If You create a Derivative
- Work, upon notice from any Licensor You must, to the extent
- practicable, remove from the Derivative Work any reference to such
- Licensor or the Original Author, as requested.
- b. You may distribute, publicly display, publicly perform, or
- publicly digitally perform a Derivative Work only under the terms
- of this License, a later version of this License with the same
- License Elements as this License, or a Creative Commons iCommons
- license that contains the same License Elements as this License
- (e.g. Attribution-ShareAlike 2.0 Japan). You must include a copy
- of, or the Uniform Resource Identifier for, this License or other
- license specified in the previous sentence with every copy or
- phonorecord of each Derivative Work You distribute, publicly
- display, publicly perform, or publicly digitally perform. You may
- not offer or impose any terms on the Derivative Works that alter
- or restrict the terms of this License or the recipients' exercise
- of the rights granted hereunder, and You must keep intact all
- notices that refer to this License and to the disclaimer of
- warranties. You may not distribute, publicly display, publicly
- perform, or publicly digitally perform the Derivative Work with
- any technological measures that control access or use of the Work
- in a manner inconsistent with the terms of this License Agreement.
- The above applies to the Derivative Work as incorporated in a
- Collective Work, but this does not require the Collective Work
- apart from the Derivative Work itself to be made subject to the
- terms of this License.
- c. If you distribute, publicly display, publicly perform, or publicly
- digitally perform the Work or any Derivative Works or Collective
- Works, You must keep intact all copyright notices for the Work and
- give the Original Author credit reasonable to the medium or means
- You are utilizing by conveying the name (or pseudonym if
- applicable) of the Original Author if supplied; the title of the
- Work if supplied; to the extent reasonably practicable, the
- Uniform Resource Identifier, if any, that Licensor specifies to be
- associated with the Work, unless such URI does not refer to the
- copyright notice or licensing information for the Work; and in the
- case of a Derivative Work, a credit identifying the use of the
- Work in the Derivative Work (e.g., "French translation of the Work
- by Original Author," or "Screenplay based on original Work by
- Original Author"). Such credit may be implemented in any
- reasonable manner; provided, however, that in the case of a
- Derivative Work or Collective Work, at a minimum such credit will
- appear where any other comparable authorship credit appears and in
- a manner at least as prominent as such other comparable authorship
- credit.
-
- 5. Representations, Warranties and Disclaimer
-
- UNLESS OTHERWISE AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS
- THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND
- CONCERNING THE MATERIALS, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE,
- INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY,
- FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF
- LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF
- ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW
- THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY
- TO YOU.
-
- 6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY
- APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY
- LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR
- EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK,
- EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
- 7. Termination
- a. This License and the rights granted hereunder will terminate
- automatically upon any breach by You of the terms of this License.
- Individuals or entities who have received Derivative Works or
- Collective Works from You under this License, however, will not
- have their licenses terminated provided such individuals or
- entities remain in full compliance with those licenses. Sections
- 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
- b. Subject to the above terms and conditions, the license granted
- here is perpetual (for the duration of the applicable copyright in
- the Work). Notwithstanding the above, Licensor reserves the right
- to release the Work under different license terms or to stop
- distributing the Work at any time; provided, however that any such
- election will not serve to withdraw this License (or any other
- license that has been, or is required to be, granted under the
- terms of this License), and this License will continue in full
- force and effect unless terminated as stated above.
-
- 8. Miscellaneous
- a. Each time You distribute or publicly digitally perform the Work or
- a Collective Work, the Licensor offers to the recipient a license
- to the Work on the same terms and conditions as the license
- granted to You under this License.
- b. Each time You distribute or publicly digitally perform a
- Derivative Work, Licensor offers to the recipient a license to the
- original Work on the same terms and conditions as the license
- granted to You under this License.
- c. If any provision of this License is invalid or unenforceable under
- applicable law, it shall not affect the validity or enforceability
- of the remainder of the terms of this License, and without further
- action by the parties to this agreement, such provision shall be
- reformed to the minimum extent necessary to make such provision
- valid and enforceable.
- d. No term or provision of this License shall be deemed waived and no
- breach consented to unless such waiver or consent shall be in
- writing and signed by the party to be charged with such waiver or
- consent.
- e. This License constitutes the entire agreement between the parties
- with respect to the Work licensed here. There are no
- understandings, agreements or representations with respect to the
- Work not specified here. Licensor shall not be bound by any
- additional provisions that may appear in any communication from
- You. This License may not be modified without the mutual written
- agreement of the Licensor and You.
-
- Creative Commons is not a party to this License, and makes no warranty
- whatsoever in connection with the Work. Creative Commons will not be
- liable to You or any party on any legal theory for any damages
- whatsoever, including without limitation any general, special,
- incidental or consequential damages arising in connection to this
- license. Notwithstanding the foregoing two (2) sentences, if Creative
- Commons has expressly identified itself as the Licensor hereunder, it
- shall have all rights and obligations of Licensor.
-
- Except for the limited purpose of indicating to the public that the
- Work is licensed under the CCPL, neither party will use the trademark
- "Creative Commons" or any related trademark or logo of Creative
- Commons without the prior written consent of Creative Commons. Any
- permitted use will be in compliance with Creative Commons'
- then-current trademark usage guidelines, as may be published on its
- website or otherwise made available upon request from time to time.
-
- Creative Commons may be contacted at [2]http://creativecommons.org/.
-
- [3]« Back to Commons Deed
-
-References
-
- 1. http://creativecommons.org/
- 2. http://creativecommons.org/
- 3. http://creativecommons.org/licenses/by-sa/2.0/
diff --git a/share/pixmaps/tryton/tryton-attachment-hi.svg b/share/pixmaps/tryton/tryton-attachment-hi.svg
deleted file mode 100644
index 31f3324..0000000
--- a/share/pixmaps/tryton/tryton-attachment-hi.svg
+++ /dev/null
@@ -1,236 +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"
- width="48"
- height="48"
- id="svg79606"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- version="1.0"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- sodipodi:docname="tryton-attachment-hi.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs79608">
- <linearGradient
- id="linearGradient12512">
- <stop
- id="stop12513"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop12517"
- offset="0.50000000"
- style="stop-color:#fff520;stop-opacity:0.89108908;" />
- <stop
- id="stop12514"
- offset="1.0000000"
- style="stop-color:#fff300;stop-opacity:0.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient1758"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective2671" />
- <linearGradient
- id="linearGradient5783">
- <stop
- style="stop-color:#d3d7cf;stop-opacity:1;"
- offset="0"
- id="stop5785" />
- <stop
- id="stop5791"
- offset="0.5"
- style="stop-color:#f5f5f5;stop-opacity:1;" />
- <stop
- style="stop-color:#bebebe;stop-opacity:1;"
- offset="1"
- id="stop5787" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3558">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3560" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3562" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3558"
- id="radialGradient3564"
- cx="21.761711"
- cy="23.07144"
- fx="21.761711"
- fy="23.07144"
- r="15.571428"
- gradientTransform="matrix(0.977282,3.554943e-8,-8.305337e-10,0.651376,-0.79443,15.82896)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5783"
- id="linearGradient5789"
- x1="23.505953"
- y1="5.7753429"
- x2="20.604948"
- y2="29.85923"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.23529412"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.1176376"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1278"
- inkscape:window-height="782"
- inkscape:window-x="0"
- inkscape:window-y="16"
- stroke="#d3d7cf"
- inkscape:showpageshadow="false">
- <inkscape:grid
- id="GridFromPre046Settings"
- type="xygrid"
- originx="0px"
- originy="0px"
- spacingx="1px"
- spacingy="1px"
- color="#0000ff"
- empcolor="#0000ff"
- opacity="0.2"
- empopacity="0.4"
- empspacing="4" />
- </sodipodi:namedview>
- <metadata
- id="metadata79611">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Mail Attachment</dc:title>
- <dc:date>2005-11-04</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://tango-project.org</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>attachment</rdf:li>
- <rdf:li>file</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g3902">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="translate(0.494048,1.056164)"
- d="M 21.326337,9.3278633 L 10.449186,27.94227 C 8.5266861,31.23365 9.6775753,35.481172 13.008091,37.38221 L 15.102397,38.579075 C 18.434077,40.480111 22.732254,39.341738 24.655919,36.05036 L 36.41168,15.928621 C 38.335346,12.636117 37.625044,8.6405654 34.835356,7.0477444 C 32.045435,5.4549233 28.187846,6.8452672 26.265346,10.137772 L 18.109581,24.099704 C 16.186149,27.391081 15.978909,30.871442 17.647547,31.836583 C 19.317351,32.799475 22.257398,30.893938 24.179898,27.602558 L 28.142388,20.81957"
- id="path7057"
- style="fill:none;stroke:#888a85;stroke-width:3.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="translate(0.494048,1.168493)"
- d="M 21.326337,9.2155349 L 10.449186,27.829941 C 8.5266861,31.121321 9.6775753,35.368843 13.008091,37.269881 L 15.102397,38.466746 C 18.434077,40.367782 22.732254,39.229409 24.655919,35.938031 L 36.41168,15.816292 C 38.335346,12.523788 37.625044,8.528237 34.835356,6.935416 C 32.045435,5.3425949 28.187846,6.7329388 26.265346,10.025444 L 18.109581,23.987375 C 16.186149,27.278752 15.978909,30.759113 17.647547,31.724254 C 19.317351,32.687146 22.257398,30.781609 24.179898,27.490229 L 28.142388,20.707241"
- id="path7053"
- style="fill:none;stroke:url(#linearGradient5789);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
- </g>
- <path
- sodipodi:type="arc"
- style="opacity:0.25;color:#000000;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3556"
- sodipodi:cx="22.571428"
- sodipodi:cy="30.857143"
- sodipodi:rx="15.571428"
- sodipodi:ry="10.142858"
- d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1 7,30.857143 A 15.571428 10.142858 0 1 1 38.142857 30.857143 z"
- transform="matrix(1.316514,0,0,0.246479,-2.215601,33.89436)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- id="layer4"
- inkscape:label="new"
- style="display:inline"
- transform="translate(4.3785871,-1.960172)">
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient1758);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path12511"
- sodipodi:cx="55"
- sodipodi:cy="125"
- sodipodi:rx="14.375"
- sodipodi:ry="14.375"
- d="M 69.375,125 A 14.375,14.375 0 1 1 40.625,125 A 14.375,14.375 0 1 1 69.375,125 z"
- transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
- inkscape:export-xdpi="33.852203"
- inkscape:export-ydpi="33.852203" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-attachment.svg b/share/pixmaps/tryton/tryton-attachment.svg
deleted file mode 100644
index 562b240..0000000
--- a/share/pixmaps/tryton/tryton-attachment.svg
+++ /dev/null
@@ -1,172 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- id="svg79606"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- version="1.0"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- sodipodi:docname="mail-attachment.svg">
- <defs
- id="defs79608">
- <linearGradient
- id="linearGradient5783">
- <stop
- style="stop-color:#d3d7cf;stop-opacity:1;"
- offset="0"
- id="stop5785" />
- <stop
- id="stop5791"
- offset="0.5"
- style="stop-color:#f5f5f5;stop-opacity:1;" />
- <stop
- style="stop-color:#bebebe;stop-opacity:1;"
- offset="1"
- id="stop5787" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3558">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3560" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3562" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3558"
- id="radialGradient3564"
- cx="21.761711"
- cy="23.07144"
- fx="21.761711"
- fy="23.07144"
- r="15.571428"
- gradientTransform="matrix(0.977282,3.554943e-8,-8.305337e-10,0.651376,-0.79443,15.82896)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5783"
- id="linearGradient5789"
- x1="23.505953"
- y1="5.7753429"
- x2="20.604948"
- y2="29.85923"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.23529412"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.979167"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="940"
- inkscape:window-height="933"
- inkscape:window-x="247"
- inkscape:window-y="118"
- stroke="#d3d7cf"
- inkscape:showpageshadow="false"
- gridempspacing="4" />
- <metadata
- id="metadata79611">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Mail Attachment</dc:title>
- <dc:date>2005-11-04</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://tango-project.org</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>attachment</rdf:li>
- <rdf:li>file</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g3902">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="translate(0.494048,1.056164)"
- d="M 21.326337,9.3278633 L 10.449186,27.94227 C 8.5266861,31.23365 9.6775753,35.481172 13.008091,37.38221 L 15.102397,38.579075 C 18.434077,40.480111 22.732254,39.341738 24.655919,36.05036 L 36.41168,15.928621 C 38.335346,12.636117 37.625044,8.6405654 34.835356,7.0477444 C 32.045435,5.4549233 28.187846,6.8452672 26.265346,10.137772 L 18.109581,24.099704 C 16.186149,27.391081 15.978909,30.871442 17.647547,31.836583 C 19.317351,32.799475 22.257398,30.893938 24.179898,27.602558 L 28.142388,20.81957"
- id="path7057"
- style="fill:none;stroke:#888a85;stroke-width:3.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="translate(0.494048,1.168493)"
- d="M 21.326337,9.2155349 L 10.449186,27.829941 C 8.5266861,31.121321 9.6775753,35.368843 13.008091,37.269881 L 15.102397,38.466746 C 18.434077,40.367782 22.732254,39.229409 24.655919,35.938031 L 36.41168,15.816292 C 38.335346,12.523788 37.625044,8.528237 34.835356,6.935416 C 32.045435,5.3425949 28.187846,6.7329388 26.265346,10.025444 L 18.109581,23.987375 C 16.186149,27.278752 15.978909,30.759113 17.647547,31.724254 C 19.317351,32.687146 22.257398,30.781609 24.179898,27.490229 L 28.142388,20.707241"
- id="path7053"
- style="fill:none;stroke:url(#linearGradient5789);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none" />
- </g>
- <path
- sodipodi:type="arc"
- style="opacity:0.25;color:#000000;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3556"
- sodipodi:cx="22.571428"
- sodipodi:cy="30.857143"
- sodipodi:rx="15.571428"
- sodipodi:ry="10.142858"
- d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1 7,30.857143 A 15.571428 10.142858 0 1 1 38.142857 30.857143 z"
- transform="matrix(1.316514,0,0,0.246479,-2.215601,33.89436)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-cancel.svg b/share/pixmaps/tryton/tryton-cancel.svg
deleted file mode 100644
index da89285..0000000
--- a/share/pixmaps/tryton/tryton-cancel.svg
+++ /dev/null
@@ -1,3634 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- sodipodi:docname="dialog-cancel.svg"
- sodipodi:docbase="/home/andreas/projekt/tango/scalable"
- inkscape:version="0.43"
- sodipodi:version="0.32"
- id="svg11300"
- height="48px"
- width="48px"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient7994"
- cx="16.620785"
- cy="-29.734715"
- fx="16.620785"
- fy="-29.734715"
- r="16.500000"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.5004,59.29963)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient8662"
- inkscape:collect="always">
- <stop
- id="stop8664"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop8666"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient8650"
- inkscape:collect="always">
- <stop
- id="stop8652"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop8654"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient1441"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- cx="34.663586"
- cy="20.321211"
- fx="34.663586"
- fy="20.321211"
- r="16.9562" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient10491"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.55761,2.853404e-16,2.91297,-22.93354)"
- cx="15.987216"
- cy="1.5350308"
- fx="15.987216"
- fy="1.5350308"
- r="17.171415" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient11961"
- cx="13.904816"
- cy="36.435665"
- fx="13.904816"
- fy="36.435665"
- r="16.505941"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="29.619577"
- x2="9.8994951"
- y1="10.522566"
- x1="9.8994951"
- id="linearGradient1723"
- xlink:href="#linearGradient1725"
- inkscape:collect="always" />
- <linearGradient
- y2="21.214239"
- x2="28.84375"
- y1="18.057989"
- x1="27.90625"
- gradientTransform="translate(-44.14365,-18.7803)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1721"
- xlink:href="#linearGradient1737"
- inkscape:collect="always" />
- <linearGradient
- y2="28"
- x2="28.625"
- y1="25.296875"
- x1="28.625"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1719"
- xlink:href="#linearGradient4882"
- inkscape:collect="always" />
- <linearGradient
- y2="30.828125"
- x2="28.421637"
- y1="37.765625"
- x1="28.513193"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1717"
- xlink:href="#linearGradient4892"
- inkscape:collect="always" />
- <radialGradient
- r="7.5"
- fy="36.908916"
- fx="28.0625"
- cy="36.908916"
- cx="28.0625"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1715"
- xlink:href="#linearGradient4872"
- inkscape:collect="always" />
- <linearGradient
- y2="20.90625"
- x2="24.673225"
- y1="20.90625"
- x1="22.0625"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1713"
- xlink:href="#linearGradient4910"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1711"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- y2="11.407223"
- x2="17.279921"
- y1="11.539805"
- x1="16.528622"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1709"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="14.876466"
- x2="20.727066"
- y1="15.23002"
- x1="19.489631"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1707"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="7.7189064"
- x2="21.6875"
- y1="12.093906"
- x1="21.6875"
- gradientTransform="translate(-102.0821,-10.1517)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1705"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2399">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2401" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2403" />
- </linearGradient>
- <linearGradient
- id="linearGradient4910">
- <stop
- style="stop-color:#6a6352;stop-opacity:1;"
- offset="0"
- id="stop4912" />
- <stop
- style="stop-color:#3b372e;stop-opacity:1;"
- offset="1"
- id="stop4914" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4892">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4894" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4896" />
- </linearGradient>
- <linearGradient
- id="linearGradient4882">
- <stop
- style="stop-color:#e7e5e0;stop-opacity:1;"
- offset="0"
- id="stop4884" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop4886" />
- </linearGradient>
- <linearGradient
- id="linearGradient4872">
- <stop
- style="stop-color:#e5d28f;stop-opacity:1;"
- offset="0"
- id="stop4874" />
- <stop
- style="stop-color:#ab8f2a;stop-opacity:1;"
- offset="1"
- id="stop4876" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2454">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2456" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2458" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- r="23.5"
- fy="40.374615"
- fx="23.96336"
- cy="40.374615"
- cx="23.96336"
- id="radialGradient2801"
- xlink:href="#linearGradient2795"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- r="20"
- fy="16.234577"
- fx="197.48041"
- cy="16.234577"
- cx="197.48041"
- id="radialGradient2303"
- xlink:href="#linearGradient2295"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)"
- gradientUnits="userSpaceOnUse"
- y2="56.877113"
- x2="207.71683"
- y1="62"
- x1="207.71683"
- id="linearGradient4224"
- xlink:href="#linearGradient4218"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.947449"
- x2="221.39929"
- y1="64.193214"
- x1="221.39929"
- id="linearGradient4093"
- xlink:href="#linearGradient4087"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.954399"
- x2="206.50735"
- y1="63.914768"
- x1="206.4698"
- id="linearGradient4085"
- xlink:href="#linearGradient4079"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- r="21"
- fy="61.016609"
- fx="210.76491"
- cy="61.016609"
- cx="210.76491"
- id="radialGradient4071"
- xlink:href="#linearGradient4065"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)"
- gradientUnits="userSpaceOnUse"
- y2="54.870758"
- x2="218.1942"
- y1="29.854406"
- x1="198.25261"
- id="linearGradient4053"
- xlink:href="#linearGradient2829"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.287102"
- x2="217.75"
- y1="60.957611"
- x1="217.75"
- id="linearGradient2289"
- xlink:href="#linearGradient2283"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.31184"
- x2="219.625"
- y1="61.282185"
- x1="219.625"
- id="linearGradient2281"
- xlink:href="#linearGradient2275"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)"
- gradientUnits="userSpaceOnUse"
- y2="69.140022"
- x2="192.61819"
- y1="44.316147"
- x1="192.61819"
- id="linearGradient2213"
- xlink:href="#linearGradient2207"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2207"
- inkscape:collect="always">
- <stop
- id="stop2209"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2211"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2275">
- <stop
- id="stop2277"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop2279"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient2283">
- <stop
- id="stop2285"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop2287"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient4065"
- inkscape:collect="always">
- <stop
- id="stop4067"
- offset="0"
- style="stop-color:#d3d7cf" />
- <stop
- id="stop4069"
- offset="1"
- style="stop-color:#555753" />
- </linearGradient>
- <linearGradient
- id="linearGradient4079"
- inkscape:collect="always">
- <stop
- id="stop4081"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop4083"
- offset="1"
- style="stop-color:#555753;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4087"
- inkscape:collect="always">
- <stop
- id="stop4089"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop4091"
- offset="1"
- style="stop-color:#2e3436;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4218"
- inkscape:collect="always">
- <stop
- id="stop4220"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4222"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2295"
- inkscape:collect="always">
- <stop
- id="stop2297"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2299"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2795"
- inkscape:collect="always">
- <stop
- id="stop2797"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2799"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2829">
- <stop
- style="stop-color:#babdb6"
- offset="0"
- id="stop2831" />
- <stop
- style="stop-color:#eeeeec"
- offset="1"
- id="stop2833" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient1725">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1727" />
- <stop
- style="stop-color:#babdb6"
- offset="1"
- id="stop1729" />
- </linearGradient>
- <linearGradient
- id="linearGradient1731">
- <stop
- id="stop1733"
- offset="0"
- style="stop-color:#ef2929;stop-opacity:1;" />
- <stop
- id="stop1735"
- offset="1"
- style="stop-color:#cc0000;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1737"
- inkscape:collect="always">
- <stop
- id="stop1739"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop1741"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient1527"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.843022,1.871885e-16,-2.265228e-16,1.020168,4.41386,0.60644)"
- cx="22.588188"
- cy="34.462799"
- fx="22.588188"
- fy="34.462799"
- r="16.9562" />
- <linearGradient
- id="linearGradient1507">
- <stop
- id="stop1509"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop1511"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(3.749427e-16,-2.046729,-1.55761,-2.853404e-16,44.11559,66.93275)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1471"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.494493"
- fx="35.292667"
- cy="20.494493"
- cx="35.292667"
- gradientTransform="matrix(1.871885e-16,-0.843022,1.020168,2.265228e-16,0.606436,42.58614)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1469"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1,0,0,0.536723,1.513668e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1503"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient1810">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop1812" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop1814" />
- </linearGradient>
- <linearGradient
- id="linearGradient1756">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1758" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1760" />
- </linearGradient>
- <linearGradient
- id="linearGradient1750">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1752" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1754" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient1742"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient1740"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient1738"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient1736"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient1734"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient1732"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient1730"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient1728"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient1726"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient1724"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient1712">
- <stop
- id="stop1714"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop1716"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1706">
- <stop
- id="stop1708"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop1710"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1693">
- <stop
- id="stop1695"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop1697"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient1685"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1683"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1681"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient1679"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient1677"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient1675"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient1673"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient1671"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient1669"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient1667"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient1665"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1663"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1661"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1659"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient1645"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1831"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-6.209324e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient2881"
- x1="-105.29172"
- y1="10.854023"
- x2="-68.690399"
- y2="10.854023"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3814"
- cx="-128.09293"
- cy="-6.7201605"
- fx="-128.09293"
- fy="-6.7201605"
- r="16.201061"
- gradientTransform="matrix(-1.816359,-3.649306e-3,4.950766e-3,-2.458037,-327.6983,-22.2003)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient1724">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop1726" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop1728" />
- </linearGradient>
- <linearGradient
- id="linearGradient1668">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1670" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1672" />
- </linearGradient>
- <linearGradient
- id="linearGradient1662">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1664" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1666" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient1654"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient1652"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient1650"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient1648"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient1646"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient1644"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient1642"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient1640"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient1638"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient1636"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient1624">
- <stop
- id="stop1626"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop1628"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1618">
- <stop
- id="stop1620"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop1622"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1606">
- <stop
- id="stop1608"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop1610"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient1598"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1596"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1594"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient1592"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient1590"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient1588"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient1586"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient1584"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient1582"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient1580"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient1578"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1576"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1574"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1572"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient1558"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1749"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-1.728076e-14,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4062">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4064" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.14901961"
- offset="1"
- id="stop4066" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4835">
- <stop
- style="stop-color:#7e1717;stop-opacity:1.0000000"
- offset="0"
- id="stop4837" />
- <stop
- style="stop-color:#c64848;stop-opacity:1.0000000"
- offset="1"
- id="stop4839" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4827">
- <stop
- style="stop-color:#c23434;stop-opacity:1.0000000"
- offset="0"
- id="stop4829" />
- <stop
- style="stop-color:#891f1f;stop-opacity:1.0000000"
- offset="1"
- id="stop4831" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4827"
- id="linearGradient4833"
- x1="10.739526"
- y1="7.9744992"
- x2="10.739526"
- y2="14.638653"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.964082,-0.964082,0.964082,0.964082,-10.11885,11.01171)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4835"
- id="linearGradient4841"
- x1="12.021857"
- y1="4.7686706"
- x2="12.021857"
- y2="15.950363"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.964082,-0.964082,0.964082,0.964082,-10.11885,11.01171)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4062"
- id="linearGradient4068"
- x1="10.899817"
- y1="1.0814384"
- x2="10.899817"
- y2="13.034636"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.755499,0,0,0.755499,-13.42543,-1.33676)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3485"
- cx="16.620785"
- cy="-29.734715"
- fx="16.620785"
- fy="-29.734715"
- r="16.500000"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.5004,59.29963)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient3499"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- cx="34.663586"
- cy="20.321211"
- fx="34.663586"
- fy="20.321211"
- r="16.9562" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient3501"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3503"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.55761,2.853404e-16,2.91297,-22.93354)"
- cx="15.987216"
- cy="1.5350308"
- fx="15.987216"
- fy="1.5350308"
- r="17.171415" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient3505"
- cx="13.904816"
- cy="36.435665"
- fx="13.904816"
- fy="36.435665"
- r="16.505941"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="29.619577"
- x2="9.8994951"
- y1="10.522566"
- x1="9.8994951"
- id="linearGradient3507"
- xlink:href="#linearGradient1725"
- inkscape:collect="always" />
- <linearGradient
- y2="21.214239"
- x2="28.84375"
- y1="18.057989"
- x1="27.90625"
- gradientTransform="translate(-44.14365,-18.7803)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3509"
- xlink:href="#linearGradient1737"
- inkscape:collect="always" />
- <linearGradient
- y2="28"
- x2="28.625"
- y1="25.296875"
- x1="28.625"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3511"
- xlink:href="#linearGradient4882"
- inkscape:collect="always" />
- <linearGradient
- y2="30.828125"
- x2="28.421637"
- y1="37.765625"
- x1="28.513193"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3513"
- xlink:href="#linearGradient4892"
- inkscape:collect="always" />
- <radialGradient
- r="7.5"
- fy="36.908916"
- fx="28.0625"
- cy="36.908916"
- cx="28.0625"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3515"
- xlink:href="#linearGradient4872"
- inkscape:collect="always" />
- <linearGradient
- y2="20.90625"
- x2="24.673225"
- y1="20.90625"
- x1="22.0625"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3517"
- xlink:href="#linearGradient4910"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3519"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- y2="11.407223"
- x2="17.279921"
- y1="11.539805"
- x1="16.528622"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3521"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="14.876466"
- x2="20.727066"
- y1="15.23002"
- x1="19.489631"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3523"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="7.7189064"
- x2="21.6875"
- y1="12.093906"
- x1="21.6875"
- gradientTransform="translate(-102.0821,-10.1517)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3525"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient3533">
- <stop
- style="stop-color:#6a6352;stop-opacity:1;"
- offset="0"
- id="stop3535" />
- <stop
- style="stop-color:#3b372e;stop-opacity:1;"
- offset="1"
- id="stop3537" />
- </linearGradient>
- <linearGradient
- id="linearGradient3545">
- <stop
- style="stop-color:#e7e5e0;stop-opacity:1;"
- offset="0"
- id="stop3547" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop3549" />
- </linearGradient>
- <linearGradient
- id="linearGradient3551">
- <stop
- style="stop-color:#e5d28f;stop-opacity:1;"
- offset="0"
- id="stop3553" />
- <stop
- style="stop-color:#ab8f2a;stop-opacity:1;"
- offset="1"
- id="stop3555" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- r="23.5"
- fy="40.374615"
- fx="23.96336"
- cy="40.374615"
- cx="23.96336"
- id="radialGradient3563"
- xlink:href="#linearGradient2795"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- r="20"
- fy="16.234577"
- fx="197.48041"
- cy="16.234577"
- cx="197.48041"
- id="radialGradient3565"
- xlink:href="#linearGradient2295"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)"
- gradientUnits="userSpaceOnUse"
- y2="56.877113"
- x2="207.71683"
- y1="62"
- x1="207.71683"
- id="linearGradient3567"
- xlink:href="#linearGradient4218"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.947449"
- x2="221.39929"
- y1="64.193214"
- x1="221.39929"
- id="linearGradient3569"
- xlink:href="#linearGradient4087"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.954399"
- x2="206.50735"
- y1="63.914768"
- x1="206.4698"
- id="linearGradient3571"
- xlink:href="#linearGradient4079"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- r="21"
- fy="61.016609"
- fx="210.76491"
- cy="61.016609"
- cx="210.76491"
- id="radialGradient3573"
- xlink:href="#linearGradient4065"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)"
- gradientUnits="userSpaceOnUse"
- y2="54.870758"
- x2="218.1942"
- y1="29.854406"
- x1="198.25261"
- id="linearGradient3575"
- xlink:href="#linearGradient2829"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.287102"
- x2="217.75"
- y1="60.957611"
- x1="217.75"
- id="linearGradient3577"
- xlink:href="#linearGradient2283"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.31184"
- x2="219.625"
- y1="61.282185"
- x1="219.625"
- id="linearGradient3579"
- xlink:href="#linearGradient2275"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)"
- gradientUnits="userSpaceOnUse"
- y2="69.140022"
- x2="192.61819"
- y1="44.316147"
- x1="192.61819"
- id="linearGradient3581"
- xlink:href="#linearGradient2207"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient3589">
- <stop
- id="stop3591"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop3593"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient3595">
- <stop
- id="stop3597"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop3599"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient3649">
- <stop
- id="stop3651"
- offset="0"
- style="stop-color:#8ae234;stop-opacity:1;" />
- <stop
- id="stop3653"
- offset="1"
- style="stop-color:#73d216;stop-opacity:1;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient3661"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.843022,1.871885e-16,-2.265228e-16,1.020168,4.41386,0.60644)"
- cx="22.588188"
- cy="34.462799"
- fx="22.588188"
- fy="34.462799"
- r="16.9562" />
- <linearGradient
- id="linearGradient3663">
- <stop
- id="stop3665"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop3667"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(3.749427e-16,-2.046729,-1.55761,-2.853404e-16,44.11559,66.93275)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3669"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.494493"
- fx="35.292667"
- cy="20.494493"
- cx="35.292667"
- gradientTransform="matrix(1.871885e-16,-0.843022,1.020168,2.265228e-16,0.606436,42.58614)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3671"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1,0,0,0.536723,1.513668e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3673"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient3675">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop3677" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop3679" />
- </linearGradient>
- <linearGradient
- id="linearGradient3681">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop3683" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop3685" />
- </linearGradient>
- <linearGradient
- id="linearGradient3687">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop3689" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop3691" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient3693"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient3695"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient3697"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient3699"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient3701"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient3703"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient3705"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient3707"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient3709"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient3711"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient3713">
- <stop
- id="stop3715"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop3717"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient3719">
- <stop
- id="stop3721"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop3723"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient3725">
- <stop
- id="stop3727"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop3729"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient3731"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3733"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3735"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient3737"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient3739"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient3741"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient3743"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient3745"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient3747"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient3749"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient3751"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3753"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3755"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3757"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient3759"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient3761"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-6.209324e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient3763"
- x1="-105.29172"
- y1="10.854023"
- x2="-68.690399"
- y2="10.854023"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3765"
- cx="-128.09293"
- cy="-6.7201605"
- fx="-128.09293"
- fy="-6.7201605"
- r="16.201061"
- gradientTransform="matrix(-1.816359,-3.649306e-3,4.950766e-3,-2.458037,-327.6983,-22.2003)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient3769">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop3771" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop3773" />
- </linearGradient>
- <linearGradient
- id="linearGradient3775">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop3777" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop3779" />
- </linearGradient>
- <linearGradient
- id="linearGradient3781">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop3783" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop3785" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient3787"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient3789"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient3791"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient3793"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient3795"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient3797"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient3799"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient3801"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient3803"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient3805"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient3807">
- <stop
- id="stop3809"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop3811"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient3813">
- <stop
- id="stop3815"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop3817"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient3819">
- <stop
- id="stop3821"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop3823"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient3825"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3827"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3829"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient3831"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient3833"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient3835"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient3837"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient3839"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient3841"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient3843"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient3845"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3847"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3849"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3851"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient3853"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient3855"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-1.728076e-14,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1,0,0,0.536723,-1.728076e-14,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3088"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3086"
- cx="16.620785"
- cy="-29.734715"
- fx="16.620785"
- fy="-29.734715"
- r="16.500000"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient3084"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- cx="34.663586"
- cy="20.321211"
- fx="34.663586"
- fy="20.321211"
- r="16.9562" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient3082"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3080"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- cx="15.987216"
- cy="1.5350308"
- fx="15.987216"
- fy="1.5350308"
- r="17.171415" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient3078"
- cx="13.904816"
- cy="36.435665"
- fx="13.904816"
- fy="36.435665"
- r="16.505941"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="29.619577"
- x2="9.8994951"
- y1="10.522566"
- x1="9.8994951"
- id="linearGradient3076"
- xlink:href="#linearGradient1725"
- inkscape:collect="always" />
- <linearGradient
- y2="21.214239"
- x2="28.84375"
- y1="18.057989"
- x1="27.90625"
- gradientTransform="translate(-44.14365,-18.7803)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3074"
- xlink:href="#linearGradient1737"
- inkscape:collect="always" />
- <linearGradient
- y2="28"
- x2="28.625"
- y1="25.296875"
- x1="28.625"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3072"
- xlink:href="#linearGradient4882"
- inkscape:collect="always" />
- <linearGradient
- y2="30.828125"
- x2="28.421637"
- y1="37.765625"
- x1="28.513193"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3070"
- xlink:href="#linearGradient4892"
- inkscape:collect="always" />
- <radialGradient
- r="7.5"
- fy="36.908916"
- fx="28.0625"
- cy="36.908916"
- cx="28.0625"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3068"
- xlink:href="#linearGradient4872"
- inkscape:collect="always" />
- <linearGradient
- y2="20.90625"
- x2="24.673225"
- y1="20.90625"
- x1="22.0625"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3066"
- xlink:href="#linearGradient4910"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient3064"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- y2="11.407223"
- x2="17.279921"
- y1="11.539805"
- x1="16.528622"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3062"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="14.876466"
- x2="20.727066"
- y1="15.23002"
- x1="19.489631"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3060"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="7.7189064"
- x2="21.6875"
- y1="12.093906"
- x1="21.6875"
- gradientTransform="translate(-102.0821,-10.1517)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3058"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient3052">
- <stop
- style="stop-color:#6a6352;stop-opacity:1;"
- offset="0"
- id="stop3054" />
- <stop
- style="stop-color:#3b372e;stop-opacity:1;"
- offset="1"
- id="stop3056" />
- </linearGradient>
- <linearGradient
- id="linearGradient3046">
- <stop
- style="stop-color:#e7e5e0;stop-opacity:1;"
- offset="0"
- id="stop3048" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop3050" />
- </linearGradient>
- <linearGradient
- id="linearGradient3040">
- <stop
- style="stop-color:#e5d28f;stop-opacity:1;"
- offset="0"
- id="stop3042" />
- <stop
- style="stop-color:#ab8f2a;stop-opacity:1;"
- offset="1"
- id="stop3044" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- r="23.5"
- fy="40.374615"
- fx="23.96336"
- cy="40.374615"
- cx="23.96336"
- id="radialGradient3038"
- xlink:href="#linearGradient2795"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- r="20"
- fy="16.234577"
- fx="197.48041"
- cy="16.234577"
- cx="197.48041"
- id="radialGradient3036"
- xlink:href="#linearGradient2295"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)"
- gradientUnits="userSpaceOnUse"
- y2="56.877113"
- x2="207.71683"
- y1="62"
- x1="207.71683"
- id="linearGradient3034"
- xlink:href="#linearGradient4218"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.947449"
- x2="221.39929"
- y1="64.193214"
- x1="221.39929"
- id="linearGradient3032"
- xlink:href="#linearGradient4087"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.954399"
- x2="206.50735"
- y1="63.914768"
- x1="206.4698"
- id="linearGradient3030"
- xlink:href="#linearGradient4079"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- r="21"
- fy="61.016609"
- fx="210.76491"
- cy="61.016609"
- cx="210.76491"
- id="radialGradient3028"
- xlink:href="#linearGradient4065"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)"
- gradientUnits="userSpaceOnUse"
- y2="54.870758"
- x2="218.1942"
- y1="29.854406"
- x1="198.25261"
- id="linearGradient3026"
- xlink:href="#linearGradient2829"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.287102"
- x2="217.75"
- y1="60.957611"
- x1="217.75"
- id="linearGradient3024"
- xlink:href="#linearGradient2283"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.31184"
- x2="219.625"
- y1="61.282185"
- x1="219.625"
- id="linearGradient3022"
- xlink:href="#linearGradient2275"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)"
- gradientUnits="userSpaceOnUse"
- y2="69.140022"
- x2="192.61819"
- y1="44.316147"
- x1="192.61819"
- id="linearGradient3020"
- xlink:href="#linearGradient2207"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient3014">
- <stop
- id="stop3016"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop3018"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient3008">
- <stop
- id="stop3010"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop3012"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient3002">
- <stop
- id="stop3004"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop3006"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.816359,-3.649306e-3,4.950766e-3,-2.458037,-327.6983,-22.2003)"
- r="16.201061"
- fy="-6.7201605"
- fx="-128.09293"
- cy="-6.7201605"
- cx="-128.09293"
- id="radialGradient3000"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="10.854023"
- x2="-68.690399"
- y1="10.854023"
- x1="-105.29172"
- id="linearGradient2998"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1,0,0,0.536723,-6.209324e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2996"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient2994"
- cx="16.620785"
- cy="-29.734715"
- fx="16.620785"
- fy="-29.734715"
- r="16.500000"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient2992"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- cx="34.663586"
- cy="20.321211"
- fx="34.663586"
- fy="20.321211"
- r="16.9562" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient2990"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient2988"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- cx="15.987216"
- cy="1.5350308"
- fx="15.987216"
- fy="1.5350308"
- r="17.171415" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient2986"
- cx="13.904816"
- cy="36.435665"
- fx="13.904816"
- fy="36.435665"
- r="16.505941"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="29.619577"
- x2="9.8994951"
- y1="10.522566"
- x1="9.8994951"
- id="linearGradient2984"
- xlink:href="#linearGradient1725"
- inkscape:collect="always" />
- <linearGradient
- y2="21.214239"
- x2="28.84375"
- y1="18.057989"
- x1="27.90625"
- gradientTransform="translate(-44.14365,-18.7803)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2982"
- xlink:href="#linearGradient1737"
- inkscape:collect="always" />
- <linearGradient
- y2="28"
- x2="28.625"
- y1="25.296875"
- x1="28.625"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2980"
- xlink:href="#linearGradient4882"
- inkscape:collect="always" />
- <linearGradient
- y2="30.828125"
- x2="28.421637"
- y1="37.765625"
- x1="28.513193"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2978"
- xlink:href="#linearGradient4892"
- inkscape:collect="always" />
- <radialGradient
- r="7.5"
- fy="36.908916"
- fx="28.0625"
- cy="36.908916"
- cx="28.0625"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2976"
- xlink:href="#linearGradient4872"
- inkscape:collect="always" />
- <linearGradient
- y2="20.90625"
- x2="24.673225"
- y1="20.90625"
- x1="22.0625"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2974"
- xlink:href="#linearGradient4910"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2972"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- y2="11.407223"
- x2="17.279921"
- y1="11.539805"
- x1="16.528622"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2970"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="14.876466"
- x2="20.727066"
- y1="15.23002"
- x1="19.489631"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2968"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="7.7189064"
- x2="21.6875"
- y1="12.093906"
- x1="21.6875"
- gradientTransform="translate(-102.0821,-10.1517)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2966"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2960">
- <stop
- style="stop-color:#6a6352;stop-opacity:1;"
- offset="0"
- id="stop2962" />
- <stop
- style="stop-color:#3b372e;stop-opacity:1;"
- offset="1"
- id="stop2964" />
- </linearGradient>
- <linearGradient
- id="linearGradient2954">
- <stop
- style="stop-color:#e7e5e0;stop-opacity:1;"
- offset="0"
- id="stop2956" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop2958" />
- </linearGradient>
- <linearGradient
- id="linearGradient2948">
- <stop
- style="stop-color:#e5d28f;stop-opacity:1;"
- offset="0"
- id="stop2950" />
- <stop
- style="stop-color:#ab8f2a;stop-opacity:1;"
- offset="1"
- id="stop2952" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- r="23.5"
- fy="40.374615"
- fx="23.96336"
- cy="40.374615"
- cx="23.96336"
- id="radialGradient2946"
- xlink:href="#linearGradient2795"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- r="20"
- fy="16.234577"
- fx="197.48041"
- cy="16.234577"
- cx="197.48041"
- id="radialGradient2944"
- xlink:href="#linearGradient2295"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)"
- gradientUnits="userSpaceOnUse"
- y2="56.877113"
- x2="207.71683"
- y1="62"
- x1="207.71683"
- id="linearGradient2942"
- xlink:href="#linearGradient4218"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.947449"
- x2="221.39929"
- y1="64.193214"
- x1="221.39929"
- id="linearGradient2940"
- xlink:href="#linearGradient4087"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.954399"
- x2="206.50735"
- y1="63.914768"
- x1="206.4698"
- id="linearGradient2938"
- xlink:href="#linearGradient4079"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- r="21"
- fy="61.016609"
- fx="210.76491"
- cy="61.016609"
- cx="210.76491"
- id="radialGradient2936"
- xlink:href="#linearGradient4065"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)"
- gradientUnits="userSpaceOnUse"
- y2="54.870758"
- x2="218.1942"
- y1="29.854406"
- x1="198.25261"
- id="linearGradient2934"
- xlink:href="#linearGradient2829"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.287102"
- x2="217.75"
- y1="60.957611"
- x1="217.75"
- id="linearGradient2932"
- xlink:href="#linearGradient2283"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.31184"
- x2="219.625"
- y1="61.282185"
- x1="219.625"
- id="linearGradient2930"
- xlink:href="#linearGradient2275"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)"
- gradientUnits="userSpaceOnUse"
- y2="69.140022"
- x2="192.61819"
- y1="44.316147"
- x1="192.61819"
- id="linearGradient2928"
- xlink:href="#linearGradient2207"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2922">
- <stop
- id="stop2924"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop2926"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient2916">
- <stop
- id="stop2918"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop2920"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient2910">
- <stop
- id="stop2912"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop2914"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient2908"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,1.513668e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient2906"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.871885e-16,-0.843022,1.020168,2.265228e-16,0.606436,42.58614)"
- cx="35.292667"
- cy="20.494493"
- fx="35.292667"
- fy="20.494493"
- r="16.9562" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient2904"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.749427e-16,-2.046729,-1.55761,-2.853404e-16,44.11559,66.93275)"
- cx="15.987216"
- cy="1.5350308"
- fx="15.987216"
- fy="1.5350308"
- r="17.171415" />
- <linearGradient
- id="linearGradient2898">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop2900" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop2902" />
- </linearGradient>
- <radialGradient
- r="16.9562"
- fy="34.462799"
- fx="22.588188"
- cy="34.462799"
- cx="22.588188"
- gradientTransform="matrix(0.843022,1.871885e-16,-2.265228e-16,1.020168,4.41386,0.60644)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2896"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2884">
- <stop
- style="stop-color:#ef2929;stop-opacity:1;"
- offset="0"
- id="stop2886" />
- <stop
- style="stop-color:#cc0000;stop-opacity:1;"
- offset="1"
- id="stop2888" />
- </linearGradient>
- <linearGradient
- id="linearGradient2830">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop2832" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop2834" />
- </linearGradient>
- <linearGradient
- id="linearGradient2823">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop2825" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop2827" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient2815"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient2813"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient2811"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient2809"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient2807"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient2805"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient2803"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient2801"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient2799"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient2797"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2785">
- <stop
- id="stop2787"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop2789"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2779">
- <stop
- id="stop2781"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop2783"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2767">
- <stop
- id="stop2769"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop2771"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient2759"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient2757"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient2755"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2753"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient2751"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient2749"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient2747"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient2745"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient2743"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient2741"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient2739"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.55761,2.853404e-16,2.91297,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2737"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2735"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2733"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.5004,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient2719"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient3643"
- cx="11.796274"
- cy="11.091317"
- fx="11.796274"
- fy="11.091317"
- r="9.513236"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient5431"
- cx="8.1503592"
- cy="24.74148"
- fx="8.1503592"
- fy="24.74148"
- r="17.194671"
- gradientTransform="matrix(1.33142e-2,-1.827812,1.809911,1.318425e-2,-22.33155,21.97652)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="25"
- inkscape:window-x="0"
- inkscape:window-height="724"
- inkscape:window-width="1270"
- inkscape:showpageshadow="false"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="26.100244"
- inkscape:cx="34.529937"
- inkscape:zoom="16"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.25490196"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- fill="#a04e0b"
- stroke="#4e9a06"
- showguides="true"
- inkscape:guide-bbox="true" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Go to Bottom</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>go</rdf:li>
- <rdf:li>bottom</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <path
- transform="matrix(1.214466,0.000000,0.000000,0.595458,-6.163846,20.18775)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.20454544;color:#000000;fill:url(#radialGradient1444);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <g
- id="g1529"
- inkscape:label="Layer 1"
- transform="matrix(0,-1,1,0,16.20415,-65.3648)">
- <g
- id="g1450"
- transform="matrix(1.017301,-0.243559,0.243559,1.017301,-1.745715,-23.38258)">
- <g
- id="g3244"
- inkscape:label="Layer 1"
- transform="translate(-36.88669,-0.208253)">
- <g
- transform="matrix(1.677972,-1.677972,1.677972,1.677972,-66.57358,14.98939)"
- inkscape:label="Layer 1"
- id="g3899">
- <g
- id="g3256"
- transform="matrix(0.97294,0.231056,-0.231056,0.97294,-2.818815,-10.27098)">
- <g
- id="g3612"
- transform="translate(0.356336,-0.141778)">
- <path
- id="rect3916"
- d="M 2.7172249,9.4617441 C 2.5805296,9.6051479 2.4937407,9.8057794 2.4937406,10.020455 L 2.4937406,12.162179 C 2.4937406,12.60538 2.8513581,12.962998 3.2945593,12.962998 L 9.9245929,12.962998 L 9.9245929,19.593031 C 9.9245929,20.036232 10.28221,20.39385 10.725412,20.39385 L 12.867136,20.39385 C 13.310337,20.39385 13.667955,20.036232 13.667955,19.593031 L 13.667955,12.962998 L 20.297988,12.962998 C 20.741189,12.962998 21.098807,12.60538 21.098807,12.162179 L 21.098807,10.020455 C 21.098807,9.5772538 20.741189,9.2196361 20.297988,9.2196361 L 13.667955,9.2196361 L 13.667955,2.5896024 C 13.667955,2.1464015 13.310337,1.7887838 12.867136,1.7887838 L 10.725412,1.7887838 C 10.282211,1.7887838 9.9245928,2.1464016 9.9245929,2.5896024 L 9.9245929,9.2196361 L 3.2945593,9.2196361 C 3.0660338,9.2196361 2.8627394,9.3090882 2.7172249,9.4617441 z "
- style="opacity:1;fill:url(#radialGradient3643);fill-opacity:1;stroke:#a40000;stroke-width:0.42140555;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csssssssssssscczccssssssssssssccsssssssssssssssssccsccsssssssssssssssssccsssssssssssccsccsssssssssssssccssssssssssssssccsccssssssssssssssccc"
- id="rect3927"
- d="M -5.71875,4.6875 C -5.8444297,4.7049763 -5.987077,4.7646047 -6.09375,4.8125 C -6.1087528,4.8196195 -6.1417364,4.836089 -6.15625,4.84375 C -6.1705105,4.8516752 -6.2050125,4.8665598 -6.21875,4.875 C -6.252419,4.8967278 -6.3136665,4.9440509 -6.34375,4.96875 C -6.3613445,4.9839062 -6.3900729,5.0151233 -6.40625,5.03125 C -6.4114792,5.036729 -6.4324367,5.0569198 -6.4375,5.0625 C -6.4423945,5.0681792 -6.464027,5.0879739 -6.46875,5.09375 C -6.4732986,5.0996207 -6.4956286,5.1190369 -6.5,5.125 C -6.5083828,5.1371066 -6.5236042,5.1750458 -6.53125,5.1875 C -6.5566912,5.231675 -6.5780949,5.2959103 -6.59375,5.34375 C -6.5978009,5.3575504 -6.6218099,5.3921989 -6.625,5.40625 C -6.6277513,5.4204199 -6.6231433,5.4543559 -6.625,5.46875 C -6.626401,5.4832497 -6.6245274,5.5165525 -6.625,5.53125 L -6.625,21.171853 C -6.625,21.171853 -6.548354,21.730407 -6.9374997,22.078125 C -7.3352561,22.433537 -7.6406138,22.375 -7.6406138,22.375 L -23.40625,22.34375 C -23.42104,22.34375 -23.454149,22.34281 -23.46875,22.34375 C -23.48325,22.345151 -23.516966,22.341443 -23.53125,22.34375 C -23.54542,22.346501 -23.579822,22.340127 -23.59375,22.34375 C -23.60755,22.347801 -23.642718,22.370111 -23.65625,22.375 C -23.669641,22.3803 -23.705653,22.400146 -23.71875,22.40625 C -23.731693,22.412748 -23.768629,22.430231 -23.78125,22.4375 C -23.855975,22.483375 -23.939375,22.554622 -24,22.625 C -24.00494,22.631017 -24.026425,22.650084 -24.03125,22.65625 C -24.040667,22.668874 -24.053562,22.705558 -24.0625,22.71875 C -24.10161,22.779354 -24.159266,22.866875 -24.1875,22.9375 C -24.196476,22.961371 -24.211122,23.006443 -24.21875,23.03125 C -24.230693,23.073086 -24.242074,23.143415 -24.25,23.1875 C -24.259925,23.249789 -24.279956,23.34052 -24.28125,23.40625 L -24.28125,28.125 C -24.28125,28.181694 -24.25646,28.258182 -24.25,28.3125 C -24.243758,28.357386 -24.229119,28.425972 -24.21875,28.46875 C -24.209821,28.502601 -24.198877,28.561495 -24.1875,28.59375 C -24.178524,28.617621 -24.166513,28.664642 -24.15625,28.6875 C -24.14913,28.702503 -24.132661,28.735486 -24.125,28.75 C -24.105187,28.785651 -24.054199,28.842723 -24.03125,28.875 C -24.021833,28.887624 -24.00988,28.925467 -24,28.9375 C -23.994948,28.943365 -23.973912,28.96304 -23.96875,28.96875 C -23.96348,28.974303 -23.942876,28.994608 -23.9375,29 C -23.932021,29.005229 -23.91183,29.026187 -23.90625,29.03125 C -23.883533,29.050828 -23.836713,29.076984 -23.8125,29.09375 C -23.806359,29.097759 -23.787477,29.121177 -23.78125,29.125 C -23.768629,29.132269 -23.731693,29.149752 -23.71875,29.15625 C -23.705653,29.162354 -23.669641,29.1822 -23.65625,29.1875 C -23.642718,29.192389 -23.60755,29.183449 -23.59375,29.1875 C -23.579822,29.191123 -23.54542,29.215999 -23.53125,29.21875 C -23.516966,29.221057 -23.48325,29.217349 -23.46875,29.21875 C -23.454149,29.21969 -23.42104,29.21875 -23.40625,29.21875 L -7.593739,29.21875 C -7.593739,29.21875 -7.1015595,29.335945 -6.8593747,29.609375 C -6.61719,29.882804 -6.625,30.312468 -6.625,30.312468 L -6.625,46 C -6.625,46.01479 -6.6259396,46.047899 -6.625,46.0625 C -6.623599,46.077 -6.6273068,46.110716 -6.625,46.125 C -6.6222487,46.13917 -6.5973733,46.173572 -6.59375,46.1875 C -6.5896991,46.2013 -6.5986392,46.236468 -6.59375,46.25 C -6.5884501,46.263391 -6.5686044,46.299403 -6.5625,46.3125 C -6.5592509,46.318971 -6.5346932,46.337358 -6.53125,46.34375 C -6.5239811,46.356371 -6.5080171,46.393967 -6.5,46.40625 C -6.4832345,46.430463 -6.4570782,46.477283 -6.4375,46.5 C -6.4324367,46.50558 -6.4114792,46.525771 -6.40625,46.53125 C -6.4008576,46.536626 -6.3805527,46.55723 -6.375,46.5625 C -6.3692898,46.567662 -6.3496148,46.588698 -6.34375,46.59375 C -6.3317166,46.60363 -6.293874,46.615583 -6.28125,46.625 C -6.248973,46.647949 -6.1919014,46.698937 -6.15625,46.71875 C -6.1417364,46.726411 -6.1087528,46.74288 -6.09375,46.75 C -6.0708915,46.760263 -6.0238706,46.772274 -6,46.78125 C -5.9677452,46.792627 -5.9088514,46.803571 -5.875,46.8125 C -5.832222,46.822869 -5.7636356,46.837509 -5.71875,46.84375 C -5.6644321,46.850209 -5.5879442,46.875 -5.53125,46.875 L -0.8125,46.875 C -0.74676957,46.873705 -0.6560391,46.853675 -0.59375,46.84375 C -0.54966524,46.835824 -0.47933638,46.824443 -0.4375,46.8125 C -0.41269332,46.804872 -0.36762059,46.790226 -0.34375,46.78125 C -0.27312498,46.753016 -0.18560416,46.69536 -0.125,46.65625 C -0.11180799,46.647312 -0.075123967,46.634417 -0.0625,46.625 C -0.05633425,46.620175 -0.037266701,46.59869 -0.03125,46.59375 C 0.056722565,46.517969 0.13876356,46.40957 0.1875,46.3125 C 0.19360439,46.299403 0.21345011,46.263391 0.21875,46.25 C 0.2236392,46.236468 0.24594908,46.2013 0.25,46.1875 C 0.25362334,46.173572 0.24724872,46.13917 0.25,46.125 C 0.25230681,46.110716 0.24859902,46.077 0.25,46.0625 C 0.25093961,46.047899 0.25,46.01479 0.25,46 L 0.25,30.234343 C 0.25,30.234343 0.28906179,29.785148 0.51562472,29.53125 C 0.74218764,29.277352 1.1562517,29.21875 1.1562517,29.21875 L 17.0625,29.21875 C 17.077197,29.218277 17.1105,29.220151 17.125,29.21875 C 17.139394,29.216893 17.17333,29.221501 17.1875,29.21875 C 17.201551,29.21556 17.2362,29.191551 17.25,29.1875 C 17.29784,29.171845 17.362075,29.150441 17.40625,29.125 C 17.418704,29.117354 17.456643,29.102133 17.46875,29.09375 C 17.474713,29.089379 17.494129,29.067049 17.5,29.0625 C 17.505776,29.057777 17.525571,29.036145 17.53125,29.03125 C 17.53683,29.026187 17.557021,29.005229 17.5625,29 C 17.567876,28.994608 17.58848,28.974303 17.59375,28.96875 C 17.598912,28.96304 17.619948,28.943365 17.625,28.9375 C 17.649699,28.907416 17.697022,28.846169 17.71875,28.8125 C 17.72719,28.798762 17.742075,28.764261 17.75,28.75 C 17.757661,28.735486 17.77413,28.702503 17.78125,28.6875 C 17.853093,28.52749 17.90625,28.32343 17.90625,28.125 L 17.90625,23.40625 C 17.904955,23.34052 17.884925,23.249789 17.875,23.1875 C 17.867074,23.143415 17.855693,23.073086 17.84375,23.03125 C 17.836122,23.006443 17.821476,22.961371 17.8125,22.9375 C 17.803089,22.913958 17.791929,22.866254 17.78125,22.84375 C 17.773858,22.828989 17.757925,22.795511 17.75,22.78125 C 17.729538,22.746245 17.679794,22.68781 17.65625,22.65625 C 17.651425,22.650084 17.62994,22.631017 17.625,22.625 C 17.589636,22.583946 17.540432,22.533061 17.5,22.5 C 17.494129,22.495451 17.474713,22.473121 17.46875,22.46875 C 17.456643,22.460367 17.418704,22.445146 17.40625,22.4375 C 17.399939,22.433866 17.381392,22.409693 17.375,22.40625 C 17.362057,22.399752 17.325746,22.380705 17.3125,22.375 C 17.279022,22.36175 17.222628,22.351725 17.1875,22.34375 C 17.17333,22.340999 17.139394,22.345607 17.125,22.34375 C 17.1105,22.342349 17.077198,22.344223 17.0625,22.34375 L 1.3593765,22.34375 C 1.3593765,22.34375 0.85810283,22.392077 0.56249966,22.078125 C 0.21411527,21.708115 0.25,21.203103 0.25,21.203103 L 0.25,5.53125 C 0.24952738,5.5165525 0.25140098,5.4832497 0.25,5.46875 C 0.24814329,5.4543559 0.25275128,5.4204199 0.25,5.40625 C 0.24202469,5.3711221 0.23199973,5.3147284 0.21875,5.28125 C 0.21304505,5.2680038 0.19399819,5.2316926 0.1875,5.21875 C 0.18405682,5.2123579 0.15988446,5.1938107 0.15625,5.1875 C 0.14860417,5.1750458 0.13338277,5.1371066 0.125,5.125 C 0.1206286,5.1190369 0.098298593,5.0996207 0.09375,5.09375 C 0.06068917,5.0533176 0.009803864,5.0041144 -0.03125,4.96875 C -0.037266701,4.9638102 -0.05633425,4.9423254 -0.0625,4.9375 C -0.094059917,4.9139564 -0.15249536,4.8642122 -0.1875,4.84375 C -0.20176055,4.8358248 -0.23523897,4.8198925 -0.25,4.8125 C -0.27250425,4.8018207 -0.32020833,4.7906614 -0.34375,4.78125 C -0.36762059,4.7722745 -0.41269332,4.7576283 -0.4375,4.75 C -0.47933638,4.7380566 -0.54966524,4.7266757 -0.59375,4.71875 C -0.6560391,4.7088252 -0.74676957,4.6887946 -0.8125,4.6875 L -5.53125,4.6875 C -5.5879442,4.6875 -5.6644321,4.6810405 -5.71875,4.6875 z "
- style="opacity:0.481;fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999893;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
- transform="matrix(0.421406,0,0,0.421406,13.13872,0.2141)" />
- </g>
- </g>
- </g>
- </g>
- </g>
- </g>
- <path
- style="opacity:0.4;fill:url(#radialGradient5431);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 6.3975503,9.5102961 C 6.3975503,9.5102961 6.2234622,9.7581031 6.2380378,9.9425677 C 6.2540119,10.144732 6.3207114,10.147153 6.3217198,10.149155 C 6.3217198,10.149155 18.391546,22.134216 18.292182,22.113081 C 18.04601,22.060721 18.28609,21.870435 18.459174,22.575789 C 18.50095,22.746035 18.481953,23.217644 18.399345,23.392315 C 18.217446,23.776929 18.145127,23.911322 17.855952,24.196651 C 17.040011,25.00174 16.537968,25.544534 13.814622,28.244323 C 19.387797,28.25273 18.389222,24.645576 25.326019,21.540489 C 28.385961,20.170781 28.391576,20.158543 32.011119,18.731694 L 40.468462,10.044194 C 40.476924,10.035747 40.519846,10.024397 40.531076,10.012944 C 40.548935,9.9903062 40.574476,9.9486972 40.59369,9.9191942 C 40.600593,9.9077592 40.62055,9.8977312 40.624997,9.8879442 C 40.625662,9.8863032 40.625056,9.8606302 40.624997,9.8566942 C 40.6249,9.8527552 40.624409,9.8270922 40.624997,9.8254442 C 40.627554,9.8171842 40.622632,9.8035592 40.624997,9.7941942 C 40.628949,9.7747689 40.623784,9.7479595 40.624997,9.7316942 C 40.625166,9.7252441 40.625147,9.6755759 40.624997,9.6691942 C 40.625195,9.6652208 40.625028,9.6416752 40.624997,9.6379442 C 40.625067,9.6339782 40.624798,9.6114778 40.624997,9.6066942 C 40.618736,9.5895296 40.606103,9.5352756 40.59369,9.5129442 C 40.587894,9.5071338 40.565442,9.4851674 40.562383,9.4816942 L 36.805541,5.7316942 C 36.800901,5.7276234 36.782879,5.7096244 36.774234,5.7004442 C 36.772284,5.6985311 36.7759,5.6706611 36.774234,5.6691942 C 36.772923,5.6684266 36.7469,5.669124 36.742927,5.6691942 C 36.738059,5.6695573 36.715615,5.6690828 36.71162,5.6691942 C 36.709711,5.6672133 36.681745,5.6697152 36.680313,5.6691942 C 36.67552,5.6693936 36.652979,5.6691241 36.649005,5.6691942 C 36.636136,5.6660593 36.601222,5.6417943 36.586391,5.6379442 C 36.581478,5.6368533 36.559842,5.6387065 36.555084,5.6379442 C 36.553443,5.6381439 36.526155,5.6373031 36.523777,5.6379442 C 36.506355,5.6437164 36.471086,5.6670591 36.461163,5.6691942 C 36.455547,5.6708874 36.435683,5.6672548 36.429856,5.6691942 C 36.424258,5.6712329 36.403481,5.6672032 36.398549,5.6691942 C 36.392012,5.6721531 36.380606,5.6965504 36.367242,5.7004442 C 36.364339,5.7014159 36.338298,5.6995031 36.335935,5.7004442 C 36.321682,5.7145538 36.286186,5.7504777 36.273321,5.7629442 C 36.261847,5.7741536 36.250477,5.8169971 36.242014,5.8254442 L 24.564495,17.450444 C 24.564495,17.450444 24.110543,17.887944 23.56267,17.887944 C 23.014797,17.887944 22.373004,17.450444 22.373004,17.450444 C 22.373004,17.450444 10.605895,5.7173706 10.59603,5.7133884 C 10.592084,5.7119849 10.484351,5.7166294 10.393796,5.7235402 C 10.231,5.735964 10.091919,5.8655993 10.126459,5.7926238 C 10.172403,5.6955537 6.4019533,9.5058316 6.3975503,9.5102961 z "
- id="path4530"
- sodipodi:nodetypes="cscsssscsccsssssssssssccsssssssssssssssccscsssc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-clear.svg b/share/pixmaps/tryton/tryton-clear.svg
deleted file mode 100644
index 7972878..0000000
--- a/share/pixmaps/tryton/tryton-clear.svg
+++ /dev/null
@@ -1,415 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- sodipodi:docname="edit-clear.svg"
- inkscape:export-filename="/home/andreas/projekt/bild/tango/clear2.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs1308">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2243">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2245" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2247" />
- </linearGradient>
- <linearGradient
- id="linearGradient9320">
- <stop
- id="stop9322"
- offset="0.0000000"
- style="stop-color:#fef088;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#fde63a;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop9324" />
- <stop
- id="stop9326"
- offset="1.0000000"
- style="stop-color:#dac203;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient8576">
- <stop
- style="stop-color:#dac203;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop8578" />
- <stop
- id="stop8584"
- offset="0.50000000"
- style="stop-color:#fdec69;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#fdef7e;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop8580" />
- </linearGradient>
- <linearGradient
- id="linearGradient3558">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3560" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3562" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3558"
- id="radialGradient3564"
- cx="22.571428"
- cy="30.857143"
- fx="22.571428"
- fy="30.857143"
- r="15.571428"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.651376,4.792388e-15,10.75754)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient15303">
- <stop
- style="stop-color:#b30000;stop-opacity:1;"
- offset="0"
- id="stop15305" />
- <stop
- id="stop15311"
- offset="0.5"
- style="stop-color:#ff5c5c;stop-opacity:1;" />
- <stop
- style="stop-color:#c30000;stop-opacity:1;"
- offset="1"
- id="stop15307" />
- </linearGradient>
- <linearGradient
- id="linearGradient11647">
- <stop
- style="stop-color:#c17d10;stop-opacity:1;"
- offset="0"
- id="stop11649" />
- <stop
- style="stop-color:#9b650c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11651" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5739">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop5741" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop5743" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5739"
- id="linearGradient7988"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.866026,-0.500000,0.797491,1.381294,-15.69909,-9.225099)"
- x1="9.1053896"
- y1="38.828144"
- x2="10.146956"
- y2="30.140831" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5739"
- id="linearGradient7990"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.866026,-0.500000,0.797961,1.382110,-15.72934,-9.277499)"
- x1="19.616243"
- y1="39.252983"
- x2="18.485983"
- y2="29.909071" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5739"
- id="linearGradient7992"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.866026,-0.500000,0.843479,1.460948,-19.74053,-11.13423)"
- x1="15.096997"
- y1="36.96777"
- x2="14.045431"
- y2="29.000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5739"
- id="linearGradient7994"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.866026,-0.500000,0.801305,1.387900,-12.81830,-11.14456)"
- x1="14.045431"
- y1="37.575890"
- x2="14.045431"
- y2="29.000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5739"
- id="linearGradient7996"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.866026,-0.500000,0.861487,1.492140,-17.87951,-13.91085)"
- x1="16.92873"
- y1="34.010502"
- x2="14.045431"
- y2="29.000000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11647"
- id="linearGradient11653"
- x1="12.233433"
- y1="12.363223"
- x2="16.870909"
- y2="17.110941"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.965926,0.262102,-0.258819,0.978177,2.957072,-5.939741)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15303"
- id="linearGradient15309"
- x1="10.615304"
- y1="28.122555"
- x2="2.0069747"
- y2="27.234833"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.176700,2.237102e-17,2.319843e-17,1.176702,-0.819769,-5.307055)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8576"
- id="linearGradient8582"
- x1="11.996646"
- y1="19.591736"
- x2="17.774033"
- y2="16.234594"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.014891,0.000000,0.000000,1.005920,-0.331699,-0.140188)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9320"
- id="radialGradient9318"
- cx="20.764477"
- cy="19.540945"
- fx="20.764477"
- fy="19.540945"
- r="14.799585"
- gradientTransform="matrix(0.449398,-0.216492,0.564416,1.171617,-1.432288,2.546108)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2243"
- id="linearGradient2249"
- x1="9.5621576"
- y1="6.952559"
- x2="14.766725"
- y2="14.200403"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.17254902"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="4"
- inkscape:cx="50.061293"
- inkscape:cy="43.364823"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="916"
- inkscape:window-height="827"
- inkscape:window-x="748"
- inkscape:window-y="204"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata1311">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Edit Clear</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://www.tango-project.org</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>clear</rdf:li>
- <rdf:li>reset</rdf:li>
- <rdf:li>blank</rdf:li>
- <rdf:li>edit</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner (although minimally ;)</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:0.47368421;color:#000000;fill:url(#radialGradient3564);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3556"
- sodipodi:cx="22.571428"
- sodipodi:cy="30.857143"
- sodipodi:rx="15.571428"
- sodipodi:ry="10.142858"
- d="M 38.142857 30.857143 A 15.571428 10.142858 0 1 1 7,30.857143 A 15.571428 10.142858 0 1 1 38.142857 30.857143 z"
- transform="matrix(1.435780,0.000000,0.000000,0.825704,-5.050460,13.43182)" />
- <path
- style="fill:url(#linearGradient11653);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#8f5902;stroke-width:1.0063211;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 6.9163118,1.7780186 C 8.6460876,0.8999591 11.042237,1.7815151 11.928102,3.3353385 L 16.098341,12.820053 C 16.984206,14.373873 16.731757,16.189357 15.532312,16.890639 C 14.332867,17.591922 12.654079,16.90558 11.768213,15.351758 L 5.8497502,6.9960305 C 4.9638854,5.4422066 5.2207536,2.6387087 6.9163118,1.7780186 z "
- id="path7966"
- sodipodi:nodetypes="cccsccz" />
- <path
- style="opacity:0.42307691;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2249);stroke-width:1.00569046;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- d="M 7.4462701,2.7359104 C 8.8682231,1.9500906 10.266975,2.5431693 11.141568,4.0752981 L 15.589706,14.162023 L 13.158185,15.581885 L 6.8615741,6.7615491 C 5.9869811,5.2294205 5.9853271,3.5432766 7.4462701,2.7359104 z "
- id="path14575"
- sodipodi:nodetypes="cccccz" />
- <path
- style="fill:url(#radialGradient9318);fill-opacity:1;fill-rule:evenodd;stroke:#c4a000;stroke-width:1.00000048;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 14.780848,22.793567 C 13.985353,27.080402 15.414814,36.746068 21.040081,42.487564 C 25.386835,42.628855 35.030172,39.069883 41.571176,32.290526 C 32.335,27.773816 26.034647,16.567549 21.135869,19.007852 L 14.780848,22.793567 z "
- id="path7968"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7988);stroke-width:0.99999988;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 16.338359,24.367274 C 18.687375,30.637545 18.827802,37.155576 23.522142,42.287158"
- id="path7972"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:0.46153846;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 15.91878,23.414124 C 15.006687,23.922228 15.758401,35.934338 21.503034,41.414491 C 28.88902,41.227594 37.02675,35.018304 39.895986,32.576645 C 30.39657,26.592523 24.971183,17.814876 21.415196,20.003061 L 15.91878,23.414124 z "
- id="path7970"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7990);stroke-width:0.99999970;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 23.848485,22.273332 C 24.714846,21.524332 29.598505,28.360999 38.846986,34.655133"
- id="path7974"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7992);stroke-width:1.0000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 18.012893,22.863921 C 21.725203,28.211416 20.975883,35.288176 26.853709,40.945031"
- id="path7976"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7994);stroke-width:1.0000002;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 22.983898,22.775821 C 22.983898,22.775821 31.160628,35.84745 34.165832,37.880382"
- id="path7978"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient7996);stroke-width:1.0000001;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 19.300308,22.200695 C 22.747454,25.11751 28.002865,36.363883 30.610322,39.678445"
- id="path7980"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:url(#linearGradient8582);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#c4a000;stroke-width:1.0103954;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 8.5089452,18.061866 L 19.970616,11.502960 C 20.569266,13.885531 19.628776,14.743545 21.766566,18.650673 L 13.856274,23.177313 C 12.402846,19.699893 10.291388,19.767015 8.5089452,18.061866 z "
- id="path7982"
- sodipodi:nodetypes="ccccc" />
- <path
- style="opacity:0.24725272;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 14.043449,21.245689 C 13.229488,19.824472 11.481136,19.009347 10.364130,18.118460 L 19.121552,13.184722 C 19.101959,14.665690 19.688457,16.272928 19.997163,17.703389 L 14.043449,21.245689 z "
- id="path11655"
- sodipodi:nodetypes="ccccc" />
- <rect
- style="opacity:1;fill:url(#linearGradient15309);fill-opacity:1;fill-rule:evenodd;stroke:#690000;stroke-width:0.99999803;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect7984"
- width="13.015023"
- height="3.4598906"
- x="-1.4127867"
- y="24.174778"
- rx="0.99999738"
- ry="0.99999803"
- transform="matrix(0.866025,-0.500001,0.500000,0.866026,0.000000,0.000000)" />
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#8f5902;stroke-width:1.65524161;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path10193"
- sodipodi:cx="-19.319168"
- sodipodi:cy="4.0836182"
- sodipodi:rx="2.1465743"
- sodipodi:ry="2.1465743"
- d="M -17.172594 4.0836182 A 2.1465743 2.1465743 0 1 1 -21.465742,4.0836182 A 2.1465743 2.1465743 0 1 1 -17.172594 4.0836182 z"
- transform="matrix(0.583557,0.156364,-0.156364,0.583557,20.45782,5.158782)" />
- <path
- style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 27.734834,40.555239 C 27.734834,40.555239 29.241418,40.054591 29.910932,39.613484 C 28.673495,37.66894 26.507591,33.717819 24.507806,30.737564 C 25.701049,37.278302 27.734834,40.555239 27.734834,40.555239 z "
- id="path3558"
- sodipodi:nodetypes="cccc" />
- <path
- style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 31.141805,39.05827 L 33.167803,37.9731 C 31.223259,36.116945 25.699306,27.857202 25.699306,27.857202 L 31.141805,39.05827 z "
- id="path3560"
- sodipodi:nodetypes="cccc" />
- <path
- style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 35.658522,36.387809 L 38.094893,34.644057 C 34.912912,33.318232 26.508353,24.763608 26.508353,24.763608 C 28.891288,27.775503 33.275587,33.375914 35.658522,36.387809 z "
- id="path3562"
- sodipodi:nodetypes="cccc" />
- <path
- style="opacity:0.31730769;fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 39.153689,33.917208 L 40.846002,32.5077 C 37.531439,31.005098 28.350325,22.595683 28.350325,22.595683 C 28.350325,22.595683 34.424912,31.795888 39.153689,33.917208 z "
- id="path3565"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path2265"
- d="M 24.376076,41.571705 C 24.376076,41.571705 25.573301,41.292028 26.419592,41.116086 C 24.961184,39.878649 22.618503,36.678829 21.325825,32.505331 C 21.856156,39.399623 24.376076,41.571705 24.376076,41.571705 z "
- style="opacity:0.31730766;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- style="opacity:0.31730766;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 21.370872,41.969452 C 21.370872,41.969452 22.618892,41.955776 22.618892,41.955776 C 20.320795,39.436707 19.480717,36.590441 18.188038,32.549526 C 18.055457,37.234109 21.370872,41.969452 21.370872,41.969452 z "
- id="path2267"
- sodipodi:nodetypes="cccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-close.svg b/share/pixmaps/tryton/tryton-close.svg
deleted file mode 100644
index 82a4a4f..0000000
--- a/share/pixmaps/tryton/tryton-close.svg
+++ /dev/null
@@ -1,357 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/emblems"
- sodipodi:docname="emblem-unreadable.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2719">
- <stop
- style="stop-color:#cc0000;stop-opacity:1;"
- offset="0"
- id="stop2721" />
- <stop
- style="stop-color:#cc0000;stop-opacity:0;"
- offset="1"
- id="stop2723" />
- </linearGradient>
- <linearGradient
- id="linearGradient2711">
- <stop
- style="stop-color:#f34e4e;stop-opacity:1;"
- offset="0"
- id="stop2713" />
- <stop
- style="stop-color:#ef2929;stop-opacity:0;"
- offset="1"
- id="stop2715" />
- </linearGradient>
- <linearGradient
- id="linearGradient11327">
- <stop
- style="stop-color:#7d6400;stop-opacity:1;"
- offset="0"
- id="stop11329" />
- <stop
- style="stop-color:#be9700;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11331" />
- </linearGradient>
- <linearGradient
- id="linearGradient2092">
- <stop
- id="stop2094"
- offset="0"
- style="stop-color:#fff7b0;stop-opacity:1;" />
- <stop
- style="stop-color:#ffec41;stop-opacity:1.0000000;"
- offset="0.20999999"
- id="stop2098" />
- <stop
- id="stop2293"
- offset="0.83999997"
- style="stop-color:#e2cc00;stop-opacity:1;" />
- <stop
- id="stop2100"
- offset="1"
- style="stop-color:#c3af00;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11335">
- <stop
- style="stop-color:#6f716d;stop-opacity:1;"
- offset="0"
- id="stop11337" />
- <stop
- style="stop-color:#9ea09c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11339" />
- </linearGradient>
- <linearGradient
- id="linearGradient10591">
- <stop
- style="stop-color:#cad0c6;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop10593" />
- <stop
- id="stop10599"
- offset="0.50000000"
- style="stop-color:#eaece9;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#c5cbc0;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop10595" />
- </linearGradient>
- <linearGradient
- id="linearGradient11520">
- <stop
- id="stop11522"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop11524"
- offset="1.0000000"
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11508"
- inkscape:collect="always">
- <stop
- id="stop11510"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11512"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.435476e-15,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2719"
- id="radialGradient2725"
- cx="24.445681"
- cy="46.957848"
- fx="24.445681"
- fy="46.957848"
- r="16.554319"
- gradientTransform="matrix(2.670835,-1.66183e-17,1.650931e-17,2.653312,-40.84471,-77.78951)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#eeeeec"
- fill="#cc0000"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="49.436623"
- inkscape:cy="35.750047"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1002"
- inkscape:window-height="955"
- inkscape:window-x="436"
- inkscape:window-y="77" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Unreadable</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>emblem</rdf:li>
- <rdf:li>access</rdf:li>
- <rdf:li>denied</rdf:li>
- <rdf:li>unreadable</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- transform="matrix(2.304988e-2,0,0,2.086758e-2,45.00013,40.24675)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- ry="5.4548240"
- rx="5.4548240"
- y="3.5233452"
- x="4.4147282"
- height="40.061924"
- width="40.061924"
- id="rect11518"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9b9b9b;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect11528"
- width="37.696587"
- height="37.696587"
- x="5.5973887"
- y="4.7060070"
- rx="4.2426391"
- ry="4.2426391" />
- <rect
- style="opacity:1;color:#000000;fill:url(#radialGradient2725);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect2707"
- width="33.108639"
- height="32.891403"
- x="7.8913612"
- y="7.1085968"
- rx="2.7440348"
- ry="2.7440348"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- id="g2703"
- transform="matrix(0.717647,0,0,0.717647,6.882353,6.6)"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- style="stroke:#eeeeec">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path2698"
- d="M 16.25,15.25 L 32.5,31.5"
- style="opacity:1;color:#000000;fill:#204a87;fill-opacity:1;fill-rule:nonzero;stroke:#eeeeec;stroke-width:6.96721315;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:1;color:#000000;fill:#204a87;fill-opacity:1;fill-rule:nonzero;stroke:#eeeeec;stroke-width:6.96721315;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 32.5,15.25 L 16.25,31.5"
- id="path2700"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-connect.svg b/share/pixmaps/tryton/tryton-connect.svg
deleted file mode 100644
index dd48cc4..0000000
--- a/share/pixmaps/tryton/tryton-connect.svg
+++ /dev/null
@@ -1,1041 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48.000000px"
- height="48.000000px"
- id="svg2327"
- sodipodi:version="0.32"
- inkscape:version="0.43"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status"
- sodipodi:docname="network-transmit-receive.svg">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient3400">
- <stop
- style="stop-color:#416db4;stop-opacity:1;"
- offset="0"
- id="stop3402" />
- <stop
- style="stop-color:#385e9b;stop-opacity:1;"
- offset="1"
- id="stop3404" />
- </linearGradient>
- <linearGradient
- id="linearGradient2985"
- inkscape:collect="always">
- <stop
- id="stop2987"
- offset="0"
- style="stop-color:#d8dfd6;stop-opacity:1;" />
- <stop
- id="stop2989"
- offset="1"
- style="stop-color:#d8dfd6;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2752">
- <stop
- id="stop2754"
- offset="0"
- style="stop-color:#9d9d9d;stop-opacity:1;" />
- <stop
- id="stop2756"
- offset="1.0000000"
- style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2711">
- <stop
- id="stop2713"
- offset="0.0000000"
- style="stop-color:#909090;stop-opacity:1.0000000;" />
- <stop
- id="stop2715"
- offset="1.0000000"
- style="stop-color:#bebebe;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2701">
- <stop
- id="stop2703"
- offset="0.0000000"
- style="stop-color:#585956;stop-opacity:1.0000000;" />
- <stop
- id="stop2705"
- offset="1.0000000"
- style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2683"
- inkscape:collect="always">
- <stop
- id="stop2685"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2687"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2667">
- <stop
- id="stop2669"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop2671"
- offset="1.0000000"
- style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2635"
- inkscape:collect="always">
- <stop
- id="stop2637"
- offset="0"
- style="stop-color:#f9fff5;stop-opacity:1;" />
- <stop
- id="stop2639"
- offset="1"
- style="stop-color:#f9fff5;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2454">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2456" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2458" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2415">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2417" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2419" />
- </linearGradient>
- <linearGradient
- id="linearGradient2253">
- <stop
- style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2255" />
- <stop
- style="stop-color:#494949;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2257" />
- </linearGradient>
- <linearGradient
- id="linearGradient2245">
- <stop
- style="stop-color:#dde1d9;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2247" />
- <stop
- style="stop-color:#cacdc6;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2249" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient3909"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2985"
- id="linearGradient3911"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.492875,0.669848)"
- x1="-23.885700"
- y1="49.953003"
- x2="-23.885700"
- y2="44.878883" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient3913"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2701"
- id="linearGradient3915"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.816345,0.550556)"
- x1="12.206709"
- y1="53.535141"
- x2="12.127711"
- y2="64.892525" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient3917"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient3919"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2683"
- id="linearGradient3923"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
- x1="3.7069976"
- y1="171.29134"
- x2="3.7069974"
- y2="162.45061" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient3925"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2667"
- id="linearGradient3927"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
- x1="11.492236"
- y1="1.6537577"
- x2="17.199417"
- y2="26.729263" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient3929"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient3931"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.129863,0.885063)"
- x1="18.316999"
- y1="48.643234"
- x2="18.176752"
- y2="52.536461" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient3933"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient3935"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient3937"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient3939"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2635"
- id="linearGradient3941"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
- x1="13.628710"
- y1="101.28460"
- x2="8.6485014"
- y2="74.098007" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient3943"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient3945"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient3947"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient3949"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient3951"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient4011"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2985"
- id="linearGradient4013"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.492875,0.669848)"
- x1="-23.885700"
- y1="49.953003"
- x2="-23.885700"
- y2="44.878883" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient4015"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2701"
- id="linearGradient4017"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.816345,0.550556)"
- x1="12.206709"
- y1="53.535141"
- x2="12.127711"
- y2="64.892525" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient4019"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient4021"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2683"
- id="linearGradient4025"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
- x1="3.7069976"
- y1="171.29134"
- x2="3.7069974"
- y2="162.45061" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient4027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2667"
- id="linearGradient4029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
- x1="11.492236"
- y1="1.6537577"
- x2="17.199417"
- y2="26.729263" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient4031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient4033"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.129863,0,0,0.932544,1.870249e-17,-2.527286)"
- x1="18.316999"
- y1="48.643234"
- x2="18.176752"
- y2="52.536461" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient4035"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.104397,0,0,0.954047,1.870249e-17,-2.527286)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient4037"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient4039"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient4041"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2635"
- id="linearGradient4043"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.119206,0,0,0.473986,1.161626,-1.377609)"
- x1="13.628710"
- y1="101.28460"
- x2="8.6485014"
- y2="74.098007" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient4045"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient4047"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient4049"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient4051"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient4053"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3400"
- id="linearGradient4064"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.77934,0,0,0.77934,73.6389,-5.946102)"
- x1="-57.547276"
- y1="38.652531"
- x2="-57.495499"
- y2="15.323487" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.12156863"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="4"
- inkscape:cx="83.297457"
- inkscape:cy="44.12705"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="822"
- inkscape:window-height="885"
- inkscape:window-x="773"
- inkscape:window-y="55"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Computer</dc:title>
- <dc:date>2005-03-08</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>workstation</rdf:li>
- <rdf:li>computer</rdf:li>
- <rdf:li>node</rdf:li>
- <rdf:li>client</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz/</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g2860"
- transform="matrix(0.779340,0.000000,0.000000,0.779340,4.553721,10.26381)">
- <g
- id="g3880"
- transform="translate(7.165836,-12.94079)">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient3909);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path2862"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2864"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="translate(57.53339,3.203427)" />
- <path
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path2866"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3911);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2868"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)" />
- <path
- sodipodi:nodetypes="ccccccccccccccccc"
- style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
- id="path2870" />
- <path
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path2872"
- style="color:#000000;fill:url(#radialGradient3913);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <rect
- y="30.703611"
- x="17.472397"
- height="2.7400389"
- width="9.0396729"
- id="rect2874"
- style="color:#000000;fill:url(#linearGradient3915);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="color:#000000;fill:url(#linearGradient3917);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3919);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
- id="path2876"
- sodipodi:nodetypes="cssssssss" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path2878"
- d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
- style="fill:url(#linearGradient4064);fill-opacity:1;fill-rule:evenodd;stroke:#4263a8;stroke-width:0.64156881;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:1;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient3923);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762"
- d="M 6.1774331,28.735789 L 37.605910,28.735789"
- id="path2880" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path2882"
- d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3925);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- style="opacity:0.53142858;fill:url(#linearGradient3927);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
- id="path2884" />
- <path
- transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path2886"
- style="color:#000000;fill:url(#radialGradient3929);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path2888"
- d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3931);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3933);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path2890"
- d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
- style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- id="path2892"
- d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
- style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
- id="path2894" />
- <path
- id="path2896"
- d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3935);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:url(#linearGradient3937);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
- id="path2898"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3939);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
- id="path2900" />
- <path
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient3941);stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
- id="path2902"
- sodipodi:nodetypes="ccccc" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2904"
- style="color:#000000;fill:url(#linearGradient3943);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient3945);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2906"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2908"
- style="color:#000000;fill:url(#linearGradient3947);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient3949);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2910"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2912"
- style="color:#000000;fill:url(#linearGradient3951);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- id="path2914"
- d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
- style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans" />
- </g>
- </g>
- <g
- id="g3953"
- transform="matrix(0.779340,0.000000,0.000000,0.779340,-6.030902,20.34909)">
- <g
- id="g3955"
- transform="translate(7.165836,-12.94079)">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient4011);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path3957"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path3959"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="translate(57.53339,3.203427)" />
- <path
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path3961"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4013);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path3963"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)" />
- <path
- sodipodi:nodetypes="ccccccccccccccccc"
- style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
- id="path3965" />
- <path
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path3967"
- style="color:#000000;fill:url(#radialGradient4015);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <rect
- y="30.703611"
- x="17.472397"
- height="2.7400389"
- width="9.0396729"
- id="rect3969"
- style="color:#000000;fill:url(#linearGradient4017);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="color:#000000;fill:url(#linearGradient4019);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4021);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
- id="path3971"
- sodipodi:nodetypes="cssssssss" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path3973"
- d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
- style="fill:url(#linearGradient4064);fill-opacity:1;fill-rule:evenodd;stroke:#4263a8;stroke-width:0.64156884;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:1;color:#000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-dashoffset:0;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient4025);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762"
- d="M 6.1774331,28.735789 L 37.605910,28.735789"
- id="path3975" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path3977"
- d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4027);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- style="opacity:0.53142858;fill:url(#linearGradient4029);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
- id="path3979" />
- <path
- transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path3981"
- style="color:#000000;fill:url(#radialGradient4031);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path3983"
- d="M 6.4621839,36.265312 L 37.46459,36.265312 C 38.583839,36.265312 38.441945,36.551312 38.556817,36.911035 L 41.391463,45.787811 C 41.506335,46.147536 41.418485,46.433534 40.299236,46.433534 L 3.6275382,46.433534 C 2.5082891,46.433534 2.4204387,46.147536 2.5353107,45.787811 L 5.3699564,36.911035 C 5.4848284,36.551311 5.3429348,36.265312 6.4621839,36.265312 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient4033);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4035);stroke-width:1.28313744;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path3985"
- d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
- style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- id="path3987"
- d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
- style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
- id="path3989" />
- <path
- id="path3991"
- d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient4037);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:url(#linearGradient4039);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
- id="path3993"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient4041);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
- id="path3995" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4043);stroke-width:0.6415689;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 6.2310076,37.320738 L 37.694134,37.320738 L 40.301261,45.54321 L 3.4648186,45.54321 L 6.2310076,37.320738 z "
- id="path3997"
- sodipodi:nodetypes="ccccc" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path3999"
- style="color:#000000;fill:url(#linearGradient4045);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient4047);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4001"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path4003"
- style="color:#000000;fill:url(#linearGradient4049);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient4051);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4005"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path4007"
- style="color:#000000;fill:url(#linearGradient4053);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- id="path4009"
- d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
- style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-copy.svg b/share/pixmaps/tryton/tryton-copy.svg
deleted file mode 100644
index a4708f7..0000000
--- a/share/pixmaps/tryton/tryton-copy.svg
+++ /dev/null
@@ -1,327 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg4198"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- sodipodi:docname="edit-copy.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs4200">
- <linearGradient
- id="linearGradient15218">
- <stop
- style="stop-color:#f0f0ef;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop15220" />
- <stop
- id="stop2269"
- offset="0.59928656"
- style="stop-color:#e8e8e8;stop-opacity:1;" />
- <stop
- id="stop2267"
- offset="0.82758623"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#d8d8d3;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop15222" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2259">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2261" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2263" />
- </linearGradient>
- <linearGradient
- id="linearGradient2224">
- <stop
- style="stop-color:#7c7c7c;stop-opacity:1;"
- offset="0"
- id="stop2226" />
- <stop
- style="stop-color:#b8b8b8;stop-opacity:1;"
- offset="1"
- id="stop2228" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2224"
- id="linearGradient2230"
- x1="35.996582"
- y1="40.458221"
- x2="33.664921"
- y2="37.770721"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.161836,4.033411)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2251">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2253" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2255" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2251"
- id="linearGradient2257"
- x1="33.396004"
- y1="36.921333"
- x2="34.170048"
- y2="38.070381"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.161836,3.658411)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15218"
- id="linearGradient4258"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.065698,0.000000,0.000000,0.987595,-8.548320,-4.891713)"
- x1="22.308331"
- y1="18.992140"
- x2="35.785294"
- y2="39.498238" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2259"
- id="linearGradient4260"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.998504,0.000000,0.000000,0.998246,-6.970391,-4.892901)"
- x1="26.076092"
- y1="26.696676"
- x2="30.811172"
- y2="42.007351" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2259"
- id="linearGradient13651"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999421,0.000000,0.000000,1.000000,5.991319,4.033411)"
- x1="26.076092"
- y1="26.696676"
- x2="30.811172"
- y2="42.007351" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15218"
- id="linearGradient13653"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.067236,0.000000,0.000000,0.989276,4.391684,4.035227)"
- x1="22.308331"
- y1="18.992140"
- x2="35.785294"
- y2="39.498238" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#bebebe"
- borderopacity="1.0000000"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1.4142136"
- inkscape:cx="56.648344"
- inkscape:cy="48.133585"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="873"
- inkscape:window-height="699"
- inkscape:window-x="264"
- inkscape:window-y="242"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4203">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Edit Copy</dc:title>
- <dc:date>2005-10-15</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>edit</rdf:li>
- <rdf:li>copy</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g4268"
- style="opacity:0.49999997"
- transform="matrix(1.001508,0.000000,0.000000,1.000616,-5.002205e-2,-6.304895e-2)">
- <rect
- y="34.033413"
- x="20.161837"
- height="2.0000000"
- width="13.000000"
- id="rect2279"
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- ry="0.56615961"
- rx="0.56565511"
- y="1.5629303"
- x="1.5484408"
- height="35.976688"
- width="30.951559"
- id="rect4238"
- style="opacity:1.0000000;fill:url(#linearGradient4258);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99893934;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <rect
- ry="0.0000000"
- rx="0.0000000"
- y="2.5605955"
- x="2.5325129"
- height="33.981056"
- width="28.970741"
- id="rect4240"
- style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:0.99893963;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <rect
- y="10.033414"
- x="7.0161190"
- height="2.0000000"
- width="21.000000"
- id="rect4248"
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect4250"
- width="20.000000"
- height="2.0000000"
- x="7.0161190"
- y="14.033414" />
- <rect
- y="18.033415"
- x="7.0161190"
- height="2.0000000"
- width="18.000000"
- id="rect4252"
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect4254"
- width="21.000000"
- height="2.0000000"
- x="7.0161190"
- y="22.033415" />
- <rect
- y="26.033413"
- x="7.0161190"
- height="2.0000000"
- width="13.000000"
- id="rect4256"
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- id="g12863">
- <path
- style="fill:url(#linearGradient13653);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#888a85;stroke-width:1.0000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000"
- d="M 15.072946,10.500852 L 44.929331,10.500852 C 45.245071,10.500852 45.499257,10.753945 45.499257,11.068324 L 45.499257,38.235686 C 45.499257,40.712138 38.619447,46.538773 36.231325,46.538773 L 15.072946,46.538773 C 14.757206,46.538773 14.50302,46.285681 14.50302,45.9713 L 14.50302,11.068324 C 14.50302,10.753945 14.757206,10.500852 15.072946,10.500852 z "
- id="rect12413"
- sodipodi:nodetypes="ccccccccc" />
- <rect
- ry="0.0000000"
- rx="0.0000000"
- y="11.500000"
- x="15.502951"
- height="34.040764"
- width="28.997349"
- id="rect15244"
- style="opacity:1.0000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient13651);stroke-width:1.0000008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="cccc"
- id="path2210"
- d="M 36.220918,46.536966 C 38.251336,46.866864 45.809711,42.007037 45.505329,38.039122 C 43.942067,40.462219 40.746807,39.32586 36.638049,39.48487 C 36.638049,39.48487 37.033418,46.036966 36.220918,46.536966 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2230);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#868a84;stroke-width:1.0000002;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.36931817;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2257);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 37.671355,44.345464 C 39.041134,43.661635 42.099604,42.198999 43.398985,40.317995 C 41.802891,40.99805 40.451175,40.527491 37.696651,40.5084 C 37.696651,40.5084 37.858973,43.570494 37.671355,44.345464 z "
- id="path2247"
- sodipodi:nodetypes="cccc" />
- <rect
- y="19.033415"
- x="20.000000"
- height="2.0000000"
- width="21.000000"
- id="rect2271"
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect2273"
- width="19.992233"
- height="2.0000000"
- x="20.000000"
- y="23.033415" />
- <rect
- y="27.033415"
- x="20.000000"
- height="2.0000000"
- width="17.976702"
- id="rect2275"
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:0.17045452;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect2277"
- width="21.000000"
- height="2.0000000"
- x="20.000000"
- y="31.033415" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-delete.svg b/share/pixmaps/tryton/tryton-delete.svg
deleted file mode 100644
index 0f35bf8..0000000
--- a/share/pixmaps/tryton/tryton-delete.svg
+++ /dev/null
@@ -1,894 +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"
- width="48px"
- height="48px"
- id="svg57"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="tryton-delete.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective3984" />
- <linearGradient
- id="linearGradient3241">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop3243" />
- <stop
- style="stop-color:white;stop-opacity:0;"
- offset="1"
- id="stop3245" />
- </linearGradient>
- <linearGradient
- id="linearGradient3229">
- <stop
- style="stop-color:#598bcb;stop-opacity:1;"
- offset="0"
- id="stop3231" />
- <stop
- id="stop3249"
- offset="0.75675678"
- style="stop-color:#2f5c96;stop-opacity:1;" />
- <stop
- style="stop-color:#203e65;stop-opacity:1;"
- offset="1"
- id="stop3233" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3175">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop3177" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop3179" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3159">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop3161" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop3163" />
- </linearGradient>
- <linearGradient
- id="linearGradient3141">
- <stop
- style="stop-color:#a40000;stop-opacity:1;"
- offset="0"
- id="stop3143" />
- <stop
- style="stop-color:#ffc4c4;stop-opacity:1;"
- offset="1"
- id="stop3145" />
- </linearGradient>
- <linearGradient
- id="linearGradient3008">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop3010" />
- <stop
- style="stop-color:#d3d3d3;stop-opacity:1;"
- offset="1"
- id="stop3012" />
- </linearGradient>
- <linearGradient
- id="linearGradient2978">
- <stop
- style="stop-color:white;stop-opacity:1;"
- offset="0"
- id="stop2980" />
- <stop
- style="stop-color:#d5d5d5;stop-opacity:1;"
- offset="1"
- id="stop2982" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2964">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop2966" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop2968" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient381">
- <stop
- id="stop382"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop383"
- offset="1"
- style="stop-color:white;stop-opacity:0.84466022;" />
- </linearGradient>
- <linearGradient
- id="linearGradient368">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.10309278;"
- offset="0.0000000"
- id="stop369" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop372" />
- </linearGradient>
- <linearGradient
- id="linearGradient1065">
- <stop
- style="stop-color:#b5c051;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop1066" />
- <stop
- style="stop-color:#858e3f;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop1067" />
- </linearGradient>
- <linearGradient
- id="linearGradient172">
- <stop
- id="stop173"
- offset="0.0000000"
- style="stop-color:#616c08;stop-opacity:1.0000000;" />
- <stop
- id="stop174"
- offset="1.0000000"
- style="stop-color:#495106;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient161">
- <stop
- id="stop162"
- offset="0.0000000"
- style="stop-color:#575955;stop-opacity:1.0000000;" />
- <stop
- id="stop163"
- offset="1.0000000"
- style="stop-color:#7c7e79;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient157">
- <stop
- id="stop158"
- offset="0.0000000"
- style="stop-color:#babdb6;stop-opacity:1.0000000;" />
- <stop
- id="stop159"
- offset="1.0000000"
- style="stop-color:#f1f5ec;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient149"
- inkscape:collect="always">
- <stop
- id="stop150"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop151"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1869">
- <stop
- style="stop-color:#c9c9c9;stop-opacity:1;"
- offset="0"
- id="stop1870" />
- <stop
- style="stop-color:#787a7b;stop-opacity:1;"
- offset="1"
- id="stop1871" />
- </linearGradient>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="69.460503"
- x2="7.5291119"
- y1="27.376621"
- x1="7.3738608"
- gradientTransform="matrix(3.495016,0,0,0.344323,-2.972087,-3.408148e-2)"
- id="linearGradient152"
- xlink:href="#linearGradient149"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient149"
- id="linearGradient2058"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.520411,0,0,0.348016,-3.037918,1.544257)"
- x1="7.3738608"
- y1="27.376621"
- x2="7.5291119"
- y2="69.460503" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2964"
- id="linearGradient2970"
- x1="27.5"
- y1="14"
- x2="27.625"
- y2="18.750015"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.799991,0,-1.199875)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient2984"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-17.82887,-61.79699)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient2988"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-16.18243,-61.79699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient2992"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-14.33255,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient2996"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-12.67991,-61.03155)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3000"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-10.78506,-60.99081)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3004"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-19.58362,-61.75172)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3008"
- id="linearGradient3097"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.984533,0,0,1.203586,0.971903,-2.123191)"
- x1="26.151339"
- y1="-5.7401156"
- x2="27.500387"
- y2="13.351768" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3107"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-8.332562,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3111"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-6.332562,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3115"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-4.332562,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3119"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-2.332562,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3123"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,-0.332562,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3127"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,1.667438,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3131"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,3.667438,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2978"
- id="radialGradient3135"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.146715,6.924886e-2,-6.039991e-2,2.744612,5.667438,-61.89699)"
- cx="9.5796242"
- cy="33.588264"
- fx="9.5796242"
- fy="33.588264"
- r="2.5527742" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3141"
- id="linearGradient3147"
- x1="40.5"
- y1="13.822797"
- x2="40.5"
- y2="16.877842"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3159"
- id="linearGradient3165"
- x1="23.5"
- y1="12"
- x2="23.5"
- y2="6.6875"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3175"
- id="linearGradient3181"
- x1="25"
- y1="21"
- x2="25"
- y2="32.25"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3241"
- id="linearGradient3247"
- x1="21.67791"
- y1="19.969507"
- x2="22.333523"
- y2="11.643976"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- showborder="true"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666"
- borderopacity="0.13333333"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="10.87013"
- inkscape:cx="34.222441"
- inkscape:cy="26.381159"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1676"
- inkscape:window-height="1027"
- inkscape:window-x="0"
- inkscape:window-y="19"
- inkscape:showpageshadow="false"
- inkscape:object-nodes="true"
- inkscape:object-points="false"
- inkscape:object-bbox="false"
- inkscape:guide-bbox="false"
- inkscape:grid-points="true"
- inkscape:object-paths="false">
- <inkscape:grid
- id="GridFromPre046Settings"
- type="xygrid"
- originx="0px"
- originy="0px"
- spacingx="1px"
- spacingy="1px"
- color="#0000ff"
- empcolor="#0000ff"
- opacity="0.2"
- empopacity="0.4"
- empspacing="4" />
- </sodipodi:namedview>
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Delete</dc:title>
- <dc:date />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>edit</rdf:li>
- <rdf:li>delete</rdf:li>
- <rdf:li>shredder</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:publisher>
- <cc:Agent>
- <dc:title>Novell, Inc.</dc:title>
- </cc:Agent>
- </dc:publisher>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title />
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- transform="matrix(2.262383e-2,0,0,1.966248e-2,44.39519,41.98146)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <path
- style="opacity:0.38659794;color:black;fill:url(#linearGradient3181);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.75,21 L 43.25,21 L 42.375,32.25 L 5.625,32.25 L 4.75,21 z "
- id="path3173" />
- <path
- style="fill:#eff0ee;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.50000000000000000"
- d="M 4.000805,16.500028 C 3.9568443,16.464574 5.7277298,42.005521 5.7282343,42.013263 C 5.8943636,44.563961 7.2889479,45.496198 8.8498899,45.499996 C 8.9056682,45.500127 38.133934,45.496713 38.756644,45.494055 C 41.385341,45.482836 42.029344,43.859472 42.202267,42.085776 C 42.216136,42.050805 43.986115,16.535 43.999982,16.500028 C 30.666924,16.500028 17.333866,16.500028 4.000805,16.500028 z "
- id="path1751"
- sodipodi:nodetypes="ccccccc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="opacity:0.23711338;color:black;fill:url(#linearGradient2058);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 43.457954,20.712669 L 7.2079371,20.689264 C 34.519247,21.326592 39.885144,24.337412 43.214187,24.183575 L 43.457954,20.712669 z "
- id="path1893"
- sodipodi:nodetypes="cccc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- id="g3199"
- style="opacity:1;fill:#6e6e6e;fill-opacity:1;stroke:#494949;stroke-width:1.30000000000000004;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- transform="translate(8.838865e-2,8.838865e-2)">
- <path
- sodipodi:nodetypes="csccscc"
- id="path3201"
- d="M 29.163487,19.614074 C 29.163487,19.614074 30.279473,23.33545 29.517144,26.348054 C 28.754815,29.360658 29.269248,34.210167 29.269248,34.210167 L 30.884373,34.634373 C 30.884373,34.634373 30.117495,30.028639 30.931357,26.524831 C 31.745219,23.021023 30.577814,19.614988 30.577814,19.614988 L 29.163487,19.614074 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3203"
- d="M 9.9124168,19.759341 C 9.9124168,19.759341 11.028404,23.480717 10.266074,26.493321 C 9.5037448,29.505925 10.018178,34.355434 10.018178,34.355434 L 11.456527,33.807368 C 11.456527,33.807368 10.866426,30.173906 11.680288,26.670098 C 12.49415,23.16629 11.326745,19.760255 11.326745,19.760255 L 9.9124168,19.759341 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 11.66716,19.714074 C 11.66716,19.714074 12.783146,23.43545 12.020817,26.448054 C 11.258488,29.460658 8.617841,31.76449 8.617841,31.76449 L 9.8260378,33.73022 C 9.8260378,33.73022 12.621168,30.128639 13.43503,26.624831 C 14.248892,23.121023 13.081487,19.714988 13.081487,19.714988 L 11.66716,19.714074 z "
- id="path3205"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3207"
- d="M 21.163487,19.614074 C 21.163487,19.614074 22.279473,23.33545 21.517144,26.348054 C 20.754815,29.360658 21.269248,34.210167 21.269248,34.210167 L 22.928567,34.766955 C 22.928567,34.766955 22.117495,30.028639 22.931357,26.524831 C 23.745219,23.021023 22.577814,19.614988 22.577814,19.614988 L 21.163487,19.614074 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 35.163487,19.614074 C 35.163487,19.614074 36.279473,23.33545 35.517144,26.348054 C 34.754815,29.360658 36.550879,33.50306 36.550879,33.50306 L 38.077615,32.292082 C 38.077615,32.292082 36.117495,30.028639 36.931357,26.524831 C 37.745219,23.021023 36.577814,19.614988 36.577814,19.614988 L 35.163487,19.614074 z "
- id="path3209"
- sodipodi:nodetypes="csccscc" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 31.163487,19.614074 C 31.163487,19.614074 32.279473,23.33545 31.517144,26.348054 C 30.754815,29.360658 31.269248,34.210167 31.269248,34.210167 L 32.795984,34.148237 C 32.795984,34.148237 32.117495,30.028639 32.931357,26.524831 C 33.745219,23.021023 32.577814,19.614988 32.577814,19.614988 L 31.163487,19.614074 z "
- id="path3211"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3213"
- d="M 33.163487,19.614074 C 33.163487,19.614074 34.279473,23.33545 33.517144,26.348054 C 32.754815,29.360658 32.473753,34.03339 32.473753,34.03339 L 34.265654,34.457596 C 34.265654,34.457596 34.117495,30.028639 34.931357,26.524831 C 35.745219,23.021023 34.577814,19.614988 34.577814,19.614988 L 33.163487,19.614074 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 27.163487,19.614074 C 27.163487,19.614074 28.279473,23.33545 27.517144,26.348054 C 26.754815,29.360658 28.064743,33.989196 28.064743,33.989196 L 29.724062,33.308548 C 29.724062,33.308548 28.117495,30.028639 28.931357,26.524831 C 29.745219,23.021023 28.577814,19.614988 28.577814,19.614988 L 27.163487,19.614074 z "
- id="path3215"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3217"
- d="M 25.163487,19.614074 C 25.163487,19.614074 26.279473,23.33545 25.517144,26.348054 C 24.754815,29.360658 24.164394,34.077584 24.164394,34.077584 L 25.69113,34.280819 C 25.69113,34.280819 26.117495,30.028639 26.931357,26.524831 C 27.745219,23.021023 26.577814,19.614988 26.577814,19.614988 L 25.163487,19.614074 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 23.163487,19.614074 C 23.163487,19.614074 24.279473,23.33545 23.517144,26.348054 C 22.754815,29.360658 23.269248,34.210167 23.269248,34.210167 L 24.707596,33.662101 C 24.707596,33.662101 24.117495,30.028639 24.931357,26.524831 C 25.745219,23.021023 24.577814,19.614988 24.577814,19.614988 L 23.163487,19.614074 z "
- id="path3219"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3221"
- d="M 13.313608,19.714074 C 13.313608,19.714074 14.429594,23.43545 13.667265,26.448054 C 12.904936,29.460658 13.419369,34.310167 13.419369,34.310167 L 14.999517,34.698426 C 14.999517,34.698426 14.267616,30.128639 15.081478,26.624831 C 15.89534,23.121023 14.727935,19.714988 14.727935,19.714988 L 13.313608,19.714074 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 19.418083,20.520258 C 19.418083,20.520258 19.615714,24.129801 19.064633,27.254238 C 18.524861,30.31456 21.306417,34.496773 21.306417,34.496773 L 22.721163,33.86443 C 22.721163,33.86443 19.926762,31.248786 20.558759,27.078695 C 21.116432,23.399015 20.83241,20.521172 20.83241,20.521172 L 19.418083,20.520258 z "
- id="path3223"
- sodipodi:nodetypes="csccscc" />
- <path
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 15.163487,19.614074 C 15.163487,19.614074 16.279473,23.33545 15.517144,26.348054 C 14.754815,29.360658 15.269248,34.210167 15.269248,34.210167 L 16.707596,33.662101 C 16.707596,33.662101 16.117495,30.028639 16.931357,26.524831 C 17.745219,23.021023 16.577814,19.614988 16.577814,19.614988 L 15.163487,19.614074 z "
- id="path3225"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3227"
- d="M 16.816129,20.479515 C 16.816129,20.479515 17.932115,24.200891 17.169786,27.213495 C 16.407457,30.226099 14.726988,31.80438 14.726988,31.80438 L 15.964957,32.939804 C 15.964957,32.939804 17.770137,30.89408 18.583999,27.390272 C 19.397861,23.886464 18.230456,20.480429 18.230456,20.480429 L 16.816129,20.479515 z "
- style="opacity:1;color:black;fill:#6e6e6e;fill-opacity:1;fill-rule:evenodd;stroke:#494949;stroke-width:1.30000000000000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- id="g3183"
- transform="translate(9.1995235e-2,0.1839904)">
- <path
- style="opacity:1;fill:url(#radialGradient3123);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 29.163487,19.614074 C 29.163487,19.614074 30.279473,23.33545 29.517144,26.348054 C 28.754815,29.360658 29.269248,34.210167 29.269248,34.210167 L 30.884373,34.634373 C 30.884373,34.634373 30.117495,30.028639 30.931357,26.524831 C 31.745219,23.021023 30.577814,19.614988 30.577814,19.614988 L 29.163487,19.614074 z"
- id="path3121"
- sodipodi:nodetypes="csccscc" />
- <path
- style="opacity:1;fill:url(#radialGradient3004);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 9.9124168,19.759341 C 9.9124168,19.759341 11.028404,23.480717 10.266074,26.493321 C 9.5037448,29.505925 10.018178,34.355434 10.018178,34.355434 L 11.456527,33.807368 C 11.456527,33.807368 10.866426,30.173906 11.680288,26.670098 C 12.49415,23.16629 11.326745,19.760255 11.326745,19.760255 L 9.9124168,19.759341 z"
- id="path3002"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path2976"
- d="M 11.66716,19.714074 C 11.66716,19.714074 12.783146,23.43545 12.020817,26.448054 C 11.258488,29.460658 8.617841,31.76449 8.617841,31.76449 L 9.8260378,33.73022 C 9.8260378,33.73022 12.621168,30.128639 13.43503,26.624831 C 14.248892,23.121023 13.081487,19.714988 13.081487,19.714988 L 11.66716,19.714074 z"
- style="opacity:1;fill:url(#radialGradient2984);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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(#radialGradient3107);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 21.163487,19.614074 C 21.163487,19.614074 22.279473,23.33545 21.517144,26.348054 C 20.754815,29.360658 21.269248,34.210167 21.269248,34.210167 L 22.928567,34.766955 C 22.928567,34.766955 22.117495,30.028639 22.931357,26.524831 C 23.745219,23.021023 22.577814,19.614988 22.577814,19.614988 L 21.163487,19.614074 z"
- id="path3105"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3133"
- d="M 35.163487,19.614074 C 35.163487,19.614074 36.279473,23.33545 35.517144,26.348054 C 34.754815,29.360658 36.550879,33.50306 36.550879,33.50306 L 38.077615,32.292082 C 38.077615,32.292082 36.117495,30.028639 36.931357,26.524831 C 37.745219,23.021023 36.577814,19.614988 36.577814,19.614988 L 35.163487,19.614074 z"
- style="opacity:1;fill:url(#radialGradient3135);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3125"
- d="M 31.163487,19.614074 C 31.163487,19.614074 32.279473,23.33545 31.517144,26.348054 C 30.754815,29.360658 31.269248,34.210167 31.269248,34.210167 L 32.795984,34.148237 C 32.795984,34.148237 32.117495,30.028639 32.931357,26.524831 C 33.745219,23.021023 32.577814,19.614988 32.577814,19.614988 L 31.163487,19.614074 z"
- style="opacity:1;fill:url(#radialGradient3127);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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(#radialGradient3131);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 33.163487,19.614074 C 33.163487,19.614074 34.279473,23.33545 33.517144,26.348054 C 32.754815,29.360658 32.473753,34.03339 32.473753,34.03339 L 34.265654,34.457596 C 34.265654,34.457596 34.117495,30.028639 34.931357,26.524831 C 35.745219,23.021023 34.577814,19.614988 34.577814,19.614988 L 33.163487,19.614074 z"
- id="path3129"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3117"
- d="M 27.163487,19.614074 C 27.163487,19.614074 28.279473,23.33545 27.517144,26.348054 C 26.754815,29.360658 28.064743,33.989196 28.064743,33.989196 L 29.724062,33.308548 C 29.724062,33.308548 28.117495,30.028639 28.931357,26.524831 C 29.745219,23.021023 28.577814,19.614988 28.577814,19.614988 L 27.163487,19.614074 z"
- style="opacity:1;fill:url(#radialGradient3119);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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(#radialGradient3115);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 25.163487,19.614074 C 25.163487,19.614074 26.279473,23.33545 25.517144,26.348054 C 24.754815,29.360658 24.164394,34.077584 24.164394,34.077584 L 25.69113,34.280819 C 25.69113,34.280819 26.117495,30.028639 26.931357,26.524831 C 27.745219,23.021023 26.577814,19.614988 26.577814,19.614988 L 25.163487,19.614074 z"
- id="path3113"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path3109"
- d="M 23.163487,19.614074 C 23.163487,19.614074 24.279473,23.33545 23.517144,26.348054 C 22.754815,29.360658 23.269248,34.210167 23.269248,34.210167 L 24.707596,33.662101 C 24.707596,33.662101 24.117495,30.028639 24.931357,26.524831 C 25.745219,23.021023 24.577814,19.614988 24.577814,19.614988 L 23.163487,19.614074 z"
- style="opacity:1;fill:url(#radialGradient3111);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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(#radialGradient2988);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 13.313608,19.714074 C 13.313608,19.714074 14.429594,23.43545 13.667265,26.448054 C 12.904936,29.460658 13.419369,34.310167 13.419369,34.310167 L 14.999517,34.698426 C 14.999517,34.698426 14.267616,30.128639 15.081478,26.624831 C 15.89534,23.121023 14.727935,19.714988 14.727935,19.714988 L 13.313608,19.714074 z"
- id="path2986"
- sodipodi:nodetypes="csccscc" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path2998"
- d="M 19.418083,20.520258 C 19.418083,20.520258 19.615714,24.129801 19.064633,27.254238 C 18.524861,30.31456 21.306417,34.496773 21.306417,34.496773 L 22.721163,33.86443 C 22.721163,33.86443 19.926762,31.248786 20.558759,27.078695 C 21.116432,23.399015 20.83241,20.521172 20.83241,20.521172 L 19.418083,20.520258 z"
- style="opacity:1;fill:url(#radialGradient3000);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="csccscc"
- id="path2990"
- d="M 15.163487,19.614074 C 15.163487,19.614074 16.279473,23.33545 15.517144,26.348054 C 14.754815,29.360658 15.269248,34.210167 15.269248,34.210167 L 16.707596,33.662101 C 16.707596,33.662101 16.117495,30.028639 16.931357,26.524831 C 17.745219,23.021023 16.577814,19.614988 16.577814,19.614988 L 15.163487,19.614074 z"
- style="opacity:1;fill:url(#radialGradient2992);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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(#radialGradient2996);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 16.816129,20.479515 C 16.816129,20.479515 17.932115,24.200891 17.169786,27.213495 C 16.407457,30.226099 14.726988,31.80438 14.726988,31.80438 L 15.964957,32.939804 C 15.964957,32.939804 17.770137,30.89408 18.583999,27.390272 C 19.397861,23.886464 18.230456,20.480429 18.230456,20.480429 L 16.816129,20.479515 z"
- id="path2994"
- sodipodi:nodetypes="csccscc" />
- </g>
- <path
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.62886598"
- d="M 5.4146811,19.121548 C 5.3634244,19.121414 6.251433,31.93862 6.9569459,40.927803 C 7.1389508,43.235262 7.5088619,44.174409 8.9423077,44.174409 C 20.759131,44.174409 37.552947,44.260504 38.124794,44.258405 C 40.891299,44.248246 40.839524,43.220919 41.068645,41.038151 C 41.152053,40.243546 42.601147,19.210922 42.587323,19.210922 C 32.686245,19.210922 17.647791,19.153519 5.4146811,19.121548 z "
- id="path375"
- sodipodi:nodetypes="cssssss"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="fill:#ff2400;fill-opacity:1;fill-rule:evenodd;stroke:#494646;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 7.1632325,6.56876 C 6.0964702,6.571197 5.2036739,6.59587 4.7173745,7.611591 C 4.6328517,7.788132 2.0564582,14.953189 1.9325929,15.226435 C 0.87218423,17.565665 1.8500978,20.512357 3.8982467,20.492628 C 4.2877543,20.488998 44.257346,20.510899 44.877144,20.492628 C 46.620636,20.442134 46.843746,17.029897 46.093184,15.494889 C 46.050663,15.407927 42.567223,7.513946 42.47838,7.374125 C 42.067463,6.749683 41.147252,6.476015 40.463708,6.501646 C 40.329055,6.506821 7.2964985,6.568457 7.1632325,6.56876 z "
- id="path1841"
- sodipodi:nodetypes="cssssscss"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="opacity:0.14948454;color:black;fill:#555753;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.79225,20.902176 L 7.2921692,20.902264 L 8.0580206,41.513138 L 7.2954771,44.586329 C 6.688538,44.099871 6.4168015,43.362011 6.2792295,42.523528 L 4.79225,20.902176 z "
- id="path2956"
- sodipodi:nodetypes="cccccc" />
- <path
- style="opacity:0.42783505;color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 8.0335688,41.611683 L 7.3212658,44.540568 C 7.7441291,44.765463 8.0570118,44.852829 8.5125475,45.007174 L 38.538428,44.978477 C 39.11735,44.938856 39.669098,44.912678 40.052766,44.806892 L 38.00699,41.370874 L 8.0335688,41.611683 z "
- id="path2958"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="opacity:0.37113402;color:black;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 38.00699,41.370874 L 40.019489,44.815762 C 40.637691,44.552557 41.349831,44.091949 41.630912,42.961864 L 43.139311,20.94521 L 39.69211,20.942984 L 38.00699,41.370874 z "
- id="path2960"
- sodipodi:nodetypes="cccccc" />
- <path
- sodipodi:type="inkscape:offset"
- inkscape:radius="-1.0454103"
- inkscape:original="M 40.46875 6.5 C 40.334098 6.505175 7.289516 6.562197 7.15625 6.5625 C 6.0894879 6.5649371 5.2050494 6.609279 4.71875 7.625 C 4.6342274 7.8015411 2.0613653 14.945504 1.9375 15.21875 C 0.87709136 17.55798 1.8581011 20.519729 3.90625 20.5 C 4.2957575 20.49637 44.255202 20.518271 44.875 20.5 C 46.618492 20.449506 46.844312 17.035008 46.09375 15.5 C 46.051228 15.413038 42.557593 7.514821 42.46875 7.375 C 42.057835 6.750558 41.152294 6.474369 40.46875 6.5 z "
- xlink:href="#path1841"
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3247);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.38659794"
- id="path3237"
- inkscape:href="#path1841"
- d="M 40.375,7.53125 C 40.307786,7.5315126 40.187424,7.5621485 40.0625,7.5625 C 39.812652,7.5632031 39.458456,7.5614722 39,7.5625 C 38.083088,7.5645555 36.778275,7.5594608 35.21875,7.5625 C 32.0997,7.5685785 27.959843,7.5862798 23.8125,7.59375 C 15.517814,7.6086903 7.1755291,7.5937062 7.15625,7.59375 C 6.6366936,7.594937 6.2615608,7.6524246 6.0625,7.71875 C 5.8634392,7.7850754 5.7953622,7.77194 5.65625,8.0625 C 5.7244234,7.9201072 5.6779783,8.0363852 5.65625,8.09375 C 5.6345217,8.1511148 5.6013283,8.2387513 5.5625,8.34375 C 5.4848433,8.5537474 5.3772673,8.8700038 5.25,9.21875 C 4.9954654,9.9162423 4.647162,10.82881 4.3125,11.75 C 3.977838,12.67119 3.6668002,13.599915 3.40625,14.3125 C 3.2759749,14.668793 3.1460284,14.962545 3.0625,15.1875 C 2.9789716,15.412455 2.9631601,15.461769 2.875,15.65625 C 2.4633478,16.564343 2.4810984,17.654814 2.75,18.40625 C 3.0189016,19.157686 3.3876221,19.473746 3.90625,19.46875 C 4.0431167,19.467474 4.6187591,19.468534 5.75,19.46875 C 6.8812409,19.468966 8.469657,19.468121 10.375,19.46875 C 14.185686,19.470007 19.254551,19.467381 24.3125,19.46875 C 29.370449,19.470119 34.44211,19.469323 38.28125,19.46875 C 40.20082,19.468464 41.785363,19.469906 42.9375,19.46875 C 44.089637,19.467594 44.934706,19.466069 44.84375,19.46875 C 44.939478,19.465978 44.944876,19.474737 45.0625,19.3125 C 45.180124,19.150263 45.303425,18.791919 45.375,18.375 C 45.51815,17.541162 45.378994,16.424293 45.15625,15.96875 C 45.08818,15.829539 45.122096,15.876058 45.09375,15.8125 C 45.065404,15.748942 45.018732,15.674998 44.96875,15.5625 C 44.868786,15.337505 44.729962,15.002468 44.5625,14.625 C 44.227576,13.870065 43.788496,12.876072 43.34375,11.875 C 42.899004,10.873928 42.46493,9.8847897 42.125,9.125 C 41.955035,8.7451052 41.790172,8.4138381 41.6875,8.1875 C 41.636164,8.074331 41.590406,7.9975179 41.5625,7.9375 C 41.439574,7.7832595 40.858748,7.5177979 40.5,7.53125 C 40.400017,7.5350926 40.456732,7.5311365 40.4375,7.53125 C 40.418268,7.5313635 40.408607,7.5311187 40.375,7.53125 z " />
- <path
- style="opacity:0.82989693;color:black;fill:url(#linearGradient2970);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 8,10 L 7.375,12 L 39.375001,12 L 38.593148,10.07544 L 8,10 z "
- id="path2962"
- sodipodi:nodetypes="ccccc" />
- <path
- style="color:black;fill:url(#linearGradient3097);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000083;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 9.8535488,1.5000014 L 37.167316,1.5000014 C 37.363184,1.5000014 37.520869,1.6576863 37.520869,1.853555 L 37.520869,11.500003 C 37.520869,11.500003 9.4999952,11.500003 9.4999952,11.500003 L 9.4999952,1.853555 C 9.4999952,1.6576863 9.6576801,1.5000014 9.8535488,1.5000014 z "
- id="rect3006"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="opacity:0.62886598;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:1.00000024;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 10.499998,10.522594 L 10.499998,2.5000011 L 36.504381,2.5000011 L 36.504381,10.611733"
- id="path3103" />
- <path
- transform="matrix(0.814384,0,0,0.796379,7.58372,3.212694)"
- d="M 43 15 A 2.5 1.25 0 1 1 38,15 A 2.5 1.25 0 1 1 43 15 z"
- sodipodi:ry="1.25"
- sodipodi:rx="2.5"
- sodipodi:cy="15"
- sodipodi:cx="40.5"
- id="path3139"
- style="opacity:1;color:black;fill:#c00;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1.24172473;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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;color:black;fill:#ef2929;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3147);stroke-width:1.24172473;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3137"
- sodipodi:cx="40.5"
- sodipodi:cy="15"
- sodipodi:rx="2.5"
- sodipodi:ry="1.25"
- d="M 43 15 A 2.5 1.25 0 1 1 38,15 A 2.5 1.25 0 1 1 43 15 z"
- transform="matrix(0.814384,0,0,0.796379,7.58372,2.549784)" />
- <rect
- style="opacity:0.27319588;color:black;fill:url(#linearGradient3165);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3157"
- width="29"
- height="5.3125"
- x="9"
- y="6.6875" />
- <rect
- style="opacity:0.13917526;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3167"
- width="23"
- height="1"
- x="12"
- y="4"
- rx="0.5"
- ry="0.5" />
- <rect
- y="6"
- x="12"
- height="1"
- width="15"
- id="rect3169"
- style="opacity:0.13917526;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- rx="0.5"
- ry="0.5" />
- <rect
- style="opacity:0.13917526;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3171"
- width="19"
- height="1"
- x="12"
- y="8"
- rx="0.5"
- ry="0.5" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-dialog-error.svg b/share/pixmaps/tryton/tryton-dialog-error.svg
deleted file mode 100644
index 602fa79..0000000
--- a/share/pixmaps/tryton/tryton-dialog-error.svg
+++ /dev/null
@@ -1,316 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg1306"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- sodipodi:docname="dialog-error.svg">
- <defs
- id="defs1308">
- <linearGradient
- id="linearGradient3957">
- <stop
- style="stop-color:#fffeff;stop-opacity:0.33333334;"
- offset="0"
- id="stop3959" />
- <stop
- style="stop-color:#fffeff;stop-opacity:0.21568628;"
- offset="1"
- id="stop3961" />
- </linearGradient>
- <linearGradient
- id="linearGradient2536">
- <stop
- style="stop-color:#a40000;stop-opacity:1;"
- offset="0"
- id="stop2538" />
- <stop
- style="stop-color:#ff1717;stop-opacity:1;"
- offset="1"
- id="stop2540" />
- </linearGradient>
- <linearGradient
- id="linearGradient2479">
- <stop
- style="stop-color:#ffe69b;stop-opacity:1;"
- offset="0"
- id="stop2481" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop2483" />
- </linearGradient>
- <linearGradient
- id="linearGradient4126"
- inkscape:collect="always">
- <stop
- id="stop4128"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4130"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4126"
- id="radialGradient2169"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.500000,1.899196e-14,20.00000)"
- cx="23.857143"
- cy="40.000000"
- fx="23.857143"
- fy="40.000000"
- r="17.142857" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2479"
- id="linearGradient2485"
- x1="43.93581"
- y1="53.835983"
- x2="20.064686"
- y2="-8.5626707"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2536"
- id="linearGradient2542"
- x1="36.917976"
- y1="66.288063"
- x2="19.071495"
- y2="5.5410109"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2536"
- id="linearGradient3046"
- gradientUnits="userSpaceOnUse"
- x1="36.917976"
- y1="66.288063"
- x2="19.071495"
- y2="5.5410109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2479"
- id="linearGradient3048"
- gradientUnits="userSpaceOnUse"
- x1="43.93581"
- y1="53.835983"
- x2="20.064686"
- y2="-8.5626707" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2536"
- id="linearGradient3064"
- gradientUnits="userSpaceOnUse"
- x1="36.917976"
- y1="66.288063"
- x2="19.071495"
- y2="5.5410109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2479"
- id="linearGradient3066"
- gradientUnits="userSpaceOnUse"
- x1="43.93581"
- y1="53.835983"
- x2="20.064686"
- y2="-8.5626707" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3957"
- id="linearGradient3963"
- x1="21.993773"
- y1="33.955299"
- x2="20.917078"
- y2="15.814602"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4126"
- id="radialGradient3976"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.5,1.893048e-14,20)"
- cx="23.857143"
- cy="40.000000"
- fx="23.857143"
- fy="40.000000"
- r="17.142857" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2536"
- id="linearGradient3978"
- gradientUnits="userSpaceOnUse"
- x1="36.917976"
- y1="66.288063"
- x2="19.071495"
- y2="5.5410109" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2479"
- id="linearGradient3980"
- gradientUnits="userSpaceOnUse"
- x1="43.93581"
- y1="53.835983"
- x2="20.064686"
- y2="-8.5626707" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3957"
- id="linearGradient3982"
- gradientUnits="userSpaceOnUse"
- x1="21.993773"
- y1="33.955299"
- x2="20.917078"
- y2="15.814602" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.21568627"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="27.043297"
- inkscape:cy="20.463852"
- inkscape:current-layer="layer2"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="925"
- inkscape:window-height="846"
- inkscape:window-x="234"
- inkscape:window-y="52"
- inkscape:showpageshadow="false"
- fill="#ef2929"
- gridempspacing="4" />
- <metadata
- id="metadata1311">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Rodney Dawes</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner, Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Dialog Error</dc:title>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="Shadow">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.070555,0,0,0.525,-0.892755,22.5)"
- d="M 41 40 A 17.142857 8.5714283 0 1 1 6.7142868,40 A 17.142857 8.5714283 0 1 1 41 40 z"
- sodipodi:ry="8.5714283"
- sodipodi:rx="17.142857"
- sodipodi:cy="40"
- sodipodi:cx="23.857143"
- id="path6548"
- style="opacity:0.6;color:#000000;fill:url(#radialGradient3976);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- sodipodi:type="arc" />
- </g>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g4006">
- <path
- transform="matrix(0.920488,0,0,0.920488,2.368532,0.97408)"
- d="M 46.857143 23.928572 A 23.357143 23.357143 0 1 1 0.1428566,23.928572 A 23.357143 23.357143 0 1 1 46.857143 23.928572 z"
- sodipodi:ry="23.357143"
- sodipodi:rx="23.357143"
- sodipodi:cy="23.928572"
- sodipodi:cx="23.5"
- id="path1314"
- style="fill:url(#linearGradient3978);fill-opacity:1;fill-rule:nonzero;stroke:#b20000;stroke-width:1.08638;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(0.856093,0,0,0.856093,1.818275,0.197769)"
- d="M 49.901535 26.635273 A 23.991123 23.991123 0 1 1 1.9192886,26.635273 A 23.991123 23.991123 0 1 1 49.901535 26.635273 z"
- sodipodi:ry="23.991123"
- sodipodi:rx="23.991123"
- sodipodi:cy="26.635273"
- sodipodi:cx="25.910412"
- id="path3560"
- style="opacity:0.34659089;fill:#cc0000;fill-opacity:0;stroke:url(#linearGradient3980);stroke-width:1.16809607;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer3"
- inkscape:label="Error Box">
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="fill:#efefef;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.73876643;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.8627451"
- id="rect2070"
- width="27.836435"
- height="7.1735945"
- x="10.078821"
- y="19.164932"
- transform="matrix(1.005876,0,0,1.115201,-0.138045,-2.372708)" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer4"
- inkscape:label="Glossy Shine">
- <path
- transform="matrix(1.002994,0,0,1.002994,-7.185874e-2,1.968356e-2)"
- sodipodi:nodetypes="czssc"
- id="path3955"
- d="M 43.370686,21.715486 C 43.370686,32.546102 33.016357,15.449178 24.695948,22.101874 C 16.569626,28.599385 4.0989837,34.292422 4.0989837,23.461806 C 4.0989837,12.377753 12.79438,2.0948032 23.625,2.0948032 C 34.455619,2.0948032 43.370686,10.884868 43.370686,21.715486 z "
- style="fill:url(#linearGradient3982);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-dialog-information.svg b/share/pixmaps/tryton/tryton-dialog-information.svg
deleted file mode 100644
index 1e957cc..0000000
--- a/share/pixmaps/tryton/tryton-dialog-information.svg
+++ /dev/null
@@ -1,1145 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- sodipodi:docname="dialog-information.svg"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/status"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg19655"
- height="48px"
- width="48px"
- inkscape:export-filename="/home/jimmac/Desktop/poing.png"
- inkscape:export-xdpi="392.72742"
- inkscape:export-ydpi="392.72742">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3300">
- <stop
- style="stop-color:#4c4c28;stop-opacity:1;"
- offset="0"
- id="stop3302" />
- <stop
- style="stop-color:#4c4c28;stop-opacity:0;"
- offset="1"
- id="stop3304" />
- </linearGradient>
- <linearGradient
- id="linearGradient3311">
- <stop
- id="stop3313"
- offset="0"
- style="stop-color:#d6d7a5;stop-opacity:1;" />
- <stop
- id="stop3315"
- offset="1.0000000"
- style="stop-color:#8e8f6d;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient3265">
- <stop
- id="stop3267"
- offset="0"
- style="stop-color:#929470;stop-opacity:1;" />
- <stop
- style="stop-color:#60614a;stop-opacity:1.0000000;"
- offset="0.26470590"
- id="stop3269" />
- <stop
- id="stop3271"
- offset="0.63235295"
- style="stop-color:#f3f5ba;stop-opacity:1.0000000;" />
- <stop
- id="stop3273"
- offset="1.0000000"
- style="stop-color:#929470;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient3175"
- inkscape:collect="always">
- <stop
- id="stop3177"
- offset="0"
- style="stop-color:#f1f3ff;stop-opacity:1;" />
- <stop
- id="stop3179"
- offset="1"
- style="stop-color:#f1f3ff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2399">
- <stop
- style="stop-color:#929470;stop-opacity:1;"
- offset="0"
- id="stop2401" />
- <stop
- id="stop2407"
- offset="0.26470590"
- style="stop-color:#fcffc1;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#f3f5ba;stop-opacity:1.0000000;"
- offset="0.63235295"
- id="stop2409" />
- <stop
- style="stop-color:#929470;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2403" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6339">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6341" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6343" />
- </linearGradient>
- <linearGradient
- id="linearGradient20428">
- <stop
- id="stop20430"
- offset="0.0000000"
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
- <stop
- id="stop20432"
- offset="1"
- style="stop-color:#b5b5b5;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient20393">
- <stop
- id="stop20395"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.44117647;"
- offset="0.41176471"
- id="stop2427" />
- <stop
- id="stop20397"
- offset="1.0000000"
- style="stop-color:#000000;stop-opacity:0.48039216;" />
- </linearGradient>
- <linearGradient
- id="linearGradient20210">
- <stop
- id="stop20212"
- offset="0.0000000"
- style="stop-color:#000000;stop-opacity:0.51546389;" />
- <stop
- style="stop-color:#000000;stop-opacity:0.14432989;"
- offset="0.55172414"
- id="stop20218" />
- <stop
- id="stop20214"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="11.4873"
- fx="17.8335"
- r="22.7093"
- cy="11.4873"
- cx="17.8335"
- id="aigrd7">
- <stop
- id="stop19512"
- style="stop-color:#ffffff;stop-opacity:0.17525773;"
- offset="0.0000000" />
- <stop
- id="stop19514"
- style="stop-color:#709ac8;stop-opacity:1.0000000;"
- offset="0.88200003" />
- <stop
- id="stop19516"
- style="stop-color:#6f96dd;stop-opacity:1.0000000;"
- offset="1.0000000" />
- </radialGradient>
- <linearGradient
- y2="43.165"
- x2="26.4785"
- y1="43.165"
- x1="23.124"
- gradientUnits="userSpaceOnUse"
- id="aigrd1">
- <stop
- id="stop19415"
- style="stop-color:#686868"
- offset="5.618000e-003" />
- <stop
- id="stop19417"
- style="stop-color:#777777"
- offset="3.012137e-002" />
- <stop
- id="stop19419"
- style="stop-color:#929292"
- offset="8.366583e-002" />
- <stop
- id="stop19421"
- style="stop-color:#A7A7A7"
- offset="0.1422" />
- <stop
- id="stop19423"
- style="stop-color:#B6B6B6"
- offset="0.2074" />
- <stop
- id="stop19425"
- style="stop-color:#BEBEBE"
- offset="0.2846" />
- <stop
- id="stop19427"
- style="stop-color:#C1C1C1"
- offset="0.4045" />
- <stop
- id="stop19429"
- style="stop-color:#BCBCBC"
- offset="0.4962" />
- <stop
- id="stop19431"
- style="stop-color:#ADADAD"
- offset="0.6057" />
- <stop
- id="stop19433"
- style="stop-color:#959595"
- offset="0.7245" />
- <stop
- id="stop19435"
- style="stop-color:#747474"
- offset="0.8497" />
- <stop
- id="stop19437"
- style="stop-color:#494949"
- offset="0.9789" />
- <stop
- id="stop19439"
- style="stop-color:#414141"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient19894"
- gradientUnits="userSpaceOnUse"
- x1="18.995100"
- y1="37.226601"
- x2="30.169901"
- y2="37.226601">
- <stop
- offset="5.618000e-003"
- style="stop-color:#A3A349"
- id="stop19896" />
- <stop
- offset="2.078677e-002"
- style="stop-color:#ACAC54"
- id="stop19898" />
- <stop
- offset="6.600059e-002"
- style="stop-color:#C1C172"
- id="stop19900" />
- <stop
- offset="0.1148"
- style="stop-color:#D4D68E"
- id="stop19902" />
- <stop
- offset="0.1677"
- style="stop-color:#E2E4A6"
- id="stop19904" />
- <stop
- offset="0.2265"
- style="stop-color:#EDF0B8"
- id="stop19906" />
- <stop
- offset="0.2963"
- style="stop-color:#F3F6C3"
- id="stop19908" />
- <stop
- offset="0.4045"
- style="stop-color:#F5F8C7"
- id="stop19910" />
- <stop
- offset="0.5239"
- style="stop-color:#EEF0BE"
- id="stop19912" />
- <stop
- offset="0.6666"
- style="stop-color:#DBDDA9"
- id="stop19914" />
- <stop
- offset="0.8211"
- style="stop-color:#BEBD88"
- id="stop19916" />
- <stop
- offset="0.9832"
- style="stop-color:#989564"
- id="stop19918" />
- <stop
- offset="1"
- style="stop-color:#949160"
- id="stop19920" />
- </linearGradient>
- <linearGradient
- gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)"
- y2="43.165"
- x2="26.4785"
- y1="43.165"
- x1="23.124"
- gradientUnits="userSpaceOnUse"
- id="linearGradient20109"
- xlink:href="#aigrd1"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- r="7.8289826"
- fy="74.209934"
- fx="14.772334"
- cy="74.209934"
- cx="14.772334"
- gradientTransform="scale(1.764278,0.566804)"
- id="radialGradient20216"
- xlink:href="#linearGradient20210"
- inkscape:collect="always" />
- <linearGradient
- y2="36.726292"
- x2="32.096882"
- y1="10.061084"
- x1="16.998856"
- gradientTransform="matrix(1.140494,0.000000,0.000000,0.926002,0.272330,-3.247170)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient7708"
- xlink:href="#linearGradient6339"
- inkscape:collect="always" />
- <radialGradient
- r="33.934090"
- fy="29.869318"
- fx="68.137589"
- cy="29.869318"
- cx="68.137589"
- gradientTransform="matrix(0.551290,1.265592e-16,-1.355720e-16,0.766034,-10.48701,3.514312)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient7720"
- xlink:href="#aigrd7"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="3.8557322"
- x2="-5.2517161"
- y1="16.651863"
- x1="37.940434"
- gradientTransform="matrix(0.894129,0.000000,0.000000,0.985230,1.515981,2.449800e-2)"
- id="linearGradient3181"
- xlink:href="#linearGradient3175"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20393"
- id="linearGradient1700"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
- x1="30.620375"
- y1="10.313651"
- x2="32.166080"
- y2="18.162935" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20393"
- id="linearGradient1702"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
- x1="30.620375"
- y1="10.313651"
- x2="32.166080"
- y2="18.162935" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20428"
- id="linearGradient1704"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
- x1="14.637301"
- y1="31.504122"
- x2="9.3648205"
- y2="32.250980" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient1725"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.026450,0.974232)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1727"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.026450,0.974232)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient1729"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.026450,0.974232)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1731"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.026450,0.974232)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3311"
- id="linearGradient2516"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.603440,0.000000,0.000000,0.549396,0.614167,2.449800e-2)"
- x1="17.879995"
- y1="55.362793"
- x2="11.906206"
- y2="54.863026" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3265"
- id="linearGradient2518"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.905728,-4.386156e-2,0.189510,-0.963437,0.614167,2.449800e-2)"
- x1="-29.007195"
- y1="-29.799353"
- x2="-37.641232"
- y2="-29.598314" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient2522"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.300410)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient2524"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.300410)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient2529"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient2531"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3300"
- id="linearGradient3306"
- gradientTransform="scale(1.002656,0.997352)"
- x1="24.613028"
- y1="31.146202"
- x2="24.613028"
- y2="26.739624"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3311"
- id="linearGradient3127"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
- x1="17.879995"
- y1="55.362793"
- x2="11.906206"
- y2="54.863026" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3265"
- id="linearGradient3129"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
- x1="-29.007195"
- y1="-29.799353"
- x2="-37.641232"
- y2="-29.598314" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#aigrd7"
- id="radialGradient3131"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
- cx="68.137589"
- cy="29.869318"
- fx="68.137589"
- fy="29.869318"
- r="33.934090" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6339"
- id="linearGradient3133"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
- x1="16.998856"
- y1="10.061084"
- x2="32.096882"
- y2="36.726292" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3175"
- id="linearGradient3135"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
- x1="37.940434"
- y1="16.651863"
- x2="-5.2517161"
- y2="3.8557322" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3311"
- id="linearGradient3157"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
- x1="17.879995"
- y1="55.362793"
- x2="11.906206"
- y2="54.863026" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3265"
- id="linearGradient3159"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
- x1="-29.007195"
- y1="-29.799353"
- x2="-37.641232"
- y2="-29.598314" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#aigrd7"
- id="radialGradient3161"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
- cx="68.137589"
- cy="29.869318"
- fx="68.137589"
- fy="29.869318"
- r="33.934090" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3175"
- id="linearGradient3163"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
- x1="37.940434"
- y1="16.651863"
- x2="-5.2517161"
- y2="3.8557322" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20393"
- id="linearGradient3165"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
- x1="30.620375"
- y1="10.313651"
- x2="32.166080"
- y2="18.162935" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20393"
- id="linearGradient3167"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
- x1="30.620375"
- y1="10.313651"
- x2="32.166080"
- y2="18.162935" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20428"
- id="linearGradient3169"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
- x1="14.637301"
- y1="31.504122"
- x2="9.3648205"
- y2="32.250980" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6339"
- id="linearGradient3171"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
- x1="16.998856"
- y1="10.061084"
- x2="32.096882"
- y2="36.726292" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3300"
- id="linearGradient3185"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.002656,0.997352)"
- x1="24.613028"
- y1="31.146202"
- x2="24.613028"
- y2="26.739624" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient3187"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3189"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient3191"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3193"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient3195"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3197"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient3199"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient3201"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd1"
- id="linearGradient4100"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.639127,0,0,1.639127,-15.97035,-29.79355)"
- x1="23.124"
- y1="43.165"
- x2="26.4785"
- y2="43.165" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3300"
- id="linearGradient4102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.002656,0.997352)"
- x1="24.613028"
- y1="31.146202"
- x2="24.613028"
- y2="26.739624" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient4104"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient4106"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.566621,2.988977e-2,-0.118557,0.656541,36.18544,20.08311)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient4108"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient4110"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient4112"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient4114"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.02645,0.974232)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient19894"
- id="linearGradient4116"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
- x1="-22.874170"
- y1="38.675991"
- x2="-4.3908315"
- y2="38.675991" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient4118"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.618682,-0.132027,6.262726e-2,0.741184,31.12021,8.30041)"
- x1="-10.480865"
- y1="39.033951"
- x2="-23.851389"
- y2="39.142845" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3311"
- id="linearGradient4120"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.60344,0,0,0.549396,0.614167,2.4498e-2)"
- x1="17.879995"
- y1="55.362793"
- x2="11.906206"
- y2="54.863026" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3265"
- id="linearGradient4122"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.905728,-4.386156e-2,0.18951,-0.963437,0.614167,2.4498e-2)"
- x1="-29.007195"
- y1="-29.799353"
- x2="-37.641232"
- y2="-29.598314" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#aigrd7"
- id="radialGradient4124"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.55129,1.265592e-16,-1.35572e-16,0.766034,-10.48701,3.514312)"
- cx="68.137589"
- cy="29.869318"
- fx="68.137589"
- fy="29.869318"
- r="33.934090" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3175"
- id="linearGradient4126"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.894129,0,0,0.98523,1.515981,2.4498e-2)"
- x1="37.940434"
- y1="16.651863"
- x2="-5.2517161"
- y2="3.8557322" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20393"
- id="linearGradient4128"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.6293,0,0,1.589068,50.68808,3.804378)"
- x1="30.620375"
- y1="10.313651"
- x2="32.166080"
- y2="18.162935" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20393"
- id="linearGradient4130"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.6293,0,0,1.589068,1.411612,3.929378)"
- x1="30.620375"
- y1="10.313651"
- x2="32.166080"
- y2="18.162935" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient20428"
- id="linearGradient4132"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.985083,0,0,0.503757,1.786612,4.554378)"
- x1="14.637301"
- y1="31.504122"
- x2="9.3648205"
- y2="32.250980" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6339"
- id="linearGradient4134"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.140494,0,0,0.926002,0.27233,-3.24717)"
- x1="16.998856"
- y1="10.061084"
- x2="32.096882"
- y2="36.726292" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="91"
- inkscape:window-x="146"
- inkscape:window-height="922"
- inkscape:window-width="1060"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="true"
- inkscape:current-layer="layer1"
- inkscape:cy="19.729332"
- inkscape:cx="29.03294"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.55294118"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false"
- gridempspacing="4" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Info</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>dialog</rdf:li>
- <rdf:li>info</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <path
- transform="matrix(1.197183,0,0,1.098591,-6.201582,-3.209507)"
- d="M 39.875 42.0625 A 13.8125 4.4375 0 1 1 12.25,42.0625 A 13.8125 4.4375 0 1 1 39.875 42.0625 z"
- sodipodi:ry="4.4375"
- sodipodi:rx="13.8125"
- sodipodi:cy="42.0625"
- sodipodi:cx="26.0625"
- id="path20208"
- style="color:#000000;fill:url(#radialGradient20216);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.8"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- id="g4076"
- transform="translate(0,1)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.075823,0,0,0.937493,-2.551335,3.047213)"
- id="path19509"
- d="M 21.893504,38.885945 L 21.893504,40.36116 C 21.893504,41.836375 23.204807,43.147679 24.680022,43.147679 C 26.155237,43.147679 27.466539,41.836375 27.466539,40.36116 L 27.466539,38.885945 L 21.893504,38.885945 z "
- style="fill:url(#linearGradient4100);fill-rule:nonzero;stroke:#565656;stroke-miterlimit:4;stroke-opacity:1" />
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.989073,0,0,0.993556,-0.408739,7.920479e-3)"
- id="g3173">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:nodetypes="cccccccscccccccs"
- id="path3209"
- d="M 24.511725,27.668867 C 21.208844,27.660897 17.463275,28.632054 19.492913,30.467931 C 18.98969,30.670934 18.270371,31.124313 18.355167,32.185222 C 18.401983,32.739286 18.989243,33.079394 19.79236,33.32911 C 18.881908,33.967722 18.302581,34.642557 18.355167,35.264921 C 18.401438,35.812525 18.976334,36.187531 19.76303,36.43814 C 18.875519,37.069403 18.303301,37.760121 18.355167,38.373951 C 18.434436,39.312088 20.457743,40.362928 24.838928,40.2419 C 27.993329,40.155914 30.776913,39.590514 30.996599,38.373951 C 31.082862,37.896248 30.691907,37.450531 30.087355,37.05408 C 30.539926,36.597918 30.85698,36.135242 30.820616,35.704878 C 30.774128,35.154694 30.205993,34.781923 29.412754,34.53166 C 30.300265,33.900397 30.872482,33.209679 30.820616,32.595849 C 30.774128,32.045664 30.205993,31.702225 29.412754,31.45196 C 30.310848,30.817288 30.872816,30.133928 30.820616,29.516149 C 30.762593,28.829446 27.61599,27.676358 24.511725,27.668867 z "
- style="color:#000000;fill:#aeae57;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4102);stroke-width:2.01752925;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:nodetypes="csccc"
- id="path3183"
- d="M 30.920208,38.329767 C 30.700522,39.546331 27.591422,40.232861 22.615132,39.983673 C 19.463507,39.825856 19.283163,38.944055 19.502848,37.727491 C 19.722534,36.510926 22.458318,35.65848 25.609509,35.824708 C 28.7607,35.990936 31.139893,37.113203 30.920208,38.329767 z "
- style="color:#000000;fill:url(#linearGradient4104);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4106);stroke-width:0.08906282;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient4108);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4110);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path1603"
- sodipodi:cx="-13.87697"
- sodipodi:cy="27.228739"
- sodipodi:rx="10.341436"
- sodipodi:ry="3.2703688"
- d="M -3.5355339 27.228739 A 10.341436 3.2703688 0 1 1 -24.218407,27.228739 A 10.341436 3.2703688 0 1 1 -3.5355339 27.228739 z"
- transform="matrix(0.60274,-0.128625,6.428372e-2,0.760788,31.12021,14.49141)" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.60274,-0.128625,6.428372e-2,0.760788,31.12021,11.39591)"
- d="M -3.5355339 27.228739 A 10.341436 3.2703688 0 1 1 -24.218407,27.228739 A 10.341436 3.2703688 0 1 1 -3.5355339 27.228739 z"
- sodipodi:ry="3.2703688"
- sodipodi:rx="10.341436"
- sodipodi:cy="27.228739"
- sodipodi:cx="-13.87697"
- id="path2364"
- style="color:#000000;fill:url(#linearGradient4112);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4114);stroke-width:0.13035245;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:nodetypes="cccss"
- id="path2366"
- d="M 30.698087,29.636386 C 30.698087,31.014688 28.157326,32.55444 24.716601,33.288693 C 21.275876,34.022945 18.38922,33.50421 18.273172,32.130802 C 18.157124,30.757395 20.509679,29.155466 23.952388,28.968827 C 27.422379,28.780711 30.698087,28.924901 30.698087,29.636386 z "
- style="color:#000000;fill:url(#linearGradient4116);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4118);stroke-width:0.08906286;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.335464,0,0,0.335464,11.74678,27.2261)"
- d="M 31 22.375 A 3.25 3.25 0 1 1 24.5,22.375 A 3.25 3.25 0 1 1 31 22.375 z"
- sodipodi:ry="3.25"
- sodipodi:rx="3.25"
- sodipodi:cy="22.375"
- sodipodi:cx="27.75"
- id="path20372"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:nodetypes="cscc"
- id="path3241"
- d="M 19.342183,33.378865 C 22.736592,33.883533 26.320992,33.346192 29.214315,31.470807 C 30.025582,30.944962 30.147604,30.343945 30.520921,29.873844 C 29.09679,31.000705 25.494982,34.035625 19.342183,33.378865 z "
- style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:type="arc"
- style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path2435"
- sodipodi:cx="27.75"
- sodipodi:cy="22.375"
- sodipodi:rx="3.25"
- sodipodi:ry="3.25"
- d="M 31 22.375 A 3.25 3.25 0 1 1 24.5,22.375 A 3.25 3.25 0 1 1 31 22.375 z"
- transform="matrix(0.335464,0,0,0.335464,11.74678,30.23376)" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:nodetypes="cscc"
- id="path3237"
- d="M 19.466621,39.517838 C 22.86103,40.022506 26.44543,39.485165 29.338753,37.60978 C 30.15002,37.083935 30.272043,36.482919 30.645359,36.012817 C 29.221228,37.139678 25.61942,40.174598 19.466621,39.517838 z "
- style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="fill:#000000;fill-opacity:0.23391807;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 19.487361,36.406872 C 22.88177,36.91154 26.46617,36.374199 29.359492,34.498814 C 30.17076,33.972969 30.292782,33.371953 30.666099,32.901851 C 29.241968,34.028712 25.64016,37.063632 19.487361,36.406872 z "
- id="path3239"
- sodipodi:nodetypes="cscc" />
- </g>
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="translate(-0.988797,0)"
- id="g3146">
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="g3141">
- <path
- transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
- sodipodi:nodetypes="csscs"
- id="path3243"
- d="M 18.87103,29.628128 C 18.87103,28.836695 20.445135,27.889988 24.419234,27.942972 C 28.101154,27.992059 30.526608,28.83866 30.526608,30.105404 C 30.526608,31.345281 27.307242,32.174416 23.874677,32.008188 C 20.442113,31.84196 18.87103,30.868005 18.87103,29.628128 z "
- style="color:#000000;fill:url(#linearGradient4120);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4122);stroke-width:0.09083303;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
- sodipodi:nodetypes="csssssc"
- id="path6305"
- d="M 24.680021,0.8622936 C 16.858005,0.8622936 10.506261,6.8372628 10.506261,14.195288 C 10.506261,21.737851 16.247826,22.573217 16.247826,25.352995 C 16.247826,28.619061 19.614103,32.322687 25.149309,32.188995 C 31.035159,32.046835 33.464182,28.825655 33.464182,25.352995 C 33.464182,22.384064 38.853781,22.304889 38.853781,14.195288 C 38.853781,6.8372628 32.502038,0.8622936 24.680021,0.8622936 z "
- style="color:#000000;fill:url(#radialGradient4124);fill-opacity:1;fill-rule:nonzero;stroke:#616471;stroke-width:1.01595449;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4126);stroke-width:0.94685698;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 24.680021,1.9277146 C 17.389999,1.9277146 11.470252,7.4963123 11.470252,14.353901 C 11.470252,21.383476 16.82132,22.162027 16.82132,24.752746 C 16.82132,27.79668 19.958648,31.248413 25.117392,31.123813 C 30.602931,30.991321 32.866751,27.989222 32.866751,24.752746 C 32.866751,21.98574 37.889791,21.911948 37.889791,14.353901 C 37.889791,7.4963123 31.970044,1.9277146 24.680021,1.9277146 z "
- id="path2429"
- sodipodi:nodetypes="csssssc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <g
- id="g1695"
- transform="matrix(0.9375,0,0,0.926938,0.569221,0.25176)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- style="fill:url(#linearGradient4128);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- d="M 31.947292,19.22274 C 32.260034,19.326988 32.468529,19.63973 32.364281,19.952471 L 28.507134,31.523913 C 28.402887,31.836655 28.090145,32.045149 27.777403,31.940902 C 27.464662,31.836655 27.256168,31.523913 27.360415,31.211172 L 31.217562,19.63973 C 31.321809,19.326988 31.634551,19.118493 31.947292,19.22274 z "
- id="path1691"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path19612"
- d="M 20.152404,19.34774 C 19.839662,19.451988 19.631167,19.76473 19.735415,20.077471 L 23.592562,31.648913 C 23.696809,31.961655 24.009551,32.170149 24.322293,32.065902 C 24.635034,31.961655 24.843528,31.648913 24.739281,31.336172 L 20.882134,19.76473 C 20.777887,19.451988 20.465145,19.243493 20.152404,19.34774 z "
- style="fill:url(#linearGradient4130);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient4132);stroke-width:0.21454535;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
- d="M 20.255362,19.273128 C 20.009452,19.315194 19.816806,19.507772 19.774653,19.753667 C 19.732499,19.999562 19.850004,20.245309 20.067862,20.366878 C 20.067862,20.366878 21.910084,21.447747 24.317862,21.991878 C 26.72564,22.536009 29.806763,22.571305 32.130362,20.304378 C 32.305608,20.165345 32.386854,19.938963 32.340007,19.720224 C 32.29316,19.501485 32.126325,19.328233 31.909509,19.273168 C 31.692693,19.218103 31.463406,19.290751 31.317862,19.460628 C 29.367326,21.36359 26.773024,21.36522 24.567862,20.866878 C 22.3627,20.368536 20.661612,19.366878 20.661612,19.366878 C 20.542178,19.287089 20.397682,19.253744 20.255362,19.273128 z "
- id="path19614"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="opacity:0.5977654;color:#000000;fill:url(#linearGradient4134);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.98750001;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 25.001158,3.5644322 C 18.737608,3.5644322 13.655359,7.5900329 13.655359,12.547843 C 13.655359,14.527956 14.632918,16.261758 16.006008,17.747035 C 17.558672,18.378895 19.249827,18.832941 21.114752,18.832941 C 27.378302,18.832941 32.460549,14.807341 32.460551,9.849528 C 32.460551,7.857476 31.466744,6.1074629 30.07856,4.6174331 C 28.533139,3.9930601 26.854241,3.5644321 25.001158,3.5644322 z "
- id="path6334"
- transform="matrix(0.954439,0,0,0.989869,1.433222,0.639881)" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-dialog-warning.svg b/share/pixmaps/tryton/tryton-dialog-warning.svg
deleted file mode 100644
index 51f7ff3..0000000
--- a/share/pixmaps/tryton/tryton-dialog-warning.svg
+++ /dev/null
@@ -1,359 +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://web.resource.org/cc/"
- 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"
- width="48px"
- height="48px"
- id="svg1377"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status"
- sodipodi:docname="dialog-warning.svg">
- <defs
- id="defs1379">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- y2="56.0523"
- x2="47.3197"
- y1="11.1133"
- x1="4.1914"
- gradientUnits="userSpaceOnUse"
- id="aigrd1">
- <stop
- id="stop6490"
- style="stop-color:#D4D4D4"
- offset="0" />
- <stop
- id="stop6492"
- style="stop-color:#E2E2E2"
- offset="0.3982" />
- <stop
- id="stop6494"
- style="stop-color:#FFFFFF"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="56.0523"
- x2="47.3197"
- y1="11.1133"
- x1="4.1914"
- gradientUnits="userSpaceOnUse"
- id="linearGradient7451"
- xlink:href="#aigrd1"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient4126"
- inkscape:collect="always">
- <stop
- id="stop4128"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4130"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- r="17.142857"
- fy="40.000000"
- fx="23.857143"
- cy="40.000000"
- cx="23.857143"
- gradientTransform="matrix(1,0,0,0.5,2.139286e-14,20)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient7449"
- xlink:href="#linearGradient4126"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6525"
- id="linearGradient5250"
- x1="8.5469341"
- y1="30.281681"
- x2="30.85088"
- y2="48.301884"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd1"
- id="linearGradient3922"
- gradientUnits="userSpaceOnUse"
- x1="4.1914"
- y1="11.1133"
- x2="47.3197"
- y2="56.0523" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6525"
- id="linearGradient3924"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
- x1="8.5469341"
- y1="30.281681"
- x2="30.85088"
- y2="48.301884" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6525"
- id="linearGradient3933"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
- x1="8.5469341"
- y1="30.281681"
- x2="30.85088"
- y2="48.301884" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd1"
- id="linearGradient3935"
- gradientUnits="userSpaceOnUse"
- x1="4.1914"
- y1="11.1133"
- x2="47.3197"
- y2="56.0523" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd1"
- id="linearGradient3946"
- gradientUnits="userSpaceOnUse"
- x1="4.1914"
- y1="11.1133"
- x2="47.3197"
- y2="56.0523" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6525"
- id="linearGradient3948"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899009,0,0,0.934235,1.875108,1.193645)"
- x1="8.5469341"
- y1="30.281681"
- x2="30.85088"
- y2="48.301884" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="14.757891"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="g7435"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1105"
- inkscape:window-height="1084"
- inkscape:window-x="157"
- inkscape:window-y="16"
- gridempspacing="4" />
- <metadata
- id="metadata1382">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Dialog Warning</dc:title>
- <dc:date>2005-10-14</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner, Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>dialog</rdf:li>
- <rdf:li>warning</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- transform="matrix(1.566667,0.000000,0.000000,1.566667,-8.925566,-23.94764)"
- id="g7435">
- <g
- style="display:inline"
- transform="matrix(1.444074e-2,0,0,1.331973e-2,33.38871,40.40337)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- id="g3937"
- transform="matrix(1,0,4.537846e-3,1,-0.138907,-1.394718e-15)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1,0,-8.726683e-3,1,0.328074,1.276596)"
- id="path6485"
- d="M 33.282781,38.644744 L 22.407791,18.394765 C 22.095292,17.832266 21.532792,17.519767 20.907793,17.519767 C 20.282793,17.519767 19.720294,17.894765 19.407795,18.457265 L 8.7828048,38.707245 C 8.5328048,39.207244 8.5328048,39.894744 8.8453048,40.394743 C 9.1578038,40.894743 9.6578038,41.144742 10.282804,41.144742 L 31.782782,41.144742 C 32.407781,41.144742 32.97028,40.832243 33.220281,40.332243 C 33.53278,39.832243 33.53278,39.207244 33.282781,38.644744 z "
- style="fill:#cc0000;fill-rule:nonzero;stroke:#9f0000;stroke-width:0.6382978;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="g6487"
- transform="matrix(0.625,0,-5.534934e-3,0.634254,6.164053,15.76055)"
- style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4">
- <linearGradient
- y2="56.052299"
- x2="47.319698"
- y1="11.1133"
- x1="4.1914001"
- gradientUnits="userSpaceOnUse"
- id="linearGradient6525">
- <stop
- id="stop6529"
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0" />
- <stop
- id="stop6531"
- style="stop-color:#ffffff;stop-opacity:0.34020618;"
- offset="1" />
- </linearGradient>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path6496"
- d="M 9.5,37.6 C 9.2,38.1 9.5,38.5 10,38.5 L 38.2,38.5 C 38.7,38.5 39,38.1 38.7,37.6 L 24.4,11 C 24.1,10.5 23.7,10.5 23.5,11 L 9.5,37.6 z "
- style="fill:url(#linearGradient3946);stroke:none" />
- </g>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1,0,-8.726683e-3,1,0.318277,1.276596)"
- sodipodi:nodetypes="ccsccscccc"
- id="path1325"
- d="M 32.323106,38.183905 L 22.150271,19.265666 C 21.71698,18.45069 21.561698,18.189213 20.908406,18.189213 C 20.346525,18.189213 20.054127,18.57002 19.651305,19.339291 L 9.7489285,38.242296 C 9.1737649,39.303588 9.1128238,39.580228 9.3937644,40.047345 C 9.6747034,40.514462 10.032797,40.48902 11.356441,40.519491 L 30.974593,40.519491 C 32.206825,40.534726 32.483988,40.440837 32.70874,39.97372 C 32.989681,39.506602 32.867799,39.136 32.323106,38.183905 z "
- style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3948);stroke-width:0.63829792;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- </g>
- <g
- style="fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"
- transform="matrix(0.555088,0,0,0.555052,7.749711,17.80196)"
- id="g6498"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- style="stroke:none"
- d="M 23.9,36.5 C 22.6,36.5 21.6,35.5 21.6,34.2 C 21.6,32.8 22.5,31.9 23.9,31.9 C 25.3,31.9 26.1,32.8 26.2,34.2 C 26.2,35.5 25.3,36.5 23.9,36.5 L 23.9,36.5 z M 22.5,30.6 L 21.9,19.1 L 25.9,19.1 L 25.3,30.6 L 22.4,30.6 L 22.5,30.6 z "
- id="path6500"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-disconnect.svg b/share/pixmaps/tryton/tryton-disconnect.svg
deleted file mode 100644
index 6500b25..0000000
--- a/share/pixmaps/tryton/tryton-disconnect.svg
+++ /dev/null
@@ -1,1412 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48.000000px"
- height="48.000000px"
- id="svg2327"
- sodipodi:version="0.32"
- inkscape:version="0.42.2"
- sodipodi:docbase="/home/dobey/network-status icons/scalable/status"
- sodipodi:docname="network-offline.svg">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2985"
- inkscape:collect="always">
- <stop
- id="stop2987"
- offset="0"
- style="stop-color:#d8dfd6;stop-opacity:1;" />
- <stop
- id="stop2989"
- offset="1"
- style="stop-color:#d8dfd6;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2752">
- <stop
- id="stop2754"
- offset="0"
- style="stop-color:#9d9d9d;stop-opacity:1;" />
- <stop
- id="stop2756"
- offset="1.0000000"
- style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2711">
- <stop
- id="stop2713"
- offset="0.0000000"
- style="stop-color:#909090;stop-opacity:1.0000000;" />
- <stop
- id="stop2715"
- offset="1.0000000"
- style="stop-color:#bebebe;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2701">
- <stop
- id="stop2703"
- offset="0.0000000"
- style="stop-color:#585956;stop-opacity:1.0000000;" />
- <stop
- id="stop2705"
- offset="1.0000000"
- style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2691">
- <stop
- id="stop2693"
- offset="0.0000000"
- style="stop-color:#868686;stop-opacity:1.0000000;" />
- <stop
- id="stop2695"
- offset="1.0000000"
- style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2683"
- inkscape:collect="always">
- <stop
- id="stop2685"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2687"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2675">
- <stop
- id="stop2677"
- offset="0.0000000"
- style="stop-color:#5b5b97;stop-opacity:1.0000000;" />
- <stop
- id="stop2679"
- offset="1.0000000"
- style="stop-color:#1b1b43;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2667">
- <stop
- id="stop2669"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop2671"
- offset="1.0000000"
- style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2635"
- inkscape:collect="always">
- <stop
- id="stop2637"
- offset="0"
- style="stop-color:#f9fff5;stop-opacity:1;" />
- <stop
- id="stop2639"
- offset="1"
- style="stop-color:#f9fff5;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2623">
- <stop
- id="stop2625"
- offset="0.0000000"
- style="stop-color:#dfdfde;stop-opacity:1.0000000;" />
- <stop
- id="stop2627"
- offset="1.0000000"
- style="stop-color:#9d9f9a;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2454">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2456" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2458" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2415">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2417" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2419" />
- </linearGradient>
- <linearGradient
- id="linearGradient2379">
- <stop
- style="stop-color:#1a4876;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2381" />
- <stop
- style="stop-color:#3f54a3;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop2383" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2328">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2330" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2332" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2307">
- <stop
- style="stop-color:#5a7aa4;stop-opacity:1;"
- offset="0"
- id="stop2309" />
- <stop
- style="stop-color:#5a7aa4;stop-opacity:0;"
- offset="1"
- id="stop2311" />
- </linearGradient>
- <linearGradient
- id="linearGradient2253">
- <stop
- style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2255" />
- <stop
- style="stop-color:#494949;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2257" />
- </linearGradient>
- <linearGradient
- id="linearGradient2245">
- <stop
- style="stop-color:#dde1d9;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2247" />
- <stop
- style="stop-color:#cacdc6;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2249" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2251"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2307"
- id="linearGradient2313"
- gradientTransform="matrix(1.208393,0.000000,0.000000,0.984410,-0.789284,-0.503380)"
- x1="16.851954"
- y1="9.3235140"
- x2="24.418941"
- y2="53.734985"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2328"
- id="linearGradient2334"
- gradientTransform="matrix(1.289166,0.000000,0.000000,0.922731,-0.789284,-0.503380)"
- x1="16.119127"
- y1="10.842293"
- x2="27.289009"
- y2="39.031910"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient2421"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2379"
- id="linearGradient2445"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.027870,0.000000,0.000000,0.822296,1.523986,1.001198)"
- x1="21.356108"
- y1="30.078255"
- x2="19.994572"
- y2="-1.3221773" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2460"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2464"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- y2="92.570930"
- x2="10.728384"
- y1="84.029198"
- x1="10.728384"
- gradientTransform="scale(1.983556,0.504145)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2653"
- xlink:href="#linearGradient2623"
- inkscape:collect="always" />
- <linearGradient
- y2="74.098007"
- x2="8.6485014"
- y1="101.28460"
- x1="13.628710"
- gradientTransform="scale(2.143634,0.466498)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2655"
- xlink:href="#linearGradient2635"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2659"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="26.729263"
- x2="17.199417"
- y1="1.6537577"
- x1="11.492236"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
- id="linearGradient2673"
- xlink:href="#linearGradient2667"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="8.8666229"
- x2="16.315819"
- y1="32.622238"
- x1="19.150396"
- gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
- id="linearGradient2681"
- xlink:href="#linearGradient2675"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="162.45061"
- x2="3.7069974"
- y1="171.29134"
- x1="3.7069976"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
- id="linearGradient2689"
- xlink:href="#linearGradient2683"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="64.892525"
- x2="12.127711"
- y1="53.535141"
- x1="12.206709"
- gradientTransform="scale(1.816345,0.550556)"
- id="linearGradient2707"
- xlink:href="#linearGradient2701"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- id="linearGradient2717"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2721"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2725"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2729"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2733"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="74.098007"
- x2="8.6485014"
- y1="101.28460"
- x1="13.628710"
- gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2741"
- xlink:href="#linearGradient2635"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="100.20015"
- x2="8.1134233"
- y1="88.509071"
- x1="8.1134243"
- gradientTransform="scale(2.309851,0.432928)"
- id="linearGradient2758"
- xlink:href="#linearGradient2752"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="31.246054"
- x2="32.536823"
- y1="5.3817744"
- x1="10.390738"
- gradientTransform="scale(1.104397,0.905471)"
- id="linearGradient2979"
- xlink:href="#linearGradient2253"
- inkscape:collect="always" />
- <linearGradient
- y2="52.536461"
- x2="18.176752"
- y1="48.643234"
- x1="18.316999"
- gradientTransform="scale(1.129863,0.885063)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2981"
- xlink:href="#linearGradient2245"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="44.878883"
- x2="-23.885700"
- y1="49.953003"
- x1="-23.885700"
- gradientTransform="scale(1.492875,0.669848)"
- id="linearGradient2991"
- xlink:href="#linearGradient2985"
- inkscape:collect="always" />
- <linearGradient
- y2="100.20015"
- x2="8.1134233"
- y1="88.509071"
- x1="8.1134243"
- gradientTransform="scale(2.309851,0.432928)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1409"
- xlink:href="#linearGradient2752"
- inkscape:collect="always" />
- <linearGradient
- y2="100.20015"
- x2="8.1134233"
- y1="88.509071"
- x1="8.1134243"
- gradientTransform="scale(2.309851,0.432928)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1411"
- xlink:href="#linearGradient2752"
- inkscape:collect="always" />
- <linearGradient
- y2="31.246054"
- x2="32.536823"
- y1="5.3817744"
- x1="10.390738"
- gradientTransform="scale(1.104397,0.905471)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1413"
- xlink:href="#linearGradient2253"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2816"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2985"
- id="linearGradient2818"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.492875,0.669848)"
- x1="-23.885700"
- y1="49.953003"
- x2="-23.885700"
- y2="44.878883" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2820"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2701"
- id="linearGradient2822"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.816345,0.550556)"
- x1="12.206709"
- y1="53.535141"
- x2="12.127711"
- y2="64.892525" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2824"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient2826"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2675"
- id="linearGradient2828"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
- x1="19.150396"
- y1="32.622238"
- x2="16.315819"
- y2="8.8666229" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2683"
- id="linearGradient2830"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
- x1="3.7069976"
- y1="171.29134"
- x2="3.7069974"
- y2="162.45061" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient2832"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2667"
- id="linearGradient2834"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
- x1="11.492236"
- y1="1.6537577"
- x2="17.199417"
- y2="26.729263" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2836"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2838"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.129863,0.885063)"
- x1="18.316999"
- y1="48.643234"
- x2="18.176752"
- y2="52.536461" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient2840"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient2842"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient2844"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient2846"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2635"
- id="linearGradient2848"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
- x1="13.628710"
- y1="101.28460"
- x2="8.6485014"
- y2="74.098007" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2850"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2852"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2854"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2856"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2858"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2916"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2985"
- id="linearGradient2918"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.492875,0.669848)"
- x1="-23.885700"
- y1="49.953003"
- x2="-23.885700"
- y2="44.878883" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2920"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2701"
- id="linearGradient2922"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.816345,0.550556)"
- x1="12.206709"
- y1="53.535141"
- x2="12.127711"
- y2="64.892525" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2924"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient2926"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2675"
- id="linearGradient2928"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
- x1="19.150396"
- y1="32.622238"
- x2="16.315819"
- y2="8.8666229" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2683"
- id="linearGradient2930"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
- x1="3.7069976"
- y1="171.29134"
- x2="3.7069974"
- y2="162.45061" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient2932"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2667"
- id="linearGradient2934"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
- x1="11.492236"
- y1="1.6537577"
- x2="17.199417"
- y2="26.729263" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2936"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2938"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.129863,0.885063)"
- x1="18.316999"
- y1="48.643234"
- x2="18.176752"
- y2="52.536461" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2253"
- id="linearGradient2940"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.104397,0.905471)"
- x1="10.390738"
- y1="5.3817744"
- x2="32.536823"
- y2="31.246054" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient2942"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient2944"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2752"
- id="linearGradient2946"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(2.309851,0.432928)"
- x1="8.1134243"
- y1="88.509071"
- x2="8.1134233"
- y2="100.20015" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2635"
- id="linearGradient2948"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
- x1="13.628710"
- y1="101.28460"
- x2="8.6485014"
- y2="74.098007" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2950"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2952"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2954"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2956"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2711"
- id="linearGradient2958"
- gradientUnits="userSpaceOnUse"
- x1="34.300991"
- y1="3.9384086"
- x2="35.520542"
- y2="3.8451097" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.12156863"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313708"
- inkscape:cx="39.617218"
- inkscape:cy="19.247154"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="822"
- inkscape:window-height="885"
- inkscape:window-x="388"
- inkscape:window-y="97"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Computer</dc:title>
- <dc:date>2005-03-08</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>workstation</rdf:li>
- <rdf:li>computer</rdf:li>
- <rdf:li>node</rdf:li>
- <rdf:li>client</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz/</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g2787"
- transform="matrix(0.779340,0.000000,0.000000,0.779340,10.13834,0.178534)">
- <path
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path2452"
- style="color:#000000;fill:url(#radialGradient2816);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- transform="translate(57.53339,3.203427)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path2407"
- style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path1825"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)" />
- <path
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path2983"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2818);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- id="path2411"
- d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
- style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- sodipodi:nodetypes="ccccccccccccccccc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient2820);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path2462"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)" />
- <rect
- style="color:#000000;fill:url(#linearGradient2822);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect2699"
- width="9.0396729"
- height="2.7400389"
- x="17.472397"
- y="30.703611" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="rect2404"
- d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
- style="color:#000000;fill:url(#linearGradient2824);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2826);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:url(#linearGradient2828);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000079;stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
- id="path2377"
- sodipodi:nodetypes="ccccc" />
- <path
- id="path2393"
- d="M 6.1774331,28.735789 L 37.605910,28.735789"
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2830);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762" />
- <path
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2832);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
- id="path2397"
- sodipodi:nodetypes="cssssssss" />
- <path
- id="path2443"
- d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
- style="opacity:0.53142858;fill:url(#linearGradient2834);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- sodipodi:nodetypes="ccccc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient2836);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path2657"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2838);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2840);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
- id="path2409"
- sodipodi:nodetypes="cssssssss" />
- <path
- style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
- id="path2611"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
- id="path2613" />
- <path
- id="path2619"
- d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
- style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2842);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
- id="path2615" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path2617"
- d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
- style="fill:url(#linearGradient2844);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- id="path2621"
- d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2846);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path2631"
- d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2848);stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2850);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2709"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2719"
- style="color:#000000;fill:url(#linearGradient2852);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2854);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2723"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2727"
- style="color:#000000;fill:url(#linearGradient2856);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2858);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2731"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)" />
- <path
- style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
- d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
- id="text2735" />
- </g>
- <g
- id="g2860"
- transform="matrix(0.779340,0.000000,0.000000,0.779340,-0.446279,10.26381)">
- <path
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path2862"
- style="color:#000000;fill:url(#radialGradient2916);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- transform="translate(57.53339,3.203427)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path2864"
- style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2866"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)" />
- <path
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path2868"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2918);stroke-width:0.87337190;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- id="path2870"
- d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
- style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.51325500;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- sodipodi:nodetypes="ccccccccccccccccc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient2920);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path2872"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)" />
- <rect
- style="color:#000000;fill:url(#linearGradient2922);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect2874"
- width="9.0396729"
- height="2.7400389"
- x="17.472397"
- y="30.703611" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path2876"
- d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
- style="color:#000000;fill:url(#linearGradient2924);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2926);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:url(#linearGradient2928);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000079;stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
- id="path2878"
- sodipodi:nodetypes="ccccc" />
- <path
- id="path2880"
- d="M 6.1774331,28.735789 L 37.605910,28.735789"
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2930);stroke-width:1.2782375;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762" />
- <path
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2932);stroke-width:1.2831371;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
- id="path2882"
- sodipodi:nodetypes="cssssssss" />
- <path
- id="path2884"
- d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
- style="opacity:0.53142858;fill:url(#linearGradient2934);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- sodipodi:nodetypes="ccccc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient2936);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path2886"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2938);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2940);stroke-width:1.2831376;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
- id="path2888"
- sodipodi:nodetypes="cssssssss" />
- <path
- style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
- id="path2890"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
- id="path2892" />
- <path
- id="path2894"
- d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
- style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2942);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
- id="path2896" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path2898"
- d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
- style="fill:url(#linearGradient2944);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- id="path2900"
- d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2946);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path2902"
- d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2948);stroke-width:0.64156878;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2950);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2904"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2906"
- style="color:#000000;fill:url(#linearGradient2952);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2954);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2908"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2910"
- style="color:#000000;fill:url(#linearGradient2956);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2958);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2912"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)" />
- <path
- style="font-size:0.90290260px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
- d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
- id="path2914" />
- </g>
- <g
- id="g3147"
- transform="translate(-2.000000,-1.000000)">
- <rect
- ry="2.2097087"
- rx="2.2097087"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="27.500000"
- x="28.500000"
- height="19.000000"
- width="20.000000"
- id="rect1686"
- style="opacity:1.0000000;color:#000000;fill:#cc0000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#a40000;stroke-width:1.0000000;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.779029,0.000000,0.000000,0.779029,28.87262,8.175921)"
- id="g2254">
- <path
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5672982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 8.0000000,32.000000 L 18.000000,42.000000"
- id="path1377"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path2252"
- d="M 18.000000,32.000000 L 8.0000000,42.000000"
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:2.5672982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- style="opacity:0.40000001;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000001;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect2258"
- width="18.095240"
- height="17.190477"
- x="29.452381"
- y="28.404764"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- rx="1.5847089"
- ry="1.5847089" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-executable.svg b/share/pixmaps/tryton/tryton-executable.svg
deleted file mode 100644
index 24a571c..0000000
--- a/share/pixmaps/tryton/tryton-executable.svg
+++ /dev/null
@@ -1,177 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48.000000px"
- height="48.000000px"
- id="svg53383"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/mimetypes"
- sodipodi:docname="application-x-executable.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2300">
- <stop
- id="stop2302"
- offset="0.0000000"
- style="stop-color:#000000;stop-opacity:0.32673267;" />
- <stop
- id="stop2304"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="aigrd1"
- gradientUnits="userSpaceOnUse"
- x1="99.7773"
- y1="15.4238"
- x2="153.0005"
- y2="248.6311">
- <stop
- offset="0"
- style="stop-color:#184375"
- id="stop53300" />
- <stop
- offset="1"
- style="stop-color:#C8BDDC"
- id="stop53302" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd1"
- id="linearGradient53551"
- gradientUnits="userSpaceOnUse"
- x1="99.7773"
- y1="15.4238"
- x2="153.0005"
- y2="248.6311"
- gradientTransform="matrix(0.200685,0.000000,0.000000,0.200685,-0.585758,-1.050787)" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- r="11.689870"
- fy="72.568001"
- fx="14.287618"
- cy="68.872971"
- cx="14.287618"
- gradientTransform="matrix(1.399258,-2.234445e-7,8.196178e-8,0.513264,4.365074,4.839285)"
- id="radialGradient2308"
- xlink:href="#linearGradient2300"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- inkscape:showpageshadow="false"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="4.0000000"
- inkscape:cx="22.871258"
- inkscape:cy="31.586960"
- inkscape:current-layer="layer2"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="716"
- inkscape:window-height="697"
- inkscape:window-x="414"
- inkscape:window-y="275" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Executable</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz/</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>executable</rdf:li>
- <rdf:li>program</rdf:li>
- <rdf:li>binary</rdf:li>
- <rdf:li>bin</rdf:li>
- <rdf:li>script</rdf:li>
- <rdf:li>shell</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="shadow"
- id="layer2"
- inkscape:groupmode="layer">
- <path
- transform="matrix(1.186380,0.000000,0.000000,1.186380,-4.539687,-7.794678)"
- d="M 44.285715 38.714287 A 19.928572 9.8372450 0 1 1 4.4285717,38.714287 A 19.928572 9.8372450 0 1 1 44.285715 38.714287 z"
- sodipodi:ry="9.8372450"
- sodipodi:rx="19.928572"
- sodipodi:cy="38.714287"
- sodipodi:cx="24.357143"
- id="path1538"
- style="color:#000000;fill:url(#radialGradient2308);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000042;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- </g>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- style="fill:url(#linearGradient53551);fill-rule:nonzero;stroke:#3f4561;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 24.285801,43.196358 L 4.3751874,23.285744 L 24.285801,3.3751291 L 44.196415,23.285744 L 24.285801,43.196358 L 24.285801,43.196358 z "
- id="path53304" />
- <path
- sodipodi:nodetypes="ccccccc"
- style="opacity:0.72000003;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- d="M 43.505062,23.285744 L 24.285801,4.0664819 L 5.0665401,23.285744 L 5.8476076,23.910676 L 24.457240,5.4825431 L 43.505256,23.285744 L 43.505062,23.285744 z "
- id="path53359" />
- <path
- style="opacity:0.49999997;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- d="M 8.9257729,27.145172 L 9.6642227,26.120988 C 10.300972,26.389480 10.964841,26.606057 11.650406,26.765873 L 11.644594,28.342731 C 12.072322,28.431066 12.507604,28.498867 12.948699,28.547102 L 13.430473,27.045213 C 13.774514,27.073690 14.122237,27.089380 14.473834,27.089380 C 14.825043,27.089380 15.172958,27.073883 15.517000,27.045213 L 15.998775,28.547102 C 16.440063,28.498867 16.875151,28.431066 17.302879,28.342731 L 17.296874,26.765680 C 17.982632,26.606057 18.646307,26.389480 19.283056,26.120988 L 20.205536,27.400490 C 20.607887,27.218396 20.999777,27.017899 21.380431,26.799968 L 20.887614,25.301952 C 21.484844,24.939702 22.049337,24.528633 22.575085,24.073980 L 23.847226,25.005759 C 24.172864,24.709178 24.484555,24.397487 24.780942,24.071849 L 23.849357,22.799902 C 24.304204,22.274154 24.715273,21.709855 25.077523,21.112237 L 26.575538,21.605248 C 26.793470,21.224400 26.994161,20.832316 27.175867,20.430160 L 25.896559,19.507873 C 26.165051,18.871124 26.381627,18.207255 26.541638,17.521497 L 28.118301,17.527308 C 28.206636,17.099581 28.274438,16.664298 28.322479,16.223010 L 26.820784,15.741236 C 26.849648,15.397388 26.864951,15.049472 26.864951,14.698069 C 26.864951,14.346666 26.849260,13.998944 26.820784,13.654708 L 28.322479,13.172934 C 28.274632,12.731840 28.206442,12.296751 28.118495,11.868830 L 26.541444,11.874835 C 26.381627,11.189076 26.165051,10.525208 25.896753,9.8886539 L 27.176061,8.9663652 C 26.994354,8.5640139 26.793470,8.1721237 26.575926,7.7912754 L 25.077717,8.2842867 C 24.715466,7.6868623 24.304398,7.1225635 23.849744,6.5970095 L 24.781330,5.3248686 C 24.502958,5.0189892 24.210252,4.7268638 23.905922,4.4467488 L 5.0669275,23.285938 L 6.0738693,24.292880 L 6.3725811,24.074174 C 6.8983295,24.528827 7.4626276,24.939896 8.0600509,25.302146 L 7.8180983,26.037303 L 8.9261605,27.145365 L 8.9257729,27.145172 z "
- id="path53361" />
- <path
- style="opacity:0.49999997;fill:#ffffff;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- d="M 28.448976,32.191116 C 28.448976,25.706434 32.682859,20.211647 38.536216,18.317093 L 36.309244,16.089926 C 36.292390,16.096901 36.275344,16.102906 36.258684,16.110073 L 36.077171,15.858241 L 34.665167,14.446237 C 34.201989,14.665137 33.748497,14.900697 33.305853,15.153885 L 33.999942,17.263078 C 33.158628,17.772747 32.364194,18.351768 31.624195,18.991810 L 29.833085,17.680151 C 29.374364,18.097611 28.935788,18.536187 28.518521,18.994716 L 29.829986,20.785630 C 29.189945,21.525825 28.611118,22.320258 28.101255,23.161378 L 25.991868,22.467289 C 25.685214,23.003692 25.402775,23.555593 25.146874,24.122021 L 26.948056,25.420314 C 26.570114,26.316643 26.265204,27.251328 26.040298,28.216815 L 23.820299,28.208291 C 23.696127,28.810557 23.600430,29.423479 23.532823,30.044342 L 25.647246,30.722740 C 25.606953,31.207033 25.585255,31.696750 25.585255,32.191310 C 25.585255,32.686063 25.606953,33.175780 25.647246,33.660073 L 23.532823,34.337889 C 23.600430,34.959140 23.696127,35.571868 23.820493,36.174134 L 26.040298,36.165804 C 26.265204,37.131291 26.570114,38.065976 26.948056,38.962306 L 25.146874,40.260792 C 25.289256,40.575582 25.440743,40.885723 25.599010,41.191215 L 29.403033,37.387579 C 28.787013,35.773334 28.448783,34.021743 28.448783,32.191310 L 28.448976,32.191116 z "
- id="path53363" />
- <path
- sodipodi:nodetypes="ccccccc"
- style="opacity:0.34999999;fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- d="M 5.2050478,23.424252 L 24.285801,42.505005 L 43.505062,23.285744 L 42.789963,22.603525 L 24.310314,41.041677 L 5.2050478,23.424059 L 5.2050478,23.424252 z "
- id="path53365" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-find-replace.svg b/share/pixmaps/tryton/tryton-find-replace.svg
deleted file mode 100644
index 28c42b5..0000000
--- a/share/pixmaps/tryton/tryton-find-replace.svg
+++ /dev/null
@@ -1,972 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="30"
- inkscape:export-xdpi="30"
- inkscape:export-filename="/home/garrett/edit-find-replace-16.png"
- sodipodi:docname="edit-find-replace.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg249"
- height="48.000000px"
- width="48.000000px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4542">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4544" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4546" />
- </linearGradient>
- <linearGradient
- id="linearGradient15662">
- <stop
- id="stop15664"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop15666"
- offset="1.0000000"
- style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- id="aigrd3"
- cx="20.8921"
- cy="64.5679"
- r="5.257"
- fx="20.8921"
- fy="64.5679"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop15573" />
- <stop
- offset="1.0000000"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- id="stop15575" />
- </radialGradient>
- <radialGradient
- id="aigrd2"
- cx="20.8921"
- cy="114.5684"
- r="5.256"
- fx="20.8921"
- fy="114.5684"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop15566" />
- <stop
- offset="1.0000000"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- id="stop15568" />
- </radialGradient>
- <linearGradient
- id="linearGradient269">
- <stop
- id="stop270"
- offset="0.0000000"
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
- <stop
- id="stop271"
- offset="1.0000000"
- style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient259">
- <stop
- id="stop260"
- offset="0.0000000"
- style="stop-color:#fafafa;stop-opacity:1.0000000;" />
- <stop
- id="stop261"
- offset="1.0000000"
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient269"
- id="radialGradient15656"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.968273,0,0,1.032767,3.353553,0.646447)"
- cx="8.8244190"
- cy="3.7561285"
- fx="8.8244190"
- fy="3.7561285"
- r="37.751713" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient259"
- id="radialGradient15658"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(0.960493,1.041132)"
- cx="33.966679"
- cy="35.736916"
- fx="33.966679"
- fy="35.736916"
- r="86.708450" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15662"
- id="radialGradient15668"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.968273,0,0,1.032767,3.353553,0.646447)"
- cx="8.1435566"
- cy="7.2678967"
- fx="8.1435566"
- fy="7.2678967"
- r="38.158695" />
- <radialGradient
- r="5.256"
- fy="114.5684"
- fx="20.8921"
- cy="114.5684"
- cx="20.8921"
- gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2283"
- xlink:href="#aigrd2"
- inkscape:collect="always" />
- <radialGradient
- r="5.257"
- fy="64.5679"
- fx="20.8921"
- cy="64.5679"
- cx="20.8921"
- gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2285"
- xlink:href="#aigrd3"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4542"
- id="radialGradient4548"
- cx="24.306795"
- cy="42.07798"
- fx="24.306795"
- fy="42.07798"
- r="15.821514"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient4440">
- <stop
- id="stop4442"
- offset="0"
- style="stop-color:#7d7d7d;stop-opacity:1;" />
- <stop
- style="stop-color:#b1b1b1;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop4448" />
- <stop
- id="stop4444"
- offset="1.0000000"
- style="stop-color:#686868;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4454">
- <stop
- id="stop4456"
- offset="0.0000000"
- style="stop-color:#729fcf;stop-opacity:0.20784314;" />
- <stop
- id="stop4458"
- offset="1.0000000"
- style="stop-color:#729fcf;stop-opacity:0.67619050;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4467">
- <stop
- id="stop4469"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4471"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:0.24761905;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4477"
- inkscape:collect="always">
- <stop
- id="stop4479"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4481"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2366">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2368" />
- <stop
- id="stop2374"
- offset="0.50000000"
- style="stop-color:#ffffff;stop-opacity:0.21904762;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2370" />
- </linearGradient>
- <linearGradient
- id="linearGradient2846">
- <stop
- style="stop-color:#8a8a8a;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2848" />
- <stop
- style="stop-color:#484848;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2850" />
- </linearGradient>
- <linearGradient
- id="linearGradient2865"
- inkscape:collect="always">
- <stop
- id="stop2867"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2869"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2966">
- <stop
- id="stop2968"
- offset="0"
- style="stop-color:#ffd1d1;stop-opacity:1;" />
- <stop
- style="stop-color:#ff1d1d;stop-opacity:1;"
- offset="0.5"
- id="stop3006" />
- <stop
- id="stop2970"
- offset="1"
- style="stop-color:#6f0000;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2974">
- <stop
- id="stop2976"
- offset="0"
- style="stop-color:#c1c1c1;stop-opacity:1;" />
- <stop
- id="stop2978"
- offset="1"
- style="stop-color:#acacac;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2984"
- inkscape:collect="always">
- <stop
- id="stop2986"
- offset="0"
- style="stop-color:#e7e2b8;stop-opacity:1;" />
- <stop
- id="stop2988"
- offset="1"
- style="stop-color:#e7e2b8;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2994">
- <stop
- id="stop2996"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2998"
- offset="1"
- style="stop-color:#c9c9c9;stop-opacity:1;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4477"
- id="radialGradient2504"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.237968,-1.591178e-15,28.93278)"
- cx="24.130018"
- cy="37.967922"
- fx="24.130018"
- fy="37.967922"
- r="16.528622" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2865"
- id="radialGradient2552"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.348243,-2.396518e-14,26.35543)"
- cx="23.5625"
- cy="40.4375"
- fx="23.5625"
- fy="40.4375"
- r="19.5625" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2966"
- id="linearGradient2554"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.669292,-3.312994e-15)"
- x1="48.90625"
- y1="17.376184"
- x2="50.988335"
- y2="22.250591" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2974"
- id="linearGradient2556"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.669292,-3.312994e-15)"
- x1="46"
- y1="19.8125"
- x2="47.6875"
- y2="22.625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2984"
- id="radialGradient2558"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.923565,-1.236196e-16,8.582434e-17,2.029717,-61.55532,-27.88417)"
- cx="29.053354"
- cy="27.640751"
- fx="29.053354"
- fy="27.640751"
- r="3.2408544" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2994"
- id="linearGradient2560"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.825542,0.125)"
- x1="25.71875"
- y1="31.046875"
- x2="25.514589"
- y2="30.703125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2846"
- id="linearGradient2730"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,1,48.18409,-6.22072e-15)"
- x1="27.366341"
- y1="26.580296"
- x2="31.335964"
- y2="30.557772" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4440"
- id="linearGradient2732"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.334593,0,0,1.291292,55.15793,-7.460658)"
- x1="30.656250"
- y1="34.000000"
- x2="33.218750"
- y2="31.062500" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2366"
- id="linearGradient2734"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,1,44.17827,-7.045146e-16)"
- x1="18.292673"
- y1="13.602121"
- x2="17.500893"
- y2="25.743469" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4454"
- id="radialGradient2736"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,1,43.352,1.032377e-15)"
- cx="18.240929"
- cy="21.817987"
- fx="18.240929"
- fy="21.817987"
- r="8.3085051" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4467"
- id="radialGradient2738"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.592963,-7.7469e-24,-5.714443e-24,2.252104,-25.05976,-18.941)"
- cx="15.414371"
- cy="13.078408"
- fx="15.414371"
- fy="13.078408"
- r="6.6562500" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="26"
- inkscape:window-x="26"
- inkscape:window-height="1150"
- inkscape:window-width="1600"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="true"
- inkscape:current-layer="layer6"
- inkscape:cy="-19.874336"
- inkscape:cx="50.123818"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.59607843"
- bordercolor="#434343"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false"
- borderlayer="true" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Edit Find Replace</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>edit</rdf:li>
- <rdf:li>find</rdf:li>
- <rdf:li>locate</rdf:li>
- <rdf:li>search</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner, Steven Garrity</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- id="layer6"
- inkscape:label="Shadow">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.165152e-2,0,0,1.485743e-2,43.0076,42.68539)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- </g>
- <g
- style="display:inline"
- inkscape:groupmode="layer"
- inkscape:label="Base"
- id="layer1">
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.017543854"
- d="M 11.505723,5.4942766 L 11.505723,43.400869"
- id="path15672"
- sodipodi:nodetypes="cc" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer5"
- inkscape:label="Magnifying Glass"
- style="display:inline">
- <g
- id="g2679">
- <rect
- rx="1.1449448"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.003584,0,0,1.001943,-0.12722,-0.153534)"
- ry="1.1468204"
- y="3.6464462"
- x="6.6035528"
- height="40.920494"
- width="34.875"
- id="rect15391"
- style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:0.99724436;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(1.003584,0,0,1.001943,-0.12722,-0.153534)"
- rx="0.14851625"
- ry="0.14875954"
- y="4.5839462"
- x="7.6660538"
- height="38.946384"
- width="32.775887"
- id="rect15660"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:0.99724436;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <g
- id="g2270"
- transform="translate(0.646447,-3.798933e-2)"
- style="display:inline">
- <g
- transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)"
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
- id="g1440">
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="114.56840"
- fx="20.892099"
- r="5.2560000"
- cy="114.56840"
- cx="20.892099"
- id="radialGradient1442">
- <stop
- id="stop1444"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop1446"
- style="stop-color:#474747"
- offset="1" />
- </radialGradient>
- <path
- id="path1448"
- d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
- style="stroke:none" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="64.567902"
- fx="20.892099"
- r="5.2570000"
- cy="64.567902"
- cx="20.892099"
- id="radialGradient1450">
- <stop
- id="stop1452"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop1454"
- style="stop-color:#474747"
- offset="1" />
- </radialGradient>
- <path
- id="path1456"
- d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
- style="stroke:none" />
- </g>
- <path
- id="path15570"
- d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
- style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
- <path
- id="path15577"
- d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
- style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
- </g>
- <path
- sodipodi:nodetypes="cc"
- id="path15674"
- d="M 12.500000,5.0205154 L 12.500000,43.038228"
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.20467831;display:inline" />
- <g
- id="g2253"
- transform="matrix(0.909091,0.000000,0.000000,1.000000,2.363628,0.000000)">
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="9.0000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15686"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="11.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15688"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="13.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15690"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="15.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15692"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="17.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15694"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="19.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15696"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="21.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15698"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="23.000000"
- x="15.000002"
- height="1.0000000"
- width="22.000004"
- id="rect15700"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.068204239"
- y="25.000000"
- x="14.999992"
- height="1.0000000"
- width="9.9000053"
- id="rect15732"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="29.000000"
- x="14.999992"
- height="1.0000000"
- width="22.000004"
- id="rect15736"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="31.000000"
- x="14.999992"
- height="1.0000000"
- width="22.000004"
- id="rect15738"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="33.000000"
- x="14.999992"
- height="1.0000000"
- width="22.000004"
- id="rect15740"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.15156493"
- y="35.000000"
- x="14.999992"
- height="1.0000000"
- width="22.000004"
- id="rect15742"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="0.065390877"
- rx="0.10609552"
- y="37.000000"
- x="14.999992"
- height="1.0000000"
- width="15.400014"
- id="rect15744"
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- </g>
- </g>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.962422,0,0,1.011366,-7.130766,-7.903209)"
- d="M 40.65864 37.967922 A 16.528622 3.9332814 0 1 1 7.6013966,37.967922 A 16.528622 3.9332814 0 1 1 40.65864 37.967922 z"
- sodipodi:ry="3.9332814"
- sodipodi:rx="16.528622"
- sodipodi:cy="37.967922"
- sodipodi:cx="24.130018"
- id="path4475"
- style="opacity:0.17112301;color:#000000;fill:url(#radialGradient2504);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <g
- id="g2711"
- transform="translate(-1.000325,-0.85088)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- transform="matrix(-0.643277,0,0,0.643277,31.49802,4.828704)"
- sodipodi:nodetypes="csscccscccscczzzz"
- id="path2844"
- d="M 18.627569,3.1435548 C 10.488439,3.1435548 3.8827682,9.7492259 3.8827682,17.888356 C 3.8827682,26.027486 10.488439,32.633158 18.627569,32.633158 C 22.107124,32.633158 25.17857,31.248765 27.701292,29.230511 C 27.495915,30.237392 27.623257,31.265879 28.457436,31.990436 L 39.42152,41.517846 C 40.654936,42.589175 42.508982,42.448806 43.58031,41.215389 C 44.651638,39.981971 44.511269,38.127927 43.277853,37.056599 L 32.313769,27.529188 C 31.642242,26.945909 30.820891,26.773219 30.007531,26.886466 C 31.994231,24.374044 33.37237,21.337663 33.37237,17.888356 C 33.37237,9.7492259 26.766699,3.1435548 18.627569,3.1435548 z M 18.551954,4.3697381 C 26.191413,4.3697381 31.843729,9.1586886 31.843729,17.661513 C 31.843729,26.336626 26.027039,30.953288 18.551954,30.953288 C 11.249005,30.953288 5.2601806,25.475196 5.2601806,17.661513 C 5.2601806,9.6774061 11.084819,4.369738 18.551954,4.3697381 z "
- style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2730);stroke-width:3.10908341;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(-0.643277,0,0,0.643277,31.49802,4.828704)"
- style="color:#000000;fill:#dcdcdc;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 18.602905,3.0803551 C 10.437465,3.0803551 3.8104408,9.7073791 3.8104408,17.872819 C 3.8104408,26.038259 10.437465,32.665283 18.602905,32.665283 C 22.093708,32.665283 25.175082,31.276416 27.70596,29.251638 C 27.499919,30.261774 27.627672,31.293585 28.464547,32.020484 L 39.464073,41.578691 C 40.701476,42.653483 42.561515,42.512661 43.636306,41.275256 C 44.711097,40.037852 44.570274,38.177814 43.332871,37.103023 L 32.333346,27.544815 C 31.659648,26.959651 30.835642,26.786402 30.019653,26.900016 C 32.012775,24.379472 33.395369,21.333276 33.395369,17.872819 C 33.395369,9.7073791 26.768345,3.0803551 18.602905,3.0803551 z M 18.527046,6.2664243 C 24.808154,6.2664245 29.905864,11.364135 29.905864,17.645243 C 29.905864,23.926351 24.808154,29.024061 18.527046,29.024061 C 12.245938,29.024061 7.1482276,23.926351 7.1482276,17.645243 C 7.1482278,11.364135 12.245938,6.2664243 18.527046,6.2664243 z "
- id="path4430"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(-0.643277,0,0,0.643277,31.49802,4.828704)"
- style="color:#000000;fill:url(#linearGradient2732);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 39.507004,41.57769 C 39.028332,39.304503 40.904334,36.766268 43.091057,36.789315 C 43.091057,36.789315 32.33069,27.531204 32.33069,27.531204 C 29.385899,27.474498 28.061188,29.80382 28.553876,32.131126 L 39.507004,41.57769 z "
- id="path4438"
- sodipodi:nodetypes="ccccc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2734);stroke-width:1.24788225;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path4450"
- sodipodi:cx="17.500893"
- sodipodi:cy="18.920233"
- sodipodi:rx="11.048544"
- sodipodi:ry="11.048544"
- d="M 28.549437 18.920233 A 11.048544 11.048544 0 1 1 6.4523487,18.920233 A 11.048544 11.048544 0 1 1 28.549437 18.920233 z"
- transform="matrix(-0.801358,0,0,0.801358,33.70147,0.855159)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:0.43315507;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.55458939;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4495"
- width="19.048439"
- height="4.4404783"
- x="40.373337"
- y="0.14086054"
- rx="3.3215265"
- ry="2.9348745"
- transform="matrix(-0.484379,0.4233,0.417423,0.489452,31.49802,4.828704)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient2736);fill-opacity:1;fill-rule:evenodd;stroke:#3063a3;stroke-width:1.11148739;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dashoffset:0;stroke-opacity:1;visibility:visible"
- id="path4452"
- sodipodi:cx="17.589281"
- sodipodi:cy="18.478292"
- sodipodi:rx="8.3085051"
- sodipodi:ry="8.3085051"
- d="M 25.897786 18.478292 A 8.3085051 8.3085051 0 1 1 9.280776,18.478292 A 8.3085051 8.3085051 0 1 1 25.897786 18.478292 z"
- transform="matrix(-0.899697,0,0,0.899697,35.502,-0.509826)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(0.643277,0,0,0.643277,7.855933,4.828704)"
- style="opacity:0.83422457;color:#000000;fill:url(#radialGradient2738);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 18.156915,7.3966938 C 12.949325,7.3966938 8.7323681,11.613651 8.7323681,16.821241 C 8.7323681,18.325216 9.1526753,19.709014 9.77954,20.971144 C 11.03192,21.432757 12.362297,21.746827 13.774307,21.746827 C 19.945262,21.746827 24.873589,16.88519 25.254413,10.809698 C 23.523449,8.7641668 21.044374,7.3966938 18.156915,7.3966938 z "
- id="path4462"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.616613,0,0,0.293577,12.73816,29.12848)"
- d="M 43.125 40.4375 A 19.5625 6.8125 0 1 1 4,40.4375 A 19.5625 6.8125 0 1 1 43.125 40.4375 z"
- sodipodi:ry="6.8125"
- sodipodi:rx="19.5625"
- sodipodi:cy="40.4375"
- sodipodi:cx="23.5625"
- id="path3008"
- style="opacity:0.2;color:#000000;fill:url(#radialGradient2552);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <g
- id="g1574"
- transform="matrix(1.033699,-0.276979,0.276979,1.033699,16.06828,-14.54823)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- transform="translate(-29.75546,19)"
- sodipodi:nodetypes="cccccc"
- id="path2960"
- d="M 17.34116,32.5 L 22.96616,26.875 L 43.059909,17.125 C 46.309909,15.875 48.247409,20.5 45.372409,22.125 L 25.34116,31.5 L 17.34116,32.5 z "
- style="color:#000000;fill:#cb9022;fill-opacity:1;fill-rule:evenodd;stroke:#5c410c;stroke-width:0.93443578;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="translate(-29.75546,19)"
- style="color:#000000;fill:url(#linearGradient2554);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 38.330708,20 C 38.330708,20 39.768208,20.09375 40.330708,21.34375 C 40.910201,22.631511 40.330708,24 40.330708,24 L 45.361958,21.53125 C 45.361958,21.53125 46.81399,20.649883 46.018208,18.6875 C 45.233296,16.751923 43.330708,17.53125 43.330708,17.53125 L 38.330708,20 z "
- id="path2964"
- sodipodi:nodetypes="czcczcc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="translate(-29.75546,19)"
- sodipodi:nodetypes="czcczcc"
- id="path2962"
- d="M 38.330708,20 C 38.330708,20 39.768208,20.09375 40.330708,21.34375 C 40.910201,22.631511 40.330708,24 40.330708,24 L 42.330708,23 C 42.330708,23 43.15774,21.681133 42.549458,20.3125 C 41.924458,18.90625 40.330708,19 40.330708,19 L 38.330708,20 z "
- style="color:#000000;fill:url(#linearGradient2556);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="translate(-29.75546,19)"
- sodipodi:nodetypes="cccc"
- id="path2982"
- d="M 18.768208,31.78125 L 23.268208,27.28125 C 24.768208,28.09375 25.549458,29.4375 25.143208,31 L 18.768208,31.78125 z "
- style="color:#000000;fill:url(#radialGradient2558);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="translate(-29.75546,19)"
- sodipodi:nodetypes="cccc"
- id="path2992"
- d="M 20.111958,30.375 L 18.486958,31.96875 L 20.830708,31.65625 C 21.049458,30.9375 20.643208,30.59375 20.111958,30.375 z "
- style="color:#000000;fill:url(#linearGradient2560);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="translate(-29.75546,19)"
- sodipodi:nodetypes="ccccc"
- id="path3002"
- d="M 23.268208,27.25 L 24.830708,28.5 L 40.218048,21.18133 C 39.773616,20.325286 38.976281,20.096733 38.314669,20.019068 L 23.268208,27.25 z "
- style="color:#000000;fill:#ffffff;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="translate(-29.75546,19)"
- sodipodi:nodetypes="ccccc"
- id="path3004"
- d="M 25.143208,31.0625 L 25.330708,30.3125 L 40.561798,23.1829 C 40.561798,23.1829 40.451638,23.796527 40.345919,23.93225 L 25.143208,31.0625 z "
- style="color:#000000;fill:#000000;fill-opacity:0.36363639;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-find.svg b/share/pixmaps/tryton/tryton-find.svg
deleted file mode 100644
index e37b662..0000000
--- a/share/pixmaps/tryton/tryton-find.svg
+++ /dev/null
@@ -1,748 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/steven/edit-find-48.png"
- sodipodi:docname="edit-find.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg249"
- height="48.000000px"
- width="48.000000px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4542">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4544" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4546" />
- </linearGradient>
- <linearGradient
- id="linearGradient15662">
- <stop
- id="stop15664"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop15666"
- offset="1.0000000"
- style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- id="aigrd3"
- cx="20.8921"
- cy="64.5679"
- r="5.257"
- fx="20.8921"
- fy="64.5679"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop15573" />
- <stop
- offset="1.0000000"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- id="stop15575" />
- </radialGradient>
- <radialGradient
- id="aigrd2"
- cx="20.8921"
- cy="114.5684"
- r="5.256"
- fx="20.8921"
- fy="114.5684"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop15566" />
- <stop
- offset="1.0000000"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- id="stop15568" />
- </radialGradient>
- <linearGradient
- id="linearGradient269">
- <stop
- id="stop270"
- offset="0.0000000"
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
- <stop
- id="stop271"
- offset="1.0000000"
- style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient259">
- <stop
- id="stop260"
- offset="0.0000000"
- style="stop-color:#fafafa;stop-opacity:1.0000000;" />
- <stop
- id="stop261"
- offset="1.0000000"
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient269"
- id="radialGradient15656"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
- cx="8.8244190"
- cy="3.7561285"
- fx="8.8244190"
- fy="3.7561285"
- r="37.751713" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient259"
- id="radialGradient15658"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(0.960493,1.041132)"
- cx="33.966679"
- cy="35.736916"
- fx="33.966679"
- fy="35.736916"
- r="86.708450" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15662"
- id="radialGradient15668"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
- cx="8.1435566"
- cy="7.2678967"
- fx="8.1435566"
- fy="7.2678967"
- r="38.158695" />
- <radialGradient
- r="5.256"
- fy="114.5684"
- fx="20.8921"
- cy="114.5684"
- cx="20.8921"
- gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2283"
- xlink:href="#aigrd2"
- inkscape:collect="always" />
- <radialGradient
- r="5.257"
- fy="64.5679"
- fx="20.8921"
- cy="64.5679"
- cx="20.8921"
- gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2285"
- xlink:href="#aigrd3"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4542"
- id="radialGradient4548"
- cx="24.306795"
- cy="42.07798"
- fx="24.306795"
- fy="42.07798"
- r="15.821514"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient4440">
- <stop
- id="stop4442"
- offset="0"
- style="stop-color:#7d7d7d;stop-opacity:1;" />
- <stop
- style="stop-color:#b1b1b1;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop4448" />
- <stop
- id="stop4444"
- offset="1.0000000"
- style="stop-color:#686868;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4454">
- <stop
- id="stop4456"
- offset="0.0000000"
- style="stop-color:#729fcf;stop-opacity:0.20784314;" />
- <stop
- id="stop4458"
- offset="1.0000000"
- style="stop-color:#729fcf;stop-opacity:0.67619050;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4467">
- <stop
- id="stop4469"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4471"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:0.24761905;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4477"
- inkscape:collect="always">
- <stop
- id="stop4479"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4481"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2366">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2368" />
- <stop
- id="stop2374"
- offset="0.50000000"
- style="stop-color:#ffffff;stop-opacity:0.21904762;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2370" />
- </linearGradient>
- <linearGradient
- id="linearGradient2846">
- <stop
- style="stop-color:#8a8a8a;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2848" />
- <stop
- style="stop-color:#484848;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2850" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4477"
- id="radialGradient1527"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.237968,-8.821068e-16,28.93278)"
- cx="24.130018"
- cy="37.967922"
- fx="24.130018"
- fy="37.967922"
- r="16.528622" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2846"
- id="linearGradient1529"
- gradientUnits="userSpaceOnUse"
- x1="27.366341"
- y1="26.580296"
- x2="31.335964"
- y2="30.557772" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4440"
- id="linearGradient1531"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.334593,0.000000,0.000000,1.291292,-6.973842,-7.460658)"
- x1="30.656250"
- y1="34.000000"
- x2="33.218750"
- y2="31.062500" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2366"
- id="linearGradient1533"
- gradientUnits="userSpaceOnUse"
- x1="18.292673"
- y1="13.602121"
- x2="17.500893"
- y2="25.743469" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4454"
- id="radialGradient1537"
- gradientUnits="userSpaceOnUse"
- cx="18.240929"
- cy="21.817987"
- fx="18.240929"
- fy="21.817987"
- r="8.3085051" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4467"
- id="radialGradient1539"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.592963,-7.746900e-24,-5.714443e-24,2.252104,-25.05975,-18.94100)"
- cx="15.414371"
- cy="13.078408"
- fx="15.414371"
- fy="13.078408"
- r="6.6562500" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="79"
- inkscape:window-x="858"
- inkscape:window-height="896"
- inkscape:window-width="1016"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="true"
- inkscape:current-layer="layer6"
- inkscape:cy="14.980943"
- inkscape:cx="25.938708"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.25490196"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Edit Find</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>edit</rdf:li>
- <rdf:li>find</rdf:li>
- <rdf:li>locate</rdf:li>
- <rdf:li>search</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Steven Garrity</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- id="layer6"
- inkscape:label="Shadow">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.165152e-2,0,0,1.485743e-2,43.0076,42.68539)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- </g>
- <g
- style="display:inline"
- inkscape:groupmode="layer"
- inkscape:label="Base"
- id="layer1">
- <rect
- style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15391"
- width="34.875000"
- height="40.920494"
- x="6.6035528"
- y="3.6464462"
- ry="1.1490486" />
- <rect
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15660"
- width="32.775887"
- height="38.946384"
- x="7.6660538"
- y="4.5839462"
- ry="0.14904857"
- rx="0.14904857" />
- <g
- transform="translate(0.646447,-3.798933e-2)"
- id="g2270">
- <g
- id="g1440"
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
- transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)">
- <radialGradient
- id="radialGradient1442"
- cx="20.892099"
- cy="114.56840"
- r="5.2560000"
- fx="20.892099"
- fy="114.56840"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop1444" />
- <stop
- offset="1"
- style="stop-color:#474747"
- id="stop1446" />
- </radialGradient>
- <path
- style="stroke:none"
- d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
- id="path1448" />
- <radialGradient
- id="radialGradient1450"
- cx="20.892099"
- cy="64.567902"
- r="5.2570000"
- fx="20.892099"
- fy="64.567902"
- gradientUnits="userSpaceOnUse">
- <stop
- offset="0"
- style="stop-color:#F0F0F0"
- id="stop1452" />
- <stop
- offset="1"
- style="stop-color:#474747"
- id="stop1454" />
- </radialGradient>
- <path
- style="stroke:none"
- d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
- id="path1456" />
- </g>
- <path
- style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
- id="path15570" />
- <path
- style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
- id="path15577" />
- </g>
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.017543854"
- d="M 11.505723,5.4942766 L 11.505723,43.400869"
- id="path15672"
- sodipodi:nodetypes="cc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.20467831"
- d="M 12.500000,5.0205154 L 12.500000,43.038228"
- id="path15674"
- sodipodi:nodetypes="cc" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer5"
- inkscape:label="Magnifying Glass"
- style="display:inline">
- <g
- transform="matrix(0.909091,0.000000,0.000000,1.000000,2.363628,0.000000)"
- id="g2253">
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15686"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="9.0000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15688"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="11.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15690"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="13.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15692"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="15.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15694"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="17.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15696"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="19.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15698"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="21.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15700"
- width="22.000004"
- height="1.0000000"
- x="15.000002"
- y="23.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15732"
- width="9.9000053"
- height="1.0000000"
- x="14.999992"
- y="25.000000"
- rx="0.068204239"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15736"
- width="22.000004"
- height="1.0000000"
- x="14.999992"
- y="29.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15738"
- width="22.000004"
- height="1.0000000"
- x="14.999992"
- y="31.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15740"
- width="22.000004"
- height="1.0000000"
- x="14.999992"
- y="33.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15742"
- width="22.000004"
- height="1.0000000"
- x="14.999992"
- y="35.000000"
- rx="0.15156493"
- ry="0.065390877" />
- <rect
- style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970759;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.081871338;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect15744"
- width="15.400014"
- height="1.0000000"
- x="14.999992"
- y="37.000000"
- rx="0.10609552"
- ry="0.065390877" />
- </g>
- <g
- id="g1772"
- transform="matrix(0.665377,0.000000,0.000000,0.665377,15.98645,17.90835)">
- <path
- sodipodi:type="arc"
- style="opacity:0.17112298;color:#000000;fill:url(#radialGradient1527);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4475"
- sodipodi:cx="24.130018"
- sodipodi:cy="37.967922"
- sodipodi:rx="16.528622"
- sodipodi:ry="3.9332814"
- d="M 40.658640 37.967922 A 16.528622 3.9332814 0 1 1 7.6013966,37.967922 A 16.528622 3.9332814 0 1 1 40.658640 37.967922 z"
- transform="matrix(1.446431,0.000000,0.000000,1.519990,-10.97453,-17.75168)" />
- <path
- sodipodi:nodetypes="csscccscccscczzzz"
- id="path2844"
- d="M 18.627569,3.1435548 C 10.488439,3.1435548 3.8827682,9.7492259 3.8827682,17.888356 C 3.8827682,26.027486 10.488439,32.633158 18.627569,32.633158 C 22.107124,32.633158 25.178570,31.248765 27.701292,29.230511 C 27.495915,30.237392 27.623257,31.265879 28.457436,31.990436 L 39.421520,41.517846 C 40.654936,42.589175 42.508982,42.448806 43.580310,41.215389 C 44.651638,39.981971 44.511269,38.127927 43.277853,37.056599 L 32.313769,27.529188 C 31.642242,26.945909 30.820891,26.773219 30.007531,26.886466 C 31.994231,24.374044 33.372370,21.337663 33.372370,17.888356 C 33.372370,9.7492259 26.766699,3.1435548 18.627569,3.1435548 z M 18.551954,4.3697381 C 26.191413,4.3697381 31.843729,9.1586886 31.843729,17.661513 C 31.843729,26.336626 26.027039,30.953288 18.551954,30.953288 C 11.249005,30.953288 5.2601806,25.475196 5.2601806,17.661513 C 5.2601806,9.6774061 11.084819,4.3697380 18.551954,4.3697381 z "
- style="opacity:1.0000000;color:#000000;fill:#dcdcdc;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient1529);stroke-width:3.0058157;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1.0000000;color:#000000;fill:#dcdcdc;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000004;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 18.602905,3.0803551 C 10.437465,3.0803551 3.8104408,9.7073791 3.8104408,17.872819 C 3.8104408,26.038259 10.437465,32.665283 18.602905,32.665283 C 22.093708,32.665283 25.175082,31.276416 27.705960,29.251638 C 27.499919,30.261774 27.627672,31.293585 28.464547,32.020484 L 39.464073,41.578691 C 40.701476,42.653483 42.561515,42.512661 43.636306,41.275256 C 44.711097,40.037852 44.570274,38.177814 43.332871,37.103023 L 32.333346,27.544815 C 31.659648,26.959651 30.835642,26.786402 30.019653,26.900016 C 32.012775,24.379472 33.395369,21.333276 33.395369,17.872819 C 33.395369,9.7073791 26.768345,3.0803551 18.602905,3.0803551 z M 18.527046,6.2664243 C 24.808154,6.2664245 29.905864,11.364135 29.905864,17.645243 C 29.905864,23.926351 24.808154,29.024061 18.527046,29.024061 C 12.245938,29.024061 7.1482276,23.926351 7.1482276,17.645243 C 7.1482278,11.364135 12.245938,6.2664243 18.527046,6.2664243 z "
- id="path4430" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient1531);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 39.507004,41.577690 C 39.028332,39.304503 40.904334,36.766268 43.091057,36.789315 C 43.091057,36.789315 32.330690,27.531204 32.330690,27.531204 C 29.385899,27.474498 28.061188,29.803820 28.553876,32.131126 L 39.507004,41.577690 z "
- id="path4438"
- sodipodi:nodetypes="ccccc" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient1533);stroke-width:1.2064340;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4450"
- sodipodi:cx="17.500893"
- sodipodi:cy="18.920233"
- sodipodi:rx="11.048544"
- sodipodi:ry="11.048544"
- d="M 28.549437 18.920233 A 11.048544 11.048544 0 1 1 6.4523487,18.920233 A 11.048544 11.048544 0 1 1 28.549437 18.920233 z"
- transform="matrix(1.245743,0.000000,0.000000,1.245743,-3.425346,-6.177033)" />
- <rect
- style="opacity:0.43315509;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.5029539;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect4495"
- width="19.048439"
- height="4.4404783"
- x="40.373337"
- y="0.14086054"
- rx="3.2112026"
- ry="2.8373930"
- transform="matrix(0.752986,0.658037,-0.648902,0.760872,0.000000,0.000000)" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient1537);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3063a3;stroke-width:1.0745695;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible"
- id="path4452"
- sodipodi:cx="17.589281"
- sodipodi:cy="18.478292"
- sodipodi:rx="8.3085051"
- sodipodi:ry="8.3085051"
- d="M 25.897786 18.478292 A 8.3085051 8.3085051 0 1 1 9.2807760,18.478292 A 8.3085051 8.3085051 0 1 1 25.897786 18.478292 z"
- transform="matrix(1.398614,0.000000,0.000000,1.398614,-6.224338,-8.298958)" />
- <path
- style="opacity:0.83422458;color:#000000;fill:url(#radialGradient1539);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 18.156915,7.3966938 C 12.949325,7.3966938 8.7323681,11.613651 8.7323681,16.821241 C 8.7323681,18.325216 9.1526753,19.709014 9.7795400,20.971144 C 11.031920,21.432757 12.362297,21.746827 13.774307,21.746827 C 19.945262,21.746827 24.873589,16.885190 25.254413,10.809698 C 23.523449,8.7641668 21.044374,7.3966938 18.156915,7.3966938 z "
- id="path4462" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-folder-new.svg b/share/pixmaps/tryton/tryton-folder-new.svg
deleted file mode 100644
index 9bf33e4..0000000
--- a/share/pixmaps/tryton/tryton-folder-new.svg
+++ /dev/null
@@ -1,450 +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://web.resource.org/cc/"
- 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"
- width="48.000000px"
- height="48.000000px"
- id="svg97"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="folder-new.svg"
- inkscape:export-filename="/home/jimmac/Desktop/horlander-style3.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient9766">
- <stop
- style="stop-color:#6194cb;stop-opacity:1;"
- offset="0"
- id="stop9768" />
- <stop
- style="stop-color:#729fcf;stop-opacity:1;"
- offset="1"
- id="stop9770" />
- </linearGradient>
- <linearGradient
- id="linearGradient3096">
- <stop
- id="stop3098"
- offset="0"
- style="stop-color:#424242;stop-opacity:1;" />
- <stop
- id="stop3100"
- offset="1.0000000"
- style="stop-color:#777777;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319"
- inkscape:collect="always">
- <stop
- id="stop320"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop321"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1789">
- <stop
- style="stop-color:#202020;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop1790" />
- <stop
- style="stop-color:#b9b9b9;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop1791" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1789"
- id="radialGradient238"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.055022,-2.734504e-2,0.177703,1.190929,-3.572177,-7.125301)"
- cx="20.706017"
- cy="37.517986"
- fx="20.706017"
- fy="37.517986"
- r="30.905205" />
- <linearGradient
- id="linearGradient3983">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.87628865;"
- offset="0.0000000"
- id="stop3984" />
- <stop
- style="stop-color:#fffffe;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop3985" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3983"
- id="linearGradient491"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.516844,0.000000,0.000000,0.708978,-0.879573,-1.318166)"
- x1="6.2297964"
- y1="13.773066"
- x2="9.8980894"
- y2="66.834053" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.689312"
- x2="12.853771"
- y1="32.567184"
- x1="13.035696"
- gradientTransform="matrix(1.317489,0.000000,0.000000,0.816256,-0.879573,-1.318166)"
- id="linearGradient322"
- xlink:href="#linearGradient319"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="6.1802502"
- x2="15.514889"
- y1="31.367750"
- x1="18.112709"
- id="linearGradient3104"
- xlink:href="#linearGradient3096"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9766"
- id="linearGradient9772"
- x1="22.175976"
- y1="36.987999"
- x2="22.065331"
- y2="32.050499"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient12512">
- <stop
- id="stop12513"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop12517"
- offset="0.50000000"
- style="stop-color:#fff520;stop-opacity:0.89108908;" />
- <stop
- id="stop12514"
- offset="1.0000000"
- style="stop-color:#fff300;stop-opacity:0.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient1758"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- </defs>
- <sodipodi:namedview
- fill="#729fcf"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.10196078"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="45.814183"
- inkscape:cy="1.7591971"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="872"
- inkscape:window-height="659"
- inkscape:window-x="898"
- inkscape:window-y="342"
- inkscape:showpageshadow="false"
- stroke="#3465a4" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>New Folder</dc:title>
- <dc:date />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>folder</rdf:li>
- <rdf:li>directory</rdf:li>
- <rdf:li>create</rdf:li>
- <rdf:li>new</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Tuomas Kuosmanen</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Folder"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.165152e-2,0,0,1.903841e-2,42.41538,36.93372)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- d="M 4.5217805,38.687417 C 4.5435766,39.103721 4.9816854,39.520026 5.3979900,39.520026 L 36.725011,39.520026 C 37.141313,39.520026 37.535823,39.103721 37.514027,38.687417 L 36.577584,11.460682 C 36.555788,11.044379 36.117687,10.628066 35.701383,10.628066 L 22.430510,10.628066 C 21.945453,10.628066 21.196037,10.312477 21.028866,9.5214338 L 20.417475,6.6283628 C 20.262006,5.8926895 19.535261,5.5904766 19.118957,5.5904766 L 4.3400975,5.5904766 C 3.9237847,5.5904766 3.5292767,6.0067807 3.5510726,6.4230849 L 4.5217805,38.687417 z "
- id="path216"
- style="fill:url(#radialGradient238);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient3104);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- sodipodi:nodetypes="ccccccssssccc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9788"
- d="M 5.2265927,22.5625 L 35.492173,22.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path9784"
- d="M 5.0421736,18.5625 L 35.489104,18.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.9806965,12.5625 L 35.488057,12.5625"
- id="path9778"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.3861577,32.5625 L 35.494881,32.5625"
- id="path9798"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9800"
- d="M 5.5091398,34.5625 L 35.496893,34.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.0421736,16.5625 L 35.489104,16.5625"
- id="path9782"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9780"
- d="M 5.0114345,14.5625 L 35.48858,14.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path9776"
- d="M 4.9220969,10.5625 L 20.202912,10.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.8737534,8.5624999 L 19.657487,8.5624999"
- id="path9774"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.3246666,28.5625 L 35.493876,28.5625"
- id="path9794"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9792"
- d="M 5.2880638,26.5625 L 35.493184,26.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.2265927,24.5625 L 35.492173,24.5625"
- id="path9790"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.1958537,20.5625 L 35.491649,20.5625"
- id="path9786"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9796"
- d="M 5.3246666,30.5625 L 35.493876,30.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.5091398,36.5625 L 35.496893,36.5625"
- id="path9802"
- sodipodi:nodetypes="cc" />
- <path
- style="color:#000000;fill:url(#linearGradient491);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2138050;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible;opacity:0.45142857"
- d="M 6.0683430,38.864023 C 6.0846856,39.176251 5.8874317,39.384402 5.5697582,39.280326 L 5.5697582,39.280326 C 5.2520766,39.176251 5.0330270,38.968099 5.0166756,38.655870 L 4.0689560,6.5913839 C 4.0526131,6.2791558 4.2341418,6.0906134 4.5463699,6.0906134 L 18.968420,6.0429196 C 19.280648,6.0429196 19.900363,6.3433923 20.101356,7.3651014 L 20.674845,10.180636 C 20.247791,9.7153790 20.255652,9.7010175 20.037287,9.0239299 L 19.631192,7.7647478 C 19.412142,7.0371009 18.932991,6.9328477 18.620763,6.9328477 L 5.7329889,6.9328477 C 5.4207613,6.9328477 5.2235075,7.1409999 5.2398583,7.4532364 L 6.1778636,38.968099 L 6.0683430,38.864023 z "
- id="path219"
- sodipodi:nodetypes="cccccccccscccccc" />
- <g
- style="stroke-miterlimit:4.0000000;stroke-width:0.99946535;stroke:none;fill-rule:nonzero;fill-opacity:0.75706214;fill:#ffffff"
- id="g220"
- transform="matrix(1.040764,0.000000,5.449252e-2,1.040764,-8.670199,2.670594)"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- inkscape:export-xdpi="74.800003"
- inkscape:export-ydpi="74.800003">
- <path
- style="fill-opacity:0.50847459;fill:#ffffff"
- d="M 42.417183,8.5151772 C 42.422267,8.4180642 42.289022,8.2681890 42.182066,8.2681716 L 29.150665,8.2660527 C 29.150665,8.2660527 30.062379,8.8540072 31.352477,8.8622963 L 42.405974,8.9333167 C 42.417060,8.7215889 42.408695,8.6772845 42.417183,8.5151772 z "
- id="path221"
- sodipodi:nodetypes="cscscs" />
- </g>
- <path
- style="color:#000000;fill:url(#linearGradient9772);fill-opacity:1.0;fill-rule:nonzero;stroke:#3465a4;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1;visibility:visible;display:block"
- d="M 39.783532,39.510620 C 40.927426,39.466556 41.746608,38.414321 41.830567,37.189615 C 42.622354,25.640928 43.489927,15.957666 43.489927,15.957666 C 43.562082,15.710182 43.322016,15.462699 43.009787,15.462699 L 8.6386304,15.462699 C 8.6386304,15.462699 6.7883113,37.329591 6.7883113,37.329591 C 6.6737562,38.311657 6.3223038,39.134309 5.2384755,39.513304 L 39.783532,39.510620 z "
- id="path233"
- sodipodi:nodetypes="cscccscc"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- inkscape:export-xdpi="74.800003"
- inkscape:export-ydpi="74.800003" />
- <path
- sodipodi:nodetypes="ccsscsc"
- id="path304"
- d="M 9.6202444,16.463921 L 42.411343,16.528735 L 40.837297,36.530714 C 40.752975,37.602225 40.386619,37.958929 38.964641,37.958929 C 37.093139,37.958929 10.286673,37.926522 7.569899,37.926522 C 7.8034973,37.605711 7.9036547,36.937899 7.9049953,36.92191 L 9.6202444,16.463921 z "
- style="opacity:0.46590909;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient322);stroke-width:0.99999970px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path323"
- d="M 9.6202481,16.223182 L 8.4536014,31.866453 C 8.4536014,31.866453 16.749756,27.718375 27.119949,27.718375 C 37.490142,27.718375 42.675239,16.223182 42.675239,16.223182 L 9.6202481,16.223182 z "
- style="fill:#ffffff;fill-opacity:0.089285679;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <g
- id="layer4"
- inkscape:label="new"
- style="display:inline"
- transform="translate(-1.976491,1.981795)">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient1758);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- id="path12511"
- sodipodi:cx="55"
- sodipodi:cy="125"
- sodipodi:rx="14.375"
- sodipodi:ry="14.375"
- d="M 69.375 125 A 14.375 14.375 0 1 1 40.625,125 A 14.375 14.375 0 1 1 69.375 125 z"
- transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
- inkscape:export-xdpi="33.852203"
- inkscape:export-ydpi="33.852203" />
- </g>
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="pattern" />
-</svg>
diff --git a/share/pixmaps/tryton/tryton-fullscreen.svg b/share/pixmaps/tryton/tryton-fullscreen.svg
deleted file mode 100644
index 2d61d91..0000000
--- a/share/pixmaps/tryton/tryton-fullscreen.svg
+++ /dev/null
@@ -1,520 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.44"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="view-fullscreen.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3284">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3286" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3288" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3260">
- <stop
- style="stop-color:#204a87;stop-opacity:1;"
- offset="0"
- id="stop3262" />
- <stop
- style="stop-color:#204a87;stop-opacity:0;"
- offset="1"
- id="stop3264" />
- </linearGradient>
- <linearGradient
- id="linearGradient3239">
- <stop
- style="stop-color:#e3eded;stop-opacity:1;"
- offset="0"
- id="stop3241" />
- <stop
- style="stop-color:#f5f5f5;stop-opacity:1;"
- offset="1"
- id="stop3243" />
- </linearGradient>
- <linearGradient
- id="linearGradient11520">
- <stop
- id="stop11522"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop11524"
- offset="1.0000000"
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11508"
- inkscape:collect="always">
- <stop
- id="stop11510"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11512"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11494"
- inkscape:collect="always">
- <stop
- id="stop11496"
- offset="0"
- style="stop-color:#ef2929;stop-opacity:1;" />
- <stop
- id="stop11498"
- offset="1"
- style="stop-color:#ef2929;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11415">
- <stop
- id="stop11417"
- offset="0.0000000"
- style="stop-color:#204a87;stop-opacity:0.0000000;" />
- <stop
- style="stop-color:#204a87;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop11423" />
- <stop
- id="stop11419"
- offset="1"
- style="stop-color:#204a87;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11399"
- inkscape:collect="always">
- <stop
- id="stop11401"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11403"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- gradientTransform="translate(-60.28571,-0.285714)"
- y2="34.462429"
- x2="43.615788"
- y1="3.7744560"
- x1="15.828360"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11425"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-60.57143,0.000000)"
- y2="39.033859"
- x2="35.679932"
- y1="9.3458843"
- x1="9.6957054"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11427"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <linearGradient
- y2="33.462429"
- x2="26.758644"
- y1="19.774456"
- x1="13.267134"
- gradientTransform="translate(-60.85714,0.428571)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11439"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <radialGradient
- r="8.5000000"
- fy="39.142857"
- fx="12.071428"
- cy="39.142857"
- cx="12.071428"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11441"
- xlink:href="#linearGradient11399"
- inkscape:collect="always" />
- <radialGradient
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- gradientUnits="userSpaceOnUse"
- r="3.8335034"
- fy="15.048258"
- fx="27.577173"
- cy="15.048258"
- cx="27.577173"
- id="radialGradient11500"
- xlink:href="#linearGradient11494"
- inkscape:collect="always" />
- <radialGradient
- r="3.8335034"
- fy="16.049133"
- fx="27.577173"
- cy="16.049133"
- cx="27.577173"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11504"
- xlink:href="#linearGradient11494"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
- r="6.5659914"
- fy="44.565483"
- fx="30.203562"
- cy="44.565483"
- cx="30.203562"
- id="radialGradient11514"
- xlink:href="#linearGradient11508"
- inkscape:collect="always" />
- <radialGradient
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- gradientUnits="userSpaceOnUse"
- r="20.530962"
- fy="35.878170"
- fx="24.445690"
- cy="35.878170"
- cx="24.445690"
- id="radialGradient11526"
- xlink:href="#linearGradient11520"
- inkscape:collect="always" />
- <radialGradient
- r="6.5659914"
- fy="44.565483"
- fx="30.203562"
- cy="44.565483"
- cx="30.203562"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,3.185827e-15,29.48178)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11532"
- xlink:href="#linearGradient11508"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient1352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="16.049133"
- fx="27.577173"
- fy="16.049133"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient1354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="15.048258"
- fx="27.577173"
- fy="15.048258"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3239"
- id="linearGradient3249"
- gradientUnits="userSpaceOnUse"
- x1="22.625"
- y1="7.7097101"
- x2="22.625"
- y2="40.5"
- gradientTransform="matrix(1.011765,0,0,1.011765,-3.529411e-2,-0.529412)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3260"
- id="linearGradient3266"
- x1="12.363961"
- y1="11.394304"
- x2="18.22703"
- y2="17.58149"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3260"
- id="linearGradient3270"
- gradientUnits="userSpaceOnUse"
- x1="12.363961"
- y1="11.394304"
- x2="18.22703"
- y2="17.58149"
- gradientTransform="matrix(-1,0,0,1,49,0)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3260"
- id="linearGradient3278"
- gradientUnits="userSpaceOnUse"
- x1="12.363961"
- y1="11.394304"
- x2="18.22703"
- y2="17.58149"
- gradientTransform="matrix(1,0,0,-1,0,47.03125)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3260"
- id="linearGradient3280"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,-1,49,47.03125)"
- x1="12.363961"
- y1="11.394304"
- x2="18.22703"
- y2="17.58149" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3284"
- id="radialGradient3290"
- cx="25.455845"
- cy="43.403805"
- fx="25.455845"
- fy="43.403805"
- r="20.682873"
- gradientTransform="matrix(1,0,0,0.205128,0,34.50046)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#ef2929"
- fill="#204a87"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="8"
- inkscape:cx="26.507105"
- inkscape:cy="35.890897"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="970"
- inkscape:window-height="979"
- inkscape:window-x="2049"
- inkscape:window-y="186" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>View Fullscreen</dc:title>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.312904e-2,0,0,1.485743e-2,44.96697,42.7963)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <rect
- style="opacity:1;color:#000000;fill:url(#linearGradient3249);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect2354"
- width="41.988247"
- height="41.988247"
- x="3.5058835"
- y="2.505883"
- rx="1.8750006"
- ry="1.8750006" />
- <path
- sodipodi:type="inkscape:offset"
- inkscape:radius="-1.0340382"
- inkscape:original="M 5.375 2.5 C 4.3362497 2.5 3.5 3.3362496 3.5 4.375 L 3.5 42.625 C 3.5 43.66375 4.3362496 44.500001 5.375 44.5 L 43.625 44.5 C 44.66375 44.5 45.500001 43.66375 45.5 42.625 L 45.5 4.375 C 45.5 3.3362497 44.663751 2.5 43.625 2.5 L 5.375 2.5 z "
- xlink:href="#rect2354"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3247"
- inkscape:href="#rect2354"
- d="M 5.375,3.53125 C 4.8912209,3.53125 4.53125,3.8912205 4.53125,4.375 L 4.53125,42.625 C 4.53125,43.108779 4.8912224,43.46875 5.375,43.46875 L 43.125,43.46875 C 43.608779,43.46875 43.96875,43.108779 43.96875,42.625 L 43.96875,4.375 C 43.96875,3.8912207 43.608779,3.53125 43.125,3.53125 L 5.375,3.53125 z " />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient3266);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 6 5 L 6 18 L 10.03125 13.96875 L 18.03125 22.03125 L 23 17 L 15 9 L 19 5 L 6 5 z "
- id="path3251" />
- <path
- id="path3268"
- d="M 43,5 L 43,18 L 38.96875,13.96875 L 30.96875,22.03125 L 26,17 L 34,9 L 30,5 L 43,5 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient3270);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- id="path3274"
- d="M 6,42.03125 L 6,29.03125 L 10.03125,33.0625 L 18.03125,25 L 23,30.03125 L 15,38.03125 L 19,42.03125 L 6,42.03125 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient3278);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient3280);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 43,42.03125 L 43,29.03125 L 38.96875,33.0625 L 30.96875,25 L 26,30.03125 L 34,38.03125 L 30,42.03125 L 43,42.03125 z "
- id="path3276" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-go-home.svg b/share/pixmaps/tryton/tryton-go-home.svg
deleted file mode 100644
index 3520b51..0000000
--- a/share/pixmaps/tryton/tryton-go-home.svg
+++ /dev/null
@@ -1,441 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- 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"
- width="48"
- height="48"
- overflow="visible"
- enable-background="new 0 0 128 129.396"
- xml:space="preserve"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docname="go-home.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- version="1.0"
- inkscape:export-filename="/home/tigert/My Downloads/go-home.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000"><metadata
- id="metadata367"><rdf:RDF><cc:Work
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /><dc:title>Go Home</dc:title><dc:creator><cc:Agent><dc:title>Jakub Steiner</dc:title></cc:Agent></dc:creator><dc:source>http://jimmac.musichall.cz</dc:source><dc:subject><rdf:Bag><rdf:li>home</rdf:li><rdf:li>return</rdf:li><rdf:li>go</rdf:li><rdf:li>default</rdf:li><rdf:li>user</rdf:li><rdf:li>directory</rdf:li></rdf:Bag></dc:subject><dc:contributor><cc:Agent><dc:title>Tuomas Kuosmanen</dc:title></cc:Agent></dc:contributor></cc:Work><cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"><cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" /><cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" /><cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" /></cc:License></rdf:RDF></metadata><defs
- id="defs365"><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" /><linearGradient
- inkscape:collect="always"
- id="linearGradient5060"><stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" /><stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" /></linearGradient><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" /><linearGradient
- id="linearGradient5048"><stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" /><stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" /><stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" /></linearGradient><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" /><linearGradient
- id="linearGradient2406"><stop
- style="stop-color:#7c7e79;stop-opacity:1;"
- offset="0"
- id="stop2408" /><stop
- id="stop2414"
- offset="0.1724138"
- style="stop-color:#848681;stop-opacity:1;" /><stop
- style="stop-color:#898c86;stop-opacity:1;"
- offset="1"
- id="stop2410" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2390"><stop
- style="stop-color:#919191;stop-opacity:1;"
- offset="0"
- id="stop2392" /><stop
- style="stop-color:#919191;stop-opacity:0;"
- offset="1"
- id="stop2394" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2378"><stop
- style="stop-color:#575757;stop-opacity:1;"
- offset="0"
- id="stop2380" /><stop
- style="stop-color:#575757;stop-opacity:0;"
- offset="1"
- id="stop2382" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2368"><stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2370" /><stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2372" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2349"><stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2351" /><stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2353" /></linearGradient><linearGradient
- id="linearGradient2341"><stop
- id="stop2343"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" /><stop
- id="stop2345"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
- id="linearGradient2329"><stop
- style="stop-color:#000000;stop-opacity:0.18556701;"
- offset="0"
- id="stop2331" /><stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop2333" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2319"><stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2321" /><stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2323" /></linearGradient><linearGradient
- id="linearGradient2307"><stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop2309" /><stop
- style="stop-color:#998800;stop-opacity:1;"
- offset="1"
- id="stop2311" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient2299"><stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2301" /><stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2303" /></linearGradient><linearGradient
- id="XMLID_2_"
- gradientUnits="userSpaceOnUse"
- x1="80.223602"
- y1="117.5205"
- x2="48.046001"
- y2="59.7995"
- gradientTransform="matrix(0.314683,0.000000,0.000000,0.314683,4.128264,3.742874)">
- <stop
- offset="0"
- style="stop-color:#CCCCCC"
- id="stop17" />
- <stop
- offset="0.9831"
- style="stop-color:#FFFFFF"
- id="stop19" />
- <midPointStop
- offset="0"
- style="stop-color:#CCCCCC"
- id="midPointStop48" />
- <midPointStop
- offset="0.5"
- style="stop-color:#CCCCCC"
- id="midPointStop50" />
- <midPointStop
- offset="0.9831"
- style="stop-color:#FFFFFF"
- id="midPointStop52" />
- </linearGradient><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_2_"
- id="linearGradient1514"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.336922,0.000000,0.000000,0.166888,17.98288,15.46151)"
- x1="52.006104"
- y1="166.1331"
- x2="14.049017"
- y2="-42.218513" /><linearGradient
- id="XMLID_39_"
- gradientUnits="userSpaceOnUse"
- x1="64.387703"
- y1="65.124001"
- x2="64.387703"
- y2="35.569"
- gradientTransform="matrix(0.354101,0.000000,0.000000,0.354101,1.638679,-8.364921e-2)">
- <stop
- offset="0"
- style="stop-color:#FFFFFF"
- id="stop336" />
- <stop
- offset="0.8539"
- style="stop-color:#FF6200"
- id="stop338" />
- <stop
- offset="1"
- style="stop-color:#F25D00"
- id="stop340" />
- <midPointStop
- offset="0"
- style="stop-color:#FFFFFF"
- id="midPointStop335" />
- <midPointStop
- offset="0.5"
- style="stop-color:#FFFFFF"
- id="midPointStop337" />
- <midPointStop
- offset="0.8539"
- style="stop-color:#FF6200"
- id="midPointStop339" />
- <midPointStop
- offset="0.5"
- style="stop-color:#FF6200"
- id="midPointStop341" />
- <midPointStop
- offset="1"
- style="stop-color:#F25D00"
- id="midPointStop343" />
- </linearGradient><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2299"
- id="radialGradient2305"
- cx="7.5326638"
- cy="24.202574"
- fx="7.5326638"
- fy="24.202574"
- r="8.2452128"
- gradientTransform="matrix(4.100086,-1.627292e-17,2.125447e-14,4.201322,-25.41506,-78.53967)"
- gradientUnits="userSpaceOnUse" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2307"
- id="radialGradient2313"
- cx="19.985598"
- cy="36.77816"
- fx="19.985598"
- fy="36.77816"
- r="1.0821035"
- gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.565787)"
- gradientUnits="userSpaceOnUse" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2319"
- id="radialGradient2325"
- cx="20.443665"
- cy="37.425829"
- fx="20.443665"
- fy="37.425829"
- r="1.0821035"
- gradientTransform="matrix(1.125263,0.000000,0.000000,0.982744,-3.428678,0.731106)"
- gradientUnits="userSpaceOnUse" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2329"
- id="linearGradient2335"
- x1="17.602522"
- y1="26.057423"
- x2="17.682528"
- y2="32.654099"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.898789,0,0,1.071914,0.478025,-2.080838)" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2341"
- id="radialGradient2339"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(4.100086,1.627292e-17,2.125447e-14,-4.201322,-5.198109,105.3535)"
- cx="11.68129"
- cy="19.554111"
- fx="11.68129"
- fy="19.554111"
- r="8.2452126" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2349"
- id="radialGradient2355"
- cx="24.023088"
- cy="40.56913"
- fx="24.023088"
- fy="40.56913"
- r="16.28684"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.431250,1.157278e-15,23.07369)"
- gradientUnits="userSpaceOnUse" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2368"
- id="radialGradient2374"
- cx="29.913452"
- cy="30.442923"
- fx="29.913452"
- fy="30.442923"
- r="4.0018832"
- gradientTransform="matrix(3.751495,-2.191984e-22,1.723265e-22,3.147818,-82.00907,-65.70704)"
- gradientUnits="userSpaceOnUse" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2378"
- id="radialGradient2384"
- cx="24.195112"
- cy="10.577631"
- fx="24.195112"
- fy="10.577631"
- r="15.242914"
- gradientTransform="matrix(1.125263,-3.585417e-8,4.269819e-8,1.340059,-3.006704,1.355395)"
- gradientUnits="userSpaceOnUse" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2390"
- id="linearGradient2396"
- x1="30.603519"
- y1="37.337803"
- x2="30.603519"
- y2="36.112415"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.263867,0,0,0.859794,-6.499556,8.390924)" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2406"
- id="linearGradient2412"
- x1="17.850183"
- y1="28.939463"
- x2="19.040216"
- y2="41.03223"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.888785,0,0,1.08932,2.41099,-1.524336)" /></defs><sodipodi:namedview
- inkscape:cy="-2.3755359"
- inkscape:cx="25.234802"
- inkscape:zoom="1"
- inkscape:window-height="691"
- inkscape:window-width="872"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.21568627"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false"
- inkscape:window-x="466"
- inkscape:window-y="224"
- inkscape:current-layer="svg2"
- fill="#555753"
- showgrid="false"
- stroke="#a40000"
- showguides="true"
- inkscape:guide-bbox="true" />
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.158196e-2,0,0,1.859457e-2,43.12251,41.63767)"><rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" /></g><path
- style="color:#000000;fill:url(#linearGradient1514);fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 21.619576,8.1833733 L 27.577035,8.1833733 C 28.416767,8.1833733 41.46351,23.618701 41.46351,24.524032 L 41.019989,43.020777 C 41.019989,43.92611 40.343959,44.654954 39.504227,44.654954 L 8.0469496,44.654954 C 7.2072167,44.654954 6.5311871,43.92611 6.5311871,43.020777 L 6.5876651,24.524032 C 6.5876651,23.618701 20.779844,8.1833733 21.619576,8.1833733 z "
- id="rect1512"
- sodipodi:nodetypes="ccccccccc" /><path
- style="fill:none"
- id="path5"
- d="M 46.963575,45.735573 L 1.6386762,45.735573 L 1.6386762,0.41067554 L 46.963575,0.41067554 L 46.963575,45.735573 z " /><path
- style="fill:url(#linearGradient2335);fill-opacity:1;fill-rule:evenodd"
- id="path2327"
- d="M 23,29 L 22.954256,44.090942 L 11.111465,44.090942 L 11,29 L 23,29 z "
- clip-rule="evenodd"
- sodipodi:nodetypes="ccccc" /><path
- sodipodi:nodetypes="ccccccccc"
- id="path2357"
- d="M 21.780459,9.405584 L 27.339556,9.405584 C 28.123138,9.405584 40.340425,23.805172 40.340425,24.649756 L 39.993267,42.862067 C 39.993267,43.321326 39.84953,43.515532 39.480892,43.515532 L 8.0936894,43.529812 C 7.7250517,43.529812 7.5097258,43.449894 7.5097258,43.076262 L 7.7250676,24.649756 C 7.7250676,23.805172 20.99688,9.405584 21.780459,9.405584 z "
- style="opacity:0.3125;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- clip-rule="evenodd"
- d="M 7.2075295,27.943053 L 7.1532728,30.538247 L 25.521437,17.358993 L 40.807832,28.513421 L 40.879142,28.201707 L 24.508686,12.297576 L 7.2075295,27.943053 z "
- id="path23"
- style="opacity:0.2;fill:url(#radialGradient2384);fill-opacity:1;fill-rule:evenodd"
- sodipodi:nodetypes="ccccccc" /><path
- clip-rule="evenodd"
- d="M 22,30 L 22,44.090942 L 12.188971,44.090942 L 12,30 L 22,30 z "
- id="path188"
- style="fill:url(#linearGradient2412);fill-opacity:1;fill-rule:evenodd"
- sodipodi:nodetypes="ccccc" /><path
- style="opacity:0.40909089;fill:url(#radialGradient2325);fill-opacity:1;fill-rule:evenodd"
- id="path2315"
- d="M 19.576856,36.44767 C 20.249646,36.44767 20.793472,36.922275 20.793472,37.506177 C 20.793472,38.095988 20.249646,38.574532 19.576856,38.574532 C 18.904584,38.574532 18.35817,38.095988 18.35817,37.506177 C 18.358685,36.922275 18.904584,36.44767 19.576856,36.44767 z "
- clip-rule="evenodd" /><path
- clip-rule="evenodd"
- d="M 19.462314,35.932229 C 20.135103,35.932229 20.678929,36.406834 20.678929,36.990736 C 20.678929,37.580545 20.135103,38.059089 19.462314,38.059089 C 18.790041,38.059089 18.243627,37.580545 18.243627,36.990736 C 18.244142,36.406834 18.790041,35.932229 19.462314,35.932229 z "
- id="path217"
- style="fill:url(#radialGradient2313);fill-opacity:1;fill-rule:evenodd" /><path
- d="M 24.447748,11.559337 L 43.374808,28.729205 L 43.869487,29.121196 L 44.273163,28.949811 L 43.900293,28.188138 L 43.622679,27.964702 L 24.447748,12.392396 L 5.0582327,28.135731 L 4.8206309,28.279851 L 4.603921,28.986637 L 5.0373408,29.115885 L 5.4218948,28.807462 L 24.447748,11.559337 z "
- id="path342"
- style="fill:url(#XMLID_39_)"
- sodipodi:nodetypes="ccccccccccccc" /><path
- style="fill:#ef2929;stroke:#a40000"
- id="path362"
- d="M 24.330168,2.2713382 L 2.4484294,20.372675 L 1.8237005,27.538603 L 3.8236367,29.602926 C 3.8236367,29.602926 24.231018,12.445641 24.44773,12.274963 L 44.08027,29.818223 L 45.978694,27.494226 L 44.362903,20.382852 L 24.44773,2.1668788 L 24.330168,2.2713382 z "
- sodipodi:nodetypes="cccccccccc" />
-<path
- style="opacity:0.40909089;color:#000000;fill:url(#radialGradient2305);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 2.8413446,20.613129 L 2.5497894,27.236494 L 24.369219,8.980075 L 24.298891,3.0867443 L 2.8413446,20.613129 z "
- id="path1536"
- sodipodi:nodetypes="ccccc" /><path
- sodipodi:nodetypes="ccccc"
- id="path2337"
- d="M 24.483763,8.7509884 L 24.583223,2.9098867 L 43.912186,20.56184 L 45.403998,27.062652 L 24.483763,8.7509884 z "
- style="opacity:0.13636367;color:#000000;fill:url(#radialGradient2339);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" /><path
- style="opacity:0.31818183;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 27.102228,27.719824 L 36.142223,27.719824 C 36.912818,27.719824 37.53319,28.340194 37.53319,29.110791 L 37.525229,38.190012 C 37.525229,38.960608 36.928907,39.455981 36.158311,39.455981 L 27.102228,39.455981 C 26.331631,39.455981 25.711261,38.835608 25.711261,38.065012 L 25.711261,29.110791 C 25.711261,28.340194 26.331631,27.719824 27.102228,27.719824 z "
- id="rect2361"
- sodipodi:nodetypes="ccccccccc" /><rect
- style="opacity:1;color:#000000;fill:#3465a4;fill-opacity:1;fill-rule:nonzero;stroke:#757575;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3263"
- width="10.001333"
- height="9.9624557"
- x="26.507767"
- y="28.514256"
- rx="0.38128215"
- ry="0.38128215" /><path
- style="opacity:0.39772728;color:#000000;fill:url(#radialGradient2374);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 27.107118,34.408261 C 30.725101,34.739438 32.634842,32.962557 35.97527,32.855521 L 36,29.00603 L 27.088388,29 L 27.107118,34.408261 z "
- id="rect2363"
- sodipodi:nodetypes="ccccc" /></svg>
\ No newline at end of file
diff --git a/share/pixmaps/tryton/tryton-go-jump.svg b/share/pixmaps/tryton/tryton-go-jump.svg
deleted file mode 100644
index 3e0517f..0000000
--- a/share/pixmaps/tryton/tryton-go-jump.svg
+++ /dev/null
@@ -1,203 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- sodipodi:docname="go-jump.svg"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg11300"
- height="48px"
- width="48px"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2702">
- <stop
- style="stop-color:#3a7304;stop-opacity:1;"
- offset="0"
- id="stop2704" />
- <stop
- style="stop-color:#3a7304;stop-opacity:0;"
- offset="1"
- id="stop2706" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2187">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2189" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2191" />
- </linearGradient>
- <linearGradient
- id="linearGradient2161">
- <stop
- style="stop-color:#519e07;stop-opacity:1"
- offset="0"
- id="stop2163" />
- <stop
- style="stop-color:#6cc813;stop-opacity:1"
- offset="1.0000000"
- id="stop2165" />
- </linearGradient>
- <linearGradient
- id="linearGradient8662"
- inkscape:collect="always">
- <stop
- id="stop8664"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop8666"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.160225e-14,16.87306)"
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- id="radialGradient8668"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2161"
- id="linearGradient2167"
- x1="22.000000"
- y1="16.642263"
- x2="19.377108"
- y2="12.448164"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.171926,0.000000,0.000000,1.171926,-4.674553,-1.427903)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2187"
- id="linearGradient2193"
- x1="14.296179"
- y1="15.230618"
- x2="10.022297"
- y2="23.105061"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.171926,0.000000,0.000000,1.171926,-4.674553,-1.427903)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2702"
- id="linearGradient2708"
- x1="12.105637"
- y1="24.589863"
- x2="6.1056361"
- y2="29.839863"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="0"
- inkscape:window-x="173"
- inkscape:window-height="586"
- inkscape:window-width="872"
- inkscape:showpageshadow="false"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="46.696516"
- inkscape:cx="70.609761"
- inkscape:zoom="4"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.25490196"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- fill="#8ae234"
- stroke="#8ae234" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Go Jump</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>go</rdf:li>
- <rdf:li>jump</rdf:li>
- <rdf:li>seek</rdf:li>
- <rdf:li>arrow</rdf:li>
- <rdf:li>pointer</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <path
- transform="matrix(1.489736,0.000000,0.000000,-1.001252,-12.26794,72.07115)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.14117648;color:#000000;fill:url(#radialGradient8668);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2167);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2708);stroke-width:1.0000001;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 4.3920955,35.164045 C 3.0709563,-4.8617622 38.100746,1.7948935 36.928820,22.596580 L 46.304228,22.596580 L 31.655153,34.315840 L 16.420115,22.596580 C 16.420115,22.596580 26.088504,22.596580 26.088504,22.596580 C 26.674467,8.5334680 4.6559242,4.1065510 4.3920955,35.164045 z "
- id="path1432"
- sodipodi:nodetypes="ccccccc" />
- <path
- sodipodi:nodetypes="ccccccc"
- id="path2177"
- d="M 4.3609454,33.776714 C 4.4557415,-2.2986419 38.008172,2.0411991 35.829171,23.579043 L 43.433623,23.579043 L 31.618133,32.977887 L 19.387494,23.579043 C 19.387494,23.579043 27.066938,23.579043 27.066938,23.579043 C 28.105744,5.5081081 3.1989499,4.7058695 4.3609454,33.776714 z "
- style="opacity:0.41764703;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2193);stroke-width:0.99999970;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-go-next.svg b/share/pixmaps/tryton/tryton-go-next.svg
deleted file mode 100644
index 989bff5..0000000
--- a/share/pixmaps/tryton/tryton-go-next.svg
+++ /dev/null
@@ -1,191 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- sodipodi:docname="go-next.svg"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg11300"
- height="48"
- width="48"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000"
- version="1.0"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2591">
- <stop
- style="stop-color:#73d216"
- offset="0"
- id="stop2593" />
- <stop
- style="stop-color:#4e9a06"
- offset="1.0000000"
- id="stop2595" />
- </linearGradient>
- <linearGradient
- id="linearGradient8662"
- inkscape:collect="always">
- <stop
- id="stop8664"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop8666"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient8650"
- inkscape:collect="always">
- <stop
- id="stop8652"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop8654"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.046729,-3.749427e-16,2.853404e-16,1.557610,-19.51799,3.452086)"
- r="17.171415"
- fy="2.8969381"
- fx="19.701141"
- cy="2.8969381"
- cx="19.701141"
- id="radialGradient8656"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,2.511012e-15,16.87306)"
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- id="radialGradient8668"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2591"
- id="radialGradient2597"
- cx="22.291636"
- cy="32.797512"
- fx="22.291636"
- fy="32.797512"
- r="16.9562"
- gradientTransform="matrix(0.843022,1.871885e-16,-2.265228e-16,1.020168,4.499298,1.381992)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="25"
- inkscape:window-x="0"
- inkscape:window-height="885"
- inkscape:window-width="1280"
- inkscape:showpageshadow="false"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="27.398876"
- inkscape:cx="34.827552"
- inkscape:zoom="11.313708"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.25490196"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- fill="#4e9a06"
- stroke="#4e9a06" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Go Next</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>go</rdf:li>
- <rdf:li>next</rdf:li>
- <rdf:li>right</rdf:li>
- <rdf:li>arrow</rdf:li>
- <rdf:li>pointer</rdf:li>
- <rdf:li>></rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <path
- transform="matrix(1.271186,0.000000,0.000000,1.271186,-8.119376,-15.10179)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.29946522;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path8643"
- d="M 8.5541875,15.517348 L 8.5541875,32.511768 L 21.538,32.511768 L 21.538,41.056806 L 41.497835,24.150365 L 21.41919,7.1251168 L 21.41919,15.522652 L 8.5541875,15.517348 z "
- style="opacity:1;color:#000000;fill:url(#radialGradient2597);fill-opacity:1;fill-rule:evenodd;stroke:#3a7304;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccccc"
- id="path8645"
- d="M 21.962385,8.2485033 L 21.962385,16.054978 L 9.1452151,16.054978 L 9.1452151,25.095691 C 26.895215,27.095691 25.778752,17.640403 40.528752,24.140403 L 21.962385,8.2485033 z "
- style="opacity:0.5080214;color:#000000;fill:url(#radialGradient8656);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.48128339;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 9.537702,16.561892 L 9.537702,31.546332 L 22.523069,31.546332 L 22.523069,38.941498 L 40.001083,24.145807 L 22.507108,9.3654066 L 22.507108,16.566789 L 9.537702,16.561892 z "
- id="path8658"
- sodipodi:nodetypes="cccccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-go-previous.svg b/share/pixmaps/tryton/tryton-go-previous.svg
deleted file mode 100644
index f1eb977..0000000
--- a/share/pixmaps/tryton/tryton-go-previous.svg
+++ /dev/null
@@ -1,852 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- sodipodi:docname="go-previous.svg"
- sodipodi:docbase="/home/andreas/projekt/tango/scalable"
- inkscape:version="0.42+0.43pre2"
- sodipodi:version="0.32"
- id="svg11300"
- height="48px"
- width="48px"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2591">
- <stop
- style="stop-color:#73d216"
- offset="0"
- id="stop2593" />
- <stop
- style="stop-color:#4e9a06"
- offset="1.0000000"
- id="stop2595" />
- </linearGradient>
- <linearGradient
- id="linearGradient10314">
- <stop
- style="stop-color:#7ea5d6;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop10316" />
- <stop
- style="stop-color:#467ec5;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop10318" />
- </linearGradient>
- <linearGradient
- id="linearGradient8938">
- <stop
- id="stop8940"
- offset="0.0000000"
- style="stop-color:#fdc674;stop-opacity:1.0000000;" />
- <stop
- id="stop8942"
- offset="1.0000000"
- style="stop-color:#d88103;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient8662"
- inkscape:collect="always">
- <stop
- id="stop8664"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop8666"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient8650"
- inkscape:collect="always">
- <stop
- id="stop8652"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop8654"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient7636"
- inkscape:collect="always">
- <stop
- id="stop7638"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop7640"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient7614">
- <stop
- id="stop7616"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.21590909"
- id="stop7649" />
- <stop
- style="stop-color:#838383;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop7632" />
- <stop
- id="stop7618"
- offset="1"
- style="stop-color:#838383;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient7608">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop7610" />
- <stop
- id="stop7622"
- offset="0.46022728"
- style="stop-color:#e3e3e3;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#dadada;stop-opacity:0.67058824;"
- offset="0.61970556"
- id="stop7624" />
- <stop
- style="stop-color:#d1d1d1;stop-opacity:0.34285715;"
- offset="1.0000000"
- id="stop7612" />
- </linearGradient>
- <linearGradient
- id="linearGradient7602">
- <stop
- id="stop7604"
- offset="0.0000000"
- style="stop-color:#f6f6f6;stop-opacity:1.0000000;" />
- <stop
- id="stop7606"
- offset="1.0000000"
- style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient7586">
- <stop
- id="stop7588"
- offset="0.0000000"
- style="stop-color:#525252;stop-opacity:1.0000000;" />
- <stop
- id="stop7590"
- offset="1.0000000"
- style="stop-color:#000000;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient12836">
- <stop
- style="stop-color:#515152;stop-opacity:1;"
- offset="0"
- id="stop12838" />
- <stop
- style="stop-color:#515152;stop-opacity:0;"
- offset="1"
- id="stop12840" />
- </linearGradient>
- <linearGradient
- id="linearGradient12828">
- <stop
- style="stop-color:#cccccd;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop12830" />
- <stop
- id="stop12862"
- offset="0.0000000"
- style="stop-color:#adadae;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#8f8f90;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop12832" />
- </linearGradient>
- <linearGradient
- id="linearGradient12810">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop12812" />
- <stop
- style="stop-color:#e5e5e5;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop12814" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient11625">
- <stop
- style="stop-color:#fce94f;stop-opacity:1;"
- offset="0"
- id="stop11627" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop11629" />
- </linearGradient>
- <linearGradient
- id="linearGradient11615">
- <stop
- style="stop-color:#636363;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop11617" />
- <stop
- style="stop-color:#000000;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11619" />
- </linearGradient>
- <linearGradient
- id="linearGradient11602">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop11604" />
- <stop
- style="stop-color:#c5c5c5;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11606" />
- </linearGradient>
- <linearGradient
- id="linearGradient11594">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop11596" />
- <stop
- style="stop-color:#d1d1d1;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11598" />
- </linearGradient>
- <linearGradient
- id="linearGradient11520">
- <stop
- style="stop-color:#fbfbfb;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop11522" />
- <stop
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11524" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient11508">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop11510" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop11512" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient11494">
- <stop
- style="stop-color:#ef2929;stop-opacity:1;"
- offset="0"
- id="stop11496" />
- <stop
- style="stop-color:#ef2929;stop-opacity:0;"
- offset="1"
- id="stop11498" />
- </linearGradient>
- <linearGradient
- id="linearGradient11415">
- <stop
- style="stop-color:#204a87;stop-opacity:0.0000000;"
- offset="0.0000000"
- id="stop11417" />
- <stop
- id="stop11423"
- offset="0.50000000"
- style="stop-color:#204a87;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#204a87;stop-opacity:0;"
- offset="1"
- id="stop11419" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient11399">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop11401" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop11403" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11415"
- id="linearGradient11425"
- gradientUnits="userSpaceOnUse"
- x1="15.828360"
- y1="3.7744560"
- x2="43.615788"
- y2="34.462429"
- gradientTransform="translate(-60.28571,-0.285714)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11415"
- id="linearGradient11427"
- gradientUnits="userSpaceOnUse"
- x1="9.6957054"
- y1="9.3458843"
- x2="35.679932"
- y2="39.033859"
- gradientTransform="translate(-60.57143,0.000000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11415"
- id="linearGradient11439"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-60.85714,0.428571)"
- x1="13.267134"
- y1="19.774456"
- x2="26.758644"
- y2="33.462429" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11399"
- id="radialGradient11441"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
- cx="12.071428"
- cy="39.142857"
- fx="12.071428"
- fy="39.142857"
- r="8.5000000" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient11500"
- cx="27.577173"
- cy="15.048258"
- fx="27.577173"
- fy="15.048258"
- r="3.8335034"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient11504"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="16.049133"
- fx="27.577173"
- fy="16.049133"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient11514"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient11526"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.995058,-1.535926e-32,0.000000,1.855412,24.94925,-30.20430)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient11532"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-5.348412e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11594"
- id="linearGradient11600"
- x1="20.092352"
- y1="8.9471626"
- x2="31.799011"
- y2="38.947163"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.045319,0.000000,0.000000,0.957884,48.16627,1.415543)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="linearGradient11608"
- x1="24.445671"
- y1="0.49847093"
- x2="24.445671"
- y2="39.447163"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.984324,0.000000,0.000000,0.957884,49.65734,1.415543)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11615"
- id="radialGradient11621"
- cx="25.000000"
- cy="27.749998"
- fx="25.000000"
- fy="27.749998"
- r="4.7500000"
- gradientTransform="matrix(3.570338,3.171097e-15,-4.005596e-15,4.509900,-64.25843,-94.25499)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11631"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11635"
- gradientUnits="userSpaceOnUse"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000"
- gradientTransform="translate(2.000000,0.000000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11639"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11643"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11647"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(8.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11655"
- gradientUnits="userSpaceOnUse"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11657"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11659"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient11661"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12810"
- id="linearGradient12816"
- x1="65.623963"
- y1="21.459777"
- x2="87.528968"
- y2="21.459777"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12810"
- id="linearGradient12818"
- gradientUnits="userSpaceOnUse"
- x1="84.998962"
- y1="25.209778"
- x2="62.591469"
- y2="12.022278" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12828"
- id="radialGradient12834"
- cx="88.593018"
- cy="33.398670"
- fx="88.593018"
- fy="33.398670"
- r="7.0056136"
- gradientTransform="matrix(0.969219,0.227988,-0.194668,0.827570,9.443870,-15.99848)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12836"
- id="linearGradient12842"
- x1="88.750000"
- y1="31.656250"
- x2="92.062500"
- y2="36.656250"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12810"
- id="linearGradient12878"
- gradientUnits="userSpaceOnUse"
- x1="65.623963"
- y1="21.459777"
- x2="87.528968"
- y2="21.459777" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12836"
- id="linearGradient12880"
- gradientUnits="userSpaceOnUse"
- x1="88.750000"
- y1="31.656250"
- x2="92.062500"
- y2="36.656250" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12828"
- id="radialGradient12882"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.969219,0.227988,-0.194668,0.827570,9.443870,-15.99848)"
- cx="88.593018"
- cy="33.398670"
- fx="88.593018"
- fy="33.398670"
- r="7.0056136" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12810"
- id="linearGradient12884"
- gradientUnits="userSpaceOnUse"
- x1="84.998962"
- y1="25.209778"
- x2="62.591469"
- y2="12.022278" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11615"
- id="radialGradient12894"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.570338,3.171097e-15,-4.005596e-15,4.509900,-64.25843,-94.25499)"
- cx="25.000000"
- cy="27.749998"
- fx="25.000000"
- fy="27.749998"
- r="4.7500000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12896"
- gradientUnits="userSpaceOnUse"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000"
- gradientTransform="translate(7.267442e-2,-0.181686)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12898"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.072674,-0.181686)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12900"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.072674,-0.181686)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12902"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.000000,0.000000)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12911"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(7.267442e-2,-0.181686)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12913"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(2.072674,-0.181686)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11625"
- id="linearGradient12915"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(4.072674,-0.181686)"
- x1="21.500000"
- y1="30.000000"
- x2="21.500000"
- y2="27.375000" />
- <linearGradient
- y2="21.067410"
- x2="24.445690"
- y1="33.447811"
- x1="31.597168"
- gradientTransform="matrix(0.476329,0.000000,0.000000,0.627721,62.07560,9.156933)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient7584"
- xlink:href="#linearGradient11594"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.407878,2.776254e-16,-5.900875e-16,1.861050,14.96976,-20.55775)"
- r="6.0270013"
- fy="29.099535"
- fx="24.399090"
- cy="29.099535"
- cx="24.399090"
- id="radialGradient7592"
- xlink:href="#linearGradient7586"
- inkscape:collect="always" />
- <linearGradient
- y2="11.042997"
- x2="22.585604"
- y1="34.149513"
- x1="22.585604"
- gradientTransform="matrix(1.059222,0.000000,0.000000,0.808101,48.08657,4.001391)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient7596"
- xlink:href="#linearGradient7608"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(49.32070,0.000000)"
- gradientUnits="userSpaceOnUse"
- y2="38.454056"
- x2="28.284273"
- y1="28.554562"
- x1="25.279068"
- id="linearGradient7642"
- xlink:href="#linearGradient7636"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.777122,-8.126449e-2,6.891211e-2,2.223012,4.035118,-33.24798)"
- r="4.4774761"
- fy="29.609560"
- fx="24.483574"
- cy="29.609560"
- cx="24.483574"
- id="radialGradient7647"
- xlink:href="#linearGradient7614"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.046729,-3.749427e-16,-2.853404e-16,1.557610,67.59375,3.275309)"
- r="17.171415"
- fy="5.7859797"
- fx="25.075571"
- cy="5.7859797"
- cx="25.075571"
- id="radialGradient8656"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,6.772795e-15,16.87306)"
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- id="radialGradient8668"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2591"
- id="radialGradient2597"
- cx="22.291636"
- cy="32.797512"
- fx="22.291636"
- fy="32.797512"
- r="16.956199"
- gradientTransform="matrix(-0.843022,1.871885e-16,2.265228e-16,1.020168,43.57646,1.205215)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="25"
- inkscape:window-x="0"
- inkscape:window-height="885"
- inkscape:window-width="1280"
- inkscape:showpageshadow="false"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="25.461494"
- inkscape:cx="25.558072"
- inkscape:zoom="16"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.25490196"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- fill="#4e9a06"
- stroke="#4e9a06" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Go Previous</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>go</rdf:li>
- <rdf:li>previous</rdf:li>
- <rdf:li>left</rdf:li>
- <rdf:li>arrow</rdf:li>
- <rdf:li>pointer</rdf:li>
- <rdf:li><</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <path
- transform="matrix(-1.271186,0.000000,0.000000,1.271186,56.19514,-15.27857)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.29946521;color:#000000;fill:url(#radialGradient8668);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path8643"
- d="M 39.490316,15.496821 L 39.490316,32.491241 L 26.537753,32.491241 L 26.537753,40.973779 L 6.577917,23.973588 L 26.531563,6.7295901 L 26.531563,15.502125 L 39.490316,15.496821 z "
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2597);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#3a7304;stroke-width:1.0000004;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccccc"
- id="path8645"
- d="M 25.988368,7.9779766 L 25.988368,16.034451 L 38.930538,16.034451 L 38.930538,24.918914 C 22.180538,18.668914 22.797001,30.213626 7.547,23.963626 L 25.988368,7.9779766 z "
- style="opacity:0.50802141;color:#000000;fill:url(#radialGradient8656);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.48128340;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000004;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 38.475551,16.541365 L 38.475551,31.463305 L 25.490184,31.463305 L 25.490184,38.764721 L 8.168419,23.96903 L 25.506145,9.0636299 L 25.506145,16.546262 L 38.475551,16.541365 z "
- id="path8658"
- sodipodi:nodetypes="cccccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-help.svg b/share/pixmaps/tryton/tryton-help.svg
deleted file mode 100644
index 669dda3..0000000
--- a/share/pixmaps/tryton/tryton-help.svg
+++ /dev/null
@@ -1,213 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48.000000px"
- height="48.000000px"
- id="svg6361"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/apps"
- sodipodi:docname="help-browser.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2431">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2433" />
- <stop
- style="stop-color:#b8b8b8;stop-opacity:1;"
- offset="1"
- id="stop2435" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient21644">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop21646" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop21648" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient21644"
- id="radialGradient21650"
- cx="25.125"
- cy="36.75"
- fx="25.125"
- fy="36.75"
- r="15.75"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.595238,3.369686e-16,14.87500)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2933">
- <stop
- id="stop2935"
- offset="0"
- style="stop-color:#9cbcde;stop-opacity:1" />
- <stop
- id="stop2937"
- offset="1"
- style="stop-color:#204a87" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2933"
- id="radialGradient2207"
- cx="26.544321"
- cy="28.458725"
- fx="26.544321"
- fy="28.458725"
- r="22.376116"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.238342,5.954846e-3,-6.507762e-3,1.351272,-6.992513,-9.744842)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2431"
- id="radialGradient2437"
- cx="-19.515638"
- cy="16.855663"
- fx="-19.515638"
- fy="16.855663"
- r="8.7536434"
- gradientTransform="matrix(4.445991,-8.852599e-16,1.367217e-15,6.8665,67.25071,-104.6679)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:guide-bbox="true"
- showguides="true"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.15294118"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="25.160747"
- inkscape:cy="22.523569"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1014"
- inkscape:window-height="1122"
- inkscape:window-x="178"
- inkscape:window-y="25"
- inkscape:showpageshadow="false"
- fill="#deb887"
- gridcolor="#7171cd"
- gridopacity="0.12156863"
- gridempcolor="#7b7bc3"
- gridempopacity="0.5372549"
- gridempspacing="10"
- stroke="#204a87" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Help Browser</dc:title>
- <dc:date>2005-11-06</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Tuomas Kuosmanen</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>help</rdf:li>
- <rdf:li>browser</rdf:li>
- <rdf:li>documentation</rdf:li>
- <rdf:li>docs</rdf:li>
- <rdf:li>man</rdf:li>
- <rdf:li>info</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Jakub Steiner, Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:contributor>
- <dc:source>http://tigert.com</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:0.63068181;color:#000000;fill:url(#radialGradient21650);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path21642"
- sodipodi:cx="25.125000"
- sodipodi:cy="36.750000"
- sodipodi:rx="15.750000"
- sodipodi:ry="9.3750000"
- d="M 40.875000 36.750000 A 15.750000 9.3750000 0 1 1 9.3750000,36.750000 A 15.750000 9.3750000 0 1 1 40.875000 36.750000 z"
- transform="matrix(1.173803,0.000000,0.000000,0.600000,-5.004403,20.32500)" />
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient2207);fill-opacity:1.0000000;stroke:#204a87"
- id="path2093"
- sodipodi:cx="23.909048"
- sodipodi:cy="23.825787"
- sodipodi:rx="21.876116"
- sodipodi:ry="21.876116"
- d="M 45.785164 23.825787 A 21.876116 21.876116 0 1 1 2.0329323,23.825787 A 21.876116 21.876116 0 1 1 45.785164 23.825787 z"
- transform="matrix(0.938442,0.000000,0.000000,0.938680,1.564075,1.633906)" />
- <path
- transform="matrix(0.855103,0.000000,0.000000,0.855213,3.555288,3.625019)"
- d="M 45.785164 23.825787 A 21.876116 21.876116 0 1 1 2.0329323,23.825787 A 21.876116 21.876116 0 1 1 45.785164 23.825787 z"
- sodipodi:ry="21.876116"
- sodipodi:rx="21.876116"
- sodipodi:cy="23.825787"
- sodipodi:cx="23.909048"
- id="path2209"
- style="fill:none;fill-opacity:1.0000000;stroke:#ffffff;stroke-width:3.0307744;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000;opacity:0.96022727"
- sodipodi:type="arc" />
- <path
- sodipodi:type="inkscape:offset"
- inkscape:radius="0.13495015"
- inkscape:original="M -20.25 6 C -21.298341 6.000026 -22.372769 6.1244771 -23.5 6.34375 C -24.627244 6.563073 -25.886043 6.8832479 -27.25 7.34375 L -27.25 12.5 C -26.100219 11.776335 -24.997109 11.236862 -23.9375 10.875 C -22.877902 10.502213 -21.881822 10.312521 -20.96875 10.3125 C -19.999334 10.312521 -19.259834 10.530174 -18.71875 10.96875 C -18.177686 11.396402 -17.906262 12.013726 -17.90625 12.78125 C -17.906261 13.285654 -18.039408 13.776881 -18.34375 14.28125 C -18.636843 14.785651 -19.107484 15.33609 -19.75 15.90625 L -20.84375 16.84375 C -22.038631 17.918325 -22.815518 18.829509 -23.1875 19.53125 C -23.559495 20.22205 -23.750005 21.007137 -23.75 21.90625 L -23.75 22.71875 L -17.65625 22.71875 L -17.65625 21.96875 C -17.656262 21.475338 -17.517981 21.030712 -17.28125 20.625 C -17.044542 20.208345 -16.547785 19.648586 -15.78125 18.96875 L -14.71875 18.03125 C -13.659161 17.055386 -12.908389 16.156813 -12.46875 15.3125 C -12.029144 14.457253 -11.781268 13.480828 -11.78125 12.40625 C -11.781268 10.311973 -12.525902 8.7417969 -13.96875 7.65625 C -15.41163 6.559783 -17.499549 6.0000261 -20.25 6 z M -23.75 25.15625 L -23.75 31 L -17.65625 31 L -17.65625 25.15625 L -23.75 25.15625 z "
- xlink:href="#text2215"
- style="font-size:34.15322876px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:url(#radialGradient2437);fill-opacity:1;stroke:#ffffff;stroke-width:1.09947276px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.78612713;font-family:Bitstream Vera Sans"
- id="path1554"
- d="M -20.25,5.875 C -21.309019,5.8750263 -22.397637,5.9982356 -23.53125,6.21875 C -24.664175,6.4391783 -25.911412,6.7562625 -27.28125,7.21875 C -27.291632,7.21754 -27.302118,7.21754 -27.3125,7.21875 C -27.324563,7.2273788 -27.335121,7.237937 -27.34375,7.25 C -27.355813,7.2586288 -27.366371,7.269187 -27.375,7.28125 C -27.37621,7.2916315 -27.37621,7.3021185 -27.375,7.3125 C -27.37621,7.3228815 -27.37621,7.3333685 -27.375,7.34375 L -27.375,12.5 C -27.37621,12.510382 -27.37621,12.520868 -27.375,12.53125 C -27.37621,12.541632 -27.37621,12.552118 -27.375,12.5625 C -27.366371,12.574563 -27.355813,12.585121 -27.34375,12.59375 C -27.335121,12.605813 -27.324563,12.616371 -27.3125,12.625 C -27.302118,12.62621 -27.291632,12.62621 -27.28125,12.625 C -27.270868,12.62621 -27.260382,12.62621 -27.25,12.625 C -27.239618,12.62621 -27.229132,12.62621 -27.21875,12.625 C -27.208368,12.62621 -27.197882,12.62621 -27.1875,12.625 C -26.045062,11.905957 -24.954148,11.357862 -23.90625,11 C -22.858109,10.631244 -21.863134,10.437521 -20.96875,10.4375 C -20.019532,10.437521 -19.323825,10.648045 -18.8125,11.0625 C -18.303777,11.46459 -18.031262,12.04554 -18.03125,12.78125 C -18.03126,13.261907 -18.175438,13.73266 -18.46875,14.21875 C -18.751741,14.705766 -19.209015,15.249245 -19.84375,15.8125 L -20.9375,16.75 C -22.138959,17.83049 -22.926743,18.741022 -23.3125,19.46875 C -23.695613,20.180196 -23.875005,20.988074 -23.875,21.90625 L -23.875,22.71875 C -23.87621,22.729132 -23.87621,22.739618 -23.875,22.75 C -23.87621,22.760382 -23.87621,22.770868 -23.875,22.78125 C -23.866371,22.793313 -23.855813,22.803871 -23.84375,22.8125 C -23.835121,22.824563 -23.824563,22.835121 -23.8125,22.84375 C -23.802118,22.84496 -23.791632,22.84496 -23.78125,22.84375 C -23.770868,22.84496 -23.760382,22.84496 -23.75,22.84375 L -17.65625,22.84375 C -17.645868,22.84496 -17.635382,22.84496 -17.625,22.84375 C -17.614618,22.84496 -17.604132,22.84496 -17.59375,22.84375 C -17.581687,22.835121 -17.571129,22.824563 -17.5625,22.8125 C -17.550437,22.803871 -17.539879,22.793313 -17.53125,22.78125 C -17.53004,22.770868 -17.53004,22.760382 -17.53125,22.75 C -17.53004,22.739618 -17.53004,22.729132 -17.53125,22.71875 L -17.53125,21.96875 C -17.531261,21.500554 -17.38288,21.075901 -17.15625,20.6875 C -16.933955,20.296216 -16.448177,19.737141 -15.6875,19.0625 L -14.625,18.125 C -13.558412,17.14269 -12.794341,16.240346 -12.34375,15.375 C -11.894481,14.500954 -11.656268,13.50158 -11.65625,12.40625 C -11.656268,10.279985 -12.400019,8.6722224 -13.875,7.5625 C -15.350197,6.4414748 -17.48124,5.8750263 -20.25,5.875 z M -23.8125,25.03125 C -23.824563,25.039879 -23.835121,25.050437 -23.84375,25.0625 C -23.855813,25.071129 -23.866371,25.081687 -23.875,25.09375 C -23.87621,25.104132 -23.87621,25.114618 -23.875,25.125 C -23.87621,25.135382 -23.87621,25.145868 -23.875,25.15625 L -23.875,31 C -23.87621,31.010382 -23.87621,31.020868 -23.875,31.03125 C -23.87621,31.041632 -23.87621,31.052118 -23.875,31.0625 C -23.866371,31.074563 -23.855813,31.085121 -23.84375,31.09375 C -23.835121,31.105813 -23.824563,31.116371 -23.8125,31.125 C -23.802118,31.12621 -23.791632,31.12621 -23.78125,31.125 C -23.770868,31.12621 -23.760382,31.12621 -23.75,31.125 L -17.65625,31.125 C -17.645868,31.12621 -17.635382,31.12621 -17.625,31.125 C -17.614618,31.12621 -17.604132,31.12621 -17.59375,31.125 C -17.581687,31.116371 -17.571129,31.105813 -17.5625,31.09375 C -17.550437,31.085121 -17.539879,31.074563 -17.53125,31.0625 C -17.53004,31.052118 -17.53004,31.041632 -17.53125,31.03125 C -17.53004,31.020868 -17.53004,31.010382 -17.53125,31 L -17.53125,25.15625 C -17.53004,25.145868 -17.53004,25.135382 -17.53125,25.125 C -17.53004,25.114618 -17.53004,25.104132 -17.53125,25.09375 C -17.539879,25.081687 -17.550437,25.071129 -17.5625,25.0625 C -17.571129,25.050437 -17.581687,25.039879 -17.59375,25.03125 C -17.604132,25.03004 -17.614618,25.03004 -17.625,25.03125 C -17.635382,25.03004 -17.645868,25.03004 -17.65625,25.03125 L -23.75,25.03125 C -23.760382,25.03004 -23.770868,25.03004 -23.78125,25.03125 C -23.791632,25.03004 -23.802118,25.03004 -23.8125,25.03125 z "
- transform="matrix(0.849895,0,0,0.835205,41.72981,8.548327)" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-icon.png b/share/pixmaps/tryton/tryton-icon.png
deleted file mode 100644
index f26821a..0000000
Binary files a/share/pixmaps/tryton/tryton-icon.png and /dev/null differ
diff --git a/share/pixmaps/tryton/tryton-icon.svg b/share/pixmaps/tryton/tryton-icon.svg
deleted file mode 100644
index 2ca5910..0000000
--- a/share/pixmaps/tryton/tryton-icon.svg
+++ /dev/null
@@ -1,83 +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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="256"
- height="256"
- id="svg2589"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docname="logo.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- version="1.0">
- <defs
- id="defs2591">
- <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="perspective2597" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="0.35"
- inkscape:cx="-247.85714"
- inkscape:cy="62.857143"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:window-width="1676"
- inkscape:window-height="1027"
- inkscape:window-x="0"
- inkscape:window-y="19"
- width="256px" />
- <metadata
- id="metadata2594">
- <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>
- <g
- inkscape:label="Calque 1"
- inkscape:groupmode="layer"
- id="layer1"
- transform="translate(-279.10535,-220.03895)">
- <g
- id="g2381"
- transform="matrix(1.921664,0,0,1.921664,-257.24135,-202.80203)">
- <path
- inkscape:export-ydpi="86.470001"
- inkscape:export-xdpi="86.470001"
- inkscape:export-filename="/home/bch/icon.png"
- sodipodi:nodetypes="ccccccccc"
- id="path5301"
- d="M 412.32323,322.16409 C 412.32308,343.04264 401.11709,353.40648 378.70516,353.25522 L 314.22867,353.25522 C 290.81311,353.25522 279.10535,343.19424 279.10535,323.07157 L 279.10535,251.3573 C 279.10535,230.4784 290.5622,220.03895 313.47599,220.03895 L 378.20338,220.03895 C 400.94981,220.03895 412.32308,230.55402 412.32323,251.58418 L 412.32323,322.16409"
- style="font-size:108.87190247px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#1b2019;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Kimberley;-inkscape-font-specification:Kimberley" />
- <path
- inkscape:export-ydpi="86.470001"
- inkscape:export-xdpi="86.470001"
- inkscape:export-filename="/home/bch/icon.png"
- style="fill:#ededed;fill-opacity:1;stroke:none;stroke-width:1.26842833;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 288.99559,308.25172 C 292.09127,306.62574 297.88176,309.27449 300.50383,313.51767 C 302.8549,317.3218 314.76561,320.8627 318.98603,319.01203 C 321.80229,317.77783 322.51333,316.21366 322.73386,310.76695 C 323.1489,300.52359 320.84164,292.50281 313.37161,278.2244 C 309.62279,271.05845 305.69461,263.13385 304.64264,260.61737 C 303.59041,258.09966 300.75374,253.65582 298.33896,250.74177 C 293.19987,244.54382 293.04031,242.85028 297.25792,239.25469 C 303.57321,233.87143 314.24172,242.58579 311.93884,251.24628 C 310.80553,255.50895 312.98129,261.72677 320.18712,274.81699 C 328.73746,290.35035 337.40333,296.64235 342.57881,291.07544 C 343.9159,289.63767 345.57564,281.61605 347.10513,269.19866 C 349.40596,250.52245 349.39427,249.40476 346.86039,245.64991 C 342.47996,239.15809 346.61048,232.42164 353.54234,234.75155 C 360.53122,237.10014 365.09058,246.60512 360.71056,249.69411 C 358.76707,251.06431 358.13893,255.04878 357.25718,271.60031 C 356.12669,292.82409 356.98183,298.50462 361.73718,301.35982 C 365.96354,303.89702 367.43339,303.38127 376.34297,296.21369 C 385.79672,288.60995 389.68322,283.6885 389.93287,279.00589 C 390.16497,274.65077 393.05085,272.32083 397.65098,272.77605 C 400.58326,273.06708 401.89245,274.03055 403.53149,277.10171 C 406.87815,283.37342 405.91932,287.35835 400.8189,288.37652 C 396.66266,289.20529 389.52267,298.40471 378.53882,317.08095 C 366.94063,336.80192 364.39846,338.85614 351.40019,339.01368 C 346.05671,339.07751 338.58094,337.29897 320.98194,331.77309 C 308.14802,327.74219 295.98135,324.244 293.94456,323.9969 C 286.58526,323.10803 282.9191,311.44518 288.99559,308.25172 z"
- id="path5303" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-list-add.svg b/share/pixmaps/tryton/tryton-list-add.svg
deleted file mode 100644
index a514a01..0000000
--- a/share/pixmaps/tryton/tryton-list-add.svg
+++ /dev/null
@@ -1,434 +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://web.resource.org/cc/"
- 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"
- width="48px"
- height="48px"
- id="svg6431"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="list-add.svg">
- <defs
- id="defs6433">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2091">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2093" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2095" />
- </linearGradient>
- <linearGradient
- id="linearGradient7916">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7918" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.34020618;"
- offset="1.0000000"
- id="stop7920" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1503"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.018989e-13,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2847">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2849" />
- <stop
- style="stop-color:#3465a4;stop-opacity:0;"
- offset="1"
- id="stop2851" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2847"
- id="linearGradient1488"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,-1.242480,40.08170)"
- x1="37.128052"
- y1="29.729605"
- x2="37.065414"
- y2="26.194071" />
- <linearGradient
- id="linearGradient2831">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2833" />
- <stop
- id="stop2855"
- offset="0.33333334"
- style="stop-color:#5b86be;stop-opacity:1;" />
- <stop
- style="stop-color:#83a8d8;stop-opacity:0;"
- offset="1"
- id="stop2835" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2831"
- id="linearGradient1486"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-48.30498,-6.043298)"
- x1="13.478554"
- y1="10.612206"
- x2="15.419417"
- y2="19.115122" />
- <linearGradient
- id="linearGradient2380">
- <stop
- style="stop-color:#b9cfe7;stop-opacity:1"
- offset="0"
- id="stop2382" />
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="1"
- id="stop2384" />
- </linearGradient>
- <linearGradient
- id="linearGradient2682">
- <stop
- style="stop-color:#3977c3;stop-opacity:1;"
- offset="0"
- id="stop2684" />
- <stop
- style="stop-color:#89aedc;stop-opacity:0;"
- offset="1"
- id="stop2686" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2682"
- id="linearGradient2688"
- x1="36.713837"
- y1="31.455952"
- x2="37.124462"
- y2="24.842253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-48.77039,-5.765705)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2690">
- <stop
- style="stop-color:#c4d7eb;stop-opacity:1;"
- offset="0"
- id="stop2692" />
- <stop
- style="stop-color:#c4d7eb;stop-opacity:0;"
- offset="1"
- id="stop2694" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2690"
- id="linearGradient2696"
- x1="32.647972"
- y1="30.748846"
- x2="37.124462"
- y2="24.842253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-48.77039,-5.765705)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2871">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2873" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop2875" />
- </linearGradient>
- <linearGradient
- id="linearGradient2402">
- <stop
- style="stop-color:#729fcf;stop-opacity:1;"
- offset="0"
- id="stop2404" />
- <stop
- style="stop-color:#528ac5;stop-opacity:1;"
- offset="1"
- id="stop2406" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2797"
- id="linearGradient1493"
- gradientUnits="userSpaceOnUse"
- x1="5.9649176"
- y1="26.048164"
- x2="52.854097"
- y2="26.048164" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2797">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2799" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2801" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2797"
- id="linearGradient1491"
- gradientUnits="userSpaceOnUse"
- x1="5.9649176"
- y1="26.048164"
- x2="52.854097"
- y2="26.048164" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7179">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7181" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop7183" />
- </linearGradient>
- <linearGradient
- id="linearGradient2316">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2318" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.65979379;"
- offset="1"
- id="stop2320" />
- </linearGradient>
- <linearGradient
- id="linearGradient1322">
- <stop
- id="stop1324"
- offset="0.0000000"
- style="stop-color:#729fcf" />
- <stop
- id="stop1326"
- offset="1.0000000"
- style="stop-color:#5187d6;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1322"
- id="linearGradient4975"
- x1="34.892849"
- y1="36.422989"
- x2="45.918697"
- y2="48.547989"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-18.01785,-13.57119)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7179"
- id="linearGradient7185"
- x1="13.435029"
- y1="13.604306"
- x2="22.374878"
- y2="23.554308"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7179"
- id="linearGradient7189"
- gradientUnits="userSpaceOnUse"
- x1="13.435029"
- y1="13.604306"
- x2="22.374878"
- y2="23.554308"
- gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,47.93934,50.02474)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2380"
- id="linearGradient7180"
- gradientUnits="userSpaceOnUse"
- x1="62.513836"
- y1="36.061237"
- x2="15.984863"
- y2="20.60858" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2871"
- id="linearGradient7182"
- gradientUnits="userSpaceOnUse"
- x1="46.834816"
- y1="45.264122"
- x2="45.380436"
- y2="50.939667" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2402"
- id="linearGradient7184"
- gradientUnits="userSpaceOnUse"
- x1="18.935766"
- y1="23.667896"
- x2="53.588622"
- y2="26.649362" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2871"
- id="linearGradient7186"
- gradientUnits="userSpaceOnUse"
- x1="46.834816"
- y1="45.264122"
- x2="45.380436"
- y2="50.939667" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7916"
- id="linearGradient7922"
- x1="16.874998"
- y1="22.851799"
- x2="27.900846"
- y2="34.976799"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2091"
- id="radialGradient2097"
- cx="23.070683"
- cy="35.127438"
- fx="23.070683"
- fy="35.127438"
- r="10.319340"
- gradientTransform="matrix(0.914812,1.265023e-2,-8.21502e-3,0.213562,2.253914,27.18889)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.15686275"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="38.430663"
- inkscape:cy="0.031886897"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1280"
- inkscape:window-height="949"
- inkscape:window-x="553"
- inkscape:window-y="117"
- showguides="true"
- inkscape:guide-bbox="true"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata6436">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Add</dc:title>
- <dc:date>2006-01-04</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://tango-project.org</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>add</rdf:li>
- <rdf:li>plus</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:0.10824742;fill:url(#radialGradient2097);fill-opacity:1;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="path1361"
- sodipodi:cx="22.958872"
- sodipodi:cy="34.94062"
- sodipodi:rx="10.31934"
- sodipodi:ry="2.320194"
- d="M 33.278212 34.94062 A 10.31934 2.320194 0 1 1 12.639532,34.94062 A 10.31934 2.320194 0 1 1 33.278212 34.94062 z"
- transform="matrix(1.550487,0,0,1.978714,-12.4813,-32.49103)" />
- <path
- style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1.0000000;stroke:#3465a4;stroke-width:1.0000004px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
- d="M 27.514356,37.542682 L 27.514356,28.515722 L 37.492820,28.475543 L 37.492820,21.480219 L 27.523285,21.480219 L 27.514356,11.520049 L 20.498082,11.531210 L 20.502546,21.462362 L 10.512920,21.536022 L 10.477206,28.504561 L 20.511475,28.475543 L 20.518171,37.515896 L 27.514356,37.542682 z "
- id="text1314"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860215;fill:url(#linearGradient4975);fill-opacity:1.0000000;stroke:url(#linearGradient7922);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
- d="M 26.498702,36.533920 L 26.498702,27.499738 L 36.501304,27.499738 L 36.494607,22.475309 L 26.507630,22.475309 L 26.507630,12.480335 L 21.512796,12.498193 L 21.521725,22.475309 L 11.495536,22.493166 L 11.468750,27.466256 L 21.533143,27.475185 L 21.519750,36.502670 L 26.498702,36.533920 z "
- id="path7076"
- sodipodi:nodetypes="ccccccccccccc" />
- <path
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.31182796"
- d="M 11.000000,25.000000 C 11.000000,26.937500 36.984375,24.031250 36.984375,24.968750 L 36.984375,21.968750 L 27.000000,22.000000 L 27.000000,12.034772 L 21.000000,12.034772 L 21.000000,22.000000 L 11.000000,22.000000 L 11.000000,25.000000 z "
- id="path7914"
- sodipodi:nodetypes="ccccccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-list-remove.svg b/share/pixmaps/tryton/tryton-list-remove.svg
deleted file mode 100644
index 67da191..0000000
--- a/share/pixmaps/tryton/tryton-list-remove.svg
+++ /dev/null
@@ -1,422 +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://web.resource.org/cc/"
- 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"
- width="48px"
- height="48px"
- id="svg6431"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="list-remove.svg">
- <defs
- id="defs6433">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2091">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2093" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2095" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2091"
- id="radialGradient2097"
- cx="23.070683"
- cy="35.127438"
- fx="23.070683"
- fy="35.127438"
- r="10.319340"
- gradientTransform="matrix(0.914812,1.265023e-2,-8.21502e-3,0.213562,2.253914,27.18889)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient7916">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7918" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.34020618;"
- offset="1.0000000"
- id="stop7920" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1503"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.018989e-13,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2847">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2849" />
- <stop
- style="stop-color:#3465a4;stop-opacity:0;"
- offset="1"
- id="stop2851" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2847"
- id="linearGradient1488"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,-1.242480,40.08170)"
- x1="37.128052"
- y1="29.729605"
- x2="37.065414"
- y2="26.194071" />
- <linearGradient
- id="linearGradient2831">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2833" />
- <stop
- id="stop2855"
- offset="0.33333334"
- style="stop-color:#5b86be;stop-opacity:1;" />
- <stop
- style="stop-color:#83a8d8;stop-opacity:0;"
- offset="1"
- id="stop2835" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2831"
- id="linearGradient1486"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-48.30498,-6.043298)"
- x1="13.478554"
- y1="10.612206"
- x2="15.419417"
- y2="19.115122" />
- <linearGradient
- id="linearGradient2380">
- <stop
- style="stop-color:#b9cfe7;stop-opacity:1"
- offset="0"
- id="stop2382" />
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="1"
- id="stop2384" />
- </linearGradient>
- <linearGradient
- id="linearGradient2682">
- <stop
- style="stop-color:#3977c3;stop-opacity:1;"
- offset="0"
- id="stop2684" />
- <stop
- style="stop-color:#89aedc;stop-opacity:0;"
- offset="1"
- id="stop2686" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2682"
- id="linearGradient2688"
- x1="36.713837"
- y1="31.455952"
- x2="37.124462"
- y2="24.842253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-48.77039,-5.765705)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2690">
- <stop
- style="stop-color:#c4d7eb;stop-opacity:1;"
- offset="0"
- id="stop2692" />
- <stop
- style="stop-color:#c4d7eb;stop-opacity:0;"
- offset="1"
- id="stop2694" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2690"
- id="linearGradient2696"
- x1="32.647972"
- y1="30.748846"
- x2="37.124462"
- y2="24.842253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-48.77039,-5.765705)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2871">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2873" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop2875" />
- </linearGradient>
- <linearGradient
- id="linearGradient2402">
- <stop
- style="stop-color:#729fcf;stop-opacity:1;"
- offset="0"
- id="stop2404" />
- <stop
- style="stop-color:#528ac5;stop-opacity:1;"
- offset="1"
- id="stop2406" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2797"
- id="linearGradient1493"
- gradientUnits="userSpaceOnUse"
- x1="5.9649176"
- y1="26.048164"
- x2="52.854097"
- y2="26.048164" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2797">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2799" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2801" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2797"
- id="linearGradient1491"
- gradientUnits="userSpaceOnUse"
- x1="5.9649176"
- y1="26.048164"
- x2="52.854097"
- y2="26.048164" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient7179">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop7181" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop7183" />
- </linearGradient>
- <linearGradient
- id="linearGradient2316">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2318" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.65979379;"
- offset="1"
- id="stop2320" />
- </linearGradient>
- <linearGradient
- id="linearGradient1322">
- <stop
- id="stop1324"
- offset="0.0000000"
- style="stop-color:#729fcf" />
- <stop
- id="stop1326"
- offset="1.0000000"
- style="stop-color:#5187d6;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1322"
- id="linearGradient4975"
- x1="34.892849"
- y1="36.422989"
- x2="45.918697"
- y2="48.547989"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-18.01785,-13.57119)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7179"
- id="linearGradient7185"
- x1="13.435029"
- y1="13.604306"
- x2="22.374878"
- y2="23.554308"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7179"
- id="linearGradient7189"
- gradientUnits="userSpaceOnUse"
- x1="13.435029"
- y1="13.604306"
- x2="22.374878"
- y2="23.554308"
- gradientTransform="matrix(-1.000000,0.000000,0.000000,-1.000000,47.93934,50.02474)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2380"
- id="linearGradient7180"
- gradientUnits="userSpaceOnUse"
- x1="62.513836"
- y1="36.061237"
- x2="15.984863"
- y2="20.60858" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2871"
- id="linearGradient7182"
- gradientUnits="userSpaceOnUse"
- x1="46.834816"
- y1="45.264122"
- x2="45.380436"
- y2="50.939667" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2402"
- id="linearGradient7184"
- gradientUnits="userSpaceOnUse"
- x1="18.935766"
- y1="23.667896"
- x2="53.588622"
- y2="26.649362" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2871"
- id="linearGradient7186"
- gradientUnits="userSpaceOnUse"
- x1="46.834816"
- y1="45.264122"
- x2="45.380436"
- y2="50.939667" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient7916"
- id="linearGradient7922"
- x1="16.874998"
- y1="22.851799"
- x2="27.900846"
- y2="34.976799"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.10980392"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="38.727739"
- inkscape:cy="26.474252"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1280"
- inkscape:window-height="949"
- inkscape:window-x="380"
- inkscape:window-y="79"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata6436">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Remove</dc:title>
- <dc:date>2006-01-04</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://tango-project.org</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>remove</rdf:li>
- <rdf:li>delete</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;fill:#75a1d0;fill-opacity:1.0000000;stroke:#3465a4;stroke-width:1.0000004px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
- d="M 27.514356,28.359472 L 39.633445,28.475543 L 39.633445,21.480219 L 27.523285,21.480219 L 20.502546,21.462362 L 8.5441705,21.489147 L 8.5084565,28.457686 L 20.511475,28.475543 L 27.514356,28.359472 z "
- id="text1314"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="font-size:59.901077px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125.00000%;writing-mode:lr-tb;text-anchor:start;opacity:0.40860215;fill:url(#linearGradient4975);fill-opacity:1.0000000;stroke:url(#linearGradient7922);stroke-width:1.0000006px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans"
- d="M 38.579429,27.484113 L 38.588357,22.475309 L 9.5267863,22.493166 L 9.5000003,27.466256 L 38.579429,27.484113 z "
- id="path7076"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.31182796"
- d="M 9.0000000,25.000000 C 9.0000000,26.937500 39.125000,24.062500 39.125000,25.000000 L 39.125000,22.000000 L 9.0000000,22.000000 L 9.0000000,25.000000 z "
- id="path7914"
- sodipodi:nodetypes="ccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-locale.svg b/share/pixmaps/tryton/tryton-locale.svg
deleted file mode 100644
index 2349cbb..0000000
--- a/share/pixmaps/tryton/tryton-locale.svg
+++ /dev/null
@@ -1,388 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:svg="http://www.w3.org/2000/svg"
- xmlns="http://www.w3.org/2000/svg"
- xmlns:xlink="http://www.w3.org/1999/xlink"
- version="1.0"
- width="48"
- height="48"
- id="svg11300">
- <defs
- id="defs3">
- <radialGradient
- cx="605.71429"
- cy="486.64789"
- r="117.14286"
- fx="605.71429"
- fy="486.64789"
- id="radialGradient6719"
- xlink:href="#linearGradient5060"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" />
- <linearGradient
- id="linearGradient5060">
- <stop
- id="stop5062"
- style="stop-color:#000000;stop-opacity:1"
- offset="0" />
- <stop
- id="stop5064"
- style="stop-color:#000000;stop-opacity:0"
- offset="1" />
- </linearGradient>
- <radialGradient
- cx="605.71429"
- cy="486.64789"
- r="117.14286"
- fx="605.71429"
- fy="486.64789"
- id="radialGradient6717"
- xlink:href="#linearGradient5060"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" />
- <linearGradient
- id="linearGradient5048">
- <stop
- id="stop5050"
- style="stop-color:#000000;stop-opacity:0"
- offset="0" />
- <stop
- id="stop5056"
- style="stop-color:#000000;stop-opacity:1"
- offset="0.5" />
- <stop
- id="stop5052"
- style="stop-color:#000000;stop-opacity:0"
- offset="1" />
- </linearGradient>
- <linearGradient
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507"
- id="linearGradient6715"
- xlink:href="#linearGradient5048"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" />
- <linearGradient
- id="linearGradient3289">
- <stop
- id="stop3291"
- style="stop-color:#ffffff;stop-opacity:1"
- offset="0" />
- <stop
- id="stop3293"
- style="stop-color:#ffffff;stop-opacity:0"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient16542">
- <stop
- id="stop16544"
- style="stop-color:#2e3436;stop-opacity:1"
- offset="0" />
- <stop
- id="stop16550"
- style="stop-color:#505a5d;stop-opacity:1"
- offset="0.27272728" />
- <stop
- id="stop16554"
- style="stop-color:#141717;stop-opacity:1"
- offset="0.63636363" />
- <stop
- id="stop16546"
- style="stop-color:#2e3436;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient16532">
- <stop
- id="stop16534"
- style="stop-color:#cc0000;stop-opacity:1"
- offset="0" />
- <stop
- id="stop16540"
- style="stop-color:#ff4747;stop-opacity:1"
- offset="0.24242425" />
- <stop
- id="stop16552"
- style="stop-color:#9b1212;stop-opacity:1"
- offset="0.6097337" />
- <stop
- id="stop16536"
- style="stop-color:#cc0000;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient16522">
- <stop
- id="stop16524"
- style="stop-color:#edd400;stop-opacity:1"
- offset="0" />
- <stop
- id="stop16530"
- style="stop-color:#fff491;stop-opacity:1"
- offset="0.27272728" />
- <stop
- id="stop16526"
- style="stop-color:#edd400;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient16494">
- <stop
- id="stop16496"
- style="stop-color:#204a87;stop-opacity:1"
- offset="0" />
- <stop
- id="stop16502"
- style="stop-color:#3f7bd2;stop-opacity:1"
- offset="0.21212122" />
- <stop
- id="stop16498"
- style="stop-color:#204a87;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient16468">
- <stop
- id="stop16470"
- style="stop-color:#cc0000;stop-opacity:1"
- offset="0" />
- <stop
- id="stop16476"
- style="stop-color:#ff3737;stop-opacity:1"
- offset="0.15151516" />
- <stop
- id="stop16478"
- style="stop-color:#b41414;stop-opacity:1"
- offset="0.57575756" />
- <stop
- id="stop16472"
- style="stop-color:#ff4c4c;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- id="linearGradient16451">
- <stop
- id="stop16453"
- style="stop-color:#ffffff;stop-opacity:1"
- offset="0" />
- <stop
- id="stop16459"
- style="stop-color:#bebebe;stop-opacity:1"
- offset="0.42424244" />
- <stop
- id="stop16455"
- style="stop-color:#ebebeb;stop-opacity:1"
- offset="1" />
- </linearGradient>
- <linearGradient
- x1="11.002116"
- y1="29.756582"
- x2="46.998974"
- y2="29.756582"
- id="linearGradient16562"
- xlink:href="#linearGradient16522"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- x1="11.976621"
- y1="21.723522"
- x2="46.138718"
- y2="21.723522"
- id="linearGradient16564"
- xlink:href="#linearGradient16542"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- x1="11.976621"
- y1="29.748671"
- x2="46.138718"
- y2="29.748671"
- id="linearGradient16566"
- xlink:href="#linearGradient16532"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- x1="0.91421354"
- y1="16.710526"
- x2="37.623104"
- y2="16.710526"
- id="linearGradient16577"
- xlink:href="#linearGradient16451"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.98006,0,0,1,0.116103,0)" />
- <linearGradient
- x1="2"
- y1="23.791155"
- x2="36"
- y2="23.791155"
- id="linearGradient16579"
- xlink:href="#linearGradient16468"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- x1="2"
- y1="23.791155"
- x2="36"
- y2="23.791155"
- id="linearGradient16581"
- xlink:href="#linearGradient16468"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0,-11.24827)" />
- <linearGradient
- x1="2"
- y1="23.791155"
- x2="36"
- y2="23.791155"
- id="linearGradient16583"
- xlink:href="#linearGradient16468"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0,-5.624133)" />
- <linearGradient
- x1="2"
- y1="23.791155"
- x2="36"
- y2="23.791155"
- id="linearGradient16585"
- xlink:href="#linearGradient16468"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0,-16.8724)" />
- <linearGradient
- x1="2"
- y1="8.5017862"
- x2="19"
- y2="8.5017862"
- id="linearGradient16587"
- xlink:href="#linearGradient16494"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- x1="29.017775"
- y1="40.347282"
- x2="29.017775"
- y2="17.189533"
- id="linearGradient3295"
- xlink:href="#linearGradient3289"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507"
- id="linearGradient6761"
- xlink:href="#linearGradient5048"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)" />
- <radialGradient
- cx="605.71429"
- cy="486.64789"
- r="117.14286"
- fx="605.71429"
- fy="486.64789"
- id="radialGradient6763"
- xlink:href="#linearGradient5060"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)" />
- <radialGradient
- cx="605.71429"
- cy="486.64789"
- r="117.14286"
- fx="605.71429"
- fy="486.64789"
- id="radialGradient6765"
- xlink:href="#linearGradient5060"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)" />
- </defs>
- <g
- id="layer1">
- <g
- transform="matrix(1.971468e-2,0,0,3.343226e-2,38.92492,24.71253)"
- id="g6753">
- <rect
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685"
- id="rect6755"
- style="opacity:0.40206185;fill:url(#linearGradient6761);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z"
- id="path6757"
- style="opacity:0.40206185;fill:url(#radialGradient6763);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z"
- id="path6759"
- style="opacity:0.40206185;fill:url(#radialGradient6765);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- transform="matrix(1.971468e-2,0,0,3.343226e-2,46.17276,35.14236)"
- id="g6707">
- <rect
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685"
- id="rect6709"
- style="opacity:0.40206185;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z"
- id="path6711"
- style="opacity:0.40206185;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z"
- id="path6713"
- style="opacity:0.40206185;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- transform="translate(2.121318,2.032932)"
- id="g16568">
- <path
- d="M 1.5021165,4.1593795 C 10.684459,-2.3813582 27.143377,6.1039232 36.498972,4.1593795 L 36.498972,29.261671 C 27.489881,32.266875 11.897222,22.89771 1.5021165,29.261671 L 1.5021165,4.1593795 z"
- id="rect15576"
- style="fill:url(#linearGradient16577);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 2,26 C 11.0625,19.9375 29.8125,29.25 36,26 L 36,23 C 29.3125,26.4375 11,16.8125 2,23 L 2,26 z"
- id="path16466"
- style="opacity:1;fill:url(#linearGradient16579);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 2,14.751733 C 11.0625,8.6892331 29.8125,18.001733 36,14.751733 L 36,11.751733 C 29.3125,15.189233 11,5.5642331 2,11.751733 L 2,14.751733 z"
- id="path16484"
- style="opacity:1;fill:url(#linearGradient16581);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 2,20.375867 C 11.0625,14.313367 29.8125,23.625867 36,20.375867 L 36,17.375867 C 29.3125,20.813367 11,11.188367 2,17.375867 L 2,20.375867 z"
- id="path16480"
- style="opacity:1;fill:url(#linearGradient16583);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 2,9.1276014 C 11.0625,3.0651012 29.8125,12.377601 36,9.1276014 L 36,6.1276014 C 29.3125,9.5651014 11,-0.059898803 2,6.1276014 L 2,9.1276014 z"
- id="path16488"
- style="opacity:1;fill:url(#linearGradient16585);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 2.4999999,4.7703293 C 10.477148,-0.95790769 26.333595,6.7148733 35.535549,5.2703293 L 35.410549,28.560121 C 28.595705,30.752825 12.672841,22.855685 2.5624999,27.435121 L 2.4999999,4.7703293 z"
- id="path16462"
- style="opacity:0.5;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 2,4.4999999 C 2,4.4999999 2,14.875 2,14.875 C 4.125,13 9.8125,11.625 19,13.5 L 19,3 C 15.375,2.125 5.5,1.0624999 2,4.4999999 z"
- id="path16492"
- style="opacity:1;fill:url(#linearGradient16587);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- </g>
- <g
- transform="translate(-0.972274,-1.06066)"
- id="g16556">
- <path
- d="M 11.502116,18.15938 C 20.684459,11.618642 37.143377,20.103923 46.498972,18.15938 L 46.498972,43.261671 C 37.489881,46.266875 21.897222,36.89771 11.502116,43.261671 L 11.502116,18.15938 z"
- id="path16504"
- style="fill:url(#linearGradient16562);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:0.9999994;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 11.976621,18.478292 L 12.020815,26.61002 C 19.975766,21.612175 38.890874,29.350058 46.05033,26.963573 L 46.05033,18.522486 C 38.095378,20.599612 19.666407,12.202719 11.976621,18.478292 z"
- id="path16510"
- style="opacity:1;fill:url(#linearGradient16564);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 11.976621,26.61002 L 12.020815,34.564971 C 20.682873,27.759068 37.476659,38.719223 46.050329,35.095301 L 46.050329,26.830991 C 37.918601,29.084894 20.73963,19.831845 11.976621,26.61002 z"
- id="path16512"
- style="opacity:1;fill:url(#linearGradient16566);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- d="M 12.5,18.681941 C 20.477148,12.953704 36.333595,20.626485 45.535549,19.181941 L 45.410549,42.560121 C 38.595705,44.752825 22.672841,36.855685 12.5625,41.435121 L 12.5,18.681941 z"
- id="path16506"
- style="opacity:0.62921346;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient3295);stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-lock.svg b/share/pixmaps/tryton/tryton-lock.svg
deleted file mode 100644
index 6930326..0000000
--- a/share/pixmaps/tryton/tryton-lock.svg
+++ /dev/null
@@ -1,560 +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"
- width="48.000000px"
- height="48.000000px"
- id="svg2327"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/apps"
- sodipodi:docname="tryton-lock.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective2796" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient12071">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop12073" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop12075" />
- </linearGradient>
- <linearGradient
- id="linearGradient9845">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop9847" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.49484536;"
- offset="1.0000000"
- id="stop9849" />
- </linearGradient>
- <linearGradient
- id="linearGradient11327">
- <stop
- style="stop-color:#7d6400;stop-opacity:1;"
- offset="0"
- id="stop11329" />
- <stop
- style="stop-color:#be9700;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11331" />
- </linearGradient>
- <linearGradient
- id="linearGradient2092">
- <stop
- id="stop2094"
- offset="0"
- style="stop-color:#fff7b0;stop-opacity:1;" />
- <stop
- style="stop-color:#ffec41;stop-opacity:1.0000000;"
- offset="0.20999999"
- id="stop2098" />
- <stop
- id="stop2293"
- offset="0.83999997"
- style="stop-color:#e2cc00;stop-opacity:1;" />
- <stop
- id="stop2100"
- offset="1"
- style="stop-color:#c3af00;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11335">
- <stop
- style="stop-color:#6f716d;stop-opacity:1;"
- offset="0"
- id="stop11337" />
- <stop
- style="stop-color:#9ea09c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11339" />
- </linearGradient>
- <linearGradient
- id="linearGradient10591">
- <stop
- style="stop-color:#cad0c6;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop10593" />
- <stop
- id="stop10599"
- offset="0.50000000"
- style="stop-color:#eaece9;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#c5cbc0;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop10595" />
- </linearGradient>
- <linearGradient
- id="linearGradient2329">
- <stop
- id="stop2331"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop2333"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2321"
- inkscape:collect="always">
- <stop
- id="stop2323"
- offset="0"
- style="stop-color:#7b7f7a;stop-opacity:1;" />
- <stop
- id="stop2325"
- offset="1"
- style="stop-color:#7b7f7a;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2711">
- <stop
- id="stop2713"
- offset="0.0000000"
- style="stop-color:#909090;stop-opacity:1.0000000;" />
- <stop
- id="stop2715"
- offset="1.0000000"
- style="stop-color:#bebebe;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2701">
- <stop
- id="stop2703"
- offset="0.0000000"
- style="stop-color:#585956;stop-opacity:1.0000000;" />
- <stop
- id="stop2705"
- offset="1.0000000"
- style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2683"
- inkscape:collect="always">
- <stop
- id="stop2685"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2687"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2675">
- <stop
- id="stop2677"
- offset="0.0000000"
- style="stop-color:#5b5b97;stop-opacity:1.0000000;" />
- <stop
- id="stop2679"
- offset="1.0000000"
- style="stop-color:#1b1b43;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2667">
- <stop
- id="stop2669"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop2671"
- offset="1.0000000"
- style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2454">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2456" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2458" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2415">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2417" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2419" />
- </linearGradient>
- <linearGradient
- id="linearGradient2253">
- <stop
- style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2255" />
- <stop
- style="stop-color:#494949;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2257" />
- </linearGradient>
- <linearGradient
- id="linearGradient2245">
- <stop
- style="stop-color:#dde1d9;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2247" />
- <stop
- style="stop-color:#cacdc6;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2249" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2251"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,2.875000,1.570628)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient2421"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,5.500000,3.875000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2460"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="26.729263"
- x2="17.199417"
- y1="1.6537577"
- x1="11.492236"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,5.090553,1.543476)"
- id="linearGradient2673"
- xlink:href="#linearGradient2667"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="8.8666229"
- x2="16.315819"
- y1="32.622238"
- x1="19.150396"
- gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,5.221825,1.543476)"
- id="linearGradient2681"
- xlink:href="#linearGradient2675"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="162.45061"
- x2="3.7069974"
- y1="171.29134"
- x1="3.7069976"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,5.500000,2.195627)"
- id="linearGradient2689"
- xlink:href="#linearGradient2683"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="64.892525"
- x2="12.127711"
- y1="53.535141"
- x1="12.206709"
- gradientTransform="matrix(1.816345,0.000000,0.000000,1.278927,2.500000,-40.24508)"
- id="linearGradient2707"
- xlink:href="#linearGradient2701"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- id="linearGradient2717"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2721"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2725"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2729"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2733"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="31.246054"
- x2="32.536823"
- y1="5.3817744"
- x1="10.390738"
- gradientTransform="matrix(1.104397,0.000000,0.000000,0.905471,4.500000,2.875000)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1561"
- xlink:href="#linearGradient2253"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="28.205938"
- x2="-35.658386"
- y1="33.416473"
- x1="-35.658386"
- id="linearGradient2327"
- xlink:href="#linearGradient2321"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="30.962345"
- x2="-35.074745"
- y1="34.242237"
- x1="-35.122688"
- id="linearGradient2337"
- xlink:href="#linearGradient2329"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient10591"
- id="linearGradient1886"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.480246,0,0,0.497322,29.22711,23.01153)"
- x1="12.886660"
- y1="4.3602757"
- x2="20.087339"
- y2="18.414022" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11335"
- id="linearGradient1888"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.480246,0,0,0.497322,29.22711,23.01153)"
- x1="19.250618"
- y1="9.6635771"
- x2="16.198252"
- y2="6.0396547" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2092"
- id="linearGradient1890"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.490236,0,0,0.534297,29.28263,21.67589)"
- x1="6.7268200"
- y1="32.161697"
- x2="40.938126"
- y2="32.161697" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11327"
- id="linearGradient1892"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.490236,0,0,0.534297,29.28263,22.22637)"
- x1="31.630468"
- y1="41.791817"
- x2="8.6713638"
- y2="25.793524" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9845"
- id="linearGradient1894"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.453445,0,0,0.470026,30.17248,24.3894)"
- x1="10.907269"
- y1="25.002281"
- x2="30.875446"
- y2="36.127281" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12071"
- id="linearGradient1896"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.980472,0,0,0.461806,23.89003,23.47875)"
- x1="14.217941"
- y1="6.8795347"
- x2="17.859085"
- y2="3.9566603" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12071"
- id="linearGradient1898"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.980472,0,0,0.490236,34.67523,22.83397)"
- x1="11.500000"
- y1="20.579729"
- x2="11.779029"
- y2="14.259961" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.12156863"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="12.041667"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1278"
- inkscape:window-height="782"
- inkscape:window-x="0"
- inkscape:window-y="16"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Lock Screen</dc:title>
- <dc:date />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>video</rdf:li>
- <rdf:li>display</rdf:li>
- <rdf:li>lock</rdf:li>
- <rdf:li>screen</rdf:li>
- <rdf:li>password</rdf:li>
- <rdf:li>session</rdf:li>
- <rdf:li>screensaver</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz/</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g1879"
- transform="matrix(1.9083149,0,0,1.9083149,-54.329151,-43.2145)">
- <path
- sodipodi:nodetypes="cczcccczccc"
- id="path2086"
- d="M 34.238513,34.181365 L 34.238513,30.359668 C 34.238513,26.445675 36.861875,24.661287 40.762635,24.710167 C 44.684619,24.759046 47.274012,26.461946 47.274012,30.421985 L 47.267528,34.181365 L 44.874632,34.181365 L 44.874632,31.406199 C 44.810387,30.442875 45.141632,27.216102 40.790111,27.216102 C 36.408575,27.216102 36.666117,30.454534 36.681818,31.425378 L 36.681818,34.181365 L 34.238513,34.181365 z"
- style="fill:url(#linearGradient1886);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1888);stroke-width:1.1845268;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <rect
- ry="2.3033772"
- rx="2.6473897"
- y="34.231865"
- x="32.468109"
- height="11.769073"
- width="17.156261"
- id="rect1314"
- style="fill:url(#linearGradient1890);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1892);stroke-width:1.18452692;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- <rect
- ry="1.4387805"
- rx="1.4387794"
- y="35.387321"
- x="33.559612"
- height="9.4392996"
- width="14.977587"
- id="rect6903"
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1894);stroke-width:1.18452799;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.60109289" />
- <path
- sodipodi:nodetypes="ccsccc"
- id="rect11343"
- d="M 34.675226,30.571517 C 34.805219,27.673419 35.610937,25.490973 40.985429,25.305958 C 37.505396,25.7964 35.612515,26.812487 35.612515,29.842371 C 35.612515,29.842371 35.525705,33.597665 35.525705,33.597665 L 34.675226,33.597665 L 34.675226,30.571517 z"
- style="fill:url(#linearGradient1896);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1" />
- <rect
- ry="0"
- rx="0"
- y="28.716803"
- x="45.460419"
- height="4.90236"
- width="0.98047203"
- id="rect1345"
- style="fill:url(#linearGradient1898);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-log-out.svg b/share/pixmaps/tryton/tryton-log-out.svg
deleted file mode 100644
index 0e10988..0000000
--- a/share/pixmaps/tryton/tryton-log-out.svg
+++ /dev/null
@@ -1,456 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.45pre1"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="system-log-out.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- sodipodi:modified="true">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6467">
- <stop
- style="stop-color:#babdb6;stop-opacity:1;"
- offset="0"
- id="stop6469" />
- <stop
- style="stop-color:#babdb6;stop-opacity:0;"
- offset="1"
- id="stop6471" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6365">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6367" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6369" />
- </linearGradient>
- <linearGradient
- id="linearGradient6347">
- <stop
- style="stop-color:#4e9a06;stop-opacity:1;"
- offset="0"
- id="stop6349" />
- <stop
- style="stop-color:#2d5903;stop-opacity:1;"
- offset="1"
- id="stop6351" />
- </linearGradient>
- <linearGradient
- id="linearGradient9896">
- <stop
- id="stop9898"
- offset="0"
- style="stop-color:#cecece;stop-opacity:1;" />
- <stop
- id="stop9900"
- offset="1.0000000"
- style="stop-color:#9e9e9e;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient9888"
- inkscape:collect="always">
- <stop
- id="stop9890"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop9892"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient9880"
- inkscape:collect="always">
- <stop
- id="stop9882"
- offset="0"
- style="stop-color:#525252;stop-opacity:1;" />
- <stop
- id="stop9884"
- offset="1"
- style="stop-color:#525252;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient9868">
- <stop
- style="stop-color:#4e4e4e;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop9870" />
- <stop
- style="stop-color:#616161;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop9872" />
- </linearGradient>
- <linearGradient
- id="linearGradient9854">
- <stop
- id="stop9856"
- offset="0.0000000"
- style="stop-color:#4e4e4e;stop-opacity:1.0000000;" />
- <stop
- id="stop9858"
- offset="1.0000000"
- style="stop-color:#ababab;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient9830">
- <stop
- id="stop9832"
- offset="0.0000000"
- style="stop-color:#505050;stop-opacity:1.0000000;" />
- <stop
- id="stop9834"
- offset="1.0000000"
- style="stop-color:#181818;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8650">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop8652" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop8654" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient8656"
- cx="19.701141"
- cy="2.8969381"
- fx="19.701141"
- fy="2.8969381"
- r="17.171415"
- gradientTransform="matrix(1.253442,-2.296195e-16,1.747460e-16,0.953900,-15.47908,11.27663)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,1.673575e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient9826"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="27.759069"
- x2="18.031221"
- y1="19.804117"
- x1="46.845825"
- id="linearGradient9864"
- xlink:href="#linearGradient9854"
- inkscape:collect="always"
- gradientTransform="translate(-12.020815,0)" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.565823,0,0,1.403262,-49.804045,-9.483303)"
- r="9.7227182"
- fy="7.1396070"
- fx="27.883883"
- cy="7.1396070"
- cx="27.883883"
- id="radialGradient9876"
- xlink:href="#linearGradient9868"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-13.136935,0)"
- gradientUnits="userSpaceOnUse"
- y2="24.764584"
- x2="34.007416"
- y1="19.107729"
- x1="31.852951"
- id="linearGradient9886"
- xlink:href="#linearGradient9880"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="43.449947"
- x2="19.755548"
- y1="13.663074"
- x1="8.7600641"
- id="linearGradient9894"
- xlink:href="#linearGradient9888"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="18.064039"
- x2="33.710651"
- y1="21.511185"
- x1="31.078955"
- id="linearGradient9902"
- xlink:href="#linearGradient9896"
- inkscape:collect="always"
- gradientTransform="translate(-12.020815,0)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6365"
- id="linearGradient6371"
- x1="40.25"
- y1="31.625"
- x2="40.25"
- y2="43.25"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-12.020815,0)" />
- <filter
- inkscape:collect="always"
- x="-0.14153846"
- width="1.2830769"
- y="-0.10415094"
- height="1.2083019"
- id="filter6421">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="2.07"
- id="feGaussianBlur6423" />
- </filter>
- <filter
- inkscape:collect="always"
- x="-0.066812893"
- width="1.1336258"
- y="-0.11952912"
- height="1.2390582"
- id="filter6451">
- <feGaussianBlur
- inkscape:collect="always"
- stdDeviation="0.76879489"
- id="feGaussianBlur6453" />
- </filter>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient6461"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient6463"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.253442,0,0,0.9539,-15.47908,11.27663)"
- cx="19.701141"
- cy="2.8969381"
- fx="19.701141"
- fy="2.8969381"
- r="17.171415" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9888"
- id="linearGradient6465"
- gradientUnits="userSpaceOnUse"
- x1="8.7600641"
- y1="13.663074"
- x2="19.755548"
- y2="43.449947"
- gradientTransform="matrix(0.968718,0,0,0.9689198,0.3616813,0.7378237)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6467"
- id="linearGradient6473"
- x1="18.729185"
- y1="44"
- x2="18.729185"
- y2="29.068014"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#a40000"
- fill="#727e0a"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="58.623474"
- inkscape:cy="5.4914491"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="966"
- inkscape:window-height="762"
- inkscape:window-x="2012"
- inkscape:window-y="286" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>System Log Out</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>log out</rdf:li>
- <rdf:li>logout</rdf:li>
- <rdf:li>exit</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <rect
- ry="0.7071048"
- rx="0.70710522"
- y="2.5692098"
- x="1.4809071"
- height="41.942028"
- width="31.99555"
- id="rect9828"
- style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.00000048;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- y="17.240852"
- x="1.9791847"
- height="26.759148"
- width="30.999998"
- id="rect9840"
- style="opacity:1;color:#000000;fill:url(#linearGradient6473);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="opacity:0.55428569;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter6451)"
- d="M 2.1041847,43.875 L 23.479185,35 C 23.479185,35 26.992726,32.780416 23.729185,31.5 C 20.314184,30.16016 16.729185,32 16.729185,32 L 2.1041847,43.875 z "
- id="path6425"
- sodipodi:nodetypes="cczcc" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path9852"
- d="M 2.0168467,43.944859 L 1.9780137,3.0545252 L 21.92031,3.0987194 L 21.964504,33.018175 L 2.0168467,43.944859 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient9864);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.42222224;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 1.9489857,43.944859 L 22.097088,33.062369 L 3.5355337,41.989592 L 3.5355337,3.0103306 L 1.9650707,3.0103306 L 1.9489857,43.944859 z "
- id="path1360"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="cccccc" />
- <path
- style="opacity:1;color:#000000;fill:url(#radialGradient9876);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 2.0239957,43.757359 L 1.9791847,3.0545252 L 21.92031,3.0545252 L 21.741064,33.681088 L 2.0239957,43.757359 z "
- id="path9866"
- sodipodi:nodetypes="ccccc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:nodetypes="cccsscc"
- id="path9878"
- d="M 17.62221,18.456195 L 19.544657,20.908971 L 18.086249,25.726136 C 18.086249,25.726136 18.351414,27.228738 19.124812,26.212272 C 19.89821,25.195806 22.097267,22.630218 21.710171,20.754291 C 21.422909,19.362175 20.627414,18.699263 20.627414,18.699263 L 17.62221,18.456195 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient9886);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="csccscs"
- id="path9862"
- d="M 19.456269,17.35134 C 19.456269,17.35134 21.619539,18.353058 21.688074,19.229593 C 21.789855,20.531315 17.445433,24.665476 17.445433,24.665476 C 16.9372,25.284194 16.097511,24.731767 16.56155,24.135146 C 16.56155,24.135146 20.028154,20.017173 19.809822,19.693631 C 19.536211,19.288174 17.843181,18.655068 17.843181,18.655068 C 16.826715,17.903768 18.110802,16.349605 19.456269,17.35134 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient9902);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:url(#linearGradient6371);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;filter:url(#filter6421);opacity:0.87428571"
- d="M 22.229185,3.5 L 21.729185,33.25 L 3.7291847,43 L 32.979185,43.25 L 32.729185,3.5 L 22.229185,3.5 z "
- id="path6355" />
- <g
- id="g6455"
- transform="matrix(-1,0,0,1,48.201368,-4.7335e-2)">
- <path
- transform="matrix(0.77849,0,0,0.77849,-7.579815,1.598139)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.29946522;color:#000000;fill:url(#radialGradient6461);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path8643"
- d="M 1.7317981,17.593819 L 1.7317981,30.355364 L 9.6641034,30.355364 L 9.6641034,36.176147 L 21.887745,23.952503 L 9.5913424,11.656101 L 9.5913424,17.597067 L 1.7317981,17.593819 z "
- style="opacity:1;color:#000000;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccccc"
- id="path8645"
- d="M 9.9240084,12.478043 L 9.9240084,18.115661 L 2.0746151,18.115661 L 2.0746151,24.53144 C 12.332521,20.703863 11.954992,27.773987 21.29428,23.94641 L 9.9240084,12.478043 z "
- style="opacity:0.5080214;color:#000000;fill:url(#radialGradient6463);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.48128339;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6465);stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 2.6834412,18.565933 L 2.6834412,29.355867 L 10.584702,29.355867 L 10.584702,33.481479 L 20.127982,23.941908 L 10.522155,13.997214 L 10.522155,18.568726 L 2.6834412,18.565933 z "
- id="path8658"
- sodipodi:nodetypes="cccccccc" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-mail-message-new.svg b/share/pixmaps/tryton/tryton-mail-message-new.svg
deleted file mode 100644
index 6e0c451..0000000
--- a/share/pixmaps/tryton/tryton-mail-message-new.svg
+++ /dev/null
@@ -1,462 +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://web.resource.org/cc/"
- 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"
- sodipodi:docname="mail-message-new.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg5816"
- height="48px"
- width="48px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient2274">
- <stop
- style="stop-color:#000000;stop-opacity:0.12871288;"
- offset="0.0000000"
- id="stop2276" />
- <stop
- style="stop-color:#000000;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop2278" />
- </linearGradient>
- <linearGradient
- id="linearGradient9749">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop9751" />
- <stop
- style="stop-color:#ededed;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop9753" />
- </linearGradient>
- <linearGradient
- id="linearGradient2152">
- <stop
- style="stop-color:#9aa29a;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2154" />
- <stop
- style="stop-color:#b5beb5;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2156" />
- </linearGradient>
- <linearGradient
- id="linearGradient2166">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2168" />
- <stop
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2170" />
- </linearGradient>
- <linearGradient
- id="linearGradient18913">
- <stop
- style="stop-color:#ededed;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop18915" />
- <stop
- style="stop-color:#c8c8c8;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop18917" />
- </linearGradient>
- <linearGradient
- id="linearGradient2136">
- <stop
- style="stop-color:#989690;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2138" />
- <stop
- style="stop-color:#656460;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2140" />
- </linearGradient>
- <linearGradient
- id="linearGradient15107">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop15109" />
- <stop
- style="stop-color:#e2e2e2;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop15111" />
- </linearGradient>
- <linearGradient
- id="linearGradient10691"
- inkscape:collect="always">
- <stop
- id="stop10693"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop10695"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- r="7.2284161"
- fy="73.615714"
- fx="6.7027131"
- cy="73.615714"
- cx="6.7027131"
- gradientTransform="scale(1.902215,0.525703)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11382"
- xlink:href="#linearGradient10691"
- inkscape:collect="always" />
- <linearGradient
- y2="32.203162"
- x2="9.7619219"
- y1="37.784682"
- x1="8.7803760"
- gradientTransform="matrix(2.394900,0.000000,0.000000,0.781058,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27463"
- xlink:href="#linearGradient2274"
- inkscape:collect="always" />
- <linearGradient
- y2="24.132717"
- x2="21.111549"
- y1="13.686079"
- x1="11.233107"
- gradientTransform="matrix(1.370928,0.000000,0.000000,1.443758,2.431133,-0.140786)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27468"
- xlink:href="#linearGradient9749"
- inkscape:collect="always" />
- <linearGradient
- y2="52.090678"
- x2="9.8855033"
- y1="37.197018"
- x1="8.9156475"
- gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27471"
- xlink:href="#linearGradient2152"
- inkscape:collect="always" />
- <linearGradient
- y2="52.090678"
- x2="9.8855033"
- y1="37.197018"
- x1="8.9156475"
- gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27474"
- xlink:href="#linearGradient2152"
- inkscape:collect="always" />
- <linearGradient
- y2="29.568739"
- x2="15.310744"
- y1="15.148383"
- x1="10.184240"
- gradientTransform="matrix(1.819266,0.000000,0.000000,1.028193,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27477"
- xlink:href="#linearGradient2166"
- inkscape:collect="always" />
- <linearGradient
- y2="17.876846"
- x2="13.467486"
- y1="7.2310905"
- x1="5.8266134"
- gradientTransform="matrix(1.570607,0.000000,0.000000,1.190976,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27483"
- xlink:href="#linearGradient18913"
- inkscape:collect="always" />
- <linearGradient
- y2="26.022910"
- x2="18.475286"
- y1="4.7461626"
- x1="11.572842"
- gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27486"
- xlink:href="#linearGradient15107"
- inkscape:collect="always" />
- <linearGradient
- y2="15.257116"
- x2="30.599684"
- y1="15.257116"
- x1="2.0618774"
- gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27488"
- xlink:href="#linearGradient2136"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient12512">
- <stop
- id="stop12513"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop12517"
- offset="0.50000000"
- style="stop-color:#fff520;stop-opacity:0.89108908;" />
- <stop
- id="stop12514"
- offset="1.0000000"
- style="stop-color:#fff300;stop-opacity:0.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient1558"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="0"
- inkscape:window-x="89"
- inkscape:window-height="743"
- inkscape:window-width="872"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="18.816166"
- inkscape:cx="28.384904"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Mail New</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Andreas Nilsson, Steven Garrity</dc:title>
- </cc:Agent>
- </dc:contributor>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:subject>
- <rdf:Bag>
- <rdf:li>mail</rdf:li>
- <rdf:li>e-mail</rdf:li>
- <rdf:li>MUA</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.312904e-2,0,0,1.485743e-2,45.32054,39.61432)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- style="fill:url(#linearGradient27486);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient27488);stroke-width:0.85660440;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 6.3334395,16.972251 L 6.3334395,41.481799 L 43.305555,41.481799 L 43.244499,17.089859 C 43.241050,15.712272 31.395999,2.4121110 29.210877,2.4121110 L 20.659391,2.4121110 C 18.362072,2.4121110 6.3334395,15.673953 6.3334395,16.972251 z "
- id="path12723"
- sodipodi:nodetypes="ccczzzz" />
- <path
- style="fill:url(#linearGradient27483);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.9230610,16.787103 C 6.5250222,16.356975 18.809966,3.0935378 20.667210,3.0935378 L 29.042965,3.0935378 C 30.790449,3.0935378 43.079567,16.221603 42.470079,16.978956 L 31.608858,30.475150 L 19.295373,30.156846 L 6.9230610,16.787103 z "
- id="path18153"
- sodipodi:nodetypes="czzzccz" />
- <path
- style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 19.077530,30.017590 L 11.744526,21.271586 L 36.562951,14.335513 L 39.592221,20.551966 L 32.175956,29.992298"
- id="path2164"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 18.291767,29.836259 L 10.809167,21.026146 L 35.456637,14.132812 L 38.630714,20.403811 L 31.390193,29.810968"
- id="path2162"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 18.775313,29.957146 L 11.100386,21.296624 L 36.068405,14.232329 L 39.354114,20.824726 L 31.873739,29.931855"
- id="path2160"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:url(#linearGradient27477);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 18.593984,30.440693 L 11.260975,21.694689 L 35.972554,14.801355 L 39.083369,21.188770 L 31.963198,30.174701"
- id="path15105"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:url(#linearGradient27474);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 20.488434,29.064331 L 7.0924698,40.036319 L 21.001312,30.432013 L 30.019470,30.432013 L 42.438517,39.914206 L 30.575092,29.064331 L 20.488434,29.064331 z "
- id="path14245"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="color:#000000;fill:url(#linearGradient27471);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 6.9634751,16.885144 L 18.479648,31.201334 L 19.548151,30.346532 L 6.9634751,16.885144 z "
- id="path14339"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient27468);stroke-width:0.85660428;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 7.3077115,17.131415 L 7.3388644,40.342421 L 42.283659,40.342421 L 42.221353,17.257512 C 42.219329,16.508413 31.005032,3.4591863 28.837233,3.4591863 L 20.941579,3.4591863 C 18.689313,3.4591863 7.3066655,16.351067 7.3077115,17.131415 z "
- id="path15103"
- sodipodi:nodetypes="ccczzzz" />
- <path
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 20.957271,30.452732 L 9.0157722,38.723588 L 11.235205,38.729695 L 21.233330,31.860755 L 30.055238,30.437917 L 20.957271,30.452732 z "
- id="path17393"
- sodipodi:nodetypes="cccccc" />
- <path
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 11.427536,21.670296 L 12.752479,23.080719 L 35.543311,16.196529 L 38.458445,21.878896 L 39.072496,21.166981 L 36.003081,14.789145 L 11.427536,21.670296 z "
- id="path2174"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="fill:url(#linearGradient27463);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 13.308098,23.636340 L 19.334450,30.090093 L 20.531174,29.064331 L 30.617831,29.107071 L 31.429893,29.833651 L 35.404721,25.089502 C 34.250740,23.679081 13.308098,23.636340 13.308098,23.636340 z "
- id="path2272"
- sodipodi:nodetypes="ccccccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path27492"
- d="M 41.812936,17.847945 L 31.861315,30.479232 L 30.792812,29.624431 L 41.812936,17.847945 z "
- style="color:#000000;fill:#b1b1b1;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <g
- id="layer4"
- inkscape:label="new"
- style="display:inline"
- transform="translate(5.000000e-7,2.500000e-6)">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient1558);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500002;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block"
- id="path12511"
- sodipodi:cx="55.000000"
- sodipodi:cy="125.00000"
- sodipodi:rx="14.375000"
- sodipodi:ry="14.375000"
- d="M 69.375000 125.00000 A 14.375000 14.375000 0 1 1 40.625000,125.00000 A 14.375000 14.375000 0 1 1 69.375000 125.00000 z"
- transform="matrix(0.783292,0.000000,0.000000,0.783292,-6.340883,-86.65168)"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
- inkscape:export-xdpi="33.852203"
- inkscape:export-ydpi="33.852203" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-mail-message.svg b/share/pixmaps/tryton/tryton-mail-message.svg
deleted file mode 100644
index 79c758f..0000000
--- a/share/pixmaps/tryton/tryton-mail-message.svg
+++ /dev/null
@@ -1,451 +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"
- sodipodi:docname="tryton-mail-message.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- inkscape:version="0.46"
- sodipodi:version="0.32"
- id="svg5816"
- height="48px"
- width="48px"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective74" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient2274">
- <stop
- style="stop-color:#000000;stop-opacity:0.12871288;"
- offset="0.0000000"
- id="stop2276" />
- <stop
- style="stop-color:#000000;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop2278" />
- </linearGradient>
- <linearGradient
- id="linearGradient9749">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop9751" />
- <stop
- style="stop-color:#ededed;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop9753" />
- </linearGradient>
- <linearGradient
- id="linearGradient2152">
- <stop
- style="stop-color:#9aa29a;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2154" />
- <stop
- style="stop-color:#b5beb5;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2156" />
- </linearGradient>
- <linearGradient
- id="linearGradient2166">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2168" />
- <stop
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2170" />
- </linearGradient>
- <linearGradient
- id="linearGradient18913">
- <stop
- style="stop-color:#ededed;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop18915" />
- <stop
- style="stop-color:#c8c8c8;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop18917" />
- </linearGradient>
- <linearGradient
- id="linearGradient2136">
- <stop
- style="stop-color:#989690;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2138" />
- <stop
- style="stop-color:#656460;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2140" />
- </linearGradient>
- <linearGradient
- id="linearGradient15107">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop15109" />
- <stop
- style="stop-color:#e2e2e2;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop15111" />
- </linearGradient>
- <linearGradient
- id="linearGradient10691"
- inkscape:collect="always">
- <stop
- id="stop10693"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop10695"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- r="7.2284161"
- fy="73.615714"
- fx="6.7027131"
- cy="73.615714"
- cx="6.7027131"
- gradientTransform="scale(1.902215,0.525703)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11382"
- xlink:href="#linearGradient10691"
- inkscape:collect="always" />
- <linearGradient
- y2="32.203162"
- x2="9.7619219"
- y1="37.784682"
- x1="8.7803760"
- gradientTransform="matrix(2.394900,0.000000,0.000000,0.781058,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27463"
- xlink:href="#linearGradient2274"
- inkscape:collect="always" />
- <linearGradient
- y2="24.132717"
- x2="21.111549"
- y1="13.686079"
- x1="11.233107"
- gradientTransform="matrix(1.370928,0.000000,0.000000,1.443758,2.431133,-0.140786)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27468"
- xlink:href="#linearGradient9749"
- inkscape:collect="always" />
- <linearGradient
- y2="52.090678"
- x2="9.8855033"
- y1="37.197018"
- x1="8.9156475"
- gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27471"
- xlink:href="#linearGradient2152"
- inkscape:collect="always" />
- <linearGradient
- y2="52.090678"
- x2="9.8855033"
- y1="37.197018"
- x1="8.9156475"
- gradientTransform="matrix(2.454781,0.000000,0.000000,0.762004,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27474"
- xlink:href="#linearGradient2152"
- inkscape:collect="always" />
- <linearGradient
- y2="29.568739"
- x2="15.310744"
- y1="15.148383"
- x1="10.184240"
- gradientTransform="matrix(1.819266,0.000000,0.000000,1.028193,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27477"
- xlink:href="#linearGradient2166"
- inkscape:collect="always" />
- <linearGradient
- y2="17.876846"
- x2="13.467486"
- y1="7.2310905"
- x1="5.8266134"
- gradientTransform="matrix(1.570607,0.000000,0.000000,1.190976,2.879512,0.343005)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27483"
- xlink:href="#linearGradient18913"
- inkscape:collect="always" />
- <linearGradient
- y2="26.022910"
- x2="18.475286"
- y1="4.7461626"
- x1="11.572842"
- gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27486"
- xlink:href="#linearGradient15107"
- inkscape:collect="always" />
- <linearGradient
- y2="15.257116"
- x2="30.599684"
- y1="15.257116"
- x1="2.0618774"
- gradientTransform="matrix(1.343475,0.000000,0.000000,1.417854,2.879511,0.314599)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient27488"
- xlink:href="#linearGradient2136"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient12512">
- <stop
- id="stop12513"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop12517"
- offset="0.50000000"
- style="stop-color:#fff520;stop-opacity:0.89108908;" />
- <stop
- id="stop12514"
- offset="1.0000000"
- style="stop-color:#fff300;stop-opacity:0.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient1558"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="19"
- inkscape:window-x="0"
- inkscape:window-height="1027"
- inkscape:window-width="1676"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="23.5"
- inkscape:cx="26.5"
- inkscape:zoom="12.791045"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Mail New</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Andreas Nilsson, Steven Garrity</dc:title>
- </cc:Agent>
- </dc:contributor>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:subject>
- <rdf:Bag>
- <rdf:li>mail</rdf:li>
- <rdf:li>e-mail</rdf:li>
- <rdf:li>MUA</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.312904e-2,0,0,1.485743e-2,45.32054,39.61432)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- style="fill:url(#linearGradient27486);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient27488);stroke-width:0.85660440;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 6.3334395,16.972251 L 6.3334395,41.481799 L 43.305555,41.481799 L 43.244499,17.089859 C 43.241050,15.712272 31.395999,2.4121110 29.210877,2.4121110 L 20.659391,2.4121110 C 18.362072,2.4121110 6.3334395,15.673953 6.3334395,16.972251 z "
- id="path12723"
- sodipodi:nodetypes="ccczzzz" />
- <path
- style="fill:url(#linearGradient27483);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.9230610,16.787103 C 6.5250222,16.356975 18.809966,3.0935378 20.667210,3.0935378 L 29.042965,3.0935378 C 30.790449,3.0935378 43.079567,16.221603 42.470079,16.978956 L 31.608858,30.475150 L 19.295373,30.156846 L 6.9230610,16.787103 z "
- id="path18153"
- sodipodi:nodetypes="czzzccz" />
- <path
- style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 19.077530,30.017590 L 11.744526,21.271586 L 36.562951,14.335513 L 39.592221,20.551966 L 32.175956,29.992298"
- id="path2164"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 18.291767,29.836259 L 10.809167,21.026146 L 35.456637,14.132812 L 38.630714,20.403811 L 31.390193,29.810968"
- id="path2162"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:#000000;fill-opacity:0.14619882;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 18.775313,29.957146 L 11.100386,21.296624 L 36.068405,14.232329 L 39.354114,20.824726 L 31.873739,29.931855"
- id="path2160"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:url(#linearGradient27477);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 18.593984,30.440693 L 11.260975,21.694689 L 35.972554,14.801355 L 39.083369,21.188770 L 31.963198,30.174701"
- id="path15105"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:url(#linearGradient27474);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 20.488434,29.064331 L 7.0924698,40.036319 L 21.001312,30.432013 L 30.019470,30.432013 L 42.438517,39.914206 L 30.575092,29.064331 L 20.488434,29.064331 z "
- id="path14245"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="color:#000000;fill:url(#linearGradient27471);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 6.9634751,16.885144 L 18.479648,31.201334 L 19.548151,30.346532 L 6.9634751,16.885144 z "
- id="path14339"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient27468);stroke-width:0.85660428;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 7.3077115,17.131415 L 7.3388644,40.342421 L 42.283659,40.342421 L 42.221353,17.257512 C 42.219329,16.508413 31.005032,3.4591863 28.837233,3.4591863 L 20.941579,3.4591863 C 18.689313,3.4591863 7.3066655,16.351067 7.3077115,17.131415 z "
- id="path15103"
- sodipodi:nodetypes="ccczzzz" />
- <path
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 20.957271,30.452732 L 9.0157722,38.723588 L 11.235205,38.729695 L 21.233330,31.860755 L 30.055238,30.437917 L 20.957271,30.452732 z "
- id="path17393"
- sodipodi:nodetypes="cccccc" />
- <path
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 11.427536,21.670296 L 12.752479,23.080719 L 35.543311,16.196529 L 38.458445,21.878896 L 39.072496,21.166981 L 36.003081,14.789145 L 11.427536,21.670296 z "
- id="path2174"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="fill:url(#linearGradient27463);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 13.308098,23.636340 L 19.334450,30.090093 L 20.531174,29.064331 L 30.617831,29.107071 L 31.429893,29.833651 L 35.404721,25.089502 C 34.250740,23.679081 13.308098,23.636340 13.308098,23.636340 z "
- id="path2272"
- sodipodi:nodetypes="ccccccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path27492"
- d="M 41.812936,17.847945 L 31.861315,30.479232 L 30.792812,29.624431 L 41.812936,17.847945 z "
- style="color:#000000;fill:#b1b1b1;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-new.svg b/share/pixmaps/tryton/tryton-new.svg
deleted file mode 100644
index 7427321..0000000
--- a/share/pixmaps/tryton/tryton-new.svg
+++ /dev/null
@@ -1,446 +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://web.resource.org/cc/"
- 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"
- width="48.000000px"
- height="48.000000px"
- id="svg249"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="document-new.svg"
- inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
- inkscape:export-xdpi="240.00000"
- inkscape:export-ydpi="240.00000">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4542">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4544" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4546" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4542"
- id="radialGradient4548"
- cx="24.306795"
- cy="42.07798"
- fx="24.306795"
- fy="42.07798"
- r="15.821514"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,-6.310056e-16,30.08928)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient15662">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop15664" />
- <stop
- style="stop-color:#f8f8f8;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop15666" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="64.5679"
- fx="20.8921"
- r="5.257"
- cy="64.5679"
- cx="20.8921"
- id="aigrd3">
- <stop
- id="stop15573"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop15575"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- offset="1.0000000" />
- </radialGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="114.5684"
- fx="20.8921"
- r="5.256"
- cy="114.5684"
- cx="20.8921"
- id="aigrd2">
- <stop
- id="stop15566"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop15568"
- style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
- offset="1.0000000" />
- </radialGradient>
- <linearGradient
- id="linearGradient269">
- <stop
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop270" />
- <stop
- style="stop-color:#4c4c4c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop271" />
- </linearGradient>
- <linearGradient
- id="linearGradient259">
- <stop
- style="stop-color:#fafafa;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop260" />
- <stop
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop261" />
- </linearGradient>
- <linearGradient
- id="linearGradient12512">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop12513" />
- <stop
- style="stop-color:#fff520;stop-opacity:0.89108908;"
- offset="0.50000000"
- id="stop12517" />
- <stop
- style="stop-color:#fff300;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop12514" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient278"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- <radialGradient
- r="37.751713"
- fy="3.7561285"
- fx="8.8244190"
- cy="3.7561285"
- cx="8.8244190"
- gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient15656"
- xlink:href="#linearGradient269"
- inkscape:collect="always" />
- <radialGradient
- r="86.708450"
- fy="35.736916"
- fx="33.966679"
- cy="35.736916"
- cx="33.966679"
- gradientTransform="scale(0.960493,1.041132)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient15658"
- xlink:href="#linearGradient259"
- inkscape:collect="always" />
- <radialGradient
- r="38.158695"
- fy="7.2678967"
- fx="8.1435566"
- cy="7.2678967"
- cx="8.1435566"
- gradientTransform="matrix(0.968273,0.000000,0.000000,1.032767,3.353553,0.646447)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient15668"
- xlink:href="#linearGradient15662"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#aigrd2"
- id="radialGradient2283"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
- cx="20.8921"
- cy="114.5684"
- fx="20.8921"
- fy="114.5684"
- r="5.256" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#aigrd3"
- id="radialGradient2285"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.229703,0.000000,0.000000,0.229703,4.613529,3.979808)"
- cx="20.8921"
- cy="64.5679"
- fx="20.8921"
- fy="64.5679"
- r="5.257" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.32941176"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="31.757495"
- inkscape:cy="-6.4480487"
- inkscape:current-layer="layer6"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="872"
- inkscape:window-height="659"
- inkscape:window-x="166"
- inkscape:window-y="151"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>New Document</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Shadow"
- id="layer6"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.165152e-2,0,0,1.485743e-2,43.0076,42.68539)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- </g>
- <g
- id="layer1"
- inkscape:label="Base"
- inkscape:groupmode="layer"
- style="display:inline">
- <rect
- ry="1.1490486"
- y="3.6464462"
- x="6.6035528"
- height="40.920494"
- width="34.875000"
- id="rect15391"
- style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- rx="0.14904857"
- ry="0.14904857"
- y="4.5839462"
- x="7.6660538"
- height="38.946384"
- width="32.775887"
- id="rect15660"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <g
- id="g2270"
- transform="translate(0.646447,-3.798933e-2)">
- <g
- transform="matrix(0.229703,0.000000,0.000000,0.229703,4.967081,4.244972)"
- style="fill:#ffffff;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000"
- id="g1440">
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="114.56840"
- fx="20.892099"
- r="5.2560000"
- cy="114.56840"
- cx="20.892099"
- id="radialGradient1442">
- <stop
- id="stop1444"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop1446"
- style="stop-color:#474747"
- offset="1" />
- </radialGradient>
- <path
- id="path1448"
- d="M 23.428000,113.07000 C 23.428000,115.04300 21.828000,116.64200 19.855000,116.64200 C 17.881000,116.64200 16.282000,115.04200 16.282000,113.07000 C 16.282000,111.09600 17.882000,109.49700 19.855000,109.49700 C 21.828000,109.49700 23.428000,111.09700 23.428000,113.07000 z "
- style="stroke:none" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="64.567902"
- fx="20.892099"
- r="5.2570000"
- cy="64.567902"
- cx="20.892099"
- id="radialGradient1450">
- <stop
- id="stop1452"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop1454"
- style="stop-color:#474747"
- offset="1" />
- </radialGradient>
- <path
- id="path1456"
- d="M 23.428000,63.070000 C 23.428000,65.043000 21.828000,66.643000 19.855000,66.643000 C 17.881000,66.643000 16.282000,65.043000 16.282000,63.070000 C 16.282000,61.096000 17.882000,59.497000 19.855000,59.497000 C 21.828000,59.497000 23.428000,61.097000 23.428000,63.070000 z "
- style="stroke:none" />
- </g>
- <path
- id="path15570"
- d="M 9.9950109,29.952326 C 9.9950109,30.405530 9.6274861,30.772825 9.1742821,30.772825 C 8.7208483,30.772825 8.3535532,30.405301 8.3535532,29.952326 C 8.3535532,29.498892 8.7210780,29.131597 9.1742821,29.131597 C 9.6274861,29.131597 9.9950109,29.499122 9.9950109,29.952326 z "
- style="fill:url(#radialGradient2283);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
- <path
- id="path15577"
- d="M 9.9950109,18.467176 C 9.9950109,18.920380 9.6274861,19.287905 9.1742821,19.287905 C 8.7208483,19.287905 8.3535532,18.920380 8.3535532,18.467176 C 8.3535532,18.013742 8.7210780,17.646447 9.1742821,17.646447 C 9.6274861,17.646447 9.9950109,18.013972 9.9950109,18.467176 z "
- style="fill:url(#radialGradient2285);fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000" />
- </g>
- <path
- sodipodi:nodetypes="cc"
- id="path15672"
- d="M 11.505723,5.4942766 L 11.505723,43.400869"
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.98855311;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.017543854" />
- <path
- sodipodi:nodetypes="cc"
- id="path15674"
- d="M 12.500000,5.0205154 L 12.500000,43.038228"
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.20467831" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer4"
- inkscape:label="new"
- style="display:inline">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient278);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.2500002;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block"
- id="path12511"
- sodipodi:cx="55.000000"
- sodipodi:cy="125.00000"
- sodipodi:rx="14.375000"
- sodipodi:ry="14.375000"
- d="M 69.375000 125.00000 A 14.375000 14.375000 0 1 1 40.625000,125.00000 A 14.375000 14.375000 0 1 1 69.375000 125.00000 z"
- transform="matrix(0.783292,0.000000,0.000000,0.783292,-6.340883,-86.65168)"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
- inkscape:export-xdpi="33.852203"
- inkscape:export-ydpi="33.852203" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-ok.svg b/share/pixmaps/tryton/tryton-ok.svg
deleted file mode 100644
index d9f4289..0000000
--- a/share/pixmaps/tryton/tryton-ok.svg
+++ /dev/null
@@ -1,1405 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- sodipodi:docname="dialog-ok.svg"
- sodipodi:docbase="/home/andreas/projekt/tango/scalable"
- inkscape:version="0.43"
- sodipodi:version="0.32"
- id="svg11300"
- height="48px"
- width="48px"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient7994"
- cx="16.620785"
- cy="-29.734715"
- fx="16.620785"
- fy="-29.734715"
- r="16.500000"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.5004,59.29963)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient8662"
- inkscape:collect="always">
- <stop
- id="stop8664"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop8666"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient8650"
- inkscape:collect="always">
- <stop
- id="stop8652"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop8654"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient1441"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- cx="34.663586"
- cy="20.321211"
- fx="34.663586"
- fy="20.321211"
- r="16.9562" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1444"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-1.71986e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient10491"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.55761,2.853404e-16,2.91297,-22.93354)"
- cx="15.987216"
- cy="1.5350308"
- fx="15.987216"
- fy="1.5350308"
- r="17.171415" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient11961"
- cx="13.904816"
- cy="36.435665"
- fx="13.904816"
- fy="36.435665"
- r="16.505941"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="29.619577"
- x2="9.8994951"
- y1="10.522566"
- x1="9.8994951"
- id="linearGradient1723"
- xlink:href="#linearGradient1725"
- inkscape:collect="always" />
- <linearGradient
- y2="21.214239"
- x2="28.84375"
- y1="18.057989"
- x1="27.90625"
- gradientTransform="translate(-44.14365,-18.7803)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1721"
- xlink:href="#linearGradient1737"
- inkscape:collect="always" />
- <linearGradient
- y2="28"
- x2="28.625"
- y1="25.296875"
- x1="28.625"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1719"
- xlink:href="#linearGradient4882"
- inkscape:collect="always" />
- <linearGradient
- y2="30.828125"
- x2="28.421637"
- y1="37.765625"
- x1="28.513193"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1717"
- xlink:href="#linearGradient4892"
- inkscape:collect="always" />
- <radialGradient
- r="7.5"
- fy="36.908916"
- fx="28.0625"
- cy="36.908916"
- cx="28.0625"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1715"
- xlink:href="#linearGradient4872"
- inkscape:collect="always" />
- <linearGradient
- y2="20.90625"
- x2="24.673225"
- y1="20.90625"
- x1="22.0625"
- gradientTransform="translate(1.084646,3.958421e-16)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1713"
- xlink:href="#linearGradient4910"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1711"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- y2="11.407223"
- x2="17.279921"
- y1="11.539805"
- x1="16.528622"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1709"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="14.876466"
- x2="20.727066"
- y1="15.23002"
- x1="19.489631"
- gradientTransform="translate(-52.2071,13.3483)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1707"
- xlink:href="#linearGradient2399"
- inkscape:collect="always" />
- <linearGradient
- y2="7.7189064"
- x2="21.6875"
- y1="12.093906"
- x1="21.6875"
- gradientTransform="translate(-102.0821,-10.1517)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1705"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2399">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2401" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2403" />
- </linearGradient>
- <linearGradient
- id="linearGradient4910">
- <stop
- style="stop-color:#6a6352;stop-opacity:1;"
- offset="0"
- id="stop4912" />
- <stop
- style="stop-color:#3b372e;stop-opacity:1;"
- offset="1"
- id="stop4914" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4892">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4894" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4896" />
- </linearGradient>
- <linearGradient
- id="linearGradient4882">
- <stop
- style="stop-color:#e7e5e0;stop-opacity:1;"
- offset="0"
- id="stop4884" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1"
- id="stop4886" />
- </linearGradient>
- <linearGradient
- id="linearGradient4872">
- <stop
- style="stop-color:#e5d28f;stop-opacity:1;"
- offset="0"
- id="stop4874" />
- <stop
- style="stop-color:#ab8f2a;stop-opacity:1;"
- offset="1"
- id="stop4876" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2454">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2456" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2458" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- r="23.5"
- fy="40.374615"
- fx="23.96336"
- cy="40.374615"
- cx="23.96336"
- id="radialGradient2801"
- xlink:href="#linearGradient2795"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- r="20"
- fy="16.234577"
- fx="197.48041"
- cy="16.234577"
- cx="197.48041"
- id="radialGradient2303"
- xlink:href="#linearGradient2295"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)"
- gradientUnits="userSpaceOnUse"
- y2="56.877113"
- x2="207.71683"
- y1="62"
- x1="207.71683"
- id="linearGradient4224"
- xlink:href="#linearGradient4218"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.947449"
- x2="221.39929"
- y1="64.193214"
- x1="221.39929"
- id="linearGradient4093"
- xlink:href="#linearGradient4087"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)"
- gradientUnits="userSpaceOnUse"
- y2="64.954399"
- x2="206.50735"
- y1="63.914768"
- x1="206.4698"
- id="linearGradient4085"
- xlink:href="#linearGradient4079"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- r="21"
- fy="61.016609"
- fx="210.76491"
- cy="61.016609"
- cx="210.76491"
- id="radialGradient4071"
- xlink:href="#linearGradient4065"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)"
- gradientUnits="userSpaceOnUse"
- y2="54.870758"
- x2="218.1942"
- y1="29.854406"
- x1="198.25261"
- id="linearGradient4053"
- xlink:href="#linearGradient2829"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.287102"
- x2="217.75"
- y1="60.957611"
- x1="217.75"
- id="linearGradient2289"
- xlink:href="#linearGradient2283"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)"
- gradientUnits="userSpaceOnUse"
- y2="57.31184"
- x2="219.625"
- y1="61.282185"
- x1="219.625"
- id="linearGradient2281"
- xlink:href="#linearGradient2275"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)"
- gradientUnits="userSpaceOnUse"
- y2="69.140022"
- x2="192.61819"
- y1="44.316147"
- x1="192.61819"
- id="linearGradient2213"
- xlink:href="#linearGradient2207"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2207"
- inkscape:collect="always">
- <stop
- id="stop2209"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2211"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2275">
- <stop
- id="stop2277"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop2279"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient2283">
- <stop
- id="stop2285"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop2287"
- offset="1"
- style="stop-color:#2e3436" />
- </linearGradient>
- <linearGradient
- id="linearGradient4065"
- inkscape:collect="always">
- <stop
- id="stop4067"
- offset="0"
- style="stop-color:#d3d7cf" />
- <stop
- id="stop4069"
- offset="1"
- style="stop-color:#555753" />
- </linearGradient>
- <linearGradient
- id="linearGradient4079"
- inkscape:collect="always">
- <stop
- id="stop4081"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop4083"
- offset="1"
- style="stop-color:#555753;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4087"
- inkscape:collect="always">
- <stop
- id="stop4089"
- offset="0"
- style="stop-color:#555753" />
- <stop
- id="stop4091"
- offset="1"
- style="stop-color:#2e3436;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4218"
- inkscape:collect="always">
- <stop
- id="stop4220"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4222"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2295"
- inkscape:collect="always">
- <stop
- id="stop2297"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2299"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2795"
- inkscape:collect="always">
- <stop
- id="stop2797"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2799"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2829">
- <stop
- style="stop-color:#babdb6"
- offset="0"
- id="stop2831" />
- <stop
- style="stop-color:#eeeeec"
- offset="1"
- id="stop2833" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient1725">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1727" />
- <stop
- style="stop-color:#babdb6"
- offset="1"
- id="stop1729" />
- </linearGradient>
- <linearGradient
- id="linearGradient1731">
- <stop
- id="stop1733"
- offset="0"
- style="stop-color:#8ae234;stop-opacity:1;" />
- <stop
- id="stop1735"
- offset="1"
- style="stop-color:#73d216;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1737"
- inkscape:collect="always">
- <stop
- id="stop1739"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop1741"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="radialGradient1527"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.843022,1.871885e-16,-2.265228e-16,1.020168,4.41386,0.60644)"
- cx="22.588188"
- cy="34.462799"
- fx="22.588188"
- fy="34.462799"
- r="16.9562" />
- <linearGradient
- id="linearGradient1507">
- <stop
- id="stop1509"
- offset="0"
- style="stop-color:#f57900" />
- <stop
- id="stop1511"
- offset="1"
- style="stop-color:#ce5c00" />
- </linearGradient>
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(3.749427e-16,-2.046729,-1.55761,-2.853404e-16,44.11559,66.93275)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1471"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.494493"
- fx="35.292667"
- cy="20.494493"
- cx="35.292667"
- gradientTransform="matrix(1.871885e-16,-0.843022,1.020168,2.265228e-16,0.606436,42.58614)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1469"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1,0,0,0.536723,1.513668e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1503"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient1810">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop1812" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop1814" />
- </linearGradient>
- <linearGradient
- id="linearGradient1756">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1758" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1760" />
- </linearGradient>
- <linearGradient
- id="linearGradient1750">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1752" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1754" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient1742"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient1740"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient1738"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient1736"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient1734"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient1732"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient1730"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient1728"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient1726"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient1724"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient1712">
- <stop
- id="stop1714"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop1716"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1706">
- <stop
- id="stop1708"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop1710"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1693">
- <stop
- id="stop1695"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop1697"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient1685"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1683"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1681"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient1679"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient1677"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient1675"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient1673"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient1671"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient1669"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient1667"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient1665"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1663"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1661"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1659"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient1645"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1831"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-6.209324e-15,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient2881"
- x1="-105.29172"
- y1="10.854023"
- x2="-68.690399"
- y2="10.854023"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient3814"
- cx="-128.09293"
- cy="-6.7201605"
- fx="-128.09293"
- fy="-6.7201605"
- r="16.201061"
- gradientTransform="matrix(-1.816359,-3.649306e-3,4.950766e-3,-2.458037,-327.6983,-22.2003)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient1455"
- gradientUnits="userSpaceOnUse"
- x1="-105.29172"
- y1="10.854023"
- x2="-68.690399"
- y2="10.854023" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8650"
- id="radialGradient1457"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.816359,-3.649306e-3,4.950766e-3,-2.458037,-327.6983,-22.2003)"
- cx="-128.09293"
- cy="-6.7201605"
- fx="-128.09293"
- fy="-6.7201605"
- r="16.201061" />
- <linearGradient
- id="linearGradient1724">
- <stop
- style="stop-color:#f57900"
- offset="0"
- id="stop1726" />
- <stop
- style="stop-color:#ce5c00"
- offset="1"
- id="stop1728" />
- </linearGradient>
- <linearGradient
- id="linearGradient1668">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1670" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1672" />
- </linearGradient>
- <linearGradient
- id="linearGradient1662">
- <stop
- style="stop-color:#555753"
- offset="0"
- id="stop1664" />
- <stop
- style="stop-color:#2e3436"
- offset="1"
- id="stop1666" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2207"
- id="linearGradient1654"
- x1="192.61819"
- y1="44.316147"
- x2="192.61819"
- y2="69.140022"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999602,0,0,0.961422,-189.9119,-20.92669)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2275"
- id="linearGradient1652"
- x1="219.625"
- y1="61.282185"
- x2="219.625"
- y2="57.31184"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2283"
- id="linearGradient1650"
- x1="217.75"
- y1="60.957611"
- x2="217.75"
- y2="57.287102"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999057,0,0,1.151023,-189.7906,-31.17189)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2829"
- id="linearGradient1648"
- x1="198.25261"
- y1="29.854406"
- x2="218.1942"
- y2="54.870758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.002741,0,0,0.998021,-190.5863,-21.88717)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4065"
- id="radialGradient1646"
- cx="210.76491"
- cy="61.016609"
- fx="210.76491"
- fy="61.016609"
- r="21"
- gradientTransform="matrix(0.899437,-1.184496e-5,1.489071e-16,8.969057e-2,-168.5196,34.65516)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4079"
- id="linearGradient1644"
- x1="206.4698"
- y1="63.914768"
- x2="206.50735"
- y2="64.954399"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4087"
- id="linearGradient1642"
- x1="221.39929"
- y1="64.193214"
- x2="221.39929"
- y2="64.947449"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.975295,-190,-22.63779)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4218"
- id="linearGradient1640"
- x1="207.71683"
- y1="62"
- x2="207.71683"
- y2="56.877113"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.998304,-190,-22.89582)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2295"
- id="radialGradient1638"
- cx="197.48041"
- cy="16.234577"
- fx="197.48041"
- fy="16.234577"
- r="20"
- gradientTransform="matrix(2.433191,0.47803,-0.122315,0.689847,-471.9676,-99.8799)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2795"
- id="radialGradient1636"
- cx="23.96336"
- cy="40.374615"
- fx="23.96336"
- fy="40.374615"
- r="23.5"
- gradientTransform="matrix(1,-2.301335e-6,-6.522924e-8,0.297873,3.664127e-2,28.97356)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient1624">
- <stop
- id="stop1626"
- offset="0"
- style="stop-color:#e5d28f;stop-opacity:1;" />
- <stop
- id="stop1628"
- offset="1"
- style="stop-color:#ab8f2a;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1618">
- <stop
- id="stop1620"
- offset="0"
- style="stop-color:#e7e5e0;stop-opacity:1;" />
- <stop
- id="stop1622"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1606">
- <stop
- id="stop1608"
- offset="0"
- style="stop-color:#6a6352;stop-opacity:1;" />
- <stop
- id="stop1610"
- offset="1"
- style="stop-color:#3b372e;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1731"
- id="linearGradient1598"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-102.0821,-10.1517)"
- x1="21.6875"
- y1="12.093906"
- x2="21.6875"
- y2="7.7189064" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1596"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="19.489631"
- y1="15.23002"
- x2="20.727066"
- y2="14.876466" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2399"
- id="linearGradient1594"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-52.2071,13.3483)"
- x1="16.528622"
- y1="11.539805"
- x2="17.279921"
- y2="11.407223" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient1592"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4910"
- id="linearGradient1590"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="22.0625"
- y1="20.90625"
- x2="24.673225"
- y2="20.90625" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4872"
- id="radialGradient1588"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.28125,1.084646,-9.461426)"
- cx="28.0625"
- cy="36.908916"
- fx="28.0625"
- fy="36.908916"
- r="7.5" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4892"
- id="linearGradient1586"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(1.084646,3.958421e-16)"
- x1="28.513193"
- y1="37.765625"
- x2="28.421637"
- y2="30.828125" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4882"
- id="linearGradient1584"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.876289,1.084646,3.151418)"
- x1="28.625"
- y1="25.296875"
- x2="28.625"
- y2="28" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1737"
- id="linearGradient1582"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-44.14365,-18.7803)"
- x1="27.90625"
- y1="18.057989"
- x2="28.84375"
- y2="21.214239" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1725"
- id="linearGradient1580"
- x1="9.8994951"
- y1="10.522566"
- x2="9.8994951"
- y2="29.619577"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.999669,-4.782903e-3,3.785304e-3,0.791668,-0.221863,10.41377)"
- r="16.505941"
- fy="36.435665"
- fx="13.904816"
- cy="36.435665"
- cx="13.904816"
- id="radialGradient1578"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- r="17.171415"
- fy="1.5350308"
- fx="15.987216"
- cy="1.5350308"
- cx="15.987216"
- gradientTransform="matrix(-3.749427e-16,2.046729,1.557610,2.853404e-16,2.912970,-22.93354)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1576"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- r="15.644737"
- fy="36.421127"
- fx="24.837126"
- cy="36.421127"
- cx="24.837126"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-1.517764e-15,16.87306)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1574"
- xlink:href="#linearGradient8662"
- inkscape:collect="always" />
- <radialGradient
- r="16.9562"
- fy="20.321211"
- fx="34.663586"
- cy="20.321211"
- cx="34.663586"
- gradientTransform="matrix(-1.871885e-16,0.843022,-1.020168,-2.265228e-16,46.39357,1.413854)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1572"
- xlink:href="#linearGradient1731"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.193185,-5.372224e-4,-2.626836e-4,0.916667,44.50040,59.29963)"
- r="16.500000"
- fy="-29.734715"
- fx="16.620785"
- cy="-29.734715"
- cx="16.620785"
- id="radialGradient1558"
- xlink:href="#linearGradient8650"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1749"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-1.728076e-14,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="25"
- inkscape:window-x="0"
- inkscape:window-height="949"
- inkscape:window-width="1280"
- inkscape:showpageshadow="false"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="14.572783"
- inkscape:cx="27.106313"
- inkscape:zoom="2.8284271"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.25490196"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- fill="#a04e0b"
- stroke="#4e9a06" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Dialog ok</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>ok</rdf:li>
- <rdf:li>sure</rdf:li>
- <rdf:li>set</rdf:li>
- <rdf:li>apply</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <path
- transform="matrix(1.214466,0,0,0.595458,-6.163846,20.31274)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.20454544;color:#000000;fill:url(#radialGradient1444);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <g
- id="g1529"
- inkscape:label="Layer 1"
- transform="translate(111.7398,15.57922)">
- <g
- id="g1450"
- transform="matrix(1.017301,-0.243559,0.243559,1.017301,-1.745715,-23.38258)">
- <path
- style="color:#000000;fill:url(#linearGradient1455);fill-opacity:1;fill-rule:nonzero;stroke:#4e9a06;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -74.409033,-4.6061185 C -74.916775,-4.7835205 -75.495163,-4.6525155 -75.879685,-4.2272175 L -92.261932,13.88891 L -98.191918,6.3116215 C -98.758982,5.7989255 -99.627881,5.8333845 -100.14058,6.4004485 L -104.43469,9.8309715 C -104.94738,10.398032 -104.90238,11.269196 -104.33532,11.78189 C -104.33532,11.78189 -93.606486,26.028793 -93.591942,26.040916 C -93.459039,26.161081 -93.309199,26.241405 -93.151575,26.300858 C -92.636666,26.495075 -92.033553,26.375706 -91.64102,25.941551 L -69.547436,1.5097265 C -69.034742,0.94266447 -69.079738,0.071502465 -69.646804,-0.44119353 L -73.928764,-4.3265845 C -74.070532,-4.4547595 -74.239786,-4.5469855 -74.409033,-4.6061185 z "
- id="path1542"
- sodipodi:nodetypes="cccccccssccccc" />
- <path
- style="opacity:0.481;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.94278264;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -75.505689,-3.1784705 L -83.816491,6.0444265 L -91.200007,14.166497 C -91.406252,14.295135 -91.482997,14.840014 -92.251368,14.851543 C -92.782982,14.85952 -92.828986,14.651426 -93.275641,14.185678 L -98.515111,7.5325109 C -99.095675,6.7824209 -99.080973,6.8176918 -99.712883,7.2090055 L -103.09143,9.8617075 C -103.9695,10.44247 -103.96945,10.920391 -103.23181,11.686985 C -103.23181,11.686985 -93.472518,24.620246 -93.458763,24.631716 C -93.333055,24.745371 -93.401244,24.757691 -92.882863,25.337904 C -92.550338,25.710091 -91.98786,24.915221 -91.61898,24.507245 L -70.377125,1.0708065 C -69.895324,0.53793747 -69.922743,0.54011447 -70.459115,0.055191465 L -74.308076,-3.3380155 C -74.861256,-3.8355715 -74.865516,-3.8324245 -75.505689,-3.1784705 z "
- id="path1544"
- sodipodi:nodetypes="cccscccccssccccc" />
- <path
- sodipodi:nodetypes="csscccsscccscssscccssssssssssccssssssssc"
- id="path2913"
- d="M -74.887378,-2.8957807 C -74.898346,-2.8928127 -74.907453,-2.8686417 -74.918628,-2.8645307 C -74.952536,-2.8504737 -75.006464,-2.8265797 -75.043628,-2.8020307 C -75.163545,-2.7186777 -75.322325,-2.5586737 -75.512378,-2.3645307 L -83.231128,6.1354693 L -91.074878,14.791719 C -91.228219,14.895565 -91.698102,15.30255 -92.137378,15.354219 C -92.347361,15.378918 -92.304745,15.323744 -92.715503,15.260469 C -93.286373,15.17253 -94.301916,13.6299 -94.731128,13.182344 L -98.934253,7.7448443 C -99.147712,7.4540823 -99.158865,7.4584123 -99.434255,7.6198443 C -99.434255,7.6198443 -102.79963,10.20449 -102.93425,10.322969 C -103.28116,10.628287 -103.3211,10.683786 -103.04363,11.104219 C -103.04363,11.104219 -97.541489,18.467313 -97.537826,18.472026 C -96.702953,18.349219 -92.059729,17.943163 -91.214427,17.465925 C -86.239777,14.657348 -87.547518,10.442145 -81.793628,6.0104693 C -78.64697,3.5868963 -74.670415,2.2806183 -71.699878,1.6042193 L -71.668628,1.6042193 L -71.168628,1.0417193 C -71.018062,0.87519831 -70.913177,0.73461731 -70.856128,0.63546931 C -70.850905,0.62574131 -70.829134,0.61361531 -70.824878,0.60421931 C -70.822993,0.59959331 -70.82652,0.57752931 -70.824878,0.57296931 C -70.823481,0.56846731 -70.82603,0.54617131 -70.824878,0.54171931 C -70.823971,0.53731131 -70.825539,0.51484031 -70.824878,0.51046931 C -70.824795,0.50830931 -70.824899,0.48137431 -70.824878,0.47921931 C -70.825209,0.47492331 -70.824297,0.45226431 -70.824878,0.44796931 C -70.825709,0.44366831 -70.823796,0.42103331 -70.824878,0.41671931 C -70.826464,0.41235731 -70.823039,0.38986631 -70.824878,0.38546931 C -70.82697,0.38103131 -70.853782,0.35870631 -70.856128,0.35421931 C -70.916128,0.25748831 -71.023882,0.13833431 -71.199878,-0.020780689 L -74.231128,-2.5520307 C -74.38671,-2.6919687 -74.500977,-2.7758957 -74.606128,-2.8332807 C -74.611887,-2.8362027 -74.631694,-2.8618747 -74.637378,-2.8645307 C -74.642995,-2.8669187 -74.663071,-2.8624117 -74.668628,-2.8645307 C -74.67964,-2.8682277 -74.720278,-2.8931717 -74.731128,-2.8957807 C -74.736525,-2.8968117 -74.757003,-2.8950247 -74.762378,-2.8957807 C -74.76774,-2.8962607 -74.788272,-2.8955777 -74.793628,-2.8957807 C -74.798986,-2.8957047 -74.81951,-2.8961357 -74.824878,-2.8957807 C -74.830264,-2.8951447 -74.850718,-2.8966977 -74.856128,-2.8957807 C -74.861571,-2.8945807 -74.881894,-2.8972647 -74.887378,-2.8957807 z "
- style="opacity:0.50800003;color:#000000;fill:url(#radialGradient1457);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.94278264;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-open.svg b/share/pixmaps/tryton/tryton-open.svg
deleted file mode 100644
index f38716d..0000000
--- a/share/pixmaps/tryton/tryton-open.svg
+++ /dev/null
@@ -1,533 +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://web.resource.org/cc/"
- 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"
- width="48.000000px"
- height="48.000000px"
- id="svg97"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="document-open.svg"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/snowdunes/gnome-fs-directory-accept.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient269">
- <stop
- id="stop270"
- offset="0.0000000"
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
- <stop
- id="stop271"
- offset="1.0000000"
- style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient269"
- id="radialGradient8234"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.968273,0.000000,0.000000,1.046686,44.36453,-17.00717)"
- cx="8.8244190"
- cy="3.7561285"
- fx="8.8244190"
- fy="3.7561285"
- r="37.751713" />
- <linearGradient
- id="linearGradient259">
- <stop
- id="stop260"
- offset="0.0000000"
- style="stop-color:#fafafa;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#a8a8a8;stop-opacity:1;"
- offset="0.5"
- id="stop8238" />
- <stop
- id="stop261"
- offset="1"
- style="stop-color:#cdcdcd;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient259"
- id="linearGradient8236"
- x1="25.875"
- y1="10.625"
- x2="25.25"
- y2="30.875"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.238806,0.000000,-7.880597)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient13842">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop13844" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop13846" />
- </linearGradient>
- <linearGradient
- id="linearGradient9766">
- <stop
- style="stop-color:#6194cb;stop-opacity:1;"
- offset="0"
- id="stop9768" />
- <stop
- style="stop-color:#729fcf;stop-opacity:1;"
- offset="1"
- id="stop9770" />
- </linearGradient>
- <linearGradient
- id="linearGradient148">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.13402061;"
- offset="0.0000000"
- id="stop149" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.051546391;"
- offset="1.0000000"
- id="stop150" />
- </linearGradient>
- <linearGradient
- id="linearGradient335">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop336" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop337" />
- </linearGradient>
- <linearGradient
- id="linearGradient1789">
- <stop
- style="stop-color:#a0a0a0;stop-opacity:1;"
- offset="0"
- id="stop1790" />
- <stop
- style="stop-color:#a8a8a8;stop-opacity:1;"
- offset="1"
- id="stop1791" />
- </linearGradient>
- <linearGradient
- id="linearGradient137">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.70059878;"
- offset="0.0000000"
- id="stop138" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop139" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient335"
- id="linearGradient155"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.421537,0.703464)"
- x1="19.116116"
- y1="28.946041"
- x2="19.426924"
- y2="51.912693" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient148"
- id="linearGradient156"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.535299,0.000000,0.000000,0.651339,3.451418,2.448000)"
- x1="14.899379"
- y1="27.059643"
- x2="22.715446"
- y2="41.836895" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient137"
- id="linearGradient158"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.462696,0.000000,6.907908e-2,0.683669,0.000000,0.000000)"
- x1="5.2657914"
- y1="18.725863"
- x2="8.2122240"
- y2="52.625851" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1789"
- id="radialGradient159"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.015635,0.000000,0.103105,1.000512,0.000000,-8.369458e-2)"
- cx="26.106777"
- cy="38.195114"
- fx="26.106777"
- fy="38.195114"
- r="32.259769" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9766"
- id="linearGradient13162"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.022118,52.05694,-1.323026)"
- x1="22.175976"
- y1="36.987999"
- x2="22.065331"
- y2="32.050499" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient13842"
- id="linearGradient13848"
- x1="22.25"
- y1="37.625"
- x2="19.75"
- y2="14.875"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="38.261387"
- inkscape:cy="37.388301"
- inkscape:current-layer="layer3"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1027"
- inkscape:window-height="830"
- inkscape:window-x="496"
- inkscape:window-y="159"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Folder Icon Accept</dc:title>
- <dc:date>2005-01-31</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:description>Active state - when files are being dragged to.</dc:description>
- <dc:publisher>
- <cc:Agent>
- <dc:title>Novell, Inc.</dc:title>
- </cc:Agent>
- </dc:publisher>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Folder"
- inkscape:groupmode="layer" />
- <g
- inkscape:label="Open"
- id="layer3"
- inkscape:groupmode="layer">
- <path
- sodipodi:nodetypes="ccccccssssccc"
- style="color:#000000;fill:url(#radialGradient159);fill-opacity:1;fill-rule:nonzero;stroke:#5a5a5a;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path2375"
- d="M 4.6200285,38.651015 C 4.6618365,39.07147 5.1174141,39.491924 5.5311838,39.491924 L 36.667346,39.491924 C 37.081116,39.491924 37.453078,39.07147 37.41127,38.651015 L 34.714653,11.531728 C 34.672845,11.111274 34.217267,10.69082 33.803498,10.69082 L 21.080082,10.69082 C 20.489536,10.69082 19.870999,10.311268 19.677221,9.7304849 L 18.574219,6.4246085 C 18.404967,5.9173308 18.027069,5.6888138 17.259746,5.6888138 L 2.3224188,5.6888138 C 1.9086492,5.6888138 1.5366876,6.109268 1.5784956,6.529722 L 4.6200285,38.651015 z " />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 3.3386019,17.533487 L 34.488461,17.533487"
- id="path13113"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.3301525,37.533487 L 35.317907,37.533487"
- id="path13160"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path13139"
- d="M 5.3301525,35.533487 L 35.317907,35.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.165152e-2,0,0,1.903841e-2,42.41538,36.93372)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- sodipodi:nodetypes="ccccccsscsscccc"
- id="path2380"
- d="M 6.1717518,38.418674 C 6.2031078,38.729001 6.0171270,38.935886 5.6963478,38.832443 L 5.6963478,38.832443 C 5.3755686,38.729001 5.1477798,38.522116 5.1164238,38.211789 L 2.0868572,6.8445942 C 2.0555012,6.5342670 2.2434512,6.3468711 2.5537784,6.3468711 L 17.303531,6.2554251 C 17.834815,6.2521313 18.042960,6.3087310 18.183330,6.7726371 C 18.183330,6.7726371 19.268704,9.8854350 19.429564,10.470742 L 17.873968,7.5537061 C 17.608788,7.0564434 17.275224,7.1399365 16.901178,7.1399365 L 3.7717775,7.1399365 C 3.4614503,7.1399365 3.2754695,7.3468213 3.3068255,7.6571485 L 6.2856462,38.522116 L 6.1717518,38.418674 z "
- style="color:#000000;fill:url(#linearGradient158);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.1734115;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path13145"
- d="M 2.3052333,7.533487 L 17.088967,7.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path13115"
- d="M 2.7573333,11.533487 L 33.496214,11.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <g
- inkscape:export-ydpi="74.800003"
- inkscape:export-xdpi="74.800003"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- transform="matrix(1.034424,0.000000,0.104520,1.034424,-10.03248,2.631914)"
- id="g2381"
- style="fill:#ffffff;fill-opacity:0.58031088;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4.0000000;display:block">
- <path
- sodipodi:nodetypes="cscscs"
- id="path2382"
- d="M 41.785743,9.0363862 C 41.795369,8.5618034 41.800932,8.3118806 41.362350,8.3121830 L 28.806530,8.3208402 C 28.506530,8.3208402 28.481916,8.1776341 28.806530,8.3208402 C 29.131144,8.4640463 30.053628,8.9791114 30.989227,9.0218349 C 30.989227,9.0218349 41.785704,9.0382983 41.785743,9.0363862 z "
- style="stroke:none" />
- </g>
- <path
- sodipodi:nodetypes="cc"
- id="path13123"
- d="M 3.1628954,15.533487 L 33.993452,15.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999994;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.1594716,33.533487 L 35.147226,33.533487"
- id="path13121"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path13119"
- d="M 4.8658086,31.533487 L 34.974533,31.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.6336367,29.533487 L 34.802847,29.533487"
- id="path13135"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path13137"
- d="M 4.4629557,27.533487 L 34.632166,27.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.2556718,25.533487 L 34.460793,25.533487"
- id="path13143"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path13133"
- d="M 4.0235198,23.533487 L 34.289101,23.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 3.8528389,21.533487 L 34.11842,21.533487"
- id="path13117"
- sodipodi:nodetypes="cc" />
- <g
- inkscape:export-ydpi="74.800003"
- inkscape:export-xdpi="74.800003"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- transform="matrix(1.034424,0,0.10452,1.034424,-10.03248,2.631914)"
- id="g1853"
- style="fill:#ffffff;fill-opacity:0.5803109;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4;display:block">
- <path
- sodipodi:nodetypes="cscscs"
- id="path1855"
- d="M 41.785743,9.0363862 C 41.795369,8.5618034 41.800932,8.3118806 41.36235,8.312183 L 28.80653,8.3208402 C 28.50653,8.3208402 28.481916,8.1776341 28.80653,8.3208402 C 29.131144,8.4640463 30.053628,8.9791114 30.989227,9.0218349 C 30.989227,9.0218349 41.785704,9.0382983 41.785743,9.0363862 z "
- style="stroke:none" />
- </g>
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 2.9642313,13.533487 L 33.990735,13.533487"
- id="path13127"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path13125"
- d="M 3.6514189,19.533487 L 33.947215,19.533487"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 2.5242572,9.5334871 L 17.805073,9.5334871"
- id="path13147"
- sodipodi:nodetypes="cc" />
- <path
- style="opacity:0.39204545;color:#000000;fill:url(#linearGradient13848);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 34.375,14.125 L 37,38.75 L 6,38.875 C 6,38.875 4.125,14.125 4.125,14.125 C 4.125,14.125 34.5,14.125 34.375,14.125 z "
- id="path13840"
- sodipodi:nodetypes="cccsc" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient8236);fill-opacity:1;fill-rule:nonzero;stroke:url(#radialGradient8234);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 43.375,2.4944033 C 43.875,19.373135 34.299937,21.022879 37.362437,31.494661 C 37.362437,31.494661 5.875,32.380598 5.875,32.380598 C 4,19.527986 14.25,11.166045 11.25,2.649254 L 43.375,2.4944033 z "
- id="path8230"
- sodipodi:nodetypes="ccccc" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 15.4375,6.5624999 L 39,6.5624999"
- id="path8277"
- sodipodi:nodetypes="cc" />
- <path
- inkscape:export-ydpi="74.800003"
- inkscape:export-xdpi="74.800003"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- sodipodi:nodetypes="cccsscccscc"
- id="path2401"
- d="M 5.7785654,39.065997 C 5.8820074,39.277466 6.0888914,39.488925 6.3992173,39.488925 L 39.70767,39.488925 C 39.914562,39.488925 40.228834,39.36262 40.415844,39.224574 C 40.946246,38.833039 41.070704,38.612189 41.308626,38.251107 C 43.756752,34.535647 47.113767,18.974214 47.113767,18.974214 C 47.217209,18.762754 47.010326,18.551294 46.7,18.551294 L 11.776358,18.551294 C 11.466032,18.551294 10.120393,34.658624 6.9133592,37.838317 L 5.6751235,39.065997 L 5.7785654,39.065997 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient13162);fill-opacity:1;fill-rule:nonzero;stroke:#3465a4;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path8279"
- d="M 15.356073,8.5624999 L 35.08142,8.5624999"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- id="path323"
- d="M 13.134476,20.138641 C 12.361729,25.129398 11.633175,29.147884 10.418486,33.652505 C 12.804971,32.945398 17.534602,30.448000 27.534602,30.448000 C 37.534602,30.448000 44.258175,21.199301 45.186253,20.094447 L 13.134476,20.138641 z "
- style="fill:url(#linearGradient156);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- sodipodi:nodetypes="ccccc" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 15.143007,10.5625 L 39.457831,10.5625"
- id="path8281"
- sodipodi:nodetypes="cc" />
- <path
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient155);stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible;opacity:0.52272727"
- d="M 45.820083,19.687500 L 12.661612,19.687500 C 12.661612,19.687500 10.513864,35.707107 7.9393398,37.928078 C 16.060417,37.928078 39.510511,37.879442 39.530330,37.879442 C 41.281989,37.879442 44.437971,25.243248 45.820083,19.687500 z "
- id="path324"
- sodipodi:nodetypes="cccsc" />
- <path
- sodipodi:nodetypes="cc"
- id="path8283"
- d="M 14.398767,12.5625 L 38.252159,12.5625"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000048;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 13.629028,14.5625 L 36.975331,14.5625"
- id="path8285"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path8287"
- d="M 12.520679,16.5625 L 31.16684,16.5625"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 6.375,31.75 C 5.1336344,19.511961 13.5625,12.6875 12,2.9999999 L 42.875,2.9999999 L 12.875,3.6249999 C 14.125,13.1875 6.6786165,18.271447 6.375,31.75 z "
- id="path8289"
- sodipodi:nodetypes="ccccc" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="pattern" />
-</svg>
diff --git a/share/pixmaps/tryton/tryton-preferences-system-session.svg b/share/pixmaps/tryton/tryton-preferences-system-session.svg
deleted file mode 100644
index 96688e6..0000000
--- a/share/pixmaps/tryton/tryton-preferences-system-session.svg
+++ /dev/null
@@ -1,508 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- sodipodi:docname="preferences-system-session.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3844">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3846" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3848" />
- </linearGradient>
- <linearGradient
- id="linearGradient3832">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3834" />
- <stop
- style="stop-color:#e0e0e0;stop-opacity:1;"
- offset="1"
- id="stop3836" />
- </linearGradient>
- <linearGradient
- id="linearGradient2606"
- inkscape:collect="always">
- <stop
- id="stop2608"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2610"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="36.403183"
- x2="21.245468"
- y1="29.420502"
- x1="21.055086"
- id="linearGradient2612"
- xlink:href="#linearGradient2606"
- inkscape:collect="always"
- gradientTransform="matrix(0.900036,0.000000,0.000000,0.900036,1.822682,3.294402)" />
- <linearGradient
- id="linearGradient2402">
- <stop
- style="stop-color:#d8d8d8;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2404" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2406" />
- </linearGradient>
- <linearGradient
- gradientTransform="matrix(1.269447,0.000000,0.000000,1.269447,-11.95900,-11.26556)"
- y2="16.334450"
- x2="23.495136"
- y1="25.350061"
- x1="23.318359"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2400"
- xlink:href="#linearGradient2402"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2392">
- <stop
- id="stop2394"
- offset="0.0000000"
- style="stop-color:#a0a0a0;stop-opacity:1.0000000;" />
- <stop
- id="stop2396"
- offset="1.0000000"
- style="stop-color:#e7e7e7;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="matrix(1.269447,0.000000,0.000000,1.269447,-8.817277,-11.26556)"
- gradientUnits="userSpaceOnUse"
- y2="33.835342"
- x2="22.257700"
- y1="38.077984"
- x1="22.257700"
- id="linearGradient2398"
- xlink:href="#linearGradient2392"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient2414"
- inkscape:collect="always">
- <stop
- id="stop2416"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2418"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="7.1523275"
- x2="32.951836"
- y1="28.188753"
- x1="33.740231"
- id="linearGradient2420"
- xlink:href="#linearGradient2414"
- inkscape:collect="always"
- gradientTransform="matrix(0.877849,0.000000,0.000000,0.938787,4.368430,1.430637)" />
- <linearGradient
- id="linearGradient10314">
- <stop
- id="stop10316"
- offset="0.0000000"
- style="stop-color:#f3f3f3;stop-opacity:1.0000000;" />
- <stop
- id="stop10318"
- offset="1.0000000"
- style="stop-color:#838383;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="matrix(1.269447,0.000000,0.000000,1.269447,-8.817277,-11.26556)"
- gradientUnits="userSpaceOnUse"
- y2="18.071468"
- x2="33.558048"
- y1="42.466652"
- x1="33.761253"
- id="linearGradient2390"
- xlink:href="#linearGradient10314"
- inkscape:collect="always" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient1428">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop1430" />
- <stop
- style="stop-color:#729fcf"
- offset="1"
- id="stop1432" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1428"
- id="linearGradient1434"
- x1="26.870058"
- y1="6.634253"
- x2="26.870058"
- y2="44.464878"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.857967,0,0,0.83092,2.129344,0.177594)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3832"
- id="linearGradient3838"
- x1="17.88068"
- y1="11.072588"
- x2="17.88068"
- y2="21.767578"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0,-0.441941)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3844"
- id="radialGradient3850"
- cx="35.1875"
- cy="43.875"
- fx="35.1875"
- fy="43.875"
- r="6.6875"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.355140,2.228598e-14,28.29322)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3844"
- id="radialGradient3854"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.355140,1.780868e-14,28.29322)"
- cx="35.1875"
- cy="43.875"
- fx="35.1875"
- fy="43.875"
- r="6.6875" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3832"
- id="linearGradient3866"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0,-0.441941)"
- x1="17.88068"
- y1="11.072588"
- x2="17.88068"
- y2="21.767578" />
- </defs>
- <sodipodi:namedview
- stroke="#204a87"
- fill="#204a87"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="64.156864"
- inkscape:cy="1.9432934"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="872"
- inkscape:window-height="659"
- inkscape:window-x="189"
- inkscape:window-y="274" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Preferences Session</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>session</rdf:li>
- <rdf:li>restart</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g5022"
- transform="matrix(2.393555e-2,0,0,2.086758e-2,44.06037,36.07733)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <rect
- style="opacity:1;color:black;fill:url(#linearGradient1434);fill-opacity:1;fill-rule:evenodd;stroke:#173764;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect1426"
- width="38.978817"
- height="37.896954"
- x="3.3426924"
- y="1.4303973"
- rx="1.8561548"
- ry="1.8561562" />
- <g
- transform="translate(10.94759,8.923608)"
- id="g3860">
- <rect
- style="opacity:1;color:black;fill:url(#linearGradient3866);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3862"
- width="16.086679"
- height="15.884013"
- x="5.5"
- y="7.5499992"
- rx="1.1061546"
- ry="1.1061544" />
- <rect
- style="opacity:1;color:black;fill:#204a87;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3864"
- width="13"
- height="2"
- x="7"
- y="9"
- rx="0.22227085"
- ry="0.22227083" />
- </g>
- <g
- id="g3822"
- transform="translate(1.913321,0.950001)">
- <rect
- ry="1.1061544"
- rx="1.1061546"
- y="7.5499992"
- x="5.5"
- height="15.884013"
- width="16.086679"
- id="rect3818"
- style="opacity:1;color:black;fill:url(#linearGradient3838);fill-opacity:1;fill-rule:evenodd;stroke:#204a87;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- ry="0.22227083"
- rx="0.22227085"
- y="9"
- x="7"
- height="2"
- width="13"
- id="rect3820"
- style="opacity:1;color:black;fill:#204a87;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- ry="1.1061546"
- rx="1.106155"
- y="2.4057"
- x="4.3131418"
- height="35.86237"
- width="36.950188"
- id="rect2317"
- style="opacity:0.28654971;color:black;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:white;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:black;fill:black;fill-opacity:0.32121211;fill-rule:evenodd;stroke:none;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect1436"
- width="37.940125"
- height="2.9068542"
- x="3.932059"
- y="3.5159616"
- rx="1.2374369"
- ry="1.2374369" />
- <rect
- ry="1.2374369"
- rx="1.2374369"
- y="2.0159619"
- x="3.932059"
- height="2.9068542"
- width="37.940125"
- id="rect2311"
- style="opacity:1;color:black;fill:white;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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.37426901;color:#000000;fill:url(#radialGradient3850);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3842"
- sodipodi:cx="35.1875"
- sodipodi:cy="43.875"
- sodipodi:rx="6.6875"
- sodipodi:ry="2.375"
- d="M 41.875 43.875 A 6.6875 2.375 0 1 1 28.5,43.875 A 6.6875 2.375 0 1 1 41.875 43.875 z"
- transform="matrix(1.962616,0.000000,0.000000,1.420561,-34.49705,-18.76460)" />
- <g
- id="g3782"
- transform="matrix(0.659942,0.000000,0.000000,0.659942,17.35720,19.16306)">
- <path
- sodipodi:nodetypes="ccccc"
- id="path8643"
- d="M 18.29373,38.495233 L 32.503093,38.495233 C 44.172341,38.719641 44.53716,8.2053035 32.503093,8.3409562 L 18.29373,8.7977005 C 31.758245,9.246517 30.879494,38.719642 18.29373,38.495233 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient2390);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.51528597;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.27807486;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2420);stroke-width:1.51528549;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 22.011531,36.445279 L 32.715143,36.445279 C 42.14255,36.63916 42.363672,10.296814 32.870326,10.296814 L 22.011531,10.648128 C 32.578941,10.372067 32.179378,36.639161 22.011531,36.445279 z "
- id="path2412"
- sodipodi:nodetypes="ccccc" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient2398);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.51528537;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 32.179094,38.483424 L 16.906098,38.531056 C 13.315562,38.531056 8.5167326,34.691246 8.530485,27.381026 L 24.748746,27.381027 C 24.748746,33.440059 27.017695,38.707834 32.179094,38.483424 z "
- id="path1618"
- sodipodi:nodetypes="ccccc" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient2400);fill-opacity:1;fill-rule:evenodd;stroke:#555753;stroke-width:1.51528502;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 2.0049099,12.868422 L 16.316482,23.187659 L 35.921543,13.2798 L 25.598747,13.2798 C 25.598747,13.2798 28.434548,8.1522837 32.698311,8.3766928 C 32.698311,8.3766928 17.424776,8.6011019 17.424776,8.6011019 C 13.38542,8.3766928 11.858019,12.801456 11.858019,12.801456 L 2.0049099,12.868422 z "
- id="path2388"
- sodipodi:nodetypes="cccccccc" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path2604"
- d="M 26.06304,37.062287 L 17.580704,37.097672 C 14.595102,37.097672 10.870969,34.085991 10.40387,28.814369 L 23.406968,28.81437 C 23.088758,32.360963 23.978822,34.365102 26.06304,37.062287 z "
- style="opacity:0.81818183;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2612);stroke-width:1.51528442;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path2614"
- d="M 6.7908383,14.416644 L 16.588074,21.339117 L 29.584743,14.830905 C 27.971751,14.889716 24.776252,14.830905 22.372006,14.830905 C 22.372006,14.830905 24.289195,11.404725 26.364969,10.135467 C 26.364969,10.135467 17.291753,10.697238 17.291753,10.697238 C 14.34477,10.533517 12.767134,14.416644 12.767134,14.416644 L 6.7908383,14.416644 z "
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.51528418;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- style="opacity:0.36257306;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3856"
- width="6.6875"
- height="1.6875"
- x="5.3125"
- y="2.625"
- rx="0.42493689"
- ry="0.42493689" />
- <rect
- ry="0.42493689"
- rx="0.42493692"
- y="2.625"
- x="12.941436"
- height="1.6875"
- width="5.5"
- id="rect3858"
- style="opacity:0.36257306;color:black;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-preferences-system.svg b/share/pixmaps/tryton/tryton-preferences-system.svg
deleted file mode 100644
index a6183e8..0000000
--- a/share/pixmaps/tryton/tryton-preferences-system.svg
+++ /dev/null
@@ -1,396 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/categories"
- sodipodi:docname="preferences-system.svg">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2250">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2252" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2254" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2265">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2267" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2269" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2257">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2259" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2261" />
- </linearGradient>
- <linearGradient
- id="linearGradient3087">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop3089" />
- <stop
- id="stop3095"
- offset="0"
- style="stop-color:#9fbce1;stop-opacity:1;" />
- <stop
- style="stop-color:#6b95ca;stop-opacity:1;"
- offset="0"
- id="stop2242" />
- <stop
- id="stop2244"
- offset="0.75"
- style="stop-color:#3d6aa5;stop-opacity:1;" />
- <stop
- style="stop-color:#386eb4;stop-opacity:1;"
- offset="1"
- id="stop3091" />
- </linearGradient>
- <linearGradient
- id="linearGradient3077">
- <stop
- style="stop-color:#98a0a9;stop-opacity:1;"
- offset="0"
- id="stop3079" />
- <stop
- style="stop-color:#c3d0dd;stop-opacity:1;"
- offset="1"
- id="stop3081" />
- </linearGradient>
- <linearGradient
- id="linearGradient3061">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3063" />
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="1"
- id="stop3065" />
- </linearGradient>
- <linearGradient
- id="linearGradient3049">
- <stop
- style="stop-color:#b6b6b6;stop-opacity:1;"
- offset="0"
- id="stop3051" />
- <stop
- id="stop2262"
- offset="0.5"
- style="stop-color:#f2f2f2;stop-opacity:1;" />
- <stop
- style="stop-color:#fafafa;stop-opacity:1;"
- offset="0.67612958"
- id="stop2264" />
- <stop
- id="stop2268"
- offset="0.84051722"
- style="stop-color:#d8d8d8;stop-opacity:1;" />
- <stop
- id="stop2266"
- offset="0.875"
- style="stop-color:#f2f2f2;stop-opacity:1;" />
- <stop
- style="stop-color:#dbdbdb;stop-opacity:1;"
- offset="1"
- id="stop3053" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3041">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3043" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3045" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3041"
- id="radialGradient3047"
- cx="24.8125"
- cy="39.125"
- fx="24.8125"
- fy="39.125"
- r="17.6875"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.374558,7.194333e-15,24.47041)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3049"
- id="linearGradient3055"
- x1="19.648342"
- y1="42.253601"
- x2="20.631224"
- y2="6.7758031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.878270,0.000000,0.000000,0.878270,2.536988,4.967681)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3061"
- id="linearGradient3067"
- x1="50.152931"
- y1="-3.6324477"
- x2="25.291086"
- y2="-4.3002653"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.878270,-1.375944e-15,1.375944e-15,0.878270,5.328299,1.650243)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3077"
- id="linearGradient3083"
- x1="38.227654"
- y1="13.602527"
- x2="37.53537"
- y2="6.6285896"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.878270,0.000000,0.000000,0.878270,2.847503,5.588712)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3087"
- id="linearGradient3093"
- x1="9.7503242"
- y1="32.28376"
- x2="16.915297"
- y2="39.443218"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.878270,0.000000,0.000000,0.878270,2.536988,4.967681)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2257"
- id="linearGradient2263"
- x1="12.004697"
- y1="35.688461"
- x2="10.650805"
- y2="33.194965"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.007254,-2.636526e-2,2.636526e-2,1.007254,1.593411,7.919100e-2)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2265"
- id="linearGradient2271"
- x1="14.017542"
- y1="36.942543"
- x2="15.415793"
- y2="38.268368"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.878099,-1.732370e-2,1.732370e-2,0.878099,2.163687,4.067899)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2250"
- id="linearGradient2256"
- x1="31.177404"
- y1="19.821514"
- x2="40.859177"
- y2="9.6568537"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3041"
- id="radialGradient2260"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.374558,7.272829e-15,24.47041)"
- cx="24.8125"
- cy="39.125"
- fx="24.8125"
- fy="39.125"
- r="17.6875" />
- </defs>
- <sodipodi:namedview
- stroke="#204a87"
- fill="#3465a4"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="4"
- inkscape:cx="19.425317"
- inkscape:cy="26.37487"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1034"
- inkscape:window-height="1010"
- inkscape:window-x="296"
- inkscape:window-y="83" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Preferences System</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>preferences</rdf:li>
- <rdf:li>settings</rdf:li>
- <rdf:li>control panel</rdf:li>
- <rdf:li>tweaks</rdf:li>
- <rdf:li>system</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- transform="matrix(0.751118,0.000000,0.000000,0.578703,17.04087,19.36341)"
- d="M 42.5 39.125 A 17.6875 6.625 0 1 1 7.125,39.125 A 17.6875 6.625 0 1 1 42.5 39.125 z"
- sodipodi:ry="6.625"
- sodipodi:rx="17.6875"
- sodipodi:cy="39.125"
- sodipodi:cx="24.8125"
- id="path2258"
- style="opacity:0.19886367;color:#000000;fill:url(#radialGradient2260);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end: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:0.3125;color:#000000;fill:url(#radialGradient3047);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3039"
- sodipodi:cx="24.8125"
- sodipodi:cy="39.125"
- sodipodi:rx="17.6875"
- sodipodi:ry="6.625"
- d="M 42.5 39.125 A 17.6875 6.625 0 1 1 7.125,39.125 A 17.6875 6.625 0 1 1 42.5 39.125 z"
- transform="matrix(0.836071,0.000000,0.000000,0.685436,-7.959607,15.71781)" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient3055);fill-opacity:1;fill-rule:nonzero;stroke:#888a85;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 17.906713,21.215676 L 36.899302,40.6474 C 37.667788,41.52567 40.102812,42.204461 41.729787,40.6474 C 43.300913,39.143787 42.937408,37.024536 41.400436,35.487563 L 23.176333,15.946056 C 25.426333,9.696056 20.872444,4.446488 14.997444,5.571488 L 13.73493,6.7242174 L 17.687145,10.456865 L 17.906713,13.750381 L 14.955871,16.443984 L 11.429472,16.05584 L 7.8066086,12.652544 C 7.8066086,12.652544 6.5364873,13.907448 6.5364873,13.907448 C 5.9457238,19.548765 11.844213,24.590676 17.906713,21.215676 z "
- id="path2140"
- sodipodi:nodetypes="cczcccccccccsc" />
- <path
- sodipodi:nodetypes="cczccccccccccc"
- id="path3057"
- d="M 18.117385,19.9401 L 37.320267,39.967712 C 37.915174,40.647605 39.800194,41.173077 41.059681,39.967712 C 42.275934,38.803723 41.994534,37.163152 40.804721,35.973338 L 22.313189,16.352183 C 23.813189,9.852183 20.454401,6.3475455 15.454401,6.4725455 L 15.18427,6.7459223 L 18.787193,9.982189 L 18.917359,14.163983 L 15.303442,17.462466 L 11.061136,17.004257 L 7.8845536,14.012776 L 7.5319165,14.442835 C 7.2194165,20.411585 14.023635,23.1276 18.117385,19.9401 z "
- style="opacity:0.42613639;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999917;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:0.17045456;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3067);stroke-width:0.9999972;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect3059"
- width="23.268276"
- height="2.0554912"
- x="28.185335"
- y="-2.6184492"
- rx="0.88388073"
- ry="0.88388073"
- transform="matrix(0.697938,0.716158,-0.716158,0.697938,0.000000,0.000000)" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient3083);fill-opacity:1;fill-rule:nonzero;stroke:#878f9d;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 22.498794,30.12538 C 23.332335,29.410917 35.782628,16.676871 35.782628,16.676871 L 38.856573,16.457303 L 43.687058,9.7604906 L 39.662731,6.1752987 L 33.405057,11.554705 L 33.405057,14.628651 L 20.670142,27.857593 C 20.066332,28.461403 21.730308,30.784082 22.498794,30.12538 z "
- id="path2144"
- sodipodi:nodetypes="ccccccccc" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path3085"
- d="M 22.401987,29.085455 C 23.04876,28.531078 35.426388,15.855648 35.426388,15.855648 L 38.354971,15.607649 L 42.568887,9.945584 L 39.679156,7.3965946 L 34.202578,12.114067 L 34.357836,14.965022 L 21.681731,28.257345 C 21.213213,28.725863 21.805692,29.596565 22.401987,29.085455 z "
- style="opacity:0.53977272;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2256);stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="color:#000000;fill:url(#linearGradient3093);fill-opacity:1;fill-rule:nonzero;stroke:#204a87;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- d="M 8.4653111,43.611561 C 9.7818986,45.07679 13.438996,45.739726 15.060755,42.901647 C 15.767862,41.664211 17.154698,38.198845 23.341883,32.630379 C 24.381029,31.696208 25.481792,29.559241 24.54863,28.406512 L 22.133387,25.991269 C 21.145334,24.893432 18.398973,25.40552 17.272212,26.942145 C 13.913455,31.538339 8.4261393,35.197025 7.1887023,35.638967 C 4.8207828,36.484652 5.0872917,39.975116 6.6538792,41.635454 L 8.4653111,43.611561 z "
- id="path2142"
- sodipodi:nodetypes="ccccccscc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:#a1a1a1;stroke-width:1.13860166;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path2146"
- sodipodi:cx="41.875"
- sodipodi:cy="37.5"
- sodipodi:rx="1.375"
- sodipodi:ry="1.375"
- d="M 43.25 37.5 A 1.375 1.375 0 1 1 40.5,37.5 A 1.375 1.375 0 1 1 43.25 37.5 z"
- transform="matrix(0.878270,0.000000,0.000000,0.878270,2.427204,5.077464)" />
- <path
- sodipodi:type="arc"
- style="opacity:0.60227272;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path3101"
- sodipodi:cx="19.003494"
- sodipodi:cy="28.20101"
- sodipodi:rx="1.767767"
- sodipodi:ry="1.767767"
- d="M 20.771261 28.20101 A 1.767767 1.767767 0 1 1 17.235727,28.20101 A 1.767767 1.767767 0 1 1 20.771261 28.20101 z"
- transform="matrix(0.570876,0.000000,0.000000,0.570876,9.154848,11.25111)" />
- <path
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2263);stroke-width:2.29450917;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 18.678905,29.624807 C 18.678905,29.624807 11.509014,36.92442 8.1502573,38.161857"
- id="path3103"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="csccccscc"
- id="path2270"
- d="M 8.8060013,42.48669 C 10.247267,44.232307 13.405535,44.647919 14.397161,42.116101 C 15.078468,40.376589 17.730783,36.450314 22.594745,32.072748 C 23.411654,31.338363 24.277003,29.658419 23.543411,28.752218 L 21.644704,26.853511 C 20.867961,25.990463 18.708951,26.393033 17.823164,27.601028 C 15.182728,31.214257 9.3398194,35.940582 7.9274145,36.406654 C 5.7406198,37.128264 6.1504221,39.627953 7.3819713,40.933203 L 8.8060013,42.48669 z "
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999946;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible;opacity:0.19886364" />
- <path
- style="opacity:0.27840911;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient2271);stroke-width:2.29450917;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 20.824602,31.261024 C 20.824602,31.261024 13.501839,37.878429 11.910849,42.121069"
- id="path2247"
- sodipodi:nodetypes="cc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-preferences.svg b/share/pixmaps/tryton/tryton-preferences.svg
deleted file mode 100644
index 47f0594..0000000
--- a/share/pixmaps/tryton/tryton-preferences.svg
+++ /dev/null
@@ -1,775 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/categories"
- sodipodi:docname="preferences-desktop.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient24290">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop24292" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop24294" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient24276">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop24278" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop24280" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient24266">
- <stop
- style="stop-color:#a5a5a5;stop-opacity:1;"
- offset="0"
- id="stop24268" />
- <stop
- style="stop-color:#a5a5a5;stop-opacity:0;"
- offset="1"
- id="stop24270" />
- </linearGradient>
- <linearGradient
- id="linearGradient24230">
- <stop
- style="stop-color:#677579;stop-opacity:1;"
- offset="0"
- id="stop24232" />
- <stop
- style="stop-color:#333333;stop-opacity:1;"
- offset="1"
- id="stop24234" />
- </linearGradient>
- <linearGradient
- id="linearGradient11594">
- <stop
- id="stop11596"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop11598"
- offset="1.0000000"
- style="stop-color:#d1d1d1;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="matrix(1.061966,0,0,0.837825,-0.593045,3.987819)"
- gradientUnits="userSpaceOnUse"
- y2="38.947163"
- x2="31.799011"
- y1="8.9471626"
- x1="20.092352"
- id="linearGradient11600"
- xlink:href="#linearGradient11594"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient11602">
- <stop
- id="stop11604"
- offset="0.0000000"
- style="stop-color:#f6f6f6;stop-opacity:1.0000000;" />
- <stop
- id="stop11606"
- offset="1.0000000"
- style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="matrix(1,0,0,0.837825,0.921766,3.987819)"
- gradientUnits="userSpaceOnUse"
- y2="39.447163"
- x2="24.445671"
- y1="12.947163"
- x1="24.445671"
- id="linearGradient11608"
- xlink:href="#linearGradient11602"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient11615">
- <stop
- id="stop11617"
- offset="0.0000000"
- style="stop-color:#636363;stop-opacity:1.0000000;" />
- <stop
- id="stop11619"
- offset="1.0000000"
- style="stop-color:#000000;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- r="4.7500000"
- fy="27.749998"
- fx="25.000000"
- cy="27.749998"
- cx="25.000000"
- gradientTransform="matrix(3.070491,2.727143e-15,-3.444813e-15,3.878514,-51.46548,-78.83433)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient12909"
- xlink:href="#linearGradient11615"
- inkscape:collect="always" />
- <linearGradient
- y2="27.375000"
- x2="21.500000"
- y1="30.000000"
- x1="21.500000"
- gradientTransform="matrix(0.985,0,0,1.022813,2.121141,-2.815681)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient12924"
- xlink:href="#linearGradient11625"
- inkscape:collect="always" />
- <linearGradient
- y2="27.375000"
- x2="21.500000"
- y1="30.000000"
- x1="21.500000"
- gradientTransform="matrix(0.985,0,0,1,4.111767,-2.176922)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient12921"
- xlink:href="#linearGradient11625"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient11625"
- inkscape:collect="always">
- <stop
- id="stop11627"
- offset="0"
- style="stop-color:#fce94f;stop-opacity:1;" />
- <stop
- id="stop11629"
- offset="1"
- style="stop-color:#fce94f;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- y2="27.375000"
- x2="21.500000"
- y1="30.000000"
- x1="21.500000"
- gradientTransform="matrix(1.01625,0,0,1,5.455516,-2.176922)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient12918"
- xlink:href="#linearGradient11625"
- inkscape:collect="always" />
- <linearGradient
- id="linearGradient11520">
- <stop
- id="stop11522"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop11524"
- offset="1.0000000"
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11508"
- inkscape:collect="always">
- <stop
- id="stop11510"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11512"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11494"
- inkscape:collect="always">
- <stop
- id="stop11496"
- offset="0"
- style="stop-color:#ef2929;stop-opacity:1;" />
- <stop
- id="stop11498"
- offset="1"
- style="stop-color:#ef2929;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11415">
- <stop
- id="stop11417"
- offset="0.0000000"
- style="stop-color:#204a87;stop-opacity:0.0000000;" />
- <stop
- style="stop-color:#204a87;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop11423" />
- <stop
- id="stop11419"
- offset="1"
- style="stop-color:#204a87;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11399"
- inkscape:collect="always">
- <stop
- id="stop11401"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11403"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- gradientTransform="translate(-60.28571,-0.285714)"
- y2="34.462429"
- x2="43.615788"
- y1="3.7744560"
- x1="15.828360"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11425"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-60.57143,0.000000)"
- y2="39.033859"
- x2="35.679932"
- y1="9.3458843"
- x1="9.6957054"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11427"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <linearGradient
- y2="33.462429"
- x2="26.758644"
- y1="19.774456"
- x1="13.267134"
- gradientTransform="translate(-60.85714,0.428571)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11439"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <radialGradient
- r="8.5000000"
- fy="39.142857"
- fx="12.071428"
- cy="39.142857"
- cx="12.071428"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11441"
- xlink:href="#linearGradient11399"
- inkscape:collect="always" />
- <radialGradient
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- gradientUnits="userSpaceOnUse"
- r="3.8335034"
- fy="15.048258"
- fx="27.577173"
- cy="15.048258"
- cx="27.577173"
- id="radialGradient11500"
- xlink:href="#linearGradient11494"
- inkscape:collect="always" />
- <radialGradient
- r="3.8335034"
- fy="16.049133"
- fx="27.577173"
- cy="16.049133"
- cx="27.577173"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11504"
- xlink:href="#linearGradient11494"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
- r="6.5659914"
- fy="44.565483"
- fx="30.203562"
- cy="44.565483"
- cx="30.203562"
- id="radialGradient11514"
- xlink:href="#linearGradient11508"
- inkscape:collect="always" />
- <radialGradient
- gradientTransform="matrix(1.594876,-1.096233e-32,0,1.324258,-12.15047,-8.05841)"
- gradientUnits="userSpaceOnUse"
- r="20.530962"
- fy="35.878170"
- fx="24.445690"
- cy="35.878170"
- cx="24.445690"
- id="radialGradient11526"
- xlink:href="#linearGradient11520"
- inkscape:collect="always" />
- <radialGradient
- r="6.5659914"
- fy="44.565483"
- fx="30.203562"
- cy="44.565483"
- cx="30.203562"
- gradientTransform="matrix(1,0,0,0.338462,8.404809e-16,29.48178)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11532"
- xlink:href="#linearGradient11508"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient1352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="16.049133"
- fx="27.577173"
- fy="16.049133"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient1354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="15.048258"
- fx="27.577173"
- fy="15.048258"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient24230"
- id="linearGradient24236"
- x1="12.51301"
- y1="30.585787"
- x2="12.51301"
- y2="16.885592"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.587604,4.082334,17.55158)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient24230"
- id="linearGradient24240"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.587604,12.05631,17.52556)"
- x1="12.51301"
- y1="30.585787"
- x2="12.51301"
- y2="16.885592" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient24230"
- id="linearGradient24244"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.587604,20.05631,17.52556)"
- x1="12.51301"
- y1="30.585787"
- x2="12.51301"
- y2="16.885592" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient24266"
- id="linearGradient24272"
- x1="23.5"
- y1="19.812498"
- x2="23.5"
- y2="12.687223"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-5.631256e-2,-1.904751)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient24276"
- id="radialGradient24282"
- cx="24.90625"
- cy="35.46875"
- fx="24.90625"
- fy="35.46875"
- r="17.40625"
- gradientTransform="matrix(1,0,0,0.321364,0,24.07035)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient24290"
- id="linearGradient24296"
- x1="24.53125"
- y1="19.0625"
- x2="26.3125"
- y2="40.25"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#ef2929"
- fill="#eeeeec"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="28.237586"
- inkscape:cy="23.130045"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1024"
- inkscape:window-height="1022"
- inkscape:window-x="592"
- inkscape:window-y="87" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Desktop Preferences</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>preferences</rdf:li>
- <rdf:li>system</rdf:li>
- <rdf:li>category</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- transform="matrix(1.980175e-2,0,0,2.086758e-2,42.3611,37.40314)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- ry="0.85863549"
- rx="0.8586359"
- y="16.595242"
- x="8.526021"
- height="23.868273"
- width="32.026016"
- id="rect11518"
- style="opacity:1;color:#000000;fill:url(#radialGradient11526);fill-opacity:1;fill-rule:evenodd;stroke:#9b9b9b;stroke-width:1.00000107;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect11528"
- width="30.026011"
- height="21.868261"
- x="9.5260162"
- y="17.595253"
- rx="0"
- ry="0"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:1;color:#000000;fill:url(#linearGradient24236);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect23355"
- width="5.0260191"
- height="9.9739799"
- x="14.082334"
- y="26.953245"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="26.927225"
- x="22.056313"
- height="9.9739799"
- width="5.0260191"
- id="rect24238"
- style="opacity:1;color:#000000;fill:url(#linearGradient24240);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:#000000;fill:url(#linearGradient24244);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24242"
- width="5.0260191"
- height="9.9739799"
- x="30.056313"
- y="26.927225"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#9b9b9b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24246"
- width="6.000001"
- height="5.0190296"
- x="13.608355"
- y="26.434216"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="32.434219"
- x="21.608353"
- height="5.0190296"
- width="6.000001"
- id="rect24248"
- style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#9b9b9b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:#000000;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:#9b9b9b;stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24250"
- width="6.000001"
- height="5.0190296"
- x="29.608353"
- y="32.434219"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24252"
- width="4.1083536"
- height="3.0467544"
- x="14.578023"
- y="27.422916"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="33.453247"
- x="22.5"
- height="3.0467544"
- width="4.1083536"
- id="rect24254"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24256"
- width="4.1083536"
- height="3.0467544"
- x="30.5"
- y="33.453247"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient24272);fill-opacity:1;fill-rule:nonzero;stroke:#787878;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 8.4436874,18.595245 L 4.9436874,8.5952472 L 44.943687,8.5952472 L 40.631187,18.595245 L 8.4436874,18.595245 z "
- id="path24258"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="ccccc" />
- <rect
- style="opacity:1;color:#000000;fill:#dddddd;fill-opacity:1;fill-rule:nonzero;stroke:#9f9f9f;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24260"
- width="41.000019"
- height="2.9375"
- x="4.4436893"
- y="8.5952492"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:1;color:#000000;fill:#dddddd;fill-opacity:1;fill-rule:nonzero;stroke:#9f9f9f;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24262"
- width="5.5625"
- height="2"
- x="11.443687"
- y="17.595249"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- rx="1"
- ry="1" />
- <rect
- ry="1"
- rx="1"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="17.595249"
- x="31.881187"
- height="2"
- width="5.5625"
- id="rect24264"
- style="opacity:1;color:#000000;fill:#dddddd;fill-opacity:1;fill-rule:nonzero;stroke:#9f9f9f;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:0.43406593;color:#000000;fill:#9f9f9f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect24284"
- width="16.0625"
- height="2"
- x="13"
- y="22"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- rx="1"
- ry="1" />
- <path
- style="opacity:0.83406587;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5,11 L 5,9 L 45,9 L 44,10 L 6,10 L 5,11 z "
- id="path24286"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="opacity:0.0989011;color:#000000;fill:url(#linearGradient24296);fill-opacity:1.0;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 9,19.1875 L 9,26.21783 L 10,25.40533 C 26.722274,25.874463 30.770833,25.541667 39,30.625 L 40.0625,31.9375 L 40,19.0625 L 9,19.1875 z "
- id="path24288"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="ccccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-print.svg b/share/pixmaps/tryton/tryton-print.svg
deleted file mode 100644
index 017f0e8..0000000
--- a/share/pixmaps/tryton/tryton-print.svg
+++ /dev/null
@@ -1,500 +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://web.resource.org/cc/"
- 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"
- sodipodi:docname="printer.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/devices"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg2994"
- height="48px"
- width="48px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient4762">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.12371134;"
- offset="0.0000000"
- id="stop4764" />
- <stop
- id="stop4768"
- offset="0.10344828"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4766" />
- </linearGradient>
- <linearGradient
- id="linearGradient4741">
- <stop
- id="stop4743"
- offset="0.0000000"
- style="stop-color:#dcdcda;stop-opacity:1.0000000;" />
- <stop
- id="stop4745"
- offset="1.0000000"
- style="stop-color:#bab9b7;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4733">
- <stop
- id="stop4735"
- offset="0.0000000"
- style="stop-color:#000000;stop-opacity:0.23711340;" />
- <stop
- id="stop4737"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4698">
- <stop
- id="stop4700"
- offset="0.0000000"
- style="stop-color:#fffffd;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#bbbbb9;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop4706" />
- <stop
- id="stop4702"
- offset="1.0000000"
- style="stop-color:#000000;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4688">
- <stop
- id="stop4690"
- offset="0.0000000"
- style="stop-color:#666666;stop-opacity:1.0000000;" />
- <stop
- id="stop4692"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4680"
- inkscape:collect="always">
- <stop
- id="stop4682"
- offset="0"
- style="stop-color:#f7f6f5;stop-opacity:1;" />
- <stop
- id="stop4684"
- offset="1"
- style="stop-color:#f7f6f5;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4668">
- <stop
- id="stop4670"
- offset="0"
- style="stop-color:#8e8d87;stop-opacity:1;" />
- <stop
- style="stop-color:#cbc9c1;stop-opacity:1.0000000;"
- offset="0.27586207"
- id="stop4676" />
- <stop
- id="stop4672"
- offset="1.0000000"
- style="stop-color:#8e8d87;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient259">
- <stop
- id="stop260"
- offset="0.0000000"
- style="stop-color:#e0e0e0;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.40546969"
- id="stop4886" />
- <stop
- style="stop-color:#cdcdcd;stop-opacity:1.0000000;"
- offset="0.53448278"
- id="stop4884" />
- <stop
- id="stop261"
- offset="1.0000000"
- style="stop-color:#494949;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient15662">
- <stop
- id="stop15664"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:0.0000000;" />
- <stop
- id="stop15666"
- offset="1.0000000"
- style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- r="2.1227016"
- fy="26.925594"
- fx="9.1295490"
- cy="26.925594"
- cx="9.1295490"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1433"
- xlink:href="#linearGradient4698"
- inkscape:collect="always" />
- <linearGradient
- y2="72.064316"
- x2="9.9128132"
- y1="57.227650"
- x1="9.8698082"
- gradientTransform="matrix(2.772086,0.000000,0.000000,0.360739,0.618718,2.883883)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1447"
- xlink:href="#linearGradient4733"
- inkscape:collect="always" />
- <linearGradient
- y2="54.136139"
- x2="10.338233"
- y1="64.652260"
- x1="10.338233"
- gradientTransform="matrix(2.369844,0.000000,0.000000,0.421969,0.000000,2.000000)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1451"
- xlink:href="#linearGradient4680"
- inkscape:collect="always" />
- <linearGradient
- y2="62.282467"
- x2="9.7052784"
- y1="70.724976"
- x1="9.7316532"
- gradientTransform="matrix(2.369844,0.000000,0.000000,0.421969,0.000000,2.000000)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1453"
- xlink:href="#linearGradient4688"
- inkscape:collect="always" />
- <linearGradient
- y2="19.337463"
- x2="20.717800"
- y1="25.140253"
- x1="20.771229"
- gradientTransform="matrix(1.198769,0,0,0.853565,-0.143086,2.034513)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1456"
- xlink:href="#linearGradient15662"
- inkscape:collect="always" />
- <linearGradient
- y2="25.247311"
- x2="24.789707"
- y1="3.6785457"
- x1="25.056711"
- gradientTransform="matrix(0.94571,0,0,1.076032,5.016683e-2,4.095404)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1459"
- xlink:href="#linearGradient259"
- inkscape:collect="always" />
- <linearGradient
- y2="58.831264"
- x2="15.487823"
- y1="32.539238"
- x1="15.387969"
- gradientTransform="matrix(1.492569,0,0,0.668741,8.188072e-2,2)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1464"
- xlink:href="#linearGradient4762"
- inkscape:collect="always" />
- <linearGradient
- y2="88.294930"
- x2="18.972126"
- y1="88.294930"
- x1="1.8456430"
- gradientTransform="matrix(2.291824,0,0,0.434269,8.855179e-2,2)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1468"
- xlink:href="#linearGradient4741"
- inkscape:collect="always" />
- <linearGradient
- y2="88.294933"
- x2="18.972126"
- y1="88.294933"
- x1="1.8456431"
- gradientTransform="matrix(2.30272,0,0,0.437918,0,0.584034)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1471"
- xlink:href="#linearGradient4668"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="256"
- inkscape:window-x="491"
- inkscape:window-height="659"
- inkscape:window-width="872"
- inkscape:guide-bbox="true"
- showguides="true"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="4.6034265"
- inkscape:cx="29.124539"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.090196078"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Printer</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>printer</rdf:li>
- <rdf:li>local</rdf:li>
- <rdf:li>laser</rdf:li>
- <rdf:li>bubblejet</rdf:li>
- <rdf:li>inkjet</rdf:li>
- <rdf:li>print</rdf:li>
- <rdf:li>output</rdf:li>
- <rdf:li>cups</rdf:li>
- <rdf:li>lpd</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <g
- transform="matrix(2.311016e-2,0,0,2.271533e-2,44.68502,39.36099)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- ry="1.7115477"
- rx="1.7115483"
- y="36.004189"
- x="4.75"
- height="6.4915943"
- width="38.4375"
- id="rect4652"
- style="fill:url(#linearGradient1471);fill-opacity:1;stroke:#595959;stroke-width:0.99999982;stroke-miterlimit:4;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cssssssssssss"
- id="rect4609"
- d="M 7.1308961,21.5 L 40.870615,21.5 C 41.255661,21.5 41.747648,21.788155 42.051049,22.223919 C 42.354451,22.659684 43.787518,24.83394 44.109448,25.297964 C 44.431378,25.761987 44.502397,26.201852 44.502397,26.774049 L 44.502397,38.850951 C 44.502397,39.764524 43.770402,40.5 42.861152,40.5 L 5.1403596,40.5 C 4.2311094,40.5 3.4991138,39.764524 3.4991138,38.850951 L 3.4991138,26.774049 C 3.4991138,26.280031 3.6002798,25.571641 3.9455202,25.120718 C 4.3811666,24.551713 5.5498664,22.57277 5.8581276,22.153118 C 6.1663887,21.733467 6.7324461,21.5 7.1308961,21.5 z "
- style="color:#000000;fill:url(#linearGradient1468);fill-opacity:1;fill-rule:nonzero;stroke:#676767;stroke-width:1.00000036;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path4718"
- d="M 7.4246212,21.975532 C 6.9218931,21.975532 6.3048776,22.053784 6.0546019,22.46703 L 4.1542523,25.604816 C 3.8721285,26.070648 4.1881986,26.868141 5.0873106,26.868141 L 42.730786,26.868141 C 44.040732,26.868141 43.950533,25.858073 43.663844,25.428039 L 41.896077,22.776389 C 41.575544,22.295589 41.459199,21.975532 40.65864,21.975532 L 7.4246212,21.975532 z "
- style="fill:#fbfbfb;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1464);stroke-width:0.94696712;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 7.60536,22.445756 L 40.432673,22.445756 C 40.798351,22.445756 41.265592,22.718629 41.553733,23.131283 C 41.841873,23.543938 42.849964,25.160945 43.155701,25.60036 C 43.461437,26.039775 43.59127,26.456312 43.59127,26.998164 L 43.59127,38.279261 C 43.59127,39.144385 43.457547,39.528356 42.594031,39.528356 L 5.5322268,39.528356 C 4.6687108,39.528356 4.4726047,39.144385 4.4726047,38.279261 L 4.4726047,26.998164 C 4.4726047,26.530345 4.6934498,25.859523 5.0213249,25.432514 C 5.435059,24.893685 6.1038541,23.461633 6.3966101,23.064237 C 6.6893662,22.666841 7.2269515,22.445756 7.60536,22.445756 z "
- id="path4750"
- sodipodi:nodetypes="cssssssssssss" />
- <path
- sodipodi:nodetypes="ccccccc"
- id="rect15391"
- d="M 11.672962,4.4999475 L 36.325116,4.4999475 C 36.975881,4.4999475 37.49978,5.0100777 37.49978,5.6437371 L 37.49978,24.348176 L 10.498298,24.348176 L 10.498298,5.6437371 C 10.498298,5.0100777 11.022197,4.4999475 11.672962,4.4999475 z "
- style="color:#000000;fill:url(#linearGradient1459);fill-opacity:1;fill-rule:nonzero;stroke:#898989;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <rect
- style="color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1456);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- id="rect15660"
- width="25.000576"
- height="18.836374"
- x="11.498513"
- y="5.4992466"
- ry="0.17677675"
- rx="0.17677672" />
- <rect
- ry="1.7115483"
- rx="1.7115483"
- y="27.375000"
- x="6.8750000"
- height="5.1875000"
- width="33.750000"
- id="rect4678"
- style="fill:url(#linearGradient1451);fill-opacity:1.0000000;stroke:url(#linearGradient1453);stroke-width:1.0000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000" />
- <path
- transform="translate(0.000000,2.000000)"
- d="M 10.871767 27.626486 A 1.2816310 1.2816310 0 1 1 8.3085046,27.626486 A 1.2816310 1.2816310 0 1 1 10.871767 27.626486 z"
- sodipodi:ry="1.2816310"
- sodipodi:rx="1.2816310"
- sodipodi:cy="27.626486"
- sodipodi:cx="9.5901356"
- id="path4696"
- style="fill:url(#radialGradient1433);fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="csscssssc"
- id="path4731"
- d="M 11.743718,25.416053 L 37.306218,25.478553 C 37.993716,25.480234 38.294038,25.107558 38.243718,24.478553 L 38.118718,22.916053 L 39.984835,22.916053 C 40.797335,22.916053 40.975035,23.108616 41.172335,23.478553 L 41.672335,24.416053 C 42.199130,25.403793 43.483508,26.390165 42.170495,26.390165 C 37.667784,26.390165 13.993718,26.041053 11.743718,25.416053 z "
- style="fill:url(#linearGradient1447);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;opacity:0.36571429" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999994px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
- d="M 43.488808,26.5 L 4.5111805,26.5"
- id="path4760"
- sodipodi:nodetypes="cc" />
- <g
- transform="translate(0.000000,2.000000)"
- style="opacity:0.43575415"
- id="g4849">
- <rect
- y="7.0000000"
- x="14.000000"
- height="1.0000000"
- width="19.000000"
- id="rect4833"
- style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect4835"
- width="19.000000"
- height="1.0000000"
- x="14.000000"
- y="9.0000000" />
- <rect
- y="11.000000"
- x="14.000000"
- height="1.0000000"
- width="19.000000"
- id="rect4837"
- style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect4839"
- width="11.000000"
- height="1.0000000"
- x="14.000000"
- y="13.000000" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect4843"
- width="19.000000"
- height="1.0000000"
- x="14.000000"
- y="17.000000" />
- <rect
- y="19.000000"
- x="14.000000"
- height="1.0000000"
- width="19.000000"
- id="rect4845"
- style="color:#000000;fill:#000000;fill-opacity:0.29239765;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-refresh.svg b/share/pixmaps/tryton/tryton-refresh.svg
deleted file mode 100644
index 8b63d9c..0000000
--- a/share/pixmaps/tryton/tryton-refresh.svg
+++ /dev/null
@@ -1,391 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="view-refresh.svg">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2690">
- <stop
- style="stop-color:#c4d7eb;stop-opacity:1;"
- offset="0"
- id="stop2692" />
- <stop
- style="stop-color:#c4d7eb;stop-opacity:0;"
- offset="1"
- id="stop2694" />
- </linearGradient>
- <linearGradient
- id="linearGradient2682">
- <stop
- style="stop-color:#3977c3;stop-opacity:1;"
- offset="0"
- id="stop2684" />
- <stop
- style="stop-color:#89aedc;stop-opacity:0;"
- offset="1"
- id="stop2686" />
- </linearGradient>
- <linearGradient
- id="linearGradient2402">
- <stop
- style="stop-color:#729fcf;stop-opacity:1;"
- offset="0"
- id="stop2404" />
- <stop
- style="stop-color:#528ac5;stop-opacity:1;"
- offset="1"
- id="stop2406" />
- </linearGradient>
- <linearGradient
- id="linearGradient2380">
- <stop
- style="stop-color:#b9cfe7;stop-opacity:1"
- offset="0"
- id="stop2382" />
- <stop
- style="stop-color:#729fcf;stop-opacity:1"
- offset="1"
- id="stop2384" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2871">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2873" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1"
- offset="1"
- id="stop2875" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2847">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2849" />
- <stop
- style="stop-color:#3465a4;stop-opacity:0;"
- offset="1"
- id="stop2851" />
- </linearGradient>
- <linearGradient
- id="linearGradient2831">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop2833" />
- <stop
- id="stop2855"
- offset="0.33333334"
- style="stop-color:#5b86be;stop-opacity:1;" />
- <stop
- style="stop-color:#83a8d8;stop-opacity:0;"
- offset="1"
- id="stop2835" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2797">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2799" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2801" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2831"
- id="linearGradient1486"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(0.465413,-0.277593)"
- x1="13.478554"
- y1="10.612206"
- x2="15.419417"
- y2="19.115122" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2847"
- id="linearGradient1488"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,-1,47.52791,45.84741)"
- x1="37.128052"
- y1="29.729605"
- x2="37.065414"
- y2="26.194071" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2797"
- id="linearGradient1491"
- gradientUnits="userSpaceOnUse"
- x1="5.9649176"
- y1="26.048164"
- x2="52.854097"
- y2="26.048164" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2797"
- id="linearGradient1493"
- gradientUnits="userSpaceOnUse"
- x1="5.9649176"
- y1="26.048164"
- x2="52.854097"
- y2="26.048164" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2871"
- id="linearGradient1501"
- gradientUnits="userSpaceOnUse"
- x1="46.834816"
- y1="45.264122"
- x2="45.380436"
- y2="50.939667" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient1503"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.536723,-9.680928e-14,16.87306)"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2380"
- id="linearGradient2386"
- x1="62.513836"
- y1="36.061237"
- x2="15.984863"
- y2="20.60858"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2402"
- id="linearGradient2408"
- x1="18.935766"
- y1="23.667896"
- x2="53.588622"
- y2="26.649362"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2682"
- id="linearGradient2688"
- x1="36.713837"
- y1="31.455952"
- x2="37.124462"
- y2="24.842253"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2690"
- id="linearGradient2696"
- x1="32.647972"
- y1="30.748846"
- x2="37.124462"
- y2="24.842253"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#3465a4"
- fill="#729fcf"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="5.6568542"
- inkscape:cx="31.08169"
- inkscape:cy="18.153347"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="891"
- inkscape:window-height="932"
- inkscape:window-x="666"
- inkscape:window-y="184" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>View Refresh</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>reload</rdf:li>
- <rdf:li>refresh</rdf:li>
- <rdf:li>view</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- transform="matrix(-1.489736,0,0,-1.001252,61.20865,75.2819)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.38333333;color:#000000;fill:url(#radialGradient1503);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="color:#000000;fill:url(#linearGradient1486);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1488);stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 20.152913,10.409904 C 20.152913,10.409904 11.215413,9.784904 13.965413,20.284904 L 6.2779132,20.284904 C 6.2779132,20.284904 6.7779132,8.409904 20.152913,10.409904 z "
- id="path2865"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="cccc" />
- <g
- id="g1878"
- transform="matrix(-0.579051,-0.489228,-0.489228,0.579051,56.91585,13.37137)"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- style="fill:url(#linearGradient2386);fill-opacity:1.0;stroke:#3465a4;stroke-opacity:1">
- <path
- sodipodi:nodetypes="ccccccc"
- id="path1880"
- d="M 44.306783,50.229694 C 62.821497,35.818859 49.664587,13.411704 22.462411,12.49765 L 22.113843,3.1515478 L 7.6245439,20.496754 L 22.714328,33.219189 C 22.714328,33.219189 22.462411,23.337969 22.462411,23.337969 C 41.292171,24.336946 55.444038,37.409698 44.306783,50.229694 z "
- style="opacity:1;color:#000000;fill:url(#linearGradient2386);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient1501);stroke-width:1.31916928;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <path
- sodipodi:nodetypes="cccc"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path2839"
- d="M 28.375,33.4375 C 28.375,33.4375 37.3125,34.0625 34.5625,23.5625 L 42.338388,23.5625 C 42.338388,25.065102 41.75,35.4375 28.375,33.4375 z "
- style="color:#000000;fill:url(#linearGradient2696);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient2688);stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <g
- style="color:#000000;fill:url(#linearGradient2408);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient1501);stroke-width:1.31916928;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible;opacity:1"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(0.579051,0.489228,0.489228,-0.579051,-7.921023,30.53599)"
- id="g2779">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="opacity:1;color:#000000;fill:url(#linearGradient2408);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient1501);stroke-width:1.31916928;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 44.306783,50.229694 C 62.821497,35.818859 49.664587,13.411704 22.462411,12.49765 L 22.399432,3.0690297 L 7.793943,20.424005 L 22.462411,33.006349 C 22.462411,33.006349 22.462411,23.337969 22.462411,23.337969 C 41.292171,24.336946 55.444038,37.409698 44.306783,50.229694 z "
- id="path2781"
- sodipodi:nodetypes="ccccccc" />
- </g>
- <path
- style="opacity:0.27222224;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 7.0625,38.1875 L 7.125,23.3125 L 20.0625,22.9375 L 15.673627,28.116317 L 19.540852,30.489516 C 16.540852,32.739516 14.991304,32.911644 13.991304,35.474144 L 11.174446,33.363872 L 7.0625,38.1875 z "
- id="path2791"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="cccccccc" />
- <g
- id="g2793"
- transform="matrix(0.508536,0.429651,0.429651,-0.508536,-3.973188,30.54119)"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1">
- <path
- sodipodi:nodetypes="ccccccc"
- id="path2795"
- d="M 51.090265,45.943705 C 60.210465,30.723955 46.631614,12.20113 19.485058,11.948579 L 19.513464,3.7032834 L 6.5341979,19.296639 L 19.367661,30.26876 C 19.367661,30.26876 19.423281,21.261882 19.423281,21.261882 C 36.951096,21.037973 54.618466,31.365254 51.090265,45.943705 z "
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1493);stroke-width:1.50208926;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <g
- style="opacity:0.5;fill:none;fill-opacity:1;stroke:#ffffff;stroke-opacity:1"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- transform="matrix(-0.508536,-0.429651,-0.429651,0.508536,53.049,13.36548)"
- id="g2805">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="opacity:1;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1491);stroke-width:1.50208926;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 51.389927,46.505946 C 60.510127,31.286196 47.050763,12.432359 19.628482,12.069755 L 19.342824,4.0507204 L 6.3413093,19.379475 L 19.809059,30.764589 C 19.809059,30.764589 19.627294,21.311346 19.627294,21.311346 C 37.872231,21.693318 54.411175,32.236592 51.389927,46.505946 z "
- id="path2807"
- sodipodi:nodetypes="ccccccc" />
- </g>
- <path
- style="opacity:0.27222224;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 6.8125,16.5 C 10.405935,6.0587275 23.256282,10.355393 27,12 C 31.175307,12.211475 32.674736,9.164996 36,9 C 21.950264,-0.7899963 7.1875,2.5 6.8125,16.5 z "
- id="path2811"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="cccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-save-as.svg b/share/pixmaps/tryton/tryton-save-as.svg
deleted file mode 100644
index 09fa340..0000000
--- a/share/pixmaps/tryton/tryton-save-as.svg
+++ /dev/null
@@ -1,661 +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://web.resource.org/cc/"
- 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"
- sodipodi:docname="document-save-as.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg2913"
- height="48px"
- width="48px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient6965">
- <stop
- style="stop-color:#dddddd;stop-opacity:1;"
- offset="0"
- id="stop6967" />
- <stop
- style="stop-color:#fdfdfd;stop-opacity:1;"
- offset="1"
- id="stop6969" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6925">
- <stop
- style="stop-color:#204a87;stop-opacity:1;"
- offset="0"
- id="stop6927" />
- <stop
- style="stop-color:#204a87;stop-opacity:0;"
- offset="1"
- id="stop6929" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6901">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop6903" />
- <stop
- style="stop-color:#3465a4;stop-opacity:0;"
- offset="1"
- id="stop6905" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4991">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4993" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4995" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4991"
- id="radialGradient4997"
- cx="23.447077"
- cy="6.4576745"
- fx="23.447077"
- fy="6.4576745"
- r="19.0625"
- gradientTransform="matrix(-1.314471,-1.006312e-2,-1.022964e-2,1.336221,46.22108,-4.909887)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2187"
- inkscape:collect="always">
- <stop
- id="stop2189"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2191"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2187"
- id="linearGradient1764"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.914114,1.412791e-16,-1.412791e-16,0.914114,-3.868698,-2.706902)"
- x1="33.059906"
- y1="27.394117"
- x2="12.624337"
- y2="12.583769" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient8668"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737"
- gradientTransform="matrix(1.000000,-7.816467e-32,-1.132409e-32,0.536723,-5.897962e-14,16.87306)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2555">
- <stop
- id="stop2557"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop2561" />
- <stop
- id="stop2563"
- offset="0.75000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
- offset="0.84166664"
- id="stop2565" />
- <stop
- id="stop2559"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4274">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.25490198;"
- offset="0.0000000"
- id="stop4276" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop4278" />
- </linearGradient>
- <linearGradient
- id="linearGradient4264"
- inkscape:collect="always">
- <stop
- id="stop4266"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4268"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4254"
- inkscape:collect="always">
- <stop
- id="stop4256"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4258"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4244">
- <stop
- id="stop4246"
- offset="0.0000000"
- style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
- <stop
- id="stop4248"
- offset="1.0000000"
- style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4236"
- inkscape:collect="always">
- <stop
- id="stop4238"
- offset="0"
- style="stop-color:#eeeeee;stop-opacity:1;" />
- <stop
- id="stop4240"
- offset="1"
- style="stop-color:#eeeeee;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4228">
- <stop
- id="stop4230"
- offset="0.0000000"
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
- <stop
- id="stop4232"
- offset="1.0000000"
- style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4184">
- <stop
- id="stop4186"
- offset="0.0000000"
- style="stop-color:#838383;stop-opacity:1.0000000;" />
- <stop
- id="stop4188"
- offset="1.0000000"
- style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="translate(0.795493,3.799180)"
- y2="35.281250"
- x2="24.687500"
- y1="35.281250"
- x1="7.0625000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient4209"
- xlink:href="#linearGradient4184"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="40.943935"
- x2="36.183067"
- y1="28.481176"
- x1="7.6046205"
- id="linearGradient4234"
- xlink:href="#linearGradient4228"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="33.758667"
- x2="12.221823"
- y1="37.205811"
- x1="12.277412"
- id="linearGradient4242"
- xlink:href="#linearGradient4236"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-2.354348,0.248140)"
- r="20.935817"
- fy="2.9585190"
- fx="15.571491"
- cy="2.9585190"
- cx="15.571491"
- id="radialGradient4250"
- xlink:href="#linearGradient4244"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="47.620636"
- x2="44.096100"
- y1="4.4331360"
- x1="12.378357"
- id="linearGradient4260"
- xlink:href="#linearGradient4254"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.651032,-2.885063e-16,9.455693)"
- r="23.555494"
- fy="27.096155"
- fx="23.201941"
- cy="27.096155"
- cx="23.201941"
- id="radialGradient4270"
- xlink:href="#linearGradient4264"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="26.357183"
- x2="23.688078"
- y1="11.318835"
- x1="23.688078"
- id="linearGradient4272"
- xlink:href="#linearGradient4274"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2555"
- id="linearGradient2553"
- x1="33.431175"
- y1="31.964777"
- x2="21.747974"
- y2="11.780679"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6901"
- id="linearGradient6907"
- x1="14.751649"
- y1="15.868432"
- x2="8.8953285"
- y2="16.743431"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6925"
- id="linearGradient6931"
- x1="12.25"
- y1="18.25"
- x2="7"
- y2="21.118431"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6965"
- id="linearGradient6971"
- x1="28.061466"
- y1="31.431349"
- x2="28.061466"
- y2="36.437492"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="178"
- inkscape:window-x="462"
- inkscape:window-height="907"
- inkscape:window-width="999"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer2"
- inkscape:cy="15.12998"
- inkscape:cx="36.05811"
- inkscape:zoom="2.8284271"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.22745098"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false"
- fill="#3465a4"
- stroke="#204a87" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Save As</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>hdd</rdf:li>
- <rdf:li>hard drive</rdf:li>
- <rdf:li>save as</rdf:li>
- <rdf:li>io</rdf:li>
- <rdf:li>store</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:identifier />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="pix"
- id="layer2"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.411405e-2,0,0,1.929202e-2,45.48953,41.75228)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- sodipodi:nodetypes="cccsccccccccc"
- id="path4196"
- d="M 11.28569,13.087628 C 10.66069,13.087628 10.254441,13.377808 10.004442,13.931381 C 10.004441,13.931381 3.5356915,31.034938 3.5356915,31.034938 C 3.5356915,31.034938 3.2856915,31.706497 3.2856915,32.816188 C 3.2856915,32.816188 3.2856915,42.466156 3.2856915,42.466156 C 3.2856915,43.548769 3.943477,44.091158 4.9419415,44.091156 L 43.50444,44.091156 C 44.489293,44.091156 45.09819,43.372976 45.09819,42.247406 L 45.09819,32.597438 C 45.09819,32.597438 45.204153,31.827015 45.00444,31.284938 L 38.28569,14.087631 C 38.101165,13.575725 37.648785,13.099533 37.16069,13.087628 L 11.28569,13.087628 z "
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path4170"
- d="M 3.2735915,32.121812 L 4.0381936,31.429597 L 41.647883,31.492097 L 45.11029,31.809395 L 45.11029,42.247927 C 45.11029,43.373496 44.503272,44.091258 43.518419,44.091258 L 4.9354314,44.091258 C 3.9369667,44.091258 3.2735915,43.549207 3.2735915,42.466594 L 3.2735915,32.121812 z "
- style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02044296px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csccccccs"
- id="path3093"
- d="M 3.5490842,31.039404 C 2.8347985,32.50369 3.5484686,33.432261 4.5847985,33.432261 C 4.5847985,33.432261 43.584797,33.432261 43.584797,33.432261 C 44.703844,33.408451 45.430035,32.420356 45.013368,31.289403 L 38.299082,14.078704 C 38.114558,13.566798 37.64432,13.090606 37.156225,13.078701 L 11.299083,13.078701 C 10.674083,13.078701 10.263369,13.382274 10.01337,13.935847 C 10.01337,13.935847 3.5490842,31.039404 3.5490842,31.039404 z "
- style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <rect
- y="36.299183"
- x="7.857996"
- height="5.5625"
- width="17.625"
- id="rect4174"
- style="opacity:1;color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cscc"
- id="path4194"
- d="M 7.8579947,41.86168 C 7.8579947,41.86168 7.8579947,37.850195 7.8579947,37.850195 C 9.6935221,41.029421 16.154485,41.86168 20.795492,41.86168 C 20.795492,41.86168 7.8579947,41.86168 7.8579947,41.86168 z "
- style="opacity:0.81142853;fill:url(#linearGradient4242);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path4201"
- d="M 44.796162,30.753688 C 44.859684,32.003662 44.382159,33.069528 43.474046,33.097438 C 43.474046,33.097438 5.3553296,33.097437 5.3553297,33.097438 C 4.0660978,33.097438 3.4875937,32.772491 3.271279,32.229382 C 3.3630404,33.173714 4.0970964,33.878688 5.3553297,33.878688 C 5.3553296,33.878687 43.474046,33.878688 43.474046,33.878688 C 44.550053,33.845617 45.226851,32.454664 44.82621,30.883897 L 44.796162,30.753688 z "
- style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path4211"
- d="M 10.96875,15.28125 C 10.922675,15.481571 10.78125,15.668047 10.78125,15.875 C 10.78125,16.823605 11.37223,17.664474 12.125,18.46875 C 12.365268,18.314675 12.490117,18.114342 12.75,17.96875 C 11.809691,17.152746 11.196604,16.252168 10.96875,15.28125 z M 37.625,15.28125 C 37.396273,16.250866 36.782988,17.153676 35.84375,17.96875 C 36.117894,18.122332 36.247738,18.33699 36.5,18.5 C 37.257262,17.693344 37.8125,16.826956 37.8125,15.875 C 37.8125,15.668047 37.670906,15.481571 37.625,15.28125 z M 39.8125,23.71875 C 39.198709,27.758861 32.513887,30.96875 24.28125,30.96875 C 16.068996,30.968751 9.4211001,27.775964 8.78125,23.75 C 8.7488928,23.947132 8.65625,24.141882 8.65625,24.34375 C 8.6562503,28.661697 15.645354,32.187501 24.28125,32.1875 C 32.917146,32.1875 39.937499,28.661698 39.9375,24.34375 C 39.9375,24.130826 39.848449,23.926394 39.8125,23.71875 z "
- style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- transform="translate(8.838843e-2,5.301780)"
- d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
- sodipodi:ry="1.016466"
- sodipodi:rx="1.3700194"
- sodipodi:cy="25.593554"
- sodipodi:cx="7.2036505"
- id="path4224"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end: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;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path4226"
- sodipodi:cx="7.2036505"
- sodipodi:cy="25.593554"
- sodipodi:rx="1.3700194"
- sodipodi:ry="1.016466"
- d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
- transform="translate(33.96705,5.213390)" />
- <path
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 11.642515,13.540723 C 11.040823,13.540723 10.649724,13.820081 10.409049,14.35301 C 10.409048,14.35301 3.9940341,30.943732 3.9940341,30.943732 C 3.9940341,30.943732 3.7533573,31.590247 3.7533573,32.658555 C 3.7533573,32.658555 3.7533573,41.948651 3.7533573,41.948651 C 3.7533573,43.303391 4.1974134,43.57555 5.3478414,43.57555 L 43.034746,43.57555 C 44.357872,43.57555 44.569062,43.259153 44.569062,41.738058 L 44.569062,32.447962 C 44.569062,32.447962 44.671072,31.706271 44.478807,31.184409 L 37.885616,14.378434 C 37.707973,13.885617 37.334964,13.552184 36.865071,13.540723 L 11.642515,13.540723 z "
- id="path4252"
- sodipodi:nodetypes="cccsccccccccc" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
- d="M 40.5,36.554166 L 40.5,41.575101"
- id="path4282" />
- <path
- id="path4284"
- d="M 38.5,36.613943 L 38.5,41.634878"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
- d="M 36.5,36.613943 L 36.5,41.634878"
- id="path4286" />
- <path
- id="path4288"
- d="M 34.5,36.613943 L 34.5,41.634878"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
- d="M 32.5,36.613943 L 32.5,41.634878"
- id="path4290" />
- <path
- id="path4292"
- d="M 30.5,36.613943 L 30.5,41.634878"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
- <path
- id="path4294"
- d="M 39.5,36.604065 L 39.5,41.625"
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
- d="M 37.5,36.663842 L 37.5,41.684777"
- id="path4296" />
- <path
- id="path4298"
- d="M 35.5,36.663842 L 35.5,41.684777"
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
- d="M 33.5,36.663842 L 33.5,41.684777"
- id="path4300" />
- <path
- id="path4302"
- d="M 31.5,36.663842 L 31.5,41.684777"
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path4572"
- d="M 7.875,36.3125 L 7.875,41.84375 L 20.4375,41.84375 L 8.21875,41.5 L 7.875,36.3125 z "
- style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:type="arc"
- style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.42372879;visibility:visible;display:inline;overflow:visible"
- id="path2545"
- sodipodi:cx="25"
- sodipodi:cy="19.5625"
- sodipodi:rx="14.875"
- sodipodi:ry="6.6875"
- d="M 39.875 19.5625 A 14.875 6.6875 0 1 1 10.125,19.5625 A 14.875 6.6875 0 1 1 39.875 19.5625 z"
- transform="matrix(1.037815,0.000000,0.000000,1.060747,-1.632878,3.030370)" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="down">
- <path
- transform="matrix(1.130190,1.178179e-16,7.918544e-17,-0.759601,-3.909725,53.66554)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient6907);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient6931);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 3.2034501,25.835194 C 2.1729477,-5.3853369 28.741616,-0.4511153 28.582416,15.788689 L 35.89533,15.788689 L 24.517652,28.774671 L 12.585426,15.788689 C 12.585426,15.788689 20.126859,15.788689 20.126859,15.788689 C 20.583921,4.8193225 3.4092324,1.6100346 3.2034501,25.835194 z "
- id="path1432"
- sodipodi:nodetypes="ccccccc" />
- <path
- sodipodi:nodetypes="ccccccc"
- id="path2177"
- d="M 7.6642103,9.1041047 C 12.40638,-0.0400306 28.122336,2.7175443 27.761604,16.579393 L 34.078976,16.579393 C 34.078976,16.579393 24.513151,27.536769 24.513151,27.536769 L 14.41668,16.579393 C 14.41668,16.579393 20.87332,16.579393 20.87332,16.579393 C 21.144975,5.0041615 10.922265,5.5345215 7.6642103,9.1041047 z "
- style="opacity:0.47159091;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:0.49431817;color:#000000;fill:url(#radialGradient4997);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 34.767155,16.211613 L 32.782979,18.757322 C 27.372947,17.241029 24.896829,21.486664 17.109284,20.489112 L 13.247998,16.080077 L 20.434468,16.162862 C 20.483219,4.3164571 8.3443098,4.998966 5.0292663,13.627829 C 8.8372201,-1.2611216 27.893316,0.8064118 28.28332,16.114112 L 34.767155,16.211613 z "
- id="path4989"
- sodipodi:nodetypes="cccccccc" />
- <rect
- style="opacity:1;color:#000000;fill:url(#linearGradient6971);fill-opacity:1.0;fill-rule:nonzero;stroke:#7d7d7d;stroke-width:0.99999976;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- id="rect6951"
- width="39.247944"
- height="12.278223"
- x="4.5635238"
- y="30.298382"
- rx="1.6249996"
- ry="1.6249996" />
- <rect
- style="opacity:0.59659091;color:#000000;fill:#7d7d7d;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- id="rect6953"
- width="16"
- height="7"
- x="7"
- y="33"
- ry="0" />
- <rect
- style="opacity:1;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- id="rect6957"
- width="1"
- height="9"
- x="24"
- y="32" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-save.svg b/share/pixmaps/tryton/tryton-save.svg
deleted file mode 100644
index 6be29c4..0000000
--- a/share/pixmaps/tryton/tryton-save.svg
+++ /dev/null
@@ -1,617 +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://web.resource.org/cc/"
- 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"
- sodipodi:docname="document-save.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg2913"
- height="48px"
- width="48px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6925">
- <stop
- style="stop-color:#204a87;stop-opacity:1;"
- offset="0"
- id="stop6927" />
- <stop
- style="stop-color:#204a87;stop-opacity:0;"
- offset="1"
- id="stop6929" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6901">
- <stop
- style="stop-color:#3465a4;stop-opacity:1;"
- offset="0"
- id="stop6903" />
- <stop
- style="stop-color:#3465a4;stop-opacity:0;"
- offset="1"
- id="stop6905" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4991">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4993" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4995" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4991"
- id="radialGradient4997"
- cx="23.447077"
- cy="6.4576745"
- fx="23.447077"
- fy="6.4576745"
- r="19.0625"
- gradientTransform="matrix(-1.314471,-1.006312e-2,-1.022964e-2,1.336221,46.22108,-4.909887)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2187"
- inkscape:collect="always">
- <stop
- id="stop2189"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2191"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2187"
- id="linearGradient1764"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.914114,1.412791e-16,-1.412791e-16,0.914114,-3.868698,-2.706902)"
- x1="33.059906"
- y1="27.394117"
- x2="12.624337"
- y2="12.583769" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient8668"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737"
- gradientTransform="matrix(1.000000,-7.816467e-32,-1.132409e-32,0.536723,-5.897962e-14,16.87306)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2555">
- <stop
- id="stop2557"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop2561" />
- <stop
- id="stop2563"
- offset="0.75000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
- offset="0.84166664"
- id="stop2565" />
- <stop
- id="stop2559"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4274">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.25490198;"
- offset="0.0000000"
- id="stop4276" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop4278" />
- </linearGradient>
- <linearGradient
- id="linearGradient4264"
- inkscape:collect="always">
- <stop
- id="stop4266"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4268"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4254"
- inkscape:collect="always">
- <stop
- id="stop4256"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4258"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4244">
- <stop
- id="stop4246"
- offset="0.0000000"
- style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
- <stop
- id="stop4248"
- offset="1.0000000"
- style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4236"
- inkscape:collect="always">
- <stop
- id="stop4238"
- offset="0"
- style="stop-color:#eeeeee;stop-opacity:1;" />
- <stop
- id="stop4240"
- offset="1"
- style="stop-color:#eeeeee;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4228">
- <stop
- id="stop4230"
- offset="0.0000000"
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
- <stop
- id="stop4232"
- offset="1.0000000"
- style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4184">
- <stop
- id="stop4186"
- offset="0.0000000"
- style="stop-color:#838383;stop-opacity:1.0000000;" />
- <stop
- id="stop4188"
- offset="1.0000000"
- style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="translate(0.795493,3.799180)"
- y2="35.281250"
- x2="24.687500"
- y1="35.281250"
- x1="7.0625000"
- gradientUnits="userSpaceOnUse"
- id="linearGradient4209"
- xlink:href="#linearGradient4184"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="40.943935"
- x2="36.183067"
- y1="28.481176"
- x1="7.6046205"
- id="linearGradient4234"
- xlink:href="#linearGradient4228"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="33.758667"
- x2="12.221823"
- y1="37.205811"
- x1="12.277412"
- id="linearGradient4242"
- xlink:href="#linearGradient4236"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-2.354348,0.248140)"
- r="20.935817"
- fy="2.9585190"
- fx="15.571491"
- cy="2.9585190"
- cx="15.571491"
- id="radialGradient4250"
- xlink:href="#linearGradient4244"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="47.620636"
- x2="44.096100"
- y1="4.4331360"
- x1="12.378357"
- id="linearGradient4260"
- xlink:href="#linearGradient4254"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.651032,-2.885063e-16,9.455693)"
- r="23.555494"
- fy="27.096155"
- fx="23.201941"
- cy="27.096155"
- cx="23.201941"
- id="radialGradient4270"
- xlink:href="#linearGradient4264"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="26.357183"
- x2="23.688078"
- y1="11.318835"
- x1="23.688078"
- id="linearGradient4272"
- xlink:href="#linearGradient4274"
- inkscape:collect="always"
- gradientTransform="translate(0.000000,5.125000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2555"
- id="linearGradient2553"
- x1="33.431175"
- y1="31.964777"
- x2="21.747974"
- y2="11.780679"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6901"
- id="linearGradient6907"
- x1="14.751649"
- y1="15.868432"
- x2="8.8953285"
- y2="16.743431"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6925"
- id="linearGradient6931"
- x1="12.25"
- y1="18.25"
- x2="7"
- y2="21.118431"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="101"
- inkscape:window-x="941"
- inkscape:window-height="907"
- inkscape:window-width="999"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer2"
- inkscape:cy="11.891468"
- inkscape:cx="28.318495"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.22745098"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false"
- fill="#3465a4"
- stroke="#204a87" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Save</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>hdd</rdf:li>
- <rdf:li>hard drive</rdf:li>
- <rdf:li>save</rdf:li>
- <rdf:li>io</rdf:li>
- <rdf:li>store</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:identifier />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="pix"
- id="layer2"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.411405e-2,0,0,1.929202e-2,45.48953,41.75228)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- sodipodi:nodetypes="cccsccccccccc"
- id="path4196"
- d="M 11.28569,13.087628 C 10.66069,13.087628 10.254441,13.377808 10.004442,13.931381 C 10.004441,13.931381 3.5356915,31.034938 3.5356915,31.034938 C 3.5356915,31.034938 3.2856915,31.706497 3.2856915,32.816188 C 3.2856915,32.816188 3.2856915,42.466156 3.2856915,42.466156 C 3.2856915,43.548769 3.943477,44.091158 4.9419415,44.091156 L 43.50444,44.091156 C 44.489293,44.091156 45.09819,43.372976 45.09819,42.247406 L 45.09819,32.597438 C 45.09819,32.597438 45.204153,31.827015 45.00444,31.284938 L 38.28569,14.087631 C 38.101165,13.575725 37.648785,13.099533 37.16069,13.087628 L 11.28569,13.087628 z "
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path4170"
- d="M 3.2735915,32.121812 L 4.0381936,31.429597 L 41.647883,31.492097 L 45.11029,31.809395 L 45.11029,42.247927 C 45.11029,43.373496 44.503272,44.091258 43.518419,44.091258 L 4.9354314,44.091258 C 3.9369667,44.091258 3.2735915,43.549207 3.2735915,42.466594 L 3.2735915,32.121812 z "
- style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.02044296px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="csccccccs"
- id="path3093"
- d="M 3.5490842,31.039404 C 2.8347985,32.50369 3.5484686,33.432261 4.5847985,33.432261 C 4.5847985,33.432261 43.584797,33.432261 43.584797,33.432261 C 44.703844,33.408451 45.430035,32.420356 45.013368,31.289403 L 38.299082,14.078704 C 38.114558,13.566798 37.64432,13.090606 37.156225,13.078701 L 11.299083,13.078701 C 10.674083,13.078701 10.263369,13.382274 10.01337,13.935847 C 10.01337,13.935847 3.5490842,31.039404 3.5490842,31.039404 z "
- style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <rect
- y="36.299183"
- x="7.857996"
- height="5.5625"
- width="17.625"
- id="rect4174"
- style="opacity:1;color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cscc"
- id="path4194"
- d="M 7.8579947,41.86168 C 7.8579947,41.86168 7.8579947,37.850195 7.8579947,37.850195 C 9.6935221,41.029421 16.154485,41.86168 20.795492,41.86168 C 20.795492,41.86168 7.8579947,41.86168 7.8579947,41.86168 z "
- style="opacity:0.81142853;fill:url(#linearGradient4242);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:nodetypes="cccccccc"
- id="path4201"
- d="M 44.796162,30.753688 C 44.859684,32.003662 44.382159,33.069528 43.474046,33.097438 C 43.474046,33.097438 5.3553296,33.097437 5.3553297,33.097438 C 4.0660978,33.097438 3.4875937,32.772491 3.271279,32.229382 C 3.3630404,33.173714 4.0970964,33.878688 5.3553297,33.878688 C 5.3553296,33.878687 43.474046,33.878688 43.474046,33.878688 C 44.550053,33.845617 45.226851,32.454664 44.82621,30.883897 L 44.796162,30.753688 z "
- style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path4211"
- d="M 10.96875,15.28125 C 10.922675,15.481571 10.78125,15.668047 10.78125,15.875 C 10.78125,16.823605 11.37223,17.664474 12.125,18.46875 C 12.365268,18.314675 12.490117,18.114342 12.75,17.96875 C 11.809691,17.152746 11.196604,16.252168 10.96875,15.28125 z M 37.625,15.28125 C 37.396273,16.250866 36.782988,17.153676 35.84375,17.96875 C 36.117894,18.122332 36.247738,18.33699 36.5,18.5 C 37.257262,17.693344 37.8125,16.826956 37.8125,15.875 C 37.8125,15.668047 37.670906,15.481571 37.625,15.28125 z M 39.8125,23.71875 C 39.198709,27.758861 32.513887,30.96875 24.28125,30.96875 C 16.068996,30.968751 9.4211001,27.775964 8.78125,23.75 C 8.7488928,23.947132 8.65625,24.141882 8.65625,24.34375 C 8.6562503,28.661697 15.645354,32.187501 24.28125,32.1875 C 32.917146,32.1875 39.937499,28.661698 39.9375,24.34375 C 39.9375,24.130826 39.848449,23.926394 39.8125,23.71875 z "
- style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- transform="translate(8.838843e-2,5.301780)"
- d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
- sodipodi:ry="1.016466"
- sodipodi:rx="1.3700194"
- sodipodi:cy="25.593554"
- sodipodi:cx="7.2036505"
- id="path4224"
- style="opacity:1;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end: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;color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path4226"
- sodipodi:cx="7.2036505"
- sodipodi:cy="25.593554"
- sodipodi:rx="1.3700194"
- sodipodi:ry="1.016466"
- d="M 8.5736699 25.593554 A 1.3700194 1.016466 0 1 1 5.833631,25.593554 A 1.3700194 1.016466 0 1 1 8.5736699 25.593554 z"
- transform="translate(33.96705,5.213390)" />
- <path
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 11.642515,13.540723 C 11.040823,13.540723 10.649724,13.820081 10.409049,14.35301 C 10.409048,14.35301 3.9940341,30.943732 3.9940341,30.943732 C 3.9940341,30.943732 3.7533573,31.590247 3.7533573,32.658555 C 3.7533573,32.658555 3.7533573,41.948651 3.7533573,41.948651 C 3.7533573,43.303391 4.1974134,43.57555 5.3478414,43.57555 L 43.034746,43.57555 C 44.357872,43.57555 44.569062,43.259153 44.569062,41.738058 L 44.569062,32.447962 C 44.569062,32.447962 44.671072,31.706271 44.478807,31.184409 L 37.885616,14.378434 C 37.707973,13.885617 37.334964,13.552184 36.865071,13.540723 L 11.642515,13.540723 z "
- id="path4252"
- sodipodi:nodetypes="cccsccccccccc" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
- d="M 40.5,36.554166 L 40.5,41.575101"
- id="path4282" />
- <path
- id="path4284"
- d="M 38.5,36.613943 L 38.5,41.634878"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
- d="M 36.5,36.613943 L 36.5,41.634878"
- id="path4286" />
- <path
- id="path4288"
- d="M 34.5,36.613943 L 34.5,41.634878"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
- <path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
- d="M 32.5,36.613943 L 32.5,41.634878"
- id="path4290" />
- <path
- id="path4292"
- d="M 30.5,36.613943 L 30.5,41.634878"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885" />
- <path
- id="path4294"
- d="M 39.5,36.604065 L 39.5,41.625"
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
- d="M 37.5,36.663842 L 37.5,41.684777"
- id="path4296" />
- <path
- id="path4298"
- d="M 35.5,36.663842 L 35.5,41.684777"
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
- d="M 33.5,36.663842 L 33.5,41.684777"
- id="path4300" />
- <path
- id="path4302"
- d="M 31.5,36.663842 L 31.5,41.684777"
- style="opacity:0.09714284;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- id="path4572"
- d="M 7.875,36.3125 L 7.875,41.84375 L 20.4375,41.84375 L 8.21875,41.5 L 7.875,36.3125 z "
- style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
- <path
- sodipodi:type="arc"
- style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:0.42372879;visibility:visible;display:inline;overflow:visible"
- id="path2545"
- sodipodi:cx="25"
- sodipodi:cy="19.5625"
- sodipodi:rx="14.875"
- sodipodi:ry="6.6875"
- d="M 39.875 19.5625 A 14.875 6.6875 0 1 1 10.125,19.5625 A 14.875 6.6875 0 1 1 39.875 19.5625 z"
- transform="matrix(1.037815,0.000000,0.000000,1.060747,-1.632878,3.030370)" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer1"
- inkscape:label="down">
- <path
- transform="matrix(1.130190,1.178179e-16,7.918544e-17,-0.759601,-3.909725,53.66554)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient6907);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient6931);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 3.2034501,25.835194 C 2.1729477,-5.3853369 28.741616,-0.4511153 28.582416,15.788689 L 35.89533,15.788689 L 24.517652,28.774671 L 12.585426,15.788689 C 12.585426,15.788689 20.126859,15.788689 20.126859,15.788689 C 20.583921,4.8193225 3.4092324,1.6100346 3.2034501,25.835194 z "
- id="path1432"
- sodipodi:nodetypes="ccccccc" />
- <path
- sodipodi:nodetypes="ccccccc"
- id="path2177"
- d="M 7.6642103,9.1041047 C 12.40638,-0.0400306 28.122336,2.7175443 27.761604,16.579393 L 34.078976,16.579393 C 34.078976,16.579393 24.513151,27.536769 24.513151,27.536769 L 14.41668,16.579393 C 14.41668,16.579393 20.87332,16.579393 20.87332,16.579393 C 21.144975,5.0041615 10.922265,5.5345215 7.6642103,9.1041047 z "
- style="opacity:0.47159091;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.99999934;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:0.49431817;color:#000000;fill:url(#radialGradient4997);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 34.767155,16.211613 L 32.782979,18.757322 C 27.372947,17.241029 24.896829,21.486664 17.109284,20.489112 L 13.247998,16.080077 L 20.434468,16.162862 C 20.483219,4.3164571 8.3443098,4.998966 5.0292663,13.627829 C 8.8372201,-1.2611216 27.893316,0.8064118 28.28332,16.114112 L 34.767155,16.211613 z "
- id="path4989"
- sodipodi:nodetypes="cccccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-start-here.svg b/share/pixmaps/tryton/tryton-start-here.svg
deleted file mode 100644
index 7f681d7..0000000
--- a/share/pixmaps/tryton/tryton-start-here.svg
+++ /dev/null
@@ -1,478 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/garrett/Source/tango-icon-theme/scalable/places"
- sodipodi:docname="start-here.svg">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4711">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4713" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4715" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4697">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4699" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4701" />
- </linearGradient>
- <linearGradient
- id="linearGradient11520">
- <stop
- id="stop11522"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop11524"
- offset="1.0000000"
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11508"
- inkscape:collect="always">
- <stop
- id="stop11510"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11512"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11494"
- inkscape:collect="always">
- <stop
- id="stop11496"
- offset="0"
- style="stop-color:#ef2929;stop-opacity:1;" />
- <stop
- id="stop11498"
- offset="1"
- style="stop-color:#ef2929;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11415">
- <stop
- id="stop11417"
- offset="0.0000000"
- style="stop-color:#204a87;stop-opacity:0.0000000;" />
- <stop
- style="stop-color:#204a87;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop11423" />
- <stop
- id="stop11419"
- offset="1"
- style="stop-color:#204a87;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11399"
- inkscape:collect="always">
- <stop
- id="stop11401"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11403"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- gradientTransform="translate(-60.28571,-0.285714)"
- y2="34.462429"
- x2="43.615788"
- y1="3.7744560"
- x1="15.828360"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11425"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(-60.57143,0.000000)"
- y2="39.033859"
- x2="35.679932"
- y1="9.3458843"
- x1="9.6957054"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11427"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <linearGradient
- y2="33.462429"
- x2="26.758644"
- y1="19.774456"
- x1="13.267134"
- gradientTransform="translate(-60.85714,0.428571)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient11439"
- xlink:href="#linearGradient11415"
- inkscape:collect="always" />
- <radialGradient
- r="8.5000000"
- fy="39.142857"
- fx="12.071428"
- cy="39.142857"
- cx="12.071428"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.487395,0.000000,20.06483)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11441"
- xlink:href="#linearGradient11399"
- inkscape:collect="always" />
- <radialGradient
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- gradientUnits="userSpaceOnUse"
- r="3.8335034"
- fy="15.048258"
- fx="27.577173"
- cy="15.048258"
- cx="27.577173"
- id="radialGradient11500"
- xlink:href="#linearGradient11494"
- inkscape:collect="always" />
- <radialGradient
- r="3.8335034"
- fy="16.049133"
- fx="27.577173"
- cy="16.049133"
- cx="27.577173"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11504"
- xlink:href="#linearGradient11494"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.166583e-14,29.48178)"
- r="6.5659914"
- fy="44.565483"
- fx="30.203562"
- cy="44.565483"
- cx="30.203562"
- id="radialGradient11514"
- xlink:href="#linearGradient11508"
- inkscape:collect="always" />
- <radialGradient
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- gradientUnits="userSpaceOnUse"
- r="20.530962"
- fy="35.878170"
- fx="24.445690"
- cy="35.878170"
- cx="24.445690"
- id="radialGradient11526"
- xlink:href="#linearGradient11520"
- inkscape:collect="always" />
- <radialGradient
- r="6.5659914"
- fy="44.565483"
- fx="30.203562"
- cy="44.565483"
- cx="30.203562"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,3.185827e-15,29.48178)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient11532"
- xlink:href="#linearGradient11508"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.353344e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1350"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient1352"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="16.049133"
- fx="27.577173"
- fy="16.049133"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11494"
- id="radialGradient1354"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.243453,2.106784e-16,-2.106784e-16,1.243453,-6.713754,-3.742847)"
- cx="27.577173"
- cy="15.048258"
- fx="27.577173"
- fy="15.048258"
- r="3.8335034" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1356"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,2.220359e-14,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.049266,-1.696401e-32,0.000000,2.049266,-25.65002,-37.31089)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4697"
- id="linearGradient4703"
- x1="10.871767"
- y1="15.555014"
- x2="10.871767"
- y2="54.634052"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4697"
- id="linearGradient4707"
- gradientUnits="userSpaceOnUse"
- x1="10.871767"
- y1="15.555014"
- x2="10.871767"
- y2="54.634052"
- gradientTransform="matrix(-1,0,0,1,49.62363,-9.63433)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4711"
- id="radialGradient4717"
- cx="23.864855"
- cy="40.266018"
- fx="23.864855"
- fy="40.266018"
- r="14.672465"
- gradientTransform="matrix(1,0,0,0.340361,1.187419e-15,26.56102)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4711"
- id="radialGradient4721"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.340361,-1.298439e-15,26.56102)"
- cx="23.864855"
- cy="40.266018"
- fx="23.864855"
- fy="40.266018"
- r="14.672465" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4697"
- id="linearGradient3952"
- gradientUnits="userSpaceOnUse"
- x1="10.871767"
- y1="15.555014"
- x2="10.871767"
- y2="54.634052" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4697"
- id="linearGradient3954"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1,0,0,1,49.62363,-9.63433)"
- x1="10.871767"
- y1="15.555014"
- x2="10.871767"
- y2="54.634052" />
- </defs>
- <sodipodi:namedview
- stroke="#ef2929"
- fill="#eeeeec"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313708"
- inkscape:cx="22.34038"
- inkscape:cy="21.330644"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1032"
- inkscape:window-height="956"
- inkscape:window-x="252"
- inkscape:window-y="39"
- gridempspacing="4" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Start Here</dc:title>
- <dc:description>To be replaced by vendor/distribution branding.</dc:description>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>start</rdf:li>
- <rdf:li>applications</rdf:li>
- <rdf:li>launchers</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g15"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- transform="matrix(0.582036,0,0,0.582076,-63.9369,-62.75444)" />
- <g
- id="g3946"
- transform="matrix(0.99645,0,0,1.007814,-0.891385,0.197492)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <g
- style="fill:#3465a4;stroke:#204a87;stroke-width:2.13030815;stroke-miterlimit:4;stroke-dasharray:none"
- transform="matrix(0.467989,0,0,0.468861,-45.74716,-42.20022)"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="g9">
- <path
- style="fill:#3465a4;stroke:#204a87;stroke-width:2.13030815;stroke-miterlimit:4;stroke-dasharray:none"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 L 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
- id="path11" />
- <path
- sodipodi:nodetypes="cccssssssccssc"
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="fill:#3465a4;stroke:#204a87;stroke-width:2.13030815;stroke-miterlimit:4;stroke-dasharray:none"
- d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 C 131.45735,167.7531 130.58431,168.19401 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
- id="path13" />
- </g>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- style="opacity:0.53846154;fill:none;fill-opacity:1;stroke:url(#linearGradient3952);stroke-width:0.99788946;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- d="M 23.15264,35.402331 C 23.0545,35.149035 22.924012,34.86083 22.76522,34.555538 L 21.55328,35.248555 C 20.849382,34.075677 20.088378,30.676027 20.313336,28.65454 C 20.537003,26.644656 21.671118,23.657436 21.078226,21.714272 C 20.396384,19.479565 18.499596,15.198858 16.159278,14.28373 C 14.808825,13.755597 13.867858,15.418314 12.805702,17.404522 C 11.809153,19.268045 11.361039,21.656264 11.404842,23.409277 C 11.458404,25.552859 12.154071,27.598298 13.149451,29.48408 C 14.105502,31.296507 16.599743,34.90392 17.240418,36.879022 L 16.287138,37.296844 C 16.348889,37.499631 16.504177,37.651533 16.575853,37.835749 C 17.272032,39.631092 19.749562,42.824999 21.640566,41.733227 C 23.566023,40.621565 23.963133,37.493307 23.15264,35.402331 z "
- id="path4667"
- sodipodi:nodetypes="ccczsszssccszc" />
- </g>
- <g
- id="g3940"
- transform="matrix(0.996431,0,0,1.007807,-0.512841,-6.0774e-2)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <g
- id="g4657"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- transform="matrix(-0.467989,0,0,0.468861,95.32836,-51.86619)"
- style="fill:#729fcf;stroke:#3465a4;stroke-width:2.13033509;stroke-miterlimit:4;stroke-dasharray:none">
- <path
- id="path4659"
- d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 L 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- style="fill:#729fcf;stroke:#3465a4;stroke-width:2.13033509;stroke-miterlimit:4;stroke-dasharray:none" />
- <path
- id="path4661"
- d="M 148.52832,163.19141 C 148.26758,162.52539 147.9209,161.76758 147.49902,160.96484 L 144.86621,162.08984 C 142.99609,159.00586 142.88281,152.55859 143.23242,150.4751 C 144.07129,145.4751 146.37012,141.0542 144.79492,135.94482 C 142.9834,130.06885 139.11816,120.90479 132.90039,118.49854 C 129.3125,117.10986 126.57715,120.23877 124.8125,122.98584 C 122.10742,127.19775 120.62207,132.30615 120.15137,137.26416 C 119.61719,142.87744 120.96777,148.62744 123.6123,153.58594 C 126.15234,158.35156 130.41406,162.3457 132.11621,167.53906 L 129.81836,168.52148 C 129.98242,169.05469 130.16016,169.57031 130.35059,170.05469 C 132.2002,174.77539 138.41797,184.19141 144.86328,181 C 151.42285,177.75 150.68164,168.68945 148.52832,163.19141 z "
- style="fill:#729fcf;stroke:#3465a4;stroke-width:2.13033509;stroke-miterlimit:4;stroke-dasharray:none"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <path
- sodipodi:nodetypes="ccczsszssccszc"
- id="path4705"
- d="M 26.470988,25.768001 C 26.569128,25.514705 26.699616,25.2265 26.858408,24.921208 L 28.070348,25.614225 C 28.774246,24.441347 29.53525,21.041697 29.310292,19.02021 C 29.086625,17.010326 27.95251,14.023106 28.545402,12.079942 C 29.227244,9.8452351 31.124032,5.5645281 33.46435,4.6494001 C 34.814803,4.1212671 35.75577,5.7839841 36.817926,7.7701921 C 37.814475,9.6337151 38.262589,12.021934 38.218786,13.774947 C 38.165224,15.918529 37.469557,17.963968 36.474177,19.84975 C 35.518126,21.662177 33.023885,25.26959 32.38321,27.244692 L 33.33649,27.662514 C 33.274739,27.865301 33.119451,28.017203 33.047775,28.201419 C 32.351596,29.996762 29.874066,33.190669 27.983062,32.098897 C 26.057605,30.987235 25.660495,27.858977 26.470988,25.768001 z "
- style="opacity:0.53846154;fill:none;fill-opacity:1;stroke:url(#linearGradient3954);stroke-width:0.99790192;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-system-file-manager.svg b/share/pixmaps/tryton/tryton-system-file-manager.svg
deleted file mode 100644
index 9a83782..0000000
--- a/share/pixmaps/tryton/tryton-system-file-manager.svg
+++ /dev/null
@@ -1,315 +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://web.resource.org/cc/"
- 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"
- width="48px"
- height="48px"
- id="svg1288"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- sodipodi:docname="system-file-manager.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient3085">
- <stop
- id="stop3087"
- offset="0"
- style="stop-color:#b47002;stop-opacity:1;" />
- <stop
- id="stop3089"
- offset="1.0000000"
- style="stop-color:#6b4301;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2368">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2370" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2372" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2182">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2184" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2186" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2182"
- id="radialGradient2188"
- cx="25.357143"
- cy="36.500000"
- fx="25.357143"
- fy="36.500000"
- r="14.714286"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.500000,-3.881442e-16,18.25000)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2368"
- id="linearGradient2374"
- x1="14.680550"
- y1="7.2187386"
- x2="38.694427"
- y2="57.468739"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="19.168869"
- x2="25.249994"
- y1="23.568451"
- x1="25.249994"
- id="linearGradient3091"
- xlink:href="#linearGradient3085"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(0.000000,13.11256)"
- y2="19.168869"
- x2="25.249994"
- y1="23.568451"
- x1="25.249994"
- gradientUnits="userSpaceOnUse"
- id="linearGradient3095"
- xlink:href="#linearGradient3085"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- stroke="#e9b96e"
- fill="#e9b96e"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.14117647"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="36.454061"
- inkscape:cy="-13.769376"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- showborder="true"
- inkscape:showpageshadow="false"
- inkscape:window-width="878"
- inkscape:window-height="883"
- inkscape:window-x="370"
- inkscape:window-y="74" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>File Manager</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>file</rdf:li>
- <rdf:li>manager</rdf:li>
- <rdf:li>copy</rdf:li>
- <rdf:li>move</rdf:li>
- <rdf:li>filesystem</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g5022"
- transform="matrix(1.949531e-2,0,0,2.086758e-2,42.61888,39.78964)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <path
- style="stroke-opacity:1.0000000;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.0000000px;stroke:#444329;fill-rule:evenodd;fill-opacity:1.0;fill:#c17d11"
- d="M 10.625000,11.625000 L 10.625000,42.625000 L 39.625000,42.625000 L 39.625000,11.625000 L 35.625000,7.6250000 L 14.625000,7.6250000 L 10.625000,11.625000 z "
- id="path1414" />
- <path
- style="stroke-opacity:1.0000000;stroke-linejoin:miter;stroke-linecap:butt;stroke-width:1.0000000px;stroke:none;fill-rule:evenodd;fill-opacity:1.0000000;fill:#e9b96e"
- d="M 14.849242,8.2252435 L 11.126209,12.041107 L 12.314694,12.291107 L 38.129165,12.291107 L 39.130150,12.041107 L 35.266951,8.2252435 L 14.849242,8.2252435 z "
- id="path2380"
- sodipodi:nodetypes="ccccccc" />
- <rect
- ry="0.92857140"
- rx="0.92857140"
- y="28.828430"
- x="14.750000"
- height="10.055458"
- width="21.000000"
- id="rect3083"
- style="opacity:1.0000000;color:#000000;fill:#e9b96e;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#e9b96e;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="opacity:1.0000000;color:#000000;fill:#b67610;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b500b;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect1416"
- width="21.000000"
- height="10.055458"
- x="14.573223"
- y="28.474876"
- rx="0.92857140"
- ry="0.92857140" />
- <path
- id="path2358"
- d="M 11.680550,12.062494 L 11.680550,41.652758 L 38.569426,41.652758 L 38.569426,12.062494 L 35.166650,8.6597185 L 15.083327,8.6597185 L 11.680550,12.062494 z "
- style="stroke-opacity:1.0000000;stroke-linejoin:miter;stroke-linecap:butt;stroke-width:1.0000000;stroke:url(#linearGradient2374);fill-rule:evenodd;fill-opacity:1.0;fill:none;stroke-dasharray:none;stroke-miterlimit:4.0000000"
- sodipodi:nodetypes="ccccccc" />
- <rect
- style="opacity:1.0000000;color:#000000;fill:#e9b96e;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#e9b96e;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect3081"
- width="21.000000"
- height="10.055458"
- x="14.750000"
- y="15.715860"
- rx="0.92857140"
- ry="0.92857140" />
- <rect
- ry="0.92857140"
- rx="0.92857140"
- y="15.362308"
- x="14.573223"
- height="10.055458"
- width="21.000000"
- id="rect3077"
- style="font-family:Bitstream Vera Sans;overflow:visible;display:inline;visibility:visible;stroke-opacity:1.0000000;stroke-dashoffset:0.0000000;stroke-dasharray:none;stroke-miterlimit:4.0000000;marker-end:none;marker-mid:none;marker-start:none;marker:none;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.0000000px;stroke:#7b500b;fill-rule:evenodd;fill-opacity:1.0000000;fill:#b67610;color:#000000;opacity:1.0000000" />
- <rect
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3091);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b500b;stroke-width:0.99999923px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect3079"
- width="6.7473836"
- height="3.8216934"
- x="21.743721"
- y="21.569220"
- rx="0.28662863"
- ry="0.33735332" />
- <rect
- ry="0.33735332"
- rx="0.28662863"
- y="34.681808"
- x="21.743721"
- height="3.8216934"
- width="6.7473836"
- id="rect3093"
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3095);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b500b;stroke-width:0.99999923px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-system.svg b/share/pixmaps/tryton/tryton-system.svg
deleted file mode 100644
index d6e0f6b..0000000
--- a/share/pixmaps/tryton/tryton-system.svg
+++ /dev/null
@@ -1,738 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48.000000px"
- height="48.000000px"
- id="svg2327"
- sodipodi:version="0.32"
- inkscape:version="0.42+devel"
- sodipodi:docbase="/home/jimmac/gfx/ximian/tango-icon-theme/scalable/devices"
- sodipodi:docname="computer.svg">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient2985"
- inkscape:collect="always">
- <stop
- id="stop2987"
- offset="0"
- style="stop-color:#d8dfd6;stop-opacity:1;" />
- <stop
- id="stop2989"
- offset="1"
- style="stop-color:#d8dfd6;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2752">
- <stop
- id="stop2754"
- offset="0"
- style="stop-color:#9d9d9d;stop-opacity:1;" />
- <stop
- id="stop2756"
- offset="1.0000000"
- style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2711">
- <stop
- id="stop2713"
- offset="0.0000000"
- style="stop-color:#909090;stop-opacity:1.0000000;" />
- <stop
- id="stop2715"
- offset="1.0000000"
- style="stop-color:#bebebe;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2701">
- <stop
- id="stop2703"
- offset="0.0000000"
- style="stop-color:#585956;stop-opacity:1.0000000;" />
- <stop
- id="stop2705"
- offset="1.0000000"
- style="stop-color:#bbbeb8;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2691">
- <stop
- id="stop2693"
- offset="0.0000000"
- style="stop-color:#868686;stop-opacity:1.0000000;" />
- <stop
- id="stop2695"
- offset="1.0000000"
- style="stop-color:#e9e9e9;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2683"
- inkscape:collect="always">
- <stop
- id="stop2685"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2687"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2675">
- <stop
- id="stop2677"
- offset="0.0000000"
- style="stop-color:#5b5b97;stop-opacity:1.0000000;" />
- <stop
- id="stop2679"
- offset="1.0000000"
- style="stop-color:#1b1b43;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2667">
- <stop
- id="stop2669"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop2671"
- offset="1.0000000"
- style="stop-color:#fcfcff;stop-opacity:0.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2635"
- inkscape:collect="always">
- <stop
- id="stop2637"
- offset="0"
- style="stop-color:#f9fff5;stop-opacity:1;" />
- <stop
- id="stop2639"
- offset="1"
- style="stop-color:#f9fff5;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2623">
- <stop
- id="stop2625"
- offset="0.0000000"
- style="stop-color:#dfdfde;stop-opacity:1.0000000;" />
- <stop
- id="stop2627"
- offset="1.0000000"
- style="stop-color:#9d9f9a;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2454">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2456" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2458" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2415">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2417" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2419" />
- </linearGradient>
- <linearGradient
- id="linearGradient2379">
- <stop
- style="stop-color:#1a4876;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2381" />
- <stop
- style="stop-color:#3f54a3;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop2383" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2328">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2330" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2332" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2307">
- <stop
- style="stop-color:#5a7aa4;stop-opacity:1;"
- offset="0"
- id="stop2309" />
- <stop
- style="stop-color:#5a7aa4;stop-opacity:0;"
- offset="1"
- id="stop2311" />
- </linearGradient>
- <linearGradient
- id="linearGradient2253">
- <stop
- style="stop-color:#8f8f8f;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2255" />
- <stop
- style="stop-color:#494949;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2257" />
- </linearGradient>
- <linearGradient
- id="linearGradient2245">
- <stop
- style="stop-color:#dde1d9;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2247" />
- <stop
- style="stop-color:#cacdc6;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2249" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2245"
- id="linearGradient2251"
- gradientTransform="matrix(1.129863,0.000000,0.000000,0.885063,-1.625000,-1.304372)"
- x1="8.6116238"
- y1="7.2293582"
- x2="34.784473"
- y2="33.339787"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2307"
- id="linearGradient2313"
- gradientTransform="matrix(1.208393,0.000000,0.000000,0.984410,-0.789284,-0.503380)"
- x1="16.851954"
- y1="9.3235140"
- x2="24.418941"
- y2="53.734985"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2328"
- id="linearGradient2334"
- gradientTransform="matrix(1.289166,0.000000,0.000000,0.922731,-0.789284,-0.503380)"
- x1="16.119127"
- y1="10.842293"
- x2="27.289009"
- y2="39.031910"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2415"
- id="linearGradient2421"
- gradientTransform="matrix(1.108069,0.000000,0.000000,0.902471,1.000000,1.000000)"
- x1="17.698339"
- y1="13.004725"
- x2="34.974548"
- y2="55.200756"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2379"
- id="linearGradient2445"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.027870,0.000000,0.000000,0.822296,1.523986,1.001198)"
- x1="21.356108"
- y1="30.078255"
- x2="19.994572"
- y2="-1.3221773" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2460"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2454"
- id="radialGradient2464"
- gradientUnits="userSpaceOnUse"
- gradientTransform="scale(1.925808,0.519262)"
- cx="12.575710"
- cy="67.501709"
- fx="12.575710"
- fy="67.501709"
- r="8.7662794" />
- <linearGradient
- y2="92.570930"
- x2="10.728384"
- y1="84.029198"
- x1="10.728384"
- gradientTransform="scale(1.983556,0.504145)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2653"
- xlink:href="#linearGradient2623"
- inkscape:collect="always" />
- <linearGradient
- y2="74.098007"
- x2="8.6485014"
- y1="101.28460"
- x1="13.628710"
- gradientTransform="scale(2.143634,0.466498)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2655"
- xlink:href="#linearGradient2635"
- inkscape:collect="always" />
- <radialGradient
- r="8.7662794"
- fy="67.501709"
- fx="12.575710"
- cy="67.501709"
- cx="12.575710"
- gradientTransform="scale(1.925808,0.519262)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient2659"
- xlink:href="#linearGradient2454"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="26.729263"
- x2="17.199417"
- y1="1.6537577"
- x1="11.492236"
- gradientTransform="matrix(1.238977,0.000000,0.000000,0.895955,0.590553,-1.331524)"
- id="linearGradient2673"
- xlink:href="#linearGradient2667"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="8.8666229"
- x2="16.315819"
- y1="32.622238"
- x1="19.150396"
- gradientTransform="matrix(1.174139,0.000000,0.000000,0.945431,0.721825,-1.331524)"
- id="linearGradient2681"
- xlink:href="#linearGradient2675"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="162.45061"
- x2="3.7069974"
- y1="171.29134"
- x1="3.7069976"
- gradientTransform="matrix(5.705159,0.000000,0.000000,0.175280,1.000000,-0.679373)"
- id="linearGradient2689"
- xlink:href="#linearGradient2683"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="64.892525"
- x2="12.127711"
- y1="53.535141"
- x1="12.206709"
- gradientTransform="scale(1.816345,0.550556)"
- id="linearGradient2707"
- xlink:href="#linearGradient2701"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- id="linearGradient2717"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2721"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2725"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2729"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="3.8451097"
- x2="35.520542"
- y1="3.9384086"
- x1="34.300991"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2733"
- xlink:href="#linearGradient2711"
- inkscape:collect="always" />
- <linearGradient
- y2="74.098007"
- x2="8.6485014"
- y1="101.28460"
- x1="13.628710"
- gradientTransform="matrix(2.143634,0.000000,0.000000,0.466498,1.000000,-0.508826)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2741"
- xlink:href="#linearGradient2635"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="100.20015"
- x2="8.1134233"
- y1="88.509071"
- x1="8.1134243"
- gradientTransform="scale(2.309851,0.432928)"
- id="linearGradient2758"
- xlink:href="#linearGradient2752"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="31.246054"
- x2="32.536823"
- y1="5.3817744"
- x1="10.390738"
- gradientTransform="scale(1.104397,0.905471)"
- id="linearGradient2979"
- xlink:href="#linearGradient2253"
- inkscape:collect="always" />
- <linearGradient
- y2="52.536461"
- x2="18.176752"
- y1="48.643234"
- x1="18.316999"
- gradientTransform="scale(1.129863,0.885063)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2981"
- xlink:href="#linearGradient2245"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="44.878883"
- x2="-23.885700"
- y1="49.953003"
- x1="-23.885700"
- gradientTransform="scale(1.492875,0.669848)"
- id="linearGradient2991"
- xlink:href="#linearGradient2985"
- inkscape:collect="always" />
- <linearGradient
- y2="100.20015"
- x2="8.1134233"
- y1="88.509071"
- x1="8.1134243"
- gradientTransform="scale(2.309851,0.432928)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1409"
- xlink:href="#linearGradient2752"
- inkscape:collect="always" />
- <linearGradient
- y2="100.20015"
- x2="8.1134233"
- y1="88.509071"
- x1="8.1134243"
- gradientTransform="scale(2.309851,0.432928)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1411"
- xlink:href="#linearGradient2752"
- inkscape:collect="always" />
- <linearGradient
- y2="31.246054"
- x2="32.536823"
- y1="5.3817744"
- x1="10.390738"
- gradientTransform="scale(1.104397,0.905471)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient1413"
- xlink:href="#linearGradient2253"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.12156863"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="75.353821"
- inkscape:cy="12.176086"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="770"
- inkscape:window-height="576"
- inkscape:window-x="402"
- inkscape:window-y="25"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Computer</dc:title>
- <dc:date>2005-03-08</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>workstation</rdf:li>
- <rdf:li>computer</rdf:li>
- <rdf:li>node</rdf:li>
- <rdf:li>client</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz/</dc:source>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#radialGradient2460);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- id="path2452"
- sodipodi:cx="24.218407"
- sodipodi:cy="35.051105"
- sodipodi:rx="16.882174"
- sodipodi:ry="4.5520000"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-13.61713)" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:#adb0aa;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2407"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="translate(57.53339,3.203427)" />
- <path
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,4.271194)"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- sodipodi:ry="3.9395950"
- sodipodi:rx="9.3944187"
- sodipodi:cy="29.716238"
- sodipodi:cx="-35.658386"
- id="path1825"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#7b7f7a;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2991);stroke-width:0.68065339;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2983"
- sodipodi:cx="-35.658386"
- sodipodi:cy="29.716238"
- sodipodi:rx="9.3944187"
- sodipodi:ry="3.9395950"
- d="M -26.263968 29.716238 A 9.3944187 3.9395950 0 1 1 -45.052805,29.716238 A 9.3944187 3.9395950 0 1 1 -26.263968 29.716238 z"
- transform="matrix(0.940273,0.000000,0.000000,0.940273,55.40361,3.521194)" />
- <path
- sodipodi:nodetypes="ccccccccccccccccc"
- style="fill:#d0d0d0;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#979797;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 25.687500,28.766243 L 25.625000,29.766243 C 25.625000,29.766243 29.949108,33.365409 34.625000,33.968750 C 36.962946,34.270420 39.378675,34.671162 41.375000,35.156250 C 43.371325,35.641338 44.963356,36.275856 45.500000,36.812500 C 45.810411,37.122911 45.951063,37.386139 46.000000,37.593750 C 46.048937,37.801361 46.038217,37.948565 45.906250,38.156250 C 45.642317,38.571620 44.826393,39.123902 43.437500,39.562500 C 40.659715,40.439695 35.717076,41.000000 28.875000,41.000000 L 28.875000,42.000000 C 35.770998,42.000000 40.738665,41.472329 43.718750,40.531250 C 45.208792,40.060710 46.243692,39.515563 46.750000,38.718750 C 47.003154,38.320344 47.107321,37.830301 47.000000,37.375000 C 46.892679,36.919699 46.615445,36.490445 46.218750,36.093750 C 45.341180,35.216180 43.681912,34.687310 41.625000,34.187500 C 39.568088,33.687690 37.109264,33.273171 34.750000,32.968750 C 30.031473,32.359908 25.687500,28.766243 25.687500,28.766243 z "
- id="path2411" />
- <path
- transform="matrix(1.000000,0.000000,0.000000,1.368932,-1.978553,-19.02126)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path2462"
- style="color:#000000;fill:url(#radialGradient2464);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <rect
- y="30.703611"
- x="17.472397"
- height="2.7400389"
- width="9.0396729"
- id="rect2699"
- style="color:#000000;fill:url(#linearGradient2707);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="color:#000000;fill:url(#linearGradient2251);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2979);stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 7.0809024,1.6956221 L 36.669097,1.6956221 C 37.580439,1.6956221 38.293244,2.2791039 38.335849,3.0972091 L 39.667893,28.675323 C 39.726102,29.793058 38.766837,30.695628 37.647588,30.695628 L 6.1024120,30.695628 C 4.9831629,30.695628 4.0238980,29.793058 4.0821068,28.675323 L 5.4141506,3.0972091 C 5.4544343,2.3236745 5.9616533,1.6956221 7.0809024,1.6956221 z "
- id="rect2404"
- sodipodi:nodetypes="cssssssss" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path2377"
- d="M 8.4105348,4.3058272 L 7.1683398,26.351144 L 34.818729,26.351144 L 33.483712,4.3992558 L 8.4105348,4.3058272 z "
- style="fill:url(#linearGradient2681);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000079;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:url(#linearGradient2689);stroke-width:0.99618119;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-opacity:0.24840762"
- d="M 6.1774331,28.735789 L 37.605910,28.735789"
- id="path2393" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path2397"
- d="M 6.9145985,2.7063396 L 36.760101,2.6685383 C 37.043798,2.6681790 37.319403,2.9057881 37.342206,3.3210821 L 38.704098,28.124330 C 38.762137,29.181361 38.164349,29.910201 37.105727,29.910201 L 6.5817583,29.910201 C 5.5231355,29.910201 4.9887439,29.181410 5.0458869,28.124330 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z "
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2421);stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- style="opacity:0.53142858;fill:url(#linearGradient2673);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 8.7115364,4.7463626 L 7.9090069,22.616693 C 18.953645,20.216063 19.330470,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 L 8.7115364,4.7463626 z "
- id="path2443" />
- <path
- transform="matrix(1.264398,0.000000,0.000000,1.291262,-6.216332,-4.000423)"
- d="M 41.100580 35.051105 A 16.882174 4.5520000 0 1 1 7.3362331,35.051105 A 16.882174 4.5520000 0 1 1 41.100580 35.051105 z"
- sodipodi:ry="4.5520000"
- sodipodi:rx="16.882174"
- sodipodi:cy="35.051105"
- sodipodi:cx="24.218407"
- id="path2657"
- style="color:#000000;fill:url(#radialGradient2659);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:0.70063692;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cssssssss"
- id="path2409"
- d="M 6.4621839,36.817452 L 37.464590,36.817452 C 38.583839,36.817452 38.441945,37.088890 38.556817,37.430298 L 41.391463,45.855108 C 41.506335,46.196517 41.418485,46.467954 40.299236,46.467954 L 3.6275382,46.467954 C 2.5082891,46.467954 2.4204387,46.196517 2.5353107,45.855108 L 5.3699564,37.430298 C 5.4848284,37.088889 5.3429348,36.817452 6.4621839,36.817452 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2981);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient1413);stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path2611"
- d="M 6.3916892,38.829113 L 4.6239223,43.955638 L 10.104000,43.955638 L 10.634330,41.922706 L 25.483572,41.922706 L 26.033251,43.997820 L 32.201086,43.997820 L 30.521708,38.829113 L 6.3916892,38.829113 z "
- style="fill:#7a7d77;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- id="path2613"
- d="M 11.076272,42.276260 L 10.634330,43.955639 L 25.395184,43.955639 L 24.953242,42.187872 L 11.076272,42.276260 z "
- style="fill:#777874;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- style="color:#000000;fill:#777a75;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 37.592776,38.829114 L 39.272155,43.867250 L 33.792077,43.778861 L 32.289475,38.917502 L 37.592776,38.829114 z "
- id="path2619" />
- <path
- id="path2615"
- d="M 37.592776,38.298786 L 39.272155,43.336922 L 33.792077,43.248533 L 32.289475,38.387174 L 37.592776,38.298786 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2758);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="fill:url(#linearGradient1411);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 6.3916892,38.210397 L 4.6239223,43.336922 L 10.104000,43.336922 L 10.634330,41.303990 L 25.483572,41.303990 L 26.033251,43.379104 L 32.201086,43.379104 L 30.521708,38.210397 L 6.3916892,38.210397 z "
- id="path2617"
- sodipodi:nodetypes="ccccccccc" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient1409);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.25000000pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 11.076272,41.745932 L 10.634330,43.425311 L 25.395184,43.425311 L 24.953242,41.657544 L 11.076272,41.745932 z "
- id="path2621" />
- <path
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2741);stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 6.1278189,37.578116 L 37.953634,37.578116 L 40.590813,45.670679 L 3.3297429,45.670679 L 6.1278189,37.578116 z "
- id="path2631"
- sodipodi:nodetypes="ccccc" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.41933,2.853866)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2709"
- style="color:#000000;fill:url(#linearGradient2717);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2721);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2719"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.30573,4.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.19213,6.959651)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2723"
- style="color:#000000;fill:url(#linearGradient2725);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="color:#000000;fill:url(#linearGradient2729);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2727"
- sodipodi:cx="34.780815"
- sodipodi:cy="3.9384086"
- sodipodi:rx="0.83968931"
- sodipodi:ry="0.83968931"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-10.07853,8.959651)" />
- <path
- transform="matrix(1.331237,0.000000,0.000000,0.658449,-9.964930,10.95965)"
- d="M 35.620504 3.9384086 A 0.83968931 0.83968931 0 1 1 33.941126,3.9384086 A 0.83968931 0.83968931 0 1 1 35.620504 3.9384086 z"
- sodipodi:ry="0.83968931"
- sodipodi:rx="0.83968931"
- sodipodi:cy="3.9384086"
- sodipodi:cx="34.780815"
- id="path2731"
- style="color:#000000;fill:url(#linearGradient2733);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.50000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- id="text2735"
- d="M 20.000000,27.317666 L 20.281716,27.317666 C 20.365481,27.317667 20.429701,27.336330 20.474376,27.373656 C 20.519345,27.410690 20.541829,27.463594 20.541830,27.532370 C 20.541829,27.601440 20.519345,27.654638 20.474376,27.691965 C 20.429701,27.728998 20.365481,27.747515 20.281716,27.747515 L 20.169735,27.747515 L 20.169735,27.975885 L 20.000000,27.975885 L 20.000000,27.317666 M 20.169735,27.440669 L 20.169735,27.624512 L 20.263640,27.624512 C 20.296558,27.624512 20.321982,27.616576 20.339911,27.600705 C 20.357839,27.584540 20.366804,27.561762 20.366804,27.532370 C 20.366804,27.502979 20.357839,27.480348 20.339911,27.464476 C 20.321982,27.448605 20.296558,27.440669 20.263640,27.440669 L 20.169735,27.440669 M 20.961979,27.428765 C 20.910250,27.428766 20.870131,27.447870 20.841621,27.486078 C 20.813112,27.524288 20.798857,27.578074 20.798857,27.647437 C 20.798857,27.716507 20.813112,27.770146 20.841621,27.808355 C 20.870131,27.846564 20.910250,27.865668 20.961979,27.865668 C 21.014001,27.865668 21.054267,27.846564 21.082778,27.808355 C 21.111287,27.770146 21.125541,27.716507 21.125542,27.647437 C 21.125541,27.578074 21.111287,27.524288 21.082778,27.486078 C 21.054267,27.447870 21.014001,27.428766 20.961979,27.428765 M 20.961979,27.305762 C 21.067787,27.305763 21.150671,27.336036 21.210630,27.396582 C 21.270588,27.457128 21.300567,27.540747 21.300568,27.647437 C 21.300567,27.753834 21.270588,27.837305 21.210630,27.897851 C 21.150671,27.958398 21.067787,27.988671 20.961979,27.988671 C 20.856464,27.988671 20.773580,27.958398 20.713328,27.897851 C 20.653370,27.837305 20.623391,27.753834 20.623391,27.647437 C 20.623391,27.540747 20.653370,27.457128 20.713328,27.396582 C 20.773580,27.336036 20.856464,27.305763 20.961979,27.305762 M 21.428420,27.317666 L 21.617994,27.317666 L 21.857387,27.769117 L 21.857387,27.317666 L 22.018305,27.317666 L 22.018305,27.975885 L 21.828730,27.975885 L 21.589338,27.524434 L 21.589338,27.975885 L 21.428420,27.975885 L 21.428420,27.317666 M 22.091489,27.317666 L 22.277095,27.317666 L 22.426991,27.552209 L 22.576887,27.317666 L 22.762935,27.317666 L 22.512079,27.698578 L 22.512079,27.975885 L 22.342344,27.975885 L 22.342344,27.698578 L 22.091489,27.317666"
- style="font-size:0.90290260;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-undo.svg b/share/pixmaps/tryton/tryton-undo.svg
deleted file mode 100644
index d3cce96..0000000
--- a/share/pixmaps/tryton/tryton-undo.svg
+++ /dev/null
@@ -1,230 +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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- sodipodi:docname="edit-undo.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective31" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2326">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2328" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2330" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2316">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop2318" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop2320" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2308">
- <stop
- style="stop-color:#edd400;stop-opacity:1;"
- offset="0"
- id="stop2310" />
- <stop
- style="stop-color:#edd400;stop-opacity:0;"
- offset="1"
- id="stop2312" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient8662">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop8664" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop8666" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8662"
- id="radialGradient8668"
- cx="24.837126"
- cy="36.421127"
- fx="24.837126"
- fy="36.421127"
- r="15.644737"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-6.227265e-14,16.87306)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient2187"
- inkscape:collect="always">
- <stop
- id="stop2189"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop2191"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2187"
- id="linearGradient1764"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-1.813471e-16,-1.171926,-1.171926,1.813471e-16,46.17440,54.10111)"
- x1="17.060806"
- y1="11.39502"
- x2="12.624337"
- y2="12.583769" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2308"
- id="linearGradient2314"
- x1="26.5"
- y1="34.25"
- x2="26.25"
- y2="43.571831"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2316"
- id="linearGradient2322"
- x1="26.5"
- y1="34.25"
- x2="26.25"
- y2="43.571831"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2326"
- id="radialGradient2332"
- cx="15.09403"
- cy="13.282721"
- fx="15.09403"
- fy="13.282721"
- r="10.16466"
- gradientTransform="matrix(2.496031,-1.151905e-16,1.061756e-16,2.300689,-25.12402,-17.82636)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#c4a000"
- fill="#edd400"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="2.8284271"
- inkscape:cx="-19.855325"
- inkscape:cy="-15.183692"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="891"
- inkscape:window-height="818"
- inkscape:window-x="0"
- inkscape:window-y="30" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
- <dc:title>Edit Undo</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>edit</rdf:li>
- <rdf:li>undo</rdf:li>
- <rdf:li>revert</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/publicdomain/">
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Reproduction" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#Distribution" />
- <cc:permits
- rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- transform="matrix(-1.489736,0.000000,0.000000,-1.001252,60.60436,75.31260)"
- d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
- sodipodi:ry="8.3968935"
- sodipodi:rx="15.644737"
- sodipodi:cy="36.421127"
- sodipodi:cx="24.837126"
- id="path8660"
- style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient2314);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient2322);stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 9.582441,45.034369 C 49.608249,46.355509 43.282405,12.29355 22.462411,12.49765 L 22.462411,3.1222396 L 5.8139298,17.708819 L 22.462411,33.006349 C 22.462411,33.006349 22.462411,23.337969 22.462411,23.337969 C 36.525521,22.751999 40.639939,44.770549 9.582441,45.034369 z "
- id="path1432"
- sodipodi:nodetypes="ccccccc" />
- <path
- sodipodi:nodetypes="ccccccc"
- id="path2177"
- d="M 31.032281,39.315519 C 42.75538,33.235892 39.220073,13.087489 21.448701,13.549959 L 21.448701,5.4508678 C 21.448701,5.4508678 7.4009628,17.714589 7.4009628,17.714589 L 21.448701,30.658617 C 21.448701,30.658617 21.448701,22.380979 21.448701,22.380979 C 36.288551,22.032709 35.608611,35.138579 31.032281,39.315519 z "
- style="opacity:0.69886361;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:0.51136364;color:#000000;fill:url(#radialGradient2332);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 6.6291261,17.682797 L 12.28598,23.074486 C 18.561553,22.897709 15.733126,16.710525 26.958446,13.616933 L 22.008699,12.998214 L 21.92031,4.3361562 L 6.6291261,17.682797 z "
- id="path2324"
- sodipodi:nodetypes="cccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-web-browser.svg b/share/pixmaps/tryton/tryton-web-browser.svg
deleted file mode 100644
index 309eff7..0000000
--- a/share/pixmaps/tryton/tryton-web-browser.svg
+++ /dev/null
@@ -1,980 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48px"
- height="48px"
- id="svg3440"
- sodipodi:version="0.32"
- inkscape:version="0.42+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- sodipodi:docname="internet-web-browser.svg">
- <defs
- id="defs3">
- <linearGradient
- id="linearGradient4750">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4752" />
- <stop
- style="stop-color:#fefefe;stop-opacity:1.0000000;"
- offset="0.37931034"
- id="stop4758" />
- <stop
- style="stop-color:#1d1d1d;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop4754" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4350">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop4352" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop4354" />
- </linearGradient>
- <linearGradient
- id="linearGradient4126">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop4128" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.16494845;"
- offset="1.0000000"
- id="stop4130" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4114">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4116" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4118" />
- </linearGradient>
- <linearGradient
- id="linearGradient3962">
- <stop
- style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop3964" />
- <stop
- style="stop-color:#d3e9ff;stop-opacity:1.0000000;"
- offset="0.15517241"
- id="stop4134" />
- <stop
- style="stop-color:#4074ae;stop-opacity:1.0000000;"
- offset="0.75000000"
- id="stop4346" />
- <stop
- style="stop-color:#36486c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop3966" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3962"
- id="radialGradient3968"
- gradientTransform="scale(0.999989,1.000011)"
- cx="18.247644"
- cy="15.716079"
- fx="18.247644"
- fy="15.716079"
- r="29.993349"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4114"
- id="radialGradient4120"
- gradientTransform="scale(1.643990,0.608276)"
- cx="15.115514"
- cy="63.965388"
- fx="15.115514"
- fy="63.965388"
- r="12.289036"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4126"
- id="radialGradient4132"
- gradientTransform="scale(0.999989,1.000011)"
- cx="15.601279"
- cy="12.142302"
- fx="15.601279"
- fy="12.142302"
- r="43.526714"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4350"
- id="radialGradient4356"
- gradientTransform="scale(1.179536,0.847791)"
- cx="11.826907"
- cy="10.476453"
- fx="11.826907"
- fy="10.476453"
- r="32.664848"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4750"
- id="radialGradient4756"
- gradientTransform="scale(1.036822,0.964486)"
- cx="18.633780"
- cy="17.486208"
- fx="18.934305"
- fy="17.810213"
- r="40.692665"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1460"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1462"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1466"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1468"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1470"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1474"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1476"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1478"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1482"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1484"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1486"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1490"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1492"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1494"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1498"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1500"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1502"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1506"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1508"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1510"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1514"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1516"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1518"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1522"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1524"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1526"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1528"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1530"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1532"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1534"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1536"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1538"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1540"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1542"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1544"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1546"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1550"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1552"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1554"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- <radialGradient
- r="40.692665"
- fy="17.810213"
- fx="18.934305"
- cy="17.486208"
- cx="18.633780"
- gradientTransform="scale(1.036822,0.964486)"
- gradientUnits="userSpaceOnUse"
- id="radialGradient1558"
- xlink:href="#linearGradient4750"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.17254902"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="9.8994949"
- inkscape:cx="25.799661"
- inkscape:cy="24.622653"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="770"
- inkscape:window-height="695"
- inkscape:window-x="472"
- inkscape:window-y="167"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Globe</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Tuomas Kuosmanen</dc:title>
- </cc:Agent>
- </dc:contributor>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>globe</rdf:li>
- <rdf:li>international</rdf:li>
- <rdf:li>web</rdf:li>
- <rdf:li>www</rdf:li>
- <rdf:li>internet</rdf:li>
- <rdf:li>network</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient4120);fill-opacity:1.0000000;stroke:none;stroke-opacity:1.0000000"
- id="path4112"
- sodipodi:cx="24.849752"
- sodipodi:cy="38.908627"
- sodipodi:rx="20.203051"
- sodipodi:ry="7.4751287"
- d="M 45.052803 38.908627 A 20.203051 7.4751287 0 1 1 4.6467018,38.908627 A 20.203051 7.4751287 0 1 1 45.052803 38.908627 z"
- transform="matrix(1.000000,0.000000,0.000000,1.243244,0.000000,-10.27241)" />
- <path
- style="fill:url(#radialGradient3968);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#39396c;stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 43.959853,23.485499 C 43.959853,34.195217 35.277750,42.877222 24.569505,42.877222 C 13.860279,42.877222 5.1786663,34.195119 5.1786663,23.485499 C 5.1786663,12.776272 13.860279,4.0951517 24.569505,4.0951517 C 35.277750,4.0951517 43.959853,12.776272 43.959853,23.485499 L 43.959853,23.485499 z "
- id="path3214" />
- <path
- sodipodi:type="arc"
- style="opacity:0.42159382;fill:url(#radialGradient4356);fill-opacity:1.0000000;stroke:none;stroke-opacity:1.0000000"
- id="path4348"
- sodipodi:cx="17.778685"
- sodipodi:cy="15.271057"
- sodipodi:rx="12.929953"
- sodipodi:ry="9.2934036"
- d="M 30.708637 15.271057 A 12.929953 9.2934036 0 1 1 4.8487320,15.271057 A 12.929953 9.2934036 0 1 1 30.708637 15.271057 z"
- transform="matrix(0.835938,0.000000,0.000000,1.000000,9.886868,0.000000)" />
- <g
- id="g4136"
- style="fill:#000000;fill-opacity:0.71345031;fill-rule:nonzero;stroke:none;stroke-miterlimit:4.0000000"
- transform="matrix(0.982371,0.000000,0.000000,0.982371,0.121079,0.232914)">
- <g
- id="g4138">
- <g
- id="g4142">
- <path
- d="M 44.071300,20.714400 C 44.071300,20.977100 44.071300,20.714400 44.071300,20.714400 L 43.526400,21.331600 C 43.192400,20.938000 42.817400,20.607000 42.436600,20.261300 L 41.600700,20.384300 L 40.837000,19.521000 L 40.837000,20.589400 L 41.491300,21.084500 L 41.926800,21.577700 L 42.508800,20.919500 C 42.655300,21.193900 42.799800,21.468300 42.945300,21.742700 L 42.945300,22.565000 L 42.290000,23.305200 L 41.090800,24.128400 L 40.182600,25.034700 L 39.600600,24.374500 L 39.891600,23.634300 L 39.310500,22.976100 L 38.329100,20.878400 L 37.493200,19.933100 L 37.274400,20.179200 L 37.602500,21.372600 L 38.219700,22.071800 C 38.572200,23.089400 38.920900,24.062000 39.383800,25.034700 C 40.101600,25.034700 40.778300,24.958500 41.491200,24.868700 L 41.491200,25.444900 L 40.619100,27.584100 L 39.819300,28.488400 L 39.165000,29.888800 C 39.165000,30.656400 39.165000,31.424000 39.165000,32.191500 L 39.383800,33.097800 L 39.020500,33.508000 L 38.219700,34.002100 L 37.383800,34.701300 L 38.075200,35.482600 L 37.129900,36.306800 L 37.311500,36.840000 L 35.893500,38.445500 L 34.949200,38.445500 L 34.149400,38.939600 L 33.639600,38.939600 L 33.639600,38.281400 L 33.422800,36.963000 C 33.141500,36.136800 32.848600,35.316500 32.550700,34.496200 C 32.550700,33.890700 32.586800,33.291100 32.623000,32.685700 L 32.987300,31.863400 L 32.477500,30.875100 L 32.514600,29.517700 L 31.823200,28.736400 L 32.168900,27.605500 L 31.606400,26.967300 L 30.624000,26.967300 L 30.296900,26.597200 L 29.315500,27.214900 L 28.916100,26.761300 L 28.006900,27.543000 C 27.389700,26.843300 26.771500,26.144100 26.153400,25.444900 L 25.426800,23.716400 L 26.081100,22.730100 L 25.717800,22.319000 L 26.516600,20.425400 C 27.172900,19.609000 27.858400,18.825800 28.551800,18.039700 L 29.788100,17.710600 L 31.169000,17.546500 L 32.114300,17.793600 L 33.459000,19.150000 L 33.931700,18.615800 L 34.585000,18.533800 L 35.821300,18.944900 L 36.766600,18.944900 L 37.420900,18.368700 L 37.711900,17.957600 L 37.056600,17.546500 L 35.965800,17.464500 C 35.663100,17.044600 35.381800,16.603200 35.022400,16.230100 L 34.658100,16.394200 L 34.512600,17.464500 L 33.858300,16.724300 L 33.713800,15.900100 L 32.987200,15.325900 L 32.695200,15.325900 L 33.422700,16.148200 L 33.131700,16.888400 L 32.550600,17.052500 L 32.913900,16.312300 L 32.258600,15.984200 L 31.678500,15.326000 L 30.586700,15.572100 L 30.442200,15.900200 L 29.787900,16.312300 L 29.424600,17.217600 L 28.516400,17.669700 L 28.116000,17.217600 L 27.680500,17.217600 L 27.680500,15.736200 L 28.625800,15.242100 L 29.352400,15.242100 L 29.205900,14.666900 L 28.625800,14.090700 L 29.606300,13.884600 L 30.151200,13.268400 L 30.586700,12.527200 L 31.387500,12.527200 L 31.168700,11.952000 L 31.678500,11.622900 L 31.678500,12.281100 L 32.768300,12.527200 L 33.858100,11.622900 L 33.931300,11.210800 L 34.875600,10.553100 C 34.533800,10.595600 34.192000,10.626800 33.858000,10.717700 L 33.858000,9.9766000 L 34.221300,9.1538000 L 33.858000,9.1538000 L 33.059600,9.8940000 L 32.840800,10.305600 L 33.059600,10.882300 L 32.695300,11.868600 L 32.114200,11.539500 L 31.606400,10.964300 L 30.805600,11.539500 L 30.514600,10.223600 L 31.895500,9.3188000 L 31.895500,8.8247000 L 32.768500,8.2490000 L 34.149400,7.9194000 L 35.094700,8.2490000 L 36.838800,8.5781000 L 36.403300,9.0713000 L 35.458000,9.0713000 L 36.403300,10.058600 L 37.129900,9.2363000 L 37.350600,8.8745000 C 37.350600,8.8745000 40.137700,11.372500 41.730500,14.105000 C 43.323300,16.838400 44.071300,20.060100 44.071300,20.714400 z "
- id="path4144" />
- </g>
- </g>
- <g
- id="g4146">
- <g
- id="g4150">
- <path
- d="M 26.070300,9.2363000 L 25.997100,9.7295000 L 26.506900,10.058600 L 27.378000,9.4829000 L 26.942500,8.9892000 L 26.360500,9.3188000 L 26.070500,9.2363000"
- id="path4152" />
- </g>
- </g>
- <g
- id="g4154">
- <g
- id="g4158">
- <path
- d="M 26.870100,5.8633000 L 24.979500,5.1226000 L 22.799800,5.3692000 L 20.109400,6.1094000 L 19.600600,6.6035000 L 21.272500,7.7549000 L 21.272500,8.4131000 L 20.618200,9.0713000 L 21.491200,10.800300 L 22.071300,10.470200 L 22.799800,9.3188000 C 23.922800,8.9716000 24.929700,8.5781000 25.997100,8.0844000 L 26.870100,5.8632000"
- id="path4160" />
- </g>
- </g>
- <g
- id="g4162">
- <g
- id="g4166">
- <path
- d="M 28.833000,12.774900 L 28.542000,12.033700 L 28.032200,12.198700 L 28.178700,13.103000 L 28.833000,12.774900"
- id="path4168" />
- </g>
- </g>
- <g
- id="g4170">
- <g
- id="g4174">
- <path
- d="M 29.123000,12.608900 L 28.977500,13.597200 L 29.777300,13.432200 L 30.358400,12.857000 L 29.849600,12.362900 C 29.678700,11.907800 29.482400,11.483000 29.268500,11.046500 L 28.833000,11.046500 L 28.833000,11.539700 L 29.123000,11.868800 L 29.123000,12.609000"
- id="path4176" />
- </g>
- </g>
- <g
- id="g4178">
- <g
- id="g4182">
- <path
- d="M 18.365200,28.242200 L 17.783200,27.089900 L 16.692900,26.843300 L 16.111400,25.280800 L 14.657800,25.444900 L 13.422400,24.540600 L 12.113300,25.692000 L 12.113300,25.873600 C 11.717300,25.759300 11.230500,25.743700 10.877900,25.526900 L 10.586900,24.704600 L 10.586900,23.799300 L 9.7148000,23.881300 C 9.7876000,23.305100 9.8598000,22.729900 9.9331000,22.153800 L 9.4238000,22.153800 L 8.9155000,22.812000 L 8.4062000,23.058100 L 7.6791000,22.647900 L 7.6063000,21.742600 L 7.7518000,20.755300 L 8.8426000,19.933000 L 9.7147000,19.933000 L 9.8597000,19.438900 L 10.950000,19.685000 L 11.749800,20.673300 L 11.895300,19.026800 L 13.276600,17.875400 L 13.785400,16.641000 L 14.803000,16.229900 L 15.384500,15.407600 L 16.692600,15.159600 L 17.347400,14.173300 C 16.693100,14.173300 16.038800,14.173300 15.384500,14.173300 L 16.620300,13.597100 L 17.491900,13.597100 L 18.728200,13.185000 L 18.873700,12.692800 L 18.437200,12.280700 L 17.928400,12.115700 L 18.073900,11.622500 L 17.710600,10.882300 L 16.838000,11.210400 L 16.983500,10.552700 L 15.965900,9.9765000 L 15.166600,11.374400 L 15.238900,11.868500 L 14.439600,12.198600 L 13.930300,13.267900 L 13.712500,12.280600 L 12.331200,11.704400 L 12.112900,10.964200 L 13.930300,9.8939000 L 14.730100,9.1537000 L 14.802900,8.2489000 L 14.366900,8.0018000 L 13.785400,7.9193000 L 13.422100,8.8246000 C 13.422100,8.8246000 12.814200,8.9437000 12.657900,8.9823000 C 10.661800,10.821700 6.6286000,14.792400 5.6916000,22.288500 C 5.7287000,22.462300 6.3708000,23.470100 6.3708000,23.470100 L 7.8972000,24.374400 L 9.4236000,24.786500 L 10.078400,25.609700 L 11.095500,26.349900 L 11.677000,26.267900 L 12.113000,26.464200 L 12.113000,26.597000 L 11.531900,28.160000 L 11.095400,28.818200 L 11.240900,29.148300 L 10.877600,30.380700 L 12.186200,32.767400 L 13.494300,33.919700 L 14.076300,34.742000 L 14.003100,36.470500 L 14.439600,37.456800 L 14.003100,39.349400 C 14.003100,39.349400 13.968900,39.337700 14.024600,39.527100 C 14.080800,39.716600 16.353700,40.978300 16.498200,40.870900 C 16.642200,40.761500 16.765300,40.665800 16.765300,40.665800 L 16.620300,40.255600 L 17.201400,39.679400 L 17.419700,39.103200 L 18.365000,38.773100 L 19.091600,36.962600 L 18.873800,36.470400 L 19.381600,35.730200 L 20.472400,35.482200 L 21.054400,34.165800 L 20.908900,32.521300 L 21.781000,31.286900 L 21.926500,30.052500 C 20.733100,29.460700 19.549500,28.851300 18.365000,28.242000"
- id="path4184" />
- </g>
- </g>
- <g
- id="g4186">
- <g
- id="g4190">
- <path
- d="M 16.765600,9.5649000 L 17.492200,10.058600 L 18.074200,10.058600 L 18.074200,9.4829000 L 17.347600,9.1538000 L 16.765600,9.5649000"
- id="path4192" />
- </g>
- </g>
- <g
- id="g4194">
- <g
- id="g4198">
- <path
- d="M 14.876000,8.9072000 L 14.512200,9.8120000 L 15.239300,9.8120000 L 15.603100,8.9892000 C 15.916600,8.7675000 16.228600,8.5444000 16.547900,8.3310000 L 17.275000,8.5781000 C 17.759400,8.9072000 18.243800,9.2363000 18.728600,9.5649000 L 19.456100,8.9072000 L 18.655800,8.5781000 L 18.292000,7.8374000 L 16.911100,7.6728000 L 16.838300,7.2612000 L 16.184000,7.4262000 L 15.893600,8.0020000 L 15.529800,7.2613000 L 15.384800,7.5904000 L 15.457600,8.4132000 L 14.876000,8.9072000"
- id="path4200" />
- </g>
- </g>
- <g
- id="g4202">
- <g
- style="opacity:0.75000000"
- id="g4204">
- <path
- id="path4206"
- d="" />
- </g>
- <g
- id="g4208">
- <path
- id="path4210"
- d="" />
- </g>
- </g>
- <g
- id="g4212">
- <g
- style="opacity:0.75000000"
- id="g4214">
- <path
- id="path4216"
- d="" />
- </g>
- <g
- id="g4218">
- <path
- id="path4220"
- d="" />
- </g>
- </g>
- <g
- id="g4222">
- <g
- id="g4226">
- <path
- d="M 17.492200,6.8496000 L 17.856000,6.5210000 L 18.583100,6.3564000 C 19.081100,6.1142000 19.581100,5.9511000 20.109500,5.7802000 L 19.819500,5.2865000 L 18.881000,5.4213000 L 18.437600,5.8632000 L 17.706600,5.9692000 L 17.056700,6.2744000 L 16.740800,6.4272000 L 16.547900,6.6855000 L 17.492200,6.8496000"
- id="path4228" />
- </g>
- </g>
- <g
- id="g4230">
- <g
- id="g4234">
- <path
- d="M 18.728500,14.666500 L 19.165000,14.008300 L 18.510200,13.515100 L 18.728500,14.666500"
- id="path4236" />
- </g>
- </g>
- </g>
- <g
- id="g3216"
- style="color:#000000;fill:url(#radialGradient1460);fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0179454;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- transform="matrix(0.982371,0.000000,0.000000,0.982371,-8.095179e-2,3.088300e-2)">
- <g
- id="g3218"
- style="color:#000000;fill:url(#radialGradient1462);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3222"
- style="color:#000000;fill:url(#radialGradient1466);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 44.071300,20.714400 C 44.071300,20.977100 44.071300,20.714400 44.071300,20.714400 L 43.526400,21.331600 C 43.192400,20.938000 42.817400,20.607000 42.436600,20.261300 L 41.600700,20.384300 L 40.837000,19.521000 L 40.837000,20.589400 L 41.491300,21.084500 L 41.926800,21.577700 L 42.508800,20.919500 C 42.655300,21.193900 42.799800,21.468300 42.945300,21.742700 L 42.945300,22.565000 L 42.290000,23.305200 L 41.090800,24.128400 L 40.182600,25.034700 L 39.600600,24.374500 L 39.891600,23.634300 L 39.310500,22.976100 L 38.329100,20.878400 L 37.493200,19.933100 L 37.274400,20.179200 L 37.602500,21.372600 L 38.219700,22.071800 C 38.572200,23.089400 38.920900,24.062000 39.383800,25.034700 C 40.101600,25.034700 40.778300,24.958500 41.491200,24.868700 L 41.491200,25.444900 L 40.619100,27.584100 L 39.819300,28.488400 L 39.165000,29.888800 C 39.165000,30.656400 39.165000,31.424000 39.165000,32.191500 L 39.383800,33.097800 L 39.020500,33.508000 L 38.219700,34.002100 L 37.383800,34.701300 L 38.075200,35.482600 L 37.129900,36.306800 L 37.311500,36.840000 L 35.893500,38.445500 L 34.949200,38.445500 L 34.149400,38.939600 L 33.639600,38.939600 L 33.639600,38.281400 L 33.422800,36.963000 C 33.141500,36.136800 32.848600,35.316500 32.550700,34.496200 C 32.550700,33.890700 32.586800,33.291100 32.623000,32.685700 L 32.987300,31.863400 L 32.477500,30.875100 L 32.514600,29.517700 L 31.823200,28.736400 L 32.168900,27.605500 L 31.606400,26.967300 L 30.624000,26.967300 L 30.296900,26.597200 L 29.315500,27.214900 L 28.916100,26.761300 L 28.006900,27.543000 C 27.389700,26.843300 26.771500,26.144100 26.153400,25.444900 L 25.426800,23.716400 L 26.081100,22.730100 L 25.717800,22.319000 L 26.516600,20.425400 C 27.172900,19.609000 27.858400,18.825800 28.551800,18.039700 L 29.788100,17.710600 L 31.169000,17.546500 L 32.114300,17.793600 L 33.459000,19.150000 L 33.931700,18.615800 L 34.585000,18.533800 L 35.821300,18.944900 L 36.766600,18.944900 L 37.420900,18.368700 L 37.711900,17.957600 L 37.056600,17.546500 L 35.965800,17.464500 C 35.663100,17.044600 35.381800,16.603200 35.022400,16.230100 L 34.658100,16.394200 L 34.512600,17.464500 L 33.858300,16.724300 L 33.713800,15.900100 L 32.987200,15.325900 L 32.695200,15.325900 L 33.422700,16.148200 L 33.131700,16.888400 L 32.550600,17.052500 L 32.913900,16.312300 L 32.258600,15.984200 L 31.678500,15.326000 L 30.586700,15.572100 L 30.442200,15.900200 L 29.787900,16.312300 L 29.424600,17.217600 L 28.516400,17.669700 L 28.116000,17.217600 L 27.680500,17.217600 L 27.680500,15.736200 L 28.625800,15.242100 L 29.352400,15.242100 L 29.205900,14.666900 L 28.625800,14.090700 L 29.606300,13.884600 L 30.151200,13.268400 L 30.586700,12.527200 L 31.387500,12.527200 L 31.168700,11.952000 L 31.678500,11.622900 L 31.678500,12.281100 L 32.768300,12.527200 L 33.858100,11.622900 L 33.931300,11.210800 L 34.875600,10.553100 C 34.533800,10.595600 34.192000,10.626800 33.858000,10.717700 L 33.858000,9.9766000 L 34.221300,9.1538000 L 33.858000,9.1538000 L 33.059600,9.8940000 L 32.840800,10.305600 L 33.059600,10.882300 L 32.695300,11.868600 L 32.114200,11.539500 L 31.606400,10.964300 L 30.805600,11.539500 L 30.514600,10.223600 L 31.895500,9.3188000 L 31.895500,8.8247000 L 32.768500,8.2490000 L 34.149400,7.9194000 L 35.094700,8.2490000 L 36.838800,8.5781000 L 36.403300,9.0713000 L 35.458000,9.0713000 L 36.403300,10.058600 L 37.129900,9.2363000 L 37.350600,8.8745000 C 37.350600,8.8745000 40.137700,11.372500 41.730500,14.105000 C 43.323300,16.838400 44.071300,20.060100 44.071300,20.714400 z "
- id="path3224"
- style="color:#000000;fill:url(#radialGradient1468);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3226"
- style="color:#000000;fill:url(#radialGradient1470);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3230"
- style="color:#000000;fill:url(#radialGradient1474);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 26.070300,9.2363000 L 25.997100,9.7295000 L 26.506900,10.058600 L 27.378000,9.4829000 L 26.942500,8.9892000 L 26.360500,9.3188000 L 26.070500,9.2363000"
- id="path3232"
- style="color:#000000;fill:url(#radialGradient1476);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3234"
- style="color:#000000;fill:url(#radialGradient1478);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3238"
- style="color:#000000;fill:url(#radialGradient1482);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 26.870100,5.8633000 L 24.979500,5.1226000 L 22.799800,5.3692000 L 20.109400,6.1094000 L 19.600600,6.6035000 L 21.272500,7.7549000 L 21.272500,8.4131000 L 20.618200,9.0713000 L 21.491200,10.800300 L 22.071300,10.470200 L 22.799800,9.3188000 C 23.922800,8.9716000 24.929700,8.5781000 25.997100,8.0844000 L 26.870100,5.8632000"
- id="path3240"
- style="color:#000000;fill:url(#radialGradient1484);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3242"
- style="color:#000000;fill:url(#radialGradient1486);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3246"
- style="color:#000000;fill:url(#radialGradient1490);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 28.833000,12.774900 L 28.542000,12.033700 L 28.032200,12.198700 L 28.178700,13.103000 L 28.833000,12.774900"
- id="path3248"
- style="color:#000000;fill:url(#radialGradient1492);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3250"
- style="color:#000000;fill:url(#radialGradient1494);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3254"
- style="color:#000000;fill:url(#radialGradient1498);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 29.123000,12.608900 L 28.977500,13.597200 L 29.777300,13.432200 L 30.358400,12.857000 L 29.849600,12.362900 C 29.678700,11.907800 29.482400,11.483000 29.268500,11.046500 L 28.833000,11.046500 L 28.833000,11.539700 L 29.123000,11.868800 L 29.123000,12.609000"
- id="path3256"
- style="color:#000000;fill:url(#radialGradient1500);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3258"
- style="color:#000000;fill:url(#radialGradient1502);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3262"
- style="color:#000000;fill:url(#radialGradient1506);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 18.365200,28.242200 L 17.783200,27.089900 L 16.692900,26.843300 L 16.111400,25.280800 L 14.657800,25.444900 L 13.422400,24.540600 L 12.113300,25.692000 L 12.113300,25.873600 C 11.717300,25.759300 11.230500,25.743700 10.877900,25.526900 L 10.586900,24.704600 L 10.586900,23.799300 L 9.7148000,23.881300 C 9.7876000,23.305100 9.8598000,22.729900 9.9331000,22.153800 L 9.4238000,22.153800 L 8.9155000,22.812000 L 8.4062000,23.058100 L 7.6791000,22.647900 L 7.6063000,21.742600 L 7.7518000,20.755300 L 8.8426000,19.933000 L 9.7147000,19.933000 L 9.8597000,19.438900 L 10.950000,19.685000 L 11.749800,20.673300 L 11.895300,19.026800 L 13.276600,17.875400 L 13.785400,16.641000 L 14.803000,16.229900 L 15.384500,15.407600 L 16.692600,15.159600 L 17.347400,14.173300 C 16.693100,14.173300 16.038800,14.173300 15.384500,14.173300 L 16.620300,13.597100 L 17.491900,13.597100 L 18.728200,13.185000 L 18.873700,12.692800 L 18.437200,12.280700 L 17.928400,12.115700 L 18.073900,11.622500 L 17.710600,10.882300 L 16.838000,11.210400 L 16.983500,10.552700 L 15.965900,9.9765000 L 15.166600,11.374400 L 15.238900,11.868500 L 14.439600,12.198600 L 13.930300,13.267900 L 13.712500,12.280600 L 12.331200,11.704400 L 12.112900,10.964200 L 13.930300,9.8939000 L 14.730100,9.1537000 L 14.802900,8.2489000 L 14.366900,8.0018000 L 13.785400,7.9193000 L 13.422100,8.8246000 C 13.422100,8.8246000 12.814200,8.9437000 12.657900,8.9823000 C 10.661800,10.821700 6.6286000,14.792400 5.6916000,22.288500 C 5.7287000,22.462300 6.3708000,23.470100 6.3708000,23.470100 L 7.8972000,24.374400 L 9.4236000,24.786500 L 10.078400,25.609700 L 11.095500,26.349900 L 11.677000,26.267900 L 12.113000,26.464200 L 12.113000,26.597000 L 11.531900,28.160000 L 11.095400,28.818200 L 11.240900,29.148300 L 10.877600,30.380700 L 12.186200,32.767400 L 13.494300,33.919700 L 14.076300,34.742000 L 14.003100,36.470500 L 14.439600,37.456800 L 14.003100,39.349400 C 14.003100,39.349400 13.968900,39.337700 14.024600,39.527100 C 14.080800,39.716600 16.353700,40.978300 16.498200,40.870900 C 16.642200,40.761500 16.765300,40.665800 16.765300,40.665800 L 16.620300,40.255600 L 17.201400,39.679400 L 17.419700,39.103200 L 18.365000,38.773100 L 19.091600,36.962600 L 18.873800,36.470400 L 19.381600,35.730200 L 20.472400,35.482200 L 21.054400,34.165800 L 20.908900,32.521300 L 21.781000,31.286900 L 21.926500,30.052500 C 20.733100,29.460700 19.549500,28.851300 18.365000,28.242000"
- id="path3264"
- style="color:#000000;fill:url(#radialGradient1508);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3266"
- style="color:#000000;fill:url(#radialGradient1510);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3270"
- style="color:#000000;fill:url(#radialGradient1514);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 16.765600,9.5649000 L 17.492200,10.058600 L 18.074200,10.058600 L 18.074200,9.4829000 L 17.347600,9.1538000 L 16.765600,9.5649000"
- id="path3272"
- style="color:#000000;fill:url(#radialGradient1516);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3274"
- style="color:#000000;fill:url(#radialGradient1518);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3278"
- style="color:#000000;fill:url(#radialGradient1522);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 14.876000,8.9072000 L 14.512200,9.8120000 L 15.239300,9.8120000 L 15.603100,8.9892000 C 15.916600,8.7675000 16.228600,8.5444000 16.547900,8.3310000 L 17.275000,8.5781000 C 17.759400,8.9072000 18.243800,9.2363000 18.728600,9.5649000 L 19.456100,8.9072000 L 18.655800,8.5781000 L 18.292000,7.8374000 L 16.911100,7.6728000 L 16.838300,7.2612000 L 16.184000,7.4262000 L 15.893600,8.0020000 L 15.529800,7.2613000 L 15.384800,7.5904000 L 15.457600,8.4132000 L 14.876000,8.9072000"
- id="path3280"
- style="color:#000000;fill:url(#radialGradient1524);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3282"
- style="color:#000000;fill:url(#radialGradient1526);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- style="opacity:0.75000000;color:#000000;fill:url(#radialGradient1528);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="g3284">
- <path
- d=""
- style="color:#000000;fill:url(#radialGradient1530);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="path3286" />
- </g>
- <g
- id="g3288"
- style="color:#000000;fill:url(#radialGradient1532);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d=""
- id="path3290"
- style="color:#000000;fill:url(#radialGradient1534);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3292"
- style="color:#000000;fill:url(#radialGradient1536);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- style="opacity:0.75000000;color:#000000;fill:url(#radialGradient1538);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="g3294">
- <path
- d=""
- style="color:#000000;fill:url(#radialGradient1540);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible"
- id="path3296" />
- </g>
- <g
- id="g3298"
- style="color:#000000;fill:url(#radialGradient1542);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d=""
- id="path3300"
- style="color:#000000;fill:url(#radialGradient1544);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3302"
- style="color:#000000;fill:url(#radialGradient1546);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3306"
- style="color:#000000;fill:url(#radialGradient1550);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 17.492200,6.8496000 L 17.856000,6.5210000 L 18.583100,6.3564000 C 19.081100,6.1142000 19.581100,5.9511000 20.109500,5.7802000 L 19.819500,5.2865000 L 18.881000,5.4213000 L 18.437600,5.8632000 L 17.706600,5.9692000 L 17.056700,6.2744000 L 16.740800,6.4272000 L 16.547900,6.6855000 L 17.492200,6.8496000"
- id="path3308"
- style="color:#000000;fill:url(#radialGradient1552);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- <g
- id="g3310"
- style="color:#000000;fill:url(#radialGradient1554);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <g
- id="g3314"
- style="color:#000000;fill:url(#radialGradient1558);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible">
- <path
- d="M 18.728500,14.666500 L 19.165000,14.008300 L 18.510200,13.515100 L 18.728500,14.666500"
- id="path3316"
- style="color:#000000;fill:url(#radialGradient4756);stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- </g>
- </g>
- </g>
- <path
- style="fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient4132);stroke-miterlimit:4.0000000;stroke-opacity:1.0000000"
- d="M 42.975093,23.485534 C 42.975093,33.651354 34.733915,41.892440 24.569493,41.892440 C 14.404139,41.892440 6.1634261,33.651261 6.1634261,23.485534 C 6.1634261,13.320180 14.404139,5.0799340 24.569493,5.0799340 C 34.733915,5.0799340 42.975093,13.320180 42.975093,23.485534 L 42.975093,23.485534 z "
- id="path4122" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton.icns b/share/pixmaps/tryton/tryton.icns
deleted file mode 100644
index b501666..0000000
Binary files a/share/pixmaps/tryton/tryton.icns and /dev/null differ
diff --git a/share/pixmaps/tryton/tryton.ico b/share/pixmaps/tryton/tryton.ico
deleted file mode 100644
index 96e06f8..0000000
Binary files a/share/pixmaps/tryton/tryton.ico and /dev/null differ
diff --git a/share/pixmaps/tryton/tryton.png b/share/pixmaps/tryton/tryton.png
deleted file mode 100644
index d8b712f..0000000
Binary files a/share/pixmaps/tryton/tryton.png and /dev/null differ
commit 945e989630ead9054ae9ab54d98e6ceee6e89550
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 19:51:36 2011 +0100
Merging upstream version 2.0.1.
diff --git a/CHANGELOG b/CHANGELOG
index 9504c7d..98630b0 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,7 @@
-Version 2.0.0 - 2010-04-26
+Version 2.0.1 - 2011-05-29
+* Bug fixes (see mercurial logs for details)
+
+Version 2.0.0 - 2011-04-26
* Bug fixes (see mercurial logs for details)
* Popup form dialog has 3 buttons (close, ok, new)
* New UI layout
diff --git a/PKG-INFO b/PKG-INFO
index 4ec9d89..011f2a8 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: tryton
-Version: 2.0.0
+Version: 2.0.1
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 4ec9d89..011f2a8 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.0
Name: tryton
-Version: 2.0.0
+Version: 2.0.1
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 84b9262..0ca095c 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -154,7 +154,7 @@ class Action(object):
direct_print=action.get('direct_print', False),
email_print=action.get('email_print', False),
email=action.get('email'), name=action.get('name', False),
- context=context)
+ context=context, icon=(action.get('icon.rec_name') or ''))
else:
Wizard.execute(action['wiz_name'], data, window,
direct_print=action.get('direct_print', False),
diff --git a/tryton/common/common.py b/tryton/common/common.py
index a8474f8..d4bdd5a 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -535,10 +535,18 @@ warning = WarningDialog()
class UserWarningDialog(WarningDialog):
+ def __init__(self):
+ super(UserWarningDialog, self).__init__()
+ self.always = False
+
+ def _set_always(self, toggle):
+ self.always = toggle.get_active()
+
def build_dialog(self, message, parent, title):
dialog = super(UserWarningDialog, self).build_dialog(message, parent,
title)
check = gtk.CheckButton(_('Always ignore this warning.'))
+ check.connect_after('toggled', self._set_always)
alignment = gtk.Alignment(1, 0.5)
alignment.add(check)
dialog.vbox.pack_end(alignment, True, False)
@@ -548,7 +556,7 @@ class UserWarningDialog(WarningDialog):
response = super(UserWarningDialog, self).__call__(message, parent,
title)
if response == gtk.RESPONSE_OK:
- if always:
+ if self.always:
return 'always'
return 'ok'
return 'cancel'
@@ -710,8 +718,9 @@ class ConcurrencyDialog(UniqueDialog):
return True
if res == gtk.RESPONSE_APPLY:
from tryton.gui.window import Window
- Window.create(False, resource, obj_id, [('id', '=', obj_id)],
- 'form', parent, context, ['form', 'tree'])
+ Window.create(False, resource, res_id=obj_id,
+ domain=[('id', '=', obj_id)], window=parent,
+ context=context, mode=['form', 'tree'])
return False
concurrency = ConcurrencyDialog()
diff --git a/tryton/common/environment.py b/tryton/common/environment.py
index 296cf9e..f644537 100644
--- a/tryton/common/environment.py
+++ b/tryton/common/environment.py
@@ -4,15 +4,20 @@
class EvalEnvironment(dict):
- def __init__(self, parent, check_load):
+ def __init__(self, parent, check_load, eval_type='eval'):
super(EvalEnvironment, self).__init__()
self.parent = parent
self.check_load = check_load
+ assert eval_type in ('eval', 'on_change')
+ self.eval_type = eval_type
def __getitem__(self, item):
if item == '_parent_' + self.parent.parent_name and self.parent.parent:
return EvalEnvironment(self.parent.parent, self.check_load)
- return self.parent.get_eval(check_load=self.check_load)[item]
+ if self.eval_type == 'eval':
+ return self.parent.get_eval(check_load=self.check_load)[item]
+ else:
+ return self.parent._get_on_change_args([item])[item]
def __getattr__(self, item):
return self.__getitem__(item)
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index da061d3..348cc96 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -142,8 +142,8 @@ class DBListEditor(object):
self.dialog.set_default_response(gtk.RESPONSE_ACCEPT)
def run(self, profile_name):
+ self.clear_entries() # must be done before show_all for windows
self.dialog.show_all()
- self.clear_entries()
model = self.profile_tree.get_model()
if model:
for i, row in enumerate(model):
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index e2b706b..efe1f47 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -228,6 +228,12 @@ class Group(SignalEvent, list):
self.append(record)
else:
self.insert(position, record)
+ for record_rm in self.record_removed:
+ if record_rm.id == record.id:
+ self.record_removed.remove(record)
+ for record_del in self.record_deleted:
+ if record_del.id == record.id:
+ self.record_deleted.remove(record)
self.current_idx = position
if modified:
record.modified_fields.setdefault('id')
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 46a9c7b..40917df 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -434,7 +434,7 @@ class Record(SignalEvent):
values[name] = field.get_on_change_value(self, check_load=False)
if self.parent and self.parent_name:
values['_parent_' + self.parent_name] = \
- common.EvalEnvironment(self.parent, False)
+ common.EvalEnvironment(self.parent, False, 'on_change')
for arg in args:
scope = values
for i in arg.split('.'):
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index f41a4c0..12bc70a 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -43,6 +43,12 @@ class ViewForm(ParserView):
viewport.add(scroll)
if isinstance(self.screen.window, gtk.Dialog):
width, height = self.widget.size_request()
+ if self.screen.window:
+ parent = self.screen.window.get_transient_for()
+ if parent:
+ parent_width, parent_height = parent.get_size()
+ width = min(parent_width - 40, width)
+ height = min(parent_height - 80, height)
vbox.set_size_request(width or -1, height or -1)
vbox.pack_start(viewport, expand=True, fill=True)
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py
index 309c1b2..4f9f967 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -36,7 +36,7 @@ class Many2One(WidgetInterface):
self.wid_text.connect('focus-out-event', lambda x, y: self._focus_out())
self.wid_text.connect_after('changed', self.sig_changed)
self.changed = True
- self.wid_text.connect_after('activate', self.sig_activate)
+ self.wid_text.connect('activate', self.sig_activate)
self.wid_text.connect_after('focus-out-event', self.sig_activate)
self.focus_out = True
self.widget.pack_start(self.wid_text, expand=True, fill=True)
@@ -93,6 +93,8 @@ class Many2One(WidgetInterface):
self.focus_out = False
if not value:
+ if not key_press and not event:
+ widget.emit_stop_by_name('activate')
if not self._readonly and (self.wid_text.get_text() or \
(self.field.get_state_attrs(
self.record)['required']) and key_press):
diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py
index 6d4d6a1..75c43fc 100644
--- a/tryton/gui/window/view_form/view/graph.py
+++ b/tryton/gui/window/view_form/view/graph.py
@@ -44,3 +44,6 @@ class ViewGraph(ParserView):
def set_cursor(self, new=False, reset_view=True):
pass
+
+ def get_fields(self):
+ return []
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index 3b70c3c..4494e7d 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -84,9 +84,18 @@ class AdaptModelGroup(gtk.GenericTreeModel):
group = record_pos.group
pos = group.index(record_pos) + offset
if group is not record.group:
+ prev_group = record.group
record.group.remove(record, remove=True, force_remove=True)
+ # Don't remove record from previous group
+ # as the new parent will change the parent
+ # This prevents concurrency conflict
+ record.group.record_removed.remove(record)
group.add(record)
- record.modified_fields.setdefault(record.parent_name or 'id')
+ if not record.parent_name:
+ record.modified_fields.setdefault(prev_group.parent_name)
+ record.value[prev_group.parent_name] = False
+ else:
+ record.modified_fields.setdefault(record.parent_name)
group.move(record, pos)
def move_before(self, record, path):
@@ -740,6 +749,8 @@ class ViewList(ParserView):
if model and iter_:
record = model.get_value(iter_, 0)
self.screen.current_record = record
+ else:
+ self.screen.current_record = None
elif tree_sel.get_mode() == gtk.SELECTION_MULTIPLE:
model, paths = tree_sel.get_selected_rows()
@@ -747,6 +758,8 @@ class ViewList(ParserView):
iter_ = model.get_iter(paths[0])
record = model.get_value(iter_, 0)
self.screen.current_record = record
+ else:
+ self.screen.current_record = None
if hasattr(self.widget_tree, 'editable') \
and self.widget_tree.editable \
diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py
index f6a24ab..f95863b 100644
--- a/tryton/gui/window/window.py
+++ b/tryton/gui/window/window.py
@@ -29,10 +29,12 @@ class Window(object):
@staticmethod
def create_wizard(action, datas, parent, state='init', direct_print=False,
- email_print=False, email=None, name=False, context=None):
+ email_print=False, email=None, name=False, context=None,
+ icon=None):
from tryton.gui import Main
from wizard import Wizard
win = Wizard(parent, name=name)
+ win.icon = icon
Main.get_main().win_add(win)
win.run(action, datas, state=state, direct_print=direct_print,
email_print=email_print, email=email, context=context)
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index 84e0f8d..f65949f 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -16,6 +16,8 @@ class Wizard(SignalEvent):
super(Wizard, self).__init__()
self.window = window
self.widget = gtk.VBox(spacing=3)
+ self.toolbar_box = gtk.HBox()
+ self.widget.pack_start(self.toolbar_box, False, True)
self.widget.show()
self.name = name or ''
self.model = ''
@@ -117,6 +119,9 @@ class Wizard(SignalEvent):
self.end()
def destroy(self):
+ if self.toolbar_box.get_children():
+ toolbar = self.toolbar_box.get_children()[0]
+ self.toolbar_box.remove(toolbar)
if hasattr(self, 'screen'):
self.screen.signal_unconnect(self)
self.screen.destroy()
@@ -125,7 +130,8 @@ class Wizard(SignalEvent):
def end(self):
try:
- rpc.execute('wizard', self.action, 'delete', self.wiz_id)
+ rpc.execute('wizard', self.action, 'delete', self.wiz_id,
+ rpc.CONTEXT)
#XXX to remove when company displayed in status bar
rpc.context_reload()
except Exception:
@@ -217,6 +223,8 @@ class Wizard(SignalEvent):
self.widget.pack_start(eb, expand=False, fill=True, padding=3)
+ self.widget.pack_start(self.toolbar_box, False, True)
+
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_NONE)
viewport.add(self.screen.widget)
diff --git a/tryton/version.py b/tryton/version.py
index e944275..d11e6d8 100644
--- a/tryton/version.py
+++ b/tryton/version.py
@@ -1,7 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
PACKAGE = "tryton"
-VERSION = "2.0.0"
+VERSION = "2.0.1"
LICENSE = "GPL-3"
WEBSITE = "http://www.tryton.org/"
diff --git a/tryton/wizard/main.py b/tryton/wizard/main.py
index ec94792..6cb22a3 100644
--- a/tryton/wizard/main.py
+++ b/tryton/wizard/main.py
@@ -103,10 +103,10 @@ class Dialog(object):
width, height = self.screen.screen_container.size_get()
parent_width, parent_height = parent.get_size()
dia_width, dia_height = self.dia.get_size()
- self.widget_width = max(min(parent_width - 20,
- max(dia_width, width + 20)), size[0])
- self.widget_height = max(min(parent_height - 60,
- height + dia_height + 20), size[1])
+ self.widget_width = min(parent_width - 20,
+ max(dia_width, width + 20, size[0]))
+ self.widget_height = min(parent_height - 60,
+ max(height + dia_height + 20, size[1]))
self.dia.set_default_size(self.widget_width,
self.widget_height)
self.screen.widget.show()
commit 56d9707a95d23cf3d44bfeec4b06ce1bfd39feec
Author: Mathias Behrle <mathiasb at m9s.biz>
Date: Tue Dec 13 19:49:19 2011 +0100
Merging upstream version 2.0.0.
diff --git a/CHANGELOG b/CHANGELOG
index b2897eb..9504c7d 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,11 +1,26 @@
-Version 1.8.3 - 2011-10-01
-* Bug fixes (see mercurial logs for details)
-
-Version 1.8.2 - 2011-05-29
-* Bug fixes (see mercurial logs for details)
-
-Version 1.8.1 - 2011-02-13
+Version 2.0.0 - 2010-04-26
* Bug fixes (see mercurial logs for details)
+* Popup form dialog has 3 buttons (close, ok, new)
+* New UI layout
+* Add DnD on tree view
+* Merge tree and list views
+* Remove generic default value on right-click
+* Made numpad locale aware
+* Selection widget used for many2one dynamically change their content following
+ the domain specification
+* Add open button on binary and image widgets
+* Hide buttons on image widget if readonly
+* Added a connection manager à la gajim
+* Fix warning in wizards
+* Added possibility to use server-side icons
+* Added additional gtk.Entry for filename on BinaryField
+* Display deleted lines in One2Many and Many2Many
+* Handle URL
+* Add communication between boards
+* Added domain inversion feature
+* Handle loading attribute on fields
+* Use default format for value in wizard form
+* Add One2One field
Version 1.8.0 - 2010-11-01
* Bug fixes (see mercurial logs for details)
diff --git a/COPYRIGHT b/COPYRIGHT
index a5466e7..9636f7a 100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@ -1,3 +1,4 @@
+Copyright (C) 2010-2011 Nicolas Ãvrard.
Copyright (C) 2007-2011 Cédric Krier.
Copyright (C) 2007-2011 Bertrand Chenal.
Copyright (C) 2008-2011 B2CK SPRL.
diff --git a/MANIFEST.in b/MANIFEST.in
index 90f68a7..c261e49 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -9,6 +9,7 @@ include setup-single.nsi
include setup-bundle.sh
include tryton.desktop
include *.nsh
+include Microsoft.VC90.CRT.manifest
include doc/*
recursive-include doc *.rst
recursive-include doc *.po
diff --git a/Microsoft.VC90.CRT.manifest b/Microsoft.VC90.CRT.manifest
new file mode 100644
index 0000000..4b85b06
--- /dev/null
+++ b/Microsoft.VC90.CRT.manifest
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
+ <assemblyIdentity
+ version="5.0.0.0"
+ processorArchitecture="x86"
+ name="Tryton"
+ type="win32"
+ />
+ <description>Tryton client</description>
+ <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
+ <security>
+ <requestedPrivileges>
+ <requestedExecutionLevel
+ level="asInvoker"
+ uiAccess="false">
+ </requestedExecutionLevel>
+ </requestedPrivileges>
+ </security>
+ </trustInfo>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.VC90.CRT"
+ version="9.0.21022.8"
+ processorArchitecture="x86"
+ publicKeyToken="1fc8b3b9a1e18e3b">
+ </assemblyIdentity>
+ </dependentAssembly>
+ </dependency>
+ <dependency>
+ <dependentAssembly>
+ <assemblyIdentity
+ type="win32"
+ name="Microsoft.Windows.Common-Controls"
+ version="6.0.0.0"
+ processorArchitecture="X86"
+ publicKeyToken="6595b64144ccf1df"
+ language="*"
+ />
+ </dependentAssembly>
+ </dependency>
+</assembly>
diff --git a/PKG-INFO b/PKG-INFO
index 9742ffd..4ec9d89 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,23 +1,84 @@
Metadata-Version: 1.0
Name: tryton
-Version: 1.8.3
+Version: 2.0.0
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
Author-email: info at b2ck.com
License: GPL-3
-Download-URL: http://downloads.tryton.org/1.8/
-Description: UNKNOWN
+Download-URL: http://downloads.tryton.org/2.0/
+Description: tryton
+ ======
+
+ The client of the Tryton application platform.
+ A three-tiers high-level general purpose application platform
+ written in Python and use Postgresql as database engine.
+ It is the core base of an Open Source ERP.
+ It provides modularity, scalability and security.
+
+ Installing
+ ----------
+
+ See INSTALL
+
+ Package Contents
+ ----------------
+
+ bin/
+ Script for startup.
+
+ doc/
+ sphinx documentation in reStructuredText.
+ To generate the HTML:
+
+ python doc/build.py
+
+ share/
+ The shared files like translations and images.
+
+ tryton/
+ tryton sources.
+
+ Support
+ -------
+
+ If you encounter any problems with Tryton, please don't hesitate to ask
+ questions on the Tryton bug tracker, mailing list, wiki or IRC channel:
+
+ http://bugs.tryton.org/
+ http://groups.tryton.org/
+ http://wiki.tryton.org/
+ irc://irc.freenode.net/tryton
+
+ License
+ -------
+
+ See LICENSE
+
+ Copyright
+ ---------
+
+ See COPYRIGHT
+
+
+ For more information please visit the Tryton web site:
+
+ http://www.tryton.org/
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: GTK
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
-Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Dutch
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Natural Language :: German
Classifier: Natural Language :: Russian
Classifier: Natural Language :: Spanish
-Classifier: Programming Language :: Python
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Office/Business
diff --git a/bin/tryton b/bin/tryton
index 85eedaf..9451640 100755
--- a/bin/tryton
+++ b/bin/tryton
@@ -12,6 +12,12 @@ except Exception:
if os.name == 'nt' and hasattr(sys, "frozen"):
sys.stdout = open(os.devnull, 'w')
sys.stderr = open(os.devnull, 'w')
+ etc = os.path.join(os.path.dirname(sys.executable), 'etc')
+ os.environ['GTK2_RC_FILES'] = os.path.join(etc, 'gtk-2.0', 'gtkrc')
+ os.environ['GDK_PIXBUF_MODULE_FILE'] = os.path.join(etc, 'gtk-2.0',
+ 'gdk-pixbuf.loaders')
+ os.environ['GTK_IM_MODULE_FILE'] = os.path.join(etc, 'gtk-2.0',
+ 'gtk.immodules')
if os.name == 'mac' or \
(hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
diff --git a/doc/conf.py b/doc/conf.py
index f78ec40..21ec785 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -40,7 +40,7 @@ master_doc = 'index'
# General information about the project.
project = 'tryton'
-copyright = u'2008-2010, Anne Krings, Bertrand Chenal, Cédric Krier, \
+copyright = u'2008-2011, Anne Krings, Bertrand Chenal, Cédric Krier, \
Mathias Behrle, Tobias Paepke, Udo Spallek'
# The version info for the project you're documenting, acts as replacement for
@@ -48,9 +48,9 @@ copyright = u'2008-2010, Anne Krings, Bertrand Chenal, Cédric Krier, \
# built documents.
#
# The short X.Y version.
-version = '1.8'
+version = '2.0'
# The full version, including alpha/beta/rc tags.
-release = '1.8'
+release = '2.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
diff --git a/doc/usage.rst b/doc/usage.rst
index 8129b93..e25c159 100644
--- a/doc/usage.rst
+++ b/doc/usage.rst
@@ -17,7 +17,7 @@ Synopsis
::
- tryton [options]
+ tryton [options] [url]
After startup, there raises the `login dialog`__ and optionally a
`tips dialog`__.
@@ -48,6 +48,30 @@ Options
-s SERVER, --server=SERVER Specify the server hostname
+URL
+***
+
+When an url is passed, the client will try to find already running client that
+could handle it and send to this one to open the url. If it doesn't find one
+then it will start the GUI and open the url itself.
+
+The url schemes are:
+
+ `tryton://<hostname>[:<port>]/<database>/model/<model name>[/<id>][;parameters]`
+
+ `tryton://<hostname>[:<port>]/<database>/wizard/<wizard name>[;parameters]`
+
+ `tryton://<hostname>[:<port>]/<database>/report/<report name>[;parameters]`
+
+
+where `parameters` are the corresponding fields of actions encoded in
+`JSON`_.
+
+.. _JSON: http://en.wikipedia.org/wiki/Json
+.. Note:: `model` is for `act_window`
+.. Note:: `report` must have at least a data parameter with `ids`, `id` and
+ `model name`
+
Overview
********
@@ -56,35 +80,35 @@ all important visual parts.
Figure: Tryton client application::
- Client Window _______________________________________________________
- | Tryton _ o x|
- |-------------------------------------------------------|
- Menu bar | File User Form Options Plugins Shortcuts Help |
- |_______________________________________________________|
- | |
- Tool bar | New Save | Delete | Find Previous Next Switch v |
- |-------------------------------------------------------|
- | ______ |
- Tab bar | [Menu] |[Tab1]| [Tab2] ... |
- |---------| | -------------------------------------|
- | .------- ------------------------------------. |
- | | | |
- | | | |
- | | | |
- | | | |
- | | | |
- View | | | |
- | | | |
- | | | |
- | | | |
- | | | |
- | | | |
- | | | |
- | | | |
- | |___________________________________________________| |
- |_______________________________________________________|
- Status bar |username company Waiting requests... login at ...|
- |_______________________________________________________|
+ Client Window ________________________________________________________________
+ | Tryton _ o x|
+ |----------------------------------------------------------------|
+ Menu bar | File User Options Plugins Shortcuts Help |
+ |________________________________________________________________|
+ | | ______ |
+ Tabs | Menu | [Tab1] |[Tab2]| [Tab3]... |
+ |-------------| +-------+ +--------------------------------+|
+ | + | | Tab2 ||
+ | |-+ | |-----------------------------------------------||
+ Tool bar | | |- | | New Save|Delete|Find Previous Next Switch v ||
+ | | |- | |-----------------------------------------------||
+ | + | | ||
+ | |-+ | | ||
+ | | |- | | ||
+ | | |- | | ||
+ | + | | ||
+ View | |-+ | | ||
+ | |- | | ||
+ | |- | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ |_____________| |_______________________________________________||
+ |________________________________________________________________|
+ Status bar |username company Waiting requests... login at ...|
+ |________________________________________________________________|
Menu Bar
@@ -122,34 +146,7 @@ next one.
The second mouse button (usually right mouse button) provides an additional
contextual menu for some views and fields. In this context menu the user finds
-:term:`actions` to copy and paste contents or setting up default values or
-selections for several fields.
-
-
-Tool Bar
-^^^^^^^^
-The tool bar contains some often used menu functions mapped to icons.
-In addition to the menu bar the tool bar contains a button called
-*Attachment*.
-
-Attachment
-++++++++++
-The attachment item handles the document management system of
-Tryton which is able to attach files to any arbitrary :term:`model`. On click
-it opens the attachments :term:`dialog`. The default dialog shows a list view
-of the attached files and links.
-
-A single Attachment has the following Options:
-
-* Attachment Name: The name of the attachment.
-* Datas: The attached File. The file size is displayed as text.
-* Link: Link to an external site as URL.
-* Preview tab: Shows a preview picture of the selected attachment.
-* Description tab: Shows and and provides editing of a free text description
- for the selected attachment.
-* Actions:
-
- - OK: Closes the Dialog and saves the attachment(s).
+:term:`actions` to copy and paste contents or selections for several fields.
Tabbed Main Frame
@@ -172,74 +169,22 @@ __ TDI_
.. Note:: Inside :term:`views` there can be tabs, too.
-Main Menu
-+++++++++
-The first left tab contains the *main menu* (... not to mix up with
-the menu bar!). The *main menu* does not contain fixed menu items.
+
+Menu
+++++
+The *menu* does not contain fixed menu items.
All of them are dynamically provided by the actual set of the installed
:term:`modules` depending on the access rules of the current user. If a menu
-item is clicked, the appropriate action will open in a new tab. As the figure
-below illustrates, the *main menu* is split up in three frames.
-
-The upper left frame contains the first or top level entries of the *main
-menu*. Standard top level entries are 'Administration' and 'Tryton'.
-
-.. note:: The *administration* menu will be explained in the modules
- documentation for the 'IR' module, the *information repository*.
-
-The top level entry 'Tryton' connects to the website of the Tryton project.
-
-The right frame is showing a :term:`tree view` substructure of menu *items*
-and *headings*. With the arrow keys it is possible to navigate inside the menu.
-By pressing *Enter* or double-clicking onto the menu item the appropriate
-:term:`views` open. Use left and right arrow to expand or contract sub
-items of a heading.
-
-Figure: Main Menu Tab::
-
- ________________________________________________________
- | Tryton _ o x|
- |--------------------------------------------------------|
- | File User Form Options Plugins Shortcuts Help |
- |________________________________________________________|
- | |
- | New Save | Delete | Find Previous Next Switch v |
- |________________________________________________________|
- | ______ |
- | |[Menu]| [Tab1] [Tab2] ... |
- |--| | ---------------------------------------------|
- | | -------------.------------------------------. |
- | | Top Level Entry 1 | Menu | | |
- | | Top Level Entry 2 |---------------------+--------| |
- | | ... | Item 1 | | |
- | | Administration | Item 2 | | |
- | | Tryton | > Heading | | |
- | |____________________| Sub Item 1 | | |
- | | Shortcuts [+][-]| Sub Item 2 | | |
- | |--------------------| > Sub Heading | | |
- | | Sub Item 2 | Sub Sub ... | | |
- | | | | | |
- | | | | | |
- | |____________________|_____________________|________| |
- |________________________________________________________|
- |username company Waiting requests... login at ... |
- |________________________________________________________|
-
-
-The lower left menu frame shows a user adjustable *shortcuts* menu. This menu
-is for collecting often used menu items. Using a *shortcut* item will open
-the appropriate view in a new tab, just with a double mouse click.
-A menu item is added to the *shortcut* menu by pushing the plus button [+]
-in the *shortcut* menu. The minus button [-] removes a selected *shortcut*
-item from the list.
-
-Home Action
-+++++++++++
-Another tab opens during the startup of the Tryton client: the home action.
-It is usually an item of the `Main Menu`_ opening when the user calls his
+item is clicked, the appropriate action will open in a new tab.
+
+
+Home
+++++
+A tab opens during the startup of the Tryton client: the home. It is
+usually an item of the `Menu`_ opening when the user calls his
`Home`__ action defined in the `preferences`__.
-__ Menu-Form-Home_
+__ Menu-User-Home_
__ Menu-User-Preferences_
@@ -466,21 +411,34 @@ Preferences...
* Email: Email address of the Tryton user.
* Signature: Signature block for the Tryton user.
* Menu Action: Defines the action which is called as the
- `main menu`_.
- * Home Action: Defines the action which is called as `home action`__.
+ `Menu`_.
+ * Home Action: Defines the action which is called as `Home`__.
* Language: Language of the client interface.
* Timezone: The local timezone where the user/client resides.
* Groups: Displays the users membership to access groups.
-__ Menu-Form-Home_
+.. _Menu-User-Menu-Reload:
+
+Menu Reload:
+ Reload the menu.
-.. _Menu-user-send-a-request:
+.. _Menu-User-Menu-Toggle:
+
+Menu Toggle:
+ Toggle the menu visibility
+
+.. _Menu-User-Home:
+
+Home:
+ Opens a new `Home`__ tab.
+
+.. _Menu-User-send-a-request:
Send a Request
Opens a tab in :term:`form view` which enables the user to send
requests to other users of the same database.
-.. _Menu-user-read-my-request:
+.. _Menu-User-read-my-request:
Read my Requests
Opens a tab in :term:`tree view` showing all requests related to the
@@ -533,206 +491,6 @@ Read my Requests
Tryton, which is very similar to email.
-Form
-^^^^
-The form menu contains functions for the *actual form* in the tab which
-is open. Some operations are working with one record or with a selection of
-:term:`records`. In :term:`form view` the actual record is selected for
-operations. In :term:`tree view` all selected records are used for operations.
-
-.. _Menu-Form-New:
-
-New:
- Creates a new record.
-
-.. _Menu-Form-Save:
-
-Save:
- Saves the actual record.
-
-.. _Menu-Form-Duplicate:
-
-Duplicate:
- Duplicates the content of the actual record in a newly created record.
-
-.. _Menu-Form-Delete:
-
-Delete:
- Deletes the selected or actual record.
-
-.. _Menu-Form-Find:
-
-.. _search_widget:
-
-Find...:
- Opens a :term:`dialog` for finding :term:`fields` with search criteria and
- operators.
-
- * Search criteria: Defines the aspects to seek for.
- * General search operators:
-
- - Equals: Search for results which are exactly the same as the following
- term.
- - Does Not Equal: Search for results which are different from the following
- term.
-
- * Additional search operators on numbers, amounts and strings:
-
- - Contains: Search for results which contain the following term.
- - Does Not Contain: Search for results which do not include the
- following term.
- - Starts With: Search for results beginning with the following term.
- - Ends With: Search for results ending with the following term.
-
- * Additional search operators for numbers and amounts:
-
- - Is Between: Search for results inside a range (from - to).
- - Is Not Between: Search for results outside a range (from - to).
- - Is Different: Same as 'Does Not Equal', see above.
-
- * Advanced Search expander opens additional search criteria.
-
- - Limit: Limits the count of results.
- - Offset: Skips a number of results and show only the following.
-
- * Actions:
-
- - Find: Search for results of the given criteria.
- - New: Create a new record (used when search was fruitless, to create
- quickly a new record).
- - Ok: Open the selected results.
- - Cancel
-
-.. note:: To search for deactivated records the *Active* search criteria must be
- set to *No*.
-
-.. _Menu-Form-Next:
-
-Next:
- Goes to the next record in a list (sequence).
-
-.. _Menu-Form-Previous:
-
-Previous:
- Goes to the last record in a list (sequence).
-
-.. _Menu-Form-Switch_View:
-
-Switch View:
- Switches the actual view aspect to:
-
- * :term:`Form view`
- * :term:`Tree view`
- * :term:`Graph view`
-
- Not all views provide all aspects.
-
-.. _Menu-Form-Menu:
-
-Menu:
- Activates or reopens the menu tab.
-
-.. _Menu-Form-Home:
-
-Home:
- Opens a new `home`__ tab.
-
-__ Menu-User-Preferences_
-
-.. _Menu-Form-Close:
-
-Close Tab:
- Closes the current tab. A Request :term:`Dialog` opens in case of unsaved
- changes.
-
-.. _Menu-Form-Previous_Tab:
-
-Previous Tab:
- Shows the previous (left) tab of the actual tab.
-
-.. _Menu-Form-Next_Tab:
-
-Next Tab:
- Shows the next (right) tab of the actual tab.
-
-.. _Menu-Form-View_Logs:
-
-View Logs...:
- Shows generic information of the current record.
-
-.. _Menu-Form-Go_to_Record_ID:
-
-Go to Record ID...:
- Opens specific record id in the current view.
-
-.. _Menu-Form-Reload_Undo:
-
-Reload/Undo:
- Reloads the content of the actual tab. Undoes changes, if save request for
- the current record is denied.
-
-.. _Menu-Form-Actions:
-
-Actions...:
- Shows all actions for the actual view, model and record.
-
-.. _Menu-Form-Print:
-
-Print...:
- Shows all print actions for the actual view, model and record.
-
-.. _Menu-Form-Export_Data:
-
-Export Data...:
- Export of current/selected records into :term:`CSV`-file or open it in Excel.
-
- * Predefined exports
-
- - Choose preferences of already saved exports.
-
- * All Fields: Fields available from the model.
- * Fields to export: Defines the specific fields to export.
- * Options:
-
- - Save: Save export as a CSV file.
- - Open: Open export in spread sheet application.
-
- * Add field names: Add a header row with field names to the export data.
- * Actions:
-
- - Add: Adds selected fields to *Fields to export*.
- - Remove: Removes selected fields from *Fields to export*.
- - Clear: Removes all fields from *Fields to export*.
- - Save Export: Saves field mapping to a *Predefined export* with a name.
- - Delete Export: Deletes a selected *Predefined export*.
- - Ok: Exports the data (action depending on *Options*).
- - Cancel
-
-.. _Menu-Form-Import_Data:
-
-Import Data...:
- Import records from :term:`CSV`-file.
-
- * All Fields: Fields available in the model (required fields are marked up).
- * Fields to Import: Exact sequence of all columns in the CSV file.
- * File to Import: File :term:`dialog` for choosing a CSV file to import.
- * CSV Parameters: Setup specific parameters for chosen CSV file.
-
- - Field Separator: Character which separates CSV fields.
- - Text Delimiter: Character which encloses text in CSV.
- - Encoding: :term:`Character encoding` of CSV file.
- - Lines to Skip: Count of lines to skip a headline or another offset.
-
- * Actions:
-
- - Add: Adds fields to *Fields to Import*.
- - Remove: Deletes fields from *Fields to Import*.
- - Clear: Removes all fields from *Fields to Import*.
- - Auto-Detect: Tries to auto detect fields in the CSV *File to Import*.
- - Ok: Proceeds the data import.
- - Cancel
-
-
Options
^^^^^^^
The Options menu sets up several visual and context depending preferences.
@@ -915,6 +673,202 @@ Keyboard Shortcuts...:
About...:
License, Contributors, Authors of Tryton
+Tool Bar
+********
+The tool bar contains the functionalities linked to the current tab.
+The tool bar contains functions for the current tab.
+Some operations are working with one record or with a selection of
+:term:`records`. In :term:`form view` the actual record is selected for
+operations. In :term:`tree view` all selected records are used for operations.
+
+.. _Toolbar-New:
+
+New:
+ Creates a new record.
+
+.. _Toolbar-Save:
+
+Save:
+ Saves the actual record.
+
+.. _Toolbar-Duplicate:
+
+Duplicate:
+ Duplicates the content of the actual record in a newly created record.
+
+.. _Toolbar-Delete:
+
+Delete:
+ Deletes the selected or actual record.
+
+.. _Toolbar-Find:
+
+.. _search_widget:
+
+Find...:
+ Opens a :term:`dialog` for finding :term:`fields` with search criteria and
+ operators.
+
+ * Search criteria: Defines the aspects to seek for.
+ * General search operators:
+
+ - Equals: Search for results which are exactly the same as the following
+ term.
+ - Does Not Equal: Search for results which are different from the following
+ term.
+
+ * Additional search operators on numbers, amounts and strings:
+
+ - Contains: Search for results which contain the following term.
+ - Does Not Contain: Search for results which do not include the
+ following term.
+ - Starts With: Search for results beginning with the following term.
+ - Ends With: Search for results ending with the following term.
+
+ * Additional search operators for numbers and amounts:
+
+ - Is Between: Search for results inside a range (from - to).
+ - Is Not Between: Search for results outside a range (from - to).
+ - Is Different: Same as 'Does Not Equal', see above.
+
+ * Advanced Search expander opens additional search criteria.
+
+ - Limit: Limits the count of results.
+ - Offset: Skips a number of results and show only the following.
+
+ * Actions:
+
+ - Find: Search for results of the given criteria.
+ - New: Create a new record (used when search was fruitless, to create
+ quickly a new record).
+ - Ok: Open the selected results.
+ - Cancel
+
+.. note:: To search for deactivated records the *Active* search criteria must be
+ set to *No*.
+
+.. _Toolbar-Next:
+
+Next:
+ Goes to the next record in a list (sequence).
+
+.. _Toolbar-Previous:
+
+Previous:
+ Goes to the last record in a list (sequence).
+
+.. _Toolbar-Switch_View:
+
+Switch View:
+ Switches the actual view aspect to:
+
+ * :term:`Form view`
+ * :term:`Tree view`
+ * :term:`Graph view`
+
+ Not all views provide all aspects.
+
+.. _Toolbar-Close:
+
+Close Tab:
+ Closes the current tab. A Request :term:`Dialog` opens in case of unsaved
+ changes.
+
+.. _Toolbar-Previous_Tab:
+
+Previous Tab:
+ Shows the previous (left) tab of the actual tab.
+
+.. _Toolbar-Next_Tab:
+
+Next Tab:
+ Shows the next (right) tab of the actual tab.
+
+.. _Toolbar-View_Logs:
+
+View Logs...:
+ Shows generic information of the current record.
+
+.. _Toolbar-Go_to_Record_ID:
+
+Go to Record ID...:
+ Opens specific record id in the current view.
+
+.. _Toolbar-Reload_Undo:
+
+Reload/Undo:
+ Reloads the content of the actual tab. Undoes changes, if save request for
+ the current record is denied.
+
+.. _Toolbar-Actions:
+
+Actions...:
+ Shows all actions for the actual view, model and record.
+
+.. _Toolbar-Print:
+
+Print...:
+ Shows all print actions for the actual view, model and record.
+
+.. _Toolbar-Export_Data:
+
+Export Data...:
+ Export of current/selected records into :term:`CSV`-file or open it in Excel.
+
+ * Predefined exports
+
+ - Choose preferences of already saved exports.
+
+ * All Fields: Fields available from the model.
+ * Fields to export: Defines the specific fields to export.
+ * Options:
+
+ - Save: Save export as a CSV file.
+ - Open: Open export in spread sheet application.
+
+ * Add field names: Add a header row with field names to the export data.
+ * Actions:
+
+ - Add: Adds selected fields to *Fields to export*.
+ - Remove: Removes selected fields from *Fields to export*.
+ - Clear: Removes all fields from *Fields to export*.
+ - Save Export: Saves field mapping to a *Predefined export* with a name.
+ - Delete Export: Deletes a selected *Predefined export*.
+ - Ok: Exports the data (action depending on *Options*).
+ - Cancel
+
+.. _Toolbar-Import_Data:
+
+Import Data...:
+ Import records from :term:`CSV`-file.
+
+ * All Fields: Fields available in the model (required fields are marked up).
+ * Fields to Import: Exact sequence of all columns in the CSV file.
+ * File to Import: File :term:`dialog` for choosing a CSV file to import.
+ * CSV Parameters: Setup specific parameters for chosen CSV file.
+
+ - Field Separator: Character which separates CSV fields.
+ - Text Delimiter: Character which encloses text in CSV.
+ - Encoding: :term:`Character encoding` of CSV file.
+ - Lines to Skip: Count of lines to skip a headline or another offset.
+
+ * Actions:
+
+ - Add: Adds fields to *Fields to Import*.
+ - Remove: Deletes fields from *Fields to Import*.
+ - Clear: Removes all fields from *Fields to Import*.
+ - Auto-Detect: Tries to auto detect fields in the CSV *File to Import*.
+ - Ok: Proceeds the data import.
+ - Cancel
+
+.. _Toolbar-Attachment:
+
+Attachment:
+ The attachment item handles the document management system of
+ Tryton which is able to attach files to any arbitrary :term:`model`.
+ On click it opens the attachments :term:`dialog`. The default dialog
+ shows a list view of the attached files and links.
+
Appendix
********
diff --git a/setup.nsi b/setup.nsi
index 3920e70..17e05c5 100644
--- a/setup.nsi
+++ b/setup.nsi
@@ -98,6 +98,12 @@ SectionIn 1 2 RO
SetOutPath "$INSTDIR\doc"
File /r "doc\*"
+ ;Register URL protocol
+ WriteRegStr HKCR "tryton" "" "URL:Tryton Protocol"
+ WriteRegStr HKCR "tryton" "URL Protocol" ""
+ WriteRegStr HKCR "tryton\DefaultIcon" "" "$INSTDIR\tryton.exe,1"
+ WriteRegStr HKCR "tryton\shell\open\command" "" '$INSTDIR\tryton.exe "%1"'
+
;Write the installation path into the registry
WriteRegStr HKCU "Software\tryton-${VERSION}" "" $INSTDIR
WriteRegStr HKLM "Software\tryton-${VERSION}" "" $INSTDIR
diff --git a/setup.py b/setup.py
index ac918f5..f01c3ae 100644
--- a/setup.py
+++ b/setup.py
@@ -7,6 +7,9 @@ import os
import glob
import sys
+def read(fname):
+ return open(os.path.join(os.path.dirname(__file__), fname)).read()
+
args = {}
try:
@@ -28,14 +31,29 @@ try:
except ImportError:
pass
+data_files=[
+ ('share/pixmaps/tryton', glob.glob('share/pixmaps/tryton/*.png') + \
+ glob.glob('share/pixmaps/tryton/*.svg')),
+ ('share/locale/bg_BG/LC_MESSAGES',
+ glob.glob('share/locale/bg_BG/LC_MESSAGES/*.mo')),
+ ('share/locale/cs_CZ/LC_MESSAGES',
+ glob.glob('share/locale/cs_CZ/LC_MESSAGES/*.mo')),
+ ('share/locale/de_DE/LC_MESSAGES',
+ glob.glob('share/locale/de_DE/LC_MESSAGES/*.mo')),
+ ('share/locale/es_CO/LC_MESSAGES',
+ glob.glob('share/locale/es_CO/LC_MESSAGES/*.mo')),
+ ('share/locale/es_ES/LC_MESSAGES',
+ glob.glob('share/locale/es_ES/LC_MESSAGES/*.mo')),
+ ('share/locale/fr_FR/LC_MESSAGES',
+ glob.glob('share/locale/fr_FR/LC_MESSAGES/*.mo')),
+ ('share/locale/ru_RU/LC_MESSAGES',
+ glob.glob('share/locale/ru_RU/LC_MESSAGES/*.mo')),
+ ('share/locale/ja_JP/LC_MESSAGES',
+ glob.glob('share/locale/ja_JP/LC_MESSAGES/*.mo')),
+]
+
if os.name == 'nt':
import py2exe
- origIsSystemDLL = py2exe.build_exe.isSystemDLL
- def isSystemDLL(pathname):
- if os.path.basename(pathname).lower() in ("msvcp71.dll", "dwmapi.dll"):
- return 0
- return origIsSystemDLL(pathname)
- py2exe.build_exe.isSystemDLL = isSystemDLL
args['windows'] = [{
'script': os.path.join('bin', 'tryton'),
@@ -52,10 +70,20 @@ if os.name == 'nt':
'atk',
'pango',
'pangocairo',
+ 'gio',
],
}
}
args['zipfile'] = 'library.zip'
+
+ if sys.version_info < (2, 6):
+ data_files.append(('', ['msvcp71.dll']))
+ else:
+ data_files.append(('', ['msvcr90.dll', 'msvcp90.dll', 'msvcm90.dll']))
+ manifest = read('Microsoft.VC90.CRT.manifest')
+ args['windows'][0]['other_resources'] = [(24, 1, manifest)]
+
+
elif os.name == 'mac' \
or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
import py2app
@@ -91,36 +119,31 @@ if sys.version_info < (2, 6):
dist = setup(name=PACKAGE,
version=VERSION,
description='Tryton client',
+ long_description=read('README'),
author='B2CK',
author_email='info at b2ck.com',
url=WEBSITE,
download_url="http://downloads.tryton.org/" + \
VERSION.rsplit('.', 1)[0] + '/',
packages=find_packages(),
- data_files=[
- ('share/pixmaps/tryton', glob.glob('share/pixmaps/tryton/*.png') + \
- glob.glob('share/pixmaps/tryton/*.svg')),
- ('share/locale/cs_CZ/LC_MESSAGES', glob.glob('share/locale/cs_CZ/LC_MESSAGES/*.mo')),
- ('share/locale/de_DE/LC_MESSAGES', glob.glob('share/locale/de_DE/LC_MESSAGES/*.mo')),
- ('share/locale/es_CO/LC_MESSAGES', glob.glob('share/locale/es_CO/LC_MESSAGES/*.mo')),
- ('share/locale/es_ES/LC_MESSAGES', glob.glob('share/locale/es_ES/LC_MESSAGES/*.mo')),
- ('share/locale/fr_FR/LC_MESSAGES', glob.glob('share/locale/fr_FR/LC_MESSAGES/*.mo')),
- ('share/locale/ru_RU/LC_MESSAGES', glob.glob('share/locale/ru_RU/LC_MESSAGES/*.mo')),
- ('share/locale/ja_JP/LC_MESSAGES', glob.glob('share/locale/ja_JP/LC_MESSAGES/*.mo')),
- ],
+ data_files=data_files,
scripts=['bin/tryton'],
classifiers=[
'Development Status :: 5 - Production/Stable',
'Environment :: X11 Applications :: GTK',
'Intended Audience :: End Users/Desktop',
'License :: OSI Approved :: GNU General Public License (GPL)',
- 'Operating System :: OS Independent',
+ 'Natural Language :: Bulgarian',
+ 'Natural Language :: Dutch',
'Natural Language :: English',
'Natural Language :: French',
'Natural Language :: German',
'Natural Language :: Russian',
'Natural Language :: Spanish',
- 'Programming Language :: Python',
+ 'Operating System :: OS Independent',
+ 'Programming Language :: Python :: 2.5',
+ 'Programming Language :: Python :: 2.6',
+ 'Programming Language :: Python :: 2.7',
'Topic :: Office/Business',
],
license=LICENSE,
diff --git a/share/locale/bg_BG/LC_MESSAGES/tryton.mo b/share/locale/bg_BG/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..138d73c
Binary files /dev/null and b/share/locale/bg_BG/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/de_DE/LC_MESSAGES/tryton.mo b/share/locale/de_DE/LC_MESSAGES/tryton.mo
index d69be3b..60f0506 100644
Binary files a/share/locale/de_DE/LC_MESSAGES/tryton.mo and b/share/locale/de_DE/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/fr_FR/LC_MESSAGES/tryton.mo b/share/locale/fr_FR/LC_MESSAGES/tryton.mo
index 5d7ec82..3b0e804 100644
Binary files a/share/locale/fr_FR/LC_MESSAGES/tryton.mo and b/share/locale/fr_FR/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/nl_NL/LC_MESSAGES/tryton.mo b/share/locale/nl_NL/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..e206ac0
Binary files /dev/null and b/share/locale/nl_NL/LC_MESSAGES/tryton.mo differ
diff --git a/share/locale/sl_SI/LC_MESSAGES/tryton.mo b/share/locale/sl_SI/LC_MESSAGES/tryton.mo
new file mode 100644
index 0000000..4fe8cfc
Binary files /dev/null and b/share/locale/sl_SI/LC_MESSAGES/tryton.mo differ
diff --git a/share/pixmaps/tryton/tryton-accessories.svg b/share/pixmaps/tryton/tryton-accessories.svg
deleted file mode 100644
index 9f3e78a..0000000
--- a/share/pixmaps/tryton/tryton-accessories.svg
+++ /dev/null
@@ -1,520 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<svg
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- overflow="visible"
- enable-background="new 0 0 128 129.396"
- xml:space="preserve"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docname="applications-accessories.svg"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/categories"
- version="1.0"
- inkscape:export-filename="/home/tigert/My Downloads/go-home.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000"><metadata
- id="metadata367"><rdf:RDF><cc:Work
- rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" /><dc:title>Go Home</dc:title><dc:creator><cc:Agent><dc:title>jakub Steiner</dc:title></cc:Agent></dc:creator><dc:source>http://jimmac.musichall.cz</dc:source><dc:subject><rdf:Bag><rdf:li>home</rdf:li><rdf:li>return</rdf:li><rdf:li>go</rdf:li><rdf:li>default</rdf:li><rdf:li>user</rdf:li><rdf:li>directory</rdf:li></rdf:Bag></dc:subject></cc:Work><cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/"><cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" /><cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" /><cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" /><cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" /><cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" /><cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" /></cc:License></rdf:RDF></metadata><defs
- id="defs365"><linearGradient
- inkscape:collect="always"
- id="linearGradient3099"><stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3101" /><stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3103" /></linearGradient><linearGradient
- inkscape:collect="always"
- id="linearGradient3078"><stop
- style="stop-color:#c4a000"
- offset="0"
- id="stop3080" /><stop
- style="stop-color:#fce94f"
- offset="1"
- id="stop3082" /></linearGradient><linearGradient
- y2="27.836672"
- x2="74.587158"
- y1="21.424805"
- x1="68.175293"
- gradientUnits="userSpaceOnUse"
- id="XMLID_45_"><stop
- id="stop695"
- style="stop-color:#BABDB6"
- offset="0" /><stop
- id="stop697"
- style="stop-color:#EEEEEC"
- offset="1" /></linearGradient><radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.010300,1.007969e-18,-0.159801)"
- r="7.2848282"
- cy="23.333008"
- cx="165.06104"
- id="XMLID_52_"><stop
- id="stop812"
- style="stop-color:#EF3535"
- offset="0" /><stop
- offset="0"
- style="stop-color:#c91a1a;stop-opacity:1;"
- id="stop2239" /><stop
- id="stop814"
- style="stop-color:#ff4c4c;stop-opacity:1;"
- offset="1" /></radialGradient><linearGradient
- gradientTransform="matrix(2.051000,0.000000,0.167200,-0.989000,-799.2049,221.0724)"
- y2="-79.574341"
- x2="1420.6542"
- y1="-50.919434"
- x1="1420.5474"
- gradientUnits="userSpaceOnUse"
- id="path3311_1_"><stop
- id="stop4970"
- style="stop-color:#C4A000"
- offset="0" /><stop
- id="stop4972"
- style="stop-color:#957A00"
- offset="1" /></linearGradient><linearGradient
- gradientTransform="matrix(1.213800,0.000000,0.282500,-1.671200,46.72625,447.9442)"
- y2="175.78883"
- x2="1679.5989"
- y1="185.30176"
- x1="1668.7646"
- gradientUnits="userSpaceOnUse"
- id="path3230_2_"><stop
- id="stop4977"
- style="stop-color:#FFFFFF"
- offset="0" /><stop
- id="stop4979"
- style="stop-color:#CFCFCF"
- offset="1" /></linearGradient><linearGradient
- y2="10.711433"
- x2="296.93979"
- y1="4.7592773"
- x1="292.97168"
- gradientUnits="userSpaceOnUse"
- id="XMLID_897_"><stop
- id="stop45093"
- style="stop-color:#EEEEEC"
- offset="0" /><stop
- id="stop45095"
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="1" /></linearGradient><radialGradient
- id="radialGradient16850"
- cx="165.06104"
- cy="23.333008"
- r="7.2848282"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.010300,1.007969e-18,-0.159801)"
- gradientUnits="userSpaceOnUse"><stop
- offset="0"
- style="stop-color:#EF3535"
- id="stop16852" /><stop
- offset="1"
- style="stop-color:#a40000;stop-opacity:0"
- id="stop16854" /></radialGradient><linearGradient
- id="linearGradient2229"><stop
- id="stop2231"
- offset="0"
- style="stop-color:#e2e2e2;stop-opacity:1;" /><stop
- id="stop2233"
- offset="1"
- style="stop-color:#d8d8d8;stop-opacity:1;" /></linearGradient><linearGradient
- id="linearGradient2251"
- inkscape:collect="always"><stop
- id="stop2253"
- offset="0"
- style="stop-color:#df2a2a;stop-opacity:1;" /><stop
- id="stop2255"
- offset="1"
- style="stop-color:#df2a2a;stop-opacity:0;" /></linearGradient><linearGradient
- id="linearGradient2259"
- inkscape:collect="always"><stop
- id="stop2261"
- offset="0"
- style="stop-color:#9a0c00;stop-opacity:1;" /><stop
- id="stop2263"
- offset="1"
- style="stop-color:#9a0c00;stop-opacity:0;" /></linearGradient><linearGradient
- id="linearGradient2269"
- inkscape:collect="always"><stop
- id="stop2271"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" /><stop
- id="stop2273"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" /></linearGradient><linearGradient
- inkscape:collect="always"
- xlink:href="#path3230_2_"
- id="linearGradient1890"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.213781,0,0.282495,-1.671173,-1834.231,751.0328)"
- x1="1668.7646"
- y1="185.30176"
- x2="1679.5989"
- y2="175.78883" /><linearGradient
- inkscape:collect="always"
- xlink:href="#path3230_2_"
- id="linearGradient1893"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.213781,0,0.282495,-1.671173,-1774.231,387.0328)"
- x1="1668.7646"
- y1="185.30176"
- x2="1679.5989"
- y2="175.78883" /><linearGradient
- inkscape:collect="always"
- xlink:href="#path3311_1_"
- id="linearGradient1896"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.050967,0,0.167197,-0.988984,-2791.942,99.82423)"
- x1="1420.5474"
- y1="-50.919434"
- x2="1420.6542"
- y2="-79.574341" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_897_"
- id="linearGradient2975"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-4.127761,0,0,4.136601,2003.489,504.25)"
- x1="292.97168"
- y1="4.7592773"
- x2="296.93979"
- y2="10.711433" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2229"
- id="linearGradient2977"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(759.0237,516.155)"
- x1="20.288025"
- y1="6.4603648"
- x2="24.32597"
- y2="23.942537" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_52_"
- id="linearGradient2979"
- gradientUnits="userSpaceOnUse"
- x1="294.59497"
- y1="12.187603"
- x2="297.18515"
- y2="13.3396" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_52_"
- id="linearGradient2981"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.637893,0,0,3.470375,-297.0923,500.1478)"
- x1="296.48611"
- y1="15.506916"
- x2="296.52905"
- y2="9.8769522" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_897_"
- id="linearGradient2983"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(4.053427,0,0,4.136601,-416.5113,504.25)"
- x1="292.97168"
- y1="4.7592773"
- x2="296.93979"
- y2="10.711433" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2229"
- id="linearGradient2985"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(759.0237,516.155)"
- x1="20.288025"
- y1="6.4603648"
- x2="24.32597"
- y2="23.942537" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_45_"
- id="linearGradient2987"
- gradientUnits="userSpaceOnUse"
- x1="22.225399"
- y1="23.843431"
- x2="24.190449"
- y2="22.860907" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_52_"
- id="linearGradient2989"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.161878,0,0,0.992497,756.5929,516.4208)"
- x1="7.184845"
- y1="31.056622"
- x2="25.152235"
- y2="50.774887" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_52_"
- id="linearGradient2991"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.161878,0,0,0.992497,756.3567,516.219)"
- x1="13.82536"
- y1="40.068752"
- x2="7.6700611"
- y2="2.3262277" /><radialGradient
- inkscape:collect="always"
- xlink:href="#XMLID_52_"
- id="radialGradient2993"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,1.060381,759.0237,513.8555)"
- cx="34.376091"
- cy="37.50008"
- fx="34.376091"
- fy="37.50008"
- r="8.3887873" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2251"
- id="linearGradient2995"
- gradientUnits="userSpaceOnUse"
- x1="298.47852"
- y1="13.599585"
- x2="298.86948"
- y2="13.802949" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2259"
- id="linearGradient2997"
- gradientUnits="userSpaceOnUse"
- x1="298.47852"
- y1="13.599585"
- x2="298.86948"
- y2="13.802949" /><linearGradient
- inkscape:collect="always"
- xlink:href="#XMLID_52_"
- id="linearGradient2999"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.624438,0,0,3.624438,-294.1553,499.3078)"
- x1="296.76199"
- y1="12.012225"
- x2="297.79822"
- y2="10.946587" /><linearGradient
- inkscape:collect="always"
- xlink:href="#radialGradient16850"
- id="linearGradient3001"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.161878,0,0,0.992497,753.9116,516.219)"
- x1="39.619942"
- y1="44.540932"
- x2="-3.532515"
- y2="-11.889042" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2269"
- id="radialGradient3003"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.32526,2.352345e-13,28.08607)"
- cx="25.1875"
- cy="41.625"
- fx="25.1875"
- fy="41.625"
- r="18.0625" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3078"
- id="linearGradient3084"
- x1="42.426411"
- y1="58.076275"
- x2="32.350136"
- y2="16.35697"
- gradientUnits="userSpaceOnUse" /><linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3099"
- id="linearGradient3105"
- x1="28.835155"
- y1="11.913623"
- x2="52.131729"
- y2="70.073158"
- gradientUnits="userSpaceOnUse" /><radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2269"
- id="radialGradient3253"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1,0,0,0.32526,2.34556e-13,28.08607)"
- cx="25.1875"
- cy="41.625"
- fx="25.1875"
- fy="41.625"
- r="18.0625" /></defs><sodipodi:namedview
- inkscape:cy="-250.34036"
- inkscape:cx="161.37069"
- inkscape:zoom="1"
- inkscape:window-height="1070"
- inkscape:window-width="1181"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.21568627"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:showpageshadow="false"
- inkscape:window-x="115"
- inkscape:window-y="25"
- inkscape:current-layer="svg2"
- fill="#2e3436"
- showgrid="true"
- stroke="#c4a000"
- showguides="true"
- inkscape:guide-bbox="true"
- gridcolor="#3f3fff"
- gridopacity="0.03921569"
- gridempcolor="#3f3fff"
- gridempopacity="0.10196078" />
-
-<path
- transform="matrix(0.968858,0,0,0.465206,6.096886,24.90272)"
- d="M 43.25 41.625 A 18.0625 5.875 0 1 1 7.125,41.625 A 18.0625 5.875 0 1 1 43.25 41.625 z"
- sodipodi:ry="5.875"
- sodipodi:rx="18.0625"
- sodipodi:cy="41.625"
- sodipodi:cx="25.1875"
- id="path3251"
- style="opacity:0.26704544;color:#000000;fill:url(#radialGradient3253);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- style="fill:url(#linearGradient3084);fill-opacity:1.0;fill-rule:evenodd;stroke:#c4a000;stroke-width:1.02738464px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 44.46875 3.6875 L 16.4375 44.46875 L 44.46875 44.46875 L 44.46875 3.6875 z M 38.53125 23.5 L 38.53125 37.5 L 29.5 37.5 L 38.53125 23.5 z "
- id="path1465" /><path
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:url(#linearGradient3105);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;opacity:0.63874346"
- d="M 43.5,43.5 L 43.5,6.8437499 L 18.375,43.4375 L 43.5,43.5 z "
- id="path3006"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- sodipodi:nodetypes="cccc" /><g
- id="g1903"
- transform="matrix(0.827925,0,0,0.827925,-628.8636,-425.078)"
- inkscape:r_cx="true"
- inkscape:r_cy="true"><path
- id="path16717"
- d="M 793.19801,517.78 C 793.40996,517.84854 793.61527,517.92466 793.82199,517.9975 C 794.47341,520.1945 797.49348,522.41622 796.34505,524.60413 C 792.51921,530.98452 788.72072,537.44957 784.92346,543.88027 C 784.17771,544.02717 783.42543,544.10718 782.67169,544.12496 C 781.0853,544.16517 779.45676,543.93047 777.95113,543.39089 C 783.002,534.83962 788.055,526.26948 793.19801,517.78 z "
- style="fill:url(#linearGradient2975);stroke:#888a85;stroke-width:1.2078383;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="path16719"
- d="M 793.31252,520.405 C 793.0814,520.71245 792.86291,521.27594 792.62649,521.56125 C 788.57964,528.31398 784.46448,535.05533 780.40268,541.78 C 780.34213,542.03312 779.58875,542.79229 780.39063,542.72296 C 781.50219,542.92084 782.66238,543.07357 783.77046,542.78 C 787.52945,536.56279 791.21634,530.29758 794.96675,524.07818 C 795.30922,523.6909 795.37586,523.15292 795.0161,522.7662 C 794.48609,521.94959 793.94916,521.09148 793.40607,520.31125 L 793.33551,520.38196 L 793.31252,520.405 z "
- style="fill:url(#linearGradient2977);fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><polygon
- transform="matrix(3.637893,0,0,3.470375,-297.0923,500.1478)"
- points="297.04443,12.300293 296.39941,13.384766 295.13281,14.71875 294.73242,13.672852 295.74658,11.960449 297.04443,12.300293 "
- id="polygon45129"
- style="fill:url(#linearGradient2979);fill-opacity:1;stroke:#9a0c00;stroke-width:0.33993483;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="polygon16896"
- d="M 779.42995,543.12375 C 778.2076,543.61047 778.21593,545.15893 777.50497,546.08776 C 777.16265,546.80356 776.56118,547.43399 776.30495,548.18625 C 776.29527,548.70164 776.7529,549.54647 777.3362,549.0925 C 778.72118,547.94617 779.90057,546.55382 780.78042,544.96563 C 781.01279,544.4756 781.57618,544.07147 781.6487,543.56125 C 781.11013,542.99044 780.13588,543.02823 779.42995,543.12375 z "
- style="fill:url(#linearGradient2981);fill-opacity:1;stroke:none;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="polygon45097"
- d="M 771.9838,517.78 C 771.77567,517.84854 771.57405,517.92466 771.37105,517.9975 C 770.73137,520.1945 767.76569,522.41622 768.89343,524.60413 C 772.65038,530.98452 776.38046,537.44957 780.10934,543.88027 C 780.84166,544.02717 781.58039,544.10718 782.32055,544.12496 C 783.87838,544.16517 785.47759,543.93047 786.95611,543.39089 C 781.99619,534.83962 777.03419,526.26948 771.9838,517.78 z "
- style="fill:url(#linearGradient2983);stroke:#888a85;stroke-width:1.2078383;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="path16635"
- d="M 771.74337,520.405 C 771.36033,521.53168 770.29371,522.36096 770.02855,523.56125 C 773.73708,529.95536 777.4995,536.33038 781.20546,542.7175 C 782.40382,542.9758 783.6339,542.81066 784.81881,542.56125 C 784.63004,541.82081 784.08061,541.23032 783.78883,540.5317 C 779.89423,533.96117 775.96513,527.39787 772.11083,520.81125 C 772.09617,520.65964 771.89412,520.32712 771.74337,520.405 z "
- style="fill:url(#linearGradient2985);fill-opacity:1;stroke:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- transform="matrix(0.979893,0,0,1,759.3351,516.329)"
- d="M 24.190449 23.843431 A 0.98252523 0.98252523 0 1 1 22.225399,23.843431 A 0.98252523 0.98252523 0 1 1 24.190449 23.843431 z"
- sodipodi:ry="0.98252523"
- sodipodi:rx="0.98252523"
- sodipodi:cy="23.843431"
- sodipodi:cx="23.207924"
- id="path16731"
- style="color:#000000;fill:url(#linearGradient2987);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- d="M 776.72409,546.44193 C 779.9591,548.16858 780.21993,553.05485 777.30204,557.35629 C 774.38418,561.66025 769.39755,563.75147 766.16108,562.03242 C 762.92458,560.30577 762.66525,555.42203 765.58314,551.1206 C 768.49951,546.81917 773.48762,544.72794 776.72409,546.44193 z M 774.86897,549.18408 C 773.43244,548.42045 770.36151,549.7246 768.40263,552.61811 C 766.43972,555.51161 766.57973,558.53162 768.0149,559.29295 C 769.45005,560.06118 772.52369,558.75243 774.48257,555.85892 C 776.44683,552.96542 776.30546,549.94771 774.86897,549.18408 z "
- style="fill:url(#linearGradient2989);fill-opacity:1;stroke:#a40000;stroke-opacity:1"
- id="path45138"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="path16771"
- d="M 773.3492,546.73829 C 771.42407,547.12551 769.71474,548.19231 768.30229,549.21953 C 767.55053,549.91443 767.05873,550.66945 766.38664,551.47374 C 764.67832,553.8258 763.96241,556.91717 765.31381,559.54341 C 765.93326,560.99651 767.95644,561.59085 769.68202,561.22254 C 771.13394,560.97408 772.36334,560.06147 773.49443,559.42364 C 774.41534,558.63286 775.04845,557.79713 775.82733,556.83236 C 777.63669,554.35796 778.61924,551.08369 777.1253,548.32008 C 776.4016,547.17795 774.89066,546.57329 773.3492,546.73829 z M 773.82121,547.69977 C 775.83772,547.95012 777.17819,549.73258 776.94376,551.42163 C 776.96453,553.70857 775.79774,555.86573 774.22061,557.65576 C 772.8034,559.05774 770.87199,560.38403 768.55645,560.29208 C 767.1976,560.28921 766.12388,559.37978 765.74063,558.33162 C 765.12399,555.79969 765.93535,553.06639 767.70683,550.99362 C 769.06507,549.47031 770.90168,548.10652 773.17434,547.75193 C 773.39003,547.73665 773.60522,547.70943 773.82121,547.69977 z "
- style="fill:url(#linearGradient2991);fill-opacity:1;stroke:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="path11967"
- style="fill:url(#radialGradient2993);fill-opacity:1;stroke:#a40000;stroke-opacity:1"
- d="M 789.35546,546.44193 C 786.12045,548.16858 785.85963,553.05485 788.77752,557.35629 C 791.69538,561.66025 796.68201,563.75147 799.91848,562.03242 C 803.15498,560.30577 803.41431,555.42203 800.49642,551.1206 C 797.58005,546.81917 792.59193,544.72794 789.35546,546.44193 z M 791.21059,549.18408 C 792.64711,548.42045 795.71805,549.7246 797.67693,552.61811 C 799.63984,555.51161 799.49983,558.53162 798.06466,559.29295 C 796.62951,560.06118 793.55587,558.75243 791.59699,555.85892 C 789.63273,552.96542 789.77409,549.94771 791.21059,549.18408 z "
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><polygon
- transform="matrix(3.624438,0,0,3.624438,-294.1553,499.3078)"
- points="296.95605,12.300293 297.6001,13.384766 298.86719,14.71875 299.26807,13.672852 298.25391,11.960449 296.95605,12.300293 "
- id="polygon45101"
- style="fill:url(#linearGradient2995);fill-opacity:1;stroke:url(#linearGradient2997);stroke-width:0.3332485;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="polygon16860"
- d="M 785.17995,544.0925 C 784.7532,544.29132 784.16314,544.29398 783.8362,544.5925 C 784.78622,545.99389 785.72611,547.50716 786.68708,548.80508 C 787.35563,549.55962 788.04289,550.3053 788.80495,550.9675 C 789.54023,549.57608 788.94011,547.90629 787.99245,546.78 C 787.38991,545.88031 787.16263,544.66704 786.1487,544.18625 C 785.84465,544.06784 785.49808,544.00837 785.17995,544.0925 z "
- style="fill:url(#linearGradient2999);fill-opacity:1;stroke:none;stroke-width:0.27590489;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- id="path16795"
- d="M 791.30379,546.60409 C 789.7834,546.83384 788.40884,547.68975 788.06334,548.99206 C 786.93219,551.38751 787.84846,554.10557 789.34312,556.21891 C 790.44504,557.56411 791.28319,559.14882 792.9827,559.99288 C 794.45335,560.9165 796.32384,561.88345 798.20034,561.29377 C 799.71366,560.86032 800.57101,559.6132 800.88051,558.32191 C 801.48494,556.01188 800.58482,553.64595 799.17355,551.68543 C 798.51487,550.77172 797.84056,549.80222 797.06023,548.99078 C 795.86567,548.08733 794.42231,547.33925 792.97139,546.75843 C 792.43729,546.64802 791.85616,546.52569 791.30379,546.60409 z M 791.73949,547.8137 C 793.4968,547.74692 794.974,548.55316 796.11586,549.58266 C 797.14816,550.55179 798.13752,551.38787 798.77837,552.58154 C 799.85556,554.40211 800.16623,556.5615 799.61848,558.54507 C 799.0901,559.86958 797.39232,560.51711 795.82736,560.16152 C 793.84548,559.93269 792.61002,558.4905 791.30079,557.35316 C 789.79504,555.92177 788.86017,553.87453 788.79021,551.87078 C 788.80432,550.85311 788.76374,549.69236 789.48835,548.83721 C 789.90063,548.29406 790.86836,547.78289 791.73949,547.8137 z "
- style="fill:url(#linearGradient3001);fill-opacity:1;stroke:none;stroke-opacity:1"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /><path
- transform="matrix(1.256055,0,0,0.819149,751.8243,525.2454)"
- d="M 43.25 41.625 A 18.0625 5.875 0 1 1 7.125,41.625 A 18.0625 5.875 0 1 1 43.25 41.625 z"
- sodipodi:ry="5.875"
- sodipodi:rx="18.0625"
- sodipodi:cy="41.625"
- sodipodi:cx="25.1875"
- id="path2267"
- style="opacity:0.26704544;color:#000000;fill:url(#radialGradient3003);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" /></g><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3022"
- d="M 43.506026,40.61612 L 42.747596,40.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3046"
- d="M 43.506026,36.61612 L 42.747596,36.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3050"
- d="M 43.506026,32.61612 L 42.747596,32.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3054"
- d="M 43.506026,28.61612 L 42.747596,28.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3058"
- d="M 43.506026,24.61612 L 42.747596,24.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3062"
- d="M 43.506026,20.61612 L 42.747596,20.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3066"
- d="M 43.506026,16.61612 L 42.747596,16.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /><path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path3070"
- d="M 43.506026,12.61612 L 42.747596,12.61612"
- style="opacity:1;fill:#2e3436;fill-opacity:0.75;fill-rule:evenodd;stroke:#c4a000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1" /></svg>
\ No newline at end of file
diff --git a/share/pixmaps/tryton/tryton-calculator.svg b/share/pixmaps/tryton/tryton-calculator.svg
deleted file mode 100644
index f0daeff..0000000
--- a/share/pixmaps/tryton/tryton-calculator.svg
+++ /dev/null
@@ -1,642 +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"
- width="48px"
- height="48px"
- id="svg5816"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- sodipodi:docname="tryton-calculator.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective24761" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient30695">
- <stop
- style="stop-color:#b8babc;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop30697" />
- <stop
- id="stop30703"
- offset="0.37383178"
- style="stop-color:#5d6062;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#585b5d;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop30699" />
- </linearGradient>
- <linearGradient
- id="linearGradient30685">
- <stop
- style="stop-color:#8d8d8d;stop-opacity:1;"
- offset="0"
- id="stop30687" />
- <stop
- style="stop-color:#747474;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop30689" />
- </linearGradient>
- <linearGradient
- id="linearGradient30649">
- <stop
- style="stop-color:#858585;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop30651" />
- <stop
- style="stop-color:#5f5f5f;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop30653" />
- </linearGradient>
- <linearGradient
- id="linearGradient30518">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop30520" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0.78698224;"
- offset="1.0000000"
- id="stop30522" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient30505">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop30507" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop30509" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30505"
- id="radialGradient30511"
- cx="25.375000"
- cy="43.375000"
- fx="25.375000"
- fy="43.375000"
- r="17.125000"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.343066,1.971081e-16,28.49453)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30518"
- id="linearGradient30524"
- x1="14.209836"
- y1="5.8892856"
- x2="39.060543"
- y2="40.625908"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.021753,0.000000,-6.554300e-2)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30667"
- x1="20.086588"
- y1="22.048241"
- x2="20.086588"
- y2="25.848938"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30669"
- x1="20.086588"
- y1="22.048241"
- x2="20.086588"
- y2="25.848938"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30671"
- x1="20.086588"
- y1="22.048241"
- x2="20.086588"
- y2="25.848938"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30673"
- gradientUnits="userSpaceOnUse"
- x1="20.086588"
- y1="29.030920"
- x2="20.086588"
- y2="32.964199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30675"
- gradientUnits="userSpaceOnUse"
- x1="20.086588"
- y1="29.030920"
- x2="20.086588"
- y2="32.964199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30677"
- gradientUnits="userSpaceOnUse"
- x1="20.086588"
- y1="29.030920"
- x2="20.086588"
- y2="32.964199" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30679"
- gradientUnits="userSpaceOnUse"
- x1="20.086588"
- y1="36.101990"
- x2="20.086588"
- y2="39.814297" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30681"
- gradientUnits="userSpaceOnUse"
- x1="20.086588"
- y1="36.101990"
- x2="20.086588"
- y2="39.814297" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30649"
- id="linearGradient30683"
- gradientUnits="userSpaceOnUse"
- x1="20.086588"
- y1="36.101990"
- x2="20.086588"
- y2="39.814297" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30685"
- id="linearGradient30691"
- x1="36.356823"
- y1="38.036388"
- x2="36.356823"
- y2="40.161388"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.102932,0.000000,0.000000,1.000000,-4.117285,0.000000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30685"
- id="linearGradient30693"
- gradientUnits="userSpaceOnUse"
- x1="36.356823"
- y1="25.411388"
- x2="36.356823"
- y2="26.911388"
- gradientTransform="matrix(1.102932,0.000000,0.000000,1.000000,-4.117285,0.000000)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30695"
- id="linearGradient30701"
- x1="19.760065"
- y1="8.8124981"
- x2="25.864925"
- y2="42.562500"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30685"
- id="linearGradient30709"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.102932,0.000000,0.000000,1.000000,-3.492285,0.625000)"
- x1="36.356823"
- y1="38.036388"
- x2="36.356823"
- y2="40.161388" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient30685"
- id="linearGradient30711"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.102932,0.000000,0.000000,1.000000,-3.492285,0.625000)"
- x1="36.356823"
- y1="25.411388"
- x2="36.356823"
- y2="26.911388" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="12.041667"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1278"
- inkscape:window-height="782"
- inkscape:window-x="0"
- inkscape:window-y="16"
- fill="#2e3436" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Calculator</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:contributor>
- <cc:Agent>
- <dc:title />
- </cc:Agent>
- </dc:contributor>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:subject>
- <rdf:Bag>
- <rdf:li>calc</rdf:li>
- <rdf:li>calculator</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- transform="matrix(2.140526e-2,0,0,2.086758e-2,44.35111,41.4036)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- style="color:#000000;fill:url(#linearGradient30701);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:0.99999994;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect30499"
- width="36.979858"
- height="42.104137"
- x="6.5100656"
- y="2.5104303"
- rx="1.9579328"
- ry="1.9590315" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path30526"
- d="M 9.9822237,5.1161175 L 39.957116,5.1161175 C 41.088875,5.1161175 42.000000,6.4933386 42.000000,8.2040570 L 42.000000,15.165394 C 42.000000,18.485012 38.071689,19.596195 36.939932,19.596195 L 12.999408,19.596195 C 11.867651,19.596195 7.9393398,18.089710 7.9393398,15.165394 L 7.9393398,8.2040570 C 7.9393398,6.4933386 8.8504660,5.1161175 9.9822237,5.1161175 z "
- style="color:#000000;fill:#2e3436;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <path
- style="color:#000000;fill:#babdb6;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- d="M 10.919290,6.0000001 L 39.080710,6.0000001 C 40.143997,6.0000001 41.000000,6.8560034 41.000000,7.9192899 L 41.000000,12.246064 C 41.000000,14.309351 37.309351,15.000000 36.246064,15.000000 L 13.753936,15.000000 C 12.690649,15.000000 9.0000000,14.063654 9.0000000,12.246064 L 9.0000000,7.9192899 C 9.0000000,6.8560034 9.8560033,6.0000001 10.919290,6.0000001 z "
- id="rect30501"
- sodipodi:nodetypes="ccccccccc" />
- <rect
- style="color:#000000;fill:#777b5e;fill-opacity:1.0000000;fill-rule:nonzero;stroke:none;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible"
- id="rect30514"
- width="25.250000"
- height="5.0000000"
- x="12.250000"
- y="7.0000000"
- rx="0.71156079"
- ry="0.74365538" />
- <rect
- ry="0.96161228"
- rx="0.94113970"
- y="3.5238943"
- x="7.3736029"
- height="40.077232"
- width="34.987637"
- id="rect30516"
- style="opacity:0.48734173;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient30524);stroke-width:1.0000002;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible" />
- <rect
- ry="1.3830814"
- rx="1.5254447"
- y="30.225506"
- x="33.140106"
- height="10.871767"
- width="6.9334230"
- id="rect30705"
- style="color:#000000;fill:url(#linearGradient30709);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#7d7d7d;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:url(#linearGradient30691);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30528"
- width="6.9334230"
- height="10.871767"
- x="32.515106"
- y="29.600506"
- rx="1.5254447"
- ry="1.3830814" />
- <g
- id="g30602"
- transform="translate(0.707108,0.707108)"
- style="stroke:#707070;stroke-opacity:1.0000000">
- <rect
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30584"
- width="5.1731753"
- height="5.1028214"
- x="10.443745"
- y="21.397179"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="21.397179"
- x="17.500000"
- height="5.1028214"
- width="5.1731753"
- id="rect30586"
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30588"
- width="5.1731753"
- height="5.1028214"
- x="24.500000"
- y="21.397179"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="28.315439"
- x="10.443745"
- height="5.1028214"
- width="5.1731753"
- id="rect30590"
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30592"
- width="5.1731753"
- height="5.1028214"
- x="17.500000"
- y="28.315439"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="28.315439"
- x="24.500000"
- height="5.1028214"
- width="5.1731753"
- id="rect30594"
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30596"
- width="5.1731753"
- height="5.1028214"
- x="10.443745"
- y="35.315437"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="35.315437"
- x="17.500000"
- height="5.1028214"
- width="5.1731753"
- id="rect30598"
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:#737373;fill-opacity:1.0000000;fill-rule:nonzero;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30600"
- width="5.1731753"
- height="5.1028214"
- x="24.500000"
- y="35.315437"
- rx="1.0030046"
- ry="1.0030046" />
- </g>
- <rect
- style="color:#000000;fill:url(#linearGradient30671);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30540"
- width="5.1731753"
- height="5.1028214"
- x="10.443745"
- y="21.397179"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="21.397179"
- x="17.500000"
- height="5.1028214"
- width="5.1731753"
- id="rect30551"
- style="color:#000000;fill:url(#linearGradient30669);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:url(#linearGradient30667);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30553"
- width="5.1731753"
- height="5.1028214"
- x="24.500000"
- y="21.397179"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="28.315439"
- x="10.443745"
- height="5.1028214"
- width="5.1731753"
- id="rect30555"
- style="color:#000000;fill:url(#linearGradient30675);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:url(#linearGradient30673);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30557"
- width="5.1731753"
- height="5.1028214"
- x="17.500000"
- y="28.315439"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="28.315439"
- x="24.500000"
- height="5.1028214"
- width="5.1731753"
- id="rect30559"
- style="color:#000000;fill:url(#linearGradient30677);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:url(#linearGradient30681);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30561"
- width="5.1731753"
- height="5.1028214"
- x="10.443745"
- y="35.315437"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- ry="1.0030046"
- rx="1.0030046"
- y="35.315437"
- x="17.500000"
- height="5.1028214"
- width="5.1731753"
- id="rect30563"
- style="color:#000000;fill:url(#linearGradient30679);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <rect
- style="color:#000000;fill:url(#linearGradient30683);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:1.0000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30565"
- width="5.1731753"
- height="5.1028214"
- x="24.500000"
- y="35.315437"
- rx="1.0030046"
- ry="1.0030046" />
- <rect
- style="color:#000000;fill:url(#linearGradient30711);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#7d7d7d;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans"
- id="rect30707"
- width="6.9334230"
- height="6.2664795"
- x="33.140106"
- y="22.042002"
- rx="1.3394771"
- ry="1.2144693" />
- <rect
- ry="1.2144693"
- rx="1.3394771"
- y="21.417002"
- x="32.515106"
- height="6.2664795"
- width="6.9334230"
- id="rect30567"
- style="color:#000000;fill:url(#linearGradient30693);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#343434;stroke-width:0.99999988;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:block;overflow:visible;font-family:Bitstream Vera Sans" />
- <path
- style="font-size:3.5304732;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr-tb"
- d="M 28.408396,9.5622980 C 28.581930,9.6071200 28.713518,9.6852680 28.803161,9.7967430 C 28.893949,9.9070720 28.939344,10.047854 28.939346,10.219090 C 28.939344,10.474222 28.841659,10.668444 28.646290,10.801756 C 28.450917,10.933919 28.165905,11.000000 27.791253,11.000000 C 27.659089,11.000000 27.526352,10.989083 27.393041,10.967247 C 27.260877,10.946561 27.129864,10.914957 27.000000,10.872435 L 27.000000,10.360447 C 27.124117,10.422507 27.247086,10.469625 27.368906,10.501804 C 27.491875,10.532834 27.612545,10.548349 27.730918,10.548348 C 27.906751,10.548349 28.041212,10.517894 28.134302,10.456983 C 28.228538,10.396074 28.275657,10.308732 28.275659,10.194956 C 28.275657,10.077734 28.227389,9.9892420 28.130854,9.9294810 C 28.035466,9.8685720 27.894109,9.8381170 27.706784,9.8381160 L 27.441309,9.8381160 L 27.441309,9.4105980 L 27.720575,9.4105980 C 27.887214,9.4106000 28.011332,9.3847420 28.092929,9.3330240 C 28.174524,9.2801610 28.215322,9.2002880 28.215324,9.0934070 C 28.215322,8.9945740 28.175673,8.9181500 28.096377,8.8641330 C 28.017078,8.8101210 27.905027,8.7831140 27.760224,8.7831120 C 27.653343,8.7831140 27.545314,8.7951810 27.436137,8.8193130 C 27.326958,8.8434490 27.218355,8.8790750 27.110327,8.9261920 L 27.110327,8.4400630 C 27.241340,8.4032890 27.371204,8.3757080 27.499920,8.3573170 C 27.628634,8.3389320 27.755051,8.3297380 27.879170,8.3297350 C 28.213598,8.3297380 28.463558,8.3849010 28.629051,8.4952260 C 28.795689,8.6044070 28.879009,8.7693230 28.879011,8.9899750 C 28.879009,9.1405280 28.839360,9.2640710 28.760065,9.3606060 C 28.680765,9.4559940 28.563542,9.5232250 28.408396,9.5622980 M 29.578900,10.282873 L 30.199491,10.282873 L 30.199491,10.950008 L 29.578900,10.950008 L 29.578900,10.282873 M 30.970058,10.491461 L 31.556172,10.491461 L 31.556172,8.8279320 L 30.954543,8.9520500 L 30.954543,8.5003980 L 31.552724,8.3762800 L 32.183658,8.3762800 L 32.183658,10.491461 L 32.769772,10.491461 L 32.769772,10.950008 L 30.970058,10.950008 L 30.970058,10.491461 M 34.310907,8.9227450 L 33.583436,10.000159 L 34.310907,10.000159 L 34.310907,8.9227450 M 34.200579,8.3762800 L 34.938393,8.3762800 L 34.938393,10.000159 L 35.305576,10.000159 L 35.305576,10.481117 L 34.938393,10.481117 L 34.938393,10.950008 L 34.310907,10.950008 L 34.310907,10.481117 L 33.169709,10.481117 L 33.169709,9.9122420 L 34.200579,8.3762800"
- id="text30569" />
- <path
- style="font-size:4.7407885;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#b8b8b8;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr-tb"
- d="M 36.268162,33.708210 L 36.268162,34.921185 L 37.476507,34.921185 L 37.476507,35.467487 L 36.268162,35.467487 L 36.268162,36.680462 L 35.717230,36.680462 L 35.717230,35.467487 L 34.508885,35.467487 L 34.508885,34.921185 L 35.717230,34.921185 L 35.717230,33.708210 L 36.268162,33.708210"
- id="text30574" />
- <path
- style="font-size:4.7407885;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;fill:#b8b8b8;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000pt;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Bitstream Vera Sans;text-anchor:start;writing-mode:lr-tb"
- d="M 35.324173,24.170804 L 36.777892,24.170804 L 36.777892,24.844421 L 35.324173,24.844421 L 35.324173,24.170804"
- id="text30578" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-calendar.svg b/share/pixmaps/tryton/tryton-calendar.svg
deleted file mode 100644
index fb05f73..0000000
--- a/share/pixmaps/tryton/tryton-calendar.svg
+++ /dev/null
@@ -1,314 +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://web.resource.org/cc/"
- 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"
- sodipodi:docname="office-calendar.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg1288"
- height="48px"
- width="48px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient2563">
- <stop
- id="stop2565"
- offset="0"
- style="stop-color:#e2e2e2;stop-opacity:1;" />
- <stop
- id="stop2567"
- offset="1.0000000"
- style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2551"
- inkscape:collect="always">
- <stop
- id="stop2553"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop2555"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2526">
- <stop
- id="stop2528"
- offset="0.0000000"
- style="stop-color:#e7ebeb;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#e6ebeb;stop-opacity:1.0000000;"
- offset="0.50000000"
- id="stop2534" />
- <stop
- id="stop2530"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- gradientTransform="translate(0.000000,0.785718)"
- gradientUnits="userSpaceOnUse"
- y2="28.428572"
- x2="42.214283"
- y1="14.428571"
- x1="13.357142"
- id="linearGradient2532"
- xlink:href="#linearGradient2526"
- inkscape:collect="always" />
- <radialGradient
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.751938,1.196962e-16,7.193799)"
- r="18.428572"
- fy="29.000000"
- fx="26.000000"
- cy="29.000000"
- cx="26.000000"
- id="radialGradient2557"
- xlink:href="#linearGradient2551"
- inkscape:collect="always" />
- <linearGradient
- gradientTransform="translate(0.000000,0.785718)"
- gradientUnits="userSpaceOnUse"
- y2="30.785713"
- x2="42.214284"
- y1="30.785713"
- x1="6.7857148"
- id="linearGradient2569"
- xlink:href="#linearGradient2563"
- inkscape:collect="always" />
- <linearGradient
- y2="28.428572"
- x2="42.214283"
- y1="14.428571"
- x1="13.357142"
- gradientTransform="translate(2.045771e-15,0.785718)"
- gradientUnits="userSpaceOnUse"
- id="linearGradient2582"
- xlink:href="#linearGradient2526"
- inkscape:collect="always" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="393"
- inkscape:window-x="713"
- inkscape:window-height="701"
- inkscape:window-width="872"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="24.165113"
- inkscape:cx="25.369574"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Calendar</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>calendar</rdf:li>
- <rdf:li>date</rdf:li>
- <rdf:li>time</rdf:li>
- <rdf:li>cal</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <g
- transform="matrix(2.294847e-2,0,0,2.276812e-2,44.75587,36.74254)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <path
- sodipodi:nodetypes="ccccccc"
- id="path1316"
- d="M 4.8571430,38.428571 C 4.6428572,39.428571 5.4642859,40.464285 6.8214287,40.428571 L 43.000000,40.428571 C 44.285714,40.392857 44.714286,39.214285 44.428572,38.249999 L 36.571429,9.4285713 L 10.571429,9.4285713 L 4.8571430,38.428571 z "
- style="fill:#a7a7a7;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#656565;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="path2575"
- d="M 9.1625040,30.806458 L 39.395095,30.806458 C 40.252297,30.806458 40.942392,31.478744 40.942392,32.313825 L 42.269580,37.114760 C 42.269580,37.949841 41.579486,38.622127 40.722283,38.622127 L 8.2777114,38.622127 C 7.4205088,38.622127 6.7304142,37.949841 6.7304142,37.114760 L 7.6152068,32.313825 C 7.6152068,31.478744 8.3053014,30.806458 9.1625040,30.806458 z "
- style="opacity:0.10857142;color:#000000;fill:#000000;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999958;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans" />
- <path
- style="fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999970px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.34463277"
- d="M 6.0478436,37.805569 C 5.8479823,38.738255 5.6491963,39.385227 6.5227626,39.385227 L 42.837439,39.385227 C 43.753496,39.385227 43.579187,38.645537 43.312705,37.746161 L 35.770172,10.471961 L 11.520336,10.471961 L 6.0478436,37.805569 z "
- id="path2520"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="opacity:1.0000000;color:#000000;fill:#c5c5c5;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#696969;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible;font-family:Bitstream Vera Sans"
- d="M 9.6418018,29.928574 L 38.929626,29.928574 C 39.760041,29.928574 40.428570,30.579851 40.428570,31.388835 L 41.714284,36.039742 C 41.714284,36.848726 41.045755,37.500003 40.215340,37.500003 L 8.7846589,37.500003 C 7.9542438,37.500003 7.2857146,36.848726 7.2857146,36.039742 L 8.1428575,31.388835 C 8.1428575,30.579851 8.8113867,29.928574 9.6418018,29.928574 z "
- id="path2518"
- sodipodi:nodetypes="ccccccccc" />
- <path
- sodipodi:nodetypes="ccccccccc"
- id="rect2225"
- d="M 9.6418018,27.785717 L 38.929626,27.785717 C 39.760041,27.785717 40.428570,28.436994 40.428570,29.245978 L 41.714284,33.896885 C 41.714284,34.705869 41.045755,35.357146 40.215340,35.357146 L 8.7846589,35.357146 C 7.9542438,35.357146 7.2857146,34.705869 7.2857146,33.896885 L 8.1428575,29.245978 C 8.1428575,28.436994 8.8113867,27.785717 9.6418018,27.785717 z "
- style="color:#000000;fill:url(#linearGradient2569);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#696969;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <g
- transform="matrix(0.942549,0.000000,0.000000,0.942549,-0.222619,1.855860)"
- id="g2578">
- <path
- style="fill:url(#linearGradient2582);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#696969;stroke-width:1.0609524px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000"
- d="M 10.891973,11.500004 L 6.5714281,33.214290 C 6.5714281,33.214290 32.857143,33.214291 32.857143,33.214291 C 45.441975,33.214291 48.085306,29.214290 48.085306,29.214290 C 48.085306,29.214290 44.728164,28.035719 43.299593,23.071433 C 43.299593,23.071433 40.238640,11.500004 40.238640,11.500004 L 10.891973,11.500004 z "
- id="path2524"
- sodipodi:nodetypes="cczczcc" />
- <path
- sodipodi:nodetypes="cccczcc"
- id="path2571"
- d="M 11.803734,12.474609 L 7.8122567,32.239668 C 7.8122567,32.239668 24.956518,32.239669 32.238382,32.239669 C 43.465021,32.239669 46.348811,29.388804 46.348811,29.388804 C 46.348811,29.388804 43.355751,27.525962 42.055419,23.007305 C 42.055419,23.007305 39.316856,12.546038 39.316856,12.546038 L 11.803734,12.474609 z "
- style="fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0609519px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- </g>
- <path
- sodipodi:nodetypes="ccccccccc"
- id="rect2522"
- d="M 11.315699,7.4285707 L 36.494515,7.4285707 C 37.367632,7.4285707 38.070539,8.0973414 38.070539,8.9280566 L 38.427682,11.071942 C 38.427682,11.902657 37.724775,12.571428 36.851658,12.571428 L 10.958556,12.571428 C 10.085439,12.571428 9.3825323,11.902657 9.3825323,11.071942 L 9.7396752,8.9280566 C 9.7396752,8.0973414 10.442582,7.4285707 11.315699,7.4285707 z "
- style="color:#000000;fill:#9b9b9b;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#696969;stroke-width:0.99999952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;marker:none;marker-start:none;marker-mid:none;marker-end:none;visibility:visible;display:inline;overflow:visible" />
- <path
- id="text2541"
- d="M 20.969159,22.393020 C 21.957574,22.486777 22.691543,22.765423 23.171063,23.228961 C 23.651181,23.687301 23.849054,24.273239 23.764680,24.986779 C 23.640870,26.033659 23.075908,26.877412 22.069796,27.518037 C 21.063667,28.158665 19.762256,28.478977 18.165559,28.478978 C 16.939741,28.478977 15.906445,28.286269 15.065668,27.900851 L 15.305880,25.869594 C 16.189321,26.478973 17.193659,26.783661 18.318897,26.783660 C 19.217824,26.783661 19.926554,26.637828 20.445092,26.346159 C 20.964233,26.049284 21.255527,25.632617 21.318975,25.096154 C 21.385488,24.533656 21.176411,24.122197 20.691744,23.861775 C 20.207063,23.601362 19.398966,23.471154 18.267450,23.471149 L 16.994488,23.471149 L 17.201440,21.721144 L 18.559266,21.721144 C 19.451905,21.721150 20.149975,21.585733 20.653477,21.314892 C 21.157582,21.038857 21.439509,20.648231 21.499262,20.143013 C 21.555304,19.669062 21.408536,19.288853 21.058960,19.002385 C 20.709369,18.715935 20.154261,18.572705 19.393634,18.572696 C 18.431836,18.572705 17.490216,18.853956 16.568772,19.416448 L 16.798822,17.471130 C 17.831208,17.033639 18.988597,16.814889 20.270993,16.814878 C 21.509374,16.814889 22.459536,17.072702 23.121484,17.588317 C 23.789700,18.103954 24.076386,18.762810 23.981543,19.564886 C 23.893455,20.309689 23.598230,20.919065 23.095869,21.393017 C 22.594104,21.861775 21.885201,22.195109 20.969159,22.393020"
- style="font-size:17.577877;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:100.00000%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Segoe" />
- <path
- id="text2545"
- d="M 33.007379,28.455540 L 30.499173,28.455540 L 29.387875,19.096134 L 26.295373,19.893012 L 26.086657,18.135194 L 31.627997,16.838314 L 33.007379,28.455540"
- style="font-size:17.577877;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;line-height:100.00000%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1.0000000;stroke:none;stroke-width:1.0000000px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000;font-family:Segoe" />
- <path
- transform="matrix(0.684211,0.000000,0.000000,0.684211,3.560154,2.278197)"
- d="M 12.857143 9.9285717 A 1.3571428 1.3571428 0 1 1 10.142857,9.9285717 A 1.3571428 1.3571428 0 1 1 12.857143 9.9285717 z"
- sodipodi:ry="1.3571428"
- sodipodi:rx="1.3571428"
- sodipodi:cy="9.9285717"
- sodipodi:cx="11.500000"
- id="path2559"
- style="opacity:0.52571428;color:#000000;fill:#fefefe;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc" />
- <path
- sodipodi:nodetypes="cc"
- id="path2561"
- d="M 13.042053,8.6010151 L 36.371309,8.6010151"
- style="opacity:0.30285713;fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.0000001px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1.0000000" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-clock.svg b/share/pixmaps/tryton/tryton-clock.svg
deleted file mode 100644
index 30a6173..0000000
--- a/share/pixmaps/tryton/tryton-clock.svg
+++ /dev/null
@@ -1,418 +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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
- sodipodi:docname="tryton-clock.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective2667" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5204">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop5206" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop5208" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5196">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop5198" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop5200" />
- </linearGradient>
- <linearGradient
- id="linearGradient12512">
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop12513" />
- <stop
- style="stop-color:#fff520;stop-opacity:0.89108908;"
- offset="0.50000000"
- id="stop12517" />
- <stop
- style="stop-color:#fff300;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop12514" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12512"
- id="radialGradient278"
- gradientUnits="userSpaceOnUse"
- cx="55.000000"
- cy="125.00000"
- fx="55.000000"
- fy="125.00000"
- r="14.375000" />
- <linearGradient
- id="linearGradient10653">
- <stop
- style="stop-color:#f3f4ff;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop10655" />
- <stop
- style="stop-color:#9193af;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop10657" />
- </linearGradient>
- <linearGradient
- id="linearGradient42174">
- <stop
- style="stop-color:#a0a0a0;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop42176" />
- <stop
- style="stop-color:#ffffff;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop42178" />
- </linearGradient>
- <linearGradient
- id="linearGradient2145">
- <stop
- style="stop-color:#fffffd;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop2147" />
- <stop
- style="stop-color:#cbcbc9;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2149" />
- </linearGradient>
- <linearGradient
- id="linearGradient37935">
- <stop
- id="stop37937"
- offset="0.0000000"
- style="stop-color:#9497b3;stop-opacity:1.0000000;" />
- <stop
- id="stop37939"
- offset="1.0000000"
- style="stop-color:#4c4059;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient2152">
- <stop
- id="stop2154"
- offset="0.0000000"
- style="stop-color:#9aa29a;stop-opacity:1.0000000;" />
- <stop
- id="stop2156"
- offset="1.0000000"
- style="stop-color:#b5beb5;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3816">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3818" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3820" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3816"
- id="radialGradient3822"
- cx="31.112698"
- cy="19.008621"
- fx="31.112698"
- fy="19.008621"
- r="8.6620579"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2152"
- id="linearGradient4307"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.123841,0.000000,0.000000,0.969691,-31.88758,-19.59492)"
- x1="8.9156475"
- y1="37.197018"
- x2="9.8855033"
- y2="52.090678" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient10653"
- id="radialGradient4309"
- gradientUnits="userSpaceOnUse"
- cx="11.329200"
- cy="10.583970"
- fx="11.329200"
- fy="10.583970"
- r="15.532059" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2145"
- id="radialGradient4311"
- gradientUnits="userSpaceOnUse"
- cx="11.901996"
- cy="10.045444"
- fx="11.901996"
- fy="10.045444"
- r="29.292715" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient42174"
- id="linearGradient4313"
- gradientUnits="userSpaceOnUse"
- x1="6.3422160"
- y1="7.7893324"
- x2="22.218424"
- y2="25.884274" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5196"
- id="radialGradient5202"
- cx="23.375"
- cy="10.972863"
- fx="23.375"
- fy="10.972863"
- r="3.3478092"
- gradientTransform="matrix(3.630420,1.654030e-15,-1.608743e-15,3.742066,-61.48607,-29.18618)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5204"
- id="linearGradient5210"
- x1="19.667364"
- y1="4.2570662"
- x2="20.329933"
- y2="5.2845874"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient37935"
- id="radialGradient5212"
- gradientUnits="userSpaceOnUse"
- cx="8.7468252"
- cy="6.8283234"
- fx="8.7468252"
- fy="6.8283234"
- r="29.889715" />
- </defs>
- <sodipodi:namedview
- stroke="#c4a000"
- fill="#babdb6"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313708"
- inkscape:cx="27.543713"
- inkscape:cy="25.106052"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1278"
- inkscape:window-height="782"
- inkscape:window-x="0"
- inkscape:window-y="16" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>New Appointment</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>appointment</rdf:li>
- <rdf:li>new</rdf:li>
- <rdf:li>meeting</rdf:li>
- <rdf:li>rvsp</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path4318"
- style="opacity:1;color:#000000;fill:url(#radialGradient3822);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="matrix(2.563158,0.000000,0.000000,1.219602,-55.98414,14.04144)" />
- <path
- sodipodi:nodetypes="cccc"
- id="path14341"
- d="M 18.587591,1.403729 L 4.226755,18.096665 L 5.4854717,19.339844 L 18.587591,1.403729 z "
- style="color:#000000;fill:url(#linearGradient4307);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path18921"
- d="M 18.467176,1.3138035 L 5.6605716,19.072612 L 7.4900985,20.687913 L 18.467176,1.3138035 z "
- style="fill:#fefefe;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" />
- <path
- transform="matrix(1.431529,0.000000,0.000000,1.431529,0.569459,-1.654618)"
- d="M 31.160714 16.910715 A 14.910714 14.910714 0 1 1 1.3392859,16.910715 A 14.910714 14.910714 0 1 1 31.160714 16.910715 z"
- sodipodi:ry="14.910714"
- sodipodi:rx="14.910714"
- sodipodi:cy="16.910715"
- sodipodi:cx="16.25"
- id="path27786"
- style="fill:url(#radialGradient5212);fill-opacity:1;fill-rule:evenodd;stroke:#605773;stroke-width:0.69855404;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(1.163838,0.000000,0.000000,1.163838,4.824801,2.777556)"
- d="M 31.160714 16.910715 A 14.910714 14.910714 0 1 1 1.3392859,16.910715 A 14.910714 14.910714 0 1 1 31.160714 16.910715 z"
- sodipodi:ry="14.910714"
- sodipodi:rx="14.910714"
- sodipodi:cy="16.910715"
- sodipodi:cx="16.25"
- id="path35549"
- style="fill:url(#radialGradient4311);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient4313);stroke-width:0.71139598;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="opacity:1;color:#000000;fill:url(#radialGradient5202);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient5210);stroke-width:0.56498736;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path4120"
- sodipodi:cx="23.375"
- sodipodi:cy="11.875"
- sodipodi:rx="8.5"
- sodipodi:ry="8.5"
- d="M 16.679382,6.6387137 A 8.5,8.5 0 0 1 23.332691,3.3751053 L 23.375,11.875 z"
- transform="matrix(1.769951,0.000000,0.000000,1.769951,-17.02424,1.610741)"
- sodipodi:start="3.8052902"
- sodipodi:end="4.7074114" />
- <path
- transform="matrix(2.073295,0.000000,0.000000,2.073295,-7.310224,-13.13682)"
- d="M 16.40625 17.28125 A 1.21875 1.21875 0 1 1 13.96875,17.28125 A 1.21875 1.21875 0 1 1 16.40625 17.28125 z"
- sodipodi:ry="1.21875"
- sodipodi:rx="1.21875"
- sodipodi:cy="17.28125"
- sodipodi:cx="15.1875"
- id="path34778"
- style="fill:#f3f3f3;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0.48232403;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;stroke-dasharray:none"
- sodipodi:type="arc" />
- <path
- id="path35559"
- d="M 22.176614,20.718014 L 13.155702,13.140282"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
- <path
- id="path35561"
- d="M 19.408614,29.776506 L 22.368655,25.283228"
- style="fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- sodipodi:nodetypes="cc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-22.30073,-12.40939)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35563"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-22.30073,14.80922)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35565"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-35.91004,1.199890)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35567"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- transform="matrix(2.749493,0.000000,0.000000,2.749493,-8.691448,1.199890)"
- d="M 17.324117 7.6932044 A 0.61871845 0.61871845 0 1 1 16.08668,7.6932044 A 0.61871845 0.61871845 0 1 1 17.324117 7.6932044 z"
- sodipodi:ry="0.61871845"
- sodipodi:rx="0.61871845"
- sodipodi:cy="7.6932044"
- sodipodi:cx="16.705399"
- id="path35569"
- style="fill:#b6b9b1;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.36871839;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;opacity:1"
- sodipodi:type="arc" />
- <path
- sodipodi:type="arc"
- style="fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#radialGradient4309);stroke-width:0.73656511;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1"
- id="path10651"
- sodipodi:cx="16.25"
- sodipodi:cy="16.910715"
- sodipodi:rx="14.910714"
- sodipodi:ry="14.910714"
- d="M 31.160714 16.910715 A 14.910714 14.910714 0 1 1 1.3392859,16.910715 A 14.910714 14.910714 0 1 1 31.160714 16.910715 z"
- transform="matrix(1.357654,0.000000,0.000000,1.357654,1.769896,-0.493735)" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-currency.svg b/share/pixmaps/tryton/tryton-currency.svg
deleted file mode 100644
index 0c859de..0000000
--- a/share/pixmaps/tryton/tryton-currency.svg
+++ /dev/null
@@ -1,156 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-<svg
- xmlns:ns="http://creativecommons.org/ns#"
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:cc="http://web.resource.org/cc/"
- 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"
- width="64px"
- height="64px"
- id="svg3471"
- sodipodi:version="0.32"
- inkscape:version="0.45.1"
- sodipodi:docname="tryton_currency.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape"
- sodipodi:docbase="/home/kp/Desktop">
- <defs
- id="defs3473">
- <linearGradient
- id="linearGradient3212">
- <stop
- style="stop-color:#fffff2;stop-opacity:1;"
- offset="0"
- id="stop3214" />
- <stop
- style="stop-color:#fffff2;stop-opacity:0;"
- offset="1"
- id="stop3216" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3212"
- id="linearGradient3230"
- gradientUnits="userSpaceOnUse"
- x1="164.10248"
- y1="472.9617"
- x2="199.2081"
- y2="538.2522" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3178">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3180" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop3182" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3178"
- id="linearGradient3228"
- gradientUnits="userSpaceOnUse"
- x1="271.86691"
- y1="489.62354"
- x2="337.84335"
- y2="553.1734" />
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 32 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="64 : 32 : 1"
- inkscape:persp3d-origin="32 : 21.333333 : 1"
- id="perspective3479" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3212"
- id="linearGradient2477"
- gradientUnits="userSpaceOnUse"
- x1="164.10248"
- y1="472.9617"
- x2="199.2081"
- y2="538.2522" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="9.3995622"
- inkscape:cx="33.147054"
- inkscape:cy="31.673852"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- inkscape:window-width="1590"
- inkscape:window-height="1027"
- inkscape:window-x="0"
- inkscape:window-y="25" />
- <metadata
- id="metadata3476">
- <rdf:RDF>
- <ns:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- </ns:Work>
- <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>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- id="g3224"
- transform="matrix(0.8931554,0,0,0.7971373,-218.20015,-362.23147)"
- style="opacity:1">
- <path
- d="M 296.75,483.0625 C 285.50025,483.06249 275.91981,490.42158 272.59375,501.28125 L 267.53125,501.28125 C 267.17234,501.28952 266.85283,501.51072 266.71875,501.84375 L 265,505.9375 C 264.88281,506.21268 264.91029,506.52815 265.0733,506.77892 C 265.2363,507.0297 265.51344,507.18288 265.8125,507.1875 L 271.625,507.1875 C 271.60957,507.51717 271.53125,508.00545 271.53125,508.25 C 271.53125,508.45898 271.60891,508.98953 271.625,509.34375 L 267.59375,509.34375 C 267.23484,509.35202 266.91533,509.57322 266.78125,509.90625 L 265.0625,514 C 264.94531,514.27518 264.97279,514.59065 265.1358,514.84142 C 265.2988,515.0922 265.57594,515.24538 265.875,515.25 L 272.59375,515.25 C 275.9198,526.10968 285.50025,533.46875 296.75,533.46875 C 302.55554,533.46876 307.78991,531.60217 312.8125,527.6875 C 313.03289,527.51462 313.16001,527.24883 313.15625,526.96875 L 313.15625,521.1875 C 313.16735,520.80303 312.93243,520.45417 312.572,520.31989 C 312.21157,520.18562 311.80565,520.29573 311.5625,520.59375 C 307.76401,525.08287 302.47798,527.5625 296.6875,527.5625 C 288.80745,527.56252 281.50208,522.43909 278.78125,515.25 L 304.3125,515.25 C 304.67141,515.24173 304.99092,515.02053 305.125,514.6875 L 306.875,510.59375 C 306.99219,510.31857 306.96471,510.0031 306.8017,509.75233 C 306.6387,509.50155 306.36156,509.34837 306.0625,509.34375 L 277.46875,509.34375 C 277.45886,508.9966 277.4375,508.54085 277.4375,508.25 C 277.43751,507.96282 277.45935,507.5257 277.46875,507.1875 L 307.71875,507.1875 C 308.08907,507.19188 308.42411,506.96852 308.5625,506.625 L 310.21875,502.53125 C 310.33814,502.25096 310.30731,501.92927 310.13686,501.67676 C 309.96642,501.42425 309.6796,501.27535 309.375,501.28125 L 303.96875,501.28125 L 278.78125,501.28125 C 281.60782,493.96489 288.72027,488.96875 296.75,488.96875 C 302.54762,488.96874 307.60774,491.35829 311.5625,495.9375 C 311.76763,496.16833 312.07695,496.2776 312.38156,496.22683 C 312.68616,496.17607 312.94332,495.97238 313.0625,495.6875 L 314.78125,491.59375 C 314.9176,491.26234 314.84391,490.8816 314.59375,490.625 C 309.48198,485.58729 303.45038,483.0625 296.75,483.0625 z "
- inkscape:href="#path3174"
- id="path3176"
- style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#edd400;fill-opacity:1;stroke:#c4a000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Standard Symbols L"
- xlink:href="#path3174"
- inkscape:original="M 296.75 483.96875 C 285.66202 483.96874 276.24275 491.31551 273.21875 502.1875 L 267.53125 502.1875 L 265.8125 506.28125 L 272.5625 506.28125 C 272.4185 507.36125 272.4375 507.746 272.4375 508.25 C 272.43751 508.68201 272.4185 509.17 272.5625 510.25 L 267.59375 510.25 L 265.875 514.34375 L 273.21875 514.34375 C 276.24274 525.21575 285.66201 532.5625 296.75 532.5625 C 302.36601 532.56251 307.35401 530.78474 312.25 526.96875 L 312.25 521.1875 C 308.29001 525.86748 302.7355 528.46875 296.6875 528.46875 C 287.97551 528.46877 279.91675 522.55174 277.46875 514.34375 L 304.3125 514.34375 L 306.0625 510.25 L 276.59375 510.25 C 276.52176 509.16999 276.53125 508.754 276.53125 508.25 C 276.53126 507.74601 276.52175 507.28924 276.59375 506.28125 L 307.71875 506.28125 L 309.375 502.1875 L 303.96875 502.1875 L 277.46875 502.1875 C 280.06075 493.83549 287.89401 488.0625 296.75 488.0625 C 302.79801 488.06249 308.14601 490.59175 312.25 495.34375 L 313.96875 491.25 C 309.00076 486.35399 303.22999 483.96875 296.75 483.96875 z "
- inkscape:radius="0.89809996"
- sodipodi:type="inkscape:offset" />
- <path
- id="path3174"
- d="M 265.80469,506.29405 L 272.57269,506.29405 C 272.42869,507.37404 272.42869,507.73405 272.42869,508.23805 C 272.42869,508.67005 272.42869,509.17405 272.57269,510.25405 L 267.60469,510.25405 L 265.87669,514.35805 L 273.22069,514.35805 C 276.24469,525.23003 285.6767,532.57405 296.76469,532.57405 C 302.38069,532.57405 307.3487,530.77404 312.24469,526.95805 L 312.24469,521.19805 C 308.2847,525.87804 302.74069,528.47005 296.69269,528.47005 C 287.9807,528.47005 279.91669,522.56604 277.46869,514.35805 L 304.32469,514.35805 L 306.05269,510.25405 L 276.60469,510.25405 C 276.53269,509.17405 276.53269,508.74205 276.53269,508.23805 C 276.53269,507.73405 276.53269,507.30204 276.60469,506.29405 L 307.70869,506.29405 L 309.36469,502.19005 L 303.96469,502.19005 L 277.46869,502.19005 C 280.06069,493.83805 287.9087,488.07805 296.76469,488.07805 C 302.81269,488.07805 308.1407,490.59805 312.24469,495.35005 L 313.97269,491.24605 C 309.0047,486.35005 303.24468,483.97405 296.76469,483.97405 C 285.6767,483.97405 276.24469,491.31806 273.22069,502.19005 L 267.53269,502.19005 L 265.80469,506.29405"
- style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;fill-opacity:1;stroke:url(#linearGradient3228);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:round;stroke-opacity:0.5685131;font-family:Standard Symbols L" />
- </g>
- <g
- id="g3220"
- transform="matrix(0.9052219,0,0,0.7850254,-144.37571,-367.32813)">
- <path
- d="M 176.625,469.6875 C 176.2001,469.77976 175.89932,470.15901 175.90625,470.59375 L 175.90625,478.09375 C 171.43545,478.52806 167.79113,479.7504 165.21875,481.96875 C 162.46799,484.34101 161.06249,487.66198 161.0625,491.6875 C 161.06249,495.40862 162.36694,498.47248 164.90625,500.65625 C 167.33262,502.72229 171.05853,504.12401 175.90625,505 L 175.90625,519.34375 C 173.71599,519.2441 171.59353,518.88804 169.5,518.25 C 167.14123,517.50155 164.79954,516.39997 162.46875,514.9375 C 162.18589,514.75543 161.8258,514.74376 161.53174,514.90713 C 161.23768,515.07049 161.05735,515.3824 161.0625,515.71875 L 161.0625,522.0625 C 161.06207,522.43164 161.2841,522.76467 161.625,522.90625 C 164.16221,523.98338 166.70359,524.7928 169.21875,525.34375 C 171.44159,525.80948 173.65009,526.00207 175.875,526.09375 L 175.90625,535.875 C 175.90965,536.37409 176.31341,536.77785 176.8125,536.78125 L 180.3125,536.78125 C 180.81159,536.77785 181.21535,536.37409 181.21875,535.875 L 181.21875,526.03125 C 185.94444,525.58382 189.72299,524.27205 192.40625,521.96875 C 195.27153,519.50559 196.74996,516.07595 196.75,511.90625 C 196.74996,508.03817 195.36181,504.83826 192.65625,502.5625 C 190.09832,500.41103 186.20028,498.98342 181.21875,498.125 L 181.21875,484.875 C 182.98278,485.00567 184.73684,485.21494 186.40625,485.65625 C 188.40539,486.1788 190.32898,486.91879 192.21875,487.875 C 192.50034,488.01235 192.8327,487.99564 193.09909,487.83074 C 193.36547,487.66583 193.52863,487.37579 193.53125,487.0625 L 193.53125,480.9375 C 193.53515,480.54102 193.28256,480.1874 192.90625,480.0625 C 190.92599,479.41837 188.90105,478.89139 186.8125,478.53125 C 185.00704,478.19925 183.12033,478.04985 181.21875,477.9375 L 181.21875,470.59375 C 181.21535,470.09466 180.81159,469.6909 180.3125,469.6875 L 176.8125,469.6875 C 176.75017,469.68106 176.68733,469.68106 176.625,469.6875 L 176.625,469.6875 z M 175.90625,484.9375 L 175.90625,497.03125 C 173.69602,496.54607 171.96905,495.90983 171,495.09375 C 169.88716,494.13993 169.34373,492.91137 169.34375,491.09375 C 169.34373,489.24558 169.9468,487.89052 171.1875,486.8125 C 172.24444,485.8942 173.87032,485.29376 175.90625,484.9375 z M 181.21875,506.15625 C 183.62314,506.70528 185.4989,507.43711 186.5625,508.34375 C 187.82067,509.39903 188.40621,510.70737 188.40625,512.5625 C 188.40621,514.45338 187.77368,515.83813 186.4375,516.96875 C 185.31078,517.93701 183.49808,518.60046 181.21875,519.03125 L 181.21875,506.15625 z "
- inkscape:href="#text2392"
- id="path3210"
- style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#4e9a06;fill-opacity:1;stroke:#4e9a06;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Standard Symbols L"
- xlink:href="#text2392"
- inkscape:original="M 176.8125 470.59375 L 176.8125 478.84375 C 172.03124 479.17192 168.36717 480.45317 165.8125 482.65625 C 163.2578 484.85942 161.96874 487.86723 161.96875 491.6875 C 161.96874 495.20316 163.15624 497.95315 165.5 499.96875 C 167.86718 501.98439 171.6328 503.43752 176.8125 504.28125 L 176.8125 520.3125 C 174.21092 520.28907 171.67967 519.87501 169.21875 519.125 C 166.78124 518.35157 164.35936 517.21875 161.96875 515.71875 L 161.96875 522.0625 C 164.45311 523.11719 166.94531 523.89843 169.40625 524.4375 C 171.86718 524.95312 174.32029 525.23437 176.78125 525.28125 L 176.8125 535.875 L 180.3125 535.875 L 180.3125 525.21875 C 185.32809 524.86719 189.16403 523.55469 191.8125 521.28125 C 194.48434 518.98438 195.84371 515.8672 195.84375 511.90625 C 195.84371 508.25002 194.57027 505.35939 192.0625 503.25 C 189.55465 501.14065 185.63278 499.66408 180.3125 498.84375 L 180.3125 483.84375 C 182.46872 483.93754 184.58591 484.24222 186.625 484.78125 C 188.68746 485.32035 190.67965 486.07817 192.625 487.0625 L 192.625 480.9375 C 190.67965 480.30473 188.69528 479.7891 186.65625 479.4375 C 184.61716 479.06254 182.49216 478.8438 180.3125 478.75 L 180.3125 470.59375 L 176.8125 470.59375 z M 176.8125 483.8125 L 176.8125 498.21875 C 173.8828 497.72659 171.74217 496.90628 170.40625 495.78125 C 169.09373 494.65628 168.43748 493.10941 168.4375 491.09375 C 168.43748 489.03129 169.16405 487.36723 170.59375 486.125 C 172.02342 484.88286 174.09373 484.11723 176.8125 483.8125 z M 180.3125 504.96875 C 183.42966 505.53127 185.72653 506.43752 187.15625 507.65625 C 188.60934 508.87501 189.31246 510.50002 189.3125 512.5625 C 189.31246 514.67189 188.55466 516.3672 187.03125 517.65625 C 185.53122 518.94532 183.28903 519.78907 180.3125 520.1875 L 180.3125 504.96875 z "
- inkscape:radius="0.91239583"
- sodipodi:type="inkscape:offset" />
- <path
- id="text2392"
- d="M 180.32741,535.87305 L 176.81178,535.87305 L 176.77663,525.29102 C 174.31567,525.24414 171.85474,524.96289 169.39381,524.44727 C 166.93287,523.9082 164.46021,523.11133 161.97585,522.05664 L 161.97585,515.72852 C 164.36646,517.22852 166.78052,518.36524 169.21803,519.13867 C 171.67895,519.88868 174.2102,520.2754 176.81178,520.29883 L 176.81178,504.26758 C 171.63208,503.42385 167.85865,501.99416 165.49147,499.97852 C 163.14771,497.96292 161.97584,495.1973 161.97585,491.68164 C 161.97584,487.86137 163.25318,484.84965 165.80788,482.64648 C 168.36255,480.4434 172.03052,479.17778 176.81178,478.84961 L 176.81178,470.58789 L 180.32741,470.58789 L 180.32741,478.74414 C 182.50707,478.83794 184.61644,479.07231 186.65553,479.44727 C 188.69456,479.79887 190.68675,480.29106 192.6321,480.92383 L 192.6321,487.07617 C 190.68675,486.09184 188.68284,485.33012 186.62038,484.79102 C 184.58129,484.25199 182.48363,483.93559 180.32741,483.8418 L 180.32741,498.85352 C 185.64769,499.67385 189.56175,501.1387 192.0696,503.24805 C 194.57737,505.35744 195.83127,508.24025 195.83131,511.89648 C 195.83127,515.85743 194.49534,518.98633 191.8235,521.2832 C 189.17503,523.55664 185.343,524.86914 180.32741,525.2207 L 180.32741,535.87305 M 176.81178,498.2207 L 176.81178,483.80664 C 174.09301,484.11137 172.0188,484.88481 170.58913,486.12695 C 169.15943,487.36918 168.44458,489.02152 168.4446,491.08398 C 168.44458,493.09964 169.10083,494.66995 170.41335,495.79492 C 171.74927,496.91995 173.88208,497.72854 176.81178,498.2207 M 180.32741,504.9707 L 180.32741,520.19336 C 183.30394,519.79493 185.54222,518.95118 187.04225,517.66211 C 188.56566,516.37306 189.32737,514.67384 189.32741,512.56445 C 189.32737,510.50197 188.60081,508.86134 187.14772,507.64258 C 185.718,506.42385 183.44457,505.53322 180.32741,504.9707"
- style="font-size:72px;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:none;fill-opacity:1;stroke:url(#linearGradient2477);stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.78717203;font-family:Standard Symbols L" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-development.svg b/share/pixmaps/tryton/tryton-development.svg
deleted file mode 100644
index 58a8013..0000000
--- a/share/pixmaps/tryton/tryton-development.svg
+++ /dev/null
@@ -1,327 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="48"
- height="48"
- id="svg2"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- version="1.0"
- sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/categories"
- sodipodi:docname="applications-development.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs4">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2807">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2809" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2811" />
- </linearGradient>
- <linearGradient
- id="linearGradient18284">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop18286" />
- <stop
- id="stop20913"
- offset="0.5"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop19165"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11202">
- <stop
- style="stop-color:#c4a000;stop-opacity:1;"
- offset="0"
- id="stop11204" />
- <stop
- style="stop-color:#c4a000;stop-opacity:0;"
- offset="1"
- id="stop11206" />
- </linearGradient>
- <linearGradient
- id="linearGradient8543">
- <stop
- style="stop-color:#fffef5;stop-opacity:0.94117647;"
- offset="0"
- id="stop8545" />
- <stop
- style="stop-color:#fce94f;stop-opacity:0;"
- offset="1"
- id="stop8547" />
- </linearGradient>
- <linearGradient
- id="linearGradient5012">
- <stop
- style="stop-color:#fdf188;stop-opacity:1;"
- offset="0"
- id="stop5014" />
- <stop
- style="stop-color:#d3bc00;stop-opacity:1;"
- offset="1"
- id="stop5016" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5012"
- id="radialGradient7666"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.136507,-2.396132e-18,-4.484926e-5,7.137743e-2,-23.39816,12.31028)"
- cx="336.73767"
- cy="-72.420044"
- fx="336.73767"
- fy="-72.420044"
- r="297.21338" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8543"
- id="radialGradient8549"
- cx="420.87839"
- cy="685.99139"
- fx="420.87839"
- fy="685.99139"
- r="235.88632"
- gradientTransform="matrix(0.163532,-1.065754e-2,1.078108e-2,0.165425,-46.18187,-65.65506)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8543"
- id="radialGradient9434"
- cx="500.97794"
- cy="286.46918"
- fx="500.97794"
- fy="286.46918"
- r="40.975471"
- gradientTransform="matrix(0.224796,1.017229e-2,-9.759474e-3,0.215674,-73.87964,-54.89804)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8543"
- id="radialGradient10317"
- cx="293.81989"
- cy="243.06874"
- fx="293.81989"
- fy="243.06874"
- r="48.782982"
- gradientTransform="matrix(0.272962,-7.1724e-2,5.616202e-2,0.213737,-78.54657,-24.30491)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11202"
- id="radialGradient11208"
- cx="424.99243"
- cy="270.67969"
- fx="424.99243"
- fy="270.67969"
- r="38.451698"
- gradientTransform="matrix(8.174351e-2,1.024998e-2,-4.335971e-2,0.345793,6.123413,-84.50421)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8543"
- id="radialGradient13895"
- cx="340.35886"
- cy="409.83737"
- fx="340.35886"
- fy="409.83737"
- r="103.26014"
- gradientTransform="matrix(0.105628,-4.514018e-2,6.692574e-2,0.156607,-46.01605,-24.35485)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient18284"
- id="radialGradient18290"
- cx="29.898689"
- cy="45.673546"
- fx="29.898689"
- fy="45.673546"
- r="30.365856"
- gradientTransform="matrix(1,0,2.702168e-19,0.415385,-2.283104e-16,26.70146)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient8543"
- id="radialGradient2798"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.101953,-4.272301e-2,9.621296e-2,0.229599,-48.67227,-64.24148)"
- cx="131.23691"
- cy="424.15677"
- fx="131.23691"
- fy="424.15677"
- r="35.934704" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2807"
- id="radialGradient2813"
- cx="15.491823"
- cy="10.943316"
- fx="15.491823"
- fy="10.943316"
- r="18.370251"
- gradientTransform="matrix(1.402663,1.176399e-16,-9.356816e-17,1.115648,-6.237984,5.33075e-2)"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.13333333"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="11.313708"
- inkscape:cx="24.942255"
- inkscape:cy="29.100296"
- inkscape:document-units="px"
- inkscape:current-layer="layer1"
- inkscape:window-width="906"
- inkscape:window-height="987"
- inkscape:window-x="635"
- inkscape:window-y="114"
- inkscape:showpageshadow="false"
- stroke="#c4a000" />
- <metadata
- id="metadata7">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:contributor>
- <cc:Agent>
- <dc:title>Henrik Andersen</dc:title>
- </cc:Agent>
- </dc:contributor>
- <dc:title>Developer Tools</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>developer</rdf:li>
- <rdf:li>dev</rdf:li>
- <rdf:li>tool</rdf:li>
- <rdf:li>make</rdf:li>
- <rdf:li>compile</rdf:li>
- <rdf:li>build</rdf:li>
- <rdf:li>code</rdf:li>
- <rdf:li>hacker</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:label="Layer 1"
- id="layer1"
- inkscape:groupmode="layer">
- <path
- sodipodi:type="arc"
- style="opacity:1;fill:url(#radialGradient18290);fill-opacity:1;stroke:none;stroke-width:12.39700031;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- id="path17409"
- sodipodi:cx="29.898689"
- sodipodi:cy="45.673546"
- sodipodi:rx="30.365856"
- sodipodi:ry="12.613509"
- d="M 60.264545 45.673546 A 30.365856 12.613509 0 1 1 -0.4671669,45.673546 A 30.365856 12.613509 0 1 1 60.264545 45.673546 z"
- transform="matrix(0.742527,0,-5.812964e-2,1.428611,4.500517,-36.68345)" />
- <path
- style="fill:url(#radialGradient7666);fill-opacity:1;stroke:#c4a000;stroke-width:1;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
- d="M 23.152758,1.1801876 C 20.380218,1.2190783 17.86582,1.8908769 15.634281,3.0196314 C 14.541531,5.1714614 10.9437,7.7293655 9.4689484,8.0015561 C 6.5691703,11.460832 4.6887193,15.805035 3.9754523,19.98162 C 3.9750148,19.984183 3.9758889,19.986781 3.9754523,19.989343 C 2.7890929,21.53906 2.2854415,23.385937 2.5981051,25.521903 C 3.7192795,33.181217 5.8802729,40.410195 10.783201,42.078178 C 17.93763,44.512124 32.65497,43.864025 35.912708,42.536436 C 43.051738,39.62715 43.684161,33.251338 44.80414,25.75618 C 45.109694,23.711348 44.659305,21.914978 43.573539,20.383238 C 43.564583,20.327636 43.555052,20.271764 43.54522,20.215896 C 42.763966,15.777007 40.697859,11.326849 37.602582,7.8466935 C 35.508773,7.62926 31.462964,4.270333 30.483158,2.6229925 C 28.330506,1.7020155 25.961342,1.1801876 23.407632,1.1801876 C 23.322311,1.1801876 23.237595,1.178998 23.152758,1.1801876 z "
- id="path3120"
- sodipodi:nodetypes="cccscsssscsccsc" />
- <path
- style="fill:url(#radialGradient8549);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;opacity:0.66666667"
- d="M 43.629688,22.792984 C 39.033494,39.233217 10.438199,40.802737 3.7832765,23.04227 C 3.7410682,39.366403 10.103414,44.083889 28.189955,43.247454 C 31.251932,43.106765 38.199775,43.290321 42.804439,34.110678 C 45.042804,22.600278 43.629688,22.792984 43.629688,22.792984 z "
- id="path7668"
- sodipodi:nodetypes="ccscc" />
- <path
- style="fill:url(#radialGradient9434);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 34.691565,7.6783057 L 37.192446,8.8037033 C 37.192446,8.8037033 35.882042,18.926343 30.52343,25.288675 C 32.295095,18.832841 34.712405,7.6783057 34.691565,7.6783057 z "
- id="path8553"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:url(#radialGradient10317);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 15.872437,4.1562328 C 17.372967,13.221927 22.374727,23.642261 21.874552,24.163278 C 17.289604,17.181654 15.372261,11.242061 13.871732,6.2403001 C 13.871732,6.1569366 15.872437,4.1770734 15.872437,4.1562328 z "
- id="path9436"
- sodipodi:nodetypes="cccc" />
- <path
- style="fill:url(#radialGradient11208);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 30.21082,3.8227818 C 26.126047,20.328594 25.959322,23.079563 25.959322,23.079563 C 25.959322,23.079563 32.294888,6.3236627 32.294888,5.9068495 C 32.294888,5.9068487 30.710997,4.4063209 30.21082,3.8227818 z "
- id="path10319"
- sodipodi:nodetypes="ccsc" />
- <flowRoot
- xml:space="preserve"
- id="flowRoot12974"><flowRegion
- id="flowRegion12976"><rect
- id="rect12978"
- width="40.055775"
- height="16.02231"
- x="86.787514"
- y="412.80496" /></flowRegion><flowPara
- id="flowPara12980" /></flowRoot> <path
- style="fill:url(#radialGradient13895);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 16.18209,34.476182 L 16.137416,24.906437 L 30.631143,24.906437 L 32.273747,23.642895 L 15.342282,23.642895 L 15.386956,34.283476 L 16.18209,34.476182 z "
- id="path13014"
- sodipodi:nodetypes="ccccccc" />
- <path
- style="fill:#958401;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 31.043495,24.81709 L 31.125176,34.621701 L 31.81132,34.406959 L 31.823298,23.553549 L 31.043495,24.81709 z "
- id="path13897"
- sodipodi:nodetypes="ccccc" />
- <path
- style="fill:url(#radialGradient2798);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- d="M 4.2551267,24.106065 C 4.2551267,24.106065 6.571777,32.221754 14.476068,32.872102 C 15.581676,35.36252 13.341098,36.996703 13.341098,36.996703 L 9.7315781,36.745641 C 9.7315781,36.745641 3.4928036,28.752699 3.2433694,26.844759 C 2.9939369,24.936822 3.4066529,23.436966 3.4066529,23.436966 L 4.2551267,24.106065 z "
- id="path16526"
- sodipodi:nodetypes="ccccscc" />
- <path
- sodipodi:nodetypes="cccscsssscsccsc"
- id="path2703"
- d="M 23.184204,2.3889904 C 20.570275,2.4256563 18.199721,3.0590226 16.095844,4.1232033 C 15.065608,6.1519314 11.673602,8.563503 10.283218,8.8201221 C 7.5493302,12.0815 5.776456,16.17718 5.1039936,20.11483 C 5.1035812,20.117247 5.1044052,20.119696 5.1039936,20.122112 C 3.9855035,21.583172 3.2455,23.368587 3.5402767,25.382359 C 4.597311,32.603499 6.4678792,39.092036 10.868256,41.021813 C 16.791397,43.619395 32.407978,42.807748 35.479348,41.556108 C 42.209968,38.813256 42.541047,32.625414 43.596954,25.559039 C 43.885028,23.631188 43.460404,21.937585 42.436753,20.493473 C 42.428309,20.441052 42.419324,20.388376 42.410054,20.335704 C 41.673494,16.150755 39.725585,11.955182 36.807382,8.6741189 C 34.833356,8.4691243 31.019,5.3023548 30.095246,3.7492553 C 28.065743,2.8809656 25.832115,2.3889904 23.424497,2.3889904 C 23.344057,2.3889904 23.264188,2.3878689 23.184204,2.3889904 z "
- style="fill:none;fill-opacity:1;stroke:#ffffff;stroke-width:0.99999976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.74444444" />
- <path
- style="fill:url(#radialGradient2813);fill-opacity:1.0;stroke:none;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;opacity:0.59444444"
- d="M 22.59375,2.78125 C 20.264193,2.8978182 18.152779,3.5062884 16.25,4.46875 C 15.239275,6.4590559 11.895302,8.841991 10.53125,9.09375 C 7.8491405,12.293361 6.1284766,16.293174 5.46875,20.15625 C 5.4683454,20.15862 5.4691538,20.18513 5.46875,20.1875 C 4.3714431,21.62089 4.0107233,23.778648 4.0107233,23.778648 C 8.6959903,27.38371 11.652335,23.99254 18.329596,21.761428 C 30.928876,23.684569 37.077934,20.765483 40.84375,16.09375 C 40.850609,16.085241 40.840294,16.072869 40.84375,16.0625 C 39.852567,13.479666 38.411479,11.016387 36.5625,8.9375 C 34.62586,8.7363873 30.875008,5.6486852 29.96875,4.125 C 27.977684,3.2731547 25.79952,2.78125 23.4375,2.78125 C 23.358584,2.7812501 23.265969,2.7801497 23.1875,2.78125 C 22.987154,2.7840603 22.79117,2.7713713 22.59375,2.78125 z "
- id="path2800"
- sodipodi:nodetypes="cccssccscccssc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-folder-saved-search.svg b/share/pixmaps/tryton/tryton-folder-saved-search.svg
deleted file mode 100644
index bb34a6c..0000000
--- a/share/pixmaps/tryton/tryton-folder-saved-search.svg
+++ /dev/null
@@ -1,531 +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://web.resource.org/cc/"
- 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"
- width="48.000000px"
- height="48.000000px"
- id="svg97"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/places"
- sodipodi:docname="folder-saved-search.svg"
- inkscape:export-filename="/home/jimmac/Desktop/tango.png"
- inkscape:export-xdpi="90.000000"
- inkscape:export-ydpi="90.000000">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient3344">
- <stop
- style="stop-color:#fecf8c;stop-opacity:1;"
- offset="0"
- id="stop3346" />
- <stop
- id="stop3352"
- offset="0.18421052"
- style="stop-color:#fcba58;stop-opacity:1;" />
- <stop
- style="stop-color:#fdc572;stop-opacity:1;"
- offset="1"
- id="stop3348" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient10997">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop10999" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop11001" />
- </linearGradient>
- <linearGradient
- id="linearGradient127"
- inkscape:collect="always">
- <stop
- id="stop128"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop129"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient9806">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop9808" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop9810" />
- </linearGradient>
- <linearGradient
- id="linearGradient9766">
- <stop
- style="stop-color:#6194cb;stop-opacity:1;"
- offset="0"
- id="stop9768" />
- <stop
- style="stop-color:#729fcf;stop-opacity:1;"
- offset="1"
- id="stop9770" />
- </linearGradient>
- <linearGradient
- id="linearGradient3096">
- <stop
- id="stop3098"
- offset="0"
- style="stop-color:#424242;stop-opacity:1;" />
- <stop
- id="stop3100"
- offset="1.0000000"
- style="stop-color:#777777;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient319"
- inkscape:collect="always">
- <stop
- id="stop320"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop321"
- offset="1"
- style="stop-color:#ffffff;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient1789">
- <stop
- style="stop-color:#202020;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop1790" />
- <stop
- style="stop-color:#b9b9b9;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop1791" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient1789"
- id="radialGradient238"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.056008,1.513357e-2,0.142618,1.251599,-2.276279,-10.28106)"
- cx="20.706017"
- cy="37.517986"
- fx="20.706017"
- fy="37.517986"
- r="30.905205" />
- <linearGradient
- id="linearGradient3983">
- <stop
- style="stop-color:#ffffff;stop-opacity:0.87628865;"
- offset="0.0000000"
- id="stop3984" />
- <stop
- style="stop-color:#fffffe;stop-opacity:0.0000000;"
- offset="1.0000000"
- id="stop3985" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3983"
- id="linearGradient491"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.516844,0.000000,0.000000,0.708978,-0.879573,-1.318166)"
- x1="6.2297964"
- y1="13.773066"
- x2="9.8980894"
- y2="66.834053" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="46.689312"
- x2="12.853771"
- y1="32.567184"
- x1="13.035696"
- gradientTransform="matrix(1.317489,0,0,0.816256,-0.879573,-1.318166)"
- id="linearGradient322"
- xlink:href="#linearGradient319"
- inkscape:collect="always" />
- <linearGradient
- gradientUnits="userSpaceOnUse"
- y2="6.1802502"
- x2="15.514889"
- y1="31.367750"
- x1="18.112709"
- id="linearGradient3104"
- xlink:href="#linearGradient3096"
- inkscape:collect="always" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9806"
- id="radialGradient9812"
- cx="24.35099"
- cy="41.591846"
- fx="24.35099"
- fy="41.591846"
- r="19.136078"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.242494,-8.239935e-18,31.50606)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient10997"
- id="linearGradient11003"
- x1="19.489662"
- y1="6.1438289"
- x2="19.387241"
- y2="8.1000004"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient127"
- id="linearGradient2296"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.207872,0.000000,0.000000,0.827902,-0.952004,-0.117547)"
- x1="21.354231"
- y1="26.383648"
- x2="20.796143"
- y2="50.770691" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient127"
- id="linearGradient3289"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.207872,0,-4.031129e-2,0.827902,-29.59565,-0.117547)"
- x1="20.133097"
- y1="33.646938"
- x2="20.796143"
- y2="50.770691" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3344"
- id="linearGradient3350"
- x1="28.238476"
- y1="40.013306"
- x2="28.752831"
- y2="17.488001"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- fill="#fcaf3e"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.68235294"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="4"
- inkscape:cx="78.890148"
- inkscape:cy="5.2709923"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1160"
- inkscape:window-height="1056"
- inkscape:window-x="262"
- inkscape:window-y="18"
- inkscape:showpageshadow="false"
- stroke="#ce5c00"
- gridempspacing="4" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Home Folder Icon</dc:title>
- <dc:date />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>folder</rdf:li>
- <rdf:li>directory</rdf:li>
- <rdf:li>home</rdf:li>
- <rdf:li>user</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Folder"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- transform="matrix(2.262383e-2,0,0,2.086758e-2,43.38343,36.36962)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <path
- d="M 4.5217805,38.687417 C 4.5435766,39.103721 4.9816854,39.520026 5.39799,39.520026 L 36.725011,39.520026 C 37.141313,39.520026 37.535823,39.103721 37.514027,38.687417 L 36.577584,11.460682 C 36.555788,11.044379 36.117687,10.628066 35.701383,10.628066 L 22.43051,10.628066 C 21.945453,10.628066 21.196037,10.312477 21.028866,9.5214338 L 20.417475,6.6283628 C 20.262006,5.8926895 19.535261,5.5904766 19.118957,5.5904766 L 4.3400975,5.5904766 C 3.9237847,5.5904766 3.5292767,6.0067807 3.5510726,6.4230849 L 4.5217805,38.687417 z "
- id="path216"
- style="fill:url(#radialGradient238);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3104);stroke-width:0.99844444;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:nodetypes="ccccccssssccc"
- transform="matrix(1.00104,0,0,1.002076,-5.390135e-2,-0.102084)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- id="g3953">
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.0421736,18.5625 L 35.489104,18.5625"
- id="path9784"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9778"
- d="M 4.9806965,12.5625 L 35.488057,12.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.2265927,22.5625 L 35.492173,22.5625"
- id="path9788"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9798"
- d="M 5.3861577,32.5625 L 35.494881,32.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.5091398,34.5625 L 35.496893,34.5625"
- id="path9800"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9782"
- d="M 5.0421736,16.5625 L 35.489104,16.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path9786"
- d="M 5.1958537,20.5625 L 35.491649,20.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000012;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.0114345,14.5625 L 35.48858,14.5625"
- id="path9780"
- sodipodi:nodetypes="cc" />
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- inkscape:export-ydpi="74.800003"
- inkscape:export-xdpi="74.800003"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- transform="matrix(1.040764,0,5.449252e-2,1.040764,-8.539401,2.452526)"
- id="g220"
- style="fill:#ffffff;fill-opacity:0.75706213;fill-rule:nonzero;stroke:none;stroke-width:0.99946535;stroke-miterlimit:4">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- sodipodi:nodetypes="cscscs"
- id="path221"
- d="M 42.417183,8.5151772 C 42.422267,8.4180642 42.289022,8.268189 42.182066,8.2681716 L 29.150665,8.2660527 C 29.150665,8.2660527 30.062379,8.8540072 31.352477,8.8622963 L 42.405974,8.9333167 C 42.41706,8.7215889 42.408695,8.6772845 42.417183,8.5151772 z "
- style="fill:#ffffff;fill-opacity:0.50847461" />
- </g>
- <path
- sodipodi:nodetypes="cc"
- id="path9790"
- d="M 5.2265927,24.5625 L 35.492173,24.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.3246666,30.5625 L 35.493876,30.5625"
- id="path9796"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9794"
- d="M 5.3246666,28.5625 L 35.493876,28.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000036;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cc"
- id="path9802"
- d="M 5.5091398,36.5625 L 35.496893,36.5625"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccccccccscccccc"
- id="path219"
- d="M 6.068343,38.864023 C 6.0846856,39.176251 5.8874317,39.384402 5.5697582,39.280326 L 5.5697582,39.280326 C 5.2520766,39.176251 5.033027,38.968099 5.0166756,38.65587 L 4.068956,6.5913839 C 4.0526131,6.2791558 4.2341418,6.0906134 4.5463699,6.0906134 L 18.96842,6.0429196 C 19.280648,6.0429196 19.900363,6.3433923 20.101356,7.3651014 L 20.674845,10.180636 C 20.247791,9.715379 20.255652,9.7010175 20.037287,9.0239299 L 19.631192,7.7647478 C 19.412142,7.0371009 18.932991,6.9328477 18.620763,6.9328477 L 5.7329889,6.9328477 C 5.4207613,6.9328477 5.2235075,7.1409999 5.2398583,7.4532364 L 6.1778636,38.968099 L 6.068343,38.864023 z "
- style="opacity:0.45142858;color:#000000;fill:url(#linearGradient491);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.21380496;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 5.2880638,26.5625 L 35.493184,26.5625"
- id="path9792"
- sodipodi:nodetypes="cc" />
- <path
- sodipodi:nodetypes="cc"
- id="path9774"
- d="M 4.8737534,8.5624999 L 19.657487,8.5624999"
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.99999982;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.11363633;color:#000000;fill:#729fcf;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 4.9220969,10.5625 L 20.202912,10.5625"
- id="path9776"
- sodipodi:nodetypes="cc" />
- </g>
- <path
- style="color:#000000;fill:url(#linearGradient3350);fill-opacity:1;fill-rule:nonzero;stroke:#ce5c00;stroke-width:1.00452971;stroke-linecap:butt;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block"
- d="M 39.783532,39.51062 C 40.927426,39.466556 41.746608,38.414321 41.830567,37.189615 C 42.622354,25.640928 43.489927,15.957666 43.489927,15.957666 C 43.562082,15.710182 43.322016,15.462699 43.009787,15.462699 L 8.6386304,15.462699 C 8.6386304,15.462699 6.7883113,37.329591 6.7883113,37.329591 C 6.6737562,38.311657 6.3223038,39.134309 5.2384755,39.513304 L 39.783532,39.51062 z "
- id="path233"
- sodipodi:nodetypes="cscccscc"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- inkscape:export-xdpi="74.800003"
- inkscape:export-ydpi="74.800003"
- transform="matrix(0.993091,0,0,0.997896,0.297716,6.983586e-2)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:nodetypes="ccsscsc"
- id="path304"
- d="M 9.6202444,16.463921 L 42.411343,16.528735 L 40.837297,36.530714 C 40.752975,37.602225 40.386619,37.958929 38.964641,37.958929 C 37.093139,37.958929 10.286673,37.926522 7.569899,37.926522 C 7.8034973,37.605711 7.9036547,36.937899 7.9049953,36.92191 L 9.6202444,16.463921 z "
- style="opacity:0.46590911;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient322);stroke-width:1.00452948px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.993091,0,0,0.997896,0.297716,6.983586e-2)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path323"
- d="M 9.6202481,16.223182 L 8.4536014,31.866453 C 8.4536014,31.866453 16.749756,27.718375 27.119949,27.718375 C 37.490142,27.718375 42.675239,16.223182 42.675239,16.223182 L 9.6202481,16.223182 z "
- style="fill:#ffffff;fill-opacity:0.0892857;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- transform="matrix(0.993091,0,0,0.997896,0.297716,6.983586e-2)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- inkscape:export-ydpi="74.800003"
- inkscape:export-xdpi="74.800003"
- inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/gnome-fs-directory.png"
- style="opacity:0.41477272;fill:url(#linearGradient11003);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-miterlimit:4"
- transform="matrix(1.040764,0.000000,5.449252e-2,1.365642,-8.358528,0.921788)"
- id="g217" />
- <path
- style="opacity:1;color:#000000;fill:url(#linearGradient3289);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:3pt;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M 23.216296,20.483131 C 19.939735,20.734409 17.206653,23.494648 17.044768,26.819388 C 16.874921,30.307641 19.609265,33.181937 23.097519,33.181937 C 24.80758,33.181937 26.401076,32.506995 27.601545,31.394113 C 27.663282,31.574078 27.771542,31.746853 27.89272,31.893652 C 28.003194,32.022077 28.144609,32.146141 28.296742,32.235442 L 32.380491,34.759428 C 33.155782,35.238602 34.204249,34.979637 34.722309,34.181015 C 35.240368,33.382393 35.03184,32.346534 34.256549,31.867361 L 30.172801,29.343374 C 29.896967,29.166371 29.571731,29.069205 29.239107,29.080459 C 29.541227,28.380236 29.705093,27.609695 29.743574,26.819388 C 29.91342,23.331136 27.204088,20.483131 23.715835,20.483131 C 23.552322,20.483131 23.377438,20.470773 23.216296,20.483131 z M 23.43519,23.007117 C 23.484536,23.005278 23.543191,23.007117 23.59294,23.007117 C 25.715557,23.007118 27.32294,24.69677 27.219588,26.819388 C 27.116235,28.942007 25.344311,30.631659 23.221694,30.631659 C 21.099075,30.631659 19.491694,28.942007 19.595046,26.819388 C 19.695975,24.746519 21.379108,23.083765 23.43519,23.007117 z "
- id="path2347"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- transform="matrix(1.001682,0,0,0.964031,-6.59201e-2,1.258936)" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="pattern" />
-</svg>
diff --git a/share/pixmaps/tryton/tryton-graph.svg b/share/pixmaps/tryton/tryton-graph.svg
deleted file mode 100644
index 720ea0e..0000000
--- a/share/pixmaps/tryton/tryton-graph.svg
+++ /dev/null
@@ -1,637 +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"
- sodipodi:docname="tryton-graph.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/mimetypes"
- inkscape:version="0.46"
- sodipodi:version="0.32"
- id="svg13684"
- height="48.000000px"
- width="48.000000px"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective4705" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6687"
- id="linearGradient6746"
- gradientUnits="userSpaceOnUse"
- x1="-20.750000"
- y1="29.000000"
- x2="-19.500000"
- y2="18.750000" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6687">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6689" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6691" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6687"
- id="linearGradient6744"
- gradientUnits="userSpaceOnUse"
- x1="-20.750000"
- y1="29.000000"
- x2="-19.500000"
- y2="18.750000" />
- <linearGradient
- id="linearGradient6719">
- <stop
- style="stop-color:#73d216;stop-opacity:1;"
- offset="0"
- id="stop6721" />
- <stop
- style="stop-color:#d5f7b3;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6723" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6719"
- id="linearGradient6742"
- gradientUnits="userSpaceOnUse"
- x1="-17.863041"
- y1="30.827509"
- x2="-20.821646"
- y2="25.015009" />
- <linearGradient
- id="linearGradient6711">
- <stop
- style="stop-color:#5b8ccb;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop6713" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6715" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6711"
- id="linearGradient6740"
- gradientUnits="userSpaceOnUse"
- x1="-16.387411"
- y1="24.453547"
- x2="-9.7352734"
- y2="28.195539" />
- <linearGradient
- id="linearGradient6699">
- <stop
- style="stop-color:#ff7171;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop6701" />
- <stop
- style="stop-color:#cc0000;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6703" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6699"
- id="linearGradient6738"
- gradientUnits="userSpaceOnUse"
- x1="-22.976406"
- y1="18.516047"
- x2="-14.360273"
- y2="33.016045" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4542">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4544" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4546" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4542"
- id="radialGradient4548"
- cx="24.306795"
- cy="42.07798"
- fx="24.306795"
- fy="42.07798"
- r="15.821514"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,-2.846681e-15,30.08928)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2456">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2458" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2460" />
- </linearGradient>
- <linearGradient
- id="linearGradient269">
- <stop
- id="stop270"
- offset="0.0000000"
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
- <stop
- id="stop271"
- offset="1.0000000"
- style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient269"
- id="radialGradient15656"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.971646,0.000000,0.000000,1.034707,3.240408,0.495684)"
- cx="8.8244190"
- cy="3.7561285"
- fx="8.8244190"
- fy="3.7561285"
- r="37.751713" />
- <linearGradient
- id="linearGradient259">
- <stop
- id="stop260"
- offset="0.0000000"
- style="stop-color:#fafafa;stop-opacity:1.0000000;" />
- <stop
- id="stop261"
- offset="1.0000000"
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient259"
- id="radialGradient15658"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.963839,0.000000,0.000000,1.043088,-0.124825,-0.151970)"
- cx="33.966679"
- cy="35.736916"
- fx="33.966679"
- fy="35.736916"
- r="86.708450" />
- <linearGradient
- id="linearGradient15662">
- <stop
- id="stop15664"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop15666"
- offset="1.0000000"
- style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15662"
- id="radialGradient15668"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.974777,0.000000,0.000000,1.034091,3.161873,0.559274)"
- cx="8.1435566"
- cy="7.2678967"
- fx="8.1435566"
- fy="7.2678967"
- r="38.158695" />
- <linearGradient
- y2="99.2984"
- x2="118.302"
- y1="82.0938"
- x1="97.2412"
- gradientUnits="userSpaceOnUse"
- id="aigrd13">
- <stop
- id="stop12995"
- style="stop-color:#E8F066"
- offset="0" />
- <stop
- id="stop12997"
- style="stop-color:#949941"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="100.6528"
- x2="115.5175"
- y1="89.1104"
- x1="90.8311"
- gradientUnits="userSpaceOnUse"
- id="aigrd12">
- <stop
- id="stop12988"
- style="stop-color:#E8F066"
- offset="0" />
- <stop
- id="stop12990"
- style="stop-color:#777A34"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="92.6123"
- x2="124.8197"
- y1="75.1099"
- x1="105.0923"
- gradientUnits="userSpaceOnUse"
- id="aigrd11">
- <stop
- id="stop12981"
- style="stop-color:#3FA6CC"
- offset="0" />
- <stop
- id="stop12983"
- style="stop-color:#00687A"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="94.8"
- x2="126.1107"
- y1="84.7578"
- x1="107.8672"
- gradientUnits="userSpaceOnUse"
- id="aigrd10">
- <stop
- id="stop12974"
- style="stop-color:#2C7894"
- offset="0" />
- <stop
- id="stop12976"
- style="stop-color:#0E3D47"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="95.8999"
- x2="118.2002"
- y1="78.1079"
- x1="105.8184"
- gradientUnits="userSpaceOnUse"
- id="aigrd9">
- <stop
- id="stop12967"
- style="stop-color:#C1553A"
- offset="0" />
- <stop
- id="stop12969"
- style="stop-color:#803926"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="98.8832"
- x2="118.3481"
- y1="81.1763"
- x1="106.0254"
- gradientUnits="userSpaceOnUse"
- id="aigrd8">
- <stop
- id="stop12960"
- style="stop-color:#C09287"
- offset="0" />
- <stop
- id="stop12962"
- style="stop-color:#803926"
- offset="1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd8"
- id="linearGradient1681"
- gradientUnits="userSpaceOnUse"
- x1="106.0254"
- y1="81.1763"
- x2="118.3481"
- y2="98.8832" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd9"
- id="linearGradient1683"
- gradientUnits="userSpaceOnUse"
- x1="105.8184"
- y1="78.1079"
- x2="118.2002"
- y2="95.8999" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd10"
- id="linearGradient1685"
- gradientUnits="userSpaceOnUse"
- x1="107.8672"
- y1="84.7578"
- x2="126.1107"
- y2="94.8" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd11"
- id="linearGradient1687"
- gradientUnits="userSpaceOnUse"
- x1="105.0923"
- y1="75.1099"
- x2="124.8197"
- y2="92.6123" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd12"
- id="linearGradient1689"
- gradientUnits="userSpaceOnUse"
- x1="90.8311"
- y1="89.1104"
- x2="115.5175"
- y2="100.6528" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd13"
- id="linearGradient1691"
- gradientUnits="userSpaceOnUse"
- x1="97.2412"
- y1="82.0938"
- x2="118.302"
- y2="99.2984" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2456"
- id="radialGradient2462"
- gradientTransform="scale(1.164226,0.85894)"
- cx="28.283663"
- cy="47.400623"
- fx="28.283663"
- fy="47.400623"
- r="13.804391"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:showpageshadow="false"
- inkscape:window-y="16"
- inkscape:window-x="0"
- inkscape:window-height="784"
- inkscape:window-width="1280"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer2"
- inkscape:cy="24"
- inkscape:cx="24"
- inkscape:zoom="12.083333"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:grid-points="true" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Spreadsheet</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>spreadheet</rdf:li>
- <rdf:li>document</rdf:li>
- <rdf:li>office</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1"
- style="display:inline">
- <g
- style="display:inline"
- transform="matrix(2.144924e-2,0,0,2.086758e-2,43.32772,41.1536)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:0.99999970;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- id="rect15391"
- width="34.996506"
- height="40.997345"
- x="6.5017405"
- y="3.5013213"
- ry="1.1490481"
- rx="1.1490482" />
- <rect
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:0.99999970;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- id="rect15660"
- width="32.996056"
- height="38.996326"
- x="7.5033512"
- y="4.5018268"
- ry="0.14904855"
- rx="0.14904846" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="emblem"
- style="display:inline">
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient2462);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
- id="path1693"
- sodipodi:cx="32.92857"
- sodipodi:cy="40.714287"
- sodipodi:rx="16.071428"
- sodipodi:ry="11.857142"
- d="M 48.999998,40.714287 A 16.071428,11.857142 0 1 1 16.857141,40.714287 A 16.071428,11.857142 0 1 1 48.999998,40.714287 z"
- transform="matrix(0.9333333,0,0,1.0542169,-4.7333315,-16.421689)" />
- <g
- id="g6727"
- transform="matrix(1.1528287,0,0,1.247629,45.327332,-8.4704995)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- id="path3931"
- d="M -27.528542,18.092794 C -30.097576,19.791125 -31.511475,22.097833 -31.511475,24.590696 L -31.511475,26.659988 C -31.511475,29.150828 -30.097576,31.458211 -27.528542,33.156541 C -25.102053,34.760445 -21.895416,35.644009 -18.499359,35.644009 C -15.104587,35.644009 -11.89795,34.760445 -9.4701774,33.156541 C -6.9024275,31.458211 -5.4885277,29.151503 -5.4885277,26.659988 L -5.4885277,24.590696 C -5.4885277,22.097833 -6.9030696,19.79045 -9.4701774,18.092794 C -11.897308,16.490239 -15.103945,15.606001 -18.499359,15.606001 C -21.895416,15.606001 -25.102053,16.490239 -27.528542,18.092794 z"
- style="fill:#670000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3933"
- d="M -7.0244261,24.453547 C -8.4030105,21.067003 -13.077484,18.573465 -18.636768,18.573465 C -24.196053,18.573465 -28.870526,21.067003 -30.249111,24.453547 L -30.663906,24.453547 L -30.663906,26.523514 C -30.663906,30.913678 -25.27863,34.472213 -18.636768,34.472213 C -11.994265,34.472213 -6.6102729,30.913678 -6.6102729,26.523514 L -6.6102729,24.453547 L -7.0244261,24.453547 L -7.0244261,24.453547 z"
- style="fill:#a40000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3935"
- d="M -6.6102729,24.453547 C -6.6102729,28.844385 -11.994265,32.402921 -18.636768,32.402921 C -25.279272,32.402921 -30.663906,28.844385 -30.663906,24.453547 C -30.663906,20.062708 -25.27863,16.504173 -18.636768,16.504173 C -11.994265,16.504173 -6.6102729,20.062708 -6.6102729,24.453547 L -6.6102729,24.453547 z"
- style="fill:url(#linearGradient6738);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3937"
- d="M -6.6102729,26.833098 L -6.6256833,24.666681 C -7.9297843,29.167459 -10.862246,31.074203 -14.549173,32.007678 L -14.549173,34.002103 C -10.558534,32.998483 -6.9871844,30.713358 -6.6102729,26.833098 L -6.6102729,26.833098 z"
- style="fill:#204a87;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3939"
- d="M -6.6102729,24.453547 C -6.8857329,29.533025 -13.16802,31.849176 -14.571646,31.937532 L -18.637411,24.453547 L -6.610915,24.453547 L -6.6102729,24.453547 z"
- style="fill:url(#linearGradient6740);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3941"
- d="M -21.154435,34.298198 L -21.154435,32.228906 C -18.891039,32.523652 -16.814494,32.575587 -14.571646,32.015097 L -14.549173,34.002778 C -16.428593,34.619249 -19.36876,34.648251 -21.154435,34.298873 L -21.154435,34.298198 z"
- style="fill:#4e9a06;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3943"
- d="M -18.637411,24.454221 L -14.571646,31.937532 C -17.06106,32.88652 -21.154435,32.228906 -21.154435,32.228906 L -18.637411,24.454221 z"
- style="fill:url(#linearGradient6742);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(0.979592,0,0,0.979592,-0.380102,0.497449)"
- d="M -6.875,24.375 A 11.75,7.75 0 1 1 -30.375,24.375 A 11.75,7.75 0 1 1 -6.875,24.375 z"
- sodipodi:ry="7.75"
- sodipodi:rx="11.75"
- sodipodi:cy="24.375"
- sodipodi:cx="-18.625"
- id="path5959"
- style="opacity:0.31111115;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6744);stroke-width:1.02083337;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:type="arc"
- style="opacity:0.13333327;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient6746);stroke-width:1.02083337;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- id="path6707"
- sodipodi:cx="-18.625"
- sodipodi:cy="24.375"
- sodipodi:rx="11.75"
- sodipodi:ry="7.75"
- d="M -6.875,24.375 A 11.75,7.75 0 1 1 -30.375,24.375 A 11.75,7.75 0 1 1 -6.875,24.375 z"
- transform="matrix(0.979592,0,0,0.979592,-0.380102,2.497449)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-image-missing.svg b/share/pixmaps/tryton/tryton-image-missing.svg
deleted file mode 100644
index e585fd8..0000000
--- a/share/pixmaps/tryton/tryton-image-missing.svg
+++ /dev/null
@@ -1,318 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/status"
- sodipodi:docname="image-missing.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient3563">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3565" />
- <stop
- style="stop-color:#939393;stop-opacity:1;"
- offset="1"
- id="stop3567" />
- </linearGradient>
- <linearGradient
- id="linearGradient3555">
- <stop
- style="stop-color:#f2f2f2;stop-opacity:1;"
- offset="0"
- id="stop3557" />
- <stop
- style="stop-color:#d0d0d0;stop-opacity:1;"
- offset="1"
- id="stop3559" />
- </linearGradient>
- <linearGradient
- style="stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
- y2="36.0328"
- x2="31.0813"
- y1="3.7319"
- x1="12.4873"
- gradientUnits="userSpaceOnUse"
- id="aigrd1">
- <stop
- id="stop16177"
- style="stop-color:#D2D2D2;stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
- offset="0" />
- <stop
- id="stop16179"
- style="stop-color:#EDEDED;stroke-dasharray:none;stroke-miterlimit:4.0000000;stroke-width:1.2166667"
- offset="1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd1"
- id="linearGradient16280"
- gradientUnits="userSpaceOnUse"
- x1="12.4873"
- y1="3.7319"
- x2="31.0813"
- y2="36.0328"
- gradientTransform="matrix(1.211383,0,0,1.211383,-2.021433,0.189894)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient12129">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop12131" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop12133" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient12129"
- id="radialGradient12135"
- cx="24.218407"
- cy="41.636040"
- fx="24.218407"
- fy="41.636040"
- r="22.097088"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.184000,0.000000,33.97501)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3555"
- id="radialGradient3561"
- cx="26.728037"
- cy="38.34853"
- fx="26.728037"
- fy="38.34853"
- r="17.926361"
- gradientTransform="matrix(1.848501,-1.547102e-23,1.227926e-24,1.289078,-21.29931,-13.68176)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3563"
- id="linearGradient3569"
- x1="28.107494"
- y1="34.868584"
- x2="22.169001"
- y2="9.8661737"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-1.056826e-16,0.883885)" />
- </defs>
- <sodipodi:namedview
- stroke="#cc0000"
- fill="#cc0000"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="13.713462"
- inkscape:cy="31.493755"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="1107"
- inkscape:window-height="1072"
- inkscape:window-x="180"
- inkscape:window-y="85"
- gridempspacing="4" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Broken Image</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>image</rdf:li>
- <rdf:li>picture</rdf:li>
- <rdf:li>photo</rdf:li>
- <rdf:li>missing</rdf:li>
- <rdf:li>broken</rdf:li>
- <rdf:li>404</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <dc:contributor>
- <cc:Agent>
- <dc:title>Garrett LeSage</dc:title>
- </cc:Agent>
- </dc:contributor>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- transform="matrix(2.367169e-2,0,0,2.086758e-2,45.08634,40.14468)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <path
- id="path16181"
- d="M 45.343675,39.903974 C 45.343675,41.842189 43.768877,43.416987 41.830663,43.416987 L 6.3371177,43.416987 C 4.3989037,43.416987 2.8241047,41.842189 2.8241047,39.903974 L 2.8241047,7.0947821 C 2.8241047,5.1565681 4.3989037,3.581769 6.3371177,3.581769 L 41.830663,3.581769 C 43.768877,3.581769 45.343675,5.1565681 45.343675,7.0947821 L 45.343675,39.903974 L 45.343675,39.903974 z "
- style="fill:url(#linearGradient16280);fill-rule:nonzero;stroke:#646464;stroke-width:0.99234736;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
- sodipodi:nodetypes="cccccccccc"
- transform="matrix(1.011299,0,0,1.004137,-0.356015,-9.658587e-2)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="fill:url(#radialGradient3561);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3569);stroke-width:0.99794304;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.61658032"
- d="M 41.467991,35.25247 L 6.6152692,35.25247 L 6.6152692,11.250058 L 41.467991,11.250058 L 41.467991,35.25247 L 41.467991,35.25247 z "
- id="path12125"
- sodipodi:nodetypes="cccccc"
- transform="matrix(1.004226,0,0,0.9999,-0.143226,0.251056)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="fill:none;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99670035;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:0.86010359"
- d="M 44.480104,39.32848 C 44.480104,41.187964 43.499604,42.345241 41.640121,42.345241 L 6.6160507,42.345241 C 4.7565677,42.345241 3.6876787,41.276353 3.6876787,39.416869 L 3.6876787,7.5970548 C 3.6876787,5.737571 5.1985087,4.403517 7.0579927,4.403517 L 41.198179,4.403517 C 43.057662,4.403517 44.480104,5.737571 44.480104,7.5970548 L 44.480104,38.974927 L 44.480104,39.32848 z "
- id="path11975"
- sodipodi:nodetypes="cccccccccc"
- transform="matrix(1.005089,0,0,1.001536,-0.206445,8.971654e-2)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- id="g3551"
- transform="matrix(0.751031,0,0,0.764054,10.06196,10.18347)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- d="M 11.318692,9.2240568 C 16.641997,14.693047 22.769247,19.123651 29.210664,22.931105 L 27.441568,24.159843 C 21.101863,20.04489 15.052508,15.498993 9.1840818,10.652117 L 11.318692,9.2240568 z "
- id="path2565"
- style="opacity:1;color:#000000;fill:#cc0000;fill-opacity:1;fill-rule:nonzero;stroke:#cc0000;stroke-width:2.64021659;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- d="M 26.73892,8.9210568 C 21.867631,15.95255 15.247359,21.081199 7.9065151,25.28163 L 10.087564,23.520856 C 8.7241111,24.379297 25.574485,11.804168 23.852075,10.207903 L 26.73892,8.9210568 z "
- id="path2575"
- style="opacity:1;color:#000000;fill:#cc0000;fill-opacity:1;fill-rule:nonzero;stroke:#cc0000;stroke-width:2.64021564;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-list.svg b/share/pixmaps/tryton/tryton-list.svg
deleted file mode 100644
index 34ae9d3..0000000
--- a/share/pixmaps/tryton/tryton-list.svg
+++ /dev/null
@@ -1,348 +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"
- width="48px"
- height="48px"
- id="svg4198"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="tryton-list.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs4200">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective21117" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3558">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3560" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3562" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3558"
- id="radialGradient3564"
- cx="22.571428"
- cy="30.857143"
- fx="22.571428"
- fy="30.857143"
- r="15.571428"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.651376,4.638648e-15,10.75754)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient15218">
- <stop
- style="stop-color:#f8f8f7;stop-opacity:1;"
- offset="0"
- id="stop15220" />
- <stop
- id="stop2269"
- offset="0.59928656"
- style="stop-color:#e8e8e8;stop-opacity:1;" />
- <stop
- style="stop-color:#e2e2de;stop-opacity:1;"
- offset="1"
- id="stop15222" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15218"
- id="linearGradient15224"
- x1="22.308331"
- y1="18.992140"
- x2="35.785294"
- y2="39.498238"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.060837,0.000000,0.000000,0.987595,4.641161,4.108291)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2259">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2261" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2263" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2259"
- id="linearGradient2265"
- x1="26.076092"
- y1="26.696676"
- x2="30.811172"
- y2="42.007351"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.993566,0.000000,0.000000,1.000000,6.219859,4.033411)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2216">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2218" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2220" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2216"
- id="linearGradient2222"
- x1="36.8125"
- y1="39.15625"
- x2="39.0625"
- y2="42.0625"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.161836,4.033411)" />
- <linearGradient
- id="linearGradient2224">
- <stop
- style="stop-color:#7c7c7c;stop-opacity:1;"
- offset="0"
- id="stop2226" />
- <stop
- style="stop-color:#b8b8b8;stop-opacity:1;"
- offset="1"
- id="stop2228" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15218"
- id="linearGradient2240"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.342704,0.000000,0.000000,1.235378,-8.219611,-6.577189)"
- x1="20.794008"
- y1="18.378813"
- x2="35.596001"
- y2="39.60046" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#bebebe"
- borderopacity="1.0000000"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="12.083333"
- inkscape:cx="23.999999"
- inkscape:cy="23.999999"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1278"
- inkscape:window-height="782"
- inkscape:window-x="0"
- inkscape:window-y="16"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4203">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Justify Center</dc:title>
- <dc:date>2005-10-29</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>justify</rdf:li>
- <rdf:li>center</rdf:li>
- <rdf:li>format</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.330573e-2,0,0,1.227058e-2,44.47891,44.41691)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <rect
- style="opacity:1;fill:url(#linearGradient2240);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect4238"
- width="38.996792"
- height="45.003101"
- x="4.5016017"
- y="1.4968988"
- rx="0.56650788"
- ry="0.56650823" />
- <rect
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4248"
- width="30"
- height="2"
- x="-39"
- y="10"
- transform="scale(-1,1)" />
- <rect
- y="16"
- x="-39"
- height="2"
- width="30"
- id="rect4250"
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- transform="scale(-1,1)" />
- <rect
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4252"
- width="30"
- height="2"
- x="-39"
- y="22"
- transform="scale(-1,1)" />
- <rect
- y="28"
- x="-39"
- height="2"
- width="30"
- id="rect4254"
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- transform="scale(-1,1)" />
- <rect
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4256"
- width="30"
- height="2"
- x="-39"
- y="34"
- transform="scale(-1,1)" />
- <rect
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect2245"
- width="37.025566"
- height="43.022316"
- x="5.4997125"
- y="2.4997177"
- rx="0"
- ry="0" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-package.svg b/share/pixmaps/tryton/tryton-package.svg
deleted file mode 100644
index dced3c4..0000000
--- a/share/pixmaps/tryton/tryton-package.svg
+++ /dev/null
@@ -1,483 +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://web.resource.org/cc/"
- 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"
- sodipodi:docname="package-x-generic.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/mimetypes"
- inkscape:version="0.43+devel"
- sodipodi:version="0.32"
- id="svg2963"
- height="48px"
- width="48px">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2884">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2886" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2888" />
- </linearGradient>
- <linearGradient
- id="linearGradient2869">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2871" />
- <stop
- style="stop-color:#cccccc;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop2873" />
- </linearGradient>
- <linearGradient
- id="linearGradient4995">
- <stop
- id="stop4997"
- offset="0"
- style="stop-color:#de9523;stop-opacity:1;" />
- <stop
- id="stop4999"
- offset="1.0000000"
- style="stop-color:#a36d18;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4987"
- inkscape:collect="always">
- <stop
- id="stop4989"
- offset="0"
- style="stop-color:#a0670c;stop-opacity:1;" />
- <stop
- id="stop4991"
- offset="1"
- style="stop-color:#a0670c;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4979">
- <stop
- id="stop4981"
- offset="0.0000000"
- style="stop-color:#fbf0e0;stop-opacity:1.0000000;" />
- <stop
- id="stop4983"
- offset="1.0000000"
- style="stop-color:#f0ce99;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4946"
- inkscape:collect="always">
- <stop
- id="stop4948"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop4950"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4222">
- <stop
- id="stop4224"
- offset="0"
- style="stop-color:#ffffff;stop-opacity:1;" />
- <stop
- id="stop4226"
- offset="1.0000000"
- style="stop-color:#ffffff;stop-opacity:0.68639052;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4210">
- <stop
- id="stop4212"
- offset="0.0000000"
- style="stop-color:#eaba6f;stop-opacity:1.0000000;" />
- <stop
- id="stop4214"
- offset="1.0000000"
- style="stop-color:#b97a1b;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4192">
- <stop
- id="stop4194"
- offset="0"
- style="stop-color:#e9b96e;stop-opacity:1;" />
- <stop
- id="stop4196"
- offset="1.0000000"
- style="stop-color:#f1d19e;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4182">
- <stop
- id="stop4184"
- offset="0.0000000"
- style="stop-color:#a36d18;stop-opacity:1.0000000;" />
- <stop
- id="stop4186"
- offset="1.0000000"
- style="stop-color:#d79020;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4946"
- id="radialGradient2252"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.333333,2.658463e-16,23.58206)"
- cx="22.930462"
- cy="35.373093"
- fx="22.930462"
- fy="35.373093"
- r="17.576654" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4979"
- id="linearGradient2269"
- gradientUnits="userSpaceOnUse"
- x1="30.062469"
- y1="13.444801"
- x2="17.696169"
- y2="12.333632" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4995"
- id="linearGradient2274"
- gradientUnits="userSpaceOnUse"
- x1="36.288929"
- y1="14.661557"
- x2="47.065835"
- y2="15.267649" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4192"
- id="linearGradient2277"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.986355,0.000000,0.316638)"
- x1="25.381256"
- y1="24.720648"
- x2="24.119167"
- y2="16.170370" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4182"
- id="linearGradient2280"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,1.039184,0.000000,-4.057054e-2)"
- x1="16.148972"
- y1="12.636667"
- x2="34.193642"
- y2="12.636667" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4987"
- id="linearGradient2282"
- gradientUnits="userSpaceOnUse"
- x1="21.906841"
- y1="9.7577486"
- x2="22.071806"
- y2="16.020695" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4222"
- id="linearGradient2285"
- gradientUnits="userSpaceOnUse"
- x1="18.706615"
- y1="19.912336"
- x2="30.014812"
- y2="47.388485" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4210"
- id="linearGradient2288"
- gradientUnits="userSpaceOnUse"
- x1="24.990499"
- y1="34.004856"
- x2="24.990499"
- y2="22.585211" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2884"
- id="radialGradient2896"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.353283,5.468101e-16,-1.144754e-13,0.635968,-8.458890,3.413470)"
- cx="23.943670"
- cy="20.800287"
- fx="23.943670"
- fy="20.800287"
- r="6.4286140" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2869"
- id="radialGradient2898"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.749420,0.000000,0.000000,0.394055,6.226925,10.09253)"
- cx="21.578989"
- cy="9.0255041"
- fx="21.578989"
- fy="9.0255041"
- r="9.5862970" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2884"
- id="radialGradient2906"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.353283,5.468101e-16,-1.144754e-13,0.635968,-8.458890,3.413470)"
- cx="23.943670"
- cy="20.800287"
- fx="23.943670"
- fy="20.800287"
- r="6.4286140" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2869"
- id="radialGradient2908"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.749420,0.000000,0.000000,0.394055,6.226925,10.09253)"
- cx="21.578989"
- cy="9.8105707"
- fx="21.578989"
- fy="9.8105707"
- r="9.5862970" />
- </defs>
- <sodipodi:namedview
- inkscape:window-y="242"
- inkscape:window-x="392"
- inkscape:window-height="706"
- inkscape:window-width="872"
- stroke="#c17d11"
- fill="#e9b96e"
- inkscape:showpageshadow="false"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="39.004018"
- inkscape:cx="74.637005"
- inkscape:zoom="1"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="0.16470588"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Package</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz/</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>package</rdf:li>
- <rdf:li>archive</rdf:li>
- <rdf:li>tarball</rdf:li>
- <rdf:li>tar</rdf:li>
- <rdf:li>bzip</rdf:li>
- <rdf:li>gzip</rdf:li>
- <rdf:li>zip</rdf:li>
- <rdf:li>arj</rdf:li>
- <rdf:li>tar</rdf:li>
- <rdf:li>jar</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1">
- <g
- style="display:inline"
- transform="matrix(2.105461e-2,0,0,2.086758e-2,42.60172,35.4036)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- ry="2.3944440"
- rx="2.4241352"
- y="15.275433"
- x="7.4623847"
- height="23.112879"
- width="31.978371"
- id="rect3115"
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2288);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000007;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
- <rect
- style="opacity:0.48101267;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#linearGradient2285);stroke-width:1.0000011;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- id="rect4220"
- width="29.804138"
- height="21.075352"
- x="8.4989996"
- y="16.243698"
- rx="1.2846882"
- ry="1.2846882" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path4162"
- d="M 8.7697819,16.547178 L 13.819731,9.7363408 L 32.615291,9.6353255 L 37.835264,16.408941 L 8.7697819,16.547178 z "
- style="fill:url(#linearGradient2280);fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2282);stroke-width:1.0000008;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path4164"
- d="M 38.276321,16.325703 L 43.469269,23.520364 L 3.9609455,23.520364 L 8.6250143,16.320763 L 38.276321,16.325703 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2277);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- id="path4178"
- d="M 32.849333,9.6141009 L 37.532219,16.536370 L 46.565835,20.921197 L 38.451329,12.008545 L 32.849333,9.6141009 z "
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient2274);fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000005;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible" />
- <path
- sodipodi:nodetypes="ccccc"
- style="opacity:1.0000000;color:#000000;fill:#f8e8cf;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#a0670c;stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- d="M 13.617702,9.7151161 L 9.6419233,16.435355 L 0.50729183,20.820182 L 8.6217973,11.907530 L 13.617702,9.7151161 z "
- id="path4180" />
- <path
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:#f4e3ca;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- d="M 37.024959,16.436050 L 41.478871,22.493011 L 5.6482792,22.493011 L 9.7892982,16.312694 L 37.024959,16.436050 z "
- id="path4954"
- sodipodi:nodetypes="ccccc" />
- <g
- id="g2892"
- transform="matrix(0.676538,0.000000,0.000000,1.000000,3.994869,0.000000)">
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2896);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 23.926073,12.101621 C 18.588065,12.101621 14.282569,14.129809 14.282569,16.641813 L 33.604773,16.641813 C 33.604773,14.129809 29.264081,12.101621 23.926073,12.101621 z "
- id="path2882" />
- <path
- id="path2141"
- d="M 23.931961,12.861168 C 20.379986,12.861168 17.515057,14.210748 17.515057,15.882266 L 30.372285,15.882266 C 30.372285,14.210748 27.483936,12.861168 23.931961,12.861168 z "
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2898);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- transform="matrix(0.676538,0.000000,0.000000,1.000000,10.49487,0.000000)"
- id="g2900">
- <path
- id="path2902"
- d="M 23.926073,12.101621 C 18.588065,12.101621 14.282569,14.129809 14.282569,16.641813 L 33.604773,16.641813 C 33.604773,14.129809 29.264081,12.101621 23.926073,12.101621 z "
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2906);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient2908);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:2.0000000;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 23.931961,12.861168 C 20.379986,12.861168 17.515057,14.210748 17.515057,15.882266 L 30.372285,15.882266 C 30.372285,14.210748 27.483936,12.861168 23.931961,12.861168 z "
- id="path2904" />
- </g>
- <path
- style="opacity:0.87974685;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:url(#linearGradient2269);stroke-width:1.0000000;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-opacity:1.0000000"
- d="M 9.6523127,16.371803 L 13.036643,10.593020 L 33.514841,10.517799 L 37.356782,16.369880 L 9.6523127,16.371803 z "
- id="path4966"
- sodipodi:nodetypes="ccccc" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-presentation.svg b/share/pixmaps/tryton/tryton-presentation.svg
deleted file mode 100644
index b10a7c6..0000000
--- a/share/pixmaps/tryton/tryton-presentation.svg
+++ /dev/null
@@ -1,565 +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://web.resource.org/cc/"
- 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://inkscape.sourceforge.net/DTD/sodipodi-0.dtd"
- xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/mimetypes"
- sodipodi:docname="x-office-presentation.svg">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient10020">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop10022" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop10024" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2456">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2458" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2460" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2456"
- id="radialGradient2462"
- gradientTransform="scale(1.164226,0.85894)"
- cx="28.283663"
- cy="47.400623"
- fx="28.283663"
- fy="47.400623"
- r="13.804391"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6687">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6689" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6691" />
- </linearGradient>
- <linearGradient
- id="linearGradient6719">
- <stop
- style="stop-color:#73d216;stop-opacity:1;"
- offset="0"
- id="stop6721" />
- <stop
- style="stop-color:#d5f7b3;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6723" />
- </linearGradient>
- <linearGradient
- id="linearGradient6711">
- <stop
- style="stop-color:#5b8ccb;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop6713" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6715" />
- </linearGradient>
- <linearGradient
- id="linearGradient6699">
- <stop
- style="stop-color:#ff7171;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop6701" />
- <stop
- style="stop-color:#cc0000;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6703" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient9214">
- <stop
- style="stop-color:#5b5b5b;stop-opacity:1;"
- offset="0"
- id="stop9216" />
- <stop
- style="stop-color:#5b5b5b;stop-opacity:0;"
- offset="1"
- id="stop9218" />
- </linearGradient>
- <linearGradient
- y2="11.0039"
- x2="20.9453"
- y1="25.4727"
- x1="27.2949"
- gradientUnits="userSpaceOnUse"
- id="aigrd5">
- <stop
- id="stop13012"
- style="stop-color:#f5f5f5;stop-opacity:1;"
- offset="0" />
- <stop
- id="stop13014"
- style="stop-color:#e1e1e1;stop-opacity:1;"
- offset="1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd5"
- id="linearGradient1553"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.868867,0,0,1.5088,-20.39097,-10.01652)"
- x1="27.2949"
- y1="25.4727"
- x2="20.9453"
- y2="11.0039" />
- <linearGradient
- y2="10.4377"
- x2="24.6035"
- y1="9.3433"
- x1="24.6035"
- gradientUnits="userSpaceOnUse"
- id="aigrd6">
- <stop
- id="stop13035"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop13037"
- style="stop-color:#686868"
- offset="1" />
- </linearGradient>
- <radialGradient
- gradientUnits="userSpaceOnUse"
- fy="30.9912"
- fx="24.7744"
- r="0.5902"
- cy="30.9912"
- cx="24.7744"
- id="aigrd7">
- <stop
- id="stop13046"
- style="stop-color:#F0F0F0"
- offset="0" />
- <stop
- id="stop13048"
- style="stop-color:#848484"
- offset="1" />
- </radialGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#aigrd7"
- id="radialGradient1537"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(3.502527,0,0,3.502527,-61.93009,-72.87696)"
- cx="24.7744"
- cy="30.9912"
- fx="24.7744"
- fy="30.9912"
- r="0.5902" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient9214"
- id="radialGradient9220"
- cx="26.162951"
- cy="44.022526"
- fx="26.162951"
- fy="44.022526"
- r="12.197592"
- gradientTransform="matrix(1,0,0,0.181159,-2.871401e-15,36.04743)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd6"
- id="linearGradient9224"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.905258,0,0,2.521777,-22.82065,-13.24604)"
- x1="24.919374"
- y1="6.1478682"
- x2="24.919374"
- y2="7.4600263" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6687"
- id="linearGradient10002"
- gradientUnits="userSpaceOnUse"
- x1="-20.750000"
- y1="29.000000"
- x2="-19.500000"
- y2="18.750000" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6699"
- id="linearGradient10012"
- gradientUnits="userSpaceOnUse"
- x1="-22.976406"
- y1="18.516047"
- x2="-14.360273"
- y2="33.016045" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6711"
- id="linearGradient10014"
- gradientUnits="userSpaceOnUse"
- x1="-16.387411"
- y1="24.453547"
- x2="-9.7352734"
- y2="28.195539" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6719"
- id="linearGradient10016"
- gradientUnits="userSpaceOnUse"
- x1="-17.863041"
- y1="30.827509"
- x2="-20.821646"
- y2="25.015009" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient10020"
- id="linearGradient10026"
- x1="23.379572"
- y1="28.369167"
- x2="24.24518"
- y2="6.0000024"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- stroke="#ef2929"
- fill="#eeeeec"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="95.591611"
- inkscape:cy="-8.1950324"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="972"
- inkscape:window-height="862"
- inkscape:window-x="871"
- inkscape:window-y="190" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path10010"
- d="M 26.482036,37.621562 L 24.499994,37.621562 L 24.499994,6 L 26.482036,6 L 26.482036,37.620112 L 26.482036,37.621562 z "
- style="fill:#a4a4a4;fill-rule:nonzero;stroke:#555753;stroke-miterlimit:4;stroke-opacity:1" />
- <path
- style="fill:#a4a4a4;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- d="M 26,37.621562 L 24.982042,37.621562 L 24.982042,6 L 26,6 L 26,37.620112 L 26,37.621562 z "
- id="path13009"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- style="fill:url(#linearGradient1553);fill-rule:nonzero;stroke:#888a85;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
- d="M 43.499996,32.499982 L 7.5000001,32.499982 L 7.5000001,5.4999944 L 43.499996,5.4999944 L 43.499996,32.499982 L 43.499996,32.499982 z "
- id="path13016"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:type="arc"
- style="opacity:0.39010991;color:#000000;fill:url(#radialGradient9220);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.5;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path8339"
- sodipodi:cx="26.162951"
- sodipodi:cy="44.022526"
- sodipodi:rx="12.197592"
- sodipodi:ry="2.2097087"
- d="M 38.360542 44.022526 A 12.197592 2.2097087 0 1 1 13.965359,44.022526 A 12.197592 2.2097087 0 1 1 38.360542 44.022526 z"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- transform="matrix(1.749254,0,0,1.452548,-20.38301,-20.43749)" />
- <g
- transform="matrix(1.539016,0,0,1.539016,-12.89862,-11.05731)"
- style="fill:#a4a4a4;fill-rule:nonzero;stroke:#555753;stroke-miterlimit:4;stroke-opacity:1"
- id="g13020"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- d="M 31.492,35.959 L 25.217,31.321 L 25.151306,31.665948 L 30.016,35.955 L 31.492,35.959 z "
- id="path13022"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- style="stroke:#555753;stroke-opacity:1"
- sodipodi:nodetypes="ccccc" />
- <path
- d="M 18.408,35.959 L 24.683,31.321 L 24.63283,31.72338 L 19.883,35.955 L 18.408,35.959 z "
- id="path13024"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- style="stroke:#555753;stroke-opacity:1"
- sodipodi:nodetypes="ccccc" />
- </g>
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path10018"
- d="M 42.483508,31.500001 L 8.4999999,31.500001 L 8.4999999,6.5000025 L 42.483508,6.5000025 L 42.483508,31.500001 L 42.483508,31.500001 z "
- style="fill:none;fill-rule:nonzero;stroke:url(#linearGradient10026);stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1" />
- <path
- style="opacity:0.15999995;fill:#000000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- d="M 37.64607,5.8376811 L 8,5.8376811 L 8,8 C 9.671372,5.6514612 37.64607,5.8376811 37.64607,5.8376811 z "
- id="path13041"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect13420"
- width="9"
- height="1"
- x="31"
- y="9"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- style="opacity:1;color:#000000;fill:url(#linearGradient9224);fill-opacity:1;fill-rule:nonzero;stroke:#555753;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect9222"
- width="40.779099"
- height="4"
- x="5.1403117"
- y="1.5"
- inkscape:r_cx="true"
- inkscape:r_cy="true"
- rx="1.941476"
- ry="1.9414761" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="11"
- x="31"
- height="1"
- width="9"
- id="rect9226"
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect9228"
- width="9"
- height="1"
- x="31"
- y="13"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="15"
- x="31"
- height="1"
- width="9"
- id="rect9230"
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect9232"
- width="6"
- height="1"
- x="31"
- y="17"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="22"
- x="11"
- height="1"
- width="23"
- id="rect9234"
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect9236"
- width="23"
- height="1"
- x="11"
- y="24"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <rect
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- y="26"
- x="11"
- height="1"
- width="23"
- id="rect9238"
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="color:#000000;fill:#000000;fill-opacity:0.22807013;fill-rule:nonzero;stroke:none;stroke-width:0.99813098;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect9240"
- width="16"
- height="1"
- x="11"
- y="28"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- sodipodi:type="arc"
- style="fill:url(#radialGradient2462);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;display:inline"
- id="path1693"
- sodipodi:cx="32.92857"
- sodipodi:cy="40.714287"
- sodipodi:rx="16.071428"
- sodipodi:ry="11.857142"
- d="M 48.999998 40.714287 A 16.071428 11.857142 0 1 1 16.857141,40.714287 A 16.071428 11.857142 0 1 1 48.999998 40.714287 z"
- transform="matrix(0.512138,0,0,0.512138,2.997478,-5.778852)"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <g
- style="display:inline"
- id="g6727"
- transform="matrix(0.587368,0,0,0.587368,30.84597,-1.301179)"
- inkscape:r_cx="true"
- inkscape:r_cy="true">
- <path
- id="path3931"
- d="M -27.528542,18.092794 C -30.097576,19.791125 -31.511475,22.097833 -31.511475,24.590696 L -31.511475,26.659988 C -31.511475,29.150828 -30.097576,31.458211 -27.528542,33.156541 C -25.102053,34.760445 -21.895416,35.644009 -18.499359,35.644009 C -15.104587,35.644009 -11.89795,34.760445 -9.4701774,33.156541 C -6.9024275,31.458211 -5.4885277,29.151503 -5.4885277,26.659988 L -5.4885277,24.590696 C -5.4885277,22.097833 -6.9030696,19.79045 -9.4701774,18.092794 C -11.897308,16.490239 -15.103945,15.606001 -18.499359,15.606001 C -21.895416,15.606001 -25.102053,16.490239 -27.528542,18.092794 z "
- style="fill:#670000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3933"
- d="M -7.0244261,24.453547 C -8.4030105,21.067003 -13.077484,18.573465 -18.636768,18.573465 C -24.196053,18.573465 -28.870526,21.067003 -30.249111,24.453547 L -30.663906,24.453547 L -30.663906,26.523514 C -30.663906,30.913678 -25.27863,34.472213 -18.636768,34.472213 C -11.994265,34.472213 -6.6102729,30.913678 -6.6102729,26.523514 L -6.6102729,24.453547 L -7.0244261,24.453547 L -7.0244261,24.453547 z "
- style="fill:#a40000;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3935"
- d="M -6.6102729,24.453547 C -6.6102729,28.844385 -11.994265,32.402921 -18.636768,32.402921 C -25.279272,32.402921 -30.663906,28.844385 -30.663906,24.453547 C -30.663906,20.062708 -25.27863,16.504173 -18.636768,16.504173 C -11.994265,16.504173 -6.6102729,20.062708 -6.6102729,24.453547 L -6.6102729,24.453547 z "
- style="fill:url(#linearGradient10012);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3937"
- d="M -6.6102729,26.833098 L -6.6256833,24.666681 C -7.9297843,29.167459 -10.862246,31.074203 -14.549173,32.007678 L -14.549173,34.002103 C -10.558534,32.998483 -6.9871844,30.713358 -6.6102729,26.833098 L -6.6102729,26.833098 z "
- style="fill:#204a87;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3939"
- d="M -6.6102729,24.453547 C -6.8857329,29.533025 -13.16802,31.849176 -14.571646,31.937532 L -18.637411,24.453547 L -6.610915,24.453547 L -6.6102729,24.453547 z "
- style="fill:url(#linearGradient10014);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3941"
- d="M -21.154435,34.298198 L -21.154435,32.228906 C -18.891039,32.523652 -16.814494,32.575587 -14.571646,32.015097 L -14.549173,34.002778 C -16.428593,34.619249 -19.36876,34.648251 -21.154435,34.298873 L -21.154435,34.298198 z "
- style="fill:#4e9a06;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- id="path3943"
- d="M -18.637411,24.454221 L -14.571646,31.937532 C -17.06106,32.88652 -21.154435,32.228906 -21.154435,32.228906 L -18.637411,24.454221 z "
- style="fill:url(#linearGradient10016);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- <path
- transform="matrix(0.946982,0,0,0.889701,-0.987461,2.688545)"
- d="M -6.875 24.375 A 11.75 7.75 0 1 1 -30.375,24.375 A 11.75 7.75 0 1 1 -6.875 24.375 z"
- sodipodi:ry="7.75"
- sodipodi:rx="11.75"
- sodipodi:cy="24.375"
- sodipodi:cx="-18.625"
- id="path5959"
- style="opacity:0.31111115;color:#000000;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient10002);stroke-width:1.85479884;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- sodipodi:type="arc"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
- <g
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="g10004"
- style="fill:#a4a4a4;fill-rule:nonzero;stroke:none;stroke-miterlimit:4"
- transform="matrix(1.539016,0,0,1.539016,-12.89862,-11.05731)">
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path10006"
- d="M 30.015,35.956 L 31.492,35.959 L 25.217,31.321 L 24.778,31.307 L 30.016,35.955 L 30.015,35.956 z " />
- <path
- inkscape:r_cy="true"
- inkscape:r_cx="true"
- id="path10008"
- d="M 19.884,35.956 L 18.408,35.959 L 24.683,31.321 L 25.121,31.307 L 19.883,35.955 L 19.884,35.956 z " />
- </g>
- <path
- style="fill:url(#radialGradient1537);fill-rule:nonzero;stroke:#555753;stroke-miterlimit:4;stroke-opacity:1"
- d="M 27.839689,36.499985 C 27.839689,37.792418 26.79243,38.839676 25.499998,38.839676 C 24.207565,38.839676 23.160308,37.792418 23.160308,36.499985 C 23.160308,35.211057 24.207565,34.1603 25.499998,34.1603 C 26.79243,34.1603 27.839689,35.211057 27.839689,36.499985 z "
- id="path13050"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-readonly.svg b/share/pixmaps/tryton/tryton-readonly.svg
deleted file mode 100644
index 10cdd97..0000000
--- a/share/pixmaps/tryton/tryton-readonly.svg
+++ /dev/null
@@ -1,298 +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://web.resource.org/cc/"
- 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"
- inkscape:export-ydpi="90.000000"
- inkscape:export-xdpi="90.000000"
- inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
- width="48px"
- height="48px"
- id="svg11300"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/emblems"
- sodipodi:docname="emblem-readonly.svg">
- <defs
- id="defs3">
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- id="linearGradient11327">
- <stop
- style="stop-color:#7d6400;stop-opacity:1;"
- offset="0"
- id="stop11329" />
- <stop
- style="stop-color:#be9700;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11331" />
- </linearGradient>
- <linearGradient
- id="linearGradient2092">
- <stop
- id="stop2094"
- offset="0"
- style="stop-color:#fff7b0;stop-opacity:1;" />
- <stop
- style="stop-color:#ffec41;stop-opacity:1.0000000;"
- offset="0.20999999"
- id="stop2098" />
- <stop
- id="stop2293"
- offset="0.83999997"
- style="stop-color:#e2cc00;stop-opacity:1;" />
- <stop
- id="stop2100"
- offset="1"
- style="stop-color:#c3af00;stop-opacity:1;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11335">
- <stop
- style="stop-color:#6f716d;stop-opacity:1;"
- offset="0"
- id="stop11337" />
- <stop
- style="stop-color:#9ea09c;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop11339" />
- </linearGradient>
- <linearGradient
- id="linearGradient10591">
- <stop
- style="stop-color:#cad0c6;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop10593" />
- <stop
- id="stop10599"
- offset="0.50000000"
- style="stop-color:#eaece9;stop-opacity:1.0000000;" />
- <stop
- style="stop-color:#c5cbc0;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop10595" />
- </linearGradient>
- <linearGradient
- id="linearGradient11520">
- <stop
- id="stop11522"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop11524"
- offset="1.0000000"
- style="stop-color:#dcdcdc;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient11508"
- inkscape:collect="always">
- <stop
- id="stop11510"
- offset="0"
- style="stop-color:#000000;stop-opacity:1;" />
- <stop
- id="stop11512"
- offset="1"
- style="stop-color:#000000;stop-opacity:0;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11508"
- id="radialGradient1348"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.338462,-1.435476e-15,29.48178)"
- cx="30.203562"
- cy="44.565483"
- fx="30.203562"
- fy="44.565483"
- r="6.5659914" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient11520"
- id="radialGradient1366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.995058,-1.651527e-32,0.000000,1.995058,-24.32488,-35.70087)"
- cx="24.445690"
- cy="35.878170"
- fx="24.445690"
- fy="35.878170"
- r="20.530962" />
- </defs>
- <sodipodi:namedview
- stroke="#ef2929"
- fill="#729fcf"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="0.25490196"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="24.194962"
- inkscape:cy="-13.983676"
- inkscape:current-layer="layer1"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:showpageshadow="false"
- inkscape:window-width="872"
- inkscape:window-height="707"
- inkscape:window-x="155"
- inkscape:window-y="230" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- <dc:title>Read Only Emblem</dc:title>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>emblem</rdf:li>
- <rdf:li>read-only</rdf:li>
- <rdf:li>nowrite</rdf:li>
- </rdf:Bag>
- </dc:subject>
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- transform="matrix(2.243788e-2,0,0,2.086758e-2,44.06795,40.547)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- ry="5.4548240"
- rx="5.4548240"
- y="3.5233452"
- x="4.4147282"
- height="40.061924"
- width="40.061924"
- id="rect11518"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#9b9b9b;stroke-width:1.0000000;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <rect
- style="opacity:1.0000000;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:bevel;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10.000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="rect11528"
- width="37.696587"
- height="37.696587"
- x="5.5973887"
- y="4.7060070"
- rx="4.2426391"
- ry="4.2426391" />
- <path
- style="opacity:0.69886361;color:#000000;fill:#888a85;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
- d="M 23.906254,10.878347 C 19.835833,11.005873 17.137508,12.963117 17.137508,17.000087 L 17.137508,21.120489 L 16.221429,21.120489 C 15.54928,21.120489 15,21.583436 15,22.163203 L 15,32.993974 C 15,33.573741 15.54928,34.036689 16.221429,34.036688 L 32.795528,34.036688 C 33.467687,34.036688 34,33.57374 34,32.993974 L 34,22.163203 C 34,21.583437 33.467687,21.120489 32.795528,21.120489 L 31.862492,21.120489 L 31.87946,17.067359 C 31.87946,12.782023 28.950269,10.931241 24.516968,10.878347 C 24.310278,10.875868 24.10644,10.872076 23.906254,10.878347 z M 24.313392,13.58604 C 24.388241,13.584353 24.4735,13.58604 24.550894,13.58604 C 29.469737,13.58604 29.092541,17.084436 29.165175,18.126891 L 29.165175,21.120489 L 19.902675,21.120489 L 19.902675,18.143709 C 19.885214,17.109531 19.597992,13.692412 24.313392,13.58604 z "
- id="path2086"
- inkscape:r_cx="true"
- inkscape:r_cy="true" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-spreadsheet.svg b/share/pixmaps/tryton/tryton-spreadsheet.svg
deleted file mode 100644
index 0f7eb3a..0000000
--- a/share/pixmaps/tryton/tryton-spreadsheet.svg
+++ /dev/null
@@ -1,627 +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"
- sodipodi:docname="tryton-spreadsheet.svg"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/mimetypes"
- inkscape:version="0.46"
- sodipodi:version="0.32"
- id="svg13684"
- height="48.000000px"
- width="48.000000px"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs3">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective13831" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6719"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient6717"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient6715"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6687"
- id="linearGradient6746"
- gradientUnits="userSpaceOnUse"
- x1="-20.750000"
- y1="29.000000"
- x2="-19.500000"
- y2="18.750000" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient6687">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop6689" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop6691" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6687"
- id="linearGradient6744"
- gradientUnits="userSpaceOnUse"
- x1="-20.750000"
- y1="29.000000"
- x2="-19.500000"
- y2="18.750000" />
- <linearGradient
- id="linearGradient6719">
- <stop
- style="stop-color:#73d216;stop-opacity:1;"
- offset="0"
- id="stop6721" />
- <stop
- style="stop-color:#d5f7b3;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6723" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6719"
- id="linearGradient6742"
- gradientUnits="userSpaceOnUse"
- x1="-17.863041"
- y1="30.827509"
- x2="-20.821646"
- y2="25.015009" />
- <linearGradient
- id="linearGradient6711">
- <stop
- style="stop-color:#5b8ccb;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop6713" />
- <stop
- style="stop-color:#3465a4;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6715" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6711"
- id="linearGradient6740"
- gradientUnits="userSpaceOnUse"
- x1="-16.387411"
- y1="24.453547"
- x2="-9.7352734"
- y2="28.195539" />
- <linearGradient
- id="linearGradient6699">
- <stop
- style="stop-color:#ff7171;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop6701" />
- <stop
- style="stop-color:#cc0000;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop6703" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient6699"
- id="linearGradient6738"
- gradientUnits="userSpaceOnUse"
- x1="-22.976406"
- y1="18.516047"
- x2="-14.360273"
- y2="33.016045" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4542">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4544" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4546" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4542"
- id="radialGradient4548"
- cx="24.306795"
- cy="42.07798"
- fx="24.306795"
- fy="42.07798"
- r="15.821514"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,-2.846681e-15,30.08928)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2456">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2458" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2460" />
- </linearGradient>
- <linearGradient
- id="linearGradient269">
- <stop
- id="stop270"
- offset="0.0000000"
- style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
- <stop
- id="stop271"
- offset="1.0000000"
- style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient269"
- id="radialGradient15656"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.971646,0.000000,0.000000,1.034707,3.240408,0.495684)"
- cx="8.8244190"
- cy="3.7561285"
- fx="8.8244190"
- fy="3.7561285"
- r="37.751713" />
- <linearGradient
- id="linearGradient259">
- <stop
- id="stop260"
- offset="0.0000000"
- style="stop-color:#fafafa;stop-opacity:1.0000000;" />
- <stop
- id="stop261"
- offset="1.0000000"
- style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient259"
- id="radialGradient15658"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.963839,0.000000,0.000000,1.043088,-0.124825,-0.151970)"
- cx="33.966679"
- cy="35.736916"
- fx="33.966679"
- fy="35.736916"
- r="86.708450" />
- <linearGradient
- id="linearGradient15662">
- <stop
- id="stop15664"
- offset="0.0000000"
- style="stop-color:#ffffff;stop-opacity:1.0000000;" />
- <stop
- id="stop15666"
- offset="1.0000000"
- style="stop-color:#f8f8f8;stop-opacity:1.0000000;" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15662"
- id="radialGradient15668"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.974777,0.000000,0.000000,1.034091,3.161873,0.559274)"
- cx="8.1435566"
- cy="7.2678967"
- fx="8.1435566"
- fy="7.2678967"
- r="38.158695" />
- <linearGradient
- y2="99.2984"
- x2="118.302"
- y1="82.0938"
- x1="97.2412"
- gradientUnits="userSpaceOnUse"
- id="aigrd13">
- <stop
- id="stop12995"
- style="stop-color:#E8F066"
- offset="0" />
- <stop
- id="stop12997"
- style="stop-color:#949941"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="100.6528"
- x2="115.5175"
- y1="89.1104"
- x1="90.8311"
- gradientUnits="userSpaceOnUse"
- id="aigrd12">
- <stop
- id="stop12988"
- style="stop-color:#E8F066"
- offset="0" />
- <stop
- id="stop12990"
- style="stop-color:#777A34"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="92.6123"
- x2="124.8197"
- y1="75.1099"
- x1="105.0923"
- gradientUnits="userSpaceOnUse"
- id="aigrd11">
- <stop
- id="stop12981"
- style="stop-color:#3FA6CC"
- offset="0" />
- <stop
- id="stop12983"
- style="stop-color:#00687A"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="94.8"
- x2="126.1107"
- y1="84.7578"
- x1="107.8672"
- gradientUnits="userSpaceOnUse"
- id="aigrd10">
- <stop
- id="stop12974"
- style="stop-color:#2C7894"
- offset="0" />
- <stop
- id="stop12976"
- style="stop-color:#0E3D47"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="95.8999"
- x2="118.2002"
- y1="78.1079"
- x1="105.8184"
- gradientUnits="userSpaceOnUse"
- id="aigrd9">
- <stop
- id="stop12967"
- style="stop-color:#C1553A"
- offset="0" />
- <stop
- id="stop12969"
- style="stop-color:#803926"
- offset="1" />
- </linearGradient>
- <linearGradient
- y2="98.8832"
- x2="118.3481"
- y1="81.1763"
- x1="106.0254"
- gradientUnits="userSpaceOnUse"
- id="aigrd8">
- <stop
- id="stop12960"
- style="stop-color:#C09287"
- offset="0" />
- <stop
- id="stop12962"
- style="stop-color:#803926"
- offset="1" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd8"
- id="linearGradient1681"
- gradientUnits="userSpaceOnUse"
- x1="106.0254"
- y1="81.1763"
- x2="118.3481"
- y2="98.8832" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd9"
- id="linearGradient1683"
- gradientUnits="userSpaceOnUse"
- x1="105.8184"
- y1="78.1079"
- x2="118.2002"
- y2="95.8999" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd10"
- id="linearGradient1685"
- gradientUnits="userSpaceOnUse"
- x1="107.8672"
- y1="84.7578"
- x2="126.1107"
- y2="94.8" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd11"
- id="linearGradient1687"
- gradientUnits="userSpaceOnUse"
- x1="105.0923"
- y1="75.1099"
- x2="124.8197"
- y2="92.6123" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd12"
- id="linearGradient1689"
- gradientUnits="userSpaceOnUse"
- x1="90.8311"
- y1="89.1104"
- x2="115.5175"
- y2="100.6528" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#aigrd13"
- id="linearGradient1691"
- gradientUnits="userSpaceOnUse"
- x1="97.2412"
- y1="82.0938"
- x2="118.302"
- y2="99.2984" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2456"
- id="radialGradient2462"
- gradientTransform="scale(1.164226,0.85894)"
- cx="28.283663"
- cy="47.400623"
- fx="28.283663"
- fy="47.400623"
- r="13.804391"
- gradientUnits="userSpaceOnUse" />
- </defs>
- <sodipodi:namedview
- inkscape:showpageshadow="false"
- inkscape:window-y="16"
- inkscape:window-x="0"
- inkscape:window-height="784"
- inkscape:window-width="1280"
- inkscape:document-units="px"
- inkscape:grid-bbox="true"
- showgrid="false"
- inkscape:current-layer="layer1"
- inkscape:cy="24"
- inkscape:cx="24"
- inkscape:zoom="12.083333"
- inkscape:pageshadow="2"
- inkscape:pageopacity="0.0"
- borderopacity="1.0"
- bordercolor="#666666"
- pagecolor="#ffffff"
- id="base"
- inkscape:grid-points="true" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Spreadsheet</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>spreadheet</rdf:li>
- <rdf:li>document</rdf:li>
- <rdf:li>office</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- inkscape:groupmode="layer"
- inkscape:label="Layer 1"
- id="layer1"
- style="display:inline">
- <g
- style="display:inline"
- transform="matrix(2.144924e-2,0,0,2.086758e-2,43.32772,41.1536)"
- id="g6707">
- <rect
- style="opacity:0.40206185;color:black;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect6709"
- width="1339.6335"
- height="478.35718"
- x="-1559.2523"
- y="-150.69685" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- id="path6711"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path6713"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient6719);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- </g>
- <rect
- style="color:#000000;fill:url(#radialGradient15658);fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15656);stroke-width:0.99999970;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- id="rect15391"
- width="34.996506"
- height="40.997345"
- x="6.5017405"
- y="3.5013213"
- ry="1.1490481"
- rx="1.1490482" />
- <rect
- style="color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:nonzero;stroke:url(#radialGradient15668);stroke-width:0.99999970;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:block;overflow:visible"
- id="rect15660"
- width="32.996056"
- height="38.996326"
- x="7.5033512"
- y="4.5018268"
- ry="0.14904855"
- rx="0.14904846" />
- <path
- id="rect13655"
- d="M 10.000000,6.0022030 L 10.000000,10.966297 L 10.000000,41.002203 L 20.000000,41.000000 L 20.000000,11.000000 L 38.000000,11.000000 L 38.000000,6.0022030 L 10.000000,6.0022030 z "
- style="color:#000000;fill:#000000;fill-opacity:0.21052630;fill-rule:evenodd;stroke:none;stroke-width:0.60787594;stroke-linecap:square;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:nodetypes="cccccccc" />
- <path
- id="path13660"
- d="M 37.500415,10.502203 L 10.499583,10.502203"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000001px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path13662"
- d="M 37.500755,16.500000 L 10.499230,16.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path13664"
- d="M 37.500755,22.500000 L 10.499230,22.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path13666"
- d="M 37.500755,28.500000 L 10.499230,28.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path13668"
- d="M 37.501332,34.500000 L 10.499823,34.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999964px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path13682"
- d="M 37.500755,40.500000 L 10.499230,40.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path2464"
- d="M 37.511644,13.500000 L 10.500000,13.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000001px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path2466"
- d="M 37.500755,19.500000 L 10.499230,19.500000"
- style="fill:none;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path2468"
- d="M 37.500755,25.500000 L 10.499230,25.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path2470"
- d="M 37.500755,31.500000 L 10.499230,31.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- id="path2472"
- d="M 37.500755,37.500000 L 10.499230,37.500000"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999970px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999982px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.15789469"
- d="M 37.500000,6.4997386 L 37.500000,40.500300"
- id="path2485" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.15789469"
- d="M 31.500000,6.4996867 L 31.500000,40.500315"
- id="path2487" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.15789469"
- d="M 25.500000,6.4996865 L 25.500000,40.500314"
- id="path2489" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.15789469"
- d="M 19.500000,6.4996867 L 19.500000,40.500315"
- id="path2491" />
- <path
- style="fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-width:1.0000000px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.15789469"
- d="M 10.500000,6.4996867 L 10.500000,40.500315"
- id="path2493" />
- <path
- id="path2495"
- d="M 37.500227,6.5022030 L 10.499460,6.5022030"
- style="fill:#000000;fill-opacity:0.15789469;fill-rule:evenodd;stroke:#000000;stroke-width:0.99999994px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.19298245" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="emblem"
- style="display:inline" />
-</svg>
diff --git a/share/pixmaps/tryton/tryton-tree.svg b/share/pixmaps/tryton/tryton-tree.svg
deleted file mode 100644
index 4be6463..0000000
--- a/share/pixmaps/tryton/tryton-tree.svg
+++ /dev/null
@@ -1,348 +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"
- width="48px"
- height="48px"
- id="svg4198"
- sodipodi:version="0.32"
- inkscape:version="0.46"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/actions"
- sodipodi:docname="tryton-tree.svg"
- inkscape:output_extension="org.inkscape.output.svg.inkscape">
- <defs
- id="defs4200">
- <inkscape:perspective
- sodipodi:type="inkscape:persp3d"
- inkscape:vp_x="0 : 24 : 1"
- inkscape:vp_y="0 : 1000 : 0"
- inkscape:vp_z="48 : 24 : 1"
- inkscape:persp3d-origin="24 : 16 : 1"
- id="perspective21117" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5031"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient5060">
- <stop
- style="stop-color:black;stop-opacity:1;"
- offset="0"
- id="stop5062" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5064" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5060"
- id="radialGradient5029"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
- cx="605.71429"
- cy="486.64789"
- fx="605.71429"
- fy="486.64789"
- r="117.14286" />
- <linearGradient
- id="linearGradient5048">
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="0"
- id="stop5050" />
- <stop
- id="stop5056"
- offset="0.5"
- style="stop-color:black;stop-opacity:1;" />
- <stop
- style="stop-color:black;stop-opacity:0;"
- offset="1"
- id="stop5052" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient5048"
- id="linearGradient5027"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
- x1="302.85715"
- y1="366.64789"
- x2="302.85715"
- y2="609.50507" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3558">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3560" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3562" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3558"
- id="radialGradient3564"
- cx="22.571428"
- cy="30.857143"
- fx="22.571428"
- fy="30.857143"
- r="15.571428"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.651376,4.638648e-15,10.75754)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- id="linearGradient15218">
- <stop
- style="stop-color:#f8f8f7;stop-opacity:1;"
- offset="0"
- id="stop15220" />
- <stop
- id="stop2269"
- offset="0.59928656"
- style="stop-color:#e8e8e8;stop-opacity:1;" />
- <stop
- style="stop-color:#e2e2de;stop-opacity:1;"
- offset="1"
- id="stop15222" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15218"
- id="linearGradient15224"
- x1="22.308331"
- y1="18.992140"
- x2="35.785294"
- y2="39.498238"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.060837,0.000000,0.000000,0.987595,4.641161,4.108291)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2259">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop2261" />
- <stop
- style="stop-color:#ffffff;stop-opacity:0;"
- offset="1"
- id="stop2263" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2259"
- id="linearGradient2265"
- x1="26.076092"
- y1="26.696676"
- x2="30.811172"
- y2="42.007351"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.993566,0.000000,0.000000,1.000000,6.219859,4.033411)" />
- <linearGradient
- inkscape:collect="always"
- id="linearGradient2216">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop2218" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop2220" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient2216"
- id="linearGradient2222"
- x1="36.8125"
- y1="39.15625"
- x2="39.0625"
- y2="42.0625"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(6.161836,4.033411)" />
- <linearGradient
- id="linearGradient2224">
- <stop
- style="stop-color:#7c7c7c;stop-opacity:1;"
- offset="0"
- id="stop2226" />
- <stop
- style="stop-color:#b8b8b8;stop-opacity:1;"
- offset="1"
- id="stop2228" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient15218"
- id="linearGradient2240"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.342704,0.000000,0.000000,1.235378,-8.219611,-6.577189)"
- x1="20.794008"
- y1="18.378813"
- x2="35.596001"
- y2="39.60046" />
- </defs>
- <sodipodi:namedview
- id="base"
- pagecolor="#ffffff"
- bordercolor="#bebebe"
- borderopacity="1.0000000"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="12.083333"
- inkscape:cx="24"
- inkscape:cy="24"
- inkscape:current-layer="layer1"
- showgrid="true"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- inkscape:window-width="1280"
- inkscape:window-height="784"
- inkscape:window-x="0"
- inkscape:window-y="16"
- inkscape:showpageshadow="false" />
- <metadata
- id="metadata4203">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>Justify Center</dc:title>
- <dc:date>2005-10-29</dc:date>
- <dc:creator>
- <cc:Agent>
- <dc:title>Andreas Nilsson</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>justify</rdf:li>
- <rdf:li>center</rdf:li>
- <rdf:li>format</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="Layer 1"
- inkscape:groupmode="layer">
- <g
- style="display:inline"
- id="g5022"
- transform="matrix(2.330573e-2,0,0,1.227058e-2,44.47891,44.41691)">
- <rect
- y="-150.69685"
- x="-1559.2523"
- height="478.35718"
- width="1339.6335"
- id="rect4173"
- style="opacity:0.40206185;color:black;fill:url(#linearGradient5027);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cccc"
- id="path5058"
- d="M -219.61876,-150.68038 C -219.61876,-150.68038 -219.61876,327.65041 -219.61876,327.65041 C -76.744594,328.55086 125.78146,220.48075 125.78138,88.454235 C 125.78138,-43.572302 -33.655436,-150.68036 -219.61876,-150.68038 z "
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5029);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:0.40206185;color:black;fill:url(#radialGradient5031);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- d="M -1559.2523,-150.68038 C -1559.2523,-150.68038 -1559.2523,327.65041 -1559.2523,327.65041 C -1702.1265,328.55086 -1904.6525,220.48075 -1904.6525,88.454235 C -1904.6525,-43.572302 -1745.2157,-150.68036 -1559.2523,-150.68038 z "
- id="path5018"
- sodipodi:nodetypes="cccc" />
- </g>
- <rect
- style="opacity:1;fill:url(#linearGradient2240);fill-opacity:1;fill-rule:evenodd;stroke:#888a85;stroke-width:0.99999976;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect4238"
- width="38.996792"
- height="45.003101"
- x="4.5016017"
- y="1.4968988"
- rx="0.56650788"
- ry="0.56650823" />
- <rect
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4248"
- width="15"
- height="2"
- x="-24"
- y="10"
- transform="scale(-1,1)" />
- <rect
- y="16"
- x="-30"
- height="2"
- width="15"
- id="rect4250"
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- transform="scale(-1,1)" />
- <rect
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4252"
- width="15"
- height="2"
- x="-40"
- y="22"
- transform="scale(-1,1)" />
- <rect
- y="28"
- x="-40"
- height="2"
- width="15"
- id="rect4254"
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- transform="scale(-1,1)" />
- <rect
- style="opacity:1;fill:#999999;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="rect4256"
- width="15"
- height="2"
- x="-30"
- y="34"
- transform="scale(-1,1)" />
- <rect
- style="opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
- id="rect2245"
- width="37.025566"
- height="43.022316"
- x="5.4997125"
- y="2.4997177"
- rx="0"
- ry="0" />
- </g>
-</svg>
diff --git a/share/pixmaps/tryton/tryton-undo.svg b/share/pixmaps/tryton/tryton-undo.svg
new file mode 100644
index 0000000..d3cce96
--- /dev/null
+++ b/share/pixmaps/tryton/tryton-undo.svg
@@ -0,0 +1,230 @@
+<?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"
+ inkscape:export-ydpi="90.000000"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ width="48px"
+ height="48px"
+ id="svg11300"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docbase="/home/tigert/cvs/freedesktop.org/tango-icon-theme/scalable/actions"
+ sodipodi:docname="edit-undo.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective31" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#c4a000;stop-opacity:1;"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#c4a000;stop-opacity:0;"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#edd400;stop-opacity:1;"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#edd400;stop-opacity:0;"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.536723,-6.227265e-14,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.813471e-16,-1.171926,-1.171926,1.813471e-16,46.17440,54.10111)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient2314"
+ x1="26.5"
+ y1="34.25"
+ x2="26.25"
+ y2="43.571831"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316"
+ id="linearGradient2322"
+ x1="26.5"
+ y1="34.25"
+ x2="26.25"
+ y2="43.571831"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,-1.151905e-16,1.061756e-16,2.300689,-25.12402,-17.82636)"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ stroke="#c4a000"
+ fill="#edd400"
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="2.8284271"
+ inkscape:cx="-19.855325"
+ inkscape:cy="-15.183692"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:showpageshadow="false"
+ inkscape:window-width="891"
+ inkscape:window-height="818"
+ inkscape:window-x="0"
+ inkscape:window-y="30" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title>Edit Undo</dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>edit</rdf:li>
+ <rdf:li>undo</rdf:li>
+ <rdf:li>revert</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ transform="matrix(-1.489736,0.000000,0.000000,-1.001252,60.60436,75.31260)"
+ d="M 40.481863 36.421127 A 15.644737 8.3968935 0 1 1 9.1923885,36.421127 A 15.644737 8.3968935 0 1 1 40.481863 36.421127 z"
+ sodipodi:ry="8.3968935"
+ sodipodi:rx="15.644737"
+ sodipodi:cy="36.421127"
+ sodipodi:cx="24.837126"
+ id="path8660"
+ style="opacity:0.14117647;color:#000000;fill:url(#radialGradient8668);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ style="opacity:1;color:#000000;fill:url(#linearGradient2314);fill-opacity:1.0;fill-rule:nonzero;stroke:url(#linearGradient2322);stroke-width:1.00000012;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible"
+ d="M 9.582441,45.034369 C 49.608249,46.355509 43.282405,12.29355 22.462411,12.49765 L 22.462411,3.1222396 L 5.8139298,17.708819 L 22.462411,33.006349 C 22.462411,33.006349 22.462411,23.337969 22.462411,23.337969 C 36.525521,22.751999 40.639939,44.770549 9.582441,45.034369 z "
+ id="path1432"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path2177"
+ d="M 31.032281,39.315519 C 42.75538,33.235892 39.220073,13.087489 21.448701,13.549959 L 21.448701,5.4508678 C 21.448701,5.4508678 7.4009628,17.714589 7.4009628,17.714589 L 21.448701,30.658617 C 21.448701,30.658617 21.448701,22.380979 21.448701,22.380979 C 36.288551,22.032709 35.608611,35.138579 31.032281,39.315519 z "
+ style="opacity:0.69886361;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient1764);stroke-width:0.9999997;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:10;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:block;overflow:visible" />
+ <path
+ style="opacity:0.51136364;color:#000000;fill:url(#radialGradient2332);fill-opacity:1.0;fill-rule:evenodd;stroke:none;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ d="M 6.6291261,17.682797 L 12.28598,23.074486 C 18.561553,22.897709 15.733126,16.710525 26.958446,13.616933 L 22.008699,12.998214 L 21.92031,4.3361562 L 6.6291261,17.682797 z "
+ id="path2324"
+ sodipodi:nodetypes="cccccc" />
+ </g>
+</svg>
diff --git a/share/pixmaps/tryton/tryton-users.svg b/share/pixmaps/tryton/tryton-users.svg
deleted file mode 100644
index c686f2c..0000000
--- a/share/pixmaps/tryton/tryton-users.svg
+++ /dev/null
@@ -1,537 +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://web.resource.org/cc/"
- 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"
- width="48px"
- height="48px"
- id="svg2108"
- sodipodi:version="0.32"
- inkscape:version="0.43+devel"
- sodipodi:docbase="/home/jimmac/src/cvs/tango-icon-theme/scalable/apps"
- sodipodi:docname="system-users.svg">
- <defs
- id="defs3">
- <linearGradient
- inkscape:collect="always"
- id="linearGradient4356">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop4358" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop4360" />
- </linearGradient>
- <linearGradient
- id="linearGradient4344">
- <stop
- style="stop-color:#727e0a;stop-opacity:1;"
- offset="0"
- id="stop4346" />
- <stop
- style="stop-color:#5b6508;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop4348" />
- </linearGradient>
- <linearGradient
- id="linearGradient4338">
- <stop
- id="stop4340"
- offset="0.0000000"
- style="stop-color:#e9b15e;stop-opacity:1.0000000;" />
- <stop
- id="stop4342"
- offset="1.0000000"
- style="stop-color:#966416;stop-opacity:1.0000000;" />
- </linearGradient>
- <linearGradient
- id="linearGradient4163">
- <stop
- style="stop-color:#3b74bc;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop4165" />
- <stop
- style="stop-color:#2d5990;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop4167" />
- </linearGradient>
- <linearGradient
- id="linearGradient3824">
- <stop
- style="stop-color:#ffffff;stop-opacity:1;"
- offset="0"
- id="stop3826" />
- <stop
- style="stop-color:#c9c9c9;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop3828" />
- </linearGradient>
- <linearGradient
- inkscape:collect="always"
- id="linearGradient3816">
- <stop
- style="stop-color:#000000;stop-opacity:1;"
- offset="0"
- id="stop3818" />
- <stop
- style="stop-color:#000000;stop-opacity:0;"
- offset="1"
- id="stop3820" />
- </linearGradient>
- <linearGradient
- id="linearGradient3800">
- <stop
- style="stop-color:#f4d9b1;stop-opacity:1.0000000;"
- offset="0.0000000"
- id="stop3802" />
- <stop
- style="stop-color:#df9725;stop-opacity:1.0000000;"
- offset="1.0000000"
- id="stop3804" />
- </linearGradient>
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3800"
- id="radialGradient3806"
- cx="29.344931"
- cy="17.064077"
- fx="29.344931"
- fy="17.064077"
- r="9.1620579"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3816"
- id="radialGradient3822"
- cx="31.112698"
- cy="19.008621"
- fx="31.112698"
- fy="19.008621"
- r="8.6620579"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3824"
- id="linearGradient3830"
- x1="30.935921"
- y1="29.553486"
- x2="30.935921"
- y2="35.803486"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4163"
- id="radialGradient4169"
- cx="28.089741"
- cy="27.203083"
- fx="28.089741"
- fy="27.203083"
- r="13.565360"
- gradientTransform="matrix(1.297564,2.881172e-16,-1.964720e-16,0.884831,-8.358505,4.940469)"
- gradientUnits="userSpaceOnUse" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3800"
- id="radialGradient4171"
- gradientUnits="userSpaceOnUse"
- cx="29.344931"
- cy="17.064077"
- fx="29.344931"
- fy="17.064077"
- r="9.1620579"
- gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3824"
- id="linearGradient4175"
- gradientUnits="userSpaceOnUse"
- x1="30.935921"
- y1="29.553486"
- x2="30.935921"
- y2="35.803486"
- gradientTransform="translate(0.707108,0.000000)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3816"
- id="radialGradient4179"
- gradientUnits="userSpaceOnUse"
- cx="31.112698"
- cy="19.008621"
- fx="31.112698"
- fy="19.008621"
- r="8.6620579" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3824"
- id="linearGradient4326"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-12.41789,-7.000000)"
- x1="30.935921"
- y1="29.553486"
- x2="30.935921"
- y2="35.803486" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4338"
- id="radialGradient4328"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.787998,3.877637e-16,-3.877637e-16,0.787998,6.221198,3.617627)"
- cx="29.344931"
- cy="17.064077"
- fx="29.344931"
- fy="17.064077"
- r="9.1620579" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3816"
- id="radialGradient4330"
- gradientUnits="userSpaceOnUse"
- cx="31.112698"
- cy="19.008621"
- fx="31.112698"
- fy="19.008621"
- r="8.6620579" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3824"
- id="linearGradient4332"
- gradientUnits="userSpaceOnUse"
- x1="30.935921"
- y1="29.553486"
- x2="30.935921"
- y2="35.803486"
- gradientTransform="translate(-13.12500,-7.000000)" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3816"
- id="radialGradient4336"
- gradientUnits="userSpaceOnUse"
- cx="31.112698"
- cy="19.008621"
- fx="31.112698"
- fy="19.008621"
- r="8.6620579" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4344"
- id="radialGradient4350"
- cx="16.214741"
- cy="19.836468"
- fx="16.214741"
- fy="19.836468"
- r="13.565360"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)"
- gradientUnits="userSpaceOnUse" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4356"
- id="linearGradient4362"
- x1="20.661695"
- y1="35.817974"
- x2="22.626925"
- y2="36.217758"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,6.231716,-2.651466)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4356"
- id="linearGradient4366"
- gradientUnits="userSpaceOnUse"
- x1="22.686766"
- y1="36.390400"
- x2="21.408455"
- y2="35.739632"
- gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,55.10960,-3.945209)" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4356"
- id="linearGradient4372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)"
- x1="20.661695"
- y1="35.817974"
- x2="22.626925"
- y2="36.217758" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4356"
- id="linearGradient4374"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)"
- x1="22.686766"
- y1="36.390400"
- x2="21.408455"
- y2="35.739632" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4356"
- id="linearGradient1366"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(-0.977685,0.210075,0.210075,0.977685,41.80576,-11.11866)"
- x1="22.686766"
- y1="36.390400"
- x2="21.408455"
- y2="35.739632" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4356"
- id="linearGradient1369"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(0.983375,0.181588,-0.181588,0.983375,-7.072120,-9.824920)"
- x1="20.661695"
- y1="35.817974"
- x2="22.626925"
- y2="36.217758" />
- <linearGradient
- inkscape:collect="always"
- xlink:href="#linearGradient3824"
- id="linearGradient1372"
- gradientUnits="userSpaceOnUse"
- gradientTransform="translate(-12.41789,-7.000000)"
- x1="30.935921"
- y1="29.553486"
- x2="30.935921"
- y2="35.803486" />
- <radialGradient
- inkscape:collect="always"
- xlink:href="#linearGradient4344"
- id="radialGradient1381"
- gradientUnits="userSpaceOnUse"
- gradientTransform="matrix(1.000000,0.000000,0.000000,0.681917,0.000000,8.233773)"
- cx="16.214741"
- cy="19.836468"
- fx="16.214741"
- fy="19.836468"
- r="13.565360" />
- </defs>
- <sodipodi:namedview
- inkscape:showpageshadow="false"
- id="base"
- pagecolor="#ffffff"
- bordercolor="#666666"
- borderopacity="1.0"
- inkscape:pageopacity="0.0"
- inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="31.201438"
- inkscape:cy="13.86274"
- inkscape:current-layer="layer2"
- showgrid="false"
- inkscape:grid-bbox="true"
- inkscape:document-units="px"
- fill="#9db029"
- stroke="#727e0a"
- inkscape:window-width="872"
- inkscape:window-height="815"
- inkscape:window-x="265"
- inkscape:window-y="121" />
- <metadata
- id="metadata4">
- <rdf:RDF>
- <cc:Work
- rdf:about="">
- <dc:format>image/svg+xml</dc:format>
- <dc:type
- rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
- <dc:title>People</dc:title>
- <dc:creator>
- <cc:Agent>
- <dc:title>Jakub Steiner</dc:title>
- </cc:Agent>
- </dc:creator>
- <dc:source>http://jimmac.musichall.cz</dc:source>
- <dc:subject>
- <rdf:Bag>
- <rdf:li>users</rdf:li>
- <rdf:li>people</rdf:li>
- </rdf:Bag>
- </dc:subject>
- <cc:license
- rdf:resource="http://creativecommons.org/licenses/by-sa/2.0/" />
- </cc:Work>
- <cc:License
- rdf:about="http://creativecommons.org/licenses/by-sa/2.0/">
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Reproduction" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/Distribution" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Notice" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/Attribution" />
- <cc:permits
- rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
- <cc:requires
- rdf:resource="http://web.resource.org/cc/ShareAlike" />
- </cc:License>
- </rdf:RDF>
- </metadata>
- <g
- id="layer1"
- inkscape:label="cipek"
- inkscape:groupmode="layer"
- style="display:inline">
- <path
- transform="matrix(1.775510,0.000000,0.000000,0.959183,-37.37822,11.77153)"
- sodipodi:type="arc"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4336);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4177"
- sodipodi:cx="31.112698"
- sodipodi:cy="19.008621"
- sodipodi:rx="8.6620579"
- sodipodi:ry="8.6620579"
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient1381);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#404604;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 12.861174,34.636039 L 23.467776,34.636039 C 26.472980,34.636039 29.448260,33.534107 30.538843,30.393398 C 31.574482,27.410922 30.715620,21.731340 23.998106,17.135146 L 11.446960,17.135146 C 4.7294460,21.377786 3.8899690,27.179977 5.4365530,30.570174 C 7.0121480,34.023964 9.6791930,34.636039 12.861174,34.636039 z "
- id="path2329"
- sodipodi:nodetypes="cczcczc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path3812"
- d="M 17.932367,19.786797 C 17.932367,19.786797 15.781044,21.447132 15.966376,23.447330 C 13.925150,21.646536 13.866503,18.195806 13.866503,18.195806 L 17.932367,19.786797 z "
- style="opacity:1.0000000;color:#000000;fill:#9db029;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cczcczc"
- id="path3838"
- d="M 12.966639,33.571836 L 23.283309,33.571836 C 25.923032,33.571836 28.536470,32.603917 29.494421,29.845169 C 30.404110,27.225409 29.399699,22.236555 23.499142,18.199332 L 11.974417,18.199332 C 6.0738600,21.925999 5.0864770,27.022551 6.4449710,30.000446 C 7.8289490,33.034200 10.171638,33.571836 12.966639,33.571836 z "
- style="opacity:0.21518983;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1.0000000;color:#000000;fill:#9db029;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 18.910795,19.786797 C 18.910795,19.786797 21.062118,21.447132 20.876786,23.447330 C 22.918012,21.646536 22.976659,18.195806 22.976659,18.195806 L 18.910795,19.786797 z "
- id="path3810"
- sodipodi:nodetypes="cccc" />
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path3814"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4330);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="translate(-13.25000,-3.500000)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4328);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#6f4709;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path2327"
- sodipodi:cx="31.112698"
- sodipodi:cy="19.008621"
- sodipodi:rx="8.6620579"
- sodipodi:ry="8.6620579"
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- transform="translate(-13.12500,-7.000000)" />
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path3834"
- style="opacity:0.12658228;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1401283px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="matrix(0.877095,0.000000,0.000000,0.877095,-9.301073,-4.663733)" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient1372);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 22.583894,27.034641 L 26.826534,27.034641 L 24.351661,24.736544 L 23.821331,25.443651 L 23.291000,24.913321 L 22.583894,27.034641 z "
- id="path4173" />
- <path
- style="opacity:0.22784807;color:#000000;fill:url(#linearGradient1369);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 8.5479535,33.601747 C 7.3003465,33.056778 6.7419595,31.743470 6.7419595,31.743470 C 7.5832405,27.674334 10.461885,24.697254 10.461885,24.697254 C 10.461885,24.697254 8.1825635,31.108768 8.5479535,33.601747 z "
- id="path4368"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path4370"
- d="M 27.453661,32.743396 C 28.684912,32.162418 29.258041,30.741075 29.258041,30.741075 C 28.298921,26.698092 25.281892,23.898254 25.281892,23.898254 C 25.281892,23.898254 27.746485,30.240856 27.453661,32.743396 z "
- style="opacity:0.22784807;color:#000000;fill:url(#linearGradient1366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
- <g
- inkscape:groupmode="layer"
- id="layer2"
- inkscape:label="dalsi cipek"
- style="display:inline">
- <path
- transform="matrix(1.77551,0,0,0.583984,-24.25322,28.27856)"
- sodipodi:type="arc"
- style="opacity:1;color:black;fill:url(#radialGradient4179);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
- id="path4306"
- sodipodi:cx="31.112698"
- sodipodi:cy="19.008621"
- sodipodi:rx="8.6620579"
- sodipodi:ry="8.6620579"
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.45064,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4169);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#204a87;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 25.986174,41.636039 L 36.592776,41.636039 C 39.597980,41.636039 42.573260,40.534107 43.663843,37.393398 C 44.699482,34.410922 43.840620,28.731340 37.123106,24.135146 L 24.571960,24.135146 C 17.854446,28.377786 17.014969,34.179977 18.561553,37.570174 C 20.137148,41.023964 22.804193,41.636039 25.986174,41.636039 z "
- id="path4308"
- sodipodi:nodetypes="cczcczc" />
- <path
- style="opacity:1.0000000;color:#000000;fill:url(#linearGradient3830);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 26.693281,25.726136 C 29.875261,28.554563 31.289475,38.807612 31.289475,38.807612 C 31.289475,38.807612 32.703688,28.554564 35.178562,25.549360 L 26.693281,25.726136 z "
- id="path4310"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path4312"
- d="M 28.972721,26.786797 C 28.972721,26.786797 26.821398,28.447132 27.006730,30.447330 C 24.965504,28.646536 24.906857,25.195806 24.906857,25.195806 L 28.972721,26.786797 z "
- style="opacity:1.0000000;color:#000000;fill:#729fcf;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- sodipodi:nodetypes="cczcczc"
- id="path4314"
- d="M 25.914862,40.593933 L 36.408309,40.571836 C 39.048032,40.571836 41.661470,39.603917 42.619421,36.845169 C 43.529110,34.225409 42.524699,29.236555 36.624142,25.199332 L 25.099417,24.956264 C 19.198860,28.682931 18.056797,33.779483 19.437388,37.000446 C 20.817980,40.221409 22.832599,40.571836 25.914862,40.593933 z "
- style="opacity:0.21518983;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:0.99999976px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- <path
- style="opacity:1.0000000;color:#000000;fill:#729fcf;fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 33.410795,26.786797 C 33.410795,26.786797 35.562118,28.447132 35.376786,30.447330 C 37.418012,28.646536 37.476659,25.195806 37.476659,25.195806 L 33.410795,26.786797 z "
- id="path4316"
- sodipodi:nodetypes="cccc" />
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path4318"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient3822);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="translate(-0.125000,3.500000)" />
- <path
- sodipodi:type="arc"
- style="opacity:1.0000000;color:#000000;fill:url(#radialGradient4171);fill-opacity:1.0000000;fill-rule:evenodd;stroke:#c17d11;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- id="path4320"
- sodipodi:cx="31.112698"
- sodipodi:cy="19.008621"
- sodipodi:rx="8.6620579"
- sodipodi:ry="8.6620579"
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z" />
- <path
- d="M 39.774755 19.008621 A 8.6620579 8.6620579 0 1 1 22.450640,19.008621 A 8.6620579 8.6620579 0 1 1 39.774755 19.008621 z"
- sodipodi:ry="8.6620579"
- sodipodi:rx="8.6620579"
- sodipodi:cy="19.008621"
- sodipodi:cx="31.112698"
- id="path4322"
- style="opacity:0.19620253;color:#000000;fill:none;fill-opacity:1.0000000;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1401283px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- sodipodi:type="arc"
- transform="matrix(0.877095,0.000000,0.000000,0.877095,3.823927,2.336267)" />
- <path
- style="opacity:0.22784807;color:#000000;fill:url(#linearGradient4362);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible"
- d="M 21.851790,40.775197 C 20.604183,40.230228 20.045796,38.916920 20.045796,38.916920 C 20.887077,34.847784 23.765721,31.870704 23.765721,31.870704 C 23.765721,31.870704 21.486400,38.282218 21.851790,40.775197 z "
- id="path4354"
- sodipodi:nodetypes="cccc" />
- <path
- sodipodi:nodetypes="cccc"
- id="path4364"
- d="M 40.757497,39.916846 C 41.988748,39.335868 42.561877,37.914525 42.561877,37.914525 C 41.602757,33.871542 38.585728,31.071704 38.585728,31.071704 C 38.585728,31.071704 41.050321,37.414306 40.757497,39.916846 z "
- style="opacity:0.22784807;color:#000000;fill:url(#linearGradient4366);fill-opacity:1.0000000;fill-rule:evenodd;stroke:none;stroke-width:1.0000000px;stroke-linecap:round;stroke-linejoin:round;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4.0000000;stroke-dasharray:none;stroke-dashoffset:0.0000000;stroke-opacity:1.0000000;visibility:visible;display:inline;overflow:visible" />
- </g>
-</svg>
diff --git a/tryton.egg-info/PKG-INFO b/tryton.egg-info/PKG-INFO
index 9742ffd..4ec9d89 100644
--- a/tryton.egg-info/PKG-INFO
+++ b/tryton.egg-info/PKG-INFO
@@ -1,23 +1,84 @@
Metadata-Version: 1.0
Name: tryton
-Version: 1.8.3
+Version: 2.0.0
Summary: Tryton client
Home-page: http://www.tryton.org/
Author: B2CK
Author-email: info at b2ck.com
License: GPL-3
-Download-URL: http://downloads.tryton.org/1.8/
-Description: UNKNOWN
+Download-URL: http://downloads.tryton.org/2.0/
+Description: tryton
+ ======
+
+ The client of the Tryton application platform.
+ A three-tiers high-level general purpose application platform
+ written in Python and use Postgresql as database engine.
+ It is the core base of an Open Source ERP.
+ It provides modularity, scalability and security.
+
+ Installing
+ ----------
+
+ See INSTALL
+
+ Package Contents
+ ----------------
+
+ bin/
+ Script for startup.
+
+ doc/
+ sphinx documentation in reStructuredText.
+ To generate the HTML:
+
+ python doc/build.py
+
+ share/
+ The shared files like translations and images.
+
+ tryton/
+ tryton sources.
+
+ Support
+ -------
+
+ If you encounter any problems with Tryton, please don't hesitate to ask
+ questions on the Tryton bug tracker, mailing list, wiki or IRC channel:
+
+ http://bugs.tryton.org/
+ http://groups.tryton.org/
+ http://wiki.tryton.org/
+ irc://irc.freenode.net/tryton
+
+ License
+ -------
+
+ See LICENSE
+
+ Copyright
+ ---------
+
+ See COPYRIGHT
+
+
+ For more information please visit the Tryton web site:
+
+ http://www.tryton.org/
+
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: X11 Applications :: GTK
Classifier: Intended Audience :: End Users/Desktop
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
-Classifier: Operating System :: OS Independent
+Classifier: Natural Language :: Bulgarian
+Classifier: Natural Language :: Dutch
Classifier: Natural Language :: English
Classifier: Natural Language :: French
Classifier: Natural Language :: German
Classifier: Natural Language :: Russian
Classifier: Natural Language :: Spanish
-Classifier: Programming Language :: Python
+Classifier: Operating System :: OS Independent
+Classifier: Programming Language :: Python :: 2.5
+Classifier: Programming Language :: Python :: 2.6
+Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Office/Business
diff --git a/tryton.egg-info/SOURCES.txt b/tryton.egg-info/SOURCES.txt
index 9593bc4..d244592 100644
--- a/tryton.egg-info/SOURCES.txt
+++ b/tryton.egg-info/SOURCES.txt
@@ -3,6 +3,7 @@ COPYRIGHT
INSTALL
LICENSE
MANIFEST.in
+Microsoft.VC90.CRT.manifest
README
TODO
english.nsh
@@ -39,27 +40,24 @@ doc/de_DE/introduction.po
doc/de_DE/introduction.rst
doc/de_DE/usage.po
doc/de_DE/usage.rst
+share/locale/bg_BG/LC_MESSAGES/tryton.mo
share/locale/cs_CZ/LC_MESSAGES/tryton.mo
share/locale/de_DE/LC_MESSAGES/tryton.mo
share/locale/es_CO/LC_MESSAGES/tryton.mo
share/locale/es_ES/LC_MESSAGES/tryton.mo
share/locale/fr_FR/LC_MESSAGES/tryton.mo
+share/locale/nl_NL/LC_MESSAGES/tryton.mo
share/locale/ru_RU/LC_MESSAGES/tryton.mo
+share/locale/sl_SI/LC_MESSAGES/tryton.mo
share/pixmaps/tryton/LICENSE
-share/pixmaps/tryton/tryton-accessories.svg
share/pixmaps/tryton/tryton-attachment-hi.svg
share/pixmaps/tryton/tryton-attachment.svg
-share/pixmaps/tryton/tryton-calculator.svg
-share/pixmaps/tryton/tryton-calendar.svg
share/pixmaps/tryton/tryton-cancel.svg
share/pixmaps/tryton/tryton-clear.svg
-share/pixmaps/tryton/tryton-clock.svg
share/pixmaps/tryton/tryton-close.svg
share/pixmaps/tryton/tryton-connect.svg
share/pixmaps/tryton/tryton-copy.svg
-share/pixmaps/tryton/tryton-currency.svg
share/pixmaps/tryton/tryton-delete.svg
-share/pixmaps/tryton/tryton-development.svg
share/pixmaps/tryton/tryton-dialog-error.svg
share/pixmaps/tryton/tryton-dialog-information.svg
share/pixmaps/tryton/tryton-dialog-warning.svg
@@ -68,20 +66,16 @@ share/pixmaps/tryton/tryton-executable.svg
share/pixmaps/tryton/tryton-find-replace.svg
share/pixmaps/tryton/tryton-find.svg
share/pixmaps/tryton/tryton-folder-new.svg
-share/pixmaps/tryton/tryton-folder-saved-search.svg
share/pixmaps/tryton/tryton-fullscreen.svg
share/pixmaps/tryton/tryton-go-home.svg
share/pixmaps/tryton/tryton-go-jump.svg
share/pixmaps/tryton/tryton-go-next.svg
share/pixmaps/tryton/tryton-go-previous.svg
-share/pixmaps/tryton/tryton-graph.svg
share/pixmaps/tryton/tryton-help.svg
share/pixmaps/tryton/tryton-icon.png
share/pixmaps/tryton/tryton-icon.svg
-share/pixmaps/tryton/tryton-image-missing.svg
share/pixmaps/tryton/tryton-list-add.svg
share/pixmaps/tryton/tryton-list-remove.svg
-share/pixmaps/tryton/tryton-list.svg
share/pixmaps/tryton/tryton-locale.svg
share/pixmaps/tryton/tryton-lock.svg
share/pixmaps/tryton/tryton-log-out.svg
@@ -91,22 +85,17 @@ share/pixmaps/tryton/tryton-new.svg
share/pixmaps/tryton/tryton-noimage.png
share/pixmaps/tryton/tryton-ok.svg
share/pixmaps/tryton/tryton-open.svg
-share/pixmaps/tryton/tryton-package.svg
share/pixmaps/tryton/tryton-preferences-system-session.svg
share/pixmaps/tryton/tryton-preferences-system.svg
share/pixmaps/tryton/tryton-preferences.svg
-share/pixmaps/tryton/tryton-presentation.svg
share/pixmaps/tryton/tryton-print.svg
-share/pixmaps/tryton/tryton-readonly.svg
share/pixmaps/tryton/tryton-refresh.svg
share/pixmaps/tryton/tryton-save-as.svg
share/pixmaps/tryton/tryton-save.svg
-share/pixmaps/tryton/tryton-spreadsheet.svg
share/pixmaps/tryton/tryton-start-here.svg
share/pixmaps/tryton/tryton-system-file-manager.svg
share/pixmaps/tryton/tryton-system.svg
-share/pixmaps/tryton/tryton-tree.svg
-share/pixmaps/tryton/tryton-users.svg
+share/pixmaps/tryton/tryton-undo.svg
share/pixmaps/tryton/tryton-web-browser.svg
share/pixmaps/tryton/tryton.icns
share/pixmaps/tryton/tryton.ico
@@ -115,6 +104,7 @@ tryton/__init__.py
tryton/client.py
tryton/config.py
tryton/fingerprints.py
+tryton/ipc.py
tryton/pysocket.py
tryton/pyson.py
tryton/rpc.py
@@ -139,6 +129,8 @@ tryton/common/cellrenderertoggle.py
tryton/common/common.py
tryton/common/date_widget.py
tryton/common/datetime_strftime.py
+tryton/common/domain_inversion.py
+tryton/common/environment.py
tryton/gui/__init__.py
tryton/gui/main.py
tryton/gui/window/__init__.py
@@ -156,7 +148,6 @@ tryton/gui/window/limit.py
tryton/gui/window/preference.py
tryton/gui/window/shortcuts.py
tryton/gui/window/tips.py
-tryton/gui/window/tree.py
tryton/gui/window/win_export.py
tryton/gui/window/win_form.py
tryton/gui/window/win_import.py
@@ -194,8 +185,8 @@ tryton/gui/window/view_form/view/form_gtk/interface.py
tryton/gui/window/view_form/view/form_gtk/many2many.py
tryton/gui/window/view_form/view/form_gtk/many2one.py
tryton/gui/window/view_form/view/form_gtk/one2many.py
+tryton/gui/window/view_form/view/form_gtk/one2one.py
tryton/gui/window/view_form/view/form_gtk/parser.py
-tryton/gui/window/view_form/view/form_gtk/preference.py
tryton/gui/window/view_form/view/form_gtk/progressbar.py
tryton/gui/window/view_form/view/form_gtk/reference.py
tryton/gui/window/view_form/view/form_gtk/selection.py
@@ -220,10 +211,6 @@ tryton/gui/window/view_form/widget_search/integer.py
tryton/gui/window/view_form/widget_search/interface.py
tryton/gui/window/view_form/widget_search/reference.py
tryton/gui/window/view_form/widget_search/selection.py
-tryton/gui/window/view_tree/__init__.py
-tryton/gui/window/view_tree/parse.py
-tryton/gui/window/view_tree/view_tree.py
-tryton/gui/window/view_tree/view_tree_sc.py
tryton/plugins/__init__.py
tryton/plugins/translation/__init__.py
tryton/plugins/workflow/__init__.py
diff --git a/tryton/action/main.py b/tryton/action/main.py
index 05bfc89..84b9262 100644
--- a/tryton/action/main.py
+++ b/tryton/action/main.py
@@ -25,13 +25,13 @@ class Action(object):
context = {}
if email is None:
email = {}
- datas = data.copy()
- ids = datas['ids']
- del datas['ids']
+ data = data.copy()
+ ids = data['ids']
+ del data['ids']
ctx = rpc.CONTEXT.copy()
ctx.update(context)
if not ids:
- args = ('model', datas['model'], 'search', [], 0, None, None, ctx)
+ args = ('model', data['model'], 'search', [], 0, None, None, ctx)
try:
ids = rpc.execute(*args)
except Exception, exception:
@@ -41,8 +41,8 @@ class Action(object):
if ids == []:
message(_('Nothing to print!'), window)
return False
- datas['id'] = ids[0]
- args = ('report', name, 'execute', ids, datas, ctx)
+ data['id'] = ids[0]
+ args = ('report', name, 'execute', ids, data, ctx)
rpcprogress = common.RPCProgress('execute', args, window)
try:
res = rpcprogress.run()
@@ -70,7 +70,7 @@ class Action(object):
return True
@staticmethod
- def execute(act_id, datas, window, action_type=None, context=None):
+ def execute(act_id, data, window, action_type=None, context=None):
if context is None:
context = {}
ctx = rpc.CONTEXT.copy()
@@ -92,40 +92,32 @@ class Action(object):
except Exception, exception:
common.process_exception(exception, window)
return
- Action._exec_action(res, window, datas)
+ Action._exec_action(res, window, data)
@staticmethod
- def _exec_action(action, window, datas=None, context=None):
+ def _exec_action(action, window, data=None, context=None):
if context is None:
context = {}
- if datas is None:
- datas = {}
+ if data is None:
+ data = {}
+ else:
+ data = data.copy()
if 'type' not in (action or {}):
return
if action['type'] == 'ir.action.act_window':
- for key in (
- 'res_id',
- 'res_model',
- 'view_type',
- 'limit',
- 'auto_refresh',
- 'search_value',
- ):
- datas[key] = action.get(key, datas.get(key, None))
-
view_ids = False
- datas['view_mode'] = None
+ view_mode = None
if action.get('views', []):
view_ids = [x[0] for x in action['views']]
- datas['view_mode'] = [x[1] for x in action['views']]
+ view_mode = [x[1] for x in action['views']]
elif action.get('view_id', False):
view_ids = [action['view_id'][0]]
action.setdefault('pyson_domain', '[]')
ctx = {
- 'active_id': datas.get('id',False),
- 'active_ids': datas.get('ids',[]),
+ 'active_id': data.get('id', False),
+ 'active_ids': data.get('ids', []),
}
ctx.update(rpc.CONTEXT)
eval_ctx = ctx.copy()
@@ -138,9 +130,6 @@ class Action(object):
domain_context['context'] = ctx
domain = PYSONDecoder(domain_context).decode(action['pyson_domain'])
- if datas.get('domain', False):
- domain.append(datas['domain'])
-
search_context = ctx.copy()
search_context['context'] = ctx
search_value = PYSONDecoder(search_context).decode(
@@ -150,26 +139,33 @@ class Action(object):
if action.get('window_name', True):
name = action.get('name', False)
- Window.create(view_ids, datas['res_model'], datas['res_id'], domain,
- action['view_type'], window, action_ctx,
- datas['view_mode'], name=name,
- limit=datas['limit'], auto_refresh=datas['auto_refresh'],
- search_value=search_value)
+ res_model = action.get('res_model', data.get('res_model'))
+ res_id = action.get('res_id', data.get('res_id'))
+
+ Window.create(view_ids, res_model, res_id, domain, window,
+ action_ctx, view_mode, name=name,
+ limit=action.get('limit'),
+ auto_refresh=action.get('auto_refresh'),
+ search_value=search_value,
+ icon=(action.get('icon.rec_name') or ''))
elif action['type'] == 'ir.action.wizard':
if action.get('window', False):
- Window.create_wizard(action['wiz_name'], datas, window,
+ Window.create_wizard(action['wiz_name'], data, window,
direct_print=action.get('direct_print', False),
email_print=action.get('email_print', False),
email=action.get('email'), name=action.get('name', False),
context=context)
else:
- Wizard.execute(action['wiz_name'], datas, window,
+ Wizard.execute(action['wiz_name'], data, window,
direct_print=action.get('direct_print', False),
email_print=action.get('email_print', False),
email=action.get('email'), context=context)
+ if action['wiz_name'] == 'ir.ui.view_sc.add':
+ from tryton.gui.main import Main
+ Main.get_main().shortcut_set()
elif action['type'] == 'ir.action.report':
- Action.exec_report(action['report_name'], datas, window,
+ Action.exec_report(action['report_name'], data, window,
direct_print=action.get('direct_print', False),
email_print=action.get('email_print', False),
email=action.get('email'), context=context)
diff --git a/tryton/client.py b/tryton/client.py
index 47d2ea7..a7ce99c 100644
--- a/tryton/client.py
+++ b/tryton/client.py
@@ -1,5 +1,6 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
"""
%prog [options]
"""
@@ -8,27 +9,58 @@ import sys
import pygtk
pygtk.require('2.0')
import gtk
-if not (os.name in ('nt', 'mac') or \
- (hasattr(os, 'uname') and os.uname()[0] == 'Darwin')):
- gtk.gdk.threads_init()
+import gobject
+gobject.threads_init()
import logging
+from urlparse import urlparse
+import threading
from tryton import version
from tryton import config
+import tryton.common as common
from tryton.config import CONFIG, CURRENT_DIR, PREFIX, PIXMAPS_DIR, \
TRYTON_ICON, get_config_dir
from tryton import translate
from tryton import gui
+from tryton.ipc import Client as IPCClient
import traceback
import time
import signal
+if not hasattr(gtk.gdk, 'lock'):
+ class _Lock(object):
+ __enter__ = gtk.gdk.threads_enter
+ def __exit__(*ignored):
+ gtk.gdk.threads_leave()
+
+ gtk.gdk.lock = _Lock()
+
+if sys.platform == 'win32':
+ class Dialog(gtk.Dialog):
+ def run(self):
+ with gtk.gdk.lock:
+ return super(Dialog, self).run()
+ gtk.Dialog = Dialog
class TrytonClient(object):
"Tryton client"
def __init__(self):
CONFIG.parse()
+ if CONFIG.arguments:
+ url, = CONFIG.arguments
+ urlp = urlparse(url)
+ if urlp.scheme == 'tryton':
+ urlp = urlparse('http' + url[6:])
+ hostname, port = (urlp.netloc.split(':', 1)
+ + [CONFIG.defaults['login.port']])[:2]
+ database, _ = (urlp.path[1:].split('/', 1) + [None])[:2]
+ if IPCClient(hostname, port, database).write(url):
+ sys.exit(0)
+ CONFIG['login.server'] = hostname
+ CONFIG['login.port'] = port
+ CONFIG['login.db'] = database
+ CONFIG['login.expanded'] = True
logging.basicConfig()
translate.set_language_direction(CONFIG['client.language_direction'])
translate.setlang(CONFIG['client.lang'])
@@ -47,30 +79,24 @@ class TrytonClient(object):
logging.getLogger().setLevel(
loglevel[CONFIG['logging.default'].upper()])
- factory = gtk.IconFactory()
- factory.add_default()
-
- for fname in os.listdir(PIXMAPS_DIR):
- name = os.path.splitext(fname)[0]
- if not name.startswith('tryton-'):
- continue
- if not os.path.isfile(os.path.join(PIXMAPS_DIR, fname)):
- continue
- try:
- pixbuf = gtk.gdk.pixbuf_new_from_file(
- os.path.join(PIXMAPS_DIR, fname))
- except Exception:
- continue
- icon_set = gtk.IconSet(pixbuf)
- factory.add(name, icon_set)
+ self.quit_client = (threading.Event()
+ if sys.platform == 'win32' else None)
+ common.ICONFACTORY.load_client_icons()
+
+ def quit_mainloop(self):
+ if sys.platform == 'win32':
+ self.quit_client.set()
+ else:
+ if gtk.main_level() > 0:
+ gtk.main_quit()
def run(self):
- main = gui.Main()
+ main = gui.Main(self)
- signal.signal(signal.SIGINT, lambda signum, frame: sys.exit(0))
- signal.signal(signal.SIGTERM, lambda signum, frame: sys.exit(0))
+ signal.signal(signal.SIGINT, lambda signum, frame: main.sig_quit())
+ signal.signal(signal.SIGTERM, lambda signum, frame: main.sig_quit())
if hasattr(signal, 'SIGQUIT'):
- signal.signal(signal.SIGQUIT, lambda signum, frame: sys.exit(0))
+ signal.signal(signal.SIGQUIT, lambda signum, frame: main.sig_quit())
def excepthook(exctyp, value, tb):
import common
@@ -97,8 +123,20 @@ class TrytonClient(object):
#except ImportError:
# pass
+ if sys.platform == 'win32':
+ # http://faq.pygtk.org/index.py?req=show&file=faq21.003.htp
+ def sleeper():
+ time.sleep(.001)
+ return 1
+ gobject.timeout_add(400, sleeper)
+
try:
- gtk.main()
+ if sys.platform == 'win32':
+ while not self.quit_client.isSet():
+ with gtk.gdk.lock:
+ running = gtk.main_iteration(True)
+ else:
+ gtk.main()
except KeyboardInterrupt:
CONFIG.save()
if hasattr(gtk, 'accel_map_save'):
diff --git a/tryton/common/__init__.py b/tryton/common/__init__.py
index afab529..68979ed 100644
--- a/tryton/common/__init__.py
+++ b/tryton/common/__init__.py
@@ -2,3 +2,6 @@
#this repository contains the full copyright notices and license terms.
from common import *
from datetime_strftime import *
+from domain_inversion import domain_inversion, eval_domain, localize_domain, \
+ unlocalize_domain, merge, inverse_leaf
+from environment import EvalEnvironment
diff --git a/tryton/common/cellrenderercombo.py b/tryton/common/cellrenderercombo.py
index ab5544e..374ade5 100644
--- a/tryton/common/cellrenderercombo.py
+++ b/tryton/common/cellrenderercombo.py
@@ -29,6 +29,8 @@ class CellRendererCombo(gtk.GenericCellRenderer):
gobject.PARAM_READWRITE),
'text-column': (gobject.TYPE_INT, 'Text Column',
'Text Column', 0, 10, 0, gobject.PARAM_READWRITE),
+ 'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
+ 'Strikethrough', False, gobject.PARAM_WRITABLE),
}
def __init__(self):
@@ -40,6 +42,11 @@ class CellRendererCombo(gtk.GenericCellRenderer):
self.editable = self._renderer.get_property('editable')
self.visible = True
+ def set_sensitive(self, value):
+ if hasattr(self._renderer, 'set_sensitive'):
+ return self._renderer.set_sensitive(value)
+ return self._renderer.set_property('sensitive', value)
+
def do_set_property(self, pspec, value):
setattr(self, pspec.name, value)
if pspec.name == 'visible':
diff --git a/tryton/common/cellrendererdate.py b/tryton/common/cellrendererdate.py
index f2b4279..d7e199f 100644
--- a/tryton/common/cellrendererdate.py
+++ b/tryton/common/cellrendererdate.py
@@ -22,6 +22,8 @@ class CellRendererDate(gtk.GenericCellRenderer):
'Editable', 0, 10, 0, gobject.PARAM_READWRITE),
'visible': (gobject.TYPE_INT, 'Visible',
'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
+ 'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
+ 'Strikethrough', False, gobject.PARAM_WRITABLE),
}
def __init__(self, format):
@@ -36,6 +38,11 @@ class CellRendererDate(gtk.GenericCellRenderer):
self.editable = self._renderer.get_property('editable')
self.visible = True
+ def set_sensitive(self, value):
+ if hasattr(self._renderer, 'set_sensitive'):
+ return self._renderer.set_sensitive(value)
+ return self._renderer.set_property('sensitive', value)
+
def do_set_property(self, pspec, value):
setattr(self, pspec.name, value)
if pspec.name == 'visible':
diff --git a/tryton/common/cellrendererfloat.py b/tryton/common/cellrendererfloat.py
index 9c52769..d9779bf 100644
--- a/tryton/common/cellrendererfloat.py
+++ b/tryton/common/cellrendererfloat.py
@@ -1,8 +1,9 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import gtk
import gobject
-from cellrendererinteger import CellRendererInteger
import locale
+from cellrendererinteger import CellRendererInteger
class CellRendererFloat(CellRendererInteger):
@@ -11,6 +12,19 @@ class CellRendererFloat(CellRendererInteger):
super(CellRendererFloat, self).__init__()
self.digits = (16, 2)
+ def on_start_editing(self, event, widget, path, background_area,
+ cell_area, flags):
+ editable = super(CellRendererFloat, self).on_start_editing(event,
+ widget, path, background_area, cell_area, flags)
+ editable.connect('key-press-event', self.key_press_event)
+ return editable
+
+ def key_press_event(self, widget, event):
+ for name in ('KP_Decimal', 'KP_Separator'):
+ if event.keyval == gtk.gdk.keyval_from_name(name):
+ event.keyval = int(gtk.gdk.unicode_to_keyval(
+ ord(locale.localeconv()['decimal_point'])))
+
def sig_insert_text(self, entry, new_text, new_text_length, position):
value = entry.get_text()
position = entry.get_position()
diff --git a/tryton/common/cellrenderertext.py b/tryton/common/cellrenderertext.py
index f11cf47..4beded4 100644
--- a/tryton/common/cellrenderertext.py
+++ b/tryton/common/cellrenderertext.py
@@ -23,6 +23,8 @@ class CellRendererText(gtk.GenericCellRenderer):
'XAlign', 0, 1, 0, gobject.PARAM_READWRITE),
'visible': (gobject.TYPE_INT, 'Visible',
'Visible', 0, 10, 0, gobject.PARAM_READWRITE),
+ 'strikethrough': (gobject.TYPE_BOOLEAN, 'Strikethrough',
+ 'Strikethrough', False, gobject.PARAM_WRITABLE),
}
def __init__(self):
@@ -34,6 +36,11 @@ class CellRendererText(gtk.GenericCellRenderer):
self.editable = self._renderer.get_property('editable')
self.visible = True
+ def set_sensitive(self, value):
+ if hasattr(self._renderer, 'set_sensitive'):
+ return self._renderer.set_sensitive(value)
+ return self._renderer.set_property('sensitive', value)
+
def do_set_property(self, pspec, value):
setattr(self, pspec.name, value)
if pspec.name == 'visible':
diff --git a/tryton/common/cellrenderertoggle.py b/tryton/common/cellrenderertoggle.py
index 52d2f33..2f4f459 100644
--- a/tryton/common/cellrenderertoggle.py
+++ b/tryton/common/cellrenderertoggle.py
@@ -27,6 +27,11 @@ class CellRendererToggle(gtk.GenericCellRenderer):
self.activatable = self._renderer.get_property('activatable')
self.visible = True
+ def set_sensitive(self, value):
+ if hasattr(self._renderer, 'set_sensitive'):
+ return self._renderer.set_sensitive(value)
+ return self._renderer.set_property('sensitive', value)
+
def do_set_property(self, pspec, value):
setattr(self, pspec.name, value)
if pspec.name == 'visible':
diff --git a/tryton/common/common.py b/tryton/common/common.py
index 35627e6..a8474f8 100644
--- a/tryton/common/common.py
+++ b/tryton/common/common.py
@@ -1,5 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
+
import gtk
import gobject
import pango
@@ -19,9 +21,11 @@ except ImportError:
import md5
import webbrowser
import traceback
+import threading
import tryton.rpc as rpc
import locale
import socket
+import tempfile
from tryton.version import VERSION
import thread
import urllib
@@ -32,10 +36,85 @@ try:
except ImportError:
ssl = None
import dis
-from threading import Lock
+from threading import Lock, Semaphore
_ = gettext.gettext
+
+class TrytonIconFactory(gtk.IconFactory):
+
+ batchnum = 10
+ _tryton_icons = []
+ _name2id = {}
+ _locale_icons = set()
+ _loaded_icons = set()
+
+ def load_client_icons(self):
+ for fname in os.listdir(PIXMAPS_DIR):
+ name = os.path.splitext(fname)[0]
+ if not name.startswith('tryton-'):
+ continue
+ if not os.path.isfile(os.path.join(PIXMAPS_DIR, fname)):
+ continue
+ try:
+ pixbuf = gtk.gdk.pixbuf_new_from_file(
+ os.path.join(PIXMAPS_DIR, fname).decode('utf-8'))
+ except Exception:
+ continue
+ icon_set = gtk.IconSet(pixbuf)
+ self.add(name, icon_set)
+ self._locale_icons.add(name)
+
+ def load_icons(self, refresh=False):
+ if not refresh:
+ self._name2id.clear()
+ self._loaded_icons.clear()
+ del self._tryton_icons[:]
+
+ try:
+ icons = rpc.execute('model', 'ir.ui.icon', 'list_icons',
+ rpc.CONTEXT)
+ except Exception:
+ icons = []
+ for icon_id, icon_name in icons:
+ if refresh and icon_name in self._loaded_icons:
+ continue
+ self._tryton_icons.append((icon_id, icon_name))
+ self._name2id[icon_name] = icon_id
+
+ def register_icon(self, iconname):
+ # iconname might be '' when page do not define icon
+ if (not iconname
+ or iconname in (self._loaded_icons | self._locale_icons)):
+ return
+ if iconname not in self._name2id:
+ self.load_icons(refresh=True)
+ icon_ref = (self._name2id[iconname], iconname)
+ idx = self._tryton_icons.index(icon_ref)
+ to_load = slice(max(0, idx-self.batchnum/2), idx+self.batchnum/2)
+ ids = [e[0] for e in self._tryton_icons[to_load]]
+ try:
+ icons = rpc.execute('model', 'ir.ui.icon', 'read', ids,
+ ['name', 'icon'], rpc.CONTEXT)
+ except Exception:
+ icons = []
+ for icon in icons:
+ # svg file cannot be loaded from data into a pixbuf
+ fileno, path = tempfile.mkstemp()
+ with os.fdopen(fileno, 'w') as svgfile:
+ svgfile.write(icon['icon'])
+ pixbuf = gtk.gdk.pixbuf_new_from_file(path.decode(
+ sys.getfilesystemencoding().encode('utf-8')))
+ os.remove(path)
+ iconset = gtk.IconSet(pixbuf)
+ self.add(icon['name'], iconset)
+ self._tryton_icons.remove((icon['id'], icon['name']))
+ del self._name2id[icon['name']]
+ self._loaded_icons.add(icon['name'])
+
+ICONFACTORY = TrytonIconFactory()
+ICONFACTORY.add_default()
+
def find_in_path(name):
if os.name == "nt":
sep = ';'
@@ -49,7 +128,7 @@ def find_in_path(name):
return val
return name
-def refresh_dblist(db_widget, host, port, dbtoload=None):
+def refresh_dblist(host, port):
'''
Return the number of database available
or None if it is impossible to connect
@@ -60,22 +139,7 @@ def refresh_dblist(db_widget, host, port, dbtoload=None):
if hasattr(version, 'split'):
if version.split('.')[:2] != VERSION.split('.')[:2]:
return -1
- if not dbtoload:
- dbtoload = CONFIG['login.db']
- index = 0
- liststore = db_widget.get_model()
- liststore.clear()
- result = rpc.db_list(host, port)
- from tryton.gui.main import Main
- Main.get_main().refresh_ssl()
- if result is None:
- return None
- for db_num, dbname in enumerate(result):
- liststore.append([dbname])
- if dbname == dbtoload:
- index = db_num
- db_widget.set_active(index)
- return len(liststore)
+ return rpc.db_list(host, port)
def refresh_langlist(lang_widget, host, port):
liststore = lang_widget.get_model()
@@ -242,8 +306,8 @@ def file_selection(title, filename='', parent=None,
def update_preview_cb(win, img):
filename = win.get_preview_filename()
try:
- pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(filename.encode('utf-8'),
- 128, 128)
+ pixbuf = gtk.gdk.pixbuf_new_from_file_at_size(filename.decode(
+ sys.getfilesystemencoding().encode('utf-8')), 128, 128)
img.set_from_pixbuf(pixbuf)
have_preview = True
except Exception:
@@ -415,86 +479,326 @@ def mailto(to=None, cc=None, subject=None, body=None, attachment=None):
url += "&attachment=" + urllib.quote(attachment, "")
webbrowser.open(url, new=1)
-def error(title, parent, details):
- log = logging.getLogger('common.message')
- log.error('%s' % details)
- if title == details:
- title = ''
+class UniqueDialog(object):
- dialog = gtk.Dialog(_('Error'), parent,
- gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
- dialog.set_icon(TRYTON_ICON)
- dialog.set_has_separator(True)
+ def __init__(self):
+ self.running = False
- but_send = gtk.Button(_('Report Bug'))
- dialog.add_action_widget(but_send, gtk.RESPONSE_OK)
- dialog.add_button("gtk-close", gtk.RESPONSE_CANCEL)
- dialog.set_default_response(gtk.RESPONSE_CANCEL)
+ def build_dialog(self, *args):
+ raise NotImplementedError
- vbox = gtk.VBox()
- label_title = gtk.Label()
- label_title.set_markup('<b>' + _('Application Error!') + '</b>')
- label_title.set_padding(-1, 5)
- vbox.pack_start(label_title, False, False)
- vbox.pack_start(gtk.HSeparator(), False, False)
+ def __call__(self, *args):
+ if self.running:
+ return
- hbox = gtk.HBox()
- image = gtk.Image()
- image.set_from_stock('tryton-dialog-error', gtk.ICON_SIZE_DIALOG)
- hbox.pack_start(image, False, False)
+ parent = args[1]
+ dialog = self.build_dialog(*args)
+ dialog.set_icon(TRYTON_ICON)
+ self.running = True
+ dialog.show_all()
+ response = dialog.run()
+ parent.present()
+ dialog.destroy()
+ self.running = False
+ return response
- scrolledwindow = gtk.ScrolledWindow()
- scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
-
- viewport = gtk.Viewport()
- viewport.set_shadow_type(gtk.SHADOW_NONE)
-
- box = gtk.VBox()
- label_error = gtk.Label()
- label_error.set_markup('<b>' + _('Error: ') + '</b>' + title)
- label_error.set_alignment(0, 0.5)
- label_error.set_padding(-1, 14)
- box.pack_start(label_error, False, False)
- textview = gtk.TextView()
- buf = gtk.TextBuffer()
- buf.set_text(details)
- textview.set_buffer(buf)
- textview.set_editable(False)
- textview.set_sensitive(True)
- textview.modify_font(pango.FontDescription("monospace"))
- box.pack_start(textview, False, False)
-
- viewport.add(box)
- scrolledwindow.add(viewport)
- hbox.pack_start(scrolledwindow)
-
- vbox.pack_start(hbox)
-
- button_roundup = gtk.Button()
- button_roundup.set_relief(gtk.RELIEF_NONE)
- label_roundup = gtk.Label()
- label_roundup.set_markup(_('To report bugs you must have an account on ') \
- + '<u>' + CONFIG['roundup.url'] + '</u>')
- label_roundup.set_alignment(1, 0.5)
- label_roundup.set_padding(20, 5)
-
- button_roundup.connect('clicked',
- lambda widget: webbrowser.open(CONFIG['roundup.url'], new=2))
- button_roundup.add(label_roundup)
- vbox.pack_start(button_roundup, False, False)
- dialog.vbox.pack_start(vbox)
- dialog.set_size_request(600, 400)
+class MessageDialog(UniqueDialog):
+
+ def build_dialog(self, message, parent, msg_type):
+ dialog = gtk.MessageDialog(parent,
+ gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT, msg_type,
+ gtk.BUTTONS_OK, message)
+ return dialog
+
+ def __call__(self, message, parent, msg_type=gtk.MESSAGE_INFO):
+ super(MessageDialog, self).__call__(message, parent, msg_type)
+
+message = MessageDialog()
- dialog.show_all()
- response = dialog.run()
- parent.present()
- dialog.destroy()
- if response == gtk.RESPONSE_OK:
- send_bugtracker(details, parent)
- return True
+
+class WarningDialog(UniqueDialog):
+
+ def build_dialog(self, message, parent, title):
+ dialog = gtk.MessageDialog(parent, gtk.DIALOG_DESTROY_WITH_PARENT,
+ gtk.MESSAGE_WARNING, gtk.BUTTONS_OK)
+ if hasattr(dialog, 'format_secondary_markup'):
+ dialog.set_markup('<b>%s</b>' % (to_xml(title)))
+ dialog.format_secondary_markup(to_xml(message))
+ else:
+ dialog.set_markup('<b>%s</b>\n%s' % (to_xml(title), to_xml(message)))
+ return dialog
+
+warning = WarningDialog()
+
+
+class UserWarningDialog(WarningDialog):
+
+ def build_dialog(self, message, parent, title):
+ dialog = super(UserWarningDialog, self).build_dialog(message, parent,
+ title)
+ check = gtk.CheckButton(_('Always ignore this warning.'))
+ alignment = gtk.Alignment(1, 0.5)
+ alignment.add(check)
+ dialog.vbox.pack_end(alignment, True, False)
+ return dialog
+
+ def __call__(self, message, parent, title):
+ response = super(UserWarningDialog, self).__call__(message, parent,
+ title)
+ if response == gtk.RESPONSE_OK:
+ if always:
+ return 'always'
+ return 'ok'
+ return 'cancel'
+
+userwarning = UserWarningDialog()
+
+
+class ConfirmationDialog(UniqueDialog):
+
+ def build_dialog(self, message, parent):
+ dialog = gtk.Dialog(_('Confirmation'), parent, gtk.DIALOG_MODAL
+ | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
+ | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
+ dialog.set_has_separator(True)
+ hbox = gtk.HBox()
+ image = gtk.Image()
+ image.set_from_stock('tryton-dialog-information',
+ gtk.ICON_SIZE_DIALOG)
+ image.set_padding(15, 15)
+ hbox.pack_start(image, False, False)
+ label = gtk.Label('%s' % (to_xml(message)))
+ hbox.pack_start(label, True, True)
+ dialog.vbox.pack_start(hbox)
+ dialog.set_transient_for(parent)
+ return dialog
+
+
+class SurDialog(ConfirmationDialog):
+
+ def build_dialog(self, message, parent):
+ dialog = super(SurDialog, self).build_dialog(message, parent)
+ dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
+ dialog.add_button("gtk-ok", gtk.RESPONSE_OK | gtk.CAN_DEFAULT
+ | gtk.HAS_DEFAULT)
+ dialog.set_default_response(gtk.RESPONSE_OK)
+ return dialog
+
+ def __call__(self, message, parent):
+ response = super(SurDialog, self).__call__(message, parent)
+ return response == gtk.RESPONSE_OK
+
+sur = SurDialog()
+
+
+class Sur3BDialog(ConfirmationDialog):
+
+ response_mapping = {
+ gtk.RESPONSE_YES: 'ok',
+ gtk.RESPONSE_NO: 'ko',
+ gtk.RESPONSE_CANCEL: 'cancel'
+ }
+
+ def build_dialog(self, message, parent):
+ dialog = super(Sur3BDialog, self).build_dialog(message, parent)
+ dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
+ dialog.add_button("gtk-no", gtk.RESPONSE_NO)
+ dialog.add_button("gtk-yes", gtk.RESPONSE_YES | gtk.CAN_DEFAULT
+ | gtk.HAS_DEFAULT)
+ dialog.set_default_response(gtk.RESPONSE_YES)
+ return dialog
+
+ def __call__(self, message, parent):
+ response = super(Sur3BDialog, self).__call__(message, parent)
+ return self.response_mapping.get(response, 'cancel')
+
+sur_3b = Sur3BDialog()
+
+
+class AskDialog(UniqueDialog):
+
+ def build_dialog(self, question, parent, visibility):
+ win = gtk.Dialog('Tryton', parent,
+ gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
+ (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
+ gtk.STOCK_OK, gtk.RESPONSE_OK))
+ win.set_has_separator(True)
+ win.set_default_response(gtk.RESPONSE_OK)
+
+ hbox = gtk.HBox()
+ image = gtk.Image()
+ image.set_from_stock('tryton-dialog-information',
+ gtk.ICON_SIZE_DIALOG)
+ hbox.pack_start(image)
+ vbox = gtk.VBox()
+ vbox.pack_start(gtk.Label(question))
+ self.entry = gtk.Entry()
+ self.entry.set_activates_default(True)
+ self.entry.set_visibility(visibility)
+ vbox.pack_start(self.entry)
+ hbox.pack_start(vbox)
+ win.vbox.pack_start(hbox)
+ return win
+
+ def __call__(self, question, parent, visibility=True):
+ if self.running:
+ return
+
+ dialog = self.build_dialog(question, parent,
+ visibility=visibility)
+ dialog.set_icon(TRYTON_ICON)
+ self.running = True
+ dialog.show_all()
+ response = dialog.run()
+ result = None
+ if response == gtk.RESPONSE_OK:
+ result = self.entry.get_text()
+ parent.present()
+ dialog.destroy()
+ self.running = False
+ return result
+
+ask = AskDialog()
+
+
+class ConcurrencyDialog(UniqueDialog):
+
+ def build_dialog(self, resource, parent, obj_id, context):
+ dialog = gtk.Dialog(_('Concurrency Exception'), parent, gtk.DIALOG_MODAL
+ | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
+ | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
+ dialog.set_has_separator(True)
+ dialog.set_default_response(gtk.RESPONSE_CANCEL)
+ hbox = gtk.HBox()
+ image = gtk.Image()
+ image.set_from_stock('tryton-dialog-information',
+ gtk.ICON_SIZE_DIALOG)
+ image.set_padding(15, 15)
+ hbox.pack_start(image, False, False)
+ label = gtk.Label()
+ label.set_padding(15, 15)
+ label.set_use_markup(True)
+ label.set_markup(_('<b>Write Concurrency Warning:</b>\n\n'
+ 'This record has been modified while you were editing it.\n'
+ ' Choose:\n'
+ ' - "Cancel" to cancel saving;\n'
+ ' - "Compare" to see the modified version;\n'
+ ' - "Write Anyway" to save your current version.'))
+ hbox.pack_start(label, True, True)
+ dialog.vbox.pack_start(hbox)
+ dialog.add_button('gtk-cancel', gtk.RESPONSE_CANCEL)
+ compare_button = gtk.Button(_('Compare'))
+ image = gtk.Image()
+ image.set_from_stock('tryton-find-replace', gtk.ICON_SIZE_BUTTON)
+ compare_button.set_image(image)
+ dialog.add_action_widget(compare_button, gtk.RESPONSE_APPLY)
+ write_button = gtk.Button(_('Write Anyway'))
+ image = gtk.Image()
+ image.set_from_stock('tryton-save', gtk.ICON_SIZE_BUTTON)
+ write_button.set_image(image)
+ dialog.add_action_widget(write_button, gtk.RESPONSE_OK)
+ return dialog
+
+ def __call__(self, resource, obj_id, context, parent):
+ # parent must be the second parameter
+ res = super(ConcurrencyDialog, self).__call__(resource, parent, obj_id,
+ context)
+
+ if res == gtk.RESPONSE_OK:
+ return True
+ if res == gtk.RESPONSE_APPLY:
+ from tryton.gui.window import Window
+ Window.create(False, resource, obj_id, [('id', '=', obj_id)],
+ 'form', parent, context, ['form', 'tree'])
+ return False
+
+concurrency = ConcurrencyDialog()
+
+
+class ErrorDialog(UniqueDialog):
+
+ def build_dialog(self, title, parent, details):
+ dialog = gtk.Dialog(_('Error'), parent,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
+ dialog.set_has_separator(True)
+
+ but_send = gtk.Button(_('Report Bug'))
+ dialog.add_action_widget(but_send, gtk.RESPONSE_OK)
+ dialog.add_button("gtk-close", gtk.RESPONSE_CANCEL)
+ dialog.set_default_response(gtk.RESPONSE_CANCEL)
+
+ vbox = gtk.VBox()
+ label_title = gtk.Label()
+ label_title.set_markup('<b>' + _('Application Error!') + '</b>')
+ label_title.set_padding(-1, 5)
+ vbox.pack_start(label_title, False, False)
+ vbox.pack_start(gtk.HSeparator(), False, False)
+
+ hbox = gtk.HBox()
+ image = gtk.Image()
+ image.set_from_stock('tryton-dialog-error', gtk.ICON_SIZE_DIALOG)
+ hbox.pack_start(image, False, False)
+
+ scrolledwindow = gtk.ScrolledWindow()
+ scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ scrolledwindow.set_shadow_type(gtk.SHADOW_NONE)
+
+ viewport = gtk.Viewport()
+ viewport.set_shadow_type(gtk.SHADOW_NONE)
+
+ box = gtk.VBox()
+ label_error = gtk.Label()
+ label_error.set_markup('')
+ label_error.set_alignment(0, 0.5)
+ label_error.set_padding(-1, 14)
+ label_error.modify_font(pango.FontDescription("monospace"))
+ label_error.set_markup('<b>' + _('Error: ') + '</b>' + to_xml(title))
+ box.pack_start(label_error, False, False)
+ textview = gtk.TextView()
+ buf = gtk.TextBuffer()
+ buf.set_text(details)
+ textview.set_buffer(buf)
+ textview.set_editable(False)
+ textview.set_sensitive(True)
+ textview.modify_font(pango.FontDescription("monospace"))
+ box.pack_start(textview, False, False)
+
+ viewport.add(box)
+ scrolledwindow.add(viewport)
+ hbox.pack_start(scrolledwindow)
+
+ vbox.pack_start(hbox)
+
+ button_roundup = gtk.Button()
+ button_roundup.set_relief(gtk.RELIEF_NONE)
+ label_roundup = gtk.Label()
+ label_roundup.set_markup(_('To report bugs you must have an account'
+ ' on <u>%s</u>') % CONFIG['roundup.url'])
+ label_roundup.set_alignment(1, 0.5)
+ label_roundup.set_padding(20, 5)
+
+ button_roundup.connect('clicked',
+ lambda widget: webbrowser.open(CONFIG['roundup.url'], new=2))
+ button_roundup.add(label_roundup)
+ vbox.pack_start(button_roundup, False, False)
+
+ dialog.vbox.pack_start(vbox)
+ dialog.set_size_request(600, 400)
+ return dialog
+
+ def __call__(self, title, parent, details):
+ if title == details:
+ title = ''
+ log = logging.getLogger('common.message')
+ log.error(details)
+
+ response = super(ErrorDialog, self).__call__(title, parent, details)
+ if response == gtk.RESPONSE_OK:
+ send_bugtracker(details, parent)
+
+error = ErrorDialog()
def send_bugtracker(msg, parent):
from tryton import rpc
@@ -604,205 +908,9 @@ def send_bugtracker(msg, parent):
message(_('Exception:') + '\n' + tb_s, parent,
msg_type=gtk.MESSAGE_ERROR)
-def message(msg, parent, msg_type=gtk.MESSAGE_INFO):
- dialog = gtk.MessageDialog(parent,
- gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
- msg_type, gtk.BUTTONS_OK,
- msg)
- dialog.set_icon(TRYTON_ICON)
- dialog.run()
- parent.present()
- dialog.destroy()
- return True
-
def to_xml(string):
return string.replace('&','&').replace('<','<').replace('>','>')
-def warning(msg, parent, title=''):
- dialog = gtk.MessageDialog(parent, gtk.DIALOG_DESTROY_WITH_PARENT,
- gtk.MESSAGE_WARNING, gtk.BUTTONS_OK)
- dialog.set_icon(TRYTON_ICON)
- # format_secondary_markup available in PyGTK 2.6 and above.
- if hasattr(dialog, 'format_secondary_markup'):
- dialog.set_markup('<b>%s</b>' % (to_xml(title)))
- dialog.format_secondary_markup(to_xml(msg))
- else:
- dialog.set_markup('<b>%s</b>\n%s' % (to_xml(title), to_xml(msg)))
- dialog.show_all()
- dialog.run()
- parent.present()
- dialog.destroy()
- return True
-
-def userwarning(msg, parent, title=''):
- dialog = gtk.MessageDialog(parent, gtk.DIALOG_DESTROY_WITH_PARENT,
- gtk.MESSAGE_WARNING, gtk.BUTTONS_OK_CANCEL)
- dialog.set_icon(TRYTON_ICON)
- # format_secondary_markup available in PyGTK 2.6 and above.
- if hasattr(dialog, 'format_secondary_markup'):
- dialog.set_markup('<b>%s</b>' % (to_xml(title)))
- dialog.format_secondary_markup(to_xml(msg))
- else:
- dialog.set_markup('<b>%s</b>\n%s' % (to_xml(title), to_xml(msg)))
- check = gtk.CheckButton(_('Always ignore this warning.'))
- alignment = gtk.Alignment(1, 0.5)
- alignment.add(check)
- dialog.vbox.pack_end(alignment, True, False)
- dialog.show_all()
- response = dialog.run()
- parent.present()
- always = check.get_active()
- dialog.destroy()
- if response == gtk.RESPONSE_OK:
- if always:
- return 'always'
- return 'ok'
- return 'cancel'
-
-def sur(msg, parent):
- dialog = gtk.Dialog(_('Confirmation'), parent, gtk.DIALOG_MODAL
- | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
- | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
- dialog.set_icon(TRYTON_ICON)
- dialog.set_has_separator(True)
- hbox = gtk.HBox()
- image = gtk.Image()
- image.set_from_stock('tryton-dialog-information',
- gtk.ICON_SIZE_DIALOG)
- image.set_padding(15, 15)
- hbox.pack_start(image, False, False)
- label = gtk.Label('%s' % (to_xml(msg)))
- hbox.pack_start(label, True, True)
- dialog.vbox.pack_start(hbox)
- dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
- dialog.add_button("gtk-ok", gtk.RESPONSE_OK | gtk.CAN_DEFAULT
- | gtk.HAS_DEFAULT)
- dialog.set_default_response(gtk.RESPONSE_OK)
- dialog.set_transient_for(parent)
- dialog.show_all()
- response = dialog.run()
- parent.present()
- dialog.destroy()
- return response == gtk.RESPONSE_OK
-
-def sur_3b(msg, parent):
- dialog = gtk.Dialog(_('Confirmation'), parent, gtk.DIALOG_MODAL
- | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
- | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
- dialog.set_icon(TRYTON_ICON)
- dialog.set_has_separator(True)
- hbox = gtk.HBox()
- image = gtk.Image()
- image.set_from_stock('tryton-dialog-information',
- gtk.ICON_SIZE_DIALOG)
- image.set_padding(15, 15)
- hbox.pack_start(image, False, False)
- label = gtk.Label('%s' % (to_xml(msg)))
- hbox.pack_start(label, True, True)
- dialog.vbox.pack_start(hbox)
- dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
- dialog.add_button("gtk-no", gtk.RESPONSE_NO)
- dialog.add_button("gtk-yes", gtk.RESPONSE_YES | gtk.CAN_DEFAULT
- | gtk.HAS_DEFAULT)
- dialog.set_default_response(gtk.RESPONSE_YES)
- dialog.set_transient_for(parent)
- dialog.show_all()
-
- response = dialog.run()
- parent.present()
- dialog.destroy()
- if response == gtk.RESPONSE_YES:
- return 'ok'
- elif response == gtk.RESPONSE_NO:
- return 'ko'
- elif response == gtk.RESPONSE_CANCEL:
- return 'cancel'
- else:
- return 'cancel'
-
-def ask(question, parent, visibility=True):
- win = gtk.Dialog('Tryton', parent,
- gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT,
- (gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL,
- gtk.STOCK_OK, gtk.RESPONSE_OK))
- win.set_icon(TRYTON_ICON)
- win.set_has_separator(True)
- win.set_default_response(gtk.RESPONSE_OK)
-
- hbox = gtk.HBox()
- image = gtk.Image()
- image.set_from_stock('tryton-dialog-information',
- gtk.ICON_SIZE_DIALOG)
- hbox.pack_start(image)
- vbox = gtk.VBox()
- vbox.pack_start(gtk.Label(question))
- entry = gtk.Entry()
- entry.set_activates_default(True)
- entry.set_visibility(visibility)
- vbox.pack_start(entry)
- hbox.pack_start(vbox)
- win.vbox.pack_start(hbox)
- win.show_all()
-
- response = win.run()
- parent.present()
- res = entry.get_text()
- win.destroy()
- if response == gtk.RESPONSE_OK:
- return res
- else:
- return None
-
-def concurrency(resource, obj_id, context, parent):
- dialog = gtk.Dialog(_('Concurrency Exception'), parent, gtk.DIALOG_MODAL
- | gtk.DIALOG_DESTROY_WITH_PARENT | gtk.WIN_POS_CENTER_ON_PARENT
- | gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
- dialog.set_icon(TRYTON_ICON)
- dialog.set_has_separator(True)
- dialog.set_default_response(gtk.RESPONSE_CANCEL)
- hbox = gtk.HBox()
- image = gtk.Image()
- image.set_from_stock('tryton-dialog-information',
- gtk.ICON_SIZE_DIALOG)
- image.set_padding(15, 15)
- hbox.pack_start(image, False, False)
- label = gtk.Label()
- label.set_padding(15, 15)
- label.set_use_markup(True)
- label.set_markup(_('''<b>Write Concurrency Warning:</b>
-
-This record has been modified while you were editing it.
- Choose:
- - "Cancel" to cancel saving;
- - "Compare" to see the modified version;
- - "Write Anyway" to save your current version.'''))
- hbox.pack_start(label, True, True)
- dialog.vbox.pack_start(hbox)
- dialog.add_button('gtk-cancel', gtk.RESPONSE_CANCEL)
- compare_button = gtk.Button(_('Compare'))
- image = gtk.Image()
- image.set_from_stock('tryton-find-replace', gtk.ICON_SIZE_BUTTON)
- compare_button.set_image(image)
- dialog.add_action_widget(compare_button, gtk.RESPONSE_APPLY)
- write_button = gtk.Button(_('Write Anyway'))
- image = gtk.Image()
- image.set_from_stock('tryton-save', gtk.ICON_SIZE_BUTTON)
- write_button.set_image(image)
- dialog.add_action_widget(write_button, gtk.RESPONSE_OK)
- dialog.show_all()
-
- res = dialog.run()
- parent.present()
- dialog.destroy()
-
- if res == gtk.RESPONSE_OK:
- return True
- if res == gtk.RESPONSE_APPLY:
- from tryton.gui.window import Window
- Window.create(False, resource, obj_id, [('id', '=', obj_id)], 'form',
- parent, context, ['form', 'tree'])
- return False
-
PLOCK = Lock()
def process_exception(exception, parent, *args):
@@ -953,6 +1061,65 @@ def generateColorscheme(masterColor, keys, light=0.06):
for i, key in enumerate(keys)])
+class DBProgress(object):
+
+ def __init__(self, host, port):
+ self.dbs, self.createdb = None, None
+ self.host, self.port = host, port
+ self.updated = threading.Event()
+ self.db_info = None
+
+ def start(self):
+ key = (self.host, self.port)
+ try:
+ dbs = refresh_dblist(self.host, self.port)
+ createdb = True
+ except Exception, exception:
+ if exception[0] == 'AccessDenied':
+ dbs, createdb = [], False
+ else:
+ raise
+ self.db_info = (dbs, createdb)
+ self.updated.set()
+
+ def update(self, combo, progressbar, dbname=''):
+ key = (self.host, self.port)
+ self.db_info = None
+ thread = threading.Thread(target=self.start).start()
+
+ i = 0
+ while not self.updated.isSet():
+ i += 1
+ time.sleep(0.1)
+ if i >= 10:
+ progressbar.show()
+ progressbar.pulse()
+ while gtk.events_pending():
+ gtk.main_iteration()
+ progressbar.hide()
+ dbs, createdb = self.db_info
+
+ if dbs is None:
+ return None, False
+ elif dbs == -1:
+ return -1, False
+
+ from tryton.gui.main import Main
+ Main.get_main().refresh_ssl()
+ liststore = combo.get_model()
+ liststore.clear()
+ index = -1
+ for db_num, db_name in enumerate(dbs):
+ liststore.append([db_name])
+ if db_name == dbname:
+ index = db_num
+ if index == -1:
+ index = 0
+ combo.set_active(index)
+
+ return len(dbs), createdb
+
+
class RPCProgress(object):
def __init__(self, method, args, parent):
@@ -978,11 +1145,12 @@ class RPCProgress(object):
def run(self):
thread.start_new_thread(self.start, ())
+ watch = gtk.gdk.Cursor(gtk.gdk.WATCH)
+ self.parent.window.set_cursor(watch)
i = 0
win = None
progressbar = None
while (not self.res) and (not self.error):
- time.sleep(0.1)
i += 1
if i > 10:
if not win or not progressbar:
@@ -1019,9 +1187,14 @@ class RPCProgress(object):
win.set_transient_for(self.parent)
win.set_modal(True)
win.show_all()
- progressbar.pulse()
- while gtk.events_pending():
- gtk.main_iteration()
+ win.window.set_cursor(watch)
+ with gtk.gdk.lock:
+ progressbar.pulse()
+ with gtk.gdk.lock:
+ while gtk.events_pending():
+ gtk.main_iteration()
+ time.sleep(0.1)
+ self.parent.window.set_cursor(None)
if win:
win.destroy()
while gtk.events_pending():
@@ -1151,13 +1324,17 @@ def float_time_to_text(val, conv=None):
val = val - hours
mins = int((val% 1 + 0.01) / conv['m'])
if years:
- value += ' ' + locale.format('%d', years, True) + FLOAT_TIME_SEPS['Y']
+ value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['Y'],
+ years, True)
if months:
- value += ' ' + locale.format('%d', months, True) + FLOAT_TIME_SEPS['M']
+ value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['M'],
+ months, True)
if weeks:
- value += ' ' + locale.format('%d', weeks, True) + FLOAT_TIME_SEPS['w']
+ value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['w'],
+ weeks, True)
if days:
- value += ' ' + locale.format('%d', days, True) + FLOAT_TIME_SEPS['d']
+ value += ' ' + locale.format('%d' + FLOAT_TIME_SEPS['d'],
+ days, True)
if hours or mins:
value += ' %02d:%02d' % (hours, mins)
value = value.strip()
diff --git a/tryton/common/date_widget.py b/tryton/common/date_widget.py
index f3cfa76..1d44a1c 100644
--- a/tryton/common/date_widget.py
+++ b/tryton/common/date_widget.py
@@ -1,6 +1,8 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
"Date Widget"
+from __future__ import with_statement
+
import gobject
import pango
import gtk
@@ -53,7 +55,14 @@ class DateEntry(gtk.Entry):
self._interactive_input = True
self.mode_cmd = False
- gobject.idle_add(self.set_position, 0)
+ self.idle_set_position(0)
+
+ def idle_set_position(self, value):
+ def idle_func():
+ with gtk.gdk.lock:
+ self.set_position(value)
+ return False
+ gobject.idle_add(idle_func)
def _on_insert_text(self, editable, value, length, position):
if not self._interactive_input:
@@ -85,7 +94,7 @@ class DateEntry(gtk.Entry):
if self.regex.match(text) and self.test_date(text):
self.set_text(text)
- gobject.idle_add(self.set_position, pos)
+ self.idle_set_position(pos)
self.stop_emission('insert-text')
self.show()
return
@@ -107,7 +116,7 @@ class DateEntry(gtk.Entry):
text = self.get_text()
text = text[:start] + self.initial_value[start:end] + text[end:]
self.set_text(text)
- gobject.idle_add(self.set_position, start)
+ self.idle_set_position(start)
self.stop_emission('delete-text')
return
diff --git a/tryton/common/domain_inversion.py b/tryton/common/domain_inversion.py
new file mode 100644
index 0000000..a4a8375
--- /dev/null
+++ b/tryton/common/domain_inversion.py
@@ -0,0 +1,441 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+import operator
+import types
+
+OPERATORS = {
+ '=': operator.eq,
+ '>': operator.gt,
+ '<': operator.lt,
+ '<=': operator.le,
+ '>=': operator.ge,
+ '!=': operator.ne,
+ 'in': lambda a, b: operator.contains(b, a),
+ 'not in': lambda a, b: not operator.contains(b, a),
+ # Those operators are not supported (yet ?)
+ 'like': lambda a, b: True,
+ 'ilike': lambda a, b: True,
+ 'not like': lambda a, b: True,
+ 'not ilike': lambda a, b: True,
+ 'child_of': lambda a, b: True,
+ 'not child_of': lambda a, b: True,
+}
+
+def locale_part(expression, field_name):
+ if expression == field_name:
+ return 'id'
+ if '.' in expression:
+ fieldname, local = expression.split('.', 1)
+ return local
+ return expression
+
+def is_leaf(expression):
+ return (isinstance(expression, (list, tuple))
+ and len(expression) > 2
+ and isinstance(expression[1], basestring)
+ and expression[1] in OPERATORS)
+
+def eval_leaf(part, context, boolop=operator.and_):
+ field, operand, value = part[:3]
+ if '.' in field:
+ # In the case where the leaf concerns a m2o then having a value in the
+ # evaluation context is deemed suffisant
+ return bool(context.get(field.split('.')[0]))
+ if operand == '=' and not context[field] and boolop == operator.and_:
+ # We should consider that other domain inversion will set a correct
+ # value to this field
+ return True
+ return OPERATORS[operand](context[field], value)
+
+def inverse_leaf(domain):
+ if domain in ('AND', 'OR'):
+ return domain
+ elif is_leaf(domain):
+ if 'child_of' in domain[1]:
+ if len(domain) == 3:
+ return domain
+ else:
+ return [domain[3]] + domain[1:]
+ return domain
+ else:
+ return map(inverse_leaf, domain)
+
+def eval_domain(domain, context, boolop=operator.and_):
+ "compute domain boolean value according to the context"
+ if is_leaf(domain):
+ return eval_leaf(domain, context, boolop=boolop)
+ elif not domain and boolop is operator.and_:
+ return True
+ elif not domain and boolop is operator.or_:
+ return False
+ elif domain[0] == 'AND':
+ return eval_domain(domain[1:], context)
+ elif domain[0] == 'OR':
+ return eval_domain(domain[1:], context, operator.or_)
+ else:
+ return boolop(eval_domain(domain[0], context),
+ eval_domain(domain[1:], context, boolop))
+
+def localize_domain(domain, field_name=None):
+ "returns only locale part of domain. eg: langage.code -> code"
+ if domain in ('AND', 'OR', True, False):
+ return domain
+ elif is_leaf(domain):
+ if 'child_of' in domain[1]:
+ if len(domain) == 3:
+ return domain
+ else:
+ return [domain[3]] + domain[1:-1]
+ return [locale_part(domain[0], field_name)] + domain[1:]
+ else:
+ return [localize_domain(part, field_name) for part in domain]
+
+def unlocalize_domain(domain, fieldname):
+ if domain in ('AND', 'OR', True, False):
+ return domain
+ elif is_leaf(domain):
+ return ['%s.%s' % (fieldname, domain[0])] + domain[1:]
+ else:
+ return [unlocalize_domain(part, fieldname) for part in domain]
+
+def simplify(domain):
+ "remove unused domain delimiter"
+ if is_leaf(domain):
+ return domain
+ elif domain in ('OR', 'AND'):
+ return domain
+ elif (isinstance(domain, list) and len(domain) == 1
+ and not is_leaf(domain[0])):
+ return simplify(domain[0])
+ elif (isinstance(domain, list) and len(domain) == 2
+ and domain[0] in ('AND', 'OR')):
+ return [simplify(domain[1])]
+ else:
+ return [simplify(branch) for branch in domain]
+
+def merge(domain, domoperator=None):
+ if not domain or domain in ('AND', 'OR'):
+ return []
+ domain_type = 'OR' if domain[0] == 'OR' else 'AND'
+ if is_leaf(domain):
+ return [domain]
+ elif domoperator is None:
+ return [domain_type] + reduce(operator.add,
+ [merge(e, domain_type) for e in domain])
+ elif domain_type == domoperator:
+ return reduce(operator.add, [merge(e, domain_type) for e in domain])
+ else:
+ # without setting the domoperator
+ return [merge(domain)]
+
+
+def parse(domain):
+ if is_leaf(domain):
+ return domain
+ elif not domain:
+ return And([])
+ elif domain[0] == 'OR':
+ return Or(domain[1:])
+ else:
+ return And(domain[1:] if domain[0] == 'AND' else domain)
+
+def domain_inversion(domain, symbol, context=None):
+ """compute an inversion of the domain eventually the context is used to
+ simplify the expression"""
+ if context is None:
+ context = {}
+ expression = parse(domain)
+ if symbol not in expression.variables:
+ return True
+ return expression.inverse(symbol, context)
+
+
+class And(object):
+
+ def __init__(self, expressions):
+ self.branches = map(parse, expressions)
+ self.variables = set()
+ for expression in self.branches:
+ if is_leaf(expression):
+ self.variables.add(self.base(expression[0]))
+ elif isinstance(expression, And):
+ self.variables |= expression.variables
+
+ def base(self, expression):
+ return expression if '.' not in expression else expression.split('.')[0]
+
+ def inverse(self, symbol, context):
+ result = []
+ for part in self.branches:
+ if isinstance(part, And):
+ part_inversion = part.inverse(symbol, context)
+ evaluated = isinstance(part_inversion, types.BooleanType)
+ if not evaluated:
+ result.append(part_inversion)
+ elif part_inversion:
+ continue
+ else:
+ return False
+ elif is_leaf(part) and self.base(part[0]) == symbol:
+ result.append(part)
+ else:
+ field, _, _ = part
+ if (field not in context
+ or field in context
+ and eval_leaf(part, context, operator.and_)):
+ result.append(True)
+ else:
+ return False
+
+ result = filter(lambda e: e is not True, result)
+ if result == []:
+ return True
+ else:
+ return simplify(result)
+
+
+class Or(And):
+
+ def inverse(self, symbol, context):
+ result = []
+ known_variables = set(context.keys())
+ if (symbol not in self.variables
+ and not known_variables >= self.variables):
+ # In this case we don't know anything about this OR part, we
+ # consider it to be True (because people will have the constraint on
+ # this part later).
+ return True
+ for part in self.branches:
+ if isinstance(part, And):
+ part_inversion = part.inverse(symbol, context)
+ evaluated = isinstance(part_inversion, types.BooleanType)
+ if symbol not in part.variables:
+ if evaluated and part_inversion:
+ return True
+ continue
+ if not evaluated:
+ result.append(part_inversion)
+ elif part_inversion:
+ return True
+ else:
+ continue
+ elif is_leaf(part) and self.base(part[0]) == symbol:
+ result.append(part)
+ else:
+ field, _, _ = part
+ field = self.base(field)
+ if (field in context
+ and eval_leaf(part, context, operator.or_)):
+ return True
+ elif (field in context
+ and not eval_leaf(part, context, operator.or_)):
+ result.append(False)
+
+ result = filter(lambda e: e is not False, result)
+ if result == []:
+ return False
+ else:
+ return simplify(['OR'] + result)
+
+# Test stuffs
+def test_simple_inversion():
+ domain = [['x', '=', 3]]
+ assert domain_inversion(domain, 'x') == [['x', '=', 3]]
+
+ domain = []
+ assert domain_inversion(domain, 'x') == True
+ assert domain_inversion(domain, 'y') == True
+ assert domain_inversion(domain, 'x', {'x': 5}) == True
+ assert domain_inversion(domain, 'z', {'x': 7}) == True
+
+ domain = [['x.id', '>', 5]]
+ assert domain_inversion(domain, 'x') == [['x.id', '>', 5]]
+
+def test_and_inversion():
+ domain = [['x', '=', 3], ['y', '>', 5]]
+ assert domain_inversion(domain, 'x') == [['x', '=', 3]]
+ assert domain_inversion(domain, 'x', {'y': 4}) == False
+ assert domain_inversion(domain, 'x', {'y': 6}) == [['x', '=', 3]]
+
+ domain = [['x', '=', 3], ['y', '=', 5]]
+ assert domain_inversion(domain, 'z') == True
+ assert domain_inversion(domain, 'z', {'x': 2, 'y': 7}) == True
+ assert domain_inversion(domain, 'x', {'y': False}) == [['x', '=', 3]]
+
+ domain = [['x.id', '>', 5], ['y', '<', 3]]
+ assert domain_inversion(domain, 'y') == [['y', '<', 3]]
+ assert domain_inversion(domain, 'y', {'x': 3}) == [['y', '<', 3]]
+ assert domain_inversion(domain, 'x') == [['x.id', '>', 5]]
+
+def test_or_inversion():
+ domain = ['OR', ['x', '=', 3], ['y', '>', 5], ['z', '=', 'abc']]
+ assert domain_inversion(domain, 'x') == [['x', '=', 3]]
+ assert domain_inversion(domain, 'x', {'y': 4}) == [['x', '=', 3]]
+ assert domain_inversion(domain, 'x', {'y': 4, 'z': 'ab'}) == [['x', '=', 3]]
+ assert domain_inversion(domain, 'x', {'y': 7}) == True
+ assert domain_inversion(domain, 'x', {'y': 7, 'z': 'b'}) == True
+ assert domain_inversion(domain, 'x', {'z': 'abc'}) == True
+ assert domain_inversion(domain, 'x', {'y': 4, 'z': 'abc'}) == True
+
+ domain = ['OR', ['x', '=', 3], ['y', '=', 5]]
+ assert domain_inversion(domain, 'x', {'y': False}) == [['x', '=', 3]]
+
+ domain = ['OR', ['x', '=', 3], ['y', '>', 5]]
+ assert domain_inversion(domain, 'z') == True
+
+ domain = ['OR', ['x.id', '>', 5], ['y', '<', 3]]
+ assert domain_inversion(domain, 'y') == [['y', '<', 3]]
+ assert domain_inversion(domain, 'y', {'z': 4}) == [['y', '<', 3]]
+ assert domain_inversion(domain, 'y', {'x': 3}) == True
+
+ domain = [u'OR', [u'length', u'>', 5], [u'language.code', u'=', u'de_DE']]
+ assert domain_inversion(domain, 'length', {'length': 0, 'name': 'n'}) ==\
+ [['length', '>', 5]]
+
+def test_orand_inversion():
+ domain = ['OR', [['x', '=', 3], ['y', '>', 5], ['z', '=', 'abc']],
+ [['x', '=', 4]], [['y', '>', 6]]]
+ assert domain_inversion(domain, 'x') == True
+ assert domain_inversion(domain, 'x', {'y': 4}) == [[['x', '=', 4]]]
+ assert domain_inversion(domain, 'x', {'z': 'abc', 'y': 7}) == True
+ assert domain_inversion(domain, 'x', {'y': 7}) == True
+ assert domain_inversion(domain, 'x', {'z': 'ab'}) == True
+
+def test_andor_inversion():
+ domain = [['OR', ['x', '=', 4], ['y', '>', 6]], ['z', '=', 3]]
+ assert domain_inversion(domain, 'z') == [['z', '=', 3]]
+ assert domain_inversion(domain, 'z', {'x': 5}) == [['z', '=', 3]]
+ assert domain_inversion(domain, 'z', {'x': 5, 'y': 5}) == False
+ assert domain_inversion(domain, 'z', {'x': 5, 'y': 7}) == [['z', '=', 3]]
+
+def test_andand_inversion():
+ domain = [[['x', '=', 4], ['y', '>', 6]], ['z', '=', 3]]
+ assert domain_inversion(domain, 'z') == [['z', '=', 3]]
+ assert domain_inversion(domain, 'z', {'x': 5}) == False
+ assert domain_inversion(domain, 'z', {'y': 5}) == False
+ assert domain_inversion(domain, 'z', {'x': 4, 'y': 7}) == [['z', '=', 3]]
+
+ domain = [[['x', '=', 4], ['y', '>', 6], ['z', '=', 2]], [['w', '=', 2]]]
+ assert domain_inversion(domain, 'z', {'x': 4}) == [['z', '=', 2]]
+
+def test_oror_inversion():
+ domain = ['OR', ['OR', ['x', '=', 3], ['y', '>', 5]],
+ ['OR', ['x', '=', 2], ['z', '=', 'abc']],
+ ['OR', ['y', '=', 8], ['z', '=', 'y']]]
+ assert domain_inversion(domain, 'x') == True
+ assert domain_inversion(domain, 'x', {'y': 4}) == True
+ assert domain_inversion(domain, 'x', {'z': 'ab'}) == True
+ assert domain_inversion(domain, 'x', {'y': 7}) == True
+ assert domain_inversion(domain, 'x', {'z': 'abc'}) == True
+ assert domain_inversion(domain, 'x', {'z': 'y'}) == True
+ assert domain_inversion(domain, 'x', {'y': 8}) == True
+ assert domain_inversion(domain, 'x', {'y': 8, 'z': 'b'}) == True
+ assert domain_inversion(domain, 'x', {'y': 4, 'z': 'y'}) == True
+ assert domain_inversion(domain, 'x', {'y': 7, 'z': 'abc'}) == True
+ assert domain_inversion(domain, 'x', {'y': 4, 'z': 'b'}) == \
+ ['OR', [['x', '=', 3]], [['x', '=', 2]]]
+
+def test_parse():
+ domain = parse([['x', '=', 5]])
+ assert domain.variables == set('x')
+ domain = parse(['OR', ['x', '=', 4], ['y', '>', 6]])
+ assert domain.variables == set('xy')
+ domain = parse([['OR', ['x', '=', 4], ['y', '>', 6]], ['z', '=', 3]])
+ assert domain.variables == set('xyz')
+ domain = parse([[['x', '=', 4], ['y', '>', 6]], ['z', '=', 3]])
+ assert domain.variables == set('xyz')
+
+def test_simplify():
+ domain = [['x', '=', 3]]
+ assert simplify(domain) == [['x', '=', 3]]
+ domain = [[['x', '=', 3]]]
+ assert simplify(domain) == [['x', '=', 3]]
+ domain = ['OR', ['x', '=', 3]]
+ assert simplify(domain) == [['x', '=', 3]]
+ domain = ['OR', [['x', '=', 3]], [['y', '=', 5]]]
+ assert simplify(domain) == ['OR', [['x', '=', 3]], [['y', '=', 5]]]
+ domain = ['OR', ['x', '=', 3], ['AND', ['y', '=', 5]]]
+ assert simplify(domain) == ['OR', ['x', '=', 3], [['y', '=', 5]]]
+
+def test_merge():
+ domain = [['x', '=', 6], ['y', '=', 7]]
+ assert merge(domain) == ['AND', ['x', '=', 6], ['y', '=', 7]]
+ domain = ['AND', ['x', '=', 6], ['y', '=', 7]]
+ assert merge(domain) == ['AND', ['x', '=', 6], ['y', '=', 7]]
+ domain = [['z', '=', 8], ['AND', ['x', '=', 6], ['y', '=', 7]]]
+ assert merge(domain) == ['AND', ['z', '=', 8], ['x', '=', 6],
+ ['y', '=', 7]]
+ domain = ['OR', ['x', '=', 1], ['y', '=', 2], ['z', '=', 3]]
+ assert merge(domain) == ['OR', ['x', '=', 1], ['y', '=', 2],
+ ['z', '=', 3]]
+ domain = ['OR', ['x', '=', 1], ['OR', ['y', '=', 2], ['z', '=', 3]]]
+ assert merge(domain) == ['OR', ['x', '=', 1], ['y', '=', 2],
+ ['z', '=', 3]]
+ domain = ['OR', ['x', '=', 1], ['AND', ['y', '=', 2], ['z', '=', 3]]]
+ assert merge(domain) == ['OR', ['x', '=', 1], ['AND', ['y', '=', 2],
+ ['z', '=', 3]]]
+ domain = [['z', '=', 8], ['OR', ['x', '=', 6], ['y', '=', 7]]]
+ assert merge(domain) == ['AND', ['z', '=', 8], ['OR', ['x', '=', 6],
+ ['y', '=', 7]]]
+ domain = ['AND', ['OR', ['a', '=', 1], ['b', '=', 2]],
+ ['OR', ['c', '=', 3], ['AND', ['d', '=', 4], ['d2', '=', 6]]],
+ ['AND', ['d', '=', 5], ['e', '=', 6]], ['f', '=', 7]]
+ assert merge(domain) == ['AND', ['OR', ['a', '=', 1], ['b', '=', 2]],
+ ['OR', ['c', '=', 3], ['AND', ['d', '=', 4], ['d2', '=', 6]]],
+ ['d', '=', 5], ['e', '=', 6], ['f', '=', 7]]
+
+def test_evaldomain():
+ domain = [['x', '>', 5]]
+ assert eval_domain(domain, {'x': 6})
+ assert not eval_domain(domain, {'x': 4})
+
+ domain = ['OR', ['x', '>', 10], ['x', '<', 0]]
+ assert eval_domain(domain, {'x': 11})
+ assert eval_domain(domain, {'x': -4})
+ assert not eval_domain(domain, {'x': 5})
+
+ domain = [['x', '>', 0], ['OR', ['x', '=', 3], ['x', '=', 2]]]
+ assert not eval_domain(domain, {'x': 1})
+ assert eval_domain(domain, {'x': 3})
+ assert eval_domain(domain, {'x': 2})
+ assert not eval_domain(domain, {'x': 4})
+ assert not eval_domain(domain, {'x': 5})
+ assert not eval_domain(domain, {'x': 6})
+
+ domain = ['OR', ['x', '=', 4], [['x', '>', 6], ['x', '<', 10]]]
+ assert eval_domain(domain, {'x': 4})
+ assert eval_domain(domain, {'x': 7})
+ assert not eval_domain(domain, {'x': 3})
+ assert not eval_domain(domain, {'x': 5})
+ assert not eval_domain(domain, {'x': 11})
+
+def test_localize():
+ domain = [['x', '=', 5]]
+ assert localize_domain(domain) == [['x', '=', 5]]
+
+ domain = [['x', '=', 5], ['x.code', '=', 7]]
+ assert localize_domain(domain, 'x') == [['id', '=', 5], ['code', '=', 7]]
+
+ domain = ['OR', ['AND', ['x', '>', 7], ['x', '<', 15]], ['x.code', '=', 8]]
+ assert localize_domain(domain, 'x') == \
+ ['OR', ['AND', ['id', '>', 7], ['id', '<', 15]], ['code', '=', 8]]
+
+ domain = [['x', 'child_of', [1]]]
+ assert localize_domain(domain, 'x') == [['x', 'child_of', [1]]]
+
+ domain = [['x', 'child_of', [1], 'y']]
+ assert localize_domain(domain, 'x') == [['y', 'child_of', [1]]]
+
+if __name__ == '__main__':
+ test_simple_inversion()
+ test_and_inversion()
+ test_or_inversion()
+ test_orand_inversion()
+ test_andor_inversion()
+ test_andand_inversion()
+ test_oror_inversion()
+ test_parse()
+ test_simplify()
+ test_evaldomain()
+ test_localize()
diff --git a/tryton/common/environment.py b/tryton/common/environment.py
new file mode 100644
index 0000000..296cf9e
--- /dev/null
+++ b/tryton/common/environment.py
@@ -0,0 +1,38 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+
+
+class EvalEnvironment(dict):
+
+ def __init__(self, parent, check_load):
+ super(EvalEnvironment, self).__init__()
+ self.parent = parent
+ self.check_load = check_load
+
+ def __getitem__(self, item):
+ if item == '_parent_' + self.parent.parent_name and self.parent.parent:
+ return EvalEnvironment(self.parent.parent, self.check_load)
+ return self.parent.get_eval(check_load=self.check_load)[item]
+
+ def __getattr__(self, item):
+ return self.__getitem__(item)
+
+ def get(self, item, default=None):
+ try:
+ return self.__getattr__(item)
+ except Exception:
+ pass
+ return super(EvalEnvironment, self).get(item, default)
+
+ def __nonzero__(self):
+ return True
+
+ def __str__(self):
+ return str(self.parent)
+
+ __repr__ = __str__
+
+ def __contains__(self, item):
+ if item == '_parent_' + self.parent.parent_name and self.parent.parent:
+ return item in EvalEnvironment(self.parent.parent, self.check_load)
+ return item in self.parent.get_eval(check_load=self.check_load)
diff --git a/tryton/config.py b/tryton/config.py
index c241e58..32098f7 100644
--- a/tryton/config.py
+++ b/tryton/config.py
@@ -47,11 +47,16 @@ class ConfigManager(object):
"Config manager"
def __init__(self):
+ short_version = '.'.join(VERSION.split('.', 2)[:2])
+ demo_server = 'demo%s.tryton.org' % short_version
+ demo_database = 'demo%s' % short_version
self.defaults = {
- 'login.login': 'admin',
- 'login.server': 'localhost',
+ 'login.profile': demo_server,
+ 'login.login': 'demo',
+ 'login.server': demo_server,
'login.port': '8070',
- 'login.db': False,
+ 'login.db': demo_database,
+ 'login.expanded': False,
'tip.autostart': False,
'tip.position': 0,
'logging.logger': '',
@@ -64,35 +69,39 @@ class ConfigManager(object):
'client.modepda': False,
'client.toolbar': 'default',
'client.form_tab': 'left',
+ 'client.maximize': False,
'client.save_width_height': True,
'client.spellcheck': False,
'client.default_path': get_home_dir(),
'client.lang': locale.getdefaultlocale()[0],
'client.language_direction': 'ltr',
'client.actions': {
- 'odt': {0: find_path(['ooffice', 'ooffice2'], '"%s"'),
- 1: find_path(['ooffice', 'ooffice2'], '-p "%s"')},
- 'txt': {0: find_path(['ooffice', 'ooffice2'], '"%s"'),
- 1: find_path(['ooffice', 'ooffice2'], '-p "%s"')},
+ 'odt': {0: find_path(['ooffice', 'ooffice2', 'libreoffice'], '"%s"'),
+ 1: find_path(['ooffice', 'ooffice2', 'libreoffice'], '-p "%s"')},
+ 'txt': {0: find_path(['ooffice', 'ooffice2', 'libreoffice'], '"%s"'),
+ 1: find_path(['ooffice', 'ooffice2', 'libreoffice'], '-p "%s"')},
'pdf': {0: find_path(['evince', 'xpdf', 'gpdf',
'kpdf', 'epdfview', 'acroread'], '"%s"'), 1: ''},
'png': {0: find_path(['feh', 'display', 'qiv', 'eye'], '"%s"'), 1: ''},
- 'csv': {0: find_path(['ooffice', 'ooffice2'], '"%s"'),
- 1: find_path(['ooffice', 'ooffice2'], '-p "%s"')},
+ 'csv': {0: find_path(['ooffice', 'ooffice2', 'libreoffice'], '"%s"'),
+ 1: find_path(['ooffice', 'ooffice2', 'libreoffice'], '-p "%s"')},
},
'client.email': '',
'client.can_change_accelerators': False,
'client.limit': 1000,
'roundup.url': 'http://bugs.tryton.org/roundup/',
'roundup.xmlrpc': 'roundup-xmlrpc.tryton.org',
+ 'menu.pane': 200,
}
self.config = {}
self.options = {
'login.host': True
}
+ self.arguments = []
def parse(self):
- parser = optparse.OptionParser(version=("Tryton %s" % VERSION))
+ parser = optparse.OptionParser(version=("Tryton %s" % VERSION),
+ usage="Usage: %prog [options] [url]")
parser.add_option("-c", "--config", dest="config",
help=_("specify alternate config file"))
parser.add_option("-v", "--verbose", action="store_true",
@@ -109,8 +118,10 @@ class ConfigManager(object):
help=_("specify the server port"))
parser.add_option("-s", "--server", dest="server",
help=_("specify the server hostname"))
- opt = parser.parse_args()[0]
+ opt, self.arguments = parser.parse_args()
+ if len(self.arguments) > 1:
+ raise Exception(_('Too much arguments'))
if opt.config and not os.path.isfile(opt.config):
raise Exception(_('File "%s" not found') % (opt.config,))
@@ -169,8 +180,13 @@ class ConfigManager(object):
self.defaults.get(key)))
CONFIG = ConfigManager()
-CURRENT_DIR = os.path.abspath(os.path.normpath(os.path.join(
- os.path.dirname(__file__), '..')))
+if os.name == 'nt' and hasattr(sys, 'frozen'):
+ CURRENT_DIR = os.path.dirname(unicode(sys.executable,
+ sys.getfilesystemencoding()))
+else:
+ CURRENT_DIR = os.path.abspath(os.path.normpath(os.path.join(
+ unicode(os.path.dirname(__file__), sys.getfilesystemencoding()),
+ '..')))
PREFIX = os.path.abspath(os.path.normpath(os.path.join(
os.path.dirname(sys.argv[0]), '..')))
PIXMAPS_DIR = os.path.join(CURRENT_DIR, 'share', 'pixmaps', 'tryton')
diff --git a/tryton/gui/main.py b/tryton/gui/main.py
index f329cc0..107648b 100644
--- a/tryton/gui/main.py
+++ b/tryton/gui/main.py
@@ -1,16 +1,25 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
+
import os
import sys
import gettext
-import urlparse
+from urlparse import urlparse
+import urllib
import gobject
import gtk
+if sys.version_info < (2, 6):
+ import simplejson as json
+else:
+ import json
+import webbrowser
import tryton.rpc as rpc
from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR, DATA_DIR, \
get_config_dir
import tryton.common as common
from tryton.action import Action
+from tryton.wizard import Wizard
from tryton.gui.window import Window
from tryton.gui.window.preference import Preference
from tryton.gui.window import Limit
@@ -29,6 +38,7 @@ import tryton.translate as translate
import tryton.plugins
import pango
import time
+import threading
try:
import gtk_osxapplication
except ImportError:
@@ -45,13 +55,17 @@ _MAIN = []
class Main(object):
window = None
+ tryton_client = None
- def __init__(self):
+ def __init__(self, tryton_client):
super(Main, self).__init__()
+ Main.tryton_client = tryton_client
self.window = gtk.Window()
self._width = int(CONFIG['client.default_width'])
self._height = int(CONFIG['client.default_height'])
+ if CONFIG['client.maximize']:
+ self.window.maximize()
self.window.set_default_size(self._width, self._height)
self.window.set_resizable(True)
self.window.set_title('Tryton')
@@ -59,6 +73,7 @@ class Main(object):
self.window.connect("destroy", Main.sig_quit)
self.window.connect("delete_event", self.sig_delete)
self.window.connect('configure_event', self.sig_configure)
+ self.window.connect('window_state_event', self.sig_window_state)
self.accel_group = gtk.AccelGroup()
self.window.add_accel_group(self.accel_group)
@@ -72,6 +87,13 @@ class Main(object):
gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/File/Quit', gtk.keysyms.Q,
gtk.gdk.CONTROL_MASK)
+ gtk.accel_map_add_entry('<tryton>/User/Menu Reload', gtk.keysyms.T,
+ gtk.gdk.MOD1_MASK)
+ gtk.accel_map_add_entry('<tryton>/User/Menu Toggle', gtk.keysyms.T,
+ gtk.gdk.CONTROL_MASK)
+ gtk.accel_map_add_entry('<tryton>/User/Home', gtk.keysyms.H,
+ gtk.gdk.CONTROL_MASK)
+
gtk.accel_map_add_entry('<tryton>/Form/New', gtk.keysyms.N,
gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/Form/Save', gtk.keysyms.S,
@@ -88,10 +110,6 @@ class Main(object):
0)
gtk.accel_map_add_entry('<tryton>/Form/Switch View', gtk.keysyms.L,
gtk.gdk.CONTROL_MASK)
- gtk.accel_map_add_entry('<tryton>/Form/Menu', gtk.keysyms.T,
- gtk.gdk.CONTROL_MASK)
- gtk.accel_map_add_entry('<tryton>/Form/Home', gtk.keysyms.H,
- gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/Form/Close', gtk.keysyms.W,
gtk.gdk.CONTROL_MASK)
gtk.accel_map_add_entry('<tryton>/Form/Previous Tab', gtk.keysyms.Page_Up,
@@ -116,6 +134,7 @@ class Main(object):
self.toolbar = toolbar
toolbar.set_orientation(gtk.ORIENTATION_HORIZONTAL)
toolbar.set_style(gtk.TOOLBAR_BOTH)
+ self.toolbar_menu = None
self.vbox = gtk.VBox()
self.window.add(self.vbox)
@@ -123,7 +142,6 @@ class Main(object):
self.status_hbox = None
self.menubar = None
self.menuitem_user = None
- self.menuitem_form = None
self.menuitem_plugins = None
self.set_statusbar()
@@ -132,18 +150,20 @@ class Main(object):
if self.macapp is not None:
self.macapp.ready()
-
- self.vbox.pack_start(toolbar, False, True)
-
self.buttons = {}
self._set_toolbar()
self.set_toolbar_label()
+ self.pane = gtk.HPaned()
+ self.menu_screen = None
+ self.vbox.pack_start(self.pane, True, True)
+
self.notebook = gtk.Notebook()
self.notebook.popup_enable()
self.notebook.set_scrollable(True)
self.notebook.connect_after('switch-page', self._sig_page_changt)
- self.vbox.pack_start(self.notebook, True, True)
+
+ self.pane.add2(self.notebook)
self.window.show_all()
@@ -210,20 +230,6 @@ class Main(object):
menu_user.set_accel_group(self.accel_group)
menu_user.set_accel_path('<tryton>/User')
- menuitem_form = gtk.MenuItem(_('For_m'))
- if self.menuitem_form:
- menuitem_form.set_sensitive(
- self.menuitem_form.get_property('sensitive'))
- else:
- menuitem_form.set_sensitive(False)
- self.menuitem_form = menuitem_form
- menubar.add(menuitem_form)
-
- menu_form = self._set_menu_form()
- menuitem_form.set_submenu(menu_form)
- menu_form.set_accel_group(self.accel_group)
- menu_form.set_accel_path('<tryton>/Form')
-
menuitem_options = gtk.MenuItem(_('_Options'))
menubar.add(menuitem_options)
@@ -266,7 +272,6 @@ class Main(object):
self.macapp.insert_app_menu_item(self.aboutitem,0)
menuitem_file.show_all()
menuitem_user.show_all()
- menuitem_form.show_all()
menuitem_options.show_all()
menuitem_plugins.show_all()
menuitem_shortcut.show_all()
@@ -392,6 +397,31 @@ class Main(object):
menu_user.add(gtk.SeparatorMenuItem())
+ imagemenuitem_menu = gtk.ImageMenuItem(_('_Menu Reload'), self.accel_group)
+ image = gtk.Image()
+ image.set_from_stock('tryton-start-here', gtk.ICON_SIZE_MENU)
+ imagemenuitem_menu.set_image(image)
+ imagemenuitem_menu.connect('activate', self.sig_win_menu)
+ imagemenuitem_menu.set_accel_path('<tryton>/User/Menu Reload')
+ menu_user.add(imagemenuitem_menu)
+
+ imagemenuitem_menu_toggle = gtk.ImageMenuItem(_('_Menu Toggle'),
+ self.accel_group)
+ imagemenuitem_menu_toggle.connect('activate', lambda *a: self.menu_toggle())
+ imagemenuitem_menu_toggle.set_accel_path('<tryton>/User/Menu Toggle')
+ menu_user.add(imagemenuitem_menu_toggle)
+
+
+ imagemenuitem_home = gtk.ImageMenuItem(_('_Home'), self.accel_group)
+ image = gtk.Image()
+ image.set_from_stock('tryton-go-home', gtk.ICON_SIZE_MENU)
+ imagemenuitem_home.set_image(image)
+ imagemenuitem_home.connect('activate', self.sig_home_new)
+ imagemenuitem_home.set_accel_path('<tryton>/User/Home')
+ menu_user.add(imagemenuitem_home)
+
+ menu_user.add(gtk.SeparatorMenuItem())
+
imagemenuitem_send_request = gtk.ImageMenuItem(_('_Send a Request'))
image = gtk.Image()
image.set_from_stock('tryton-mail-message-new', gtk.ICON_SIZE_MENU)
@@ -478,24 +508,8 @@ class Main(object):
imagemenuitem_switch.set_accel_path('<tryton>/Form/Switch View')
menu_form.add(imagemenuitem_switch)
- imagemenuitem_menu = gtk.ImageMenuItem(_('_Menu'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-start-here', gtk.ICON_SIZE_MENU)
- imagemenuitem_menu.set_image(image)
- imagemenuitem_menu.connect('activate', self.sig_win_menu)
- imagemenuitem_menu.set_accel_path('<tryton>/Form/Menu')
- menu_form.add(imagemenuitem_menu)
-
menu_form.add(gtk.SeparatorMenuItem())
- imagemenuitem_home = gtk.ImageMenuItem(_('_Home'), self.accel_group)
- image = gtk.Image()
- image.set_from_stock('tryton-go-home', gtk.ICON_SIZE_MENU)
- imagemenuitem_home.set_image(image)
- imagemenuitem_home.connect('activate', self.sig_home_new)
- imagemenuitem_home.set_accel_path('<tryton>/Form/Home')
- menu_form.add(imagemenuitem_home)
-
imagemenuitem_close = gtk.ImageMenuItem(_('_Close Tab'), self.accel_group)
image = gtk.Image()
image.set_from_stock('tryton-close', gtk.ICON_SIZE_MENU)
@@ -574,6 +588,10 @@ class Main(object):
'but_import')
menuitem_import.set_accel_path('<tryton>/Form/Import Data')
menu_form.add(menuitem_import)
+
+ menu_form.set_accel_group(self.accel_group)
+ menu_form.set_accel_path('<tryton>/Form')
+ menu_form.show_all()
return menu_form
def _set_menu_options(self):
@@ -876,12 +894,6 @@ class Main(object):
toolbutton_reload.connect('clicked', self._sig_child_call, 'but_reload')
self.buttons['but_reload'] = toolbutton_reload
- toolbutton_menu = gtk.ToolButton('tryton-start-here')
- self.toolbutton_menu = toolbutton_menu
- self.toolbar.insert(toolbutton_menu, -1)
- toolbutton_menu.connect('clicked', self.sig_win_menu)
- self.buttons['but_menu'] = toolbutton_menu
-
self.toolbar.insert(gtk.SeparatorToolItem(), -1)
toolbutton_action = gtk.ToolButton('tryton-executable')
@@ -901,13 +913,18 @@ class Main(object):
toolbutton_attach.connect('clicked', self._sig_child_call, 'but_attach')
self.buttons['but_attach'] = toolbutton_attach
- self.toolbar.insert(gtk.SeparatorToolItem(), -1)
+ self.menutoolbutton = None
+ if hasattr(gtk, 'MenuToolButton'):
+ self.menutoolbutton = gtk.MenuToolButton(None, None)
+ # Remove the button to keep only the toggle
+ hbox, = self.menutoolbutton.get_children()
+ button, toggle = hbox.get_children()
+ hbox.remove(button)
+ self.toolbar.insert(self.menutoolbutton, -1)
+ menu = self._set_menu_form()
+ self.menutoolbutton.set_menu(menu)
+ self.toolbar_menu = menu
- toolbutton_request = gtk.ToolButton('tryton-mail-message')
- self.toolbutton_request = toolbutton_request
- self.toolbar.insert(toolbutton_request, -1)
- toolbutton_request.connect('clicked', self.sig_request_open)
- self.buttons['but_request'] = toolbutton_request
def set_toolbar_label(self):
labels = {
@@ -919,11 +936,9 @@ class Main(object):
'but_next': _('Next'),
'but_switch': _('Switch'),
'but_reload': _('_Reload'),
- 'but_menu': _('Menu'),
'but_action': _('Action'),
'but_print': _('Print'),
'but_attach': _('Attachment(0)'),
- 'but_request': _('Request'),
}
tooltips = {
'but_new': _('Create a new record'),
@@ -934,15 +949,17 @@ class Main(object):
'but_next': _('Next Record'),
'but_switch': _('Switch view'),
'but_reload': _('Reload'),
- 'but_menu': _('Menu'),
'but_action': _('Action'),
'but_print': _('Print'),
'but_attach': _('Add an attachment to the record'),
- 'but_request': _('Request'),
}
for i in self.buttons:
self.buttons[i].set_label(labels[i])
self.tooltips.set_tip(self.buttons[i], tooltips[i])
+ if self.toolbar_menu and self.menutoolbutton:
+ self.toolbar_menu.destroy()
+ menu = self._set_menu_form()
+ self.menutoolbutton.set_menu(menu)
@staticmethod
def get_main():
@@ -955,6 +972,34 @@ class Main(object):
'id': action,
'ids': [action],
})
+
+ def _add_shortcut(widget):
+ ids = self.menu_screen.sel_ids_get()
+ if not ids:
+ return
+ try:
+ values = rpc.execute('model', self.menu_screen.model_name,
+ 'read', ids, ['rec_name'], rpc.CONTEXT)
+ except Exception, exception:
+ common.process_exception(exception, self.window)
+ return
+ try:
+ for value in values:
+ rpc.execute('model', 'ir.ui.view_sc', 'create', {
+ 'name': value['rec_name'],
+ 'res_id': value['id'],
+ 'user_id': rpc._USER,
+ 'resource': self.menu_screen.model_name,
+ }, rpc.CONTEXT)
+ except Exception, exception:
+ common.process_exception(exception, self.window)
+ self.shortcut_set()
+
+ def _manage_shortcut(widget):
+ Window.create(False, 'ir.ui.view_sc', False,
+ domain=[('user_id', '=', rpc._USER)],
+ window=self.window, mode=['tree', 'form'])
+
if shortcuts is None:
user = rpc._USER
try:
@@ -967,6 +1012,13 @@ class Main(object):
menuitem = gtk.MenuItem(shortcut['name'])
menuitem.connect('activate', _action_shortcut, shortcut['res_id'])
menu.add(menuitem)
+ menu.add(gtk.MenuItem())
+ add_shortcut = gtk.MenuItem(_('Add Shortcut'))
+ add_shortcut.connect('activate', _add_shortcut)
+ menu.add(add_shortcut)
+ manage_shortcut = gtk.MenuItem(_('Manage Shortcut'))
+ manage_shortcut.connect('activate', _manage_shortcut)
+ menu.add(manage_shortcut)
menu.show_all()
self.menuitem_shortcut.set_submenu(menu)
self.menuitem_shortcut.set_sensitive(True)
@@ -1067,22 +1119,22 @@ class Main(object):
self.shortcut_set()
self.set_statusbar()
self.request_set()
- self.sig_reload_menu()
+ self.sig_win_menu()
CONFIG['client.lang'] = prefs['language']
CONFIG.save()
self.window.present()
return True
def sig_win_close(self, widget):
- self._sig_child_call(widget, 'but_close')
+ self._sig_remove_book(widget,
+ self.notebook.get_nth_page(self.notebook.get_current_page()))
def sig_request_new(self, widget):
ctx = {}
ctx.update(rpc.CONTEXT)
ctx['active_test'] = False
- return Window.create(None, 'res.request', False, [
- ], 'form', mode=['form', 'tree'], window=self.window,
- context=ctx)
+ return Window.create(None, 'res.request', False, [ ],
+ mode=['form', 'tree'], window=self.window, context=ctx)
def sig_request_open(self, widget):
ctx = {}
@@ -1096,9 +1148,8 @@ class Main(object):
else:
raise
ids = ids1 + ids2
- return Window.create(False, 'res.request', ids, [
- ], 'form', mode=['tree', 'form'], window=self.window,
- context=ctx)
+ return Window.create(False, 'res.request', ids, [ ],
+ mode=['tree', 'form'], window=self.window, context=ctx)
def request_set(self, exception=False):
try:
@@ -1114,13 +1165,6 @@ class Main(object):
ids, ids2 = rpc.execute('model', 'res.request', 'request_get',
rpc.CONTEXT)
label = _('Requests (%s/%s)') % (len(ids), len(ids2))
- self.buttons['but_request'].set_label(label)
- self.tooltips.set_tip(self.buttons['but_request'], label)
- if not ids:
- self.buttons['but_request'].set_stock_id('tryton-mail-message')
- else:
- self.buttons['but_request'].set_stock_id(
- 'tryton-mail-message-new')
message = _('Waiting requests: %s received - %s sent') % (len(ids),
len(ids2))
self.sb_requests.set_text(message)
@@ -1130,13 +1174,13 @@ class Main(object):
raise
return ([], [])
- def sig_login(self, widget=None, dbname=False, res=None):
+ def sig_login(self, widget=None, res=None):
if not self.sig_logout(widget, disconnect=False):
return
if not res:
try:
dblogin = DBLogin(self.window)
- res = dblogin.run(dbname, self.window)
+ res = dblogin.run(self.window)
except Exception, exception:
if exception.args == ('QueryCanceled',):
return False
@@ -1155,6 +1199,7 @@ class Main(object):
False, rpc.CONTEXT)
except Exception:
prefs = None
+ common.ICONFACTORY.load_icons()
if prefs and 'language_direction' in prefs:
translate.set_language_direction(prefs['language_direction'])
CONFIG['client.language_direction'] = prefs['language_direction']
@@ -1181,18 +1226,18 @@ class Main(object):
return self.sig_login()
if not self.menuitem_shortcut.get_property('sensitive'):
self.shortcut_set()
- self.toolbutton_menu.set_sensitive(True)
- self.toolbutton_request.set_sensitive(True)
self.menuitem_user.set_sensitive(True)
- self.menuitem_form.set_sensitive(True)
+ #self.menuitem_form.set_sensitive(True)
self.menuitem_plugins.set_sensitive(True)
- self.notebook.grab_focus()
+ if CONFIG.arguments:
+ url = CONFIG.arguments.pop()
+ self.open_url(url)
return True
def sig_logout(self, widget, disconnect=True):
res = True
while res:
- wid = self._wid_get()
+ wid = self.get_page()
if wid:
if 'but_close' in wid.handlers:
res = wid.handlers['but_close']()
@@ -1201,15 +1246,19 @@ class Main(object):
res = self._win_del()
else:
res = False
+ if self.pane.get_child1():
+ self.pane.remove(self.pane.get_child1())
+ if self.pane.get_position():
+ CONFIG['menu.pane'] = self.pane.get_position()
+ if self.menu_screen:
+ self.menu_screen.destroy()
+ self.menu_screen = None
self.sb_username.set_text('')
self.sb_servername.set_text('')
self.sb_requests.set_text('')
self.shortcut_unset()
- self.toolbutton_menu.set_sensitive(False)
- self.toolbutton_request.set_sensitive(False)
- self.toolbutton_request.set_label(_('Request'))
self.menuitem_user.set_sensitive(False)
- self.menuitem_form.set_sensitive(False)
+ #self.menuitem_form.set_sensitive(False)
self.menuitem_plugins.set_sensitive(False)
if disconnect:
rpc.logout()
@@ -1237,23 +1286,32 @@ class Main(object):
def sig_shortcuts(self, widget):
Shortcuts(self.window).run()
- def sig_reload_menu(self):
- res = False
- for page in range(len(self.pages)):
- if self.pages[page].model == 'ir.ui.menu':
- self.pages[page].sig_reload()
- hbox = self.notebook.get_tab_label(self.pages[page].widget)
- label = hbox.get_children()[0]
- label.set_text(_('Menu'))
- res = True
- return res
+ def menu_toggle(self, nohide=False):
+ has_focus = True
+ if (self.menu_screen
+ and self.menu_screen.current_view.view_type == 'tree'):
+ try:
+ has_focus = self.menu_screen.current_view.widget_tree.has_focus()
+ except AttributeError:
+ has_focus = (self.menu_screen.current_view.widget_tree.flags()
+ & gtk.HAS_FOCUS)
+ if self.pane.get_position() and has_focus:
+ CONFIG['menu.pane'] = self.pane.get_position()
+ if not nohide:
+ self.pane.set_position(0)
+ self.notebook.grab_focus()
+ else:
+ self.pane.set_position(int(CONFIG['menu.pane']))
+ if self.menu_screen:
+ self.menu_screen.current_view.set_cursor()
def sig_win_menu(self, widget=None, quiet=True, prefs=None):
- for page in range(len(self.pages)):
- if self.pages[page].model == 'ir.ui.menu':
- page_num = self.notebook.page_num(self.pages[page].widget)
- self.notebook.set_current_page(page_num)
- return True
+ if self.pane.get_child1():
+ self.pane.remove(self.pane.get_child1())
+ if self.pane.get_position():
+ CONFIG['menu.pane'] = self.pane.get_position()
+ self.menu_screen = None
+ self.menu_toggle(nohide=True)
res = self.sig_win_new(widget, menu_type='menu', quiet=quiet,
prefs=prefs)
return res
@@ -1302,16 +1360,16 @@ class Main(object):
}
tryton.plugins.execute(datas, self.window)
- @staticmethod
- def sig_quit(widget=None):
+ @classmethod
+ def sig_quit(cls, widget=None):
+ rpc.logout()
CONFIG['client.default_width'] = Main.get_main()._width
CONFIG['client.default_height'] = Main.get_main()._height
CONFIG.save()
if hasattr(gtk, 'accel_map_save'):
gtk.accel_map_save(os.path.join(get_config_dir(), 'accel.map'))
- if gtk.main_level() > 0:
- gtk.main_quit()
+ cls.tryton_client.quit_mainloop()
def sig_close(self, widget):
if common.sur(_("Do you really want to quit?"), parent=self.window):
@@ -1335,15 +1393,37 @@ class Main(object):
self._height = int(event.height)
return False
+ def sig_window_state(self, widget, event):
+ CONFIG['client.maximize'] = (event.new_window_state ==
+ gtk.gdk.WINDOW_STATE_MAXIMIZED)
+ return False
+
def win_add(self, page):
+ if page.model == 'ir.ui.menu' and not self.pane.get_child1():
+ screen = page.screen
+ screen.screen_container.alternate_view = True
+ screen.switch_view(view_type=screen.current_view.view_type)
+ self.pane.pack1(screen.screen_container.alternate_viewport)
+ self.menu_screen = screen
+ screen.display(set_cursor=True)
+ return
+ elif page.model == 'ir.ui.menu':
+ self.sig_win_menu()
previous_page_id = self.notebook.get_current_page()
previous_widget = self.notebook.get_nth_page(previous_page_id)
self.previous_pages[page] = previous_widget
self.pages.append(page)
- hbox = gtk.HBox()
+ hbox = gtk.HBox(spacing=3)
+ icon_w, icon_h = gtk.icon_size_lookup(gtk.ICON_SIZE_SMALL_TOOLBAR)
+ if page.icon is not None:
+ common.ICONFACTORY.register_icon(page.icon)
+ image = gtk.Image()
+ image.set_from_stock(page.icon, gtk.ICON_SIZE_SMALL_TOOLBAR)
+ hbox.pack_start(image, expand=False, fill=False)
+ noise_size = 2 * icon_w + 3
+ else:
+ noise_size = icon_w + 3
name = page.name
- if page.model == 'ir.ui.menu':
- name = _('Menu')
label = gtk.Label(name)
self.tooltips.set_tip(label, page.name)
self.tooltips.enable()
@@ -1351,8 +1431,7 @@ class Main(object):
hbox.pack_start(label, expand=True, fill=True)
layout = label.get_layout()
w, h = layout.get_size()
- icon_w, icon_h = gtk.icon_size_lookup(gtk.ICON_SIZE_SMALL_TOOLBAR)
- if (w / pango.SCALE) > 120 - icon_w:
+ if (w / pango.SCALE) > 120 - noise_size:
label2 = gtk.Label('...')
self.tooltips.set_tip(label2, page.name)
hbox.pack_start(label2, expand=False, fill=False)
@@ -1386,10 +1465,8 @@ class Main(object):
def sb_set(self, view=None):
if not view:
- view = self._wid_get()
+ view = self.get_page()
for i in self.buttons:
- if i in ('but_menu', 'but_request'):
- continue
if self.buttons[i]:
self.buttons[i].set_sensitive(
bool(view and (i in view.handlers)))
@@ -1452,10 +1529,13 @@ class Main(object):
del page
self.notebook.set_current_page(next_page_id)
+ if not self.pages and self.menu_screen:
+ self.menu_screen.current_view.set_cursor()
return self.notebook.get_current_page() != -1
- def _wid_get(self):
- page_id = self.notebook.get_current_page()
+ def get_page(self, page_id=None):
+ if page_id is None:
+ page_id = self.notebook.get_current_page()
if page_id == -1:
return None
page_widget = self.notebook.get_nth_page(page_id)
@@ -1465,7 +1545,7 @@ class Main(object):
return None
def _sig_child_call(self, widget, button_name):
- wid = self._wid_get()
+ wid = self.get_page()
if wid:
res = True
if button_name in wid.handlers:
@@ -1476,12 +1556,21 @@ class Main(object):
def _sig_page_changt(self, notebook, page, page_num):
self.last_page = self.current_page
self.current_page = self.notebook.get_current_page()
+
+ current_form = self.get_page(self.current_page)
+ parent = self.toolbar.get_parent()
+ if parent:
+ parent.remove(self.toolbar)
+ current_form.toolbar_box.add(self.toolbar)
+ current_form.toolbar_box.show_all()
+
self.sb_set()
def sig_db_new(self, widget):
if not self.sig_logout(widget):
return False
- dia = DBCreate(self.sig_login)
+ dia = DBCreate(CONFIG['login.server'], int(CONFIG['login.port']),
+ sig_login=self.sig_login)
res = dia.run(self.window)
if res:
CONFIG.save()
@@ -1619,3 +1708,124 @@ class Main(object):
else:
rpc.logout()
Main.get_main().refresh_ssl()
+
+ def _open_url(self, url):
+ url = urllib.unquote(url)
+ urlp = urlparse(url)
+ if not urlp.scheme == 'tryton':
+ return
+ urlp = urlparse('http' + url[6:])
+ hostname, port = (urlp.netloc.split(':', 1)
+ + [CONFIG.defaults['login.port']])[:2]
+ database, path = (urlp.path[1:].split('/', 1) + [None])[:2]
+ if (not path or
+ hostname != rpc._SOCK.hostname or
+ int(port) != rpc._SOCK.port or
+ database != rpc._DATABASE):
+ return
+ type_, path = (path.split('/', 1) + [''])[:2]
+ params = {}
+ if urlp.params:
+ try:
+ params = dict(param.split('=', 1)
+ for param in urlp.params.split('&'))
+ except Exception:
+ return
+
+ def open_model(path):
+ model, path = (path.split('/', 1) + [''])[:2]
+ if not model:
+ return
+ res_id = False
+ mode = None
+ try:
+ view_ids = json.loads(params.get('views', 'false'))
+ limit = json.loads(params.get('limit', 'null'))
+ auto_refresh = json.loads(params.get('auto_refresh', 'false'))
+ name = json.loads(params.get('window_name', 'false'))
+ search_value = json.loads(params.get('search_value', '{}'))
+ domain = json.loads(params.get('domain', '[]'))
+ context = json.loads(params.get('context', '{}'))
+ except ValueError:
+ return
+ if path:
+ try:
+ res_id = int(path)
+ except ValueError:
+ return
+ mode = ['form', 'tree']
+ try:
+ Window.create(view_ids, model, res_id=res_id, domain=domain,
+ window=self.window, context=context, mode=mode,
+ name=name, limit=limit, auto_refresh=auto_refresh,
+ search_value=search_value)
+ except Exception:
+ return
+
+ def open_wizard(wizard):
+ if not wizard:
+ return
+ try:
+ data = json.loads(params.get('data', '{}'))
+ direct_print = json.loads(params.get('direct_print', 'false'))
+ email_print = json.loads(params.get('email_print', 'false'))
+ email = json.loads(params.get('email', 'null'))
+ name = json.loads(params.get('name', 'false'))
+ window = json.loads(params.get('window', 'false'))
+ context = json.loads(params.get('context', '{}'))
+ except ValueError:
+ return
+ try:
+ if window:
+ Window.create_wizard(wizard, data, self.window,
+ direct_print=direct_print, email_print=email_print,
+ email=email, name=name, context=context)
+ else:
+ Wizard.execute(wizard, data, self.window,
+ direct_print=direct_print, email_print=email_print,
+ email=email, context=context)
+ except Exception:
+ return
+
+ def open_report(report):
+ if not report:
+ return
+ try:
+ data = json.loads(params.get('data'))
+ direct_print = json.loads(params.get('direct_print', 'false'))
+ email_print = json.loads(params.get('email_print', 'false'))
+ email = json.loads(params.get('email', 'null'))
+ name = json.loads(params.get('name', 'false'))
+ context = json.loads(params.get('context', '{}'))
+ except ValueError:
+ return
+ try:
+ Action.exec_report(report, data, self.window,
+ direct_print=direct_print, email_print=email_print,
+ email=email, context=context)
+ except Exception:
+ return
+
+ def open_url():
+ try:
+ url = json.loads(params.get('url', 'false'))
+ except ValueError:
+ return
+ if url:
+ webbrowser.open(url, new=2)
+
+ if type_ == 'model':
+ open_model(path)
+ elif type_ == 'wizard':
+ open_wizard(path)
+ elif type_ == 'report':
+ open_report(path)
+ elif type_ == 'url':
+ open_url()
+
+ def open_url(self, url):
+ def idle_open_url():
+ with gtk.gdk.lock:
+ self._open_url(url)
+ return False
+ gobject.idle_add(idle_open_url)
diff --git a/tryton/gui/window/attachment.py b/tryton/gui/window/attachment.py
index 86cdc35..1724a2d 100644
--- a/tryton/gui/window/attachment.py
+++ b/tryton/gui/window/attachment.py
@@ -15,7 +15,7 @@ class Attachment(object):
def run(self):
screen = Screen('ir.attachment', self.parent, domain=[
('resource', '=', self.resource),
- ], view_type=['tree', 'form'], context={
+ ], mode=['tree', 'form'], context={
'resource': self.resource,
}, exclude_field='resource')
screen.search_filter()
diff --git a/tryton/gui/window/board.py b/tryton/gui/window/board.py
index 2344b01..73a2593 100644
--- a/tryton/gui/window/board.py
+++ b/tryton/gui/window/board.py
@@ -2,6 +2,7 @@
#this repository contains the full copyright notices and license terms.
"Board"
import gtk
+import pango
from tryton.signal_event import SignalEvent
import tryton.rpc as rpc
from tryton.gui.window.view_board import ViewBoard
@@ -11,7 +12,7 @@ import tryton.common as common
class Board(SignalEvent):
'Board'
- def __init__(self, window, view_id, context=None, name=False,
+ def __init__(self, model, window, view_id, context=None, name=False,
auto_refresh=False):
super(Board, self).__init__()
@@ -28,10 +29,38 @@ class Board(SignalEvent):
self.name = self.board.name
else:
self.name = name
- self.model = ''
+ self.model = model
self.widget = gtk.VBox()
+ title = gtk.Label()
+ title.set_use_markup(True)
+ title.modify_font(pango.FontDescription("14"))
+ title.set_label('<b>' + self.name + '</b>')
+ title.set_padding(20, 4)
+ title.set_alignment(0.0, 0.5)
+ title.modify_fg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#000000"))
+ title.show()
+
+ hbox = gtk.HBox()
+ hbox.pack_start(title, expand=True, fill=True)
+ hbox.show()
+
+ frame = gtk.Frame()
+ frame.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+ frame.add(hbox)
+ frame.show()
+
+ eb = gtk.EventBox()
+ eb.add(frame)
+ eb.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#ffffff"))
+ eb.show()
+
+ self.widget.pack_start(eb, expand=False, fill=True, padding=3)
+
+ self.toolbar_box = gtk.HBox()
+ self.widget.pack_start(self.toolbar_box, False, True)
+
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_NONE)
viewport.add(self.board.widget_get())
diff --git a/tryton/gui/window/dbcreate.py b/tryton/gui/window/dbcreate.py
index 82b7968..7f48f84 100644
--- a/tryton/gui/window/dbcreate.py
+++ b/tryton/gui/window/dbcreate.py
@@ -1,5 +1,6 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
import gtk
import gobject
import gettext
@@ -70,8 +71,6 @@ class DBCreate(object):
except Exception:
self.server_connection_state(False)
return False
- CONFIG['login.server'] = host
- CONFIG['login.port'] = port
return True
def event_passwd_clear(self, widget, event, data=None):
@@ -110,17 +109,10 @@ class DBCreate(object):
def entry_insert_text(self, entry, new_text, new_text_length, position):
"""
This event method checks each text input for the PostgreSQL
- database name. It allows the following rules:
+ database name. It allows the following rules:
- Allowed characters are alpha-nummeric [A-Za-z0-9] and underscore (_)
- First character must be a letter
"""
- def _move_cursor(entry, pos):
- """
- Helper function for entry_insert_text. It is used to position
- the cursor for right and wron inputs correctly.
- """
- entry.set_position(pos)
- return False
if (new_text.isalnum() or new_text == '_' ):
_hid = entry.get_data('handlerid')
@@ -128,13 +120,19 @@ class DBCreate(object):
_pos = entry.get_position()
_pos = entry.insert_text(new_text, _pos)
entry.handler_unblock(_hid)
- gobject.idle_add(_move_cursor, entry, _pos)
+
+ def _move_cursor():
+ with gtk.gdk.lock:
+ entry.set_position(_pos)
+ return False
+ gobject.idle_add(_move_cursor)
entry.stop_emission("insert-text")
- def __init__(self, sig_login=None):
- """
- This method defines the complete GUI.
- """
+ def __init__(self, host=None, port=None, sig_login=None):
+ self.host = host
+ self.port = port
+
+ # GTK Stuffs
self.dialog = gtk.Dialog(
title= _("Create new database"),
flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
@@ -178,7 +176,6 @@ class DBCreate(object):
self.entry_server_connection.set_sensitive(False)
self.entry_server_connection.unset_flags(gtk.CAN_FOCUS)
self.entry_server_connection.set_editable(False)
- table.attach(self.entry_server_connection, 1, 2, 1, 2)
self.tooltips.set_tip(self.entry_server_connection, _("This is the URL of " \
"the server. Use server 'localhost' and port '8070' if " \
"the server is installed on this computer. Click on 'Change' to " \
@@ -192,6 +189,8 @@ class DBCreate(object):
table.attach(self.button_server_change, 2, 3, 1, 2, yoptions=False, xoptions=gtk.FILL)
self.tooltips.set_tip(self.button_server_change, _("Setup the " \
"server connection..."))
+
+ table.attach(self.entry_server_connection, 1, 2, 1, 2)
self.label_serverpasswd = gtk.Label(_("Tryton Server Password:"))
self.label_serverpasswd.set_justify(gtk.JUSTIFY_RIGHT)
self.label_serverpasswd.set_alignment(1, 0.5)
@@ -293,30 +292,22 @@ class DBCreate(object):
self.dialog.set_transient_for(parent)
self.dialog.show_all()
- if not CONFIG['login.host']:
- self.label_server_setup.hide()
- self.label_server.hide()
- self.entry_server_connection.hide()
- self.button_server_change.hide()
- self.label_serverpasswd.hide()
- self.entry_serverpasswd.hide()
- self.hseparator.hide()
-
pass_widget = self.entry_serverpasswd
change_button = self.button_server_change
admin_passwd = self.entry_adminpasswd
admin_passwd2 = self.entry_adminpasswd2
-
change_button.connect_after('clicked', self.server_change, self.dialog)
- host = CONFIG['login.server']
- port = int(CONFIG['login.port'])
- url = '%s:%d' % (host, port)
+
+ if self.host and self.port:
+ url = '%s:%d' % (self.host, self.port)
+ else:
+ url = ''
self.entry_server_connection.set_text(url)
liststore = gtk.ListStore(str, str)
self.combo_language.set_model(liststore)
try:
- common.refresh_langlist(self.combo_language, host, port)
+ common.refresh_langlist(self.combo_language, self.host, self.port)
except Exception:
self.button_create.set_sensitive(False)
@@ -357,8 +348,13 @@ class DBCreate(object):
and langreal \
and passwd \
and admin_passwd.get_text():
- if rpc.db_exec(url_m.group(1), int(url_m.group(2)),
- 'db_exist', dbname):
+ try:
+ exist = rpc.db_exec(url_m.group(1),
+ int(url_m.group(2)), 'db_exist', dbname)
+ except Exception, exception:
+ common.process_exception(exception, self.dialog)
+ continue
+ if exist:
common.warning(_("A database with the same name " \
"already exists.\n" \
"Try another database name."), self.dialog,
@@ -367,9 +363,8 @@ class DBCreate(object):
self.entry_dbname.grab_focus()
continue
else: # Everything runs fine, break the block here
- CONFIG['login.server'] = host = url_m.group(1)
- CONFIG['login.port'] = port = url_m.group(2)
- CONFIG["login.login"] = "admin"
+ host = url_m.group(1)
+ port = url_m.group(2)
try:
rpcprogress = common.RPCProgress('db_exec',
(host, int(port), 'create', dbname, passwd,
@@ -404,10 +399,15 @@ class DBCreate(object):
parent.present()
self.dialog.destroy()
if self.sig_login:
- self.sig_login(dbname=dbname)
+ CONFIG['login.server'] = host
+ CONFIG['login.port'] = port
+ CONFIG['login.db'] = dbname
+ CONFIG['login.login'] = 'admin'
+ self.sig_login()
break
break
parent.present()
self.dialog.destroy()
+ return dbname
diff --git a/tryton/gui/window/dbdumpdrop.py b/tryton/gui/window/dbdumpdrop.py
index e904edf..729a147 100644
--- a/tryton/gui/window/dbdumpdrop.py
+++ b/tryton/gui/window/dbdumpdrop.py
@@ -1,5 +1,7 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of this
# repository contains the full copyright notices and license terms.
+import threading
+
import gtk
import gettext
import tryton.common as common
@@ -13,19 +15,22 @@ class DBBackupDrop(object):
Widget for database backup and drop.
"""
@staticmethod
- def refreshlist(widget, db_widget, label, host, port):
- res = common.refresh_dblist(db_widget, host, port)
- if res is None or res == -1:
- if res is None:
+ def refreshlist(widget, db_widget, label, db_progress, host, port):
+ db_widget.hide()
+ label.hide()
+ dbprogress = common.DBProgress(host, port)
+ dbs, createdb = dbprogress.update(db_widget, db_progress)
+ if dbs is None or dbs == -1:
+ if dbs is None:
label.set_label('<b>' + \
_('Could not connect to server!') + '</b>')
else:
label.set_label('<b>' + \
- _('This client version is not compatible with the server!') +\
- '</b>')
+ _('This client version is not compatible with the server!')
+ + '</b>')
db_widget.hide()
label.show()
- elif res == 0:
+ elif dbs == 0:
label.set_label('<b>' + \
_('No database found, you must create one!') + '</b>')
db_widget.hide()
@@ -33,17 +38,17 @@ class DBBackupDrop(object):
else:
label.hide()
db_widget.show()
- return res
+ return dbs
@staticmethod
- def refreshlist_ask(widget, server_widget, db_widget, label, parent=None):
+ def refreshlist_ask(widget, server_widget, db_widget, label, db_progress,
+ parent=None):
res = common.request_server(server_widget, parent)
if not res:
return None
host, port = res
- if DBBackupDrop.refreshlist(widget, db_widget, label, host, port):
- CONFIG['login.server'] = host
- CONFIG['login.port'] = port
+ DBBackupDrop.refreshlist(widget, db_widget, label, db_progress, host,
+ port)
return (host, port)
def event_show_button_ok(self, widget, event, data=None):
@@ -157,11 +162,18 @@ class DBBackupDrop(object):
vbox_combo = gtk.VBox()
self.combo_database = gtk.ComboBox()
+ self.db_progressbar = gtk.ProgressBar()
self.combo_database_label = gtk.Label()
self.combo_database_label.set_use_markup(True)
self.combo_database_label.set_alignment(0, 1)
- vbox_combo.pack_start(self.combo_database, True, True, 0)
- vbox_combo.pack_start(self.combo_database_label, False, False, 0)
+ vbox_combo.pack_start(self.combo_database, True, True)
+ vbox_combo.pack_start(self.combo_database_label, False, False)
+ vbox_combo.pack_start(self.db_progressbar, True, True)
+ width, height = 0, 0
+ for child in vbox_combo.get_children():
+ cwidth, cheight = child.size_request()
+ width, height = max(width, cwidth), max(height, cheight)
+ vbox_combo.set_size_request(width, height)
table.attach(vbox_combo, 1, 3, 3, 4, yoptions=gtk.FILL)
self.label_serverpasswd = gtk.Label(_("Tryton Server Password:"))
@@ -188,33 +200,23 @@ class DBBackupDrop(object):
self.dialog.set_transient_for(parent)
self.dialog.show_all()
- if not CONFIG['login.host']:
- self.label_server.hide()
- self.entry_server_connection.hide()
- self.button_server_change.hide()
- self.label_serverpasswd.hide()
- self.entry_serverpasswd.hide()
-
pass_widget = self.entry_serverpasswd
server_widget = self.entry_server_connection
+ server_widget.set_text('%(login.server)s:%(login.port)s' % CONFIG)
db_widget = self.combo_database
+ db_progress = self.db_progressbar
label = self.combo_database_label
-
- host = CONFIG['login.server']
- port = int(CONFIG['login.port'])
- url = '%s:%d' % (host, port)
- server_widget.set_text(url)
-
liststore = gtk.ListStore(str)
db_widget.set_model(liststore)
cell = gtk.CellRendererText()
db_widget.pack_start(cell, True)
db_widget.add_attribute(cell, 'text', 0)
- res = self.refreshlist(None, db_widget, label, host, port)
+ res = self.refreshlist(None, db_widget, label, db_progress,
+ CONFIG['login.server'], CONFIG['login.port'])
change_button = self.button_server_change
change_button.connect_after('clicked', DBBackupDrop.refreshlist_ask, \
- server_widget, db_widget, label, self.dialog)
+ server_widget, db_widget, label, db_progress, self.dialog)
while True:
database = False
diff --git a/tryton/gui/window/dblogin.py b/tryton/gui/window/dblogin.py
index 1816323..da061d3 100644
--- a/tryton/gui/window/dblogin.py
+++ b/tryton/gui/window/dblogin.py
@@ -1,19 +1,353 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
+
+import ConfigParser
import gtk
+import gobject
import os
import re
import gettext
+import threading
+import time
+
+from tryton.version import VERSION
import tryton.common as common
-from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR
+from tryton.config import CONFIG, TRYTON_ICON, PIXMAPS_DIR, get_config_dir
import tryton.rpc as rpc
from tryton.gui.window.dbcreate import DBCreate
_ = gettext.gettext
+class DBListEditor(object):
+
+ def __init__(self, parent, profile_store, profiles):
+ self.profiles = profiles
+ self.current_database = None
+ self.old_profile, self.current_profile = None, None
+ self.updating_db = False
+
+ # GTK Stuffs
+ self.parent = parent
+ self.dialog = gtk.Dialog(title=_(u'Profile Editor'), parent=parent,
+ flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
+ self.ok_button = self.dialog.add_button(gtk.STOCK_OK, gtk.RESPONSE_ACCEPT)
+ self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
+ self.dialog.set_has_separator(True)
+ self.dialog.set_icon(TRYTON_ICON)
+
+ hpaned = gtk.HPaned()
+ vbox_profiles = gtk.VBox(homogeneous=False, spacing=6)
+ self.cell = gtk.CellRendererText()
+ self.cell.set_property('editable', True)
+ self.cell.connect('edited', self.edit_profilename)
+ self.cell.connect('editing-started', self.edit_started)
+ self.cell.connect('editing-canceled', self.edit_canceled)
+ self.profile_tree = gtk.TreeView()
+ self.profile_tree.set_model(profile_store)
+ self.profile_tree.insert_column_with_attributes(-1, _(u'Profile'),
+ self.cell, text=0)
+ self.profile_tree.connect('cursor-changed', self.profile_selected)
+ scroll = gtk.ScrolledWindow()
+ scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ scroll.add(self.profile_tree)
+ self.add_button = gtk.Button(_(u'_Add'))
+ self.add_button.connect('clicked', self.profile_create)
+ add_image = gtk.Image()
+ add_image.set_from_stock('gtk-add', gtk.ICON_SIZE_BUTTON)
+ self.add_button.set_image(add_image)
+ self.remove_button = gtk.Button(_(u'_Remove'))
+ self.remove_button.connect('clicked', self.profile_delete)
+ remove_image = gtk.Image()
+ remove_image.set_from_stock('gtk-remove', gtk.ICON_SIZE_BUTTON)
+ self.remove_button.set_image(remove_image)
+ vbox_profiles.pack_start(scroll, expand=True, fill=True)
+ vbox_profiles.pack_start(self.add_button, expand=False, fill=True)
+ vbox_profiles.pack_start(self.remove_button, expand=False, fill=True)
+ hpaned.add1(vbox_profiles)
+
+ table = gtk.Table(4, 2, homogeneous=False)
+ table.set_row_spacings(3)
+ table.set_col_spacings(3)
+ host = gtk.Label(_(u'Hostname:'))
+ host.set_alignment(1, 0.5)
+ host.set_padding(3, 3)
+ self.host_entry = gtk.Entry()
+ self.host_entry.connect('focus-out-event', self.display_dbwidget)
+ self.host_entry.connect('changed', self.update_profiles, 'host')
+ self.host_entry.set_activates_default(True)
+ table.attach(host, 0, 1, 1, 2, yoptions=False, xoptions=gtk.FILL)
+ table.attach(self.host_entry, 1, 2, 1, 2, yoptions=False)
+ port = gtk.Label(_(u'Port:'))
+ port.set_alignment(1, 0.5)
+ port.set_padding(3, 3)
+ self.port_entry = gtk.Entry()
+ self.port_entry.connect('focus-out-event', self.display_dbwidget)
+ self.port_entry.connect('changed', self.update_profiles, 'port')
+ self.port_entry.set_activates_default(True)
+ table.attach(port, 0, 1, 2, 3, yoptions=False, xoptions=gtk.FILL)
+ table.attach(self.port_entry, 1, 2, 2, 3, yoptions=False)
+ database = gtk.Label(_(u'Database:'))
+ database.set_alignment(1, 0.5)
+ database.set_padding(3, 3)
+ self.database_entry = gtk.Entry()
+ self.database_entry.connect('changed', self.dbentry_changed)
+ self.database_entry.connect('changed', self.update_profiles, 'database')
+ self.database_entry.set_activates_default(True)
+ self.database_label = gtk.Label()
+ self.database_label.set_use_markup(True)
+ self.database_label.set_alignment(0, 0.5)
+ self.database_combo = gtk.ComboBox()
+ dbstore = gtk.ListStore(gobject.TYPE_STRING)
+ cell = gtk.CellRendererText()
+ self.database_combo.pack_start(cell, True)
+ self.database_combo.add_attribute(cell, 'text', 0)
+ self.database_combo.set_model(dbstore)
+ self.database_combo.connect('changed', self.dbcombo_changed)
+ self.database_button = gtk.Button(_(u'Create'))
+ self.database_button.connect('clicked', self.db_create)
+ self.database_progressbar= gtk.ProgressBar()
+ self.database_progressbar.set_text(_(u'Fetching databases list'))
+ image = gtk.Image()
+ image.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON)
+ self.database_button.set_image(image)
+ db_box = gtk.VBox(homogeneous=True)
+ db_box.pack_start(self.database_entry)
+ db_box.pack_start(self.database_combo)
+ db_box.pack_start(self.database_label)
+ db_box.pack_start(self.database_button)
+ db_box.pack_start(self.database_progressbar)
+ # Compute size_request of box in order to prevent "form jumping"
+ width, height = 0, 0
+ for child in db_box.get_children():
+ cwidth, cheight = child.size_request()
+ width, height = max(width, cwidth), max(height, cheight)
+ db_box.set_size_request(width, height)
+ table.attach(database, 0, 1, 3, 4, yoptions=False, xoptions=gtk.FILL)
+ table.attach(db_box, 1, 2, 3, 4, yoptions=False)
+ username = gtk.Label(_(u'Username:'))
+ username.set_alignment(1, 0.5)
+ username.set_padding(3, 3)
+ self.username_entry = gtk.Entry()
+ self.username_entry.connect('changed', self.update_profiles, 'username')
+ self.username_entry.set_activates_default(True)
+ table.attach(username, 0, 1, 4, 5, yoptions=False, xoptions=gtk.FILL)
+ table.attach(self.username_entry, 1, 2, 4, 5, yoptions=False)
+ hpaned.add2(table)
+ hpaned.set_position(250)
+
+ self.dialog.vbox.pack_start(hpaned)
+ self.dialog.set_default_size(640, 350)
+ self.dialog.set_default_response(gtk.RESPONSE_ACCEPT)
+
+ def run(self, profile_name):
+ self.dialog.show_all()
+ self.clear_entries()
+ model = self.profile_tree.get_model()
+ if model:
+ for i, row in enumerate(model):
+ if row[0] == profile_name:
+ break
+ else:
+ i = 0
+ self.profile_tree.get_selection().select_path((i,))
+ self.profile_selected(self.profile_tree)
+ self.dialog.run()
+ self.parent.present()
+ self.dialog.destroy()
+ return self.current_profile['name']
+
+ def _current_profile(self):
+ model, selection = self.profile_tree.get_selection().get_selected()
+ if not selection:
+ return {'name': None, 'iter': None}
+ return {'name': model[selection][0], 'iter': selection}
+
+ def clear_entries(self):
+ for entryname in ('host', 'port', 'database', 'username'):
+ entry = getattr(self, '%s_entry' % entryname)
+ if entryname == 'port':
+ entry.set_text('8070')
+ else:
+ entry.set_text('')
+ self.current_database = None
+ self.database_combo.set_active(-1)
+ self.database_combo.get_model().clear()
+ self.hide_database_info()
+
+ def hide_database_info(self):
+ self.database_entry.hide()
+ self.database_combo.hide()
+ self.database_label.hide()
+ self.database_button.hide()
+ self.database_progressbar.hide()
+
+ def profile_create(self, button):
+ self.clear_entries()
+ model = self.profile_tree.get_model()
+ selection = self.profile_tree.get_selection()
+ model.append(['', False])
+ column = self.profile_tree.get_column(0)
+ self.profile_tree.set_cursor(len(model)-1, column, start_editing=True)
+
+ def profile_delete(self, button):
+ self.clear_entries()
+ model, selection = self.profile_tree.get_selection().get_selected()
+ if not selection:
+ return
+ profile_name = model[selection][0]
+ self.profiles.remove_section(profile_name)
+ del model[selection]
+
+ def profile_selected(self, treeview):
+ self.old_profile = self.current_profile
+ self.current_profile = self._current_profile()
+ if not self.current_profile['name']:
+ return
+ if self.updating_db:
+ self.current_profile = self.old_profile
+ selection = treeview.get_selection()
+ selection.select_iter(self.old_profile['iter'])
+ return
+ fields = ('host', 'port', 'database', 'username')
+ for field in fields:
+ entry = getattr(self, '%s_entry' % field)
+ try:
+ entry_value = self.profiles.get(self.current_profile['name'],
+ field)
+ except ConfigParser.NoOptionError:
+ entry_value = ''
+ entry.set_text(entry_value)
+ if field == 'database':
+ self.current_database = entry_value
+
+ self.display_dbwidget(None, None, self.current_database)
+
+ def edit_canceled(self, renderer):
+ model = self.profile_tree.get_model()
+ for i, row in enumerate(list(model)):
+ if not row[0]:
+ del model[i]
+
+ def check_edit_cancel(self, editable, event, renderer, path):
+ renderer.emit('edited', path, editable.get_text())
+ return False
+
+ def edit_started(self, renderer, editable, path):
+ if isinstance(editable, gtk.Entry):
+ editable.connect('focus-out-event', self.check_edit_cancel,
+ renderer, path)
+
+ def edit_profilename(self, renderer, path, newtext):
+ model = self.profile_tree.get_model()
+ oldname = model[path][0]
+ if oldname == newtext == '':
+ del model[path]
+ return
+ elif oldname == newtext or newtext == '':
+ return
+ if newtext in self.profiles.sections():
+ del model[path]
+ return
+ elif oldname in self.profiles.sections():
+ self.profiles.add_section(newtext)
+ for itemname, value in self.profiles.items(oldname):
+ self.profiles.set(newtext, itemname, value)
+ self.profiles.remove_section(oldname)
+ model[path][0] = newtext
+ else:
+ model[path][0] = newtext
+ self.profiles.add_section(newtext)
+ self.current_profile = self._current_profile()
+ self.host_entry.grab_focus()
+
+ def update_profiles(self, editable, entryname):
+ new_value = editable.get_text()
+ if not new_value:
+ return
+ section = self._current_profile()['name']
+ self.profiles.set(section, entryname, new_value)
+ self.validate_profile(section)
+
+ def validate_profile(self, profile_name):
+ model, selection = self.profile_tree.get_selection().get_selected()
+ if not selection:
+ return
+ active = all(self.profiles.has_option(profile_name, option)
+ for option in ('host', 'port', 'database'))
+ model[selection][1] = active
+
+ def display_dbwidget(self, entry, event, dbname=None):
+ host = self.host_entry.get_text()
+ port = self.port_entry.get_text()
+ if not (host and port):
+ return
+ if dbname is None:
+ dbname = self.current_database
+
+ dbprogress = common.DBProgress(host, int(port))
+ self.hide_database_info()
+ self.add_button.set_sensitive(False)
+ self.remove_button.set_sensitive(False)
+ self.ok_button.set_sensitive(False)
+ self.cell.set_property('editable', False)
+ self.updating_db = True
+ dbs, createdb = dbprogress.update(self.database_combo,
+ self.database_progressbar, dbname)
+ self.updating_db = False
+
+ if dbs is None and createdb is None:
+ pass
+ elif dbs is None or dbs == -1:
+ if dbs is None:
+ label = _(u'Could not connect to the server')
+ else:
+ label = _(u'Incompatible version of the server')
+ self.database_label.set_label('<b>%s</b>' % label)
+ self.database_label.show()
+ elif dbs == 0:
+ if createdb:
+ self.database_button.show()
+ else:
+ self.database_entry.show()
+ else:
+ self.database_entry.set_text(dbname if dbname else '')
+ self.database_combo.show()
+
+ self.add_button.set_sensitive(True)
+ self.remove_button.set_sensitive(True)
+ self.ok_button.set_sensitive(True)
+ self.cell.set_property('editable', True)
+
+ def db_create(self, button):
+ if not self.current_profile['name']:
+ return
+ host = self.host_entry.get_text()
+ port = int(self.port_entry.get_text())
+ dia = DBCreate(host, port)
+ dbname = dia.run(self.dialog)
+ self.username_entry.set_text('admin')
+ self.display_dbwidget(None, None, dbname)
+
+ def dbcombo_changed(self, combobox):
+ dbname = combobox.get_active_text()
+ if dbname:
+ self.current_database = dbname
+ self.profiles.set(self.current_profile['name'], 'database', dbname)
+ self.validate_profile(self.current_profile['name'])
+
+ def dbentry_changed(self, entry):
+ dbname = entry.get_text()
+ if dbname:
+ self.current_database = dbname
+ self.profiles.set(self.current_profile['name'], 'database', dbname)
+ self.validate_profile(self.current_profile['name'])
+
+
class DBLogin(object):
def __init__(self, parent):
+ # GTK Stuffs
self.dialog = gtk.Dialog(title=_('Login'), parent=parent,
flags=gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
self.dialog.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
@@ -25,7 +359,8 @@ class DBLogin(object):
img_cancel = gtk.Image()
img_cancel.set_from_stock('tryton-cancel', gtk.ICON_SIZE_BUTTON)
button_cancel.set_image(img_cancel)
- tooltips.set_tip(button_cancel, _('Cancel connection to the Tryton server'))
+ tooltips.set_tip(button_cancel,
+ _('Cancel connection to the Tryton server'))
self.dialog.add_action_widget(button_cancel, gtk.RESPONSE_CANCEL)
self.button_connect = gtk.Button(_('C_onnect'))
img_connect = gtk.Image()
@@ -35,186 +370,222 @@ class DBLogin(object):
tooltips.set_tip(self.button_connect, _('Connect the Tryton server'))
self.dialog.add_action_widget(self.button_connect, gtk.RESPONSE_OK)
self.dialog.set_default_response(gtk.RESPONSE_OK)
+ alignment = gtk.Alignment(yalign=0, yscale=0, xscale=1)
+ self.table_main = gtk.Table(3, 3, False)
+ self.table_main.set_border_width(0)
+ self.table_main.set_row_spacings(3)
+ self.table_main.set_col_spacings(3)
+ alignment.add(self.table_main)
+ self.dialog.vbox.pack_start(alignment, True, True, 0)
+
image = gtk.Image()
- image.set_from_file(os.path.join(PIXMAPS_DIR, 'tryton.png'))
+ image.set_from_file(os.path.join(PIXMAPS_DIR,
+ 'tryton.png').decode('utf-8'))
image.set_alignment(0.5, 1)
ebox = gtk.EventBox()
ebox.modify_bg(gtk.STATE_NORMAL, gtk.gdk.color_parse("#1b2019"))
ebox.add(image)
- self.dialog.vbox.pack_start(ebox)
- table_main = gtk.Table(4, 3, False)
- table_main.set_border_width(10)
- table_main.set_row_spacings(3)
- table_main.set_col_spacings(3)
- self.dialog.vbox.pack_start(table_main, True, True, 0)
- vbox_combo = gtk.VBox()
- self.hbox_combo = gtk.HBox()
- self.combo_database = gtk.ComboBox()
- self.combo_label = gtk.Label()
- self.combo_label.set_use_markup(True)
- self.combo_label.set_alignment(0, 0.5)
- self.combo_button = gtk.Button(_('C_reate'))
- self.combo_button.connect('clicked', self.db_create)
+ self.table_main.attach(ebox, 0, 3, 0, 1, ypadding=2)
+
+ self.profile_store = gtk.ListStore(gobject.TYPE_STRING,
+ gobject.TYPE_BOOLEAN)
+ self.combo_profile = gtk.ComboBox()
+ cell = gtk.CellRendererText()
+ self.combo_profile.pack_start(cell, True)
+ self.combo_profile.add_attribute(cell, 'text', 0)
+ self.combo_profile.add_attribute(cell, 'sensitive', 1)
+ self.combo_profile.set_model(self.profile_store)
+ self.combo_profile.connect('changed', self.profile_changed)
+ self.combo_profile.connect('move-active', self.profile_move_active)
+ self.move_active = False
+ self.profile_label = gtk.Label(_(u'Profile:'))
+ self.profile_label.set_justify(gtk.JUSTIFY_RIGHT)
+ self.profile_label.set_alignment(1, 0.5)
+ self.profile_label.set_padding(3, 3)
+ self.profile_button = gtk.Button(_('_Manage profiles'))
+ self.profile_button.connect('clicked', self.profile_manage)
+ self.table_main.attach(self.profile_label, 0, 1, 1, 2,
+ xoptions=gtk.FILL)
+ self.table_main.attach(self.combo_profile, 1, 2, 1, 2)
+ self.table_main.attach(self.profile_button, 2, 3, 1, 2,
+ xoptions=gtk.FILL)
image = gtk.Image()
- image.set_from_stock('tryton-new', gtk.ICON_SIZE_BUTTON)
- self.combo_button.set_image(image)
- vbox_combo.pack_start(self.combo_database, True, True, 0)
- self.hbox_combo.pack_start(self.combo_label, True, True, 0)
- self.hbox_combo.pack_start(self.combo_button, False, False, 0)
- vbox_combo.pack_start(self.hbox_combo, True, True, 0)
- table_main.attach(vbox_combo, 1, 3, 1, 2)
+ image.set_from_stock('gtk-edit', gtk.ICON_SIZE_BUTTON)
+ self.profile_button.set_image(image)
+ self.expander = gtk.Expander(_('Host / Database information'))
+ self.expander.connect('notify::expanded', self.expand_hostspec)
+ self.table_main.attach(self.expander, 0, 3, 3, 4)
+ self.label_host = gtk.Label(_('Host:'))
+ self.label_host.set_justify(gtk.JUSTIFY_RIGHT)
+ self.label_host.set_alignment(1, 0.5)
+ self.label_host.set_padding(3, 3)
+ self.entry_host = gtk.Entry()
+ self.entry_host.connect_after('focus-out-event', self.clear_profile_combo)
+ self.table_main.attach(self.label_host, 0, 1, 4, 5, xoptions=gtk.FILL)
+ self.table_main.attach(self.entry_host, 1, 3, 4, 5)
+ self.label_database = gtk.Label(_('Database:'))
+ self.label_database.set_justify(gtk.JUSTIFY_RIGHT)
+ self.label_database.set_alignment(1, 0.5)
+ self.label_database.set_padding(3, 3)
+ self.entry_database = gtk.Entry()
+ self.entry_database.connect_after('focus-out-event', self.clear_profile_combo)
+ self.table_main.attach(self.label_database, 0, 1, 5, 6,
+ xoptions=gtk.FILL)
+ self.table_main.attach(self.entry_database, 1, 3, 5, 6)
self.entry_password = gtk.Entry()
self.entry_password.set_visibility(False)
self.entry_password.set_activates_default(True)
- table_main.attach(self.entry_password, 1, 3, 3, 4)
+ self.table_main.attach(self.entry_password, 1, 3, 7, 8)
self.entry_login = gtk.Entry()
self.entry_login.set_activates_default(True)
- table_main.attach(self.entry_login, 1, 3, 2, 3)
- self.label_server = gtk.Label()
- self.label_server.set_text(_("Server:"))
- self.label_server.set_alignment(1, 0.5)
- self.label_server.set_padding(3, 3)
- table_main.attach(self.label_server, 0, 1, 0, 1, xoptions=gtk.FILL)
- label_database = gtk.Label()
- label_database.set_text(_("Database:"))
- label_database.set_alignment(1, 0.5)
- label_database.set_padding(3, 3)
- table_main.attach(label_database, 0, 1, 1, 2, xoptions=gtk.FILL)
- self.entry_server = gtk.Entry()
- table_main.attach(self.entry_server, 1, 2, 0, 1)
- self.entry_server.set_sensitive(False)
- self.entry_server.unset_flags(gtk.CAN_FOCUS)
- self.entry_server.set_editable(False)
- self.entry_server.set_text("localhost")
- self.entry_server.set_activates_default(True)
- self.entry_server.set_width_chars(16)
- self.button_server = gtk.Button(label=_("C_hange"), stock=None,
- use_underline=True)
- tooltips.set_tip(self.button_server,
- _('Configure the Tryton server connection'))
- table_main.attach(self.button_server, 2, 3, 0, 1, xoptions=gtk.FILL)
+ self.table_main.attach(self.entry_login, 1, 3, 6, 7)
label_password = gtk.Label(str = _("Password:"))
label_password.set_justify(gtk.JUSTIFY_RIGHT)
label_password.set_alignment(1, 0.5)
label_password.set_padding(3, 3)
- table_main.attach(label_password, 0, 1, 3, 4, xoptions=gtk.FILL)
+ self.table_main.attach(label_password, 0, 1, 7, 8, xoptions=gtk.FILL)
label_username = gtk.Label(str = _("User name:"))
label_username.set_alignment(1, 0.5)
label_username.set_padding(3, 3)
- table_main.attach(label_username, 0, 1, 2, 3, xoptions=gtk.FILL)
- self.entry_password.grab_focus()
-
- @staticmethod
- def refreshlist(widget, db_widget, label, button, host, port,
- butconnect=None):
- res = common.refresh_dblist(db_widget, host, port)
- if res is None or res == -1:
- if res is None:
- label.set_label('<b>' + _('Could not connect to server!') + \
- '</b>')
- else:
- label.set_label('<b>' + \
- _('Incompatible version of the server!') + '</b>')
- db_widget.hide()
- label.show()
- button.hide()
- if butconnect:
- butconnect.set_sensitive(False)
- elif res == 0:
- label.set_label('<b>' + \
- _('No database found, you must create one!') + '</b>')
- db_widget.hide()
- label.show()
- button.show()
- if butconnect:
- butconnect.set_sensitive(False)
+ self.table_main.attach(label_username, 0, 1, 6, 7, xoptions=gtk.FILL)
+
+ # Profile informations
+ self.profile_cfg = os.path.join(get_config_dir(), 'profiles.cfg')
+ self.profiles = ConfigParser.SafeConfigParser({'port': '8070'})
+ if not os.path.exists(self.profile_cfg):
+ short_version = '.'.join(VERSION.split('.', 2)[:2])
+ name = 'demo%s.tryton.org' % short_version
+ self.profiles.add_section(name)
+ self.profiles.set(name, 'host', name)
+ self.profiles.set(name, 'port', '8070')
+ self.profiles.set(name, 'database', 'demo%s' % short_version)
+ self.profiles.set(name, 'username', 'demo')
else:
- label.hide()
- button.hide()
- db_widget.show()
- if butconnect:
- butconnect.set_sensitive(True)
- return res
-
- @staticmethod
- def refreshlist_ask(widget, server_widget, db_widget, label, button,
- butconnect=False, host=False, port=0, parent=None):
- res = common.request_server(server_widget, parent) or (host, port)
- if not res:
- return False
- host, port = res
- res = DBLogin.refreshlist(widget, db_widget, label, button, host, port,
- butconnect)
- if res:
- CONFIG['login.server'] = host
- CONFIG['login.port'] = port
- return res
-
- def db_create(self, widget):
- dia = DBCreate()
- dia.run(self.dialog)
- host = CONFIG['login.server']
- port = int(CONFIG['login.port'])
- DBLogin.refreshlist(None, self.combo_database,
- self.combo_label, self.combo_button, host, port,
- self.button_connect)
- return
-
- def run(self, dbname, parent):
- self.dialog.show_all()
- self.combo_label.hide()
- self.combo_button.hide()
+ self.profiles.read(self.profile_cfg)
+ for section in self.profiles.sections():
+ active = all(self.profiles.has_option(section, option)
+ for option in ('host', 'port', 'database'))
+ self.profile_store.append([section, active])
- if not CONFIG['login.host']:
- self.label_server.hide()
- self.entry_server.hide()
- self.button_server.hide()
+ def profile_manage(self, widget):
+ dia = DBListEditor(self.dialog, self.profile_store, self.profiles)
+ active_profile = self.combo_profile.get_active()
+ profile_name = None
+ if active_profile != -1:
+ profile_name = self.profile_store[active_profile][0]
+ profile_name = dia.run(profile_name)
+ with open(self.profile_cfg, 'wb') as configfile:
+ self.profiles.write(configfile)
- host = CONFIG['login.server']
- port = int(CONFIG['login.port'])
+ for idx, row in enumerate(self.profile_store):
+ if row[0] == profile_name:
+ self.combo_profile.set_active(idx)
+ self.profile_changed(self.combo_profile)
+ break
- url = '%s:%d' % (host, port)
- self.entry_server.set_text(url)
- self.entry_login.set_text(CONFIG['login.login'])
+ def profile_changed(self, combobox):
+ position = combobox.get_active()
+ if position == -1:
+ return
+ profile = self.profile_store[position][0]
+ try:
+ username = self.profiles.get(profile, 'username')
+ except ConfigParser.NoOptionError:
+ username = ''
+ host = self.profiles.get(profile, 'host')
+ port = self.profiles.get(profile, 'port')
+ self.entry_host.set_text('%s:%s' % (host, port))
+ self.entry_database.set_text(self.profiles.get(profile, 'database'))
+ if username:
+ self.entry_login.set_text(username)
+ focus_widget = self.entry_password
+ else:
+ self.entry_login.set_text('')
+ focus_widget = self.entry_login
+ if not self.move_active:
+ focus_widget.grab_focus()
+ self.move_active = False
- # construct the list of available db and select the last one used
- liststore = gtk.ListStore(str)
- self.combo_database.set_model(liststore)
- cell = gtk.CellRendererText()
- self.combo_database.pack_start(cell, True)
- self.combo_database.add_attribute(cell, 'text', 0)
+ def profile_move_active(self, combobox, scrolltype):
+ self.move_active = True
- res = self.refreshlist(None, self.combo_database, self.combo_label,
- self.combo_button, host, port, self.button_connect)
+ def clear_profile_combo(self, entry, event):
+ host_entry = self.entry_host.get_text()
+ host, port = host_entry.split(':', 1) if ':' in host_entry else ('', '')
+ database = self.entry_database.get_text().strip()
+ for idx, profile_info in enumerate(self.profile_store):
+ profile = profile_info[0]
+ if (host == self.profiles.get(profile, 'host')
+ and port == self.profiles.get(profile, 'port')
+ and database == self.profiles.get(profile, 'database')):
+ break
+ else:
+ idx = -1
+ self.combo_profile.set_active(idx)
- self.button_server.connect_after('clicked', DBLogin.refreshlist_ask,
- self.entry_server, self.combo_database, self.combo_label,
- self.combo_button, self.button_connect, host, port, self.dialog)
- if dbname:
- i = liststore.get_iter_root()
- while i:
- if liststore.get_value(i, 0)==dbname:
- self.combo_database.set_active_iter(i)
+ def expand_hostspec(self, expander, *args):
+ visibility = expander.props.expanded
+ self.entry_host.props.visible = visibility
+ self.label_host.props.visible = visibility
+ self.entry_database.props.visible = visibility
+ self.label_database.props.visible = visibility
+
+ def run(self, parent):
+ profile_name = CONFIG['login.profile']
+ can_use_profile = self.profiles.has_section(profile_name)
+ if can_use_profile:
+ for (configname, sectionname) in (('login.server', 'host'),
+ ('login.port', 'port'), ('login.db', 'database')):
+ if (self.profiles.get(profile_name, sectionname) != \
+ CONFIG[configname]):
+ can_use_profile = False
break
- i = liststore.iter_next(i)
+
+ if can_use_profile:
+ for idx, row in enumerate(self.profile_store):
+ if row[0] == profile_name:
+ self.combo_profile.set_active(idx)
+ break
+ else:
+ self.combo_profile.set_active(-1)
+ self.entry_host.set_text('%s:%s' % (CONFIG['login.server'],
+ CONFIG['login.port']))
+ db = CONFIG['login.db'] if CONFIG['login.db'] else ''
+ self.entry_database.set_text(db)
+ self.entry_login.set_text(CONFIG['login.login'])
+ self.dialog.show_all()
+
+ if not self.entry_login.get_text():
+ self.entry_login.grab_focus()
+ else:
+ self.entry_password.grab_focus()
# Reshow dialog for gtk-quarks
self.dialog.reshow_with_initial_size()
- res = self.dialog.run()
- url_m = re.match('^([\w.:\-\d]+):(\d{1,5})$',
- self.entry_server.get_text() or '')
- if url_m:
- CONFIG['login.server'] = url_m.group(1)
- CONFIG['login.login'] = self.entry_login.get_text()
- CONFIG['login.port'] = url_m.group(2)
- CONFIG['login.db'] = self.combo_database.get_active_text()
+ self.expander.set_expanded(CONFIG['login.expanded'])
+ # The previous action did not called expand_hostspec
+ self.expand_hostspec(self.expander)
+
+ res, result = None, ('', '', '', '', '')
+ while not (res in (gtk.RESPONSE_CANCEL, gtk.RESPONSE_DELETE_EVENT)
+ or (res == gtk.RESPONSE_OK and all(result))):
+ res = self.dialog.run()
+ active_profile = self.combo_profile.get_active()
+ if active_profile != -1:
+ profile = self.profile_store[active_profile][0]
+ CONFIG['login.profile'] = profile
+ host, port = (self.entry_host.get_text().split(':', 1)
+ + ['8070'])[:2]
+ database = self.entry_database.get_text()
+ login = self.entry_login.get_text()
+ CONFIG['login.server'] = host
+ CONFIG['login.port'] = port
+ CONFIG['login.db'] = database
+ CONFIG['login.expanded'] = self.expander.props.expanded
+ CONFIG['login.login'] = login
result = (self.entry_login.get_text(),
- self.entry_password.get_text(), url_m.group(1),
- int(url_m.group(2)), self.combo_database.get_active_text())
- else:
- parent.present()
- self.dialog.destroy()
- raise Exception('QueryCanceled')
+ self.entry_password.get_text(), host, int(port), database)
+
if res != gtk.RESPONSE_OK:
parent.present()
self.dialog.destroy()
diff --git a/tryton/gui/window/dbrestore.py b/tryton/gui/window/dbrestore.py
index 48cdc7f..9d3b8e9 100644
--- a/tryton/gui/window/dbrestore.py
+++ b/tryton/gui/window/dbrestore.py
@@ -1,5 +1,7 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of this
# repository contains the full copyright notices and license terms.
+from __future__ import with_statement
+
import gtk
import gobject
import gettext
@@ -39,14 +41,6 @@ class DBRestore(object):
- Allowed characters are alpha-nummeric [A-Za-z0-9] and underscore (_)
- First character must be a letter
"""
- def _move_cursor(entry, pos):
- """
- Helper function for entry_insert_text. It is used to position
- the cursor for right and wron inputs correctly.
- """
- entry.set_position(pos)
- return False
-
if (new_text.isalnum() or new_text == '_' ):
_hid = entry.get_data('handlerid')
entry.handler_block(_hid)
@@ -55,7 +49,11 @@ class DBRestore(object):
new_text = ""
_pos = entry.insert_text(new_text, _pos)
entry.handler_unblock(_hid)
- gobject.idle_add(_move_cursor, entry, _pos)
+ def _move_cursor():
+ with gtk.gdk.lock:
+ entry.set_position(_pos)
+ return False
+ gobject.idle_add(_move_cursor)
entry.stop_emission("insert-text")
def __init__(self, parent=None, filename=None):
@@ -175,16 +173,8 @@ class DBRestore(object):
self.dialog.set_transient_for(parent)
self.dialog.show_all()
- if not CONFIG['login.host']:
- self.label_server_url.hide()
- self.entry_server_url.hide()
- self.button_server_change.hide()
- self.label_server_password.hide()
- self.entry_server_password.hide()
- self.hseparator.hide()
-
- url = '%s:%d' % (CONFIG['login.server'], int(CONFIG['login.port']))
- self.entry_server_url.set_text(url)
+ self.entry_server_url.set_text('%(login.server)s:%(login.port)s' %
+ CONFIG)
while True:
database = False
passwd = False
diff --git a/tryton/gui/window/form.py b/tryton/gui/window/form.py
index 0ed7ffe..7f973a4 100644
--- a/tryton/gui/window/form.py
+++ b/tryton/gui/window/form.py
@@ -27,13 +27,13 @@ _ = gettext.gettext
class Form(SignalEvent):
"Form"
- def __init__(self, model, window, res_id=False, domain=None, view_type=None,
+ def __init__(self, model, window, res_id=False, domain=None, mode=None,
view_ids=None, context=None, name=False, limit=None,
auto_refresh=False, search_value=None):
super(Form, self).__init__()
- if not view_type:
- view_type = ['tree', 'form']
+ if not mode:
+ mode = ['tree', 'form']
if domain is None:
domain = []
if view_ids is None:
@@ -49,7 +49,7 @@ class Form(SignalEvent):
self.widget = gtk.VBox(spacing=3)
self.widget.show()
- self.screen = Screen(self.model, self.window, view_type=view_type,
+ self.screen = Screen(self.model, self.window, mode=mode,
context=self.context, view_ids=view_ids, domain=domain,
limit=limit, readonly=bool(auto_refresh),
search_value=search_value)
@@ -110,6 +110,9 @@ class Form(SignalEvent):
self.widget.pack_start(eb, expand=False, fill=True, padding=3)
+ self.toolbar_box = gtk.HBox()
+ self.widget.pack_start(self.toolbar_box, False, True)
+
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_NONE)
viewport.add(self.screen.widget)
@@ -198,12 +201,15 @@ class Form(SignalEvent):
self.window.present()
def destroy(self):
+ if self.toolbar_box.get_children():
+ toolbar = self.toolbar_box.get_children()[0]
+ self.toolbar_box.remove(toolbar)
self.screen.signal_unconnect(self)
self.screen.destroy()
self.screen = None
self.widget = None
- self.scrolledwindow.destroy()
- self.scrolledwindow = None
+ #self.scrolledwindow.destroy()
+ #self.scrolledwindow = None
def sel_ids_get(self):
return self.screen.sel_ids_get()
@@ -291,7 +297,7 @@ class Form(SignalEvent):
else:
msg = _('Are you sure to remove those records?')
if sur(msg, self.window):
- if not self.screen.remove(delete=True):
+ if not self.screen.remove(delete=True, force_remove=True):
self.message_info(_('Records not removed!'))
else:
self.message_info(_('Records removed!'), 'green')
@@ -361,7 +367,7 @@ class Form(SignalEvent):
def sig_reload(self, test_modified=True):
if not hasattr(self, 'screen'):
return False
- if test_modified and self.screen.is_modified():
+ if test_modified and self.screen.modified():
res = sur_3b(_('This record has been modified\n' \
'do you want to save it ?'), self.window)
if res == 'ok':
@@ -441,7 +447,7 @@ class Form(SignalEvent):
def _record_message(self, screen, signal_data):
name = '_'
if signal_data[0] >= 0:
- name = str(signal_data[0] + 1)
+ name = str(signal_data[0])
msg = name + ' / ' + str(signal_data[1])
if signal_data[1] < signal_data[2]:
msg += _(' of ') + str(signal_data[2])
@@ -455,7 +461,7 @@ class Form(SignalEvent):
self.signal('attachment-count', signal_data)
def modified_save(self, reload=True):
- if self.screen.is_modified():
+ if self.screen.modified():
value = sur_3b(
_('This record has been modified\n' \
'do you want to save it ?'),
diff --git a/tryton/gui/window/preference.py b/tryton/gui/window/preference.py
index 98ffe57..7d1dd42 100644
--- a/tryton/gui/window/preference.py
+++ b/tryton/gui/window/preference.py
@@ -37,10 +37,10 @@ class Preference(object):
args = ('model', 'res.user', 'get_preferences_fields_view',
rpc.CONTEXT)
try:
- res = rpc.execute(*args)
+ view = rpc.execute(*args)
except Exception, exception:
- res = common.process_exception(exception, parent, *args)
- if not res:
+ view = common.process_exception(exception, parent, *args)
+ if not view:
self.win.destroy()
self.win = None
return
@@ -48,11 +48,9 @@ class Preference(object):
title = gtk.Label(_('Edit User Preferences'))
title.show()
self.win.vbox.pack_start(title, expand=False, fill=True)
- arch = res['arch']
- fields = res['fields']
- self.screen = Screen('res.user', self.win, view_type=[])
+ self.screen = Screen('res.user', self.win, mode=[])
self.screen.new(default=False)
- self.screen.add_view(arch, fields, display=True)
+ self.screen.add_view(view)
args = ('model', 'res.user', 'get_preferences', False, rpc.CONTEXT)
try:
@@ -63,6 +61,9 @@ class Preference(object):
self.win.destroy()
raise
self.screen.current_record.set(preferences)
+ self.screen.current_record.validate(softvalidation=True)
+ self.screen.screen_container.set(self.screen.current_view.widget)
+ self.screen.display(set_cursor=True)
width, height = self.screen.screen_container.size_get()
parent_width, parent_height = parent.get_size()
diff --git a/tryton/gui/window/shortcuts.py b/tryton/gui/window/shortcuts.py
index cfcf779..bdbb00f 100644
--- a/tryton/gui/window/shortcuts.py
+++ b/tryton/gui/window/shortcuts.py
@@ -24,17 +24,22 @@ class Shortcuts(object):
self.dialog.vbox.pack_start(notebook)
shortcuts = [
- (_('Text Entries Shortcuts'),),
- ('<Ctrl> + X', _('Cut selected text')),
- ('<Ctrl> + C', _('Copy selected text')),
- ('<Ctrl> + V', _('Paste copied text')),
- ('<Tab>', _('Next widget')),
- ('<Shift> + <Tab>', _('Previous widget')),
- (_('Relation Entries Shortcuts'),),
- ('<F3>', _('Create new relation')),
- ('<F2>', _('Open/Search relation')),
- (_('Date/Datetime Entries Shortcuts'),),
- (_('''You can use special operators:
+ (_('Text Entries Shortcuts'),),
+ ('<Ctrl> + X', _('Cut selected text')),
+ ('<Ctrl> + C', _('Copy selected text')),
+ ('<Ctrl> + V', _('Paste copied text')),
+ ('<Tab>', _('Next widget')),
+ ('<Shift> + <Tab>', _('Previous widget')),
+ (_('Relation Entries Shortcuts'),),
+ ('<F3>', _('Create new relation')),
+ ('<F2>', _('Open/Search relation')),
+ (_('List Entries Shortcuts'),),
+ ('<F3>', _('Create new line')),
+ ('<F2>', _('Open relation')),
+ ('<Del>', _('Mark line for deletion')),
+ ('<Ins>', _('Unmark line for deletion')),
+ (_('Date/Datetime Entries Shortcuts'),),
+ (_('''You can use special operators:
* + to increase the date
* - to decrease the date or clear
* = to set the date or the current date
@@ -49,8 +54,8 @@ y for years
Examples:
"+21d" increase of 21 days the date
"=11m" set the date to the 11th month of the year
-"-2w" decrease of 2 weeks the date'''),)
- ]
+"-2w" decrease of 2 weeks the date'''),),
+ ]
notebook.append_page(self._fill_table(shortcuts),
gtk.Label(_('Edition Widgets')))
diff --git a/tryton/gui/window/tree.py b/tryton/gui/window/tree.py
deleted file mode 100644
index 424c241..0000000
--- a/tryton/gui/window/tree.py
+++ /dev/null
@@ -1,410 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-"Tree"
-import gtk
-import gettext
-import tryton.common as common
-from tryton.gui.window.view_tree import ViewTree, ViewTreeSC
-import tryton.rpc as rpc
-from tryton.config import CONFIG
-from tryton.gui.window.win_export import WinExport
-from window import Window
-from tryton.action import Action
-from tryton.signal_event import SignalEvent
-
-_ = gettext.gettext
-
-class Tree(SignalEvent):
- "Tree page"
-
- def __init__(self, model, window, res_id=False, view_id=False, domain=None,
- context=None, name=False):
- super(Tree, self).__init__()
- if domain is None:
- domain = {}
- if context is None:
- context = {}
- ctx = {}
- ctx.update(context)
- ctx.update(rpc.CONTEXT)
- if view_id:
- try:
- view_base = rpc.execute('model', 'ir.ui.view', 'read', view_id,
- ['model', 'type'], ctx)
- except Exception, exception:
- common.process_exception(exception, window)
- raise
- try:
- view = rpc.execute('model', view_base['model'],
- 'fields_view_get', view_id, view_base['type'], ctx)
- except Exception, exception:
- common.process_exception(exception, window)
- raise
- else:
- try:
- view = rpc.execute('model', model, 'fields_view_get', False,
- 'tree', ctx)
- except Exception, exception:
- common.process_exception(exception, window)
- raise
-
- self.widget = gtk.VBox()
-
- hpaned = gtk.HPaned()
- hpaned.set_position(220)
-
- self.toolbar_vpaned = gtk.VPaned()
- self.toolbar_vpaned.set_position(400)
-
- self.toolbar = gtk.Toolbar()
- self.toolbar.set_orientation(gtk.ORIENTATION_VERTICAL)
- self.toolbar.set_style(gtk.TOOLBAR_BOTH_HORIZ)
- self.toolbar_vpaned.add1(self.toolbar)
-
- self.toolbar_vpaned.add1(self.toolbar_vpaned)
-
- scrolledwindow = gtk.ScrolledWindow()
- scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- viewport = gtk.Viewport()
- viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
-
- vbox = gtk.VBox()
-
- toolbar = gtk.Toolbar()
- toolbar.set_style(gtk.TOOLBAR_ICONS)
- toolitem = gtk.ToolItem()
- self.toolitem_label = gtk.Label()
- toolitem.add(self.toolitem_label)
- toolbar.insert(toolitem, -1)
- addbutton = gtk.ToolButton('tryton-list-add')
- addbutton.connect('clicked', self.sc_add)
- toolbar.insert(addbutton, -1)
- removebutton = gtk.ToolButton('tryton-list-remove')
- removebutton.connect('clicked', self.sc_del)
- toolbar.insert(removebutton, -1)
- vbox.pack_start(toolbar, expand=False)
-
- self.treeview_sc = gtk.TreeView()
- self.treeview_sc.set_reorderable(False)
- self.treeview_sc.set_headers_visible(False)
- vbox.pack_start(self.treeview_sc)
-
- viewport.add(vbox)
-
- scrolledwindow.add(viewport)
-
- self.toolbar_vpaned.add2(scrolledwindow)
-
- hpaned.add1(self.toolbar_vpaned)
-
- viewport = gtk.Viewport()
- viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
-
- self.scrolledwindow = gtk.ScrolledWindow()
- self.scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
- gtk.POLICY_AUTOMATIC)
- viewport.add(self.scrolledwindow)
-
- hpaned.add2(viewport)
-
- self.widget.pack_start(hpaned)
- self.widget.show_all()
-
- self.model = view['model'] or model
- self.domain2 = domain
- if view.get('field_childs', False):
- self.domain = []
- else:
- self.domain = domain
- self.view = view
- self.window = window
-
- self.context = context
-
- self.tree_res = ViewTree(view, [], self.window, True,
- context=context)
- self.tree_res.view.connect('row-activated', self.sig_activate)
- self.tree_res.view.connect('key_press_event', self.sig_key_press)
- self.tree_res.view.connect_after('test-expand-row',
- self.sig_test_expand_row)
-
- if not name:
- self.name = self.tree_res.name
- else:
- self.name = name
-
- if CONFIG['client.modepda']:
- self.toolbar_vpaned.hide()
-
- self.treeview_sc.connect('row-activated', self.sc_go)
- self.tree_sc = ViewTreeSC(self.treeview_sc, self.model, self.window)
- self.handlers = {
- 'but_new': self.sig_new,
- 'but_reload': self.sig_reload,
- 'but_switch': self.sig_edit,
- 'but_action': self.sig_action,
- 'but_print': self.sig_print,
- 'but_save_as': self.sig_save_as,
- 'but_close': self.sig_close,
- }
-
- self.scrolledwindow.add(self.tree_res.widget_get())
- self.sig_reload()
-
- self.tree_res.view.grab_focus()
- if self.tree_res.view.get_model().get_iter_root():
- self.tree_res.view.grab_focus()
- selection = self.tree_res.view.get_selection()
- selection.select_path((0))
-
- def sig_reload(self, widget=None):
- self.toolitem_label.set_text(_('Shortcuts'))
- try:
- ctx = {}
- ctx.update(self.context)
- ctx.update(rpc.CONTEXT)
- args = ('model', self.model, 'search', self.domain2, 0, None,
- None, ctx)
- ids = rpc.execute(*args)
- except Exception, exception:
- ids = common.process_exception(exception, self.window, *args)
- if not ids:
- return
- if self.tree_res.toolbar and not CONFIG['client.modepda']:
-
- icon_name = 'icon'
- for child in self.toolbar.get_children():
- self.toolbar.remove(child)
- ctx = {}
- ctx.update(rpc.CONTEXT)
- try:
- args = ('model', self.view['model'], 'read', ids,
- ['name', icon_name], ctx)
- results = rpc.execute(*args)
- except Exception, exception:
- results = common.process_exception(exception, self.window, *args)
- if not results:
- return
- results.sort(lambda x, y: cmp(ids.index(x['id']),
- ids.index(y['id'])))
- radiotb = None
- for res in results:
- radiotb = gtk.RadioToolButton(group=radiotb)
- radiotb.set_label_widget(gtk.Label(res['name']))
-
- icon = gtk.Image()
- try:
- icon.set_from_stock(res[icon_name],
- gtk.ICON_SIZE_BUTTON)
- except Exception:
- pass
-
- hbox = gtk.HBox(spacing=6)
- hbox.pack_start(icon)
- hbox.pack_start(gtk.Label(res['name']))
- radiotb.set_icon_widget(hbox)
- radiotb.show_all()
- radiotb.set_data('id', res['id'])
- radiotb.connect('clicked', self.menu_main_clicked)
- self.menu_main_clicked(radiotb, focus=False)
- self.toolbar.insert(radiotb, -1)
- radiotb.child.connect('key_press_event', self.menu_main_key_press)
- else:
- self.tree_res.ids = ids
- self.tree_res.reload()
- self.toolbar.hide()
- self.toolbar_vpaned.set_position(-1)
- self.tree_res.view.grab_focus()
- if self.tree_res.view.get_model().get_iter_root():
- self.tree_res.view.grab_focus()
- selection = self.tree_res.view.get_selection()
- selection.select_path((0))
- self.tree_sc.update()
-
- def menu_main_clicked(self, widget, focus=True):
- if widget.get_active():
- obj_id = widget.get_data('id')
- args = ('model', self.model, 'read', obj_id,
- [self.view['field_childs']], rpc.CONTEXT)
- try:
- ids = rpc.execute(*args)[self.view['field_childs']]
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
- if not res:
- return False
- ids = res[self.view['field_childs']]
- if not ids:
- return False
-
- self.tree_res.ids = ids
- self.tree_res.reload()
-
- self.sig_action('tree_open', obj_id=obj_id, warning=False)
- if focus:
- if self.tree_res.view.get_model().get_iter_root():
- self.tree_res.view.grab_focus()
- selection = self.tree_res.view.get_selection()
- selection.unselect_all()
- selection.select_path((0))
- self.tree_res.view.set_cursor((0))
- return False
-
- def menu_main_key_press(self, widget, event):
- if event.keyval == gtk.keysyms.Right:
- if self.tree_res.view.get_model().get_iter_root():
- self.tree_res.view.grab_focus()
- selection = self.tree_res.view.get_selection()
- selection.unselect_all()
- selection.select_path((0))
- self.tree_res.view.set_cursor((0))
- return True
-
- def sig_print(self):
- self.sig_action('form_print')
-
- def sig_action(self, keyword='tree_action', obj_id=None, warning=True):
- ids = self.ids_get()
- if not obj_id and ids and len(ids):
- obj_id = ids[0]
- if obj_id:
- ctx = self.context.copy()
- if 'active_ids' in ctx:
- del ctx['active_ids']
- if 'active_id' in ctx:
- del ctx['active_id']
- return Action.exec_keyword(keyword, self.window, {
- 'model': self.model,
- 'id': obj_id,
- 'ids':ids,
- }, context=ctx, warning=warning)
- else:
- common.message(_('No record selected!'), self.window)
- return False
-
- def sig_activate(self, widget, iter, path):
- if not self.sig_action('tree_open', warning=False):
- if self.tree_res.view.row_expanded(iter):
- self.tree_res.view.collapse_row(iter)
- else:
- self.tree_res.view.expand_row(iter, False)
- if self.model != 'ir.ui.menu':
- self.sig_edit()
-
- def sig_key_press(self, widget, event):
- if event.keyval == gtk.keysyms.Left:
- selection = self.tree_res.view.get_selection()
- model, paths = selection.get_selected_rows()
- if len(paths) == 1:
- if not self.tree_res.view.row_expanded(paths[0]):
- if len(paths[0]) > 1:
- new_path = paths[0][:-1]
- selection.select_path(new_path)
- self.tree_res.view.collapse_row(new_path)
- elif self.tree_res.toolbar:
- for child in self.toolbar.get_children():
- if child.get_active():
- child.child.grab_focus()
- break
- for path in paths:
- self.tree_res.view.collapse_row(path)
- return True
- elif event.keyval == gtk.keysyms.Right:
- model, paths = self.tree_res.view.get_selection()\
- .get_selected_rows()
- for path in paths:
- self.tree_res.view.expand_row(path, False)
- return True
-
- def sig_test_expand_row(self, widget, iter, path):
- model = self.tree_res.view.get_model()
- iter_children = model.iter_children(iter)
- if iter_children and model.get(iter_children, 0)[0] in model.to_reload:
- hostname = rpc._SOCK.hostname
- port = rpc._SOCK.port
- while True:
- password = common.ask(_('Password:'), self.window,
- visibility=False)
- if password is None:
- return True
- res = rpc.login(rpc._USERNAME, password, hostname, port,
- rpc._DATABASE)
- if res == -1:
- common.message(_('Connection error!\n' \
- 'Unable to connect to the server!'), self.window)
- return True
- if res < 0:
- continue
- return False
- return False
-
- def sig_new(self):
- Window.create(None, self.model, domain=self.domain, window=self.window,
- context=self.context, mode=['form', 'tree'])
-
- def sig_edit(self):
- obj_ids = self.ids_get()
- if not obj_ids:
- obj_ids = []
- if self.tree_res.toolbar:
- for child in self.toolbar.get_children():
- if child.get_active():
- obj_ids.append(child.get_data('id'))
- mode = ['form', 'tree']
- if len(obj_ids) > 1:
- mode = ['tree', 'form']
- Window.create(None, self.model, obj_ids, self.domain,
- window=self.window, context=self.context,
- mode=mode)
-
- def sc_del(self, widget):
- obj_id = self.tree_sc.sel_id_get()
- if obj_id is not None:
- sc_id = int(self.tree_sc.value_get(2))
- try:
- rpc.execute('model', 'ir.ui.view_sc', 'delete', sc_id,
- rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
- self.tree_sc.update()
-
- def sc_add(self, widget):
- ids = self.ids_get()
- if len(ids):
- try:
- res = rpc.execute('model', self.model, 'read', ids,
- ['rec_name'], rpc.CONTEXT)
- for obj in res:
- obj_id = obj['id']
- name = obj['rec_name']
- user = rpc._USER
- rpc.execute('model', 'ir.ui.view_sc', 'create', {
- 'resource': self.model,
- 'user_id': user,
- 'res_id': obj_id,
- 'name': name,
- }, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
- self.tree_sc.update()
-
- def sc_go(self, widget=None, *args):
- obj_id = self.tree_sc.sel_id_get()
- if obj_id is not None:
- self.sig_action(keyword='tree_open', obj_id=obj_id)
-
- def ids_get(self):
- res = self.tree_res.sel_ids_get()
- return res
-
- def id_get(self):
- res = self.tree_res.sel_id_get()
- return res
-
- def sig_save_as(self, widget=None):
- win = WinExport(self.model, self.ids_get(), self.window,
- context=self.context)
- win.run()
-
- def sig_close(self):
- return True
diff --git a/tryton/gui/window/view_board/action.py b/tryton/gui/window/view_board/action.py
index 629aaf9..65c16b3 100644
--- a/tryton/gui/window/view_board/action.py
+++ b/tryton/gui/window/view_board/action.py
@@ -8,17 +8,18 @@ import time
import datetime
from tryton.gui.window.win_search import WinSearch
from tryton.action import Action as Action2
-from tryton.gui.window.view_tree.view_tree import ViewTree
import tryton.common as common
from tryton.pyson import PYSONDecoder
import gettext
from tryton.config import CONFIG
+from tryton.signal_event import SignalEvent
_ = gettext.gettext
-class Action(object):
+class Action(SignalEvent):
def __init__(self, window, attrs=None):
+ super(Action, self).__init__()
self.act_id = int(attrs['name'])
self._window = window
self.screen = None
@@ -43,7 +44,8 @@ class Action(object):
self.action['view_mode'] = attrs['view_mode']
self.action.setdefault('pyson_domain', '[]')
- self.context = {}
+ self.context = {'active_id': False, 'active_ids': []}
+ self.context.update(rpc.CONTEXT)
self.context.update(PYSONDecoder(self.context).decode(
self.action.get('pyson_context', '{}')))
@@ -51,10 +53,8 @@ class Action(object):
self.context.update(PYSONDecoder(eval_ctx).decode(
self.action.get('pyson_context', '{}')))
- domain_ctx = self.context.copy()
- self.domain = PYSONDecoder(domain_ctx).decode(
- self.action['pyson_domain'])
-
+ self.domain = []
+ self.update_domain([])
self.widget = gtk.Frame()
self.widget.set_border_width(0)
@@ -73,7 +73,7 @@ class Action(object):
tooltips = common.Tooltips()
- if self.action['view_type'] == 'form':
+ if self.action['res_model']:
but_search = gtk.Button()
tooltips.set_tip(but_search, _('Search'))
but_search.connect('clicked', self._sig_search)
@@ -96,7 +96,7 @@ class Action(object):
hbox.pack_start(but_open, expand=False, fill=False)
- if self.action['view_type'] == 'form':
+ if self.action['res_model']:
hbox.pack_start(gtk.VSeparator(), expand=False, fill=True)
but_previous = gtk.Button()
tooltips.set_tip(but_previous, _('Previous'))
@@ -140,38 +140,20 @@ class Action(object):
alignment.set_padding(0, 2, 2, 2)
vbox.pack_start(alignment, expand=True, fill=True)
+ hbox.set_focus_chain([])
+
self.widget.show_all()
- if self.action['view_type'] == 'form':
- self.screen = Screen(self.action['res_model'], self._window,
- view_type=self.action['view_mode'], context=self.context,
- view_ids=view_ids, domain=self.domain, readonly=True)
- self.screen.screen_container.alternate_view = True
- self.screen.switch_view(view_type=self.action['view_mode'])
+ if self.action['res_model']:
+ self.screen = Screen(self.action['res_model'],
+ self._window, mode=self.action['view_mode'],
+ context=self.context, view_ids=view_ids,
+ domain=self.domain, readonly=True, alternate_view=True)
alignment.add(self.screen.screen_container.alternate_viewport)
name = self.screen.current_view.title
self.screen.signal_connect(self, 'record-message', self._sig_label)
- elif self.action['view_type'] == 'tree':
- ctx = {}
- ctx.update(rpc.CONTEXT)
- ctx.update(self.context)
- try:
- view_base = rpc.execute('model', 'ir.ui.view', 'read',
- view_ids[0], ['model', 'type'], ctx)
- except Exception, exception:
- common.process_exception(exception, self._window)
- raise
- try:
- view = rpc.execute('model', view_base['model'],
- 'fields_view_get', view_ids[0], view_base['type'], ctx)
- except Exception, exception:
- common.process_exception(exception, self._window)
- raise
- self.tree = ViewTree(view, [], self._window, True,
- context=ctx)
- alignment.add(self.tree.widget_get())
- name = self.tree.name
- self.tree.view.connect('key_press_event', self.sig_key_press)
+ self.screen.signal_connect(self, 'record-message',
+ self._active_changed)
if attrs.get('string'):
self.title.set_text(attrs['string'])
@@ -216,7 +198,7 @@ class Action(object):
def _sig_label(self, screen, signal_data):
name = '_'
if signal_data[0] >= 0:
- name = str(signal_data[0] + 1)
+ name = str(signal_data[0])
line = '(%s/%s)' % (name, signal_data[1])
self.label.set_text(line)
@@ -251,3 +233,29 @@ class Action(object):
.get_selected_rows()
for path in paths:
self.tree.view.expand_row(path, False)
+
+ def _active_changed(self, *args):
+ self.signal('active-changed')
+
+ def _get_active(self):
+ if self.screen:
+ return common.EvalEnvironment(self.screen.current_record, False)
+ elif self.tree:
+ return {'id': self.tree.sel_id_get()}
+
+ active = property(_get_active)
+
+ def update_domain(self, actions):
+ domain_ctx = self.context.copy()
+ domain_ctx['context'] = domain_ctx
+ for action in actions:
+ if action.active:
+ domain_ctx['_active_%s' % action.act_id] = action.active
+ new_domain = PYSONDecoder(domain_ctx).decode(
+ self.action['pyson_domain'])
+ if self.domain == new_domain:
+ return
+ del self.domain[:]
+ self.domain.extend(new_domain)
+ if self.screen:
+ self.screen.search_filter()
diff --git a/tryton/gui/window/view_board/parser.py b/tryton/gui/window/view_board/parser.py
index 032062f..4057c26 100644
--- a/tryton/gui/window/view_board/parser.py
+++ b/tryton/gui/window/view_board/parser.py
@@ -32,6 +32,7 @@ class ParserBoard(object):
continue
attrs = common.node_attributes(node)
if node.localName == 'image':
+ common.ICONFACTORY.register_icon(attrs['name'])
icon = gtk.Image()
icon.set_from_stock(attrs['name'], gtk.ICON_SIZE_DIALOG)
container.wid_add(icon, colspan=int(attrs.get('colspan', 1)),
diff --git a/tryton/gui/window/view_board/view_board.py b/tryton/gui/window/view_board/view_board.py
index 152b7aa..5774b37 100644
--- a/tryton/gui/window/view_board/view_board.py
+++ b/tryton/gui/window/view_board/view_board.py
@@ -2,8 +2,9 @@
#this repository contains the full copyright notices and license terms.
'View board'
-from parser import ParserBoard
import xml.dom.minidom
+from parser import ParserBoard
+from tryton.gui.window.view_board.action import Action
class ViewBoard(object):
'View board'
@@ -18,7 +19,12 @@ class ViewBoard(object):
continue
self.widget, self.widgets = parser.parse(node)
break
+ self.actions = [x for x in self.widgets if isinstance(x, Action)]
+ for action in self.actions:
+ action.signal_connect(self, 'active-changed',
+ self._active_changed)
self.widget.show_all()
+ self._active_changed(None)
def widget_get(self):
return self.widget
@@ -26,3 +32,9 @@ class ViewBoard(object):
def reload(self):
for widget in self.widgets:
widget.display()
+
+ def _active_changed(self, event_action, *args):
+ for action in self.actions:
+ if action == event_action:
+ continue
+ action.update_domain(self.actions)
diff --git a/tryton/gui/window/view_form/model/field.py b/tryton/gui/window/view_form/model/field.py
index 65b5d32..381374a 100644
--- a/tryton/gui/window/view_form/model/field.py
+++ b/tryton/gui/window/view_form/model/field.py
@@ -1,7 +1,9 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
import tryton.rpc as rpc
-from tryton.common import DT_FORMAT, DHM_FORMAT, HM_FORMAT, datetime_strftime
+from tryton.common import DT_FORMAT, DHM_FORMAT, HM_FORMAT, datetime_strftime, \
+ domain_inversion, eval_domain, localize_domain, unlocalize_domain, \
+ merge, inverse_leaf, EvalEnvironment
import tryton.common as common
from tryton.pyson import PYSONDecoder
import time
@@ -25,8 +27,7 @@ class Field(object):
class CharField(object):
- def __init__(self, parent, attrs):
- self.parent = parent
+ def __init__(self, attrs):
self.attrs = attrs
self.name = attrs['name']
self.internal = False
@@ -37,36 +38,87 @@ class CharField(object):
return
if self.attrs.get('on_change', False):
record.on_change(self.name, self.attrs['on_change'])
- if self.attrs.get('change_default', False):
- record.cond_default(self.attrs['name'], self.get(record))
record.on_change_with(self.name)
+ record.autocomplete_with(self.name)
+
+ def domains_get(self, record):
+ screen_domain = domain_inversion(record.group.domain,
+ self.name, EvalEnvironment(record, False))
+ if isinstance(screen_domain, bool) and not screen_domain:
+ screen_domain = [('id', '=', False)]
+ elif isinstance(screen_domain, bool) and screen_domain:
+ screen_domain = []
+ attr_domain = record.expr_eval(self.attrs.get('domain', []))
+ return screen_domain, attr_domain
def domain_get(self, record):
- return record.expr_eval(self.attrs.get('domain', []))
+ screen_domain, attr_domain = self.domains_get(record)
+ return localize_domain(screen_domain) + attr_domain
+
+ def validation_domains(self, record):
+ screen_domain, attr_domain = self.domains_get(record)
+ if attr_domain:
+ return screen_domain, screen_domain + unlocalize_domain(attr_domain,
+ self.name)
+ else:
+ return screen_domain, screen_domain
def context_get(self, record, check_load=True, eval_context=True):
- context = {}
- context.update(self.parent.context)
+ context = record.context_get().copy()
+ if record.parent:
+ context.update(record.parent.context_get())
if eval_context:
context.update(record.expr_eval(self.attrs.get('context', {}),
check_load=check_load))
return context
- def validate(self, record):
+ def validate(self, record, softvalidation=False):
+ if self.attrs.get('readonly'):
+ return True
res = True
- if bool(int(self.get_state_attrs(record).get('required') or 0)):
- if not self.get(record) \
- and not bool(int(self.get_state_attrs(record
- ).get('readonly') or 0)):
- res = False
+ self.get_state_attrs(record)['domain_readonly'] = False
+ inverted_domain, domain = self.validation_domains(record)
+ if not softvalidation:
+ if bool(int(self.get_state_attrs(record).get('required') or 0)):
+ if not self.get(record) \
+ and not bool(int(self.get_state_attrs(record
+ ).get('readonly') or 0)):
+ res = False
+ if isinstance(domain, bool):
+ res = res and domain
+ elif domain == [('id', '=', False)]:
+ res = False
+ else:
+ if (isinstance(inverted_domain, list) \
+ and len(inverted_domain) == 1 and inverted_domain[0][1] == '='):
+ # If the inverted domain is so constraint that only one value is
+ # possible we should use it. But we must also pay attention to
+ # the fact that the original domain might be a 'OR' domain and
+ # thus not preventing the modification of fields.
+ leftpart, _, value = inverted_domain[0][:3]
+ setdefault = True
+ if '.' in leftpart:
+ recordpart, localpart = leftpart.split('.', 1)
+ original_domain = merge(record.group.domain)
+ constraintfields = set()
+ if original_domain[0] == 'AND':
+ for leaf in localize_domain(original_domain[1:]):
+ constraintfields.add(leaf[0])
+ if localpart != 'id' or recordpart not in constraintfields:
+ setdefault = False
+ if setdefault:
+ self.set_client(record, value)
+ self.get_state_attrs(record)['domain_readonly'] = True
+ res = res and eval_domain(domain, EvalEnvironment(record, False))
self.get_state_attrs(record)['valid'] = res
return res
def set(self, record, value, modified=False):
record.value[self.name] = value
if modified:
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
+ record.signal('record-changed')
return True
def get(self, record, check_load=True, readonly=True, modified=False):
@@ -81,17 +133,18 @@ class CharField(object):
def set_client(self, record, value, force_change=False):
internal = record.value.get(self.name, False)
- prev_modified = record.modified
+ prev_modified_fields = record.modified_fields.copy()
self.set(record, value)
if (internal or False) != (record.value.get(self.name, False) or False):
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
try:
self.sig_changed(record)
except Exception:
record.value[self.name] = internal
- record.modified = prev_modified
+ record.modified_fields = prev_modified_fields
return
+ record.validate(softvalidation=True)
record.signal('record-changed')
def get_client(self, record):
@@ -102,7 +155,8 @@ class CharField(object):
return res
def set_on_change(self, record, value):
- return self.set(record, value, modified=True)
+ record.modified_fields.setdefault(self.name)
+ return self.set(record, value, modified=False)
def get_default(self, record):
return self.get(record)
@@ -117,7 +171,8 @@ class CharField(object):
self.get_state_attrs(record)[key] = state_changes[key]
elif key in self.attrs:
self.get_state_attrs(record)[key] = self.attrs[key]
- if record.group.readonly:
+ if (record.group.readonly
+ or self.get_state_attrs(record).get('domain_readonly')):
self.get_state_attrs(record)['readonly'] = True
if 'value' in state_changes:
value = state_changes['value']
@@ -127,16 +182,13 @@ class CharField(object):
def get_state_attrs(self, record):
if self.name not in record.state_attrs:
record.state_attrs[self.name] = self.attrs.copy()
- if record.group.readonly:
+ if record.group.readonly or record.readonly:
record.state_attrs[self.name]['readonly'] = True
return record.state_attrs[self.name]
def get_timestamp(self, record):
return {}
- def destroy(self):
- self.parent = None
-
class SelectionField(CharField):
@@ -150,7 +202,7 @@ class SelectionField(CharField):
class DateTimeField(CharField):
def set_client(self, record, value, force_change=False):
- if value:
+ if value and not isinstance(value, datetime.datetime):
value = datetime.datetime(*time.strptime(value, DHM_FORMAT)[:6])
return super(DateTimeField, self).set_client(record, value,
force_change=force_change)
@@ -165,7 +217,7 @@ class DateTimeField(CharField):
class DateField(CharField):
def set_client(self, record, value, force_change=False):
- if value:
+ if value and not isinstance(value, datetime.date):
value = datetime.date(*time.strptime(value, DT_FORMAT)[:3])
return super(DateField, self).set_client(record, value,
force_change=force_change)
@@ -181,19 +233,21 @@ class FloatField(CharField):
def set_client(self, record, value, force_change=False):
internal = record.value.get(self.name)
- prev_modified = record.modified
+ prev_modified_fields = record.modified_fields.copy()
self.set(record, value)
digits = record.expr_eval(self.attrs.get('digits', (16, 2)))
if abs(float(internal or 0.0) - float(record.value[self.name] or 0.0)) \
>= (10.0**(-int(digits[1]))):
if not self.get_state_attrs(record).get('readonly', False):
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
try:
self.sig_changed(record)
except Exception:
record.value[self.name] = internal
- record.modified = prev_modified
+ record.modified_fields = prev_modified_fields
+ return
+ record.validate(softvalidation=True)
record.signal('record-changed')
@@ -202,21 +256,22 @@ class NumericField(CharField):
def set_client(self, record, value, force_change=False):
value = Decimal(str(value))
internal = record.value.get(self.name)
- prev_modified = record.modified
+ prev_modified_fields = record.modified_fields.copy()
self.set(record, value)
digits = record.expr_eval(self.attrs.get('digits', (16, 2)))
if abs((internal or Decimal('0.0')) - \
(record.value[self.name] or Decimal('0.0'))) \
>= Decimal(str(10.0**(-int(digits[1])))):
if not self.get_state_attrs(record).get('readonly', False):
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
try:
self.sig_changed(record)
except Exception:
record.value[self.name] = internal
- record.modified = prev_modified
+ record.prev_modified_fields = prev_modified_fields
return
+ record.validate(softvalidation=True)
record.signal('record-changed')
@@ -233,17 +288,18 @@ class BooleanField(CharField):
def set_client(self, record, value, force_change=False):
value = bool(value)
internal = bool(record.value.get(self.name, False))
- prev_modified = record.modified
+ prev_modified_fields = record.modified_fields.copy()
self.set(record, value)
if internal != bool(record.value.get(self.name, False)):
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
try:
self.sig_changed(record)
except Exception:
record.value[self.name] = internal
- record.modified = prev_modified
+ record.modified_fields = prev_modified_fields
return
+ record.validate(softvalidation=True)
record.signal('record-changed')
def get(self, record, check_load=True, readonly=True, modified=False):
@@ -259,25 +315,41 @@ class M2OField(CharField):
'''
def get(self, record, check_load=True, readonly=True, modified=False):
- if record.value.get(self.name):
- if isinstance(record.value[self.name], (int, basestring, long)):
- self.set(record, record.value[self.name])
- if isinstance(record.value[self.name], (int, basestring, long)):
- return record.value[self.name]
- return record.value[self.name][0] or False
+ value = record.value.get(self.name)
+ if record.parent_name == self.name:
+ value = record.parent.id if record.parent else False
+ if value:
+ if isinstance(value, (int, basestring, long)):
+ self.set(record, value)
+ value = record.value.get(self.name)
+ if isinstance(value, (int, basestring, long)):
+ return value
+ return value[0] or False
return False
def get_client(self, record):
- if record.value.get(self.name):
- if isinstance(record.value[self.name], (int, basestring, long)):
- self.set(record, record.value[self.name])
- if isinstance(record.value[self.name], (int, basestring, long)):
- return record.value[self.name]
- return record.value[self.name][1]
+ value = record.value.get(self.name)
+ if record.parent_name == self.name:
+ value = record.parent.id if record.parent else False
+ if value:
+ if isinstance(value, (int, basestring, long)):
+ self.set(record, value)
+ value = record.value.get(self.name)
+ if isinstance(value, (int, basestring, long)):
+ return value
+ return value[1]
return False
def set(self, record, value, modified=False):
- if value and isinstance(value, (int, long)):
+ if record.parent_name == self.name:
+ if record.parent:
+ if 'rec_name' in record.parent.value:
+ value = (record.parent.id, record.parent.value['rec_name'])
+ else:
+ value = record.parent.id
+ else:
+ value = False
+ if value and isinstance(value, (int, long)) and value > 0:
args = ('model', self.attrs['relation'], 'read', value,
['rec_name'], rpc.CONTEXT)
try:
@@ -288,7 +360,8 @@ class M2OField(CharField):
if not result:
return
value = value, result['rec_name']
- if value and len(value) != 2:
+ if value and (isinstance(value, (int, long))
+ or len(value) != 2):
value = (False, '')
record.value[self.name + '.rec_name'] = ''
else:
@@ -297,23 +370,30 @@ class M2OField(CharField):
else:
record.value[self.name + '.rec_name'] = ''
record.value[self.name] = value or (False, '')
+ if record.parent_name == self.name:
+ if record.parent:
+ if 'rec_name' not in record.parent.value:
+ record.parent.value['rec_name'] = \
+ record.value[self.name + '.rec_name']
if modified:
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
+ record.signal('record-changed')
def set_client(self, record, value, force_change=False):
internal = record.value.get(self.name) or (False, '')
- prev_modified = record.modified
+ prev_modified_fields = record.modified_fields.copy()
self.set(record, value)
if (internal[0] or False) != (record.value[self.name][0] or False):
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
try:
self.sig_changed(record)
except Exception:
record.value[self.name] = internal
- record.modified = prev_modified
+ record.modified_fields = prev_modified_fields
return
+ record.validate(softvalidation=True)
record.signal('record-changed')
elif force_change:
try:
@@ -321,6 +401,7 @@ class M2OField(CharField):
except Exception:
record.value[self.name] = internal
return
+ record.validate(softvalidation=True)
record.signal('record-changed')
def context_get(self, record, check_load=True, eval_context=True):
@@ -331,32 +412,70 @@ class M2OField(CharField):
check_load=check_load)[self.attrs.get('datetime_field')]
return context
+ def validation_domains(self, record):
+ screen_domain, attr_domain = self.domains_get(record)
+ return screen_domain, screen_domain
+
+ def domain_get(self, record):
+ screen_domain, attr_domain = self.domains_get(record)
+ return localize_domain(inverse_leaf(screen_domain), self.name) + attr_domain
+
+ def get_state_attrs(self, record):
+ result = super(M2OField, self).get_state_attrs(record)
+ if record.parent_name == self.name:
+ result = result.copy()
+ result['readonly'] = True
+ return result
+
+class O2OField(M2OField):
+ pass
+
class O2MField(CharField):
'''
internal = Group of the related objects
'''
- def __init__(self, parent, attrs):
- super(O2MField, self).__init__(parent, attrs)
+ def __init__(self, attrs):
+ super(O2MField, self).__init__(attrs)
+ self.in_on_change = False
self.context = {}
+ def sig_changed(self, record):
+ if not self.in_on_change:
+ return super(O2MField, self).sig_changed(record)
+
def _group_changed(self, group, record):
- record.parent.modified = True
+ if not record.parent:
+ return
record.parent.modified_fields.setdefault(self.name)
+ record.parent.signal('record-modified')
self.sig_changed(record.parent)
+ record.parent.validate(softvalidation=True)
record.parent.signal('record-changed')
+ def _group_list_changed(self, group, signal):
+ group.parent.group.signal('group-list-changed', signal)
+
+ def _group_cleared(self, group, signal):
+ group.parent.signal('group-cleared')
+
def _set_default_value(self, record):
if record.value.get(self.name) is not None:
return
from group import Group
+ parent_name = self.attrs.get('relation_field', '')
group = Group(self.attrs['relation'], {}, record.window,
parent=record,
- parent_name=self.attrs.get('relation_field', ''),
+ parent_name=parent_name,
+ child_name=self.name,
context=self.context,
parent_datetime_field=self.attrs.get('datetime_field'))
+ if record.model_name == self.attrs['relation']:
+ group.fields = record.group.fields
group.signal_connect(group, 'group-changed', self._group_changed)
+ group.signal_connect(group, 'group-list-changed', self._group_list_changed)
+ group.signal_connect(group, 'group-cleared', self._group_cleared)
record.value[self.name] = group
def get_client(self, record):
@@ -369,9 +488,9 @@ class O2MField(CharField):
result = [('add', [])]
for record2 in record.value[self.name]:
if record2.id > 0:
- values = record2.get(check_load=check_load, get_readonly=readonly,
- get_modifiedonly=modified)
- if record2.is_modified() and values:
+ values = record2.get(check_load=check_load,
+ get_readonly=readonly, get_modifiedonly=modified)
+ if record2.modified and values:
result.append(('write', record2.id, values))
result[0][1].append(record2.id)
else:
@@ -379,10 +498,10 @@ class O2MField(CharField):
record2.get(check_load=check_load, get_readonly=readonly)))
if record.value[self.name].record_removed:
result.append(('unlink', [x.id for x in \
- record.value[self.name].record_removed]))
+ record.value[self.name].record_removed]))
if record.value[self.name].record_deleted:
result.append(('delete', [x.id for x in \
- record.value[self.name].record_deleted]))
+ record.value[self.name].record_deleted]))
return result
def get_timestamp(self, record):
@@ -403,24 +522,35 @@ class O2MField(CharField):
if record.value.get(self.name) is None:
return []
for record2 in record.value[self.name]:
- result.append(record2.get_eval(check_load=check_load))
+ if not (record2.deleted or record2.removed):
+ result.append(record2.get_eval(check_load=check_load))
return result
def set(self, record, value, modified=False):
from group import Group
group = record.value.get(self.name)
+ fields = {}
if group is not None:
group.signal_unconnect(group)
+ fields = group.fields
+ elif record.model_name == self.attrs['relation']:
+ fields = record.group.fields
+ parent_name = self.attrs.get('relation_field', '')
group = Group(self.attrs['relation'], {}, record.window,
- parent=record, parent_name=self.attrs.get('relation_field', ''),
+ parent=record, parent_name=parent_name,
+ child_name=self.name,
context=self.context,
parent_datetime_field=self.attrs.get('datetime_field'))
+ group.fields = fields
record.value[self.name] = group
- record.value[self.name].load(value, display=False)
+ group.load(value, display=False)
group.signal_connect(group, 'group-changed', self._group_changed)
+ group.signal_connect(group, 'group-list-changed', self._group_list_changed)
+ group.signal_connect(group, 'group-cleared', self._group_cleared)
if modified:
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
+ record.signal('record-changed')
def set_client(self, record, value, force_change=False):
pass
@@ -428,47 +558,58 @@ class O2MField(CharField):
def set_default(self, record, value, modified=False):
from group import Group
+ # value is a list of id
if value and len(value) and isinstance(value[0], (int, long)):
return self.set(record, value, modified=modified)
+ group = record.value.get(self.name)
fields = {}
+ if group is not None:
+ group.signal_unconnect(group)
+ fields = group.fields
+ elif record.model_name == self.attrs['relation']:
+ fields = record.group.fields
+
+ # value is a list of dict
+ fields_dict = {}
if value and len(value):
context = self.context_get(record)
field_names = []
for val in value:
for fieldname in val.keys():
- if fieldname not in field_names:
+ if (fieldname not in field_names
+ and fieldname not in fields):
field_names.append(fieldname)
- args = ('model', self.attrs['relation'], 'fields_get',
- field_names, context)
- try:
- fields = rpc.execute(*args)
- except Exception, exception:
- fields = common.process_exception(exception, record.window,
- *args)
- if not fields:
- return False
-
- group = record.value.get(self.name)
- if group is not None:
- group.signal_unconnect(group)
- group = Group(
- self.attrs['relation'], fields, record.window, parent=record,
- parent_name=self.attrs.get('relation_field', ''),
+ if field_names:
+ args = ('model', self.attrs['relation'], 'fields_get',
+ field_names, context)
+ try:
+ fields_to_load = rpc.execute(*args)
+ except Exception, exception:
+ fields_dict = common.process_exception(exception,
+ record.window, *args)
+ if not fields_dict:
+ return False
+
+ parent_name = self.attrs.get('relation_field', '')
+ group = Group(self.attrs['relation'], fields_dict, record.window,
+ parent=record, parent_name=parent_name, child_name=self.name,
context=self.context,
parent_datetime_field=self.attrs.get('datetime_field'))
if record.value.get(self.name):
group.record_deleted.extend(x for x in record.value[self.name]
- if x.id > 0)
+ if x.id > 0)
group.record_deleted.extend(record.value[self.name].record_deleted)
group.record_removed.extend(record.value[self.name].record_removed)
record.value[self.name] = group
+ group.fields = fields
for vals in (value or []):
new_record = record.value[self.name].new(default=False)
new_record.set_default(vals, modified=modified)
group.add(new_record)
- group.signal_connect(group,
- 'group-changed', self._group_changed)
+ group.signal_connect(group, 'group-changed', self._group_changed)
+ group.signal_connect(group, 'group-list-changed', self._group_list_changed)
+ group.signal_connect(group, 'group-cleared', self._group_cleared)
return True
def set_on_change(self, record, value):
@@ -503,7 +644,8 @@ class O2MField(CharField):
if record2 is not None:
to_remove.append(record2)
for record2 in to_remove:
- record.value[self.name].remove(record2, signal=False)
+ record.value[self.name].remove(record2, signal=False,
+ force_remove=True)
if value and value.get('add') or value.get('update', []):
record.value[self.name].add_fields(fields, signal=False)
@@ -525,17 +667,23 @@ class O2MField(CharField):
res = [x.get_default() for x in record.value.get(self.name) or []]
return res
- def validate(self, record):
+ def validation_domains(self, record):
+ screen_domain, attr_domain = self.domains_get(record)
+ return screen_domain, screen_domain
+
+ def validate(self, record, softvalidation=False):
+ if self.attrs.get('readonly'):
+ return True
res = True
- for record2 in record.value[self.name] or []:
+ for record2 in record.value.get(self.name, []):
if not record2.loaded:
continue
if not record2.validate():
- if not record2.is_modified():
+ if not record2.modified:
record.value[self.name].remove(record2)
else:
res = False
- if not super(O2MField, self).validate(record):
+ if not super(O2MField, self).validate(record, softvalidation):
res = False
self.get_state_attrs(record)['valid'] = res
return res
@@ -551,6 +699,10 @@ class O2MField(CharField):
def get_removed_ids(self, record):
return [x.id for x in record.value[self.name].record_removed]
+ def domain_get(self, record):
+ screen_domain, attr_domain = self.domains_get(record)
+ return localize_domain(inverse_leaf(screen_domain)) + attr_domain
+
class M2MField(O2MField):
@@ -563,10 +715,16 @@ class M2MField(O2MField):
def set(self, record, value, modified=False):
from group import Group
group = record.value.get(self.name)
+ fields = {}
if group is not None:
group.signal_unconnect(group)
+ fields = group.fields
+ elif record.model_name == self.attrs['relation']:
+ fields = record.group.fields
+ parent_name = self.attrs.get('relation_field', '')
group = Group(self.attrs['relation'], {}, record.window,
- parent=record, parent_name=self.attrs.get('relation_field', ''),
+ parent=record, parent_name=parent_name,
+ child_name=self.name,
context=self.context,
parent_datetime_field=self.attrs.get('datetime_field'))
if record.value.get(self.name):
@@ -574,11 +732,15 @@ class M2MField(O2MField):
group.record_deleted.extend(record.value[self.name].record_deleted)
group.record_removed.extend(record.value[self.name].record_removed)
record.value[self.name] = group
- record.value[self.name].load(value, display=False)
+ group.fields = fields
+ group.load(value, display=False)
group.signal_connect(group, 'group-changed', self._group_changed)
+ group.signal_connect(group, 'group-list-changed', self._group_list_changed)
+ group.signal_connect(group, 'group-cleared', self._group_cleared)
if modified:
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
+ record.signal('record-changed')
class ReferenceField(CharField):
@@ -600,17 +762,18 @@ class ReferenceField(CharField):
def set_client(self, record, value, force_change=False):
internal = record.value.get(self.name)
- prev_modified = record.modified
+ prev_modified_fields = record.modified_fields.copy()
self.set(record, value)
if (internal or False) != (record.value[self.name] or False):
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
try:
self.sig_changed(record)
except Exception:
record.value[self.name] = internal
- record.modified = prev_modified
+ record.modified_fields = prev_modified_fields
return
+ record.validate(softvalidation=True)
record.signal('record-changed')
def set(self, record, value, modified=False):
@@ -625,7 +788,7 @@ class ReferenceField(CharField):
ref_id = int(ref_id)
if not ref_id:
ref_str = ''
- if not ref_str and ref_id:
+ if not ref_str and ref_id > 0:
args = ('model', ref_model, 'read', ref_id,
['rec_name'], rpc.CONTEXT)
try:
@@ -650,8 +813,8 @@ class ReferenceField(CharField):
if self.name + '.rec_name' in record.value:
del record.value[self.name + '.rec_name']
if modified:
- record.modified = True
record.modified_fields.setdefault(self.name)
+ record.signal('record-modified')
TYPES = {
'char': CharField,
@@ -669,4 +832,5 @@ TYPES = {
'boolean': BooleanField,
'datetime': DateTimeField,
'date': DateField,
+ 'one2one': O2OField,
}
diff --git a/tryton/gui/window/view_form/model/group.py b/tryton/gui/window/view_form/model/group.py
index e4e4235..e2b706b 100644
--- a/tryton/gui/window/view_form/model/group.py
+++ b/tryton/gui/window/view_form/model/group.py
@@ -1,5 +1,6 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import copy
import tryton.rpc as rpc
from record import Record
from field import Field, O2MField
@@ -10,13 +11,17 @@ import tryton.common as common
class Group(SignalEvent, list):
def __init__(self, model_name, fields, window, ids=None, parent=None,
- parent_name='', context=None, readonly=False,
- parent_datetime_field=None):
+ parent_name='', child_name='', context=None, domain=None,
+ readonly=False, parent_datetime_field=None):
super(Group, self).__init__()
+ if domain is None:
+ domain = []
+ self.domain = domain
self.lock_signal = False
self.__window = window
self.parent = parent
- self.parent_name = parent_name or ''
+ self.parent_name = parent_name
+ self.child_name = child_name
self.parent_datetime_field = parent_datetime_field
self._context = context or {}
self.model_name = model_name
@@ -24,13 +29,13 @@ class Group(SignalEvent, list):
self.load_fields(fields)
self.current_idx = None
self.load(ids)
- self.record_removed = []
- self.record_deleted = []
+ self.record_deleted, self.record_removed = [], []
self.on_write = set()
self.readonly = readonly
if self._context.get('_datetime'):
self.readonly = True
self.__id2record = {}
+ self.__field_childs = None
def __get_window(self):
return self.__window
@@ -43,6 +48,7 @@ class Group(SignalEvent, list):
window = property(__get_window, __set_window)
def insert(self, pos, record):
+ assert record.group is self
if pos >= 1:
self.__getitem__(pos - 1).next[id(self)] = record
if pos < self.__len__():
@@ -52,16 +58,17 @@ class Group(SignalEvent, list):
super(Group, self).insert(pos, record)
self.__id2record[record.id] = record
if not self.lock_signal:
- self.signal('group-list-changed', ('record-added', pos))
+ self.signal('group-list-changed', ('record-added', record))
def append(self, record):
+ assert record.group is self
if self.__len__() >= 1:
self.__getitem__(self.__len__() - 1).next[id(self)] = record
record.next[id(self)] = None
super(Group, self).append(record)
self.__id2record[record.id] = record
if not self.lock_signal:
- self.signal('group-list-changed', ('record-added', -1))
+ self.signal('group-list-changed', ('record-added', record))
def _remove(self, record):
idx = self.index(record)
@@ -71,21 +78,23 @@ class Group(SignalEvent, list):
self.__getitem__(idx + 1)
else:
self.__getitem__(idx - 1).next[id(self)] = None
+ if not self.lock_signal:
+ self.signal('group-list-changed', ('record-removed', record))
super(Group, self).remove(record)
del self.__id2record[record.id]
- if not self.lock_signal:
- self.signal('group-list-changed', ('record-removed', idx))
def clear(self):
- del self[:]
+ if not self.lock_signal:
+ for record in self[:]:
+ self.signal('group-list-changed', ('record-removed', record))
+ self.pop(0)
if not self.lock_signal:
self.signal('group-list-changed', ('group-cleared',))
- self.record_removed = []
- self.record_deleted = []
+ self.__id2record = {}
+ self.record_removed, self.record_deleted = [], []
def move(self, record, pos):
- self.lock_signal = True
- if self.__len__() > pos:
+ if self.__len__() > pos >= 0:
idx = self.index(record)
self._remove(record)
if pos > idx:
@@ -94,7 +103,6 @@ class Group(SignalEvent, list):
else:
self._remove(record)
self.append(record)
- self.lock_signal = False
def __setitem__(self, i, value):
super(Group, self).__setitem__(i, value)
@@ -108,7 +116,7 @@ class Group(SignalEvent, list):
for name, attr in fields.iteritems():
field = Field(attr['type'])
attr['name'] = name
- self.fields[name] = field(self, attr)
+ self.fields[name] = field(attr)
if isinstance(self.fields[name], O2MField) \
and '_datetime' in self._context:
self.fields[name].context.update({
@@ -116,17 +124,26 @@ class Group(SignalEvent, list):
})
def save(self):
+ saved = []
for record in self:
- saved = record.save()
- self.writen(saved)
-
- def writen(self, ids):
+ saved.append(record.save(force_reload=False))
+ return saved
+
+ @property
+ def root_group(self):
+ root = self
+ parent = self.parent
+ while parent:
+ root = parent.group
+ return root
+
+ def written(self, ids):
if isinstance(ids, (int, long)):
ids = [ids]
ids = [x for x in self.on_write_ids(ids) or [] if x not in ids]
if not ids:
return
- self.reload(ids)
+ self.root_group.reload(ids)
return ids
def reload(self, ids):
@@ -149,31 +166,34 @@ class Group(SignalEvent, list):
res += res2
return list({}.fromkeys(res))
- def load(self, ids, display=True, modified=False):
- if not ids:
- return True
-
- old_ids = [x.id for x in self]
- ids = [x for x in ids if x not in old_ids]
+ def load(self, ids, display=True, modified=False, id2record=None):
if not ids:
return True
if len(ids) > 1:
self.lock_signal = True
+
new_records = []
for id in ids:
+ if self.get(id):
+ continue
new_record = Record(self.model_name, id, self.window,
- parent=self.parent, parent_name=self.parent_name, group=self)
+ group=self)
self.append(new_record)
new_records.append(new_record)
- new_record.signal_connect(self, 'record-changed', self._record_changed)
- new_record.signal_connect(self, 'record-modified', self._record_modified)
+ new_record.signal_connect(self, 'record-changed',
+ self._record_changed)
+ new_record.signal_connect(self, 'record-modified',
+ self._record_modified)
+
+ # Remove previously removed or deleted records
for record in self.record_removed[:]:
if record.id in ids:
self.record_removed.remove(record)
for record in self.record_deleted[:]:
if record.id in ids:
self.record_deleted.remove(record)
+
if self.lock_signal:
self.lock_signal = False
self.signal('group-cleared')
@@ -198,26 +218,21 @@ class Group(SignalEvent, list):
context = property(_get_context)
def add(self, record, position=-1, modified=True):
- if not record.group is self:
- fields = {}
- for i in record.group.fields:
- fields[record.group.fields[i].attrs['name']] = \
- record.group.fields[i].attrs
- self.add_fields(fields)
+ if record.group is not self:
+ record.signal_unconnect(record.group)
record.group = self
-
+ record.window = self.window
+ record.signal_connect(self, 'record-changed', self._record_changed)
+ record.signal_connect(self, 'record-modified', self._record_modified)
if position == -1:
self.append(record)
else:
self.insert(position, record)
self.current_idx = position
- record.parent = self.parent
- record.parent_name = self.parent_name
- record.window = self.window
if modified:
- record.modified = True
- record.signal_connect(self, 'record-changed', self._record_changed)
- record.signal_connect(self, 'record-modified', self._record_modified)
+ record.modified_fields.setdefault('id')
+ record.signal('record-modified')
+ self.signal('group-changed', record)
return record
def set_sequence(self, field='sequence'):
@@ -226,13 +241,13 @@ class Group(SignalEvent, list):
if record[field]:
if index >= record[field].get(record):
index += 1
- record[field].set(record, index, modified=True)
+ record[field].set_client(record, index)
else:
index = record[field].get(record)
- def new(self, default=True, domain=None, context=None, signal=True):
- record = Record(self.model_name, None, self.window, group=self,
- parent=self.parent, parent_name=self.parent_name)
+ def new(self, default=True, domain=None, context=None, signal=True,
+ obj_id=None):
+ record = Record(self.model_name, obj_id, self.window, group=self)
record.signal_connect(self, 'record-changed', self._record_changed)
record.signal_connect(self, 'record-modified', self._record_modified)
if default:
@@ -244,18 +259,34 @@ class Group(SignalEvent, list):
self.signal('group-changed', record)
return record
- def remove(self, record, remove=False, modified=True, signal=True):
+ def unremove(self, record, signal=True):
+ if record in self.record_removed:
+ self.record_removed.remove(record)
+ if record in self.record_deleted:
+ self.record_deleted.remove(record)
+ if signal:
+ record.signal('record-changed', record.parent)
+
+ def remove(self, record, remove=False, modified=True, signal=True,
+ force_remove=False):
idx = self.index(record)
if self[idx].id > 0:
if remove:
+ if self[idx] in self.record_deleted:
+ self.record_deleted.remove(self[idx])
self.record_removed.append(self[idx])
else:
+ if self[idx] in self.record_removed:
+ self.record_removed.remove(self[idx])
self.record_deleted.append(self[idx])
if record.parent:
- record.parent.modified = True
+ record.parent.modified_fields.setdefault('id')
+ record.parent.signal('record-modified')
if modified:
- record.modified = True
- self._remove(self[idx])
+ record.modified_fields.setdefault('id')
+ record.signal('record-modified')
+ if not record.parent or self[idx].id <= 0 or force_remove:
+ self._remove(self[idx])
if len(self):
self.current_idx = min(idx, len(self) - 1)
@@ -339,12 +370,25 @@ class Group(SignalEvent, list):
super(Group, self).destroy()
self.__window = None
self.parent = None
- for field in self.fields.itervalues():
- field.destroy()
self.fields = {}
- self.record_removed = None
- self.record_deleted = None
+ self.record_deleted, self.record_removed = [], []
self.__id2record = None
for record in self:
record.destroy()
self[:] = []
+
+ def get_by_path(self, path):
+ 'return record by path'
+ group = self
+ record = None
+ for child_name, id_ in path:
+ record = group.get(id_)
+ if not record:
+ return None
+ if not child_name:
+ continue
+ record[child_name]
+ group = record.value.get(child_name)
+ if not isinstance(group, Group):
+ return None
+ return record
diff --git a/tryton/gui/window/view_form/model/record.py b/tryton/gui/window/view_form/model/record.py
index 71525d0..46a9c7b 100644
--- a/tryton/gui/window/view_form/model/record.py
+++ b/tryton/gui/window/view_form/model/record.py
@@ -10,71 +10,41 @@ import logging
import time
-class EvalEnvironment(dict):
-
- def __init__(self, parent, check_load):
- super(EvalEnvironment, self).__init__()
- self.parent = parent
- self.check_load = check_load
-
- def __getitem__(self, item):
- if item == '_parent_' + self.parent.parent_name and self.parent.parent:
- return EvalEnvironment(self.parent.parent, self.check_load)
- return self.parent.get_eval(check_load=self.check_load)[item]
-
- def __getattr__(self, item):
- return self.__getitem__(item)
-
- def get(self, item, default=None):
- try:
- return self.__getattr__(item)
- except Exception:
- pass
- return super(EvalEnvironment, self).get(item, default)
-
- def __nonzero__(self):
- return True
-
- def __str__(self):
- return str(self.parent)
-
- __repr__ = __str__
-
- def __contains__(self, item):
- return item in self.parent.group.fields
-
-
class Record(SignalEvent):
id = -1
-
- def __init__(self, model_name, obj_id, window, group=None, parent=None,
- parent_name=''):
+ def __init__(self, model_name, obj_id, window, group=None):
super(Record, self).__init__()
- self.window = window
+ self.__window = window
self.model_name = model_name
self.id = obj_id or Record.id
if self.id < 0:
Record.id -= 1
self._loaded = set()
- self.parent = parent
- self.parent_name = parent_name
self.group = group
if group is not None:
assert model_name == group.model_name
self.state_attrs = {}
- self.__modified = False
self.modified_fields = {}
self._timestamp = None
self.attachment_count = -1
self.next = {} # Used in Group list
self.value = {}
+ self.autocompletion = {}
- def __getitem__(self, name):
+ def __getitem__(self, name, raise_exception=False):
if name not in self._loaded and self.id > 0:
ids = [self.id]
- if self in self.group:
+ if name == '*':
+ loading = reduce(
+ lambda x, y: 'eager' if x == y == 'eager' else 'lazy',
+ (field.attrs.get('loading', 'eager')
+ for field in self.group.fields.itervalues()),
+ 'eager')
+ else:
+ loading = self.group.fields[name].attrs.get('loading', 'eager')
+ if self in self.group and loading == 'eager':
idx = self.group.index(self)
length = len(self.group)
n = 1
@@ -89,17 +59,24 @@ class Record(SignalEvent):
if name not in record._loaded and record.id > 0:
ids.append(record.id)
n += 1
+ if loading == 'eager':
+ fields = [fname for fname, field in self.group.fields.iteritems()
+ if field.attrs.get('loading', 'eager') == 'eager']
+ else:
+ fields = self.group.fields.keys()
+ fields = [fname for fname in fields if fname not in self._loaded]
+ fields.extend(('%s.rec_name' % fname for fname in fields[:]
+ if self.group.fields[fname].attrs['type']
+ in ('many2one', 'one2one', 'reference')))
+ fields.append('_timestamp')
ctx = rpc.CONTEXT.copy()
ctx.update(self.context_get())
- args = ('model', self.model_name, 'read',
- ids, self.group.fields.keys() + \
- [x + '.rec_name' for x in self.group.fields.keys()
- if self.group.fields[x].attrs['type'] \
- in ('many2one', 'reference')] + \
- ['_timestamp'], ctx)
+ args = ('model', self.model_name, 'read', ids, fields, ctx)
try:
values = rpc.execute(*args)
except Exception, exception:
+ if raise_exception:
+ raise
values = common.process_exception(exception, self.window, *args)
if not values:
values = [{'id': x} for x in ids]
@@ -117,31 +94,105 @@ class Record(SignalEvent):
return self.group.fields.get(name, False)
def __repr__(self):
- return '<Record %s@%s>' % (self.id, self.model_name)
+ return '<Record %s@%s at %s>' % (self.id, self.model_name, id(self))
- def get_modified(self):
- return self.__modified
+ @property
+ def modified(self):
+ return bool(self.modified_fields)
+
+ @property
+ def parent(self):
+ return self.group.parent
+
+ @property
+ def parent_name(self):
+ return self.group.parent_name
def set_modified(self, value):
- self.__modified = value
if value:
self.signal('record-modified')
- modified = property(get_modified, set_modified)
+ def children_group(self, field_name, check_load=True):
+ if not field_name:
+ return []
+ if check_load:
+ self._check_load([field_name])
+ group = self.value.get(field_name)
+ if group is False or group is None:
+ return []
+
+ if id(group.fields) != id(self.group.fields):
+ self.group.fields.update(group.fields)
+ group.fields = self.group.fields
+ group.on_write = self.group.on_write
+ group.readonly = self.group.readonly
+ group._context.update(self.group._context)
+ if group.window != self.window:
+ group.window = self.window
+ return group
+
+ def get_path(self, group):
+ path = []
+ i = self
+ child_name = ''
+ while i:
+ path.append((child_name, i.id))
+ if i.group is group:
+ break
+ child_name = i.group.child_name
+ i = i.parent
+ path.reverse()
+ return tuple(path)
+
+ def _get_window(self):
+ return self.__window
+
+ def _set_window(self, window):
+ self.__window = window
+ for fieldname, value in self.value.iteritems():
+ if fieldname not in self.group.fields:
+ continue
+ if isinstance(self.group.fields[fieldname], field.O2MField):
+ value.window = window
+
+ window = property(_get_window, _set_window)
+
+ def get_removed(self):
+ if self.group is not None:
+ return self in self.group.record_removed
+ return False
+
+ removed = property(get_removed)
+
+ def get_deleted(self):
+ if self.group is not None:
+ return self in self.group.record_deleted
+ return False
+
+ deleted = property(get_deleted)
- def is_modified(self):
- return self.modified
+ def get_readonly(self):
+ return self.deleted or self.removed
+
+ readonly = property(get_readonly)
def fields_get(self):
return self.group.fields
- def _check_load(self):
+ def _check_load(self, fields=None):
+ if fields is not None:
+ if not self.get_loaded(fields):
+ self.reload(fields)
+ return True
+ return False
if not self.loaded:
self.reload()
return True
return False
- def get_loaded(self):
+ def get_loaded(self, fields=None):
+ if fields:
+ return set(fields) <= self._loaded
return set(self.group.fields.keys()) == self._loaded
loaded = property(get_loaded)
@@ -152,12 +203,16 @@ class Record(SignalEvent):
self._check_load()
value = []
for name, field in self.group.fields.iteritems():
- if (get_readonly or \
- not field.get_state_attrs(self).get('readonly', False)) \
- and (not get_modifiedonly \
- or field.name in self.modified_fields):
- value.append((name, field.get(self, check_load=check_load,
- readonly=get_readonly, modified=get_modifiedonly)))
+ if field.attrs.get('readonly'):
+ continue
+ if (field.get_state_attrs(self).get('readonly', False)
+ and not get_readonly):
+ continue
+ if (field.name not in self.modified_fields
+ and get_modifiedonly):
+ continue
+ value.append((name, field.get(self, check_load=check_load,
+ readonly=get_readonly, modified=get_modifiedonly)))
value = dict(value)
if includeid:
value['id'] = self.id
@@ -174,7 +229,7 @@ class Record(SignalEvent):
def cancel(self):
self._loaded.clear()
- self.reload()
+ self.modified_fields.clear()
def get_timestamp(self):
result = {self.model_name + ',' + str(self.id): self._timestamp}
@@ -183,38 +238,48 @@ class Record(SignalEvent):
return result
def save(self, force_reload=True):
- self._check_load()
- if self.id < 0:
- value = self.get(get_readonly=True)
- args = ('model', self.model_name, 'create', value, self.context_get())
- try:
- res = rpc.execute(*args)
- except Exception, exception:
- res = common.process_exception(exception, self.window, *args)
- if not res:
- return False
- old_id = self.id
- self.id = res
- self.group.id_changed(old_id)
- else:
- if not self.is_modified():
- return self.id
- value = self.get(get_readonly=True, get_modifiedonly=True)
- context = self.context_get()
- context = context.copy()
- context['_timestamp'] = self.get_timestamp()
- args = ('model', self.model_name, 'write', [self.id], value, context)
- try:
- if not rpc.execute(*args):
- return False
- except Exception, exception:
- if not common.process_exception(exception, self.window, *args):
- return False
- self._loaded.clear()
- if force_reload:
- self.reload()
- if self.group:
- self.group.writen(self.id)
+ if self.id < 0 or self.modified:
+ if self.id < 0:
+ value = self.get(get_readonly=True)
+ args = ('model', self.model_name, 'create', value,
+ self.context_get())
+ try:
+ res = rpc.execute(*args)
+ except Exception, exception:
+ res = common.process_exception(exception, self.window,
+ *args)
+ if not res:
+ return False
+ old_id = self.id
+ self.id = res
+ self.group.id_changed(old_id)
+ elif self.modified:
+ self._check_load()
+ value = self.get(get_readonly=True, get_modifiedonly=True,
+ check_load=False)
+ if value:
+ context = self.context_get()
+ context = context.copy()
+ context['_timestamp'] = self.get_timestamp()
+ args = ('model', self.model_name, 'write', [self.id],
+ value, context)
+ try:
+ if not rpc.execute(*args):
+ return False
+ except Exception, exception:
+ res = common.process_exception(exception, self.window,
+ *args)
+ if not res:
+ return False
+ self._loaded.clear()
+ self.modified_fields = {}
+ if force_reload:
+ self.reload()
+ if self.group:
+ self.group.written(self.id)
+ if self.parent:
+ self.parent.modified_fields.pop(self.group.child_name, None)
+ self.parent.save(force_reload=force_reload)
return self.id
def default_get(self, domain=None, context=None):
@@ -227,7 +292,13 @@ class Record(SignalEvent):
vals = common.process_exception(exception, self.window, *args)
if not vals:
return
+ if self.parent_name in self.group.fields and self.parent:
+ vals[self.parent_name] = self.parent.id
self.set_default(vals)
+ for fieldname, fieldinfo in self.group.fields.iteritems():
+ if not fieldinfo.attrs.get('autocomplete'):
+ continue
+ self.do_autocomplete(fieldname)
def rec_name(self):
ctx = rpc.CONTEXT.copy()
@@ -241,23 +312,16 @@ class Record(SignalEvent):
return ''
return res['rec_name']
- def validate_set(self):
- self._check_load()
- change = False
- for field in self.group.fields.itervalues():
- change = change or \
- not field.get_state_attrs(self).get('valid', True)
- field.get_state_attrs(self)['valid'] = True
- if change:
- self.signal('record-changed')
- return change
-
- def validate(self, check_load=True):
- if check_load:
+ def validate(self, fields=None, softvalidation=False):
+ if isinstance(fields, list) and fields:
+ self._check_load(fields)
+ elif fields is None:
self._check_load()
res = True
- for field in self.group.fields.itervalues():
- if not field.validate(self):
+ for field_name, field in self.group.fields.iteritems():
+ if fields and field_name not in fields:
+ continue
+ if not field.validate(self, softvalidation):
res = False
return res
@@ -290,12 +354,14 @@ class Record(SignalEvent):
if value:
ref_model, ref_id = value.split(',', 1)
if fieldname + '.rec_name' in val:
- value = ref_model, (ref_id, val[fieldname + '.rec_name'])
+ value = ref_model, (ref_id,
+ val[fieldname + '.rec_name'])
else:
value = ref_model, (ref_id, ref_id)
self.group.fields[fieldname].set_default(self, value,
- modified=modified)
+ modified=modified)
self._loaded.add(fieldname)
+ self.validate(softvalidation=True)
if signal:
self.signal('record-changed')
@@ -317,25 +383,31 @@ class Record(SignalEvent):
if value:
ref_model, ref_id = value.split(',', 1)
if fieldname + '.rec_name' in val:
- value = ref_model, (ref_id, val[fieldname + '.rec_name'])
+ value = ref_model, (ref_id,
+ val[fieldname + '.rec_name'])
else:
value = ref_model, (ref_id, ref_id)
- self.group.fields[fieldname].set(self, value, modified=modified)
+ self.group.fields[fieldname].set(self, value, modified=False)
self._loaded.add(fieldname)
for fieldname, value in later.iteritems():
- self.group.fields[fieldname].set(self, value, modified=modified)
+ self.group.fields[fieldname].set(self, value, modified=False)
self._loaded.add(fieldname)
- self.modified = modified
- if not self.modified:
- self.modified_fields = {}
+ if modified:
+ self.modified_fields.update(dict((x, None) for x in val))
+ self.signal('record-modified')
+ self.signal('record-changed')
if signal:
self.signal('record-changed')
- def reload(self):
+ def reload(self, fields=None):
if self.id < 0:
return
- self['*']
- self.validate(check_load=False)
+ if not fields:
+ self['*']
+ else:
+ for field in fields:
+ self[field]
+ self.validate([])
def expr_eval(self, expr, check_load=False):
if not isinstance(expr, basestring):
@@ -350,8 +422,8 @@ class Record(SignalEvent):
ctx['active_id'] = self.id
ctx['_user'] = rpc._USER
if self.parent and self.parent_name:
- ctx['_parent_' + self.parent_name] = EvalEnvironment(self.parent,
- check_load)
+ ctx['_parent_' + self.parent_name] = \
+ common.EvalEnvironment(self.parent, check_load)
val = PYSONDecoder(ctx).decode(expr)
return val
@@ -361,8 +433,8 @@ class Record(SignalEvent):
for name, field in self.group.fields.iteritems():
values[name] = field.get_on_change_value(self, check_load=False)
if self.parent and self.parent_name:
- values['_parent_' + self.parent_name] = EvalEnvironment(self.parent,
- False)
+ values['_parent_' + self.parent_name] = \
+ common.EvalEnvironment(self.parent, False)
for arg in args:
scope = values
for i in arg.split('.'):
@@ -407,8 +479,13 @@ class Record(SignalEvent):
value = ref_model, (ref_id, ref_id)
self.group.fields[fieldname].set_on_change(self, value)
for fieldname, value in later.items():
- self.group.fields[fieldname].set_on_change(self, value)
- self.signal('record-changed')
+ # on change recursion checking is done only for x2many
+ field_x2many = self.group.fields[fieldname]
+ try:
+ field_x2many.in_on_change = True
+ field_x2many.set_on_change(self, value)
+ finally:
+ field_x2many.in_on_change = False
def on_change_with(self, field_name):
for fieldname in self.group.fields:
@@ -433,6 +510,30 @@ class Record(SignalEvent):
return
self.group.fields[fieldname].set_on_change(self, res)
+ def autocomplete_with(self, field_name):
+ for fieldname, fieldinfo in self.group.fields.iteritems():
+ autocomplete = fieldinfo.attrs.get('autocomplete', [])
+ if field_name not in autocomplete:
+ continue
+ self.do_autocomplete(fieldname)
+
+ def do_autocomplete(self, fieldname):
+ self.autocompletion[fieldname] = []
+ autocomplete = self.group.fields[fieldname].attrs['autocomplete']
+ args = self._get_on_change_args(autocomplete)
+ ctx = rpc.CONTEXT.copy()
+ ctx.update(self.context_get())
+ args = ('model', self.model_name, 'autocomplete_' + fieldname, args,
+ ctx)
+ try:
+ res = rpc.execute(*args)
+ except Exception, exception:
+ res = common.process_exception(exception, self.window, *args)
+ if not res:
+ # ensure res is a list
+ res = []
+ self.autocompletion[fieldname] = res
+
def cond_default(self, field_name, value):
ctx = rpc.CONTEXT.copy()
ctx.update(self.context_get())
@@ -462,7 +563,6 @@ class Record(SignalEvent):
def destroy(self):
super(Record, self).destroy()
self.window = None
- self.parent = None
self.group = None
self.value = None
self.next = None
diff --git a/tryton/gui/window/view_form/screen/screen.py b/tryton/gui/window/view_form/screen/screen.py
index ec90861..29fd753 100644
--- a/tryton/gui/window/view_form/screen/screen.py
+++ b/tryton/gui/window/view_form/screen/screen.py
@@ -1,6 +1,9 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
"Screen"
+import gobject
+import copy
+import xml.dom.minidom
import tryton.rpc as rpc
from tryton.gui.window.view_form.model.group import Group
from tryton.gui.window.view_form.view.screen_container import ScreenContainer
@@ -9,22 +12,19 @@ from tryton.signal_event import SignalEvent
from tryton.common import node_attributes
from tryton.config import CONFIG
import tryton.common as common
-import gobject
-import copy
-import xml.dom.minidom
class Screen(SignalEvent):
"Screen"
- def __init__(self, model_name, window, view_ids=None, view_type=None,
+ def __init__(self, model_name, window, view_ids=None, mode=None,
context=None, views_preload=None, domain=None, row_activate=None,
limit=None, readonly=False, exclude_field=None, sort=None,
- search_value=None):
+ search_value=None, alternate_view=False):
if view_ids is None:
view_ids = []
- if view_type is None:
- view_type = ['tree', 'form']
+ if mode is None:
+ mode = ['tree', 'form']
if context is None:
context = {}
if views_preload is None:
@@ -34,10 +34,10 @@ class Screen(SignalEvent):
super(Screen, self).__init__()
+ self.readonly = readonly
self.search_count = 0
if not row_activate:
- # TODO change for a function that switch to form view
- self.row_activate = self.switch_view
+ self.row_activate = self.default_row_activate
else:
self.row_activate = row_activate
self.domain = domain
@@ -54,6 +54,7 @@ class Screen(SignalEvent):
self.__current_record = None
self.current_record = None
self.screen_container = ScreenContainer()
+ self.screen_container.alternate_view = alternate_view
self.filter_widget = None
self.widget = self.screen_container.widget_get()
self.__current_view = 0
@@ -64,12 +65,12 @@ class Screen(SignalEvent):
self.sort = sort
self.view_to_load = []
- if view_type:
- self.view_to_load = view_type[1:]
+ if mode:
+ self.view_to_load = mode[1:]
view_id = False
if view_ids:
view_id = view_ids.pop(0)
- view = self.add_view_id(view_id, view_type[0])
+ view = self.add_view_id(view_id, mode[0])
self.screen_container.set(view.widget)
self.display()
@@ -89,10 +90,9 @@ class Screen(SignalEvent):
'tree', ctx)
except Exception:
return
- self.filter_widget = Form(self.fields_view_tree['arch'],
- self.fields_view_tree['fields'], self.model_name,
- self.window, self.domain, (self, self.search_filter),
- self.context)
+ self.filter_widget = Form(self.fields_view_tree,
+ self.model_name, self.window, self.domain,
+ (self, self.search_filter), self.context)
self.screen_container.add_filter(self.filter_widget.widget,
self.search_filter, self.search_clear,
self.search_prev, self.search_next)
@@ -186,15 +186,16 @@ class Screen(SignalEvent):
self.__group.signal_connect(self, 'group-cleared', self._group_cleared)
self.__group.signal_connect(self, 'group-list-changed',
self._group_list_changed)
- self.__group.signal_connect(self, 'record-modified', self._record_modified)
+ self.__group.signal_connect(self, 'record-modified',
+ self._record_modified)
self.__group.signal_connect(self, 'group-changed', self._group_changed)
self.__group.add_fields(fields)
group = property(__get_group, __set_group)
- def new_group(self, readonly=False):
- self.group = Group(self.model_name, {}, self.window,
- context=self.context, readonly=readonly)
+ def new_group(self):
+ self.group = Group(self.model_name, {}, self.window, domain=self.domain,
+ context=self.context, readonly=self.readonly)
def _group_cleared(self, group, signal):
for view in self.views:
@@ -222,10 +223,16 @@ class Screen(SignalEvent):
except Exception:
offset = 0
try:
- pos = self.group.index(record)
- except Exception:
- pos = -1
- self.signal('record-message', (pos + offset, len(self.group) + offset,
+ pos = self.group.index(record) + offset + 1
+ except ValueError:
+ pos = []
+ i = record
+ while i:
+ pos.append(i.group.index(i) + 1)
+ i = i.parent
+ pos.reverse()
+ pos = tuple(pos)
+ self.signal('record-message', (pos or 0, len(self.group) + offset,
self.search_count, record and record.id))
attachment_count = 0
if record and record.attachment_count > 0:
@@ -266,11 +273,28 @@ class Screen(SignalEvent):
self.screen_container = None
self.widget = None
+ def default_row_activate(self):
+ from tryton.action import Action
+ if (self.current_view.view_type == 'tree' and
+ self.current_view.widget_tree.keyword_open):
+ return Action.exec_keyword('tree_open', self.window, {
+ 'model': self.model_name,
+ 'id': self.id_get(),
+ 'ids': [self.id_get()],
+ }, context=self.context.copy(), warning=False)
+ else:
+ self.switch_view(view_type='form')
+ return True
+
def switch_view(self, view_type=None, default=True, context=None):
+ if not self.parent and self.modified():
+ return
self.current_view.set_value()
- if self.current_record and self.current_record not in self.group:
+ if (self.current_record and
+ self.current_record not in self.current_record.group):
self.current_record = None
- if self.current_record and not self.current_record.validate():
+ fields = self.current_view.get_fields()
+ if self.current_record and not self.current_record.validate(fields):
self.screen_container.set(self.current_view.widget)
self.current_view.set_cursor()
self.current_view.display()
@@ -280,17 +304,15 @@ class Screen(SignalEvent):
self.load_view_to_load()
self.__current_view = len(self.views) - 1
else:
- self.__current_view = (self.__current_view + 1) % len(self.views)
+ self.__current_view = ((self.__current_view + 1)
+ % len(self.views))
if not view_type:
break
elif self.current_view.view_type == view_type:
break
self.screen_container.set(self.current_view.widget)
- if self.current_record:
- self.current_record.validate_set()
- else:
- if self.current_view.view_type == 'form':
- self.new(default=default, context=context)
+ if not self.current_record and self.current_view.view_type == 'form':
+ self.new(default=default, context=context)
self.current_view.cancel()
self.display(set_cursor=True)
@@ -306,10 +328,7 @@ class Screen(SignalEvent):
def add_view_id(self, view_id, view_type, display=False, context=None):
if view_type in self.views_preload:
- return self.add_view(self.views_preload[view_type]['arch'],
- self.views_preload[view_type]['fields'], display,
- toolbar=self.views_preload[view_type].get('toolbar', False),
- context=context)
+ view = self.views_preload[view_type]
else:
ctx = {}
ctx.update(rpc.CONTEXT)
@@ -324,71 +343,47 @@ class Screen(SignalEvent):
view = common.process_exception(exception, self.window, *args)
if not view:
return
- return self.add_view(view['arch'], view['fields'], display,
- toolbar=view.get('toolbar', False), context=context)
+ return self.add_view(view, display, toolbar=view.get('toolbar', False),
+ context=context)
- def add_view(self, arch, fields, display=False, toolbar=None, context=None):
+ def add_view(self, view, display=False, toolbar=None, context=None):
if toolbar is None:
toolbar = {}
- xml_dom = xml.dom.minidom.parseString(arch)
-
- for dom in common.filter_domain(self.domain):
- if '.' in dom[0]:
- field1, field2 = dom[0].split('.', 1)
- else:
- field1, field2 = dom[0], 'id'
- if field1 in fields:
- field_dom = fields[field1].setdefault('domain', [])
- if dom[1] in ('child_of', 'not child_of') \
- and field2 == 'id':
- dom = copy.copy(dom)
- if len(dom) == 4:
- field2 = dom[3]
- dom = (dom[0], dom[1], dom[2])
- else:
- field2 = field1
- if isinstance(field_dom, basestring):
- fields[field1]['domain'] = '[' \
- + str(tuple([field2] + list(dom[1:]))) \
- + ',' + field_dom + ']'
- else:
- fields[field1]['domain'] = [
- tuple([field2] + list(dom[1:])),
- field_dom]
- if dom[1] == '!=' and dom[2] == False:
- fields[field1]['required'] = True
+ arch = view['arch']
+ fields = view['fields']
+ xml_dom = xml.dom.minidom.parseString(arch)
for node in xml_dom.childNodes:
if node.localName == 'tree':
- self.fields_view_tree = {'arch': arch, 'fields': fields}
+ self.fields_view_tree = view
+ break
+
+ if node.localName == 'tree':
+ loading = 'eager'
+ else:
+ loading = 'lazy'
+ for field in fields:
+ if field not in self.group.fields:
+ fields[field]['loading'] = loading
+
+ children_field = view.get('field_childs')
from tryton.gui.window.view_form.view.widget_parse import WidgetParse
- if self.current_record and (self.current_record not in self.group):
- self.group.append(self.current_record)
self.group.add_fields(fields, context=context)
- if self.exclude_field:
- if self.exclude_field in self.group.fields:
- field = self.group.fields[self.exclude_field]
- field.attrs['states'] = {'invisible': True}
- field.attrs['readonly'] = True
- field.attrs['invisible'] = True
- field.attrs['tree_invisible'] = True
- field.attrs['exclude_field'] = True
-
parser = WidgetParse(parent=self.parent, window=self.window)
- view = parser.parse(self, xml_dom, self.group.fields, toolbar=toolbar)
+ view = parser.parse(self, xml_dom, self.group.fields, toolbar=toolbar,
+ children_field=children_field)
self.views.append(view)
if display:
self.__current_view = len(self.views) - 1
self.screen_container.set(self.current_view.widget)
- if self.current_record:
- self.current_record.validate_set()
- else:
- if self.current_view.view_type == 'form':
- self.new()
+ fields = self.current_view.get_fields()
+ if (not self.current_record
+ and self.current_view.view_type == 'form'):
+ self.new()
self.current_view.set_cursor()
self.current_view.cancel()
self.display()
@@ -424,10 +419,16 @@ class Screen(SignalEvent):
ctx.update(rpc.CONTEXT)
ctx.update(self.context)
ctx.update(context)
- record = self.group.new(default, self.domain, ctx)
- self.group.add(record, self.new_model_position())
+ if self.current_record:
+ group = self.current_record.group
+ else:
+ group = self.group
+ record = group.new(default, self.domain, ctx)
+ group.add(record, self.new_model_position())
self.current_record = record
- self.current_record.validate_set()
+ fields = None
+ if self.current_view:
+ fields = self.current_view.get_fields()
self.display()
if self.current_view:
self.current_view.set_cursor(new=True)
@@ -456,30 +457,27 @@ class Screen(SignalEvent):
def save_current(self):
if not self.current_record:
- return False
+ if self.current_view == 'tree' and len(self.group):
+ self.current_record = self.group[0]
+ else:
+ return True
self.current_view.set_value()
obj_id = False
- if self.current_record.validate():
+ fields = self.current_view.get_fields()
+ path = self.current_record.get_path(self.group)
+ if self.current_view.view_type == 'tree':
+ self.group.save()
+ obj_id = self.current_record.id
+ elif self.current_record.validate(fields):
obj_id = self.current_record.save(force_reload=True)
else:
self.current_view.set_cursor()
self.current_view.display()
return False
- if self.current_view.view_type == 'tree':
- for record in self.group:
- if record.is_modified():
- if record.validate():
- obj_id = record.save(force_reload=True)
- else:
- self.current_view.set_cursor()
- self.current_record = record
- self.current_view.set_cursor()
- self.display()
- return False
- self.current_view.set_cursor()
+ if path and obj_id:
+ path = path[:-1] + ((path[-1][0], obj_id),)
+ self.current_record = self.group.get_by_path(path)
self.display()
- if self.current_record not in self.group:
- self.group.add(self.current_record, modified=False)
self.request_set()
return obj_id
@@ -499,28 +497,33 @@ class Screen(SignalEvent):
includeid=includeid, check_load=check_load,
get_modifiedonly=get_modifiedonly)
- def is_modified(self):
+ def modified(self):
self.current_view.set_value()
res = False
if self.current_view.view_type != 'tree':
- res = self.current_record and self.current_record.is_modified()
+ res = self.current_record and self.current_record.modified
else:
for record in self.group:
- if record.is_modified():
+ if record.modified:
res = True
return res
- def reload(self, writen=False):
+ def reload(self, written=False):
ids = self.sel_ids_get()
self.group.reload(ids)
- if writen:
- self.group.writen(ids)
+ if written:
+ self.group.written(ids)
if self.parent:
self.parent.reload()
self.display()
self.request_set()
- def remove(self, delete=False, remove=False):
+ def unremove(self):
+ records = self.current_view.selected_records()
+ for record in records:
+ self.group.unremove(record)
+
+ def remove(self, delete=False, remove=False, force_remove=False):
res = False
reload_ids = []
if self.current_view.view_type == 'form' and self.current_record:
@@ -543,35 +546,44 @@ class Screen(SignalEvent):
if not res:
return False
self.current_view.set_cursor()
- if self.current_record in self.group:
- idx = self.group.index(self.current_record)
- self.group.remove(self.current_record, remove=remove)
- if self.group:
- idx = min(idx, len(self.group) - 1)
- self.current_record = self.group[idx]
- else:
- self.current_record = None
+ record = self.current_record
+ idx = record.group.index(record)
+ record.group.remove(record, remove=remove,
+ force_remove=force_remove)
+
+ if delete:
+ if (record.parent and
+ record.parent.model_name == record.model_name):
+ record.parent.save()
+
+ if record.group:
+ idx = min(idx, len(record.group) - 1)
+ self.current_record = record.group[idx]
+ elif (record.parent and
+ record.parent.model_name == record.model_name):
+ self.current_record = record.parent
+ else:
+ self.current_record = None
if reload_ids:
- self.group.reload(reload_ids)
+ self.group.root_group.reload(reload_ids)
self.display()
res = True
if self.current_view.view_type == 'tree':
- ids = self.current_view.sel_ids_get()
- if delete and ids:
+ records = self.current_view.selected_records()
+ if delete and records:
context = {}
context.update(rpc.CONTEXT)
context.update(self.context)
context['_timestamp'] = {}
- for record_id in ids:
- record = self.group.get(record_id)
+ for record in records:
context['_timestamp'].update(record.get_timestamp())
- reload_ids = self.group.on_write_ids(ids)
+ reload_ids = self.group.on_write_ids([x.id for x in records])
if reload_ids:
- for record_id in ids:
- if record_id in reload_ids:
- reload_ids.remove(record_id)
- args = ('model', self.model_name, 'delete', ids,
- context)
+ for record in records:
+ if record.id in reload_ids:
+ reload_ids.remove(record.id)
+ args = ('model', self.model_name, 'delete',
+ [x.id for x in records], context)
try:
res = rpc.execute(*args)
except Exception, exception:
@@ -579,24 +591,35 @@ class Screen(SignalEvent):
*args)
if not res:
return False
- sel_records = self.current_view.selected_records()
- if not sel_records:
+ if not records:
return True
- idx = self.group.index(sel_records[0])
- for record in sel_records:
+ path = self.current_view.store.on_get_path(records[0])
+ for record in records:
# set current model to None to prevent __select_changed
# to save the previous_model as it can be already deleted.
self.current_record = None
- self.group.remove(record, remove=remove, signal=False)
+ record.group.remove(record, remove=remove, signal=False,
+ force_remove=force_remove)
+
# send record-changed only once
record.signal('record-changed')
- if self.group:
- idx = min(idx, len(self.group) - 1)
- self.current_record = self.group[idx]
+
+ if delete:
+ for record in records:
+ if record.parent:
+ record.parent.save()
+
+ if path[-1] > 0:
+ path = path[:-1] + (path[-1] - 1,)
else:
- self.current_record = None
+ path = path[:-1]
+ if path:
+ iter_ = self.current_view.store.get_iter(path)
+ self.current_record = self.current_view.store.get_value(iter_, 0)
+ elif len(self.group):
+ self.current_record = self.group[0]
if reload_ids:
- self.group.reload(reload_ids)
+ self.group.root_group.reload(reload_ids)
self.current_view.set_cursor()
self.display()
res = True
@@ -635,58 +658,78 @@ class Screen(SignalEvent):
self.current_view.set_cursor(reset_view=False)
def display_next(self):
- self.current_view.set_value()
- self.current_view.set_cursor(reset_view=False)
- if self.current_record in self.group:
- idx = self.group.index(self.current_record)
- inc = 1
- if self.current_view.view_type == 'tree':
- start, end = self.current_view.widget_tree.get_visible_range()
- inc += end[0] - start[0]
- if inc >= 4 and (end[0] + 1) < len(self.group):
- inc -= 3
- vadjustment = self.current_view.widget_tree.get_vadjustment()
- vadjustment.value = vadjustment.value + vadjustment.page_increment
- idx = idx + inc
- if idx >= len(self.group):
- idx = len(self.group) - 1
- self.current_record = self.group[idx]
+ view = self.current_view
+ view.set_value()
+ view.set_cursor(reset_view=False)
+ if view.view_type == 'tree':
+ start, end = view.widget_tree.get_visible_range()
+ vadjustment = view.widget_tree.get_vadjustment()
+ vadjustment.value = vadjustment.value + vadjustment.page_increment
+ store = view.store
+ iter_ = store.get_iter(end)
+ self.current_record = store.get_value(iter_, 0)
+ elif self.current_record.group:
+ group = self.current_record.group
+ record = self.current_record
+ while group:
+ children = record.children_group(view.children_field)
+ if children:
+ record = children[0]
+ break
+ idx = group.index(record) + 1
+ if idx < len(group):
+ record = group[idx]
+ break
+ parent = record.parent
+ if not parent:
+ break
+ next = parent.next.get(id(parent.group))
+ while not next:
+ parent = parent.parent
+ if not parent:
+ break
+ next = parent.next.get(id(parent.group))
+ if not next:
+ break
+ record = next
+ break
+ self.current_record = record
else:
- self.current_record = len(self.group) \
- and self.group[0]
- self.current_view.set_cursor(reset_view=False)
- if self.current_record:
- self.current_record.validate_set()
- self.display()
+ self.current_record = len(self.group) and self.group[0]
+ view.set_cursor(reset_view=False)
+ view.display()
def display_prev(self):
- self.current_view.set_value()
- self.current_view.set_cursor(reset_view=False)
- if self.current_record in self.group:
- inc = 1
- if self.current_view.view_type == 'tree':
- range = self.current_view.widget_tree.get_visible_range()
- if range:
- start, end = range
- inc += end[0] - start[0]
- if inc >= 4 and start[0] > 0:
- inc -= 3
- vadjustment = \
- self.current_view.widget_tree.get_vadjustment()
- if vadjustment.value:
- vadjustment.value = vadjustment.value - \
- vadjustment.page_increment
- idx = self.group.index(self.current_record) - inc
- if idx < 0:
- idx = 0
- self.current_record = self.group[idx]
+ view = self.current_view
+ view.set_value()
+ view.set_cursor(reset_view=False)
+ if view.view_type == 'tree':
+ start, end = view.widget_tree.get_visible_range()
+ vadjustment = view.widget_tree.get_vadjustment()
+ vadjustment.value = vadjustment.value - vadjustment.page_increment
+ store = view.store
+ iter_ = store.get_iter(start)
+ self.current_record = store.get_value(iter_, 0)
+ elif self.current_record.group:
+ group = self.current_record.group
+ record = self.current_record
+ idx = group.index(record) - 1
+ if idx >= 0:
+ record = group[idx]
+ children = True
+ while children:
+ children = record.children_group(view.children_field)
+ if children:
+ record = children[-1]
+ else:
+ parent = record.parent
+ if parent:
+ record = parent
+ self.current_record = record
else:
- self.current_record = len(self.group) \
- and self.group[-1]
- self.current_view.set_cursor(reset_view=False)
- if self.current_record:
- self.current_record.validate_set()
- self.display()
+ self.current_record = len(self.group) and self.group[-1]
+ view.set_cursor(reset_view=False)
+ view.display()
def sel_ids_get(self):
return self.current_view.sel_ids_get()
diff --git a/tryton/gui/window/view_form/view/form.py b/tryton/gui/window/view_form/view/form.py
index a8cbe2d..f41a4c0 100644
--- a/tryton/gui/window/view_form/view/form.py
+++ b/tryton/gui/window/view_form/view/form.py
@@ -4,6 +4,7 @@ import gtk
import gettext
from tryton.common import message, TRYTON_ICON
import tryton.rpc as rpc
+import tryton.common as common
from interface import ParserView
from tryton.action import Action
from tryton.config import CONFIG
@@ -15,9 +16,10 @@ _ = gettext.gettext
class ViewForm(ParserView):
def __init__(self, window, screen, widget, children=None,
- buttons=None, toolbar=None, notebooks=None, cursor_widget=''):
+ buttons=None, toolbar=None, notebooks=None, cursor_widget='',
+ children_field=None):
super(ViewForm, self).__init__(window, screen, widget, children,
- buttons, toolbar, notebooks, cursor_widget)
+ buttons, toolbar, notebooks, cursor_widget, children_field)
self.view_type = 'form'
for button in self.buttons:
@@ -35,13 +37,16 @@ class ViewForm(ParserView):
scroll = gtk.ScrolledWindow()
scroll.add(vp)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
- self.viewport = gtk.Viewport()
- self.viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
- self.viewport.add(scroll)
- width, height = self.widget.size_request()
+ scroll.set_placement(gtk.CORNER_TOP_LEFT)
+ viewport = gtk.Viewport()
+ viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
+ viewport.add(scroll)
+ if isinstance(self.screen.window, gtk.Dialog):
+ width, height = self.widget.size_request()
+ vbox.set_size_request(width or -1, height or -1)
+ vbox.pack_start(viewport, expand=True, fill=True)
+
self.widget = vbox
- self.widget.set_size_request(width, height)
- self.widget.pack_start(self.viewport, expand=True, fill=True)
if toolbar and not CONFIG['client.modepda']:
hbox = gtk.HBox(homogeneous=False)
@@ -56,11 +61,15 @@ class ViewForm(ParserView):
continue
for tool in toolbar[icontype]:
- iconstock = {
- 'print': 'tryton-print',
- 'action': 'tryton-executable',
- 'relate': 'tryton-go-jump',
- }.get(icontype)
+ if not tool['icon.rec_name']:
+ iconstock = {
+ 'print': 'tryton-print',
+ 'action': 'tryton-executable',
+ 'relate': 'tryton-go-jump',
+ }.get(icontype)
+ else:
+ iconstock = tool['icon.rec_name']
+ common.ICONFACTORY.register_icon(iconstock)
if hasattr(gtk, 'MenuToolButton') and icontype == 'print':
tbutton = gtk.MenuToolButton(iconstock)
@@ -113,8 +122,9 @@ class ViewForm(ParserView):
'to be able to use the action button!'), self.window)
return False
email = {}
- if 'email' in action:
- email = self.screen.current_record.expr_eval(action['email'])
+ if 'pyson_email' in action:
+ email = self.screen.current_record.expr_eval(
+ action['pyson_email'])
if not email:
email = {}
email['subject'] = action['name'].replace('_', '')
@@ -127,6 +137,10 @@ class ViewForm(ParserView):
message(_('You must select a record ' \
'to be able to use the relate button !'), self.window)
return False
+ if obj_id < 0:
+ message(_('You must save this record '
+ 'to be able to use the relate button!'), self.window)
+ return False
encoder = PYSONEncoder()
if 'pyson_domain' in act:
act['pyson_domain'] = encoder.encode(
@@ -144,7 +158,7 @@ class ViewForm(ParserView):
value = Action._exec_action(act, self.window, data, {})
if atype in ('print', 'action'):
if self.screen:
- self.screen.reload(writen=True)
+ self.screen.reload(written=True)
return value
def __getitem__(self, name):
@@ -206,7 +220,11 @@ class ViewForm(ParserView):
record = self.screen.current_record
if record:
# Force to set fields in record
- for field in record.group.fields:
+ # Get first the lazy one to reduce number of requests
+ fields = [(name, field.attrs.get('loading', 'eager'))
+ for name, field in record.group.fields.iteritems()]
+ fields.sort(lambda x, y: cmp(y[1], x[1]))
+ for field, _ in fields:
record[field].get(record, check_load=False)
for name, widgets in self.widgets.iteritems():
field = None
diff --git a/tryton/gui/window/view_form/view/form_gtk/binary.py b/tryton/gui/window/view_form/view/form_gtk/binary.py
index ad69d0a..d9d4c19 100644
--- a/tryton/gui/window/view_form/view/form_gtk/binary.py
+++ b/tryton/gui/window/view_form/view/form_gtk/binary.py
@@ -1,14 +1,22 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
import base64
import gtk
import gettext
import os
-from tryton.common import file_selection, message, warning, Tooltips
+import tempfile
+from tryton.common import file_selection, message, warning, Tooltips, file_open
from interface import WidgetInterface
_ = gettext.gettext
+def humanize(size):
+ for x in ('bytes', 'KB', 'MB', 'GB', 'TB', 'PB'):
+ if size < 1000:
+ return '%3.1f%s' % (size, x)
+ size /= 1000.0
+
class Binary(WidgetInterface):
"Binary"
@@ -17,25 +25,51 @@ class Binary(WidgetInterface):
super(Binary, self).__init__(field_name, model_name, window,
attrs=attrs)
+ self.filename = attrs.get('filename')
+
self.tooltips = Tooltips()
self.widget = gtk.HBox(spacing=0)
- self.wid_text = gtk.Entry()
- self.wid_text.set_property('activates_default', True)
- self.widget.pack_start(self.wid_text, expand=True, fill=True)
+ self.wid_size = gtk.Entry()
+ self.wid_size.set_width_chars(11)
+ self.wid_size.props.sensitive = False
+ if self.filename and attrs.get('filename_visible'):
+ self.wid_text = gtk.Entry()
+ self.wid_text.set_property('activates_default', True)
+ self.wid_text.connect('focus-in-event', lambda x, y: self._focus_in())
+ self.wid_text.connect('focus-out-event', lambda x, y: self._focus_out())
+ self.wid_text.connect_after('key_press_event', self.sig_key_press)
+ self.widget.pack_start(self.wid_text, expand=True, fill=True)
+ else:
+ self.wid_text = None
+ self.widget.pack_start(self.wid_size, expand=not self.filename,
+ fill=True)
self.but_new = gtk.Button()
img_new = gtk.Image()
- img_new.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ img_new.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
self.but_new.set_image(img_new)
self.but_new.set_relief(gtk.RELIEF_NONE)
self.but_new.connect('clicked', self.sig_new)
- self.tooltips.set_tip(self.but_new, _('Select a File'))
+ self.tooltips.set_tip(self.but_new, _('Select a File...'))
self.widget.pack_start(self.but_new, expand=False, fill=False)
+ if self.filename:
+ self.but_open = gtk.Button()
+ img_open = gtk.Image()
+ img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ self.but_open.set_image(img_open)
+ self.but_open.set_relief(gtk.RELIEF_NONE)
+ self.but_open.connect('clicked', self.sig_open)
+ self.tooltips.set_tip(self.but_open, _('Open...'))
+ self.widget.pack_start(self.but_open, expand=False, fill=False)
+ else:
+ self.but_open = None
+
self.but_save_as = gtk.Button()
img_save_as = gtk.Image()
- img_save_as.set_from_stock('tryton-save-as', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ img_save_as.set_from_stock('tryton-save-as',
+ gtk.ICON_SIZE_SMALL_TOOLBAR)
self.but_save_as.set_image(img_save_as)
self.but_save_as.set_relief(gtk.RELIEF_NONE)
self.but_save_as.connect('clicked', self.sig_save_as)
@@ -53,6 +87,10 @@ class Binary(WidgetInterface):
self.tooltips.enable()
+ @property
+ def filename_field(self):
+ return self.record.group.fields.get(self.filename)
+
def _readonly_set(self, value):
if value:
self.but_new.hide()
@@ -61,66 +99,105 @@ class Binary(WidgetInterface):
else:
self.but_new.show()
self.but_remove.show()
- self.widget.set_focus_chain([self.but_new, self.but_save_as,
- self.but_remove])
+ if self.wid_text:
+ focus_chain = [self.wid_text]
+ elif self.filename:
+ focus_chain = [self.but_new, self.but_open, self.but_save_as,
+ self.but_remove]
+ else:
+ focus_chain = [self.but_new, self.but_save_as, self.but_remove]
+ self.widget.set_focus_chain(focus_chain)
def grab_focus(self):
- return self.wid_text.grab_focus()
+ if self.wid_text:
+ return self.wid_text.grab_focus()
+ else:
+ return self.wid_size.grab_focus()
def sig_new(self, widget=None):
- try:
- filename = file_selection(_('Open...'),
- parent=self.window)
- if filename and self.field:
- self.field.set_client(self.record,
- base64.encodestring(open(filename, 'rb').read()))
- fname = self.attrs.get('fname_widget', False)
- if fname:
- self.parent.value = {fname:os.path.basename(filename)}
- self.display(self.record, self.field)
- except Exception, exception:
- warning(_('Error reading the file.\nError message:\n%s') \
- % str(exception), self.window, _('Error'))
+ filename = file_selection(_('Open...'),
+ parent=self.window)
+ if filename and self.field:
+ self.field.set_client(self.record,
+ base64.encodestring(open(filename, 'rb').read()))
+ if self.filename_field:
+ self.filename_field.set_client(self.record,
+ os.path.basename(filename))
+ self.display(self.record, self.field)
+
+ def sig_open(self, widget=None):
+ if not self.filename_field:
+ return
+ dtemp = tempfile.mkdtemp(prefix='tryton_')
+ filename = self.filename_field.get(self.record).replace(
+ os.sep, '_').replace(os.altsep or os.sep, '_')
+ file_path = os.path.join(dtemp, filename)
+ with open(file_path, 'wb') as fp:
+ fp.write(base64.decodestring(self.field.get(self.record)))
+ root, type_ = os.path.splitext(filename)
+ if type_:
+ type_ = type_[1:]
+ file_open(file_path, type_, self.window)
def sig_save_as(self, widget=None):
- try:
- filename = file_selection(_('Save As...'),
- parent=self.window, action=gtk.FILE_CHOOSER_ACTION_SAVE)
- if filename and self.field:
- file_p = open(filename,'wb+')
- file_p.write(base64.decodestring(
- self.field.get(self.record)))
- file_p.close()
- except Exception, exception:
- warning(_('Error writing the file.\nError message:\n%s') \
- % str(exception), self.window, _('Error'))
+ filename = ''
+ if self.filename_field:
+ filename = self.filename_field.get(self.record)
+ filename = file_selection(_('Save As...'), filename=filename,
+ parent=self.window, action=gtk.FILE_CHOOSER_ACTION_SAVE)
+ if filename:
+ with open(filename,'wb') as fp:
+ fp.write(base64.decodestring(self.field.get(self.record)))
def sig_remove(self, widget=None):
- if self.field:
- self.field.set_client(self.record, False)
- fname = self.attrs.get('fname_widget', False)
- if fname:
- self.parent.value = {fname:False}
+ self.field.set_client(self.record, False)
self.display(self.record, self.field)
+ def sig_key_press(self, widget, event, *args):
+ editable = self.wid_text and self.wid_text.get_editable()
+ if event.keyval == gtk.keysyms.F3 and editable:
+ self.sig_new(widget)
+ return True
+ elif event.keyval == gtk.keysyms.F2:
+ if self.filename:
+ self.sig_open(widget)
+ else:
+ self.sig_save_as(widget)
+ return True
+ return False
+
def display(self, record, field):
super(Binary, self).display(record, field)
if not field:
- self.wid_text.set_text('')
+ if self.wid_text:
+ self.wid_text.set_text('')
+ self.wid_size.set_text('')
+ if self.but_open:
+ self.but_open.set_sensitive(False)
self.but_save_as.set_sensitive(False)
return False
- self.wid_text.set_text(self._size_get(field.get(record)))
+ if self.wid_text:
+ self.wid_text.set_text(self.filename_field.get(record) or '')
+ self.wid_size.set_text(humanize(len(field.get(record) or [])))
+ if self.but_open:
+ self.but_open.set_sensitive(bool(field.get(record)))
self.but_save_as.set_sensitive(bool(field.get(record)))
return True
def display_value(self):
- return self.wid_text.get_text()
-
- def _size_get(self, value):
- return value and ('%d ' + _('bytes')) % len(value) or ''
+ if self.wid_text:
+ return self.wid_text.get_text()
+ else:
+ return ''
def set_value(self, record, field):
+ if self.wid_text:
+ self.filename_field.set_client(self.record,
+ self.wid_text.get_text() or False)
return
def _color_widget(self):
- return self.wid_text
+ if self.wid_text:
+ return self.wid_text
+ else:
+ return self.wid_size
diff --git a/tryton/gui/window/view_form/view/form_gtk/calendar.py b/tryton/gui/window/view_form/view/form_gtk/calendar.py
index 80b0807..d8afdf4 100644
--- a/tryton/gui/window/view_form/view/form_gtk/calendar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/calendar.py
@@ -27,7 +27,6 @@ class Calendar(WidgetInterface):
self.entry = self.widget.widget
self.entry.set_property('activates_default', True)
self.entry.connect('key_press_event', self.sig_key_press)
- self.entry.connect('populate-popup', self._populate_popup)
self.entry.connect('activate', self.sig_activate)
self.entry.connect('focus-in-event', lambda x, y: self._focus_in())
self.entry.connect('focus-out-event', lambda x, y: self._focus_out())
@@ -164,7 +163,6 @@ class DateTime(WidgetInterface):
self.entry = self.widget.widget
self.entry.set_property('activates_default', True)
self.entry.connect('key_press_event', self.sig_key_press)
- self.entry.connect('populate-popup', self._populate_popup)
self.entry.connect('focus-in-event', lambda x, y: self._focus_in())
self.entry.connect('focus-out-event', lambda x, y: self._focus_out())
diff --git a/tryton/gui/window/view_form/view/form_gtk/char.py b/tryton/gui/window/view_form/view/form_gtk/char.py
index a99550a..1fca396 100644
--- a/tryton/gui/window/view_form/view/form_gtk/char.py
+++ b/tryton/gui/window/view_form/view/form_gtk/char.py
@@ -1,7 +1,14 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+import gettext
+
+import gobject
import gtk
from interface import WidgetInterface
+from tryton.common import Tooltips
+
+_ = gettext.gettext
+
class Char(WidgetInterface):
"Char"
@@ -10,36 +17,78 @@ class Char(WidgetInterface):
super(Char, self).__init__(field_name, model_name, window, attrs=attrs)
self.widget = gtk.HBox()
- self.entry = gtk.Entry()
- self.entry.set_property('activates_default', True)
- self.entry.set_max_length(int(attrs.get('size', 0)))
- self.entry.set_width_chars(5)
-
- self.entry.connect('populate-popup', self._populate_popup)
- self.entry.connect('activate', self.sig_activate)
- self.entry.connect('focus-in-event', lambda x, y: self._focus_in())
- self.entry.connect('focus-out-event', lambda x, y: self._focus_out())
+ self.autocomplete = bool(attrs.get('autocomplete'))
+ if self.autocomplete:
+ self.entry = gtk.ComboBoxEntry()
+ self.entry_store = gtk.ListStore(gobject.TYPE_STRING)
+ self.entry.set_model(self.entry_store)
+ self.entry.set_text_column(0)
+ completion = gtk.EntryCompletion()
+ completion.set_model(self.entry_store)
+ completion.set_text_column(0)
+ self.entry.get_child().set_completion(completion)
+ focus_entry = self.entry.get_child()
+ else:
+ self.entry = gtk.Entry()
+ self.entry.set_property('activates_default', True)
+ self.entry.set_max_length(int(attrs.get('size', 0)))
+ self.entry.set_width_chars(5)
+ self.entry.connect('activate', self.sig_activate)
+ focus_entry = self.entry
+
+ focus_entry.connect('focus-in-event', lambda x, y: self._focus_in())
+ focus_entry.connect('focus-out-event', lambda x, y: self._focus_out())
self.widget.pack_start(self.entry)
def _color_widget(self):
+ if self.autocomplete:
+ return self.entry.get_child()
return self.entry
def grab_focus(self):
return self.entry.grab_focus()
def set_value(self, record, field):
- return field.set_client(record, self.entry.get_text() or False)
+ entry = self.entry.get_child() if self.autocomplete else self.entry
+ value = entry.get_text() or False
+ return field.set_client(record, value)
def display(self, record, field):
super(Char, self).display(record, field)
+ if record and self.autocomplete:
+ autocompletion = record.autocompletion.get(self.field_name, [])
+ current = [elem[0] for elem in self.entry_store]
+ if autocompletion != current:
+ self.entry_store.clear()
+ for row in autocompletion:
+ self.entry_store.append((row,))
+ elif self.autocomplete:
+ self.entry_store.clear()
if not field:
- self.entry.set_text('')
- return False
- self.entry.set_text(field.get(record) or '')
+ value = ''
+ else:
+ value = field.get(record) or ''
+ self.display_value(value)
+
+ def display_value(self, value):
+ if not self.autocomplete:
+ self.entry.set_text(value)
+ return
+ for idx, row in enumerate(self.entry_store):
+ if row[0] == value:
+ self.entry.set_active(idx)
+ return
+ else:
+ self.entry.get_child().set_text(value)
def _readonly_set(self, value):
+ sensitivity = {True: gtk.SENSITIVITY_OFF, False: gtk.SENSITIVITY_AUTO}
super(Char, self)._readonly_set(value)
- self.entry.set_editable(not value)
+ if self.autocomplete:
+ self.entry.get_child().set_editable(not value)
+ self.entry.set_button_sensitivity(sensitivity[value])
+ else:
+ self.entry.set_editable(not value)
if value:
self.widget.set_focus_chain([])
else:
@@ -50,4 +99,21 @@ class Sha(Char):
def __init__(self, field_name, model_name, window, attrs=None):
super(Sha, self).__init__(field_name, model_name, window, attrs=attrs)
- self.entry.set_visibility(False)
+ self.entry.props.visibility = False
+
+ self.visibility_checkbox = gtk.CheckButton()
+ self.visibility_checkbox.connect('toggled', self.toggle_visibility)
+ Tooltips().set_tip(self.visibility_checkbox, _('Show plain text'))
+ self.widget.pack_start(self.visibility_checkbox, expand=False)
+
+ def _readonly_set(self, value):
+ super(Char, self)._readonly_set(value)
+ self.entry.set_editable(not value)
+ self.visibility_checkbox.props.visible = not value
+ if value:
+ self.widget.set_focus_chain([])
+ else:
+ self.widget.set_focus_chain([self.entry, self.visibility_checkbox])
+
+ def toggle_visibility(self, button):
+ self.entry.props.visibility = not self.entry.props.visibility
diff --git a/tryton/gui/window/view_form/view/form_gtk/checkbox.py b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
index acd5d9f..f3d5bc3 100644
--- a/tryton/gui/window/view_form/view/form_gtk/checkbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/checkbox.py
@@ -14,7 +14,6 @@ class CheckBox(WidgetInterface):
self.widget = gtk.CheckButton()
self.widget.connect('focus-in-event', lambda x, y: self._focus_in())
self.widget.connect('focus-out-event', lambda x, y: self._focus_out())
- self.widget.connect('button_press_event', self._menu_open)
self.widget.connect_after('toggled', self.sig_activate)
def _readonly_set(self, value):
diff --git a/tryton/gui/window/view_form/view/form_gtk/float.py b/tryton/gui/window/view_form/view/form_gtk/float.py
index 0c53fab..71740ca 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float.py
@@ -1,7 +1,8 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from integer import Integer
+import gtk
import locale
+from integer import Integer
class Float(Integer):
@@ -11,6 +12,7 @@ class Float(Integer):
super(Float, self).__init__(field_name, model_name, window,
attrs=attrs)
self.digits = (16, 2)
+ self.entry.connect('key-press-event', self.key_press_event)
def set_value(self, record, field):
try:
@@ -32,6 +34,12 @@ class Float(Integer):
self.entry.set_text(locale.format('%.' + str(digits[1]) + 'f',
field.get(record) or 0.0, True))
+ def key_press_event(self, widget, event):
+ for name in ('KP_Decimal', 'KP_Separator'):
+ if event.keyval == gtk.gdk.keyval_from_name(name):
+ event.keyval = int(gtk.gdk.unicode_to_keyval(
+ ord(locale.localeconv()['decimal_point'])))
+
def sig_insert_text(self, entry, new_text, new_text_length, position):
value = entry.get_text()
position = entry.get_position()
diff --git a/tryton/gui/window/view_form/view/form_gtk/float_time.py b/tryton/gui/window/view_form/view/form_gtk/float_time.py
index 738b09e..3fa5c60 100644
--- a/tryton/gui/window/view_form/view/form_gtk/float_time.py
+++ b/tryton/gui/window/view_form/view/form_gtk/float_time.py
@@ -17,7 +17,6 @@ class FloatTime(WidgetInterface):
self.entry.set_alignment(1.0)
self.entry.set_property('activates_default', True)
- self.entry.connect('populate-popup', self._populate_popup)
self.entry.connect('activate', self.sig_activate)
self.entry.connect('focus-in-event', lambda x, y: self._focus_in())
self.entry.connect('focus-out-event', lambda x, y: self._focus_out())
diff --git a/tryton/gui/window/view_form/view/form_gtk/image.py b/tryton/gui/window/view_form/view/form_gtk/image.py
index c5d38b5..124149b 100644
--- a/tryton/gui/window/view_form/view/form_gtk/image.py
+++ b/tryton/gui/window/view_form/view/form_gtk/image.py
@@ -1,10 +1,12 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
+from __future__ import with_statement
import gtk
import gettext
import os
+import tempfile
from base64 import encodestring, decodestring
-from tryton.common import file_selection, Tooltips
+from tryton.common import file_selection, Tooltips, file_open
from tryton.config import PIXMAPS_DIR
from interface import WidgetInterface
import urllib
@@ -20,6 +22,7 @@ class Image(WidgetInterface):
super(Image, self).__init__(field_name, model_name, window,
attrs=attrs)
+ self.filename = attrs.get('filename')
self.height = int(attrs.get('img_height', 100))
self.width = int(attrs.get('img_width', 300))
@@ -38,37 +41,55 @@ class Image(WidgetInterface):
self.event.add(self.image)
self.widget.pack_start(self.event, expand=True, fill=True)
- self.alignment = gtk.Alignment(xalign=0.5, yalign=0.5)
- self.hbox = gtk.HBox(spacing=0)
- self.but_add = gtk.Button()
- img_add = gtk.Image()
- img_add.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
- self.but_add.set_image(img_add)
- self.but_add.set_relief(gtk.RELIEF_NONE)
- self.but_add.connect('clicked', self.sig_add)
- self.tooltips.set_tip(self.but_add, _('Set Image'))
- self.hbox.pack_start(self.but_add, expand=False, fill=False)
-
- self.but_save_as = gtk.Button()
- img_save_as = gtk.Image()
- img_save_as.set_from_stock('tryton-save', gtk.ICON_SIZE_SMALL_TOOLBAR)
- self.but_save_as.set_image(img_save_as)
- self.but_save_as.set_relief(gtk.RELIEF_NONE)
- self.but_save_as.connect('clicked', self.sig_save_as)
- self.tooltips.set_tip(self.but_save_as, _('Save As'))
- self.hbox.pack_start(self.but_save_as, expand=False, fill=False)
-
- self.but_remove = gtk.Button()
- img_remove = gtk.Image()
- img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR)
- self.but_remove.set_image(img_remove)
- self.but_remove.set_relief(gtk.RELIEF_NONE)
- self.but_remove.connect('clicked', self.sig_remove)
- self.tooltips.set_tip(self.but_remove, _('Clear'))
- self.hbox.pack_start(self.but_remove, expand=False, fill=False)
-
- self.alignment.add(self.hbox)
- self.widget.pack_start(self.alignment, expand=False, fill=False)
+ if not attrs.get('readonly'):
+ alignment = gtk.Alignment(xalign=0.5, yalign=0.5)
+ hbox = gtk.HBox(spacing=0)
+ self.but_add = gtk.Button()
+ img_add = gtk.Image()
+ img_add.set_from_stock('tryton-find', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ self.but_add.set_image(img_add)
+ self.but_add.set_relief(gtk.RELIEF_NONE)
+ self.but_add.connect('clicked', self.sig_add)
+ self.tooltips.set_tip(self.but_add, _('Select an Image...'))
+ hbox.pack_start(self.but_add, expand=False, fill=False)
+
+ if self.filename:
+ self.but_open = gtk.Button()
+ img_open = gtk.Image()
+ img_open.set_from_stock('tryton-open', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ self.but_open.set_image(img_open)
+ self.but_open.set_relief(gtk.RELIEF_NONE)
+ self.but_open.connect('clicked', self.sig_open)
+ self.tooltips.set_tip(self.but_open, _('Open...'))
+ hbox.pack_start(self.but_open, expand=False, fill=False)
+ else:
+ self.but_open = None
+
+ self.but_save_as = gtk.Button()
+ img_save_as = gtk.Image()
+ img_save_as.set_from_stock('tryton-save', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ self.but_save_as.set_image(img_save_as)
+ self.but_save_as.set_relief(gtk.RELIEF_NONE)
+ self.but_save_as.connect('clicked', self.sig_save_as)
+ self.tooltips.set_tip(self.but_save_as, _('Save As...'))
+ hbox.pack_start(self.but_save_as, expand=False, fill=False)
+
+ self.but_remove = gtk.Button()
+ img_remove = gtk.Image()
+ img_remove.set_from_stock('tryton-clear', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ self.but_remove.set_image(img_remove)
+ self.but_remove.set_relief(gtk.RELIEF_NONE)
+ self.but_remove.connect('clicked', self.sig_remove)
+ self.tooltips.set_tip(self.but_remove, _('Clear'))
+ hbox.pack_start(self.but_remove, expand=False, fill=False)
+
+ alignment.add(hbox)
+ self.widget.pack_start(alignment, expand=False, fill=False)
+ else:
+ self.but_add = None
+ self.but_open = None
+ self.but_save_as = None
+ self.but_remove = None
self.tooltips.enable()
@@ -76,14 +97,23 @@ class Image(WidgetInterface):
self.update_img()
+ @property
+ def filename_field(self):
+ return self.record.group.fields.get(self.filename)
+
def grab_focus(self):
return self.image.grab_focus()
def _readonly_set(self, value):
self._readonly = value
- self.but_add.set_sensitive(not value)
- self.but_save_as.set_sensitive(not value)
- self.but_remove.set_sensitive(not value)
+ if self.but_add:
+ self.but_add.set_sensitive(not value)
+ if self.but_open:
+ self.but_open.set_sensitive(not value)
+ if self.but_save_as:
+ self.but_save_as.set_sensitive(not value)
+ if self.but_remove:
+ self.but_remove.set_sensitive(not value)
def sig_add(self, widget):
filter_all = gtk.FileFilter()
@@ -102,14 +132,34 @@ class Image(WidgetInterface):
if filename:
self.field.set_client(self.record,
encodestring(open(filename, 'rb').read()))
+ if self.filename_field:
+ self.filename_field.set_client(self.record,
+ os.path.basename(filename))
self.update_img()
+ def sig_open(self, widget=None):
+ if not self.filename_field:
+ return
+ dtemp = tempfile.mkdtemp(prefix='tryton_')
+ filename = self.filename_field.get(self.record).replace(
+ os.sep, '_').replace(os.altsep or os.sep, '_')
+ file_path = os.path.join(dtemp, filename)
+ with open(file_path, 'wb') as fp:
+ fp.write(decodestring(self.field.get(self.record)))
+ root, type_ = os.path.splitext(filename)
+ if type_:
+ type_ = type_[1:]
+ file_open(file_path, type_, self.window)
+
def sig_save_as(self, widget):
- filename = file_selection(_('Save As...'), parent=self.window,
- action=gtk.FILE_CHOOSER_ACTION_SAVE)
+ filename = ''
+ if self.filename_field:
+ filename = self.filename_field.get(self.record)
+ filename = file_selection(_('Save As...'), filename=filename,
+ parent=self.window, action=gtk.FILE_CHOOSER_ACTION_SAVE)
if filename:
- open(filename, 'wb').write(decodestring(
- self.field.get_client(self.record)))
+ with open(filename, 'wb') as fp:
+ fp.write(decodestring(self.field.get(self.record)))
def sig_remove(self, widget):
self.field.set_client(self.record, False)
@@ -154,21 +204,21 @@ class Image(WidgetInterface):
data = decodestring(value)
pixbuf = None
- for ftype in ('jpeg', 'gif', 'png', 'bmp'):
+ for ftype in ('jpeg', 'gif', 'png', 'bmp', 'svg'):
try:
loader = gtk.gdk.PixbufLoader(ftype)
loader.write(data, len(data))
- pixbuf = loader.get_pixbuf()
- loader.close()
except Exception:
continue
+ pixbuf = loader.get_pixbuf()
if pixbuf:
break
if not pixbuf:
loader = gtk.gdk.PixbufLoader('png')
loader.write(NOIMAGE, len(NOIMAGE))
pixbuf = loader.get_pixbuf()
- loader.close()
+
+ loader.close()
img_height = pixbuf.get_height()
if img_height > self.height:
diff --git a/tryton/gui/window/view_form/view/form_gtk/interface.py b/tryton/gui/window/view_form/view/form_gtk/interface.py
index 08d6db1..b1644d4 100644
--- a/tryton/gui/window/view_form/view/form_gtk/interface.py
+++ b/tryton/gui/window/view_form/view/form_gtk/interface.py
@@ -1,67 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
import gtk
-import tryton.rpc as rpc
-from tryton.common import COLORS, process_exception, message
-from tryton.config import TRYTON_ICON
-from tryton.gui.window.view_form.view.form_gtk.preference \
- import WidgetFieldPreference
-import gettext
-
-_ = gettext.gettext
-
-def field_pref_set(field, name, model_name, value, client_value, dependance,
- window, reset=False):
- dialog = WidgetFieldPreference(window, reset=reset)
- if dependance is None:
- dependance = []
- entry = dialog.entry_field_name
- entry.set_text(name)
- entry = dialog.entry_default_value
- entry.set_text((client_value and str(client_value)) or _('<empty>'))
-
- radio = dialog.radio_current_user
-
- vbox = dialog.vbox_condition
- widgets = {}
- addwidget = False
- widget = None
- if dependance:
- widget = gtk.RadioButton(widget, _('Always'))
- vbox.pack_start(widget)
- for (fname, name, fvalue, dvalue) in dependance:
- if fvalue:
- addwidget = True
- widget = gtk.RadioButton(widget, name + ' = ' + str(dvalue))
- widgets[(fname, fvalue)] = widget
- vbox.pack_start(widget)
- if not len(dependance) or not addwidget:
- vbox.pack_start(gtk.Label(_('Always applicable!')))
- vbox.show_all()
-
- res = dialog.run()
-
- clause = False
- for val, widget in widgets.iteritems():
- if widget.get_active():
- clause = val[0] + '=' + str(val[1])
- break
- user = False
- if radio.get_active():
- user = rpc._USER
- if res == gtk.RESPONSE_OK:
- if reset:
- method = 'reset_default'
- else:
- method = 'set_default'
- args = ('model', 'ir.default', method, model_name, field, clause,
- value, user, rpc.CONTEXT)
- try:
- rpc.execute(*args)
- except Exception, exception:
- process_exception(exception, window, *args)
- return True
- return False
+from tryton.common import COLORS
class WidgetInterface(object):
@@ -75,14 +15,6 @@ class WidgetInterface(object):
for attr_name in ('readonly', 'invisible'):
if attr_name in self.attrs:
self.attrs[attr_name] = bool(int(self.attrs[attr_name]))
- self._menu_entries = [
- (_('Set to default value'),
- lambda x: self._menu_sig_default_get(), 1),
- (_('Set as default'),
- lambda x: self._menu_sig_default_set(), 1),
- (_('Reset default'),
- lambda x: self._menu_sig_default_set(reset=True), 1),
- ]
self.widget = None
self.position = 0
self.colors = {}
@@ -104,39 +36,6 @@ class WidgetInterface(object):
def destroy(self):
pass
- def _menu_sig_default_get(self):
- if self.field.get_state_attrs(self.record).get('readonly', False):
- return False
- model_name = self.field.parent.model_name
- args = ('model', model_name, 'default_get', [self.attrs['name']],
- rpc.CONTEXT)
- try:
- res = rpc.execute(*args)
- except Exception, exception:
- process_exception(exception, self.window, *args)
- self.field.set_default(self.record,
- res.get(self.attrs['name'], False), modified=True)
- self.display(self.record, self.field)
-
- def _menu_sig_default_set(self, reset=False):
- deps = []
- for wname, wviews in self.view.widgets.iteritems():
- for wview in wviews:
- if wview.field.attrs.get('change_default', False):
- wvalue = wview.field.get(self.record)
- name = wview.field.attrs.get('string', wname)
- value = wview.field.get_client(self.record)
- deps.append((wname, name, wvalue, value))
- if not self.field.validate(self.record):
- message(_('Invalid field!'), parent=self.window)
- return
- value = self.field.get_default(self.record)
- client_value = self.display_value()
- model_name = self.field.parent.model_name
- field_pref_set(self.field_name,
- self.attrs.get('string', self.field_name), model_name,
- value, client_value, deps, self.window, reset=reset)
-
def sig_activate(self, widget=None):
# emulate a focus_out so that the onchange is called if needed
self._focus_out()
@@ -167,6 +66,7 @@ class WidgetInterface(object):
'fg_color_normal': style.fg[gtk.STATE_NORMAL],
'fg_color_insensitive': style.fg[gtk.STATE_INSENSITIVE],
'text_color_normal': style.text[gtk.STATE_NORMAL],
+ 'text_color_insensitive': style.text[gtk.STATE_INSENSITIVE],
}
if COLORS.get(name):
@@ -213,38 +113,6 @@ class WidgetInterface(object):
def display_value(self):
return self.field.get_client(self.record)
- def _menu_open(self, obj, event):
- if event.button == 3:
- menu = gtk.Menu()
- for stock_id, callback, sensitivity in self._menu_entries:
- if stock_id:
- item = gtk.ImageMenuItem(stock_id)
- if callback:
- item.connect("activate", callback)
- item.set_sensitive(sensitivity)
- else:
- item = gtk.SeparatorMenuItem()
- item.show()
- menu.append(item)
- menu.popup(None, None, None, event.button, event.time)
- return True
-
- def _populate_popup(self, widget, menu):
- menu_entries = []
- menu_entries.append((None, None, None))
- menu_entries += self._menu_entries
- for stock_id, callback, sensitivity in menu_entries:
- if stock_id:
- item = gtk.ImageMenuItem(stock_id)
- if callback:
- item.connect("activate", callback)
- item.set_sensitive(sensitivity)
- else:
- item = gtk.SeparatorMenuItem()
- item.show()
- menu.append(item)
- return True
-
def _focus_in(self):
pass
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2many.py b/tryton/gui/window/view_form/view/form_gtk/many2many.py
index e28dd15..bbee21c 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2many.py
@@ -25,7 +25,6 @@ class Many2Many(WidgetInterface):
self.wid_text = gtk.Entry()
self.wid_text.set_property('width_chars', 13)
self.wid_text.connect('activate', self._sig_activate)
- self.wid_text.connect('button_press_event', self._menu_open)
hbox.pack_start(self.wid_text, expand=True, fill=True)
hbox.pack_start(gtk.VSeparator(), padding=2, expand=False, fill=False)
@@ -61,9 +60,11 @@ class Many2Many(WidgetInterface):
hbox.set_focus_chain([self.wid_text])
self.screen = Screen(attrs['relation'], self.window,
- view_type=['tree'], views_preload=attrs.get('views', {}),
+ mode=['tree'], views_preload=attrs.get('views', {}),
row_activate=self._on_activate)
+ if not isinstance(self.screen.window, gtk.Dialog):
+ self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
@@ -94,6 +95,15 @@ class Many2Many(WidgetInterface):
self.widget.destroy()
del self.widget
+ def color_set(self, name):
+ super(Many2Many, self).color_set(name)
+ widget = self._color_widget()
+ # if the style to apply is different from readonly then insensitive
+ # cellrenderers should use the default insensitive color
+ if name != 'readonly':
+ widget.modify_text(gtk.STATE_INSENSITIVE,
+ self.colors['text_color_insensitive'])
+
def _sig_add(self, *args):
domain = self.field.domain_get(self.record)
context = self.field.context_get(self.record)
@@ -139,6 +149,8 @@ class Many2Many(WidgetInterface):
win = WinForm(self.screen, self.window)
if win.run():
self.screen.current_record.save()
+ else:
+ self.screen.current_record.cancel()
win.destroy()
def _readonly_set(self, value):
diff --git a/tryton/gui/window/view_form/view/form_gtk/many2one.py b/tryton/gui/window/view_form/view/form_gtk/many2one.py
index 5b38326..309c1b2 100644
--- a/tryton/gui/window/view_form/view/form_gtk/many2one.py
+++ b/tryton/gui/window/view_form/view/form_gtk/many2one.py
@@ -26,19 +26,18 @@ class Many2One(WidgetInterface):
self.widget = gtk.HBox(spacing=0)
self.widget.set_property('sensitive', True)
- self.widget.connect('focus-in-event', lambda x, y: self._focus_in())
- self.widget.connect('focus-out-event', lambda x, y: self._focus_out())
self.wid_text = gtk.Entry()
self.wid_text.set_property('width-chars', 13)
self.wid_text.set_property('activates_default', True)
self.wid_text.connect_after('key_press_event', self.sig_key_press)
self.wid_text.connect('populate-popup', self._populate_popup)
+ self.wid_text.connect('focus-in-event', lambda x, y: self._focus_in())
+ self.wid_text.connect('focus-out-event', lambda x, y: self._focus_out())
self.wid_text.connect_after('changed', self.sig_changed)
self.changed = True
- self.wid_text.connect('activate', self.sig_activate)
- self.wid_text.connect_after('focus-out-event',
- self.sig_activate)
+ self.wid_text.connect_after('activate', self.sig_activate)
+ self.wid_text.connect_after('focus-out-event', self.sig_activate)
self.focus_out = True
self.widget.pack_start(self.wid_text, expand=True, fill=True)
@@ -69,42 +68,9 @@ class Many2One(WidgetInterface):
self._readonly = False
- self.completion = gtk.EntryCompletion()
- self.liststore = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING)
- if attrs.get('completion', False):
- try:
- result = rpc.execute('model', self.attrs['relation'],
- 'search_read', [], 0, None, None, ['rec_name'],
- rpc.CONTEXT)
- names = [(x['id'], x['rec_name']) for x in result]
- except Exception, exception:
- common.process_exception(exception, self.window)
- names = []
- if names:
- self.load_completion(names)
-
def grab_focus(self):
return self.wid_text.grab_focus()
- def load_completion(self, names):
- self.completion.set_match_func(self.match_func, None)
- self.completion.connect("match-selected", self.on_completion_match)
- self.wid_text.set_completion(self.completion)
- self.completion.set_model(self.liststore)
- self.completion.set_text_column(1)
- for object_id, name in names:
- self.liststore.append([object_id, name])
-
- def match_func(self, completion, key_string, iter, data):
- model = self.completion.get_model()
- modelstr = model[iter][1].lower()
- return modelstr.startswith(key_string)
-
- def on_completion_match(self, completion, model, iter):
- self.field.set_client(self.record, int(model[iter][0]))
- self.display(self.record, self.field)
- return True
-
def _readonly_set(self, value):
self._readonly = value
self.wid_text.set_editable(not value)
@@ -127,8 +93,6 @@ class Many2One(WidgetInterface):
self.focus_out = False
if not value:
- if not key_press and not event:
- widget.emit_stop_by_name('activate')
if not self._readonly and (self.wid_text.get_text() or \
(self.field.get_state_attrs(
self.record)['required']) and key_press):
@@ -183,21 +147,18 @@ class Many2One(WidgetInterface):
domain = self.field.domain_get(self.record)
context = self.field.context_get(self.record)
return Screen(self.attrs['relation'], self.window, domain=domain,
- context=context, view_type=['form'],
+ context=context, mode=['form'],
views_preload=self.attrs.get('views', {}))
def sig_new(self, *args):
self.focus_out = False
screen = self.get_screen()
win = WinForm(screen, self.window, new=True)
- while win.run():
+ if win.run():
if screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
self.field.set_client(self.record, value)
- break
- else:
- screen.display()
win.destroy()
self.focus_out = True
@@ -313,7 +274,6 @@ class Many2One(WidgetInterface):
return False
menu_entries = []
menu_entries.append((None, None, None))
- menu_entries += self._menu_entries
menu_entries.append((None, None, None))
menu_entries.append((_('Actions'),
lambda x: self.click_and_action('form_action'),0))
diff --git a/tryton/gui/window/view_form/view/form_gtk/one2many.py b/tryton/gui/window/view_form/view/form_gtk/one2many.py
index 23c03f7..a42b3e9 100644
--- a/tryton/gui/window/view_form/view/form_gtk/one2many.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2many.py
@@ -21,35 +21,17 @@ class One2Many(WidgetInterface):
super(One2Many, self).__init__(field_name, model_name, window,
attrs=attrs)
- self.widget = gtk.VBox(homogeneous=False, spacing=5)
+ self.widget = gtk.VBox(homogeneous=False, spacing=2)
self._readonly = True
hbox = gtk.HBox(homogeneous=False, spacing=0)
- menubar = gtk.MenuBar()
- if hasattr(menubar, 'set_pack_direction') and \
- hasattr(menubar, 'set_child_pack_direction'):
- menubar.set_pack_direction(gtk.PACK_DIRECTION_LTR)
- menubar.set_child_pack_direction(gtk.PACK_DIRECTION_LTR)
-
- menuitem_title = gtk.ImageMenuItem(stock_id='tryton-preferences')
-
- menu_title = gtk.Menu()
- menuitem_set_to_default = gtk.MenuItem(_('Set to default value'), True)
- menuitem_set_to_default.connect('activate',
- lambda *x: self._menu_sig_default_get())
- menu_title.add(menuitem_set_to_default)
- menuitem_set_default = gtk.MenuItem(_('Set as default'), True)
- menuitem_set_default.connect('activate',
- lambda *x: self._menu_sig_default_set())
- menu_title.add(menuitem_set_default)
- menuitem_reset_default = gtk.MenuItem(_('Reset default'), True)
- menuitem_reset_default.connect('activate',
- lambda *x: self._menu_sig_default_set(reset=True))
- menu_title.add(menuitem_reset_default)
- menuitem_title.set_submenu(menu_title)
-
- menubar.add(menuitem_title)
- hbox.pack_start(menubar, expand=True, fill=True)
+ hbox.set_border_width(2)
+
+ label = gtk.Label(attrs.get('string', ''))
+ label.set_alignment(0.0, 0.5)
+ hbox.pack_start(label, expand=True, fill=True)
+
+ hbox.pack_start(gtk.VSeparator(), expand=False, fill=True)
tooltips = common.Tooltips()
@@ -104,7 +86,7 @@ class One2Many(WidgetInterface):
self.but_del = gtk.Button()
tooltips.set_tip(self.but_del, _('Delete selected record'))
- self.but_del.connect('clicked', self._sig_remove)
+ self.but_del.connect('clicked', self._sig_remove, False)
img_del = gtk.Image()
img_del.set_from_stock('tryton-delete', gtk.ICON_SIZE_SMALL_TOOLBAR)
img_del.set_alignment(0.5, 0.5)
@@ -112,6 +94,16 @@ class One2Many(WidgetInterface):
self.but_del.set_relief(gtk.RELIEF_NONE)
hbox.pack_start(self.but_del, expand=False, fill=False)
+ self.but_undel = gtk.Button()
+ tooltips.set_tip(self.but_undel, _('Undelete selected record'))
+ self.but_undel.connect('clicked', self._sig_undelete)
+ img_undel = gtk.Image()
+ img_undel.set_from_stock('tryton-undo', gtk.ICON_SIZE_SMALL_TOOLBAR)
+ img_undel.set_alignment(0.5, 0.5)
+ self.but_undel.add(img_undel)
+ self.but_undel.set_relief(gtk.RELIEF_NONE)
+ hbox.pack_start(self.but_undel, expand=False, fill=False)
+
hbox.pack_start(gtk.VSeparator(), expand=False, fill=True)
self.but_pre = gtk.Button()
@@ -156,16 +148,20 @@ class One2Many(WidgetInterface):
tooltips.enable()
- self.widget.pack_start(hbox, expand=False, fill=True)
+ frame = gtk.Frame()
+ frame.add(hbox)
+ frame.set_shadow_type(gtk.SHADOW_OUT)
+ self.widget.pack_start(frame, expand=False, fill=True)
self.screen = Screen(attrs['relation'], self.window,
- view_type=attrs.get('mode', 'tree,form').split(','),
+ mode=attrs.get('mode', 'tree,form').split(','),
views_preload=attrs.get('views', {}),
row_activate=self._on_activate,
exclude_field=attrs.get('relation_field', None))
self.screen.signal_connect(self, 'record-message', self._sig_label)
- menuitem_title.get_child().set_text(attrs.get('string', ''))
+ if not isinstance(self.screen.window, gtk.Dialog):
+ self.screen.widget.set_size_request(0, 0)
self.widget.pack_start(self.screen.widget, expand=True, fill=True)
self.screen.widget.connect('key_press_event', self.on_keypress)
@@ -193,6 +189,9 @@ class One2Many(WidgetInterface):
and widget == self.screen.widget:
self._sig_remove(widget)
return False
+ if event.keyval == gtk.keysyms.Insert and widget == self.screen.widget:
+ self._sig_undelete(widget)
+ return False
def destroy(self):
self.screen.destroy()
@@ -204,10 +203,20 @@ class One2Many(WidgetInterface):
self.screen.switch_view()
self.color_set(self.color_name)
+ def color_set(self, name):
+ super(One2Many, self).color_set(name)
+ widget = self._color_widget()
+ # if the style to apply is different from readonly then insensitive
+ # cellrenderers should use the default insensitive color
+ if name != 'readonly':
+ widget.modify_text(gtk.STATE_INSENSITIVE,
+ self.colors['text_color_insensitive'])
+
def _readonly_set(self, value):
self._readonly = value
self.but_new.set_sensitive(not value)
self.but_del.set_sensitive(not value)
+ self.but_undel.set_sensitive(not value)
if self.attrs.get('add_remove'):
self.wid_text.set_sensitive(not value)
self.but_add.set_sensitive(not value)
@@ -215,8 +224,10 @@ class One2Many(WidgetInterface):
def _sig_new(self, widget):
self.view.set_value()
- if self.screen.current_record:
- if not self.screen.current_record.validate():
+ record = self.screen.current_record
+ if record:
+ fields = self.screen.current_view.get_fields()
+ if not record.validate(fields):
self.screen.display()
return
ctx = {}
@@ -229,27 +240,19 @@ class One2Many(WidgetInterface):
self.screen.new(context=ctx)
self.screen.current_view.widget.set_sensitive(True)
else:
- readonly = False
- domain = []
- if self.field and self.record:
- readonly = self.field.get_state_attrs(self.record
- ).get('readonly', False)
- domain = self.field.domain_get(self.record)
win = WinForm(self.screen, self.window, new=True,
- context=ctx)
- while True:
- if win.run():
- win.new()
- else:
- break
+ many=True, context=ctx)
+ win.run()
win.destroy()
if sequence:
self.screen.group.set_sequence(field=sequence)
def _sig_edit(self, widget=None):
self.view.set_value()
- if self.screen.current_record:
- if not self.screen.current_record.validate():
+ record = self.screen.current_record
+ if record:
+ fields = self.screen.current_view.get_fields()
+ if not record.validate(fields):
self.screen.display()
return
win = WinForm(self.screen, self.window)
@@ -258,16 +261,20 @@ class One2Many(WidgetInterface):
def _sig_next(self, widget):
self.view.set_value()
- if self.screen.current_record:
- if not self.screen.current_record.validate():
+ record = self.screen.current_record
+ if record:
+ fields = self.screen.current_view.get_fields()
+ if not record.validate(fields):
self.screen.display()
return
self.screen.display_next()
def _sig_previous(self, widget):
self.view.set_value()
- if self.screen.current_record:
- if not self.screen.current_record.validate():
+ record = self.screen.current_record
+ if record:
+ fields = self.screen.current_view.get_fields()
+ if not record.validate(fields):
self.screen.display()
return
self.screen.display_prev()
@@ -275,6 +282,9 @@ class One2Many(WidgetInterface):
def _sig_remove(self, widget, remove=False):
self.screen.remove(remove=remove)
+ def _sig_undelete(self, button):
+ self.screen.unremove()
+
def _sig_activate(self, *args):
self._sig_add()
self.wid_text.grab_focus()
@@ -317,23 +327,26 @@ class One2Many(WidgetInterface):
def _sig_label(self, screen, signal_data):
name = '_'
- if signal_data[0] >= 0:
- name = str(signal_data[0] + 1)
+ if signal_data[0] >= 1:
+ name = str(signal_data[0])
self.but_open.set_sensitive(True)
self.but_del.set_sensitive(not self._readonly)
if self.attrs.get('add_remove'):
self.but_remove.set_sensitive(not self._readonly)
- if signal_data[0] + 1 < signal_data[1]:
+ if signal_data[0] < signal_data[1]:
self.but_next.set_sensitive(True)
else:
self.but_next.set_sensitive(False)
- if signal_data[0] > 0:
+ if signal_data[0] > 1:
self.but_pre.set_sensitive(True)
else:
self.but_pre.set_sensitive(False)
+ self.but_del.set_sensitive(not self._readonly)
+ self.but_undel.set_sensitive(not self._readonly)
else:
self.but_open.set_sensitive(False)
self.but_del.set_sensitive(False)
+ self.but_undel.set_sensitive(False)
self.but_next.set_sensitive(False)
self.but_pre.set_sensitive(False)
if self.attrs.get('add_remove'):
@@ -371,7 +384,7 @@ class One2Many(WidgetInterface):
def set_value(self, record, field):
self.screen.current_view.set_value()
- if self.screen.is_modified():
- record.modified = True
+ if self.screen.modified(): # TODO check if required
record.modified_fields.setdefault(field.name)
+ record.signal('record-modified')
return True
diff --git a/tryton/gui/window/view_tree/__init__.py b/tryton/gui/window/view_form/view/form_gtk/one2one.py
similarity index 68%
rename from tryton/gui/window/view_tree/__init__.py
rename to tryton/gui/window/view_form/view/form_gtk/one2one.py
index 3c3da70..3af021f 100644
--- a/tryton/gui/window/view_tree/__init__.py
+++ b/tryton/gui/window/view_form/view/form_gtk/one2one.py
@@ -1,4 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
-from view_tree import *
-from view_tree_sc import *
+from many2one import Many2One
+
+
+class One2One(Many2One):
+ pass
diff --git a/tryton/gui/window/view_form/view/form_gtk/parser.py b/tryton/gui/window/view_form/view/form_gtk/parser.py
index 8fe3fd3..c44c6ea 100644
--- a/tryton/gui/window/view_form/view/form_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/form_gtk/parser.py
@@ -28,6 +28,7 @@ class Button(object):
if attrs.get('icon', False):
try:
stock = attrs['icon']
+ common.ICONFACTORY.register_icon(stock)
icon = gtk.Image()
icon.set_from_stock(stock, gtk.ICON_SIZE_SMALL_TOOLBAR)
self.widget.set_image(icon)
@@ -82,7 +83,7 @@ class Button(object):
}, self.form.window, context=ctx)
else:
raise Exception('Unallowed button type')
- self.form.screen.reload(writen=True)
+ self.form.screen.reload(written=True)
else:
self.form.screen.display()
@@ -101,6 +102,7 @@ class Button(object):
stock = state_changes['icon']
if stock:
try:
+ common.ICONFACTORY.register_icon(stock)
icon = gtk.Image()
icon.set_from_stock(stock, gtk.ICON_SIZE_SMALL_TOOLBAR)
self.widget.set_image(icon)
@@ -290,9 +292,10 @@ class _container(object):
class ParserForm(ParserInterface):
- def __init__(self, window, parent=None, attrs=None, screen=None):
+ def __init__(self, window, parent=None, attrs=None, screen=None,
+ children_field=None):
super(ParserForm, self).__init__(window, parent=parent, attrs=attrs,
- screen=screen)
+ screen=screen, children_field=children_field)
self.widget_id = 0
def parse(self, model_name, root_node, fields, notebook=None, paned=None,
@@ -320,10 +323,10 @@ class ParserForm(ParserInterface):
attrs = common.node_attributes(node)
if not cursor_widget:
if attrs.get('name') and fields.get(attrs['name']) \
- and not fields[attrs['name']].attrs.get('exclude_field',
- False):
+ and attrs['name'] != self.screen.exclude_field:
cursor_widget = attrs.get('name')
if node.localName == 'image':
+ common.ICONFACTORY.register_icon(attrs['name'])
icon = Image(attrs)
button_list.append(icon)
icon.set_from_stock(attrs['name'], gtk.ICON_SIZE_DIALOG)
@@ -356,6 +359,9 @@ class ParserForm(ParserInterface):
elif node.localName == 'label':
text = attrs.get('string', '')
if 'name' in attrs and attrs['name'] in fields:
+ if attrs['name'] == self.screen.exclude_field:
+ container.empty_add(int(attrs.get('colspan', 1)))
+ continue
for attr_name in ('states', 'invisible'):
if attr_name not in attrs \
and attr_name in fields[attrs['name']].attrs:
@@ -462,12 +468,23 @@ class ParserForm(ParserInterface):
elif node.localName == 'page':
if CONFIG['client.form_tab'] == 'left':
angle = 90
+ tab_box = gtk.VBox(spacing=3)
+ image_pos, image_rotate = ('end',
+ gtk.gdk.PIXBUF_ROTATE_COUNTERCLOCKWISE)
elif CONFIG['client.form_tab'] == 'right':
angle = -90
+ tab_box = gtk.VBox(spacing=3)
+ image_pos, image_rotate = ('start',
+ gtk.gdk.PIXBUF_ROTATE_CLOCKWISE)
else:
angle = 0
+ tab_box = gtk.HBox(spacing=3)
+ image_pos, image_rotate = ('start',
+ gtk.gdk.PIXBUF_ROTATE_NONE)
text = attrs.get('string', '')
if 'name' in attrs and attrs['name'] in fields:
+ if attrs['name'] == self.screen.exclude_field:
+ continue
for attr_name in ('states', 'invisible'):
if attr_name in fields[attrs['name']].attrs:
attrs[attr_name] = \
@@ -478,9 +495,22 @@ class ParserForm(ParserInterface):
text = _('No String Attr.')
if '_' not in text:
text = '_' + text
- label = gtk.Label(text)
- label.set_angle(angle)
- label.set_use_underline(True)
+ tab_label = gtk.Label(text)
+ tab_label.set_angle(angle)
+ tab_label.set_use_underline(True)
+ tab_box.pack_start(tab_label)
+ if 'icon' in attrs:
+ common.ICONFACTORY.register_icon(attrs['icon'])
+ pixbuf = tab_box.render_icon(attrs['icon'],
+ gtk.ICON_SIZE_SMALL_TOOLBAR)
+ pixbuf = pixbuf.rotate_simple(image_rotate)
+ icon = gtk.Image()
+ icon.set_from_pixbuf(pixbuf)
+ if image_pos == 'end':
+ tab_box.pack_end(icon)
+ else:
+ tab_box.pack_start(icon)
+ tab_box.show_all()
widget, widgets, buttons, spam, notebook_list2, cursor_widget2 = \
self.parse(model_name, node, fields, notebook,
tooltips=tooltips)
@@ -503,10 +533,13 @@ class ParserForm(ParserInterface):
scrolledwindow.add(viewport)
button_list.append(scrolledwindow)
- notebook.append_page(scrolledwindow, label)
+ notebook.append_page(scrolledwindow, tab_box)
elif node.localName == 'field':
name = str(attrs['name'])
+ if name == self.screen.exclude_field:
+ container.empty_add(int(attrs.get('colspan', 1)))
+ continue
if name not in fields:
container.empty_add(int(attrs.get('colspan', 1)))
log = logging.getLogger('view')
@@ -518,7 +551,8 @@ class ParserForm(ParserInterface):
continue
for attr_name in ('relation', 'domain', 'selection',
'relation_field', 'string', 'views', 'invisible',
- 'add_remove', 'sort', 'context', 'size'):
+ 'add_remove', 'sort', 'context', 'size', 'filename',
+ 'autocomplete'):
if attr_name in fields[name].attrs and \
not attr_name in attrs:
attrs[attr_name] = fields[name].attrs[attr_name]
@@ -567,6 +601,9 @@ class ParserForm(ParserInterface):
button_list += buttons
text = ''
if 'name' in attrs and attrs['name'] in fields:
+ if attrs['name'] == self.screen.exclude_field:
+ container.empty_add(int(attrs.get('colspan', 1)))
+ continue
for attr_name in ('states', 'invisible'):
if attr_name in fields[attrs['name']].attrs:
attrs[attr_name] = fields[attrs['name']
@@ -827,6 +864,7 @@ from many2one import Many2One
from url import Email, URL, CallTo, SIP
from image import Image as Image2
from progressbar import ProgressBar
+from one2one import One2One
WIDGETS_TYPE = {
@@ -853,4 +891,5 @@ WIDGETS_TYPE = {
'sip' : (SIP, 1, False, False),
'image' : (Image2, 1, False, False),
'progressbar': (ProgressBar, 1, False, False),
+ 'one2one': (One2One, 1, False, False),
}
diff --git a/tryton/gui/window/view_form/view/form_gtk/preference.py b/tryton/gui/window/view_form/view/form_gtk/preference.py
deleted file mode 100644
index a8c6bdb..0000000
--- a/tryton/gui/window/view_form/view/form_gtk/preference.py
+++ /dev/null
@@ -1,116 +0,0 @@
-# This file is part of Tryton. The COPYRIGHT file at the top level of this
-# repository contains the full copyright notices and license terms.
-import gtk
-import gettext
-import tryton.common as common
-from tryton.config import CONFIG, TRYTON_ICON
-import tryton.rpc as rpc
-
-_ = gettext.gettext
-
-
-class WidgetFieldPreference(object):
- """
- Widget for field preferences.
- """
- def __init__(self, window, reset=False):
- self.parent = window
- self.dialog = gtk.Dialog(
- title=_("Field Preference"),
- parent=window,
- flags=gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT
- | gtk.WIN_POS_CENTER_ON_PARENT)
- self.dialog.set_icon(TRYTON_ICON)
- self.dialog.add_button("gtk-cancel", gtk.RESPONSE_CANCEL)
-
- if not reset:
- button_ok = gtk.Button(_("Set"))
- else:
- button_ok = gtk.Button(_("Reset"))
- button_ok.set_flags(gtk.CAN_DEFAULT)
- button_ok.set_flags(gtk.HAS_DEFAULT)
- img_ok = gtk.Image()
- img_ok.set_from_stock("gtk-ok", gtk.ICON_SIZE_BUTTON)
- button_ok.set_image(img_ok)
- self.dialog.add_action_widget(button_ok, gtk.RESPONSE_OK)
- self.dialog.set_default_response(gtk.RESPONSE_OK)
- vbox = gtk.VBox()
- self.dialog.vbox.pack_start(vbox)
- table = gtk.Table(4, 2, False)
- table.set_border_width(4)
- table.set_row_spacings(4)
- table.set_col_spacings(4)
- vbox.pack_start(table, True, True, 0)
-
- label_field_name = gtk.Label(_("Field Name:"))
- label_field_name.set_justify(gtk.JUSTIFY_RIGHT)
- label_field_name.set_alignment(1, 0.5)
- table.attach(label_field_name, 0, 1, 0, 1)
- self.entry_field_name = gtk.Entry()
- self.entry_field_name.set_editable(False)
- style = self.entry_field_name.get_style()
- self.entry_field_name.modify_bg(gtk.STATE_NORMAL,
- style.bg[gtk.STATE_INSENSITIVE])
- self.entry_field_name.modify_base(gtk.STATE_NORMAL,
- style.base[gtk.STATE_INSENSITIVE])
- self.entry_field_name.modify_fg(gtk.STATE_NORMAL,
- style.fg[gtk.STATE_INSENSITIVE])
- table.attach(self.entry_field_name, 1, 2, 0, 1)
- label_default_value = gtk.Label(_("Default value:"))
- label_default_value.set_alignment(1, 0.5)
- table.attach(label_default_value, 0, 1, 1, 2)
- self.entry_default_value = gtk.Entry()
- self.entry_default_value.set_editable(False)
- self.entry_default_value.set_width_chars(32)
- style = self.entry_field_name.get_style()
- self.entry_default_value.modify_bg(gtk.STATE_NORMAL,
- style.bg[gtk.STATE_INSENSITIVE])
- self.entry_default_value.modify_base(gtk.STATE_NORMAL,
- style.base[gtk.STATE_INSENSITIVE])
- self.entry_default_value.modify_fg(gtk.STATE_NORMAL,
- style.fg[gtk.STATE_INSENSITIVE])
- table.attach(self.entry_default_value, 1, 2, 1, 2)
-
- frame_user = gtk.Frame()
- alignment_user = gtk.Alignment(0.5, 0.5, 1, 1)
- alignment_user.set_padding(0, 0, 12, 0)
- frame_user.add(alignment_user)
- label_user = gtk.Label(_("<b>Value applicable for:</b>"))
- label_user.set_use_markup(True)
- frame_user.set_label_widget(label_user)
- hbox_user = gtk.HBox(True, 0)
- alignment_user.add(hbox_user)
- hbox_user.set_border_width(6)
- self.radio_current_user = gtk.RadioButton(None, _("Current _User"))
- radio_all_user = gtk.RadioButton(self.radio_current_user,
- _("_All Users"))
- hbox_user.pack_start(self.radio_current_user, False, False, 0)
- hbox_user.pack_start(radio_all_user, False, False, 0)
- radio_all_user.set_active(True)
- table.attach(frame_user, 0, 2, 2, 3)
-
- frame_condition = gtk.Frame()
- alignment_condition = gtk.Alignment(0.5, 0.5, 1, 1)
- alignment_condition.set_padding(0, 0, 12, 0)
- frame_condition.add(alignment_condition)
- label_condition = gtk.Label(_("<b>Value applicable if:</b>"))
- label_condition.set_use_markup(True)
- frame_condition.set_label_widget(label_condition)
- self.vbox_condition = gtk.VBox(False, 0)
- alignment_condition.add(self.vbox_condition)
- table.attach(frame_condition, 0, 2, 3, 4)
-
- self.dialog.show_all()
- if reset:
- label_default_value.hide()
- self.entry_default_value.hide()
-
- radio_all_user.grab_focus()
-
- def run(self):
- while True:
- res = self.dialog.run()
- if res :
- self.parent.present()
- self.dialog.destroy()
- return res
diff --git a/tryton/gui/window/view_form/view/form_gtk/progressbar.py b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
index 79e2b00..1734f5f 100644
--- a/tryton/gui/window/view_form/view/form_gtk/progressbar.py
+++ b/tryton/gui/window/view_form/view/form_gtk/progressbar.py
@@ -16,7 +16,7 @@ class ProgressBar(WidgetInterface):
def __init__(self, field_name, model_name, window, attrs=None):
super(ProgressBar, self).__init__(field_name, model_name, window,
- attrs=attrs)
+ parent, attrs=attrs)
self.widget = gtk.ProgressBar()
orientation = self.orientations.get(attrs.get('orientation',
'left_to_right'), gtk.PROGRESS_LEFT_TO_RIGHT)
diff --git a/tryton/gui/window/view_form/view/form_gtk/reference.py b/tryton/gui/window/view_form/view/form_gtk/reference.py
index 7ce5326..0397ae3 100644
--- a/tryton/gui/window/view_form/view/form_gtk/reference.py
+++ b/tryton/gui/window/view_form/view/form_gtk/reference.py
@@ -36,7 +36,6 @@ class Reference(WidgetInterface):
self.wid_text = gtk.Entry()
self.wid_text.set_property('width-chars', 13)
self.wid_text.connect('key_press_event', self.sig_key_press)
- self.wid_text.connect('populate-popup', self._populate_popup)
self.wid_text.connect_after('changed', self.sig_changed)
self.changed = True
self.wid_text.connect_after('activate', self.sig_activate)
@@ -154,18 +153,15 @@ class Reference(WidgetInterface):
return False
if model and obj_id:
if not leave:
- screen = Screen(model, self.window, view_type=['form'])
+ screen = Screen(model, self.window, mode=['form'])
screen.load([obj_id])
win = WinForm(screen, self.window)
- while win.run():
+ if win.run():
if screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
self.field.set_client(self.record, (model, value),
force_change=True)
- break
- else:
- screen.display()
win.destroy()
elif model:
if not self._readonly and ( self.wid_text.get_text() or not leave):
@@ -208,16 +204,13 @@ class Reference(WidgetInterface):
model = self.get_model()
if not model:
return
- screen = Screen(model, self.window, view_type=['form'])
+ screen = Screen(model, self.window, mode=['form'])
win = WinForm(screen, self.window, new=True)
- while win.run():
+ if win.run():
if screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
self.field.set_client(self.record, (model, value))
- break
- else:
- screen.display()
win.destroy()
def sig_key_press(self, widget, event):
diff --git a/tryton/gui/window/view_form/view/form_gtk/selection.py b/tryton/gui/window/view_form/view/form_gtk/selection.py
index e5850f6..6c6cddf 100644
--- a/tryton/gui/window/view_form/view/form_gtk/selection.py
+++ b/tryton/gui/window/view_form/view/form_gtk/selection.py
@@ -23,7 +23,6 @@ class Selection(WidgetInterface):
child.connect('changed', self.sig_changed)
self.changed = True
- child.connect('button_press_event', self._menu_open)
child.connect('key_press_event', self.sig_key_press)
child.connect('activate', self.sig_activate)
child.connect_after('focus-out-event', self.sig_activate)
@@ -32,47 +31,50 @@ class Selection(WidgetInterface):
self.widget.set_focus_chain([child])
self._selection = {}
- selection = attrs.get('selection', [])[:]
- self.selection = selection[:]
- if not attrs.get('domain'):
- domain = []
- else:
- domain = PYSONDecoder(rpc.CONTEXT).decode(attrs.get('domain'))
- if 'relation' in attrs:
+ self.selection = attrs.get('selection', [])[:]
+ self.attrs = attrs
+ self._last_domain = None
+ self.init_selection()
+
+ def init_selection(self):
+ selection = self.attrs.get('selection', [])[:]
+ if not isinstance(selection, (list, tuple)):
try:
- result = rpc.execute('model', attrs['relation'], 'search_read',
- domain, 0, None, None, ['rec_name'], rpc.CONTEXT)
- selection = [(x['id'], x['rec_name']) for x in result]
+ selection = rpc.execute('model',
+ self.model_name, selection, rpc.CONTEXT)
except Exception, exception:
common.process_exception(exception, self.window)
selection = []
- self.selection = selection[:]
- else:
- if not isinstance(selection, (list, tuple)):
- try:
- selection = rpc.execute('model',
- self.model_name, selection, rpc.CONTEXT)
- except Exception, exception:
- common.process_exception(exception, self.window)
- selection = []
- self.selection = selection[:]
-
- for dom in common.filter_domain(domain):
- if dom[1] in ('=', '!='):
- todel = []
- for i in range(len(selection)):
- if (dom[1] == '=' \
- and selection[i][0] != dom[2]) \
- or (dom[1] == '!=' \
- and selection[i][0] == dom[2]):
- todel.append(i)
- for i in todel[::-1]:
- del selection[i]
-
- if attrs.get('sort', True):
+ self.selection = selection[:]
+ if self.attrs.get('sort', True):
selection.sort(lambda x, y: cmp(x[1], y[1]))
self.set_popdown(selection)
- self.last_key = (None, 0)
+
+ def update_selection(self, record):
+ if not self.field:
+ return
+ if 'relation' not in self.attrs:
+ return
+
+ domain = self.field.domain_get(record)
+ if domain == self._last_domain:
+ return
+
+ args = ('model', self.attrs['relation'], 'search_read', domain, 0, None,
+ None, ['rec_name'], rpc.CONTEXT)
+ try:
+ result = rpc.execute(*args)
+ except Exception, exception:
+ result = common.process_exception(exception, self.window, args)
+ if isinstance(result, list):
+ selection = [(x['id'], x['rec_name']) for x in result]
+ selection.append((False, ''))
+ self._last_domain = domain
+ else:
+ selection = []
+ self._last_domain = None
+ self.selection = selection[:]
+ self.set_popdown(selection)
def grab_focus(self):
return self.entry.grab_focus()
@@ -129,7 +131,9 @@ class Selection(WidgetInterface):
value = val
if len(txt) == len(text):
break
- self.field.set_client(self.record, value, force_change=True)
+ if 'relation' in self.attrs:
+ value = (value, text)
+ self.field.set_client(self.record, value)
self.display(self.record, self.field)
def set_value(self, record, field):
@@ -140,6 +144,7 @@ class Selection(WidgetInterface):
super(Selection, self)._menu_sig_default_set(reset=reset)
def display(self, record, field):
+ self.update_selection(record)
child = self.entry.get_child()
self.changed = False
if not field:
@@ -168,6 +173,8 @@ class Selection(WidgetInterface):
child.set_text(long_text)
found = True
break
+ if not found:
+ child.set_text('')
self.changed = True
def display_value(self):
diff --git a/tryton/gui/window/view_form/view/form_gtk/textbox.py b/tryton/gui/window/view_form/view/form_gtk/textbox.py
index 114a86b..459092f 100644
--- a/tryton/gui/window/view_form/view/form_gtk/textbox.py
+++ b/tryton/gui/window/view_form/view/form_gtk/textbox.py
@@ -26,7 +26,6 @@ class TextBox(WidgetInterface):
self.textview = gtk.TextView()
self.textview.set_wrap_mode(gtk.WRAP_WORD)
- self.textview.connect('populate-popup', self._populate_popup)
#TODO better tab solution
self.textview.set_accepts_tab(False)
self.textview.connect('focus-in-event', lambda x, y: self._focus_in())
diff --git a/tryton/gui/window/view_form/view/graph.py b/tryton/gui/window/view_form/view/graph.py
index 8e574ef..6d4d6a1 100644
--- a/tryton/gui/window/view_form/view/graph.py
+++ b/tryton/gui/window/view_form/view/graph.py
@@ -6,9 +6,10 @@ from interface import ParserView
class ViewGraph(ParserView):
def __init__(self, window, screen, widget, children=None,
- buttons=None, toolbar=None, notebooks=None, cursor_widget=None):
+ buttons=None, toolbar=None, notebooks=None, cursor_widget=None,
+ children_field=None):
super(ViewGraph, self).__init__(window, screen, widget, children,
- buttons, toolbar, notebooks, cursor_widget)
+ buttons, toolbar, notebooks, cursor_widget, children_field)
self.view_type = 'graph'
self.widgets = children
diff --git a/tryton/gui/window/view_form/view/graph_gtk/graph.py b/tryton/gui/window/view_form/view/graph_gtk/graph.py
index 0dcd6cf..ec1fbb4 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/graph.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/graph.py
@@ -122,7 +122,7 @@ class Graph(gtk.DrawingArea):
self.drawGraph(cx, width, height)
self.drawAxis(cx, width, height)
self.drawLegend(cx, width, height)
- surface.write_to_png(filename.encode('utf-8'))
+ surface.write_to_png(filename)
self.queue_draw()
diff --git a/tryton/gui/window/view_form/view/graph_gtk/parser.py b/tryton/gui/window/view_form/view/graph_gtk/parser.py
index 03efdcc..27a5950 100644
--- a/tryton/gui/window/view_form/view/graph_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/graph_gtk/parser.py
@@ -77,7 +77,7 @@ def save(widget, graph, window):
filename = filename.decode('utf-8')
try:
CONFIG['client.default_path'] = \
- os.path.dirname(filename)
+ os.path.dirname(filepath)
CONFIG.save()
except Exception:
pass
diff --git a/tryton/gui/window/view_form/view/interface.py b/tryton/gui/window/view_form/view/interface.py
index a800bee..47ea8b5 100644
--- a/tryton/gui/window/view_form/view/interface.py
+++ b/tryton/gui/window/view_form/view/interface.py
@@ -5,19 +5,22 @@
class ParserInterface(object):
- def __init__(self, window, parent=None, attrs=None, screen=None):
+ def __init__(self, window, parent=None, attrs=None, screen=None,
+ children_field=None):
self.window = window
self.parent = parent
self.attrs = attrs
self.title = None
self.buttons = {}
self.screen = screen
+ self.children_field = children_field
class ParserView(object):
def __init__(self, window, screen, widget, children=None, buttons=None,
- toolbar=None, notebooks=None, cursor_widget=None):
+ toolbar=None, notebooks=None, cursor_widget=None,
+ children_field=None):
self.window = window
self.screen = screen
self.widget = widget
@@ -30,3 +33,7 @@ class ParserView(object):
notebooks = []
self.notebooks = notebooks
self.cursor_widget = cursor_widget
+ self.children_field = children_field
+
+ def get_fields(self):
+ return self.children.keys()
diff --git a/tryton/gui/window/view_form/view/list.py b/tryton/gui/window/view_form/view/list.py
index 5b7933f..3b70c3c 100644
--- a/tryton/gui/window/view_form/view/list.py
+++ b/tryton/gui/window/view_form/view/list.py
@@ -2,6 +2,11 @@
#this repository contains the full copyright notices and license terms.
import gobject
import gtk
+import sys
+if sys.version_info < (2, 6):
+ import simplejson as json
+else:
+ import json
import tryton.rpc as rpc
import locale
from interface import ParserView
@@ -20,25 +25,47 @@ _ = gettext.gettext
class AdaptModelGroup(gtk.GenericTreeModel):
- def __init__(self, group):
+ def __init__(self, group, children_field=None):
super(AdaptModelGroup, self).__init__()
self.group = group
self.last_sort = None
self.sort_asc = True
self.set_property('leak_references', False)
-
- def added(self, modellist, position):
- if modellist is self.group:
- model = self.group[position]
- self.row_inserted(self.on_get_path(model),
- self.get_iter(self.on_get_path(model)))
+ self.children_field = children_field
+ self.__removed = None # XXX dirty hack to allow update of has_child
+
+ def added(self, group, record):
+ if (group is self.group
+ and (record.group is self.group
+ or record.group.child_name == self.children_field)):
+ path = self.on_get_path(record)
+ iter_ = self.get_iter(path)
+ self.row_inserted(path, iter_)
+ if record.children_group(self.children_field):
+ self.row_has_child_toggled(path, iter_)
+ if (record.parent and
+ record.group is not self.group):
+ path = self.on_get_path(record.parent)
+ iter_ = self.get_iter(path)
+ self.row_has_child_toggled(path, iter_)
def cancel(self):
pass
- def removed(self, lst, position):
- self.row_deleted(position)
- self.invalidate_iters()
+ def removed(self, group, record):
+ if (group is self.group
+ and (record.group is self.group
+ or record.group.child_name == self.children_field)):
+ path = self.on_get_path(record)
+ self.row_deleted(path)
+ if (record.parent and
+ record.group != self.group and
+ len(record.children_group(self.children_field)) <= 1):
+ path = self.on_get_path(record.parent)
+ iter_ = self.get_iter(path)
+ self.__removed = record # XXX check for thread
+ self.row_has_child_toggled(path, iter_)
+ self.__removed = None
def append(self, model):
self.group.add(model)
@@ -46,14 +73,45 @@ class AdaptModelGroup(gtk.GenericTreeModel):
def prepend(self, model):
self.group.add(model, 0)
- def remove(self, iter):
- idx = self.get_path(iter)[0]
- self.group.remove(self.group[idx])
+ def remove(self, iter_):
+ record = self.get_value(iter_, 0)
+ record.group.remove(record)
self.invalidate_iters()
- def move(self, path, position):
- idx = path[0]
- self.group.move(self.group[idx], position)
+ def __move(self, record, path, offset=0):
+ iter_ = self.get_iter(path)
+ record_pos = self.get_value(iter_, 0)
+ group = record_pos.group
+ pos = group.index(record_pos) + offset
+ if group is not record.group:
+ record.group.remove(record, remove=True, force_remove=True)
+ group.add(record)
+ record.modified_fields.setdefault(record.parent_name or 'id')
+ group.move(record, pos)
+
+ def move_before(self, record, path):
+ self.__move(record, path)
+
+ def move_after(self, record, path):
+ self.__move(record, path, 1)
+
+ def move_into(self, record, path):
+ iter_ = self.get_iter(path)
+ parent = self.get_value(iter_, 0)
+ group = parent.children_group(self.children_field, check_load=True)
+ if group is not record.group:
+ record.group.remove(record, remove=True, force_remove=True)
+ group.add(record)
+ record.modified_fields.setdefault(record.parent_name or 'id')
+ group.move(record, 0)
+
+ def move_end(self, record):
+ group = self.group
+ if group != record.group:
+ record.group.remove(record, remove=True)
+ group.add(record)
+ record.modified_fields.setdefault(record.parent_name or 'id')
+ group.move(record, -1)
def sort(self, ids):
ids2pos = {}
@@ -87,79 +145,117 @@ class AdaptModelGroup(gtk.GenericTreeModel):
return len(self.group)
def on_get_flags(self):
- return gtk.TREE_MODEL_LIST_ONLY
+ if not self.children_field:
+ return gtk.TREE_MODEL_LIST_ONLY
+ return 0
def on_get_n_columns(self):
+ # XXX
return 1
def on_get_column_type(self, index):
+ # XXX
return gobject.TYPE_PYOBJECT
- def on_get_path(self, iter):
- if iter in self.group:
- return self.group.index(iter)
+ def on_get_path(self, iter_):
+ if isinstance(iter_, tuple):
+ return tuple(x[0] for x in iter_)
else:
- return 0
+ path = []
+ i = iter_
+ while i:
+ path.append(i.group.index(i))
+ if i.group is self.group:
+ break
+ i = i.parent
+ path.reverse()
+ return tuple(path)
+
+ def on_get_tree_path(self, iter):
+ return self.on_get_path(iter)
def on_get_iter(self, path):
- if isinstance(path, tuple):
- path = path[0]
- if self.group is not None:
- if path < len(self.group):
- return self.group[path]
- else:
+ group = self.group
+ record = None
+ for i in path:
+ if group is None or i >= len(group):
return None
- else:
- return None
+ record = group[i]
+ if not self.children_field:
+ break
+ group = record.children_group(self.children_field, check_load=True)
+ return record
- def on_get_value(self, node, column):
- assert column == 0
- return node
+ def on_get_value(self, record, column):
+ return record
- def on_iter_next(self, node):
- try:
- return node.next[id(self.group)]
- except IndexError:
+ def on_iter_next(self, record):
+ if not record:
return None
+ return record.next.get(id(record.group))
- def on_iter_has_child(self, node):
- return False
-
- def on_iter_children(self, node):
+ def on_iter_has_child(self, record):
+ if not self.children_field:
+ return False
+ children = record.children_group(self.children_field)
+ length = len(children)
+ if self.__removed and self.__removed in children:
+ length -= 1
+ return bool(length)
+
+ def on_iter_children(self, record):
+ if self.children_field and record.children_group(self.children_field):
+ return record.children_group(self.children_field)[0]
return None
- def on_iter_n_children(self, node):
- if node is None:
+ def on_iter_n_children(self, record):
+ if record is None or not self.children_field:
return len(self.group)
- return 0
+ return len(record.children_group(self.children_field))
- def on_iter_nth_child(self, node, nth):
- if node is None and self.group is not None:
- return self.on_get_iter(0)
+ def on_iter_nth_child(self, record, nth):
+ if record is None or not self.children_field:
+ if nth < len(self.group):
+ return self.group[nth]
+ return None
+ if nth < len(record.children_group(self.children_field)):
+ return record.children_group(self.children_field)[nth]
return None
- def on_iter_parent(self, node):
- return None
+ def on_iter_parent(self, record):
+ if record is None:
+ return None
+ return record.parent
class ViewList(ParserView):
def __init__(self, window, screen, widget, children=None, buttons=None,
- toolbar=None, notebooks=None, cursor_widget=None):
+ toolbar=None, notebooks=None, cursor_widget=None,
+ children_field=None):
super(ViewList, self).__init__(window, screen, widget, children,
- buttons, toolbar, notebooks, cursor_widget)
+ buttons, toolbar, notebooks, cursor_widget, children_field)
self.store = None
self.view_type = 'tree'
- self.widget = gtk.VBox()
- self.widget_tree = widget
+
+ vbox = gtk.VBox()
scroll = gtk.ScrolledWindow()
- scroll.add(self.widget_tree)
+ scroll.add(self.widget)
scroll.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
+ scroll.set_placement(gtk.CORNER_TOP_LEFT)
viewport = gtk.Viewport()
viewport.set_shadow_type(gtk.SHADOW_ETCHED_IN)
viewport.add(scroll)
- self.widget.pack_start(viewport, expand=True, fill=True)
+ self.widget_tree = self.widget
+
+ if isinstance(self.screen.window, gtk.Dialog):
+ width, height = self.widget_tree.size_request()
+ vbox.set_size_request(width or -1, height or -1)
+ vbox.pack_start(viewport, expand=True, fill=True)
+
self.widget_tree.screen = screen
+
+ self.widget = vbox
self.reload = False
self.children = children
@@ -190,10 +286,14 @@ class ViewList(ParserView):
continue
for tool in toolbar[icontype]:
- iconstock = {
- 'print': 'tryton-print',
- 'action': 'tryton-executable',
- }.get(icontype)
+ if not tool['icon.rec_name']:
+ iconstock = {
+ 'print': 'tryton-print',
+ 'action': 'tryton-executable',
+ }.get(icontype)
+ else:
+ iconstock = tool['icon.rec_name']
+ common.ICONFACTORY.register_icon(iconstock)
if hasattr(gtk, 'MenuToolButton') and icontype == 'print':
tbutton = gtk.MenuToolButton(iconstock)
@@ -237,26 +337,42 @@ class ViewList(ParserView):
selection.set_mode(gtk.SELECTION_MULTIPLE)
selection.connect('changed', self.__select_changed)
+ dnd = False
+ if self.children_field:
+ children_field = self.widget_tree.cells.get(self.children_field)
+ if children_field:
+ parent_name = children_field.attrs.get('relation_field')
+ dnd = parent_name in self.widget_tree.cells
+ elif self.widget_tree.sequence:
+ dnd = True
# Disable DnD on mac until it is fully supported
- if self.widget_tree.sequence \
- and not (os.name == 'mac' \
- or (hasattr(os, 'uname') and os.uname()[0] == 'Darwin')):
- self.widget_tree.enable_model_drag_source(gtk.gdk.BUTTON1_MASK,
- [('MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0),],
- gtk.gdk.ACTION_MOVE)
+ if os.name == 'mac':
+ dnd = False
+ elif hasattr(os, 'uname') and os.uname()[0] == 'Darwin':
+ dnd = False
+ if screen.readonly:
+ dnd = False
+ if dnd:
self.widget_tree.drag_source_set(gtk.gdk.BUTTON1_MASK | gtk.gdk.BUTTON3_MASK,
[('MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0),],
gtk.gdk.ACTION_MOVE)
- self.widget_tree.enable_model_drag_dest(
+ self.widget_tree.drag_dest_set(gtk.DEST_DEFAULT_ALL,
[('MY_TREE_MODEL_ROW', gtk.TARGET_SAME_WIDGET, 0),],
gtk.gdk.ACTION_MOVE)
+ self.widget_tree.connect('drag-begin', self.drag_begin)
+ self.widget_tree.connect('drag-motion', self.drag_motion)
self.widget_tree.connect('drag-drop', self.drag_drop)
self.widget_tree.connect("drag-data-get", self.drag_data_get)
self.widget_tree.connect('drag-data-received', self.drag_data_received)
self.widget_tree.connect('drag-data-delete', self.drag_data_delete)
self.widget_tree.connect('key_press_event', self.on_keypress)
+ self.widget_tree.connect('test-expand-row', self.test_expand_row)
+ self.widget_tree.set_expander_column(self.widget_tree.get_column(0))
+
+ def get_fields(self):
+ return [col.name for col in self.widget_tree.get_columns() if col.name]
def _sig_clicked(self, widget, action, atype):
return self._action(action, atype)
@@ -269,8 +385,8 @@ class ViewList(ParserView):
message(_('No record selected!'), self.window)
return False
email = {}
- if action.get('email'):
- email = self.screen.current_record.expr_eval(action['email'])
+ if action.get('pyson_email'):
+ email = self.screen.current_record.expr_eval(action['pyson_email'])
if not email:
email = {}
email['subject'] = action['name'].replace('_', '')
@@ -282,7 +398,7 @@ class ViewList(ParserView):
}
value = Action._exec_action(act, self.window, data, {})
if self.screen:
- self.screen.reload(writen=True)
+ self.screen.reload(written=True)
return value
@@ -291,16 +407,59 @@ class ViewList(ParserView):
self.on_copy()
return False
if event.keyval in (gtk.keysyms.Down, gtk.keysyms.Up):
- path, column = self.widget_tree.get_cursor()
+ path, column = widget.get_cursor()
if not path:
return False
- store = self.widget_tree.get_model()
+ model = widget.get_model()
if event.keyval == gtk.keysyms.Down:
- if path[0] == len(store) - 1:
- return True
+ test = True
+ for i in xrange(len(path)):
+ iter_ = model.get_iter(path[0:i+1])
+ if model.iter_next(iter_):
+ test = False
+ if test:
+ iter_ = model.get_iter(path)
+ if (model.iter_has_child(iter_)
+ and widget.row_expanded(path)):
+ test = False
+ return test
elif event.keyval == gtk.keysyms.Up:
- if path[0] == 0:
+ if path == (0,):
+ return True
+ if event.keyval in (gtk.keysyms.Left, gtk.keysyms.Right):
+ selection = widget.get_selection()
+ model, paths = selection.get_selected_rows()
+ if event.keyval == gtk.keysyms.Left:
+ if len(paths) == 1:
+ path, = paths
+ if not widget.row_expanded(path):
+ path = path[:-1]
+ if path:
+ selection.select_path(path)
+ widget.collapse_row(path)
+ for path in paths:
+ widget.collapse_row(path)
+ elif event.keyval == gtk.keysyms.Right:
+ for path in paths:
+ widget.expand_row(path, False)
+
+ def test_expand_row(self, widget, iter_, path):
+ model = widget.get_model()
+ iter_ = model.iter_children(iter_)
+ if not iter_:
+ return False
+ fields = [col.name for col in self.widget_tree.get_columns()
+ if col.name]
+ while iter_:
+ record = model.get_value(iter_, 0)
+ if not record.get_loaded(fields):
+ try:
+ for field in fields:
+ record.__getitem__(field, True)
+ except Exception, exception:
return True
+ iter_ = model.iter_next(iter_)
+ return False
def on_copy(self):
clipboard = self.widget_tree.get_clipboard(gtk.gdk.SELECTION_CLIPBOARD)
@@ -347,6 +506,22 @@ class ViewList(ParserView):
del selection
return
+ def drag_begin(self, treeview, context):
+ return True
+
+ def drag_motion(self, treeview, context, x, y, time):
+ try:
+ treeview.set_drag_dest_row(*treeview.get_dest_row_at_pos(x, y))
+ except TypeError:
+ treeview.set_drag_dest_row(len(treeview.get_model()) - 1,
+ gtk.TREE_VIEW_DROP_AFTER)
+ if context.get_source_widget() == treeview:
+ kind = gtk.gdk.ACTION_MOVE
+ else:
+ kind = gtk.gdk.ACTION_COPY
+ context.drag_status(kind, time)
+ return True
+
def drag_drop(self, treeview, context, x, y, time):
treeview.emit_stop_by_name('drag-drop')
treeview.drag_get_data(context, context.targets[-1], time)
@@ -355,8 +530,9 @@ class ViewList(ParserView):
def drag_data_get(self, treeview, context, selection, target_id,
etime):
treeview.emit_stop_by_name('drag-data-get')
- def _func_sel_get(store, path, iter, data):
- data.append(path)
+ def _func_sel_get(store, path, iter_, data):
+ value = store.get_value(iter_, 0)
+ data.append(json.dumps(value.get_path(store.group)))
data = []
treeselection = treeview.get_selection()
treeselection.selected_foreach(_func_sel_get, data)
@@ -364,6 +540,7 @@ class ViewList(ParserView):
return
data = str(data[0])
selection.set(selection.target, 8, data)
+ return True
def drag_data_received(self, treeview, context, x, y, selection,
info, etime):
@@ -376,20 +553,42 @@ class ViewList(ParserView):
return
if not selection.data:
return
- model = treeview.get_model()
- data = common.safe_eval(selection.data)
+ store = treeview.get_model()
+ try:
+ data = json.loads(selection.data)
+ except ValueError:
+ return
+ record = store.group.get_by_path(data)
+ record_path = store.on_get_path(record)
drop_info = treeview.get_dest_row_at_pos(x, y)
+ def check_recursion(from_, to):
+ if not from_ or not to:
+ return True
+ if from_ == to:
+ return False
+ length = min(len(from_), len(to))
+ if len(from_) < len(to) and from_[:length] == to[:length]:
+ return False
+ return True
if drop_info:
path, position = drop_info
- idx = path[0]
- if position in (gtk.TREE_VIEW_DROP_BEFORE,
- gtk.TREE_VIEW_DROP_INTO_OR_BEFORE):
- model.move(data, idx)
- else:
- model.move(data, idx + 1)
+ check_path = path
+ if position in (gtk.TREE_VIEW_DROP_BEFORE, gtk.TREE_VIEW_DROP_AFTER):
+ check_path = path[:-1]
+ if not check_recursion(record_path, check_path):
+ return
+ if position == gtk.TREE_VIEW_DROP_BEFORE:
+ store.move_before(record, path)
+ elif position == gtk.TREE_VIEW_DROP_AFTER:
+ store.move_after(record, path)
+ elif self.children_field:
+ store.move_into(record, path)
+ else:
+ store.move_end(record)
context.drop_finish(False, etime)
if treeview.sequence:
- self.screen.group.set_sequence(field=treeview.sequence)
+ record.group.set_sequence(field=treeview.sequence)
+ return True
def drag_data_delete(self, treeview, context):
treeview.emit_stop_by_name('drag-data-delete')
@@ -513,7 +712,7 @@ class ViewList(ParserView):
if last_col and last_col.name in fields:
del fields[last_col.name]
- if fields and any(fields.itervalues()):
+ if fields:
try:
rpc.execute('model', 'ir.ui.view_tree_width', 'set_width',
self.screen.model_name, fields, rpc.CONTEXT)
@@ -527,28 +726,35 @@ class ViewList(ParserView):
def __sig_switch(self, treeview, path, column):
if column._type == 'button':
return
- self.screen.row_activate()
+ if not self.screen.row_activate():
+ if treeview.row_expanded(path):
+ treeview.collapse_row(path)
+ else:
+ treeview.expand_row(path, False)
def __select_changed(self, tree_sel):
previous_record = self.screen.current_record
if tree_sel.get_mode() == gtk.SELECTION_SINGLE:
- model, iter = tree_sel.get_selected()
- if iter:
- path = model.get_path(iter)[0]
- self.screen.current_record = model.group[path]
+ model, iter_ = tree_sel.get_selected()
+ if model and iter_:
+ record = model.get_value(iter_, 0)
+ self.screen.current_record = record
elif tree_sel.get_mode() == gtk.SELECTION_MULTIPLE:
model, paths = tree_sel.get_selected_rows()
- if paths:
- self.screen.current_record = model.group[paths[0][0]]
+ if model and paths:
+ iter_ = model.get_iter(paths[0])
+ record = model.get_value(iter_, 0)
+ self.screen.current_record = record
if hasattr(self.widget_tree, 'editable') \
and self.widget_tree.editable \
and not self.screen.parent \
and previous_record != self.screen.current_record:
if previous_record and \
- not (previous_record.validate() and previous_record.save()):
+ not (previous_record.validate(self.get_fields())
+ and previous_record.save()):
self.screen.current_record = previous_record
self.set_cursor()
return True
@@ -570,7 +776,8 @@ class ViewList(ParserView):
or (not self.widget_tree.get_model()) \
or self.screen.group != \
self.widget_tree.get_model().group:
- self.store = AdaptModelGroup(self.screen.group)
+ self.store = AdaptModelGroup(self.screen.group,
+ self.children_field)
self.widget_tree.set_model(self.store)
self.reload = False
if not self.screen.current_record:
@@ -630,6 +837,8 @@ class ViewList(ParserView):
self.widget_tree.grab_focus()
if self.screen.current_record:
path = self.store.on_get_path(self.screen.current_record)
+ if self.store.get_flags() & gtk.TREE_MODEL_LIST_ONLY:
+ path = (path[0],)
focus_column = None
for column in self.widget_tree.get_columns():
renderers = column.get_cell_renderers()
@@ -639,13 +848,16 @@ class ViewList(ParserView):
if isinstance(renderer, CellRendererToggle):
editable = renderer.get_property('activatable')
elif isinstance(renderer,
- (gtk.CellRendererProgress, CellRendererButton)):
+ (gtk.CellRendererProgress, CellRendererButton,
+ gtk.CellRendererPixbuf)):
editable = False
else:
editable = renderer.get_property('editable')
if column.get_visible() and editable:
focus_column = column
break
+ if path[:-1]:
+ self.widget_tree.expand_to_path(path[:-1])
self.widget_tree.scroll_to_cell(path, focus_column, use_align=False)
self.widget_tree.set_cursor(path, focus_column, new)
@@ -674,7 +886,8 @@ class ViewList(ParserView):
if isinstance(renderer, CellRendererToggle):
renderer.set_property('activatable', False)
elif isinstance(renderer,
- (gtk.CellRendererProgress, CellRendererButton)):
+ (gtk.CellRendererProgress, CellRendererButton,
+ gtk.CellRendererPixbuf)):
pass
else:
renderer.set_property('editable', False)
diff --git a/tryton/gui/window/view_form/view/list_gtk/editabletree.py b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
index c33ef26..9a3b1ca 100644
--- a/tryton/gui/window/view_form/view/list_gtk/editabletree.py
+++ b/tryton/gui/window/view_form/view/list_gtk/editabletree.py
@@ -72,7 +72,7 @@ class EditableTreeView(gtk.TreeView):
idx = (current + i + 1) % len(cols)
if not cols[idx].get_cell_renderers():
continue
- renderer = cols[idx].get_cell_renderers()[0]
+ renderer = cols[idx].get_cell_renderers()[-1]
if isinstance(renderer, CellRendererToggle):
editable = renderer.get_property('activatable')
elif isinstance(renderer,
@@ -91,7 +91,7 @@ class EditableTreeView(gtk.TreeView):
idx = (current - (i + 1)) % len(cols)
if not cols[idx].get_cell_renderers():
continue
- renderer = cols[idx].get_cell_renderers()[0]
+ renderer = cols[idx].get_cell_renderers()[-1]
if isinstance(renderer, CellRendererToggle):
editable = renderer.get_property('activatable')
elif isinstance(renderer,
@@ -158,7 +158,8 @@ class EditableTreeView(gtk.TreeView):
entry.editing_done_id = entry.connect('editing_done',
self.on_editing_done)
if event.keyval in self.leaving_record_events:
- if not record.validate():
+ fields = self.cells.keys()
+ if not record.validate(fields):
invalid_fields = record.invalid_fields
col = None
for col in self.get_columns():
@@ -191,7 +192,7 @@ class EditableTreeView(gtk.TreeView):
elif event.keyval in (gtk.keysyms.Return,):
col = None
for column in self.get_columns():
- renderer = column.get_cell_renderers()[0]
+ renderer = column.get_cell_renderers()[-1]
if isinstance(renderer, CellRendererToggle):
editable = renderer.get_property('activatable')
elif isinstance(renderer,
@@ -212,6 +213,7 @@ class EditableTreeView(gtk.TreeView):
elif event.keyval == gtk.keysyms.Escape:
if record.id < 0:
model.remove(model.get_iter(path))
+ model.row_deleted(path)
self.screen.current_record = False
if not path[0]:
self.screen.current_record = False
@@ -242,7 +244,6 @@ class EditableTreeView(gtk.TreeView):
entry.set_max_length(int(field.attrs.get('size', 0)))
# store in the record the entry widget to get the value in set_value
field.editabletree_entry = entry
- record.modified = True
record.modified_fields.setdefault(column.name)
return False
diff --git a/tryton/gui/window/view_form/view/list_gtk/parser.py b/tryton/gui/window/view_form/view/list_gtk/parser.py
index 66434fa..332b494 100644
--- a/tryton/gui/window/view_form/view/list_gtk/parser.py
+++ b/tryton/gui/window/view_form/view/list_gtk/parser.py
@@ -66,8 +66,10 @@ def sort_model(column, treeview, screen):
class ParserTree(ParserInterface):
- def __init__(self, window, parent=None, attrs=None, screen=None):
- super(ParserTree, self).__init__(window, parent, attrs, screen)
+ def __init__(self, window, parent=None, attrs=None, screen=None,
+ children_field=None):
+ super(ParserTree, self).__init__(window, parent, attrs, screen,
+ children_field=children_field)
self.treeview = None
def parse(self, model_name, root_node, fields):
@@ -83,6 +85,7 @@ class ParserTree(ParserInterface):
treeview.cells = {}
treeview.sequence = attrs.get('sequence', False)
treeview.colors = attrs.get('colors', '"black"')
+ treeview.keyword_open = attrs.get('keyword_open', False)
self.treeview = treeview
treeview.set_property('rules-hint', True)
if not self.title:
@@ -124,7 +127,22 @@ class ParserTree(ParserInterface):
renderer.connect_after('editing-started', send_keys,
treeview)
- col = gtk.TreeViewColumn(fields[fname].attrs['string'], renderer)
+ col = gtk.TreeViewColumn(fields[fname].attrs['string'])
+
+ if 'icon' in node_attrs:
+ render_pixbuf = gtk.CellRendererPixbuf()
+ col.pack_start(render_pixbuf, expand=False)
+ icon = node_attrs['icon']
+ def setter(column, cell, store, iter):
+ record = store.get_value(iter, 0)
+ value = record[icon].get_client(record) or ''
+ common.ICONFACTORY.register_icon(value)
+ pixbuf = treeview.render_icon(stock_id=value,
+ size=gtk.ICON_SIZE_BUTTON, detail=None)
+ cell.set_property('pixbuf', pixbuf)
+ col.set_cell_data_func(render_pixbuf, setter)
+
+ col.pack_start(renderer, expand=True)
col.name = fname
hbox = gtk.HBox(False, 2)
@@ -169,13 +187,16 @@ class ParserTree(ParserInterface):
col.set_fixed_width(width)
#XXX doesn't work well when resize columns
#col.set_expand(True)
- if not treeview.sequence \
- and fields[fname].attrs.get('sortable', True):
+ if (not treeview.sequence
+ and not self.children_field
+ and fields[fname].attrs.get('sortable', True)):
col.connect('clicked', sort_model, treeview, self.screen)
col.set_resizable(True)
col.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
col.set_visible(not node_attrs.get('tree_invisible',
fields[fname].attrs.get('tree_invisible', False)))
+ if fname == self.screen.exclude_field:
+ col.set_visible(False)
i = treeview.append_column(col)
if 'sum' in node_attrs and fields[fname].attrs['type'] \
in ('integer', 'biginteger', 'float', 'numeric',
@@ -250,6 +271,10 @@ class Char(object):
if isinstance(cell, CellRendererToggle):
cell.set_active(bool(text))
else:
+ cell.set_sensitive(not (record.deleted or record.removed))
+ if isinstance(cell,
+ (CellRendererText, CellRendererDate, CellRendererCombo)):
+ cell.set_property('strikethrough', record.deleted)
cell.set_property('text', text)
fg_color = self.get_color(record)
cell.set_property('foreground', fg_color)
@@ -293,7 +318,8 @@ class Char(object):
cell.set_property('background-set', False)
else:
cell.set_property('background-set', True)
- cell.set_property('foreground-set', True)
+ cell.set_property('foreground-set',
+ not (record.deleted or record.removed))
if isinstance(cell, CellRendererToggle):
cell.set_property('activatable', not readonly)
@@ -312,6 +338,8 @@ class Char(object):
raise NotImplementedError
def get_textual_value(self, record):
+ if not record:
+ return ''
return record[self.field_name].get_client(record) or ''
def value_from_text(self, record, text):
@@ -535,20 +563,17 @@ class M2O(Char):
return True, searched
return False, False
screen = Screen(relation, self.window, domain=domain, context=context,
- view_type=['form'])
+ mode=['form'])
if obj_id:
screen.load([obj_id])
win = WinForm(screen, self.window)
else:
win = WinForm(screen, self.window, new=True)
value = False
- while win.run():
+ if win.run():
if screen.save_current():
value = (screen.current_record.id,
screen.current_record.rec_name())
- break
- else:
- screen.display()
win.destroy()
if value:
return True, value
@@ -572,6 +597,9 @@ class M2O(Char):
else:
return False, None
+class O2O(M2O):
+ pass
+
class UnsettableColumn(Exception):
def __init__(self):
@@ -597,7 +625,7 @@ class O2M(Char):
relation = field.attrs['relation']
context = field.context_get(record)
- screen = Screen(relation, self.window, view_type=['tree', 'form'],
+ screen = Screen(relation, self.window, mode=['tree', 'form'],
exclude_field=field.attrs.get('relation_field'))
screen.group = group
win = WinForm(screen, self.window, view_type='tree', context=context)
@@ -889,7 +917,7 @@ class Button(object):
}, self.window, context=ctx)
else:
raise Exception('Unallowed button type')
- self.screen.reload(writen=True)
+ self.screen.reload(written=True)
else:
self.screen.display()
@@ -914,4 +942,5 @@ CELLTYPES = {
'sip': Char,
'progressbar': ProgressBar,
'reference': Reference,
+ 'one2one': O2O,
}
diff --git a/tryton/gui/window/view_form/view/widget_parse.py b/tryton/gui/window/view_form/view/widget_parse.py
index 742c26c..02ab9be 100644
--- a/tryton/gui/window/view_form/view/widget_parse.py
+++ b/tryton/gui/window/view_form/view/widget_parse.py
@@ -27,19 +27,21 @@ PARSERS2 = {
class WidgetParse(ParserInterface):
- def parse(self, screen, root_node, fields, toolbar=None):
+ def parse(self, screen, root_node, fields, toolbar=None,
+ children_field=None):
widget = None
for node in root_node.childNodes:
if not node.nodeType == node.ELEMENT_NODE:
continue
if node.localName in PARSERS:
widget = PARSERS[node.localName](self.window, self.parent,
- self.attrs, screen)
+ self.attrs, screen, children_field)
wid, child, buttons, on_write, notebooks, cursor_widget = \
widget.parse(screen.model_name, node, fields)
screen.set_on_write(on_write)
res = PARSERS2[node.localName](self.window, screen, wid, child,
- buttons, toolbar, notebooks, cursor_widget)
+ buttons, toolbar, notebooks, cursor_widget,
+ children_field)
res.title = widget.title
widget = res
break
diff --git a/tryton/gui/window/view_form/widget_search/form.py b/tryton/gui/window/view_form/widget_search/form.py
index 166f6f2..1e88be6 100644
--- a/tryton/gui/window/view_form/widget_search/form.py
+++ b/tryton/gui/window/view_form/widget_search/form.py
@@ -201,16 +201,16 @@ class Parse(object):
class Form(object):
- def __init__(self, xml, fields, model=None, parent=None, domain=None,
+ def __init__(self, view, model=None, parent=None, domain=None,
call=None, context=None):
if domain is None:
domain = []
if context is None:
context = {}
- parser = Parse(parent, fields, model=model, context=context,
+ parser = Parse(parent, view['fields'], model=model, context=context,
on_change=self.on_change)
self.parent = parent
- self.fields = fields
+ self.fields = view['fields']
self.model = model
self.parser = parser
self.call = call
@@ -219,7 +219,7 @@ class Form(object):
width = 640
if self.parent:
width = self.parent.size_request()[0]
- (self.widgets, self.widget) = parser.parse(xml, width)
+ (self.widgets, self.widget) = parser.parse(view['arch'], width)
self.widget.show()
self.spin_limit = parser.spin_limit
self.spin_limit.connect('value-changed', self.limit_changed)
@@ -317,4 +317,5 @@ WIDGETS_TYPE = {
'many2many': (char.Char, 2),
'callto': (char.Char, 2),
'sip': (char.Char, 2),
+ 'one2one': (char.Char, 2),
}
diff --git a/tryton/gui/window/view_tree/parse.py b/tryton/gui/window/view_tree/parse.py
deleted file mode 100644
index a70d7a9..0000000
--- a/tryton/gui/window/view_tree/parse.py
+++ /dev/null
@@ -1,98 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-"Parse"
-import gtk
-from xml.parsers import expat
-import gettext
-
-_ = gettext.gettext
-
-class Parse(object):
- "Parse"
-
- def __init__(self, fields):
- self.fields = fields
- self.pixbufs = {}
- self.fields_order = []
- self.fields_attrs = {}
- self.title = _('Tree')
- self.toolbar = False
- self.tree = None
- self.pos = 1
- self.fill = 0
-
- def _psr_start(self, name, attrs):
- if name == 'tree':
- if 'string' in attrs:
- self.title = attrs['string']
- if 'toolbar' in attrs:
- self.toolbar = bool(attrs.get('toolbar'))
- if 'fill' in attrs:
- self.fill = bool(int(attrs.get('fill')))
- elif name == 'field':
- if not attrs['name'] in self.fields:
- return
- field_type = self.fields[attrs['name']]['type']
- if field_type != 'boolean':
- column = gtk.TreeViewColumn(
- self.fields[attrs['name']]['string'])
- if 'icon' in attrs:
- render_pixbuf = gtk.CellRendererPixbuf()
- column.pack_start(render_pixbuf, expand=False)
- column.add_attribute(render_pixbuf, 'pixbuf', self.pos)
- self.fields_order.append(str(attrs['icon']))
- self.pixbufs[self.pos] = True
- self.pos += 1
-
- cell = gtk.CellRendererText()
- cell.set_fixed_height_from_font(1)
- if field_type in ('float', 'numeric', 'integer',
- 'biginteger', 'float_time'):
- cell.set_property('xalign', 1.0)
- column.pack_start(cell, expand=False)
- column.add_attribute(cell, 'text', self.pos)
- else:
- cell = gtk.CellRendererToggle()
- column = gtk.TreeViewColumn(
- self.fields[attrs['name']]['string'])
- column.pack_start(cell, expand=False)
- column.add_attribute(cell, 'active', self.pos)
- self.pos += 1
- self.fields_order.append(str(attrs['name']))
- self.fields_attrs[attrs['name']] = attrs
- column.set_resizable(True)
- column.set_visible(not attrs.get('tree_invisible', False))
- self.tree.append_column(column)
- elif name == 'button':
- pass
- else:
- import logging
- log = logging.getLogger('view')
- log.error('unknown tag: '+str(name))
- del log
-
- def _psr_end(self, name):
- pass
-
- def _psr_char(self, char):
- pass
-
- def parse(self, xml_data, tree):
- "Parse"
- cell = gtk.CellRendererText()
- cell.set_fixed_height_from_font(1)
- column = gtk.TreeViewColumn('ID', cell, text=0)
- column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
- column.set_fixed_width(60)
- column.set_visible(False)
- tree.append_column(column)
- self.tree = tree
- psr = expat.ParserCreate()
- psr.StartElementHandler = self._psr_start
- psr.EndElementHandler = self._psr_end
- psr.CharacterDataHandler = self._psr_char
- psr.Parse(xml_data)
- if not self.fill:
- column = gtk.TreeViewColumn()
- tree.append_column(column)
- return self.pos
diff --git a/tryton/gui/window/view_tree/view_tree.py b/tryton/gui/window/view_tree/view_tree.py
deleted file mode 100644
index fd7d317..0000000
--- a/tryton/gui/window/view_tree/view_tree.py
+++ /dev/null
@@ -1,415 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-"View tree"
-import gtk
-import gobject
-from tryton.config import CONFIG
-import time
-import tryton.rpc as rpc
-from parse import Parse
-import datetime
-import locale
-from tryton.common import HM_FORMAT
-import tryton.common as common
-from tryton.translate import date_format
-from tryton.pyson import PYSONDecoder
-
-FIELDS_LIST_TYPE = {
- 'boolean': gobject.TYPE_BOOLEAN,
- 'integer': gobject.TYPE_INT,
- 'biginteger': gobject.TYPE_INT,
-}
-
-
-class ViewTreeModel(gtk.GenericTreeModel, gtk.TreeSortable):
-
- def __init__(self, ids, view, fields, fields_type, fields_attrs,
- context=None, pixbufs=None, treeview=None):
- gtk.GenericTreeModel.__init__(self)
- self.fields = fields
- self.fields_type = fields_type
- self.fields_attrs = fields_attrs
- self.view = view
- self.roots = ids
- self.context = context or {}
- self.to_reload = []
- self.tree = self._node_process(self.roots)
- self.pixbufs = pixbufs or {}
- self.treeview = treeview
-
- def _read(self, ids, fields):
- ctx = {}
- ctx.update(self.context)
- ctx.update(rpc.CONTEXT)
- res_ids = []
- if ids:
- args = ('model', self.view['model'], 'read', ids, fields, ctx)
- try:
- res_ids = rpc.execute(*args)
- for obj_id in ids:
- if obj_id in self.to_reload:
- self.to_reload.remove(obj_id)
- except Exception, exception:
- for obj_id in ids:
- val = {'id': obj_id}
- for field in fields:
- if field in self.fields_type \
- and self.fields_type[field]['type'] \
- in ('one2many', 'many2many'):
- val[field] = []
- else:
- val[field] = ''
- res_ids.append(val)
- if obj_id not in self.to_reload:
- self.to_reload.append(obj_id)
- res_ids.sort(lambda x, y: cmp(ids.index(x['id']), ids.index(y['id'])))
- for field in self.fields:
- field_type = self.fields_type[field]['type']
- if field in self.fields_attrs \
- and 'widget' in self.fields_attrs[field]:
- field_type = self.fields_attrs[field]['widget']
- if field_type in ('date',):
- display_format = date_format()
- for obj in res_ids:
- if obj[field]:
- obj[field] = common.datetime_strftime(obj[field],
- display_format)
- elif field_type in ('datetime',):
- display_format = date_format() + ' ' + HM_FORMAT
- for obj in res_ids:
- if obj[field]:
- if 'timezone' in rpc.CONTEXT:
- try:
- import pytz
- lzone = pytz.timezone(rpc.CONTEXT['timezone'])
- szone = pytz.timezone(rpc.TIMEZONE)
- sdt = szone.localize(obj[field], is_dst=True)
- ldt = sdt.astimezone(lzone)
- obj[field] = ldt
- except Exception:
- pass
- obj[field] = common.datetime_strftime(obj[field],
- display_format)
- elif field_type in ('many2one',):
- for obj in res_ids:
- if obj[field]:
- obj[field] = obj[field + '.rec_name']
- elif field_type in ('selection'):
- selection = self.fields_type[field]['selection']
- if 'relation' in self.fields_type[field]:
- try:
- result = rpc.execute('model',
- self.fields_type[field]['relation'],
- 'search_read',
- self.fields_type[field].get('domain', []),
- 0, None, None,
- ['rec_name'], rpc.CONTEXT)
- selection = [(x['id'], x['rec_name']) for x in result]
- except Exception:
- selection = []
- else:
- if not isinstance(self.fields_type[field]['selection'],
- (list, tuple)):
- try:
- selection = rpc.execute('model',
- self.view['model'],
- self.fields_type[field]['selection'],
- rpc.CONTEXT)
- except Exception:
- selection = []
- self.fields_type[field]['selection'] = selection
- elif field_type in ('float', 'numeric'):
- digits = self.fields_type[field].get('digits', (16, 2))
- for obj in res_ids:
- if isinstance(digits, str):
- digits = PYSONDecoder(obj).decode(digits)
- obj[field] = locale.format('%.' + str(digits[1]) + 'f',
- round(obj[field] or 0.0, digits[1]), True)
- elif field_type in ('integer',):
- for obj in res_ids:
- obj[field] = locale.format('%d', obj[field] or 0, True)
- elif field_type in ('float_time',):
- conv = None
- if 'float_time' in self.fields_attrs[field]:
- conv = rpc.CONTEXT.get(
- self.fields_attrs[field]['float_time'])
- for obj in res_ids:
- obj[field] = common.float_time_to_text(obj[field], conv)
- elif field_type in ('boolean',):
- for obj in res_ids:
- obj[field] = bool(obj[field])
- return res_ids
-
- def _node_process(self, ids):
- tree = []
- fields = self.fields_type.keys()
- for field_name in self.fields_type:
- if self.fields_type[field_name]['type'] == 'many2one':
- fields.append(field_name + '.rec_name')
- if self.view.get('field_childs', False):
- res = self._read(ids, fields + [self.view['field_childs']])
- for obj in res:
- tree.append([obj['id'], None, [],
- obj[self.view['field_childs']]])
- tree[-1][1] = [obj[y] for y in self.fields]
- if obj[self.view['field_childs']]:
- tree[-1][2] = None
- else:
- res = self._read(ids, fields)
- for obj in res:
- tree.append([obj['id'], [obj[y] for y in self.fields], []])
- return tree
-
- def _node_expand(self, node):
- node[2] = self._node_process(node[3])
-
- #Mandatory GenericTreeModel method
- def on_get_path(self, node):
- '''returns the tree path (a tuple of indices)'''
- return tuple([x[0] for x in node])
-
- def on_get_flags(self):
- return 0
-
- def on_get_n_columns(self):
- return len(self.fields)+1
-
- def on_get_column_type(self, index):
- if index in self.pixbufs:
- return gtk.gdk.Pixbuf
- if index == 0:
- return gobject.TYPE_INT
- return FIELDS_LIST_TYPE.get(
- self.fields_type[self.fields[index-1]]['type'],
- gobject.TYPE_STRING)
-
- def on_get_tree_path(self, node):
- '''returns the tree path (a tuple of indices)'''
- return tuple([x[0] for x in node])
-
- def on_get_iter(self, path):
- '''returns the node corresponding to the given path.'''
- node = []
- tree = self.tree
- for i in path:
- if not tree or i >= len(tree):
- return None
- node.append((i, tree))
- tree = tree[i][2]
- return node
-
- def on_get_value(self, node, column):
- (i, values) = node[-1]
- if column:
- value = values[i][1][column - 1]
- else:
- return values[i][0]
-
- res = value or ''
- if (column in self.pixbufs) and res:
- return self.treeview.render_icon(stock_id=res,
- size=gtk.ICON_SIZE_BUTTON, detail=None)
- field = self.fields[column - 1]
- field_type = self.fields_type[field]['type']
- if field_type in ('selection'):
- res = dict(self.fields_type[field]['selection']).get(res, '')
- return res
-
- def on_iter_next(self, node):
- '''returns the next node at this level of the tree'''
- node = node[:]
- (i, values) = node[-1]
- if i < len(values) - 1:
- node[-1] = (i + 1, values)
- return node
- return None
-
- def on_iter_children(self, node):
- '''returns the first child of this node'''
- if node is None:
- return [(0, self.tree)]
- node = node[:]
- (i, values) = node[-1]
-
- to_reload = False
- if len(values[i]) >= 4:
- for obj_id in values[i][3]:
- if obj_id in self.to_reload:
- to_reload = True
-
- if values[i][2] is None or to_reload:
- self._node_expand(values[i])
- if values[i][2] == []:
- return None
- node.append((0, values[i][2]))
- return node
-
- def on_iter_has_child(self, node):
- '''returns true if this node has children'''
- (i, values) = node[-1]
- return values[i][2] != []
-
- def on_iter_n_children(self, node):
- '''returns the number of children of this node'''
- if node is None:
- return len(self.tree)
- (i, values) = node[-1]
-
- to_reload = False
- if len(values[i]) >= 4:
- for obj_id in values[i][3]:
- if obj_id in self.to_reload:
- to_reload = True
-
- if values[i][2] is None or to_reload:
- self._node_expand(values[i])
- return len(values[i][2])
-
- def on_iter_nth_child(self, node, child):
- '''returns the nth child of this node'''
- if node is None:
- if child < len(self.tree):
- return [(child, self.tree)]
- return None
- node = node[:]
- (i, values) = node[-1]
-
- to_reload = False
- if len(values[i]) >= 4:
- for obj_id in values[i][3]:
- if obj_id in self.to_reload:
- to_reload = True
-
- if values[i][2] is None or to_reload:
- self._node_expand(values[i])
- if child < len(values[i][2]):
- node.append((child, values[i][2]))
- return node
- return None
-
- def on_iter_parent(self, node):
- '''returns the parent of this node'''
- if node is None:
- return None
- return node[:-1]
-
- def cus_refresh(self):
- tree = self.tree
- tree[0][2] = None
-
- def _cus_row_find(self, ids_res):
- tree = self.tree
- try:
- ids = ids_res[:]
- while len(ids)>0:
- if ids[-1] in self.roots:
- ids.pop()
- break
- ids.pop()
- path = []
- while ids != []:
- path.append(0)
- val = ids.pop()
- i = iter(tree)
- while True:
- node = i.next()
- if node[0] == val:
- break
- path[-1] += 1
- if (node[2] is None) and (ids != []):
- return None
- tree = node[2]
- return (tuple(path), node)
- except Exception:
- return None
-
-class ViewTree(object):
- "View tree"
-
- def __init__(self, view_info, ids, window, sel_multi=False,
- context=None):
- self.window = window
- self.view = gtk.TreeView()
- self.view.set_headers_visible(not CONFIG['client.modepda'])
- self.context = {}
- if context:
- self.context.update(context)
- self.fields = view_info['fields']
- parse = Parse(self.fields)
- parse.parse(view_info['arch'], self.view)
- self.toolbar = parse.toolbar
- self.pixbufs = parse.pixbufs
- self.name = parse.title
- self.sel_multi = sel_multi
-
- if sel_multi:
- self.view.get_selection().set_mode(gtk.SELECTION_MULTIPLE)
- else:
- self.view.get_selection().set_mode(gtk.SELECTION_SINGLE)
- self.view.set_expander_column(self.view.get_column(1))
- self.view.set_enable_search(False)
- self.view.get_column(0).set_visible(False)
- self.view.connect('key_press_event', self.on_keypress)
-
- self.ids = ids
- self.view_info = view_info
- self.fields_order = parse.fields_order
- self.fields_attrs = parse.fields_attrs
- self.model = None
- self.reload()
-
- self.view.show_all()
- self.search = []
- self.next = 0
-
- def on_keypress(self, widget, event):
- if event.keyval in (gtk.keysyms.Down, gtk.keysyms.Up):
- path, column = self.view.get_cursor()
- if not path:
- return False
- store = self.view.get_model()
- if event.keyval == gtk.keysyms.Down:
- iter = store.get_iter(path)
- if path[0] == len(store) - 1 \
- and not store.iter_next(iter) \
- and (not store.iter_has_child(iter) \
- or not self.view.row_expanded(path)):
- return True
- elif event.keyval == gtk.keysyms.Up:
- if path[0] == 0 \
- and len(path) == 1:
- return True
-
- def reload(self):
- self.model = ViewTreeModel(self.ids, self.view_info, self.fields_order,
- self.fields, self.fields_attrs, context=self.context,
- pixbufs=self.pixbufs, treeview=self.view)
- self.view.set_model(self.model)
-
- def widget_get(self):
- return self.view
-
- def sel_ids_get(self):
- sel = self.view.get_selection()
- if not sel:
- return None
- sel = sel.get_selected_rows()
- if not sel:
- return []
- (model, iters) = sel
- return [int(model.get_value(model.get_iter(x), 0)) for x in iters]
-
- def sel_id_get(self):
- res = self.sel_ids_get()
- if res:
- res = res[0]
- return res
-
- def value_get(self, col):
- sel = self.view.get_selection().get_selected_rows()
- if sel is None:
- return None
- (model, i) = sel
- if not i:
- return None
- return model.get_value(i, col)
diff --git a/tryton/gui/window/view_tree/view_tree_sc.py b/tryton/gui/window/view_tree/view_tree_sc.py
deleted file mode 100644
index 51feb07..0000000
--- a/tryton/gui/window/view_tree/view_tree_sc.py
+++ /dev/null
@@ -1,75 +0,0 @@
-#This file is part of Tryton. The COPYRIGHT file at the top level of
-#this repository contains the full copyright notices and license terms.
-import tryton.rpc as rpc
-import gobject
-import gtk
-import gettext
-from tryton.gui import Main
-import tryton.common as common
-
-_ = gettext.gettext
-
-
-class ViewTreeSC(object):
-
- def __init__(self, tree, model, window):
- self.model = model
- self.tree = tree
- self.window = window
- self.tree.get_selection().set_mode('single')
- column = gtk.TreeViewColumn (_('ID'), gtk.CellRendererText(), text=0)
- self.tree.append_column(column)
- column.set_visible(False)
- cell = gtk.CellRendererText()
-
- column = gtk.TreeViewColumn (_('Description'), cell, text=1)
- self.tree.append_column(column)
- self.tree.connect('key_press_event', self.on_keypress)
-
- def on_keypress(self, widget, event):
- if event.keyval in (gtk.keysyms.Down, gtk.keysyms.Up):
- path, column = self.tree.get_cursor()
- if not path:
- return False
- store = self.tree.get_model()
- if event.keyval == gtk.keysyms.Down:
- if path[0] == len(store) - 1:
- return True
- elif event.keyval == gtk.keysyms.Up:
- if path[0] == 0:
- return True
-
- def update(self):
- store = gtk.ListStore(gobject.TYPE_STRING, gobject.TYPE_STRING,
- gobject.TYPE_STRING)
- user = rpc._USER
- args = ('model', 'ir.ui.view_sc', 'get_sc', user, self.model,
- rpc.CONTEXT)
- try:
- view_sc = rpc.execute(*args)
- except Exception, exception:
- view_sc = common.process_exception(exception, self.window, *args)
- if not view_sc:
- return
- for shortcut in view_sc:
- num = store.append()
- store.set(num, 0, shortcut['res_id'], 1, shortcut['name'],
- 2, shortcut['id'])
- self.tree.set_model(store)
- if self.model == 'ir.ui.menu':
- Main.get_main().shortcut_set(shortcuts=view_sc)
-
- def value_get(self, col):
- sel = self.tree.get_selection().get_selected()
- if sel is None:
- return None
- (model, i) = sel
- if not i:
- return None
- return model.get_value(i, col)
-
- def sel_id_get(self):
- res = self.value_get(0)
- if res is not None:
- return int(res)
- return None
diff --git a/tryton/gui/window/win_export.py b/tryton/gui/window/win_export.py
index 4d1afe1..fee597f 100644
--- a/tryton/gui/window/win_export.py
+++ b/tryton/gui/window/win_export.py
@@ -304,7 +304,7 @@ class WinExport(object):
for export in exports:
self.predef_model.append((
export['id'],
- [x['name'] for x in id2lines.get(export['id'], [])],
+ [x['name'] for x in id2lines[export['id']]],
export['name']))
self.pref_export.set_model(self.predef_model)
diff --git a/tryton/gui/window/win_form.py b/tryton/gui/window/win_form.py
index 38e1787..2675430 100644
--- a/tryton/gui/window/win_form.py
+++ b/tryton/gui/window/win_form.py
@@ -14,7 +14,7 @@ class WinForm(object):
"Form window"
def __init__(self, screen, parent, view_type='form', new=False,
- context=None):
+ many=False, context=None):
self.parent = parent
self.screen = screen
@@ -33,7 +33,6 @@ class WinForm(object):
self.screen.new(context=self.context)
self.win = gtk.Dialog(_('Link'), parent,
gtk.DIALOG_MODAL|gtk.DIALOG_DESTROY_WITH_PARENT)
- self.win.connect('close', self._sig_close)
self.win.set_property('default-width', 760)
self.win.set_property('default-height', 500)
self.win.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
@@ -44,16 +43,32 @@ class WinForm(object):
self.win.add_accel_group(self.accel_group)
self.but_cancel = None
+ self.but_ok = None
+ self.but_new = None
if new:
icon_cancel = gtk.STOCK_CANCEL
self.but_cancel = self.win.add_button(icon_cancel,
gtk.RESPONSE_CANCEL)
- self.but_ok = self.win.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
- self.but_ok.add_accelerator('clicked', self.accel_group,
- gtk.keysyms.Return, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
-
- self.win.set_default_response(gtk.RESPONSE_OK)
+ self.but_ok = self.win.add_button(gtk.STOCK_OK,
+ gtk.RESPONSE_OK)
+ if new and many:
+ self.but_ok.add_accelerator('clicked',
+ self.accel_group, gtk.keysyms.Return,
+ gtk.gdk.CONTROL_MASK|gtk.gdk.SHIFT_MASK,
+ gtk.ACCEL_VISIBLE)
+
+ self.but_new = self.win.add_button(gtk.STOCK_NEW,
+ gtk.RESPONSE_ACCEPT)
+ self.but_new.add_accelerator('clicked', self.accel_group,
+ gtk.keysyms.Return, gtk.gdk.CONTROL_MASK,
+ gtk.ACCEL_VISIBLE)
+ self.win.set_default_response(gtk.RESPONSE_ACCEPT)
+ else:
+ self.but_ok.add_accelerator('clicked', self.accel_group,
+ gtk.keysyms.Return, gtk.gdk.CONTROL_MASK,
+ gtk.ACCEL_VISIBLE)
+ self.win.set_default_response(gtk.RESPONSE_OK)
self.win.set_title(self.screen.current_view.title)
@@ -236,7 +251,6 @@ class WinForm(object):
self.wid_text.grab_focus()
def _sig_add(self, *args):
- from tryton.gui.window.win_search import WinSearch
domain = []
context = rpc.CONTEXT.copy()
@@ -269,41 +283,34 @@ class WinForm(object):
def _sig_label(self, screen, signal_data):
name = '_'
if signal_data[0] >= 0:
- name = str(signal_data[0] + 1)
+ name = str(signal_data[0])
line = '(%s/%s)' % (name, signal_data[1])
self.label.set_text(line)
- def _sig_close(self, widget):
- if self.screen.current_view:
- self.screen.current_view.set_value()
- if self.but_cancel:
- self.screen.remove(delete=True)
- elif self.screen.current_record and \
- not self.screen.current_record.validate():
- if self.screen.current_view:
- self.screen.current_view.set_cursor()
- self.screen.current_view.display()
- widget.emit_stop_by_name('close')
-
def run(self):
- end = False
- while not end:
- res = self.win.run()
+ validate = False
+ cancel_responses = (gtk.RESPONSE_CANCEL, gtk.RESPONSE_DELETE_EVENT)
+ while not validate:
+ response = self.win.run()
self.screen.current_view.set_value()
- end = (res != gtk.RESPONSE_OK) \
- or (not self.screen.current_record \
- or self.screen.current_record.validate())
- if not end:
+ if (response in cancel_responses
+ or self.screen.current_record is None):
+ break
+ validate = self.screen.current_record.validate(
+ self.screen.current_view.get_fields())
+ if not validate:
self.screen.current_view.set_cursor()
self.screen.display()
- if self.but_cancel:
- self.but_cancel.set_label(gtk.STOCK_CLOSE)
-
- if res == gtk.RESPONSE_OK:
- return True
- elif res == gtk.RESPONSE_CANCEL:
- self.screen.remove(delete=True)
- return False
+ continue
+ if response == gtk.RESPONSE_ACCEPT:
+ self.new()
+ validate = False
+ if (self.but_cancel
+ and self.screen.current_record
+ and response in cancel_responses):
+ self.screen.group.remove(self.screen.current_record, remove=True)
+ return False
+ return response not in cancel_responses
def new(self):
self.screen.new(context=self.context)
@@ -311,10 +318,6 @@ class WinForm(object):
self.screen.current_view.set_cursor(new=True)
def destroy(self):
- if self.screen.current_record and \
- self.screen.current_record.id < 0 and \
- not self.screen.current_record.validate():
- self.screen.remove(delete=True)
self.screen.screen_container.alternate_view = False
viewport = self.screen.screen_container.alternate_viewport
if viewport.get_child():
diff --git a/tryton/gui/window/win_import.py b/tryton/gui/window/win_import.py
index 4733a2d..e159f46 100644
--- a/tryton/gui/window/win_import.py
+++ b/tryton/gui/window/win_import.py
@@ -120,7 +120,7 @@ class WinImport(object):
table.set_col_spacings(8)
expander_csv_import.add(table)
- label_import_csv_sep = gtk.Label(_("Field Separater:"))
+ label_import_csv_sep = gtk.Label(_("Field Separator:"))
label_import_csv_sep.set_alignment(1, 0.5)
table.attach(label_import_csv_sep, 0, 1, 0, 1)
self.import_csv_sep = gtk.Entry()
diff --git a/tryton/gui/window/win_search.py b/tryton/gui/window/win_search.py
index 5318d08..e689ec1 100644
--- a/tryton/gui/window/win_search.py
+++ b/tryton/gui/window/win_search.py
@@ -32,12 +32,12 @@ class WinSearch(object):
self.accel_group = gtk.AccelGroup()
self.win.add_accel_group(self.accel_group)
- self.but_find = self.win.add_button(gtk.STOCK_FIND, gtk.RESPONSE_APPLY)
- self.but_new = self.win.add_button(gtk.STOCK_NEW, gtk.RESPONSE_ACCEPT)
self.but_cancel = self.win.add_button(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL)
+ self.but_find = self.win.add_button(gtk.STOCK_FIND, gtk.RESPONSE_APPLY)
self.but_ok = self.win.add_button(gtk.STOCK_OK, gtk.RESPONSE_OK)
self.but_ok.add_accelerator('clicked', self.accel_group,
gtk.keysyms.Return, gtk.gdk.CONTROL_MASK, gtk.ACCEL_VISIBLE)
+ self.but_new = self.win.add_button(gtk.STOCK_NEW, gtk.RESPONSE_ACCEPT)
hbox = gtk.HBox()
hbox.show()
@@ -48,7 +48,7 @@ class WinSearch(object):
self.win.vbox.pack_start(scrollwindow, expand=True, fill=True)
self.screen = Screen(model, self.win, domain=domain,
- view_type=['tree'], context=context,
+ mode=['tree'], context=context,
views_preload=views_preload, row_activate=self.sig_activate)
self.view = self.screen.current_view
self.view.unset_editable()
@@ -104,14 +104,11 @@ class WinSearch(object):
elif button == gtk.RESPONSE_ACCEPT:
res = None
screen = Screen(self.model_name, self.win, domain=self.domain,
- context=self.context, view_type=['form'])
+ context=self.context, mode=['form'])
win = WinForm(screen, self.win, new=True)
- while win.run():
+ if win.run():
if screen.save_current():
res = [screen.current_record.id]
- break
- else:
- screen.display()
win.destroy()
end = True
else:
diff --git a/tryton/gui/window/window.py b/tryton/gui/window/window.py
index 138bfa8..f6a24ab 100644
--- a/tryton/gui/window/window.py
+++ b/tryton/gui/window/window.py
@@ -7,38 +7,25 @@ from preference import *
class Window(object):
@staticmethod
- def create(view_ids, model, res_id=False, domain=None,
- view_type='form', window=None, context=None, mode=None, name=False,
- limit=None, auto_refresh=False, search_value=None):
+ def create(view_ids, model, res_id=False, domain=None, window=None,
+ context=None, mode=None, name=False, limit=None,
+ auto_refresh=False, search_value=None, icon=None):
from tryton.gui import Main
if context is None:
context = {}
- if view_type == 'form':
+ if model:
from form import Form
- win = Form(model, window, res_id, domain, view_type=mode,
- view_ids = (view_ids or []), context=context, name=name,
+ win = Form(model, window, res_id, domain, mode=mode,
+ view_ids=(view_ids or []), context=context, name=name,
limit=limit, auto_refresh=auto_refresh,
search_value=search_value)
- Main.get_main().win_add(win)
- elif view_type == 'tree':
- if model == 'ir.ui.menu':
- if Main.get_main().sig_reload_menu():
- return
- from tree import Tree
- win = Tree(model, window, res_id, view_ids and view_ids[0] or None,
- domain, context, name=name)
- Main.get_main().win_add(win)
- elif view_type == 'board':
+ else:
from board import Board
- win = Board(window, view_ids and view_ids[0] or None,
+ win = Board(model, window, view_ids and view_ids[0] or None,
context=context, name=name, auto_refresh=auto_refresh)
- Main.get_main().win_add(win)
- else:
- import logging
- log = logging.getLogger('view')
- log.error('unknown view type: '+view_type)
- del log
+ win.icon = icon
+ Main.get_main().win_add(win)
@staticmethod
def create_wizard(action, datas, parent, state='init', direct_print=False,
diff --git a/tryton/gui/window/wizard.py b/tryton/gui/window/wizard.py
index bda7d08..84e0f8d 100644
--- a/tryton/gui/window/wizard.py
+++ b/tryton/gui/window/wizard.py
@@ -42,8 +42,8 @@ class Wizard(SignalEvent):
self.action = action
self.datas = datas
self.state = state
- self.direct_print = direct_print
- self.email_print = email_print
+ self.direct_print = False
+ self.email_print = False
self.email = email
self.context = context
if not 'form' in datas:
@@ -83,8 +83,7 @@ class Wizard(SignalEvent):
elif res['type'] == 'form':
self.datas['form'] = {}
if res['type'] == 'form':
- self.update(res['arch'], res['fields'], res['state'],
- res['object'], context=ctx)
+ self.update(res, res['state'], res['object'], context=ctx)
self.screen.current_record.set_default(self.datas['form'])
break
elif res['type'] == 'action':
@@ -148,7 +147,7 @@ class Wizard(SignalEvent):
self.state = state
self.process()
- def update(self, arch, fields, state, obj_name, context=None):
+ def update(self, view, state, obj_name, context=None):
self.model = obj_name
hbuttonbox = gtk.HButtonBox()
@@ -163,19 +162,20 @@ class Wizard(SignalEvent):
but.connect('clicked', self.sig_clicked, i[0])
self.states[i[0]] = but
if len(i) >= 3:
+ common.ICONFACTORY.register_icon(i[2])
icon = gtk.Image()
icon.set_from_stock(i[2], gtk.ICON_SIZE_BUTTON)
but.set_image(icon)
hbuttonbox.pack_start(but)
val = {}
+ fields = view['fields']
for i in fields:
if 'value' in fields[i]:
val[i] = fields[i]['value']
- self.screen = Screen(obj_name, self.window, view_type=[],
- context=context)
- self.screen.add_view(arch, fields, display=True)
+ self.screen = Screen(obj_name, self.window, mode=[], context=context)
+ self.screen.add_view(view, display=True)
self.screen.widget.show()
title = gtk.Label()
diff --git a/tryton/ipc.py b/tryton/ipc.py
new file mode 100644
index 0000000..62ce5e8
--- /dev/null
+++ b/tryton/ipc.py
@@ -0,0 +1,183 @@
+#This file is part of Tryton. The COPYRIGHT file at the top level of
+#this repository contains the full copyright notices and license terms.
+"""
+Inter-Process Communication
+"""
+import tempfile
+import os
+import threading
+import select
+import time
+from tryton.config import get_config_dir
+
+__all__ = ['Server', 'Client']
+
+class IPCServer(object):
+
+ thread = None
+ running = None
+ instance = None
+
+ def __init__(self, hostname, port, database):
+ if Server.instance:
+ Server.instance.stop()
+ self.hostname = hostname
+ self.port = port
+ self.database = database
+ self.config = os.path.join(get_config_dir(), '%s@%s@%s' %
+ (self.hostname, self.port, self.database))
+ self.tmpdir = tempfile.mkdtemp(prefix='.tryton')
+ Server.instance = self
+
+ def setup(self):
+ raise NotImplemented
+
+ def run(self):
+ self.setup()
+ self.running = True
+ self.thread = threading.Thread(target=self._read)
+ self.thread.start()
+
+ def clean(self):
+ raise NotImplemented
+
+ def stop(self):
+ self.running = False
+ self.thread.join()
+ self.thread = None
+ self.clean()
+ Server.instance = None
+
+ def _read(self):
+ raise NotImplemented
+
+
+class FileServer(IPCServer):
+
+ def setup(self):
+ config = open(self.config, 'w')
+ print >> config, self.tmpdir
+
+ def clean(self):
+ try:
+ os.remove(self.config)
+ os.rmdir(self.tmpdir)
+ except OSError:
+ pass
+
+ def _read(self):
+ to_remove = set()
+ while self.running:
+ for filename in os.listdir(self.tmpdir):
+ path = os.path.join(self.tmpdir, filename)
+ if not os.path.isfile(path):
+ continue
+ if path in to_remove:
+ continue
+ try:
+ data = open(path, 'r').readline()
+ except IOError:
+ pass
+ if data and data[-1] != '\n':
+ continue
+ to_remove.add(path)
+ if data:
+ from tryton.gui.main import Main
+ Main.get_main().open_url(data[:-1])
+ if not os.path.exists(self.config):
+ self.setup()
+ for path in to_remove.copy():
+ try:
+ os.remove(path)
+ except Exception:
+ continue
+ to_remove.remove(path)
+ time.sleep(1)
+
+
+class FIFOServer(IPCServer):
+
+ def setup(self):
+ self.filename = os.path.join(self.tmpdir, 'Socket')
+ os.mkfifo(self.filename, 0600)
+ if os.path.lexists(self.config):
+ os.remove(self.config)
+ os.symlink(self.filename, self.config)
+
+ def clean(self):
+ try:
+ os.remove(self.config)
+ os.rmdir(self.tmpdir)
+ except OSError:
+ pass
+
+ def _read(self):
+ fifo = os.fdopen(os.open(self.filename, os.O_RDONLY|os.O_NONBLOCK))
+ data = ''
+ while self.running:
+ try:
+ rlist, _, _ = select.select([fifo], [], [], 1)
+ except select.error:
+ continue
+ if rlist:
+ try:
+ data += fifo.readline()
+ except IOError:
+ pass
+ if data and data[-1] != '\n':
+ continue
+ if data:
+ from tryton.gui.main import Main
+ Main.get_main().open_url(data.strip())
+ data = ''
+ if not os.path.lexists(self.config):
+ os.symlink(self.filename, self.config)
+
+
+class IPCClient(object):
+
+ def __init__(self, hostname, port, database):
+ self.hostname = hostname
+ self.port = port
+ self.database = database
+ self.filename = os.path.join(get_config_dir(),
+ '%s@%s@%s' % (hostname, port, database))
+
+ def write(self, message):
+ raise NotImplemented
+
+
+class FileClient(IPCClient):
+
+ def __init__(self, hostname, port, database):
+ super(FileClient, self).__init__(hostname, port, database)
+
+ def write(self, message):
+ if not os.path.exists(self.filename):
+ return False
+ tmpdir = open(self.filename, 'r').readline().strip()
+ _, tmpfile = tempfile.mkstemp(dir=tmpdir, text=True)
+ tmpfile = open(tmpfile, 'w')
+ print >> tmpfile, message
+ tmpfile.close()
+ return True
+
+
+class FIFOClient(IPCClient):
+
+ def __init__(self, hostname, port, database):
+ super(FIFOClient, self).__init__(hostname, port, database)
+
+ def write(self, message):
+ if not os.path.lexists(self.filename):
+ return False
+ fifo = open(self.filename, 'w')
+ print >> fifo, message
+ return True
+
+if hasattr(os, 'mkfifo'):
+ Server = FIFOServer
+ Client = FIFOClient
+else:
+ Server = FileServer
+ Client = FileClient
diff --git a/tryton/plugins/translation/__init__.py b/tryton/plugins/translation/__init__.py
index a723b65..0e906d2 100644
--- a/tryton/plugins/translation/__init__.py
+++ b/tryton/plugins/translation/__init__.py
@@ -8,7 +8,7 @@ _ = gettext.gettext
def translate_view(datas, parent):
model = datas['model']
Window.create(False, 'ir.translation', res_id=False,
- domain=[('model', '=', model)], view_type='form',
+ domain=[('model', '=', model)],
mode=['tree', 'form'], window=parent)
def get_plugins(model):
diff --git a/tryton/rpc.py b/tryton/rpc.py
index 892222c..3368588 100644
--- a/tryton/rpc.py
+++ b/tryton/rpc.py
@@ -7,6 +7,7 @@ import os
from threading import Semaphore
from tryton.fingerprints import Fingerprints
from tryton.config import get_config_dir
+from tryton.ipc import Server as IPCServer
_SOCK = None
_USER = None
@@ -48,9 +49,12 @@ def db_list(host, port):
_SEMAPHORE.release()
logging.getLogger('rpc.result').debug(repr(res))
return res
- except Exception:
- logging.getLogger('rpc.result').debug(repr(None))
- return None
+ except Exception, exception:
+ if exception[0] == 'AccessDenied':
+ raise
+ else:
+ logging.getLogger('rpc.result').debug(repr(None))
+ return None
def db_exec(host, port, method, *args):
global _SOCK, SECURE
@@ -154,10 +158,13 @@ def login(username, password, host, port, database):
_DATABASE = database
SECURE = _SOCK.ssl
context_reload()
+ IPCServer(host, port, database).run()
return 1
def logout():
global _SOCK, _USER, _USERNAME, _SESSION, _DATABASE, _VIEW_CACHE, SECURE
+ if IPCServer.instance:
+ IPCServer.instance.stop()
if _SOCK and _USER:
try:
_SEMAPHORE.acquire()
diff --git a/tryton/signal_event.py b/tryton/signal_event.py
index 2c6de8c..3b8759b 100644
--- a/tryton/signal_event.py
+++ b/tryton/signal_event.py
@@ -31,7 +31,7 @@ class SignalEvent(object):
for sig in signal:
i = 0
while i < len(self.__connects[sig]):
- if self.__connects[sig][i][2] == key:
+ if self.__connects[sig][i][2] is key:
del self.__connects[sig][i]
else:
i += 1
diff --git a/tryton/translate.py b/tryton/translate.py
index b5a0ad9..8272655 100644
--- a/tryton/translate.py
+++ b/tryton/translate.py
@@ -172,13 +172,11 @@ def setlang(lang=None, locale_dict=None):
elif os.name == 'mac' or \
(hasattr(os, 'uname') and os.uname()[0] == 'Darwin'):
encoding = 'UTF-8'
- # ensure environment variable are str
- lang, lang2, encoding = str(lang), str(lang2), str(encoding)
os.environ['LANGUAGE'] = lang
os.environ['LC_ALL'] = lang2 + '.' + encoding
os.environ['LC_MESSAGES'] = lang2 + '.' + encoding
os.environ['LANG'] = lang + '.' + encoding
- locale.setlocale(locale.LC_ALL, lang2 + '.' + encoding)
+ locale.setlocale(locale.LC_ALL, str(lang2 + '.' + encoding))
except Exception:
logging.getLogger('translate').info(
_('Unable to set locale %s') % lang2 + '.' + encoding)
diff --git a/tryton/version.py b/tryton/version.py
index f4cbb0d..e944275 100644
--- a/tryton/version.py
+++ b/tryton/version.py
@@ -1,7 +1,7 @@
#This file is part of Tryton. The COPYRIGHT file at the top level of
#this repository contains the full copyright notices and license terms.
PACKAGE = "tryton"
-VERSION = "1.8.3"
+VERSION = "2.0.0"
LICENSE = "GPL-3"
WEBSITE = "http://www.tryton.org/"
diff --git a/tryton/wizard/main.py b/tryton/wizard/main.py
index 57e0997..ec94792 100644
--- a/tryton/wizard/main.py
+++ b/tryton/wizard/main.py
@@ -16,7 +16,7 @@ _ = gettext.gettext
class Dialog(object):
"Dialog for wizard"
- def __init__(self, arch, fields, state, obj_name, parent,
+ def __init__(self, view, state, obj_name, parent,
action='', size=(0, 0), context=None):
self.parent = parent
self.action = action
@@ -25,8 +25,9 @@ class Dialog(object):
self.dia = gtk.Dialog(_('Wizard'), parent,
gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT)
self.dia.set_position(gtk.WIN_POS_CENTER_ON_PARENT)
- if hasattr(self.dia, 'set_deletable') and os.name != 'nt':
+ if hasattr(self.dia, 'set_deletable'):
self.dia.set_deletable(False)
+ self.dia.connect('close', self.close)
self.accel_group = gtk.AccelGroup()
self.dia.add_accel_group(self.accel_group)
@@ -35,6 +36,7 @@ class Dialog(object):
but = gtk.Button(i[1])
but.show()
if len(i) >= 3:
+ common.ICONFACTORY.register_icon(i[2])
icon = gtk.Image()
icon.set_from_stock(i[2], gtk.ICON_SIZE_BUTTON)
but.set_image(icon)
@@ -50,12 +52,13 @@ class Dialog(object):
self.states.append(i[0])
val = {}
+ fields = view['fields']
for i in fields:
if 'value' in fields[i]:
val[i] = fields[i]['value']
- self.screen = Screen(obj_name, self.dia, view_type=[], context=context)
- self.screen.add_view(arch, fields, display=True)
+ self.screen = Screen(obj_name, self.dia, mode=[], context=context)
+ self.screen.add_view(view, display=True)
title = gtk.Label()
title.set_use_markup(True)
@@ -144,6 +147,10 @@ class Dialog(object):
self.parent.present()
return False
+ def close(self, widget, event=None):
+ widget.emit_stop_by_name('close')
+ return True
+
def destroy(self):
self.dia.destroy()
@@ -187,11 +194,13 @@ class Wizard(object):
res = rpcprogress.run()
exception = None
except Exception, exception:
- common.process_exception(exception, parent)
- # Continue by running previous result except if access to
- # wizard is denied
- if exception.args[0] == 'AccessDenied':
- break
+ if common.process_exception(exception, parent):
+ continue
+ else:
+ # Continue by running previous result except if access to
+ # wizard is denied
+ if exception.args[0] == 'AccessDenied':
+ break
if not res:
if dia:
res = {'type': 'form'}
@@ -208,10 +217,9 @@ class Wizard(object):
datas['form'] = {}
if res['type'] == 'form':
if not dia:
- dia = Dialog(res['arch'], res['fields'], res['state'],
- res['object'], parent, action=action,
- size=res['size'], context=ctx)
- dia.screen.current_record.set(datas['form'])
+ dia = Dialog(res, res['state'], res['object'], parent,
+ action=action, size=res['size'], context=ctx)
+ dia.screen.current_record.set_default(datas['form'])
res2 = dia.run(datas['form'])
if not res2:
break
--
tryton-client
More information about the tryton-debian-vcs
mailing list