[billreminder: 8/10] Add appindicator support



commit 05b418c1271cc1a481ce8f63b25c789695e12901
Author: Luiz Armesto <luiz armesto gmail com>
Date:   Fri Jun 17 00:38:46 2011 -0300

    Add appindicator support

 data/images/Makefile.am                            |   34 ++++++-
 data/images/billreminder-indicator-blue.svg        |  102 +++++++++++++++++++
 .../billreminder-indicator-dark-disabled.svg       |  104 ++++++++++++++++++++
 data/images/billreminder-indicator-dark.svg        |  100 +++++++++++++++++++
 .../billreminder-indicator-light-disabled.svg      |   80 +++++++++++++++
 data/images/billreminder-indicator-light.svg       |   80 +++++++++++++++
 data/images/billreminder-indicator-red.svg         |  102 +++++++++++++++++++
 src/gui/widgets/trayicon.py                        |   39 ++++++--
 src/lib/common.py                                  |    9 ++
 9 files changed, 640 insertions(+), 10 deletions(-)
---
diff --git a/data/images/Makefile.am b/data/images/Makefile.am
index 59d25d3..e3a518c 100644
--- a/data/images/Makefile.am
+++ b/data/images/Makefile.am
@@ -5,6 +5,9 @@ pixmap_DATA = billreminder.png
 
 hicolordir = $(datadir)/icons/hicolor
 
+monolightdir = $(datadir)/icons/ubuntu-mono-light
+monodarkdir = $(datadir)/icons/ubuntu-mono-dark
+
 tango_icons = \
 	billreminder16.png \
 	billreminder20.png \
@@ -17,7 +20,15 @@ tango_icons = \
 	billreminder96.png \
 	billreminder128.png \
 	billreminder.png \
-	billreminder.svg
+	billreminder.svg 
+
+app_icons = \
+	billreminder-panel-blue.svg \
+    billreminder-panel-dark-disabled.svg \
+    billreminder-panel-dark.svg \
+    billreminder-panel-light-disabled.svg \
+    billreminder-panel-light.svg \
+    billreminder-panel-red.svg
 
 install-data-local:
 	@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/16x16/apps
@@ -42,6 +53,16 @@ install-data-local:
 	$(INSTALL_DATA) $(srcdir)/billreminder128.png $(DESTDIR)$(hicolordir)/128x128/apps/billreminder.png
 	@-$(mkinstalldirs) $(DESTDIR)$(hicolordir)/scalable/apps
 	$(INSTALL_DATA) $(srcdir)/billreminder.svg $(DESTDIR)$(hicolordir)/scalable/apps/billreminder.svg
+	@-$(mkinstalldirs) $(DESTDIR)$(monolightdir)/status/22
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-light.svg $(DESTDIR)$(monolightdir)/status/22/billreminder.svg
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-light-disabled.svg $(DESTDIR)$(monolightdir)/status/22/billreminder-disabled.svg
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-blue.svg $(DESTDIR)$(monolightdir)/status/22/billreminder-attention.svg
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-red.svg $(DESTDIR)$(monolightdir)/status/22/billreminder-important.svg
+	@-$(mkinstalldirs) $(DESTDIR)$(monodarkdir)/status/22
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-dark.svg $(DESTDIR)$(monodarkdir)/status/22/billreminder.svg
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-dark-disabled.svg $(DESTDIR)$(monodarkdir)/status/22/billreminder-disabled.svg
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-blue.svg $(DESTDIR)$(monodarkdir)/status/22/billreminder-attention.svg
+	$(INSTALL_DATA) $(srcdir)/billreminder-indicator-red.svg $(DESTDIR)$(monodarkdir)/status/22/billreminder-important.svg
 
 imagesdir = $(datadir)/billreminder/images
 images_DATA = \
@@ -59,11 +80,12 @@ EXTRA_DIST += \
 	$(noinst_DATA) \
 	$(pixmap_DATA) \
 	$(tango_icons) \
+	$(app_icons) \
 	$(images_DATA)
 
 CLEANFILES =
 
-gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
+gtk_update_icon_cache = gtk-update-icon-cache -f -t $(hicolordir) $(monolightdir) $(monodarkdir) 
 
 install-data-hook:
 	@-if test -z "$(DESTDIR)"; then \
@@ -86,4 +108,12 @@ uninstall-hook:
 	rm -f $(DESTDIR)$(hicolordir)/22x22/apps/billreminder.png
 	rm -f $(DESTDIR)$(hicolordir)/20x20/apps/billreminder.png
 	rm -f $(DESTDIR)$(hicolordir)/16x16/apps/billreminder.png
+	rm -f $(DESTDIR)$(monolightdir)/status/22/billreminder.svg
+	rm -f $(DESTDIR)$(monolightdir)/status/22/billreminder-disabled.svg
+	rm -f $(DESTDIR)$(monolightdir)/status/22/billreminder-attention.svg
+	rm -f $(DESTDIR)$(monolightdir)/status/22/billreminder-important.svg
+	rm -f $(DESTDIR)$(monodarkdir)/status/22/billreminder.svg
+	rm -f $(DESTDIR)$(monodarkdir)/status/22/billreminder-disabled.svg
+	rm -f $(DESTDIR)$(monodarkdir)/status/22/billreminder-attention.svg
+	rm -f $(DESTDIR)$(monodarkdir)/status/22/billreminder-important.svg
 	rm -rf $(DESTDIR)$(datadir)/billreminder
