Add Preferences and Plugin Manager toolbar buttons (#1139)

Add configurable Plugin Manager and Preferences buttons to the toolbar.

Make the Tools, Reports, Clipboard buttons on the toolbar configurable.
This commit is contained in:
DaveSch-gramps 2023-03-07 16:29:57 -05:00 committed by GitHub
parent fe8bcf92bb
commit a3122df673
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 502 additions and 40 deletions

View File

@ -223,6 +223,11 @@ register('interface.statusbar', 1)
register('interface.toolbar-on', True) register('interface.toolbar-on', True)
register('interface.toolbar-text', False) register('interface.toolbar-text', False)
register('interface.hide-lds', False) register('interface.hide-lds', False)
register('interface.toolbar-clipboard', True)
register('interface.toolbar-plugin', True)
register('interface.toolbar-preference', True)
register('interface.toolbar-reports', True)
register('interface.toolbar-tools', True)
register('interface.view', True) register('interface.view', True)
register('interface.surname-box-height', 150) register('interface.surname-box-height', 150)
register('interface.treemodel-cache-size', 1000) register('interface.treemodel-cache-size', 1000)

View File

@ -1163,6 +1163,12 @@ class GrampsPreferences(ConfigureDialog):
""" """
self.uistate.emit('grampletbar-close-changed') self.uistate.emit('grampletbar-close-changed')
def cb_toolbar_changed(self, obj):
"""
Called when the toolbar is changed.
"""
self.uistate.emit('toolbar-changed')
def add_data_panel(self, configdialog): def add_data_panel(self, configdialog):
""" """
Config tab with user Appearance and format settings. Config tab with user Appearance and format settings.
@ -1618,6 +1624,46 @@ class GrampsPreferences(ConfigureDialog):
"(People, Families, Events...).\n" "(People, Families, Events...).\n"
"Requires Gramps restart to apply.")) "Requires Gramps restart to apply."))
row += 1
# Show Tools Icon:
self.add_checkbox(
grid, _("Show Clipboard icon on toolbar"),
row, 'interface.toolbar-clipboard', start=1, stop=3,
tooltip=_("Show or hide the Clipboard icon on the toolbar."),
extra_callback=self.cb_toolbar_changed)
row += 1
# Show Tools Icon:
self.add_checkbox(
grid, _("Show Reports icon on toolbar"),
row, 'interface.toolbar-reports', start=1, stop=3,
tooltip=_("Show or hide the Reports icon on the toolbar."),
extra_callback=self.cb_toolbar_changed)
row += 1
# Show Tools Icon:
self.add_checkbox(
grid, _("Show Tools icon on toolbar"),
row, 'interface.toolbar-tools', start=1, stop=3,
tooltip=_("Show or hide the Tools icon on the toolbar."),
extra_callback=self.cb_toolbar_changed)
row += 1
# Show Plugins Icon:
self.add_checkbox(
grid, _("Show Plugins icon on toolbar"),
row, 'interface.toolbar-plugin', start=1, stop=3,
tooltip=_("Show or hide the Plugins icon on the toolbar."),
extra_callback=self.cb_toolbar_changed)
row += 1
# Show Preferences icon:
self.add_checkbox(
grid, _("Show Preferences icon on toolbar"),
row, 'interface.toolbar-preference', start=1, stop=3,
tooltip=_("Show or hide the Preferences icon on the toolbar."),
extra_callback=self.cb_toolbar_changed)
row += 1 row += 1
# Gramplet bar close buttons: # Gramplet bar close buttons:
self.add_checkbox( self.add_checkbox(

View File

@ -382,6 +382,43 @@ class WarnHandler(RotateHandler):
top.run() top.run()
top.destroy() top.destroy()
TOOL_UI = ''' <child>
<object class="GtkToolButton">
<property name="icon-name">%s</property>
<property name="action-name">%s</property>
<property name="tooltip_text" translatable="yes">%s</property>
<property name="label" translatable="yes">%s</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="homogeneous">False</property>
</packing>
</child>
'''
TOOLS = {
'clipboard': ('edit-paste',
'win.Clipboard',
_('Open the Clipboard dialog'),
_('Clip_board')),
'reports': ('gramps-reports',
'win.Reports',
_('Open the reports dialog'),
_('Reports')),
'tools': ('gramps-tools',
'win.Tools',
_('Open the tools dialog'),
_('Tools')),
'plugin': ('gramps-plugin-manager',
'win.PluginStatus',
_('Open Plugin Manager'),
_('Plugins')),
'preference': ('gramps-preferences',
'app.preferences',
_('Open Preferences'),
_('Preferences')),
}
class DisplayState(Callback): class DisplayState(Callback):
__signals__ = { __signals__ = {
@ -393,6 +430,7 @@ class DisplayState(Callback):
'update-available' : (list, ), 'update-available' : (list, ),
'autobackup' : None, 'autobackup' : None,
'font-changed' : None, 'font-changed' : None,
'toolbar-changed' : None,
} }
#nav_type to message #nav_type to message
@ -446,6 +484,7 @@ class DisplayState(Callback):
# This call has been moved one level up, # This call has been moved one level up,
# but this connection is still made! # but this connection is still made!
# self.dbstate.connect('database-changed', self.db_changed) # self.dbstate.connect('database-changed', self.db_changed)
self.connect('toolbar-changed', self.set_toolbar)
if DEV_VERSION or VERSION_QUALIFIER: if DEV_VERSION or VERSION_QUALIFIER:
ver_btn = status.get_version_btn() ver_btn = status.get_version_btn()
@ -457,6 +496,15 @@ class DisplayState(Callback):
ver_btn.connect('clicked', self.__develop_warn, msg) ver_btn.connect('clicked', self.__develop_warn, msg)
ver_btn.show() ver_btn.show()
def set_toolbar(self):
ui = '<placeholder id="AfterTools">\n'
for key in TOOLS.keys():
if config.get('interface.toolbar-' + key):
ui += TOOL_UI % TOOLS[key]
ui += '</placeholder>'
self.uimanager.add_ui_from_string([ui])
self.uimanager.update_menu()
def set_backup_timer(self): def set_backup_timer(self):
""" """
Set the backup timer. Set the backup timer.

View File

@ -343,19 +343,6 @@ UIDEFAULT = (
</placeholder> </placeholder>
<placeholder id='TagTool'> <placeholder id='TagTool'>
</placeholder> </placeholder>
<child groups='RW'>
<object class="GtkToolButton" id="Clipboard">
<property name="icon-name">edit-paste</property>
<property name="action-name">win.Clipboard</property>
<property name="tooltip_text" translatable="yes">'''
'''Open the Clipboard dialog</property>
<property name="label" translatable="yes">Clip_board</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="homogeneous">False</property>
</packing>
</child>
<child> <child>
<object class="GtkSeparatorToolItem"/> <object class="GtkSeparatorToolItem"/>
</child> </child>
@ -379,32 +366,6 @@ UIDEFAULT = (
</child> </child>
<placeholder id="MoreButtons"> <placeholder id="MoreButtons">
</placeholder> </placeholder>
<child groups='RO'>
<object class="GtkToolButton" id="Reports">
<property name="icon-name">gramps-reports</property>
<property name="action-name">win.Reports</property>
<property name="tooltip_text" translatable="yes">'''
'''Open the reports dialog</property>
<property name="label" translatable="yes">_Reports</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="homogeneous">False</property>
</packing>
</child>
<child groups='RW'>
<object class="GtkToolButton" id="Tools">
<property name="icon-name">gramps-tools</property>
<property name="action-name">win.Tools</property>
<property name="tooltip_text" translatable="yes">'''
'''Open the tools dialog</property>
<property name="label" translatable="yes">_Tools</property>
<property name="use-underline">True</property>
</object>
<packing>
<property name="homogeneous">False</property>
</packing>
</child>
<placeholder id='AfterTools'> <placeholder id='AfterTools'>
</placeholder> </placeholder>
</object> </object>

View File

@ -210,6 +210,7 @@ class ViewManager(CLIManager):
# Set autobackup # Set autobackup
self.uistate.connect('autobackup', self.autobackup) self.uistate.connect('autobackup', self.autobackup)
self.uistate.set_backup_timer() self.uistate.set_backup_timer()
self.uistate.set_toolbar()
def check_for_updates(self): def check_for_updates(self):
""" """

View File

@ -383,7 +383,7 @@ class MediaView(ListView):
</placeholder> </placeholder>
''' % (ADD_MSG, EDIT_MSG, DEL_MSG, MERGE_MSG), ''' % (ADD_MSG, EDIT_MSG, DEL_MSG, MERGE_MSG),
''' '''
<placeholder id='AfterTools'> <placeholder id='MoreButtons'>
<child> <child>
<object class="GtkToolButton"> <object class="GtkToolButton">
<property name="icon-name">gramps-viewmedia</property> <property name="icon-name">gramps-viewmedia</property>
@ -443,6 +443,10 @@ class MediaView(ListView):
<placeholder id='QuickReport'> <placeholder id='QuickReport'>
</placeholder> </placeholder>
</section> </section>
<section>
<placeholder id='AfterTools'>
</placeholder>
</section>
</menu> </menu>
''' % _('_Edit...', 'action') # to use sgettext() ''' % _('_Edit...', 'action') # to use sgettext()
] ]

Binary file not shown.

After

Width:  |  Height:  |  Size: 831 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 985 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@ -0,0 +1,150 @@
<?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"
sodipodi:docname="gramps-plugin-manager.svg"
inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
id="svg8"
version="1.1"
viewBox="0 0 25.4 25.4"
height="25.4mm"
width="25.4mm">
<defs
id="defs2" />
<sodipodi:namedview
inkscape:window-maximized="1"
inkscape:window-y="-8"
inkscape:window-x="1672"
inkscape:window-height="997"
inkscape:window-width="1680"
showgrid="false"
inkscape:document-rotation="0"
inkscape:current-layer="layer1"
inkscape:document-units="mm"
inkscape:cy="168.41904"
inkscape:cx="74.133339"
inkscape:zoom="0.35"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base" />
<metadata
id="metadata5">
<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>
</cc:Work>
</rdf:RDF>
</metadata>
<g
transform="translate(-86.218887,-103.6058)"
id="layer1"
inkscape:groupmode="layer"
inkscape:label="Layer 1">
<image
id="image843"
xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAAN1wAADdcBQiibeAAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAABJpSURB
VHic7Zt7jCRHfcc/Vd3z3N3Z1+3tvXw+G4PP+AH4AX6cwTjGF2EZpCQm5KFgoihESXACtsH/EIMV
gYFgQqREIlHiSCZIWEkwsogNAfzkfFwMts+YM3c+39t3e3v7mNl5dXdV/fJH98z0zM7eLtzlrCip
Uamrqx/1+37r9/vVr6tqlIjwfznp11uA1zv9PwGvtwCvd/Jfz8Yv/4jK5Ib9d2vhJlGcrRWrBcZF
JA+qgmJWwQmxvOBEPfzMfdHzcpqdlno9nOC1d6mNiP8VRN+4eeNb3VUXbx1YPbJBjRTGGciPgIJa
UKZcP8GJymvsPvIT8+LuZ5uzlWmDkn9plu3Hnv2qRKdDljNOwDV35i7ytHrst2/86NiV5/+qLhXG
0cpHK42nPLT2QBSCxTpLZAPqUYVqMM/hmd18578ebO7a+9wLTc9sffZeKZ+qPGeUgC0fz15eGBj4
/p//xr1DG1adpyIbIIATA6Ji8IBCASDicOLQOnZVtaDMQjDHthcfjZ56/tEjpYbZ/B9/I8GpyHRG
fYB47rYP3vAnQ4MDw+rQ/Ms4cXjKx9Nx1srrgEdwYrHOYGyIEQMIkW1y8ZuuyBw89srk/sN7bgG+
dioynVECNNywYeJcdbSyB+sMns4kwH087aHQKAUi0ibAicXYCCsRxoRELiQ0ddat21A4ePSVD/C/
hYAtn1TrxobWj2tPMd84ngLvoZVGoVBKA0JsloITh3Gmowkuoh6WUUoxOboBFOtOVa4zRoA4/+zR
0nhkXJBdCOfwdQZf+SidgCc+Cg4hsX8czhmsszgxNG0dY0NK+VUYYxConKpcZ4yAQczOQ1P78mPF
9WS9HIGpEyKIOARBQQxdoKUFDotzDsG160Qcw/lVvHjwJ5FYvn2qcp2xSPA7X5Ra5Brfe/Kn37IX
TF4T27gzMUixGDFYF2EkxLgQIyFWDI7YBJyzWDEM5sYoZkbY+fKzBu09dKpyndFQOArMhx5+8oHK
bHmKN4y/tQ1eerLDIljEpescGZ3jvIlL+d72f29GJvjyD7/Q3HuqMp1RArb/tUy5SG78+299rl70
R1lbOi/u3YQIh2t7fucsFotr+QIsG0cv4IW9z7jdB1/a2yybT58Omc74x9DT94XPNpvNTzz09D/W
1wydkwKf9Dq27QBFEhKwZHSWUm41T2x/NBBrbjpdofAZJ+Dyj6iM1jLmaY/IhW2Vd2Kx0upx284x
IRbfy2EJMWI8wd/87s+o/OmQ57SFwtfepTaK8z6L4hqcGksCukXJ97L5c9edb275lT8tvlrewbHK
XiQ1GpAEQek6EUGT4W3rtvKz/Tvsj3b+oFqtNQoKmssKJjilOCzCg6XAfKE3dD4tBFx7R/ayfK7w
xFWX3Zi7ZNO1/sjABEqlGFAkwBy5TJEganJwfhevzv0Q2mBTJLTOce2oEBE2lLYwVPAp5UYxNiQw
Dawz8XPicBIHT3G55UsMU/NH2HdgX/3Qkf1HxJi3bLtPGu0OOWX0ANp98wNbPzbw9k2/Q6Ue0owi
LBFWAqxrYlwTI3WsC2mYwyyEB5luPo/DpsAmgBOwDtetDTgOL+xgPDyfBV/j6wyeHkKrLJ7K4esc
ns7ik8fTWbTKo5UHKCYHjrJ2bFvxSfvoWceOHb0HuPO0EXDlJ9WGoVxp/NJNNzFX1UzXdlF3s4S2
TGgrRFIlslUiVyNyTQx1rGt2q7xKEZAKg3u1w7oKr9V3kA6KOt8NnWfja4KIIucP8+bxDzKUu4jz
ztmXPzp19P2nlQDfZDaMrp4wQRTxSvkhDlf/MwFHx4bpUW0lnegOQVyv6i9hDq1AWXoI6vEXbVKc
pdI8zNOH7uW6jZ9haHAIJUx2yX+qBADgRNXNHHPBbqzEw1haOOiodD/77iKoVSOG0DUxNkhGi44v
EEm/G8R1yjE50vYNcR3MB/tiDZHuke+0EODEUY9O0DDT7agt3dtIN8h27yXXHZZGVCGyTSIbELkA
66KW7J3U66+lpyg99SopK1gIj5DNGBTd49PpIcBZqUcnCMw8omwbYF9vnmiDSs4b4QLzzSmMhN0v
VamDdNe1waYHmuQ8zZESkISEajTNqJfHqf8BAgShGk5hicAJTiXqrrptFTraELqAcvM4TVNdvoGe
mEKlwPeSkQaN6txbj6Yp5daifgET8JLrXvK6CJJxq5cAcdTNTDKsudgm26ov0HaG8a8ezTPfmIrv
6dXJJZKkC/16PqUlXXUJGYGdR1gDKzABHxj4xlNffuOe1168vlybvr7anLtIRG0vFUa//uH3ff67
F6y6oNZLROQa8deb6nhj1XZxHZtfCGeohjMd4CtB3wKaun9Rz/fWCfH0Wks+aSDKIstogAaGPvuN
3/+jalD59LnrL5ALz3tbLpfPMjN/7Nf2HHz5vffc/+vRQq1yT00d+cpjd4sRLcqJS77dbdfw5VJm
IDgqzeM0zMLSoPvVS59r0iEvDXpRz9MxCWObrVHhpBrgfeqB37q+FpT/4qpLr8uuHl5PMTuMQjFU
GFbjY6sK6zdOFrY///g9lYPHP7rldv82rdk6NDKQDW09/ranZwgUwUrEfHOKyDU7zauuw9IpdcNJ
nV9yzPuDDGVXUcgMUg+r1IJZ6lEFp0zsfE9GwIf+9h2l+dmj91/zjnflA6lQbuYIbfzt0DAV5hvH
Ed/wlksuKY6sLpy9/9VDX3PWem96w/n5WjTf1gBUa4hzGBtQDo5jxbQBdUmwQhNIg11EhkDOL7B5
YgsqynBi7jhzx+ajfKmYWT+yBqWFufqxRBNPQsC+g8/fMDGxRtVlhuM1TTWcx/dyxPPxDWpRmVow
R91WGCwVuPSKS4YEoWkq1MJ50gGPIDTDBarRbKwJaeC9oE+iDX2dX9oEBPKZQd68+p28smtv+PIr
u2oKnhDHDjQ3i+Oy4bHBcHLt+GBuvLGomW4TUO6WwrA/WA6OE7pm8sHhIYCViNA2iFwT5wxNFpAw
GeMXBTuOWjhPwy60kS1yeP28fx8GFjm/XiIUbF51NXt27W3u3rvrBTDveerzkjTM567+uBorz9be
X6lUPyyWdwDZvgQopdQ1d/o3Fod8rDM0ogVAEk8qBKaOlSjpY9tex4u/uDrxeOAaNKIyNpmwaX8V
p45LakK/1Ov8eogYyIygXYY9e162jQFz/bN3Sz39+Lb7ZBa4H7j/8rvUcM557+tLwFUfY1Sjs2iL
QrUnK+eD4zSiSrx+11JVRVfZ0z4oFccB4rrvgyXPFxGyRFrk/FJD3OTgORw4st+Kdl/vBd+bksXU
B/oSoPzcqPKJQglyeQaxLmKmdpjQNZbutaRsxXR6Z6XgfwFn2OX8eoa4vD/IzPFXau6XXCNoBwXK
uFHlYa2LcGKpBrMx+FZ7aUfVr5wCv2io63Pefjb93HJ1fdrxvSy1eh1Ev/aLAG+ltgY4JcNai9hk
AaIelrvBrLRMH2JOcn5SE0jHAD093xoBtPIImk1P+9HUUq85WUqPAg3nBOMCrBgsZjGYlZTTQcoK
NCF9vmTq4/xadcYFeL52ppodWOYtfVPbBMTpORuJZ1yEc32m3H8RTehT1wVW9Qev1OKcfmbRe4j9
T6FQcL7vumZ6VpraBNhMOCcOvzMvx/I907olrQkpMIvKvRqT9gm9YJe61vO+yDUZLBVzorh8eWkX
pzYB9QFmRfDFgnERqvVTGk/5SVDko5RGn8xwl9GOXiem0oB737mCUWW+eZSzNp6VV0r+eCWAL/qM
6gqE2gT89G4JPc1zYTXehuLpDBkvRyEzxFBujFJunKHcGMVMCd/LxZsZVmAWfTWhBT59bx/1X4nP
mGsepTQ8SLE4NLnljuwf9AP93ttU7to7/ZvfeVfmX4er/on0ta5Q2Ij6elDmomg0KGb9IvlMgcHc
GAPZYTJelsiF1KN5quEM9agCCrTSWIlwidNsy7ecJvQD1ntvzzd9+1w6z4kIr1V/ztVbrig+/eSP
vnLNJzKbteMhMuYla7zrfK1udQX/huJgxoxMloaO7J7pIqeLAIm8bwUL5t4osmR8h1YeGS9Hzi+S
9fJoW6dpPLTyyWcGCRsOGwql0TGqZnrxvN5SaRnH2QaZGvakdU/vhCdwonEQyTuueuflxQOvHvqz
E8fn/rCysJAfHs02xtaWSsPjA3iewopweM+M6xKld2ns6jsyd/lZPrXqTZliLpsllymS8wt4yos3
L4ihXgk5sb+6ENSjQJBw8g3Da8bXFXU5ON4G0Pb2ibBp9U2Xfe0zUdzERHETxUyJnDdIRueIXJPA
1qgEJzi08BLVcKY1q94JjSU1FSZQ9EcZzI6S8wbwVY7A1KhHZaphmTCqM17cyM4n99mnvxi1O37R
lNi2v4ru3fIJf8PMnujWgQk7kCsFZPJlJIJ6RaQxYytRw1ac5ePbvmT/7arb/RsXpoJvTKwfGl6i
v/snBZuG38q6gfOZnjnBz58/UK8uVG293tBRFOniwIAZGhxgcs3a4ts23ew1KbNz+ns0o4UuRUif
1KI5atHcImJa5dYUTZcY/RZHlVLq6jsyt2ot7xPHdWjyOAxKvi3CA9sG7SNydzy/tOX27JX5wcyj
510xMTzXPJo8z7IacO7IZfjBCE898XQziBo/dVb9nVOy2zf+Uec1q5bsGm3dOi8jN6P07124+WL/
wos355+beoTA1pbVht6yEsVoYQMvPnUg+uEXo/ZI0HdWONmQfH+SufYutXHtAY48+KDYk3XqStPa
gTeimoM89oPHqmFktj7zJfNM52rLmYbTwIvAd6671d7+EjsfiUx05YVvuT7/k2MPp4Q9SUO910QW
1a5og8RT98rBXvAqSeJExe92ix+UvkWG82t47tmd1bAZffCZL5ntdEcCKpGrnR//Z6LGz8xNP9/z
s5mwZij4IysRe1G7ThzqlyFALU66LazQXttdiSSezuBJjvn5Wf/o8/b7iQzecvnHD2OU47tT08dk
KDu2WMb2T8fBmvLibbhJVijExRrQAgHLrAy1buIko7qzJBogiyYt+pULXolyeQ6UHNj/OGkZ+rXV
lcKmfm52Zv43z5ocLdJuLu6HGLSOCUCjibfegkbEEdpmvO8IXKsNpdTSBPQBr1PnbSHFxvXSo+59
eRAIbZ1iqYhYNp3zdob37aC+BPhFRPhZd83ASKYQRLX4BklCdXwUHlr7ePjorrKPcSHOWZSAjkXS
iWjLrg322uWiyN2E+E5EdfmAfgwkx9A2QDsGhnPhyIWylR32ke47usCnyVdaq60j4yU1Fx0AUck+
Yx9PZdD47W+WuJxB60ysCUajVBVrbPxXhNis7JIEJL2fFiLtlFrnANoG+KqzCti1SpueuEh/zy8E
J5g8a9VgefrwLcAziTCdJeUO6FbObHqXd77OetnB4iCHZuYSG890svbbwL0WKcpvw5DWtpv4/X5y
dMs5Qd2TWwumPvH0cv7EK6ZiQptrOaB2ku5jegCqBDOsWj2ivKy6HjgbmABKQAHIp45FYARYPbSG
myfXjPrVcD5W55S9txhvzUy3luqMDQltg8DW0MojbESATAOZBIta6fJ42lOnycgf3k648SpXr8zW
88WRAZqu1p4ZTvc8yRqdEqhGs0wMn00m43trLnHvObbT7QCmgCqdQMBLSCgBY4UJbli1djRbCafj
dzmHURFWLFpiz0/iExRxGUh2nDp8fOaO1YJggceBXNKOXURAyvm1q1LHlvq3yMgAgwe3yT8pv37b
2s3FbGl8DK0UWmm09pL5hM4agtLxuYiw5qyxzNR5U1cf28luYIF4359NteMD+VyJ1X5OrR8ZG0bp
EYYyq9qbpFyyJU4k+YOFc/E2HeewzuA8i4oM04drpnI8qu3+pv0HUv5sEQEiIn1ISPpwUVkAc/hH
7scm5Ks2qP6uztaGMr5vEzJTTyglrdA4GcKsWG94HecnwKOkV9K+IALCtZfqcwG9/fsvhiItjyld
WqVaVpASUxBxIsoa64cL7NrziP3LyhSVVBtLfwvQ7fx6A5O2cwKGgDFgFCgMTTJSXK1XOYj/AGBR
ziXyuLjlZDXNobCiXG1uL3uAMlBPSGi1nwEGiuOszQ3rtQpyCL5ovGQwi/9vkdyv48FNtbd0xEdb
PuD2h1VmgZkkV1ttLUdAWuV7HaKi4xTzxE4xk7q33/DZbiIR0SWAgySbVO9Dx8yyxHab7XnnUimt
oQKExFpWT3IjaSs6GQEtQXuHv15ALSJ6r6UJSAPvJ6yjW/XTQqW1sPf9y6XWu2ySIzqmZgC75F7h
nligH7DeHl1J5LiU0OkvqV4Cep3wSaPFnpTWhFas0To6wP03A+j+DFHCCnkAAAAASUVORK5CYII=
"
preserveAspectRatio="none"
height="25.4"
width="25.4"
x="86.218887"
y="103.6058" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 8.2 KiB

View File

@ -0,0 +1,247 @@
<?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/jimmac/src/cvs/tango-icon-theme/scalable/categories"
sodipodi:docname="applications-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="perspective31" />
<linearGradient
id="linearGradient3264">
<stop
style="stop-color:#c9c9c9;stop-opacity:1;"
offset="0"
id="stop3266" />
<stop
id="stop3276"
offset="0.25"
style="stop-color:#f8f8f8;stop-opacity:1;" />
<stop
id="stop3272"
offset="0.5"
style="stop-color:#e2e2e2;stop-opacity:1;" />
<stop
style="stop-color:#b0b0b0;stop-opacity:1;"
offset="0.75"
id="stop3274" />
<stop
style="stop-color:#c9c9c9;stop-opacity:1;"
offset="1"
id="stop3268" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3264"
id="linearGradient3281"
gradientUnits="userSpaceOnUse"
x1="14.462892"
y1="12.284524"
x2="34.534348"
y2="39.684914"
gradientTransform="matrix(1.241935,0,0,1.241935,-5.027508,-7.208988)" />
<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" />
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3264"
id="linearGradient3760"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.241935,0,0,1.241935,-5.027508,-7.208988)"
x1="14.462892"
y1="12.284524"
x2="34.534348"
y2="39.684914" />
<linearGradient
inkscape:collect="always"
xlink:href="#aigrd1"
id="linearGradient3773"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(0.200685,0,0,0.200685,-54.33576,-1.050787)"
x1="99.7773"
y1="15.4238"
x2="153.0005"
y2="248.6311" />
</defs>
<sodipodi:namedview
inkscape:showpageshadow="false"
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="0.11764706"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="5.6568542"
inkscape:cx="43.652227"
inkscape:cy="21.164787"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:grid-bbox="true"
inkscape:document-units="px"
inkscape:window-width="872"
inkscape:window-height="697"
inkscape:window-x="562"
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>System Applications</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>system</rdf:li>
<rdf:li>applications</rdf:li>
<rdf:li>group</rdf:li>
<rdf:li>category</rdf:li>
<rdf:li>admin</rdf:li>
<rdf:li>root</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
inkscape:r_cy="true"
inkscape:r_cx="true"
style="opacity:1;color:#000000;fill:url(#linearGradient3773);fill-opacity:1;fill-rule:nonzero;stroke:#3f4561;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 22.699525,0.94746963 C 22.22635,0.97984519 21.766437,1.0531317 21.301673,1.1063165 L 21.269903,1.1063165 L 20.157975,7.1742671 C 18.345621,7.5870046 16.640562,8.2874574 15.106644,9.2392765 L 10.118853,5.6493371 C 8.770521,6.6961412 7.543552,7.9170049 6.465374,9.2392765 L 9.928236,14.290607 C 8.876814,15.89739 8.086153,17.732094 7.640841,19.659632 C 7.640765,19.668743 7.640779,19.689813 7.640841,19.691401 L 1.60466,20.644482 C 1.494303,21.545851 1.445813,22.477386 1.445813,23.408418 C 1.445813,24.170171 1.466846,24.921747 1.541121,25.664043 L 7.577303,26.744202 C 8.0066,28.840363 8.822112,30.797987 9.960006,32.526228 L 6.370066,37.450482 C 7.398201,38.726866 8.585171,39.888962 9.864698,40.913343 L 14.947798,37.418712 C 16.724273,38.551956 18.707343,39.346604 20.856901,39.737877 L 21.809983,45.742288 C 22.487237,45.803935 23.181758,45.805827 23.874992,45.805827 C 24.853677,45.805826 25.788512,45.768738 26.734236,45.64698 L 27.877933,39.515491 C 29.91886,39.007587 31.836112,38.126493 33.501113,36.942172 L 38.393596,40.500342 C 39.662366,39.420897 40.822583,38.180154 41.824689,36.846863 L 38.266519,31.700225 C 39.230125,30.036028 39.897817,28.199859 40.23622,26.235892 L 46.240632,25.282811 C 46.29329,24.656221 46.30417,24.048546 46.30417,23.408418 C 46.30417,22.296018 46.174875,21.205317 46.018246,20.136172 L 39.918526,19.024244 C 39.440518,17.259164 38.656214,15.612364 37.662901,14.13176 L 41.25284,9.2075071 C 40.140075,7.8466524 38.870718,6.5895264 37.472284,5.5222596 L 32.293876,9.0804296 C 30.805549,8.200202 29.203897,7.5248159 27.464931,7.1424978 L 26.51185,1.1063165 C 25.644369,1.0042729 24.769749,0.94746963 23.874992,0.94746963 C 23.633166,0.94746964 23.384286,0.93986063 23.144296,0.94746963 C 23.027301,0.95117908 22.911525,0.94066346 22.794833,0.94746963 C 22.763228,0.94931296 22.73107,0.94531125 22.699525,0.94746963 z M 23.525529,16.387386 C 23.641592,16.381497 23.757473,16.387386 23.874992,16.387386 C 27.635598,16.387386 30.705408,19.457196 30.705408,23.217802 C 30.705409,26.978407 27.635597,30.016448 23.874992,30.016448 C 20.114387,30.016449 17.076346,26.978407 17.076346,23.217802 C 17.076347,19.574716 19.927558,16.569963 23.525529,16.387386 z "
id="path3243" />
<path
inkscape:r_cy="true"
inkscape:r_cx="true"
sodipodi:type="arc"
style="opacity:0.64772728;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:1.62180054;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="path3283"
sodipodi:cx="23.511301"
sodipodi:cy="23.781593"
sodipodi:rx="12.727922"
sodipodi:ry="12.727922"
d="M 36.239223 23.781593 A 12.727922 12.727922 0 1 1 10.783379,23.781593 A 12.727922 12.727922 0 1 1 36.239223 23.781593 z"
transform="matrix(0.616598,0,0,0.616598,9.38202,8.539674)" />
<path
inkscape:r_cy="true"
inkscape:r_cx="true"
id="path3285"
d="M 21.995808,2.1484671 L 21.103024,8.0235243 C 19.404254,8.4103946 16.279442,9.5936035 14.841657,10.485771 L 10.091975,6.9406268 C 8.828145,7.9218257 8.741474,7.9883656 7.730867,9.2277688 L 11.165063,14.320988 C 10.179537,15.827071 8.995796,18.510982 8.570778,20.42893 C 8.570778,20.42893 2.552988,21.443355 2.552988,21.443355 C 2.449547,22.288234 2.49926,24.096528 2.56888,24.792303 L 8.317097,25.82782 C 8.71949,27.79261 10.225324,30.955232 11.291904,32.575161 L 7.656902,37.377719 C 8.620601,38.57411 8.813474,38.683589 10.01281,39.64377 L 14.873441,36.082733 C 16.538581,37.144954 19.84373,38.437109 21.858571,38.80386 L 22.656299,44.604952 C 23.291109,44.662736 25.044829,44.824827 25.931283,44.710701 L 26.824066,38.671821 C 28.737084,38.195749 32.042539,36.838896 33.603191,35.728798 L 38.458624,39.236958 C 39.647878,38.225166 39.658533,38.072709 40.597835,36.822978 L 36.999815,31.708667 C 37.90303,30.148767 39.070902,27.098068 39.388097,25.257187 L 45.279046,24.279744 C 45.328399,23.692424 45.330802,22.054578 45.18399,21.052439 L 39.182092,20.016922 C 38.73404,18.362463 37.196418,15.381153 36.265359,13.993342 L 40.080075,9.1907857 C 39.037052,7.915218 38.64924,7.7402002 37.338448,6.7398212 L 32.313994,10.337839 C 30.918941,9.5127782 28.137095,8.2550417 26.507114,7.8966842 L 25.619528,2.1484671 C 24.806414,2.0528187 22.460488,2.0952921 21.995808,2.1484671 z "
style="opacity:0.34659089;color:#000000;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#ffffff;stroke-width:0.99999923;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:nodetypes="ccccccccccccccccccccccccccccccccc" />
<path
style="opacity:0.5;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 10.102903,6.2970655 C 8.7545689,7.3438694 8.1656464,7.9719226 7.0874684,9.2941942 L 10.489927,14.259153 C 9.4385072,15.857755 8.3316275,18.426114 8.1423859,19.987706 C 8.1423859,19.987706 2.0798859,21.0319 2.0798859,21.0319 C 2.0109129,21.595256 1.90625,22.884803 1.90625,22.884803 L 2.0830267,24.447303 C 2.5107567,24.535638 2.9231817,24.617818 3.3642767,24.666053 L 3.8642767,23.134803 C 4.2083177,23.163279 4.5439297,23.197303 4.8955267,23.197303 C 5.2467347,23.197303 5.6139847,23.163473 5.9580267,23.134803 L 6.4267767,24.666053 C 6.8680647,24.617818 7.3115487,24.535638 7.7392767,24.447303 L 7.7392767,22.884803 C 8.4250337,22.72518 9.0712777,22.497045 9.7080267,22.228553 L 10.645527,23.509803 C 11.047878,23.327709 11.421123,23.133984 11.801777,22.916053 L 11.301777,21.416053 C 11.89901,21.053803 12.463529,20.620706 12.989277,20.166053 L 14.270527,21.103553 C 14.596162,20.806973 14.91164,20.491691 15.208027,20.166053 L 14.270527,18.916053 C 14.725373,18.390305 15.127027,17.826171 15.489277,17.228553 L 16.989277,17.697303 C 17.207208,17.316456 17.432571,16.943209 17.614277,16.541053 L 16.333027,15.603553 C 16.601517,14.966804 16.798016,14.320561 16.958027,13.634803 L 18.551777,13.634803 C 18.640112,13.207076 18.691236,12.763591 18.739277,12.322303 L 17.239277,11.853553 C 17.268139,11.509705 17.301777,11.142456 17.301777,10.791053 C 17.301776,10.43965 17.267753,10.104039 17.239277,9.7598034 L 18.739277,9.2910534 C 18.69373,8.8711662 18.633686,8.4490548 18.551777,8.0410534 C 17.404349,8.4403544 15.999117,9.1941729 14.983265,9.8245243 L 10.102903,6.2970655 z "
id="path3767"
inkscape:r_cx="true"
inkscape:r_cy="true"
sodipodi:nodetypes="cccccccccsccccccccccccccccccccsccccc" />
<path
style="opacity:0.5;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 37.236641,17.217754 C 36.85286,17.39913 36.490003,17.603509 36.123236,17.813295 L 36.692886,19.548136 C 35.995792,19.970436 35.338156,20.467825 34.725008,20.998151 L 33.249099,19.910639 C 32.869013,20.256538 32.507327,20.618223 32.161588,20.998151 L 33.249099,22.474059 C 32.718773,23.087371 32.221547,23.745002 31.799084,24.441937 L 31.255328,24.260685 C 31.207646,24.960968 31.018949,25.62217 30.737466,26.228563 L 30.841038,26.306242 C 30.527881,27.048922 30.27649,27.83664 30.090137,28.636624 L 28.614229,28.636624 C 28.477946,28.722076 28.343676,28.821684 28.199938,28.895555 C 28.121568,29.310822 28.065026,29.712881 28.018687,30.138426 L 29.77942,30.708074 C 29.746033,31.10935 29.727633,31.515269 29.727633,31.925052 C 29.727631,32.334993 29.746034,32.740753 29.77942,33.142029 L 28.018687,33.711677 C 28.074705,34.226432 28.148678,34.740347 28.251725,35.239372 L 30.090137,35.213479 C 30.218255,35.763466 30.393202,36.320918 30.582107,36.844746 C 31.327023,36.557466 32.05594,36.214561 32.731236,35.809021 C 32.319649,34.59298 32.083908,33.279913 32.083908,31.925052 C 32.083909,26.727119 35.376289,22.288397 39.981313,20.583861 L 38.893802,20.402608 C 38.671014,19.579946 38.382478,18.774017 38.013435,18.020441 C 38.002581,17.998277 37.99851,17.96486 37.987542,17.942761 L 37.935756,17.890975 L 37.236641,17.217754 z "
id="path3770"
inkscape:r_cx="true"
inkscape:r_cy="true" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB