diff --git a/pythonrewrite/bin/CryptoBoxPlugin.py b/pythonrewrite/bin/CryptoBoxPlugin.py index 7f96c6b..62bf9d3 100644 --- a/pythonrewrite/bin/CryptoBoxPlugin.py +++ b/pythonrewrite/bin/CryptoBoxPlugin.py @@ -20,6 +20,11 @@ class CryptoBoxPlugin: ## default rank (0..100) of the plugin in listings (lower value means higher priority) rank = 80 + + ## default icon of this plugin (relative path) + iconFile = "plugin_icon.png" + + def __init__(self, cbox, pluginDir): self.cbox = cbox self.hdf = {} @@ -40,6 +45,12 @@ class CryptoBoxPlugin: def getName(self): """the name of the python file (module) should be the name of the plugin""" return self.__module__ + + + def getIcon(self): + """return the image data of the icon of the plugin""" + import cherrypy + return cherrypy.lib.cptools.serveFile(os.path.join(self.pluginDir, self.iconFile)) def getTemplateFileName(self, template_name): diff --git a/pythonrewrite/bin/WebInterfaceSites.py b/pythonrewrite/bin/WebInterfaceSites.py index 97cd85f..9ddf3bb 100755 --- a/pythonrewrite/bin/WebInterfaceSites.py +++ b/pythonrewrite/bin/WebInterfaceSites.py @@ -179,6 +179,8 @@ class WebInterfaceSites: del args["weblang"] except KeyError: pass + if "icon" in args.keys(): + return plugin.getIcon() ## check the device argument of volume plugins if "volume" in plugin.pluginCapabilities: try: diff --git a/pythonrewrite/plugins/date/plugin_icon.png b/pythonrewrite/plugins/date/plugin_icon.png new file mode 100644 index 0000000..f263906 Binary files /dev/null and b/pythonrewrite/plugins/date/plugin_icon.png differ diff --git a/pythonrewrite/plugins/logs/plugin_icon.png b/pythonrewrite/plugins/logs/plugin_icon.png new file mode 100644 index 0000000..1fbb4f0 Binary files /dev/null and b/pythonrewrite/plugins/logs/plugin_icon.png differ diff --git a/pythonrewrite/plugins/network/plugin_icon.png b/pythonrewrite/plugins/network/plugin_icon.png new file mode 100644 index 0000000..0a1ee2d Binary files /dev/null and b/pythonrewrite/plugins/network/plugin_icon.png differ diff --git a/pythonrewrite/plugins/partition/plugin_icon.png b/pythonrewrite/plugins/partition/plugin_icon.png new file mode 100644 index 0000000..235cf74 Binary files /dev/null and b/pythonrewrite/plugins/partition/plugin_icon.png differ diff --git a/pythonrewrite/plugins/plugin-interface.txt b/pythonrewrite/plugins/plugin-interface.txt index e40fc8f..f27fa3e 100644 --- a/pythonrewrite/plugins/plugin-interface.txt +++ b/pythonrewrite/plugins/plugin-interface.txt @@ -2,6 +2,7 @@ The following directory structure is required: - python code: plugins/PLUGINNAME/PLUGINNAME.py (all lower case is recommended) - language files: plugins/PLUGINNAME/lang/(en|de|??).hdf - clearsilver templates: plugins/PLUGINNAME/*.cs + - icon (128x128px recommended): plugins/PLUGINNAME/plugin_icon.png Python code interface: diff --git a/pythonrewrite/plugins/plugin_manager/plugin_icon.png b/pythonrewrite/plugins/plugin_manager/plugin_icon.png new file mode 100644 index 0000000..236169c Binary files /dev/null and b/pythonrewrite/plugins/plugin_manager/plugin_icon.png differ diff --git a/pythonrewrite/plugins/shutdown/lang/en.hdf b/pythonrewrite/plugins/shutdown/lang/en.hdf index fc9ba52..6776b7c 100644 --- a/pythonrewrite/plugins/shutdown/lang/en.hdf +++ b/pythonrewrite/plugins/shutdown/lang/en.hdf @@ -1,5 +1,5 @@ Name = Shutdown or reboot the computer -Link = Shutdown/Reboot +Link = Shutdown / Reboot Title.Shutdown = Shutdown computer diff --git a/pythonrewrite/plugins/shutdown/plugin_icon.png b/pythonrewrite/plugins/shutdown/plugin_icon.png new file mode 100644 index 0000000..9d537e7 Binary files /dev/null and b/pythonrewrite/plugins/shutdown/plugin_icon.png differ diff --git a/pythonrewrite/plugins/user_manager/plugin_icon.png b/pythonrewrite/plugins/user_manager/plugin_icon.png new file mode 100644 index 0000000..b1fd4eb Binary files /dev/null and b/pythonrewrite/plugins/user_manager/plugin_icon.png differ diff --git a/pythonrewrite/templates/form_system.cs b/pythonrewrite/templates/form_system.cs index cabb930..f3db5a9 100644 --- a/pythonrewrite/templates/form_system.cs +++ b/pythonrewrite/templates/form_system.cs @@ -8,9 +8,7 @@ -
  • diff --git a/pythonrewrite/templates/macros.cs b/pythonrewrite/templates/macros.cs index 7ef34b5..bfa4036 100644 --- a/pythonrewrite/templates/macros.cs +++ b/pythonrewrite/templates/macros.cs @@ -79,8 +79,15 @@ def:link(path, attr1, value1, attr2, value2) ?>
    " method="post" enctype="application/x-www-form-urlencoded" accept-charset="utf-8"> class="plugin_"><?cs var:html_escape('icon: ' + plugin) ?>
    diff --git a/pythonrewrite/www-data/cryptobox.css b/pythonrewrite/www-data/cryptobox.css index 7974446..e0f22eb 100644 --- a/pythonrewrite/www-data/cryptobox.css +++ b/pythonrewrite/www-data/cryptobox.css @@ -443,3 +443,44 @@ button:hover { padding-top: 10px; } + +/* -------------=-=-=- plugin icons -=-=-=--------------- */ + + +div.plugin_main, div.plugin_system, div.plugin_volume { + text-align: center; + float: left; + padding: 10px; + margin: 5px; +} + + +div.plugin_main { + width: 80px; + height: 100px; +} + +div.plugin_main img { + width: 64px; + height: 64px; +} + +div.plugin_system { + width: 64px; + height: 80px; +} + +div.plugin_system img { + width: 48px; + height: 48px; +} + +div.plugin_volume { + width: 48px; + height: 64px; +} + +div.plugin_volume img { + width: 32px; + height: 32px; +}