diff --git a/data/images/billreminder-indicator-blue.svg b/data/images/billreminder-indicator-blue.svg
new file mode 100644
index 0000000..769e606
--- /dev/null
+++ b/data/images/billreminder-indicator-blue.svg
@@ -0,0 +1,102 @@
+<?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="22"
+   height="22"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="billreminder-panel-blue.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="11.281935"
+     inkscape:cy="12.035544"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="835"
+     inkscape:window-height="594"
+     inkscape:window-x="234"
+     inkscape:window-y="75"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <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:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1030.3622)">
+    <g
+       id="g3038"
+       style="opacity:0.3;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke-width:1.13135183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.10982128,49.54309)">
+      <path
+         inkscape:connector-curvature="0"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         id="path1427-9-7"
+         sodipodi:nodetypes="ccccccccccccccccccc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3034"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path3036"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       style="color:#000000;fill:#19b6ee;fill-opacity:1;fill-rule:nonzero;stroke-width:0.49229848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="g3051"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.10982128,48.709458)">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccc"
+         id="path3053"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         style="color:#000000;fill:#19b6ee;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#19b6ee;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         id="path3055"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#19b6ee;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         id="path3057"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+    </g>
+  </g>
+</svg>
diff --git a/data/images/billreminder-indicator-dark-disabled.svg b/data/images/billreminder-indicator-dark-disabled.svg
new file mode 100644
index 0000000..a91777b
--- /dev/null
+++ b/data/images/billreminder-indicator-dark-disabled.svg
@@ -0,0 +1,104 @@
+<?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="22"
+   height="22"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="billreminder-panel-disabled.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="16"
+     inkscape:cx="11.281935"
+     inkscape:cy="12.035544"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="835"
+     inkscape:window-height="594"
+     inkscape:window-x="227"
+     inkscape:window-y="75"
+     inkscape:window-maximized="0" />
+  <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:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1030.3622)">
+    <g
+       id="g2990"
+       style="opacity:0.4">
+      <g
+         transform="matrix(1.0302278,0,0,0.95272107,-0.1093697,49.54309)"
+         style="opacity:0.29999999999999999;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke-width:1.13135183000000006;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         id="g3038">
+        <path
+           sodipodi:nodetypes="ccccccccccccccccccc"
+           id="path1427-9-7"
+           d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+           style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183000000006;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           inkscape:connector-curvature="0" />
+        <path
+           style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183000000006;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+           id="path3034"
+           inkscape:connector-curvature="0" />
+        <path
+           style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183000000006;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+           id="path3036"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+      </g>
+      <g
+         transform="matrix(1.0302278,0,0,0.95272107,-0.1093697,48.709458)"
+         id="g3051"
+         style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke-width:0.49229847999999998;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate">
+        <path
+           inkscape:connector-curvature="0"
+           style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229847999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+           d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+           id="path3053"
+           sodipodi:nodetypes="ccccccccccccccccccc" />
+        <path
+           inkscape:connector-curvature="0"
+           id="path3055"
+           d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+           style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229847999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path3057"
+           d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+           style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229847999999998;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      </g>
+    </g>
+  </g>
+</svg>
diff --git a/data/images/billreminder-indicator-dark.svg b/data/images/billreminder-indicator-dark.svg
new file mode 100644
index 0000000..763be96
--- /dev/null
+++ b/data/images/billreminder-indicator-dark.svg
@@ -0,0 +1,100 @@
+<?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="22"
+   height="22"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="billreminder-panel.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="1"
+     inkscape:cx="11.281935"
+     inkscape:cy="12.035544"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="835"
+     inkscape:window-height="594"
+     inkscape:window-x="227"
+     inkscape:window-y="75"
+     inkscape:window-maximized="0" />
+  <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:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1030.3622)">
+    <g
+       id="g3038"
+       style="opacity:0.3;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke-width:1.13135183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.1093697,49.54309)">
+      <path
+         inkscape:connector-curvature="0"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         id="path1427-9-7"
+         sodipodi:nodetypes="ccccccccccccccccccc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3034"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path3036"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke-width:0.49229848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="g3051"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.1093697,48.709458)">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccc"
+         id="path3053"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         id="path3055"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#dfdbd2;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         id="path3057"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+    </g>
+  </g>
+</svg>
diff --git a/data/images/billreminder-indicator-light-disabled.svg b/data/images/billreminder-indicator-light-disabled.svg
new file mode 100644
index 0000000..f5f283e
--- /dev/null
+++ b/data/images/billreminder-indicator-light-disabled.svg
@@ -0,0 +1,80 @@
+<?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="22"
+   height="22"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="billreminder-panel-disabled.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="11.281935"
+     inkscape:cy="12.035544"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="835"
+     inkscape:window-height="594"
+     inkscape:window-x="257"
+     inkscape:window-y="37"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <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:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1030.3622)">
+    <g
+       style="color:#ffffff;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke-width:1.00937021;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;opacity:0.40000000000000002"
+       id="g3051"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.10982115,48.709458)">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccc"
+         id="path3053"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         style="color:#ffffff;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00937021;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#ffffff;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00937021;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         id="path3055"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#ffffff;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00937021;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         id="path3057"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+    </g>
+  </g>
+</svg>
diff --git a/data/images/billreminder-indicator-light.svg b/data/images/billreminder-indicator-light.svg
new file mode 100644
index 0000000..bb5d26e
--- /dev/null
+++ b/data/images/billreminder-indicator-light.svg
@@ -0,0 +1,80 @@
+<?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="22"
+   height="22"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="billreminder-panel-light.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="11.281935"
+     inkscape:cy="12.035544"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="835"
+     inkscape:window-height="594"
+     inkscape:window-x="257"
+     inkscape:window-y="37"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <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:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1030.3622)">
+    <g
+       style="color:#000000;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke-width:0.49229848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="g3051"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.10982115,48.709458)">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccc"
+         id="path3053"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         style="color:#000000;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         id="path3055"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#3c3c3c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         id="path3057"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+    </g>
+  </g>
+</svg>
diff --git a/data/images/billreminder-indicator-red.svg b/data/images/billreminder-indicator-red.svg
new file mode 100644
index 0000000..9667114
--- /dev/null
+++ b/data/images/billreminder-indicator-red.svg
@@ -0,0 +1,102 @@
+<?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="22"
+   height="22"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.48.1 r9760"
+   sodipodi:docname="billreminder-panel-red.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="11.313708"
+     inkscape:cx="11.281935"
+     inkscape:cy="12.035544"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="835"
+     inkscape:window-height="594"
+     inkscape:window-x="234"
+     inkscape:window-y="75"
+     inkscape:window-maximized="0"
+     showguides="true"
+     inkscape:guide-bbox="true" />
+  <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:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1030.3622)">
+    <g
+       id="g3038"
+       style="opacity:0.3;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke-width:1.13135183;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.10982115,49.54309)">
+      <path
+         inkscape:connector-curvature="0"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         id="path1427-9-7"
+         sodipodi:nodetypes="ccccccccccccccccccc" />
+      <path
+         inkscape:connector-curvature="0"
+         id="path3034"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path3036"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         style="color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.13135183;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+    </g>
+    <g
+       style="color:#000000;fill:#df382c;fill-opacity:1;fill-rule:nonzero;stroke-width:0.49229848;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       id="g3051"
+       transform="matrix(1.0302278,0,0,0.95272107,-0.10982115,48.709458)">
+      <path
+         sodipodi:nodetypes="ccccccccccccccccccc"
+         id="path3053"
+         d="m 15.587287,1037.7549 c -0.02166,-1.8926 -1.709363,-1.9204 -3.344669,-2.3099 -0.161821,-0.5653 0.540009,-1.1506 0.563585,-2.0075 0.0118,-0.8195 -0.289543,-1.9612 -1.358178,-1.9523 -1.079128,-0.01 -1.574087,0.655 -1.7809448,1.6499 -0.1666366,1.3202 0.5429498,1.548 0.8253048,2.4598 -1.0873274,0.2312 -2.8435726,0.1741 -3.0173398,0.8401 -0.7075805,1.3738 -0.876121,4.7324 -1.1918926,7.2596 -0.1696422,0.6237 0.5737488,1.139 0.8657137,0.5771 0.647814,-2.2624 1.3839004,-4.913 1.7490889,-5.9151 -0.244277,4.1456 -0.099836,8.6399 -0.2310173,12.5976 0.056552,0.566 0.8056067,0.5148 1.1918931,0 0.500818,-2.9381 0.97253,-6.2872 1.589194,-7.5896 l 1.589188,7.5896 c 0.31142,0.5027 1.119337,0.5838 1.191894,0 0.355782,-4.1568 -0.12116,-9.0403 -0.365825,-12.7909 0.70477,1.3832 0.938223,4.3933 1.293451,6.0531 0.09611,0.626 1.332248,0.2362 1.236761,-0.5218 -0.17939,-2.0287 -0.685045,-4.3166 -0.806207,-5.9397 z"
+         style="color:#000000;fill:#df382c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#df382c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 18.378439,1042.6715 -4.205339,1.2873 0.08583,4.892 4.291162,-1.3732 z"
+         id="path3055"
+         inkscape:connector-curvature="0" />
+      <path
+         style="color:#000000;fill:#df382c;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0.49229848;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+         d="m 6.3844777,1044.1146 c -1.3808147,-4.1598 -2.7228716,-6.8846 -3.355179,-9.827 -0.1479804,-2.3502 1.4301399,-2.1871 1.8887581,-0.3483 0.508645,1.7956 1.1255545,4.3167 1.8809184,9.0729 z"
+         id="path3057"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+    </g>
+  </g>
+</svg>
diff --git a/src/gui/widgets/trayicon.py b/src/gui/widgets/trayicon.py
index c64c7a1..bcebb4b 100644
--- a/src/gui/widgets/trayicon.py
+++ b/src/gui/widgets/trayicon.py
@@ -6,6 +6,11 @@ import sys
 import os
 import gtk
 import time
+try:
+    import appindicator
+    APPINDICATOR = True
+except:
+    APPINDICATOR = False
 
 from lib import common
 from lib.utils import ContextMenu
@@ -24,15 +29,30 @@ class NotifyIcon:
     def start(self):
         """ Function used to show an icon in notification area."""
 
-        self.tray = gtk.StatusIcon()
-        self.tray.set_from_file(common.TRAY_ICON)
-        self.tray.set_tooltip(_("BillReminder"))
-        self.tray.connect("popup-menu", self.show_menu, None)
-        self.tray.connect("activate", self.show_hide, None)
+        if APPINDICATOR:
+            self.indicator = appindicator.Indicator("billreminder", "ApplicationStatus", appindicator.CATEGORY_APPLICATION_STATUS)
+            self.indicator.set_status(appindicator.STATUS_ACTIVE)
+            self.indicator.set_attention_icon(common.PANEL_ATTENTION_ICON)
+            self.indicator.set_icon(common.PANEL_ICON)
+            self.menu = self.show_menu(None, None, None)
+            self.indicator.set_menu(self.menu)
+            self.menu.show()
+        else:
+            self.tray = gtk.StatusIcon()
+            self.tray.set_from_file(common.TRAY_ICON)
+            self.tray.set_tooltip(_("BillReminder"))
+            self.tray.connect("popup-menu", self.show_menu, None)
+            self.tray.connect("activate", self.show_hide, None)
 
     def show_hide(self, status_icon, arg=None):
         """ Show and Hide the main window. """
         self.parent.show_hide_window()
+        if isinstance(status_icon, gtk.MenuItem):
+            menu_item = status_icon
+            if self.parent.get_window_visibility():
+                menu_item.set_label(_('Hide Window'))
+            else:
+                menu_item.set_label(_('Show Window'))
 
     def show_menu(self, status_icon, button, activate_time, arg=None):
         """ Show a popup menu when an user right clicks notification
@@ -45,16 +65,19 @@ class NotifyIcon:
 
         c.addMenuItem('-', None)
         c.addMenuItem(_('Preferences'),
-                      self.parent.on_btnPref_clicked,
+                      self.parent.on_btnPrefs_activate,
                       gtk.STOCK_PREFERENCES)
         c.addMenuItem(_('About'),
-                      self.parent.on_btnAbout_clicked,
+                      self.parent.on_btnAbout_activate,
                       gtk.STOCK_ABOUT)
         c.addMenuItem('-', None)
         c.addMenuItem(_('Quit'),
-                      self.parent.on_btnQuit_clicked,
+                      self.parent.on_btnQuit_activate,
                       gtk.STOCK_QUIT)
 
+        if APPINDICATOR:
+            return c
+
         print type(activate_time)
         c.popup(None,
                 None,
diff --git a/src/lib/common.py b/src/lib/common.py
index 2c51bff..ce5e575 100644
--- a/src/lib/common.py
+++ b/src/lib/common.py
@@ -31,6 +31,7 @@ AUTHORS = [
 ARTISTS = [
     'Led Style <ledstyle gmail com>',
     'Vinicius Depizzol <vdepizzol gmail com>'
+    'Luiz Armesto <luiz armesto gmail com>',
 ]
 
 
@@ -54,8 +55,16 @@ along with BillReminder.  If not, see <http://www.gnu.org/licenses/>.
 # Media path
 if os.path.exists(os.path.abspath('../data/images/')):
     IMAGE_PATH = os.path.abspath('../data/images/')
+    PANEL_ICON = os.path.join(IMAGE_PATH, 'billreminder-indicator-dark.svg')
+    PANEL_DISABLED_ICON = os.path.join(IMAGE_PATH, 'billreminder-indicator-dark-disabled.svg')
+    PANEL_ATTENTION_ICON = os.path.join(IMAGE_PATH, 'billreminder-indicator-blue.svg')
+    PANEL_IMPORTANT_ICON = os.path.join(IMAGE_PATH, 'billreminder-indicator-red.svg')
 else:
     IMAGE_PATH = '%s/billreminder/images' % datadir
+    PANEL_ICON = 'billreminder'
+    PANEL_DISABLED_ICON = 'billreminder'
+    PANEL_ATTENTION_ICON = 'billreminder-attention'
+    PANEL_IMPORTANT_ICON = 'billreminder-important'
 
 # Images
 APP_ICON = os.path.join(IMAGE_PATH, 'billreminder16.png')



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]