Imported Upstream version 0.2.6 upstream/0.2.6
authorJulien Valroff <julien@kirya.net>
Sat, 17 Apr 2010 10:31:34 +0000 (12:31 +0200)
committerJulien Valroff <julien@kirya.net>
Sat, 17 Apr 2010 10:31:34 +0000 (12:31 +0200)
36 files changed:
AUTHORS
img/ubuntu-mono-dark/pino-tray-icon-fresh.svg [new file with mode: 0644]
img/ubuntu-mono-dark/pino-tray-icon.svg [new file with mode: 0644]
img/ubuntu-mono-light/pino-tray-icon-fresh.svg [new file with mode: 0644]
img/ubuntu-mono-light/pino-tray-icon.svg [new file with mode: 0644]
po/LINGUAS
po/ar.po
po/es.po
po/fa.po
po/hu.po [new file with mode: 0644]
po/it.po
po/pl.po
po/pt.po
po/pt_BR.po
po/sr.po
po/sv.po
src/account_action.vala
src/dm_entry.vala
src/favorites_view_list.vala
src/main.vala
src/main_window.vala
src/re_tweet.vala
src/rest_api_abstract.vala
src/rest_api_acc.vala
src/rest_api_direct.vala
src/rest_api_re.vala
src/rest_api_timeline.vala
src/status_view_list.vala
src/timeline_direct_list.vala
src/timeline_list.vala
src/timeline_list_abstract.vala
src/tray_icon.vala
src/user_info_list.vala
src/vapi/config.vapi
src/wscript
wscript

diff --git a/AUTHORS b/AUTHORS
index 4bf5eb8..4827a67 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -73,3 +73,6 @@ Sufi Mahmudi <ahmad.pub@gmail.com>
 
 Zoran Olujić <olujicz@ns-linux.org>
     Serbian translation
+
+bognarandras <bognarandras.mail@gmail.com>
+    Hungarian translation
diff --git a/img/ubuntu-mono-dark/pino-tray-icon-fresh.svg b/img/ubuntu-mono-dark/pino-tray-icon-fresh.svg
new file mode 100644 (file)
index 0000000..1381d49
--- /dev/null
@@ -0,0 +1,116 @@
+<?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="svg3734"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="pino_fresh.svg">
+  <defs
+     id="defs3736">
+    <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="perspective3742" />
+    <inkscape:perspective
+       id="perspective3727"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect2945"
+       is_visible="true" />
+    <inkscape:perspective
+       id="perspective4195"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4217"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4239"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4263"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="13.905761"
+     inkscape:cx="-8.4200526"
+     inkscape:cy="9.872936"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1680"
+     inkscape:window-height="1002"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3739">
+    <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="g2875"
+       transform="matrix(0.16910727,0,0,0.19115385,-0.16372212,853.27059)"
+       style="fill:#58c10c;fill-opacity:1;stroke:#d0d0cf;stroke-width:5.56195307;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">
+      <path
+         style="fill:#58c10c;fill-opacity:1;stroke:#d0d0cf;stroke-width:5.56195307;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 63.9375,25.09375 -24.5625,24.3125 12.3125,2.8125 -24.125,20.4375 12.6875,2.8125 -23.9375,19.40625 39.8125,7.34375 0,7.25 15.75,0 0,-7.21875 39.8125,-7.375 -23.9375,-19.40625 12.6875,-2.8125 -24.125,-20.4375 12.3125,-2.8125 -24.5625,-24.3125 -0.125,0"
+         transform="translate(2.015625,916.699)"
+         id="path2836"
+         sodipodi:nodetypes="ccccccccccccccccc"
+         inkscape:path-effect="#path-effect2945"
+         inkscape:original-d="m 63.9375,25.09375 c -0.329991,13.35866 -11.175589,24.09757 -24.5625,24.3125 4.293108,1.06115 8.284877,2.388949 12.3125,2.8125 -2.097832,11.505252 -12.058959,20.243804 -24.125,20.4375 4.415829,1.091515 8.544259,2.429672 12.6875,2.8125 -2.491014,10.992584 -12.234628,19.218296 -23.9375,19.40625 15.907325,7.5085 30.356159,9.15538 39.8125,7.34375 l 0,7.25 15.75,0 0,-7.21875 c 9.460094,1.79595 23.926137,0.1236 39.8125,-7.375 C 99.98463,94.687046 90.241014,86.461334 87.75,75.46875 91.889526,75.084542 96.025606,73.746793 100.4375,72.65625 88.371459,72.462554 78.410332,63.724002 76.3125,52.21875 80.340123,51.795199 84.331892,50.4674 88.625,49.40625 75.238089,49.19132 64.392491,38.45241 64.0625,25.09375 c -0.133793,19.694425 -0.275181,73.978348 -0.125,0 z" />
+    </g>
+  </g>
+</svg>
diff --git a/img/ubuntu-mono-dark/pino-tray-icon.svg b/img/ubuntu-mono-dark/pino-tray-icon.svg
new file mode 100644 (file)
index 0000000..dbf0de1
--- /dev/null
@@ -0,0 +1,116 @@
+<?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="svg3734"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="pino.svg">
+  <defs
+     id="defs3736">
+    <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="perspective3742" />
+    <inkscape:perspective
+       id="perspective3727"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect2945"
+       is_visible="true" />
+    <inkscape:perspective
+       id="perspective4195"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4217"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4239"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4263"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="12.969159"
+     inkscape:cx="-9.2406036"
+     inkscape:cy="9.872936"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1680"
+     inkscape:window-height="1002"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3739">
+    <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="g2875"
+       transform="matrix(0.16910727,0,0,0.19115385,-0.16372212,853.27059)"
+       style="fill:#f7f4ec;fill-opacity:1;stroke:#d0d0cf;stroke-width:5.56195307;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">
+      <path
+         style="fill:#f7f4ec;fill-opacity:1;stroke:#d0d0cf;stroke-width:5.56195307;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 63.9375,25.09375 -24.5625,24.3125 12.3125,2.8125 -24.125,20.4375 12.6875,2.8125 -23.9375,19.40625 39.8125,7.34375 0,7.25 15.75,0 0,-7.21875 39.8125,-7.375 -23.9375,-19.40625 12.6875,-2.8125 -24.125,-20.4375 12.3125,-2.8125 -24.5625,-24.3125 -0.125,0"
+         transform="translate(2.015625,916.699)"
+         id="path2836"
+         sodipodi:nodetypes="ccccccccccccccccc"
+         inkscape:path-effect="#path-effect2945"
+         inkscape:original-d="m 63.9375,25.09375 c -0.329991,13.35866 -11.175589,24.09757 -24.5625,24.3125 4.293108,1.06115 8.284877,2.388949 12.3125,2.8125 -2.097832,11.505252 -12.058959,20.243804 -24.125,20.4375 4.415829,1.091515 8.544259,2.429672 12.6875,2.8125 -2.491014,10.992584 -12.234628,19.218296 -23.9375,19.40625 15.907325,7.5085 30.356159,9.15538 39.8125,7.34375 l 0,7.25 15.75,0 0,-7.21875 c 9.460094,1.79595 23.926137,0.1236 39.8125,-7.375 C 99.98463,94.687046 90.241014,86.461334 87.75,75.46875 91.889526,75.084542 96.025606,73.746793 100.4375,72.65625 88.371459,72.462554 78.410332,63.724002 76.3125,52.21875 80.340123,51.795199 84.331892,50.4674 88.625,49.40625 75.238089,49.19132 64.392491,38.45241 64.0625,25.09375 c -0.133793,19.694425 -0.275181,73.978348 -0.125,0 z" />
+    </g>
+  </g>
+</svg>
diff --git a/img/ubuntu-mono-light/pino-tray-icon-fresh.svg b/img/ubuntu-mono-light/pino-tray-icon-fresh.svg
new file mode 100644 (file)
index 0000000..42da7fb
--- /dev/null
@@ -0,0 +1,116 @@
+<?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="svg3734"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="pino_fresh.svg">
+  <defs
+     id="defs3736">
+    <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="perspective3742" />
+    <inkscape:perspective
+       id="perspective3727"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect2945"
+       is_visible="true" />
+    <inkscape:perspective
+       id="perspective4195"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4217"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4239"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4263"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="27.811522"
+     inkscape:cx="8.3335811"
+     inkscape:cy="9.8738995"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1680"
+     inkscape:window-height="1002"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3739">
+    <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="g2875"
+       transform="matrix(0.16910727,0,0,0.19115385,-0.16372212,853.27059)"
+       style="fill:#58c10c;fill-opacity:1;stroke:#eae3d0;stroke-width:5.56195307;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">
+      <path
+         style="fill:#58c10c;fill-opacity:1;stroke:#eae3d0;stroke-width:5.56195307;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 63.9375,25.09375 -24.5625,24.3125 12.3125,2.8125 -24.125,20.4375 12.6875,2.8125 -23.9375,19.40625 39.8125,7.34375 0,7.25 15.75,0 0,-7.21875 39.8125,-7.375 -23.9375,-19.40625 12.6875,-2.8125 -24.125,-20.4375 12.3125,-2.8125 -24.5625,-24.3125 -0.125,0"
+         transform="translate(2.015625,916.699)"
+         id="path2836"
+         sodipodi:nodetypes="ccccccccccccccccc"
+         inkscape:path-effect="#path-effect2945"
+         inkscape:original-d="m 63.9375,25.09375 c -0.329991,13.35866 -11.175589,24.09757 -24.5625,24.3125 4.293108,1.06115 8.284877,2.388949 12.3125,2.8125 -2.097832,11.505252 -12.058959,20.243804 -24.125,20.4375 4.415829,1.091515 8.544259,2.429672 12.6875,2.8125 -2.491014,10.992584 -12.234628,19.218296 -23.9375,19.40625 15.907325,7.5085 30.356159,9.15538 39.8125,7.34375 l 0,7.25 15.75,0 0,-7.21875 c 9.460094,1.79595 23.926137,0.1236 39.8125,-7.375 C 99.98463,94.687046 90.241014,86.461334 87.75,75.46875 91.889526,75.084542 96.025606,73.746793 100.4375,72.65625 88.371459,72.462554 78.410332,63.724002 76.3125,52.21875 80.340123,51.795199 84.331892,50.4674 88.625,49.40625 75.238089,49.19132 64.392491,38.45241 64.0625,25.09375 c -0.133793,19.694425 -0.275181,73.978348 -0.125,0 z" />
+    </g>
+  </g>
+</svg>
diff --git a/img/ubuntu-mono-light/pino-tray-icon.svg b/img/ubuntu-mono-light/pino-tray-icon.svg
new file mode 100644 (file)
index 0000000..98921b9
--- /dev/null
@@ -0,0 +1,116 @@
+<?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="svg3734"
+   version="1.1"
+   inkscape:version="0.47 r22583"
+   sodipodi:docname="pino.svg">
+  <defs
+     id="defs3736">
+    <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="perspective3742" />
+    <inkscape:perspective
+       id="perspective3727"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:path-effect
+       effect="spiro"
+       id="path-effect2945"
+       is_visible="true" />
+    <inkscape:perspective
+       id="perspective4195"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4217"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4239"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+    <inkscape:perspective
+       id="perspective4263"
+       inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+       inkscape:vp_z="1 : 0.5 : 1"
+       inkscape:vp_y="0 : 1000 : 0"
+       inkscape:vp_x="0 : 0.5 : 1"
+       sodipodi:type="inkscape:persp3d" />
+  </defs>
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="27.811522"
+     inkscape:cx="7.266567"
+     inkscape:cy="9.8738995"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     inkscape:window-width="1680"
+     inkscape:window-height="1002"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata3739">
+    <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="g2875"
+       transform="matrix(0.16910727,0,0,0.19115385,-0.16372212,853.27059)"
+       style="fill:#3a3935;fill-opacity:1;stroke:#eae3d0;stroke-width:5.56195307;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none">
+      <path
+         style="fill:#3a3935;fill-opacity:1;stroke:#eae3d0;stroke-width:5.56195307;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+         d="m 63.9375,25.09375 -24.5625,24.3125 12.3125,2.8125 -24.125,20.4375 12.6875,2.8125 -23.9375,19.40625 39.8125,7.34375 0,7.25 15.75,0 0,-7.21875 39.8125,-7.375 -23.9375,-19.40625 12.6875,-2.8125 -24.125,-20.4375 12.3125,-2.8125 -24.5625,-24.3125 -0.125,0"
+         transform="translate(2.015625,916.699)"
+         id="path2836"
+         sodipodi:nodetypes="ccccccccccccccccc"
+         inkscape:path-effect="#path-effect2945"
+         inkscape:original-d="m 63.9375,25.09375 c -0.329991,13.35866 -11.175589,24.09757 -24.5625,24.3125 4.293108,1.06115 8.284877,2.388949 12.3125,2.8125 -2.097832,11.505252 -12.058959,20.243804 -24.125,20.4375 4.415829,1.091515 8.544259,2.429672 12.6875,2.8125 -2.491014,10.992584 -12.234628,19.218296 -23.9375,19.40625 15.907325,7.5085 30.356159,9.15538 39.8125,7.34375 l 0,7.25 15.75,0 0,-7.21875 c 9.460094,1.79595 23.926137,0.1236 39.8125,-7.375 C 99.98463,94.687046 90.241014,86.461334 87.75,75.46875 91.889526,75.084542 96.025606,73.746793 100.4375,72.65625 88.371459,72.462554 78.410332,63.724002 76.3125,52.21875 80.340123,51.795199 84.331892,50.4674 88.625,49.40625 75.238089,49.19132 64.392491,38.45241 64.0625,25.09375 c -0.133793,19.694425 -0.275181,73.978348 -0.125,0 z" />
+    </g>
+  </g>
+</svg>
index db3bd33..b8ea672 100644 (file)
@@ -5,6 +5,7 @@ es
 fa
 fr
 gl
+hu
 it
 ko_KR
 lv
index 5d265bd..e1a4805 100644 (file)
--- a/po/ar.po
+++ b/po/ar.po
@@ -2,7 +2,7 @@
 # Copyright (C) 2009 the Free Software Foundation, Inc.
 # This file is distributed under the same license as the pino package.
 # MaXeR <mmaxer@gmail.com>, 2009.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: pino 0.1.0b4\n"
@@ -37,8 +37,7 @@ msgid "Sure you want to delete this account?"
 msgstr "متأكد أنك تريد حذف هذا الحساب؟"
 
 #: src/dm_entry.vala:35
-msgid ""
-"You can't send direct message to this user. He (or she) must follow you too"
+msgid "You can't send direct message to this user. He (or she) must follow you too"
 msgstr "لايمكنك إرسال رسالة مباشرة إلى هذا المستخدم. هو يجب أن يتابعك أولاً"
 
 #: src/dm_entry.vala:42
@@ -87,11 +86,11 @@ msgstr "يجب ملء كل الحقول"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "المُفضّلات"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "أكثر"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -155,9 +154,8 @@ msgid "Show information about specified user"
 msgstr "إظهار معلومات عن مستخدم محدد"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "تÙ\82صÙ\8aر Ø§Ù\84رÙ\88ابط"
+msgstr "عرض Ø§Ù\84Ù\85Ù\8fÙ\81ضÙ\91Ù\84ات..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -242,7 +240,7 @@ msgstr "خدمة تقصير الروابط"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "تفعيل التدقيق الإملائي"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -439,11 +437,11 @@ msgstr "في رد على"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "أضف للمُفضّلة"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "حذف من المُفضّلات"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -476,9 +474,8 @@ msgid "Your status has been deleted successfully"
 msgstr "حُذفت الحالة بنجاح"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "ذاكرة مؤقتة"
+msgstr "مُلغى"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -494,11 +491,11 @@ msgstr "متأكد أنك تريد حذف هذه الحالة؟"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "أُضيفت الرسالة للمُفضّلة"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "حُذفت الرسالة من المُفضّلات"
 
 #: src/tray_icon.vala:48
 #, c-format
index dc8bdca..d6a3c74 100644 (file)
--- a/po/es.po
+++ b/po/es.po
@@ -2,7 +2,7 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
@@ -36,11 +36,8 @@ msgid "Sure you want to delete this account?"
 msgstr "¿Seguro que quieres eliminar esta cuenta?"
 
 #: src/dm_entry.vala:35
-msgid ""
-"You can't send direct message to this user. He (or she) must follow you too"
-msgstr ""
-"No puedes enviarle un mensaje directo a este usuario. Para ello él debe "
-"seguirte también."
+msgid "You can't send direct message to this user. He (or she) must follow you too"
+msgstr "No puedes enviarle un mensaje directo a este usuario. Para ello él debe seguirte también."
 
 #: src/dm_entry.vala:42
 msgid "Check"
@@ -88,11 +85,11 @@ msgstr "Debes rellenar todos los campos"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "Favoritos"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "Más"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -156,9 +153,8 @@ msgid "Show information about specified user"
 msgstr "Mostrar información acerca del usuario especificado"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "URL corta..."
+msgstr "Mostrar favoritos..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -216,12 +212,12 @@ msgstr "Actualizaciones"
 
 #: src/popups.vala:142
 #, fuzzy, c-format
-msgid "in the home timeline: %d\n"
+msgid "in the home timeline: %d"
 msgstr "en timeline: %d"
 
 #: src/popups.vala:145
 #, fuzzy, c-format
-msgid "in mentions: %d\n"
+msgid "in mentions: %d"
 msgstr "en menciones: %d"
 
 #: src/popups.vala:148
@@ -243,7 +239,7 @@ msgstr "Servicio de acortamiento de URL"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "Habilitar corrector ortográfico"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -440,11 +436,11 @@ msgstr "en respuesta a"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "Añadir a favoritos"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "Eliminar de favoritos"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -477,9 +473,8 @@ msgid "Your status has been deleted successfully"
 msgstr "Tu tweet se ha eliminado con éxito"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "Caché"
+msgstr "Cancelado"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -495,11 +490,11 @@ msgstr "¿Seguro que quieres eliminar este tweet?"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "El tweet ha sido añadido a favoritos"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "El tweet ha sido eliminado de los favoritos"
 
 #: src/tray_icon.vala:48
 #, c-format
index c51d965..0ac76bf 100644 (file)
--- a/po/fa.po
+++ b/po/fa.po
@@ -21,25 +21,23 @@ msgstr "حساب‌ها"
 
 #: src/account_widget.vala:75 src/edit_account.vala:74
 msgid "Login"
-msgstr "Ù\88رÙ\88د"
+msgstr "Ù\86اÙ\85â\80\8cکاربرÛ\8c"
 
 #: src/account_widget.vala:76 src/edit_account.vala:83
 msgid "Service"
-msgstr "خدÙ\85ات"
+msgstr "سرÙ\88Û\8cس"
 
 #: src/account_widget.vala:77
 msgid "API proxy"
-msgstr "پیشکار API"
+msgstr "پیشکار API"
 
 #: src/account_widget.vala:159
 msgid "Sure you want to delete this account?"
 msgstr "آیا مطمئن هستید که می‌خواهید این حساب را پاک کنید؟"
 
 #: src/dm_entry.vala:35
-msgid ""
-"You can't send direct message to this user. He (or she) must follow you too"
-msgstr ""
-"شما نمی‌توانید به این کاربر پیام مستقیم ارسال کنید. او نیز می‌بایست شما را "
+msgid "You can't send direct message to this user. He (or she) must follow you too"
+msgstr "شما نمی‌توانید به این کاربر پیام مستقیم ارسال کنید. او نیز می‌بایست شما را "
 "دنبال کند"
 
 #: src/dm_entry.vala:42
@@ -68,7 +66,7 @@ msgstr "گذرواژه"
 
 #: src/edit_account.vala:97
 msgid "API proxy or other service"
-msgstr "پیشکار API یا سرویس‌های دیگر"
+msgstr "پیشکار API یا سرویس‌های دیگر"
 
 #: src/edit_account.vala:109 src/pref_dialog.vala:215
 msgid "Account"
@@ -76,11 +74,11 @@ msgstr "حساب‌کاربری"
 
 #: src/edit_account.vala:183
 msgid "You must enter a proxy address"
-msgstr "شما باید یک نشانی پیشکار را بنویسید"
+msgstr "شما باید یک نشانی پیشکار را بنویسید"
 
 #: src/edit_account.vala:198
 msgid "Proxy address must contain a valid url"
-msgstr "نشانی پیشکار باید دارای نشانی اینترنتی درست باشد"
+msgstr "نشانی پیشکار باید دارای نشانی اینترنتی درست باشد"
 
 #: src/edit_account.vala:216
 msgid "You must fill in all fields"
@@ -88,11 +86,11 @@ msgstr "شما باید تمام جاها را پر کنید"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "برگزیده‌ها"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "بیش‌تر"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -156,9 +154,8 @@ msgid "Show information about specified user"
 msgstr "نشان‌دادن اطلاعات دربارهٔ کاربر مشخص‌شده"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "کوتاه‌کردن نشانی‌های اینترنتی..."
+msgstr "نشان‌دادن برگزیده‌ها..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -243,7 +240,7 @@ msgstr "سرویس کوتاه‌سازی نشانی اینترنتی"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "به‌کارانداختن غلط‌یاب املایی"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -440,11 +437,11 @@ msgstr "در پاسخ به"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "اضافه‌کردن به برگزیده‌ها"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "پاک‌کردن از برگزیده‌ها"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -477,9 +474,8 @@ msgid "Your status has been deleted successfully"
 msgstr "وضعیت شما با موفقیت پاک شد"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "حافظهٔ نهان"
+msgstr "لغو کردن"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -495,11 +491,11 @@ msgstr "آیا مطمئن هستید که می‌خواهید این وضعیت
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "پیام به برگزیده‌ها افزوده شد"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "پیام از برگزیده‌ها پاک شد"
 
 #: src/tray_icon.vala:48
 #, c-format
diff --git a/po/hu.po b/po/hu.po
new file mode 100644 (file)
index 0000000..c44027e
--- /dev/null
+++ b/po/hu.po
@@ -0,0 +1,534 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2010-04-03 14:34+0300\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: bognarandras <bognarandras.mail@gmail.com>\n"
+"Language-Team: hu <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: src/account_action.vala:42
+msgid "Accounts"
+msgstr "Fiókok"
+
+#: src/account_widget.vala:75 src/edit_account.vala:74
+msgid "Login"
+msgstr "Felhasználónév"
+
+#: src/account_widget.vala:76 src/edit_account.vala:83
+msgid "Service"
+msgstr "Szolgáltatás"
+
+#: src/account_widget.vala:77
+msgid "API proxy"
+msgstr "API proxy"
+
+#: src/account_widget.vala:159
+msgid "Sure you want to delete this account?"
+msgstr "Biztos benne, hogy törli ezt a fiókot?"
+
+#: src/dm_entry.vala:35
+msgid "You can't send direct message to this user. He (or she) must follow you too"
+msgstr "Nem tud ennek a felhasználónak közvetlen üzenetet küldeni. Nincs rá feliratkozva."
+
+#: src/dm_entry.vala:42
+msgid "Check"
+msgstr "Ellenőrzés"
+
+#: src/dm_entry.vala:58
+msgid "You can send direct message to this user"
+msgstr "Ennek a felhasználónak küldhet közvetlen üzenetet"
+
+#: src/dm_entry.vala:77
+msgid "Checking..."
+msgstr "Ellenőrzés..."
+
+#: src/edit_account.vala:70
+msgid "Edit account"
+msgstr "Fiók szerkesztése"
+
+#: src/edit_account.vala:72
+msgid "Create new account"
+msgstr "Új fiók létrehozása"
+
+#: src/edit_account.vala:78
+msgid "Password"
+msgstr "Jelszó"
+
+#: src/edit_account.vala:97
+msgid "API proxy or other service"
+msgstr "API proxy vagy egyéb szolgáltatás"
+
+#: src/edit_account.vala:109 src/pref_dialog.vala:215
+msgid "Account"
+msgstr "Fiók"
+
+#: src/edit_account.vala:183
+msgid "You must enter a proxy address"
+msgstr "Mindenképpen meg kell adni egy proxy címet"
+
+#: src/edit_account.vala:198
+msgid "Proxy address must contain a valid url"
+msgstr ""
+
+#: src/edit_account.vala:216
+msgid "You must fill in all fields"
+msgstr "Minden mezőt ki kell töltenie"
+
+#: src/favorites_view_dialog.vala:36
+msgid "Favorites"
+msgstr "Kedvencek"
+
+#: src/favorites_view_dialog.vala:52
+msgid "More"
+msgstr "Többi"
+
+#: src/main_window.vala:188
+msgid "Home timeline"
+msgstr "Saját idővonal"
+
+#: src/main_window.vala:189
+msgid "Show your home timeline"
+msgstr "Saját idővonal megjelenítése"
+
+#: src/main_window.vala:195
+msgid "Mentions"
+msgstr "Említések"
+
+#: src/main_window.vala:196
+msgid "Show mentions"
+msgstr "Említések megjelenítése"
+
+#: src/main_window.vala:202
+msgid "Direct messages"
+msgstr "Közvetlen üzenetek"
+
+#: src/main_window.vala:203
+msgid "Show direct messages"
+msgstr "Közvetlen üzenetek megjelenítése"
+
+#: src/main_window.vala:208
+msgid "User info"
+msgstr "Felhasználói infomráció"
+
+#: src/main_window.vala:208
+msgid "Show information about user"
+msgstr "Információk megjelenítése egy felhasználóról"
+
+#: src/main_window.vala:347 src/main_window.vala:348 src/main_window.vala:349
+#: src/status_bar_smart.vala:93 src/status_bar_smart.vala:96
+msgid "updated "
+msgstr "frissítve"
+
+#: src/main_window.vala:445
+msgid "New status"
+msgstr "Új állapot"
+
+#: src/main_window.vala:446
+msgid "Create new status"
+msgstr "Új állapot létrehozása"
+
+#: src/main_window.vala:449
+msgid "New direct message"
+msgstr "Új közvetlen üzenet"
+
+#: src/main_window.vala:450
+msgid "Create new direct message"
+msgstr "Új közvetlen üzenet létrehozása"
+
+#: src/main_window.vala:456
+msgid "Show user"
+msgstr "Felhasználó megjelenítése"
+
+#: src/main_window.vala:457
+msgid "Show information about specified user"
+msgstr "Információk megjelenítése egy adott felhasználóról"
+
+#: src/main_window.vala:463
+msgid "Show favorites..."
+msgstr "Kedvencek megjelenítése..."
+
+#: src/main_window.vala:470
+msgid "Update timeline"
+msgstr "Idővonal frissítése"
+
+#: src/main_window.vala:473
+msgid "Quit"
+msgstr "Kilépés"
+
+#: src/main_window.vala:478
+msgid "Edit"
+msgstr "Szerkesztés"
+
+#: src/main_window.vala:481 src/pref_dialog.vala:58
+msgid "Preferences"
+msgstr "Beállítások"
+
+#: src/main_window.vala:486
+msgid "View"
+msgstr "Nézet"
+
+#: src/main_window.vala:488
+msgid "Show menu"
+msgstr "Menü megjelenítése"
+
+#: src/main_window.vala:498
+msgid "Show toolbar"
+msgstr "Eszköztár megjelenítése"
+
+#: src/main_window.vala:510
+msgid "Help"
+msgstr "Sugó"
+
+#: src/main_window.vala:511
+#, c-format
+msgid "About %s"
+msgstr "%s névjegye"
+
+#: src/more_window.vala:36
+msgid "Get older entries"
+msgstr "Régebbi bejegyzések"
+
+#: src/popups.vala:76 src/template.vala:170 src/template.vala:241
+#, c-format
+msgid "Direct message"
+msgstr "Közvetlen üzenetek"
+
+#: src/popups.vala:76
+msgid "from"
+msgstr ""
+
+#: src/popups.vala:94
+msgid "Updates"
+msgstr "Frissítések"
+
+#: src/popups.vala:142
+#, c-format
+msgid "in the home timeline: %d\n"
+msgstr ""
+
+#: src/popups.vala:145
+#, c-format
+msgid "in mentions: %d\n"
+msgstr ""
+
+#: src/popups.vala:148
+#, c-format
+msgid "in direct messages: %d"
+msgstr ""
+
+#: src/pref_dialog.vala:67
+msgid "Update interval (in minutes)"
+msgstr "Frissítési időköz (percekben)"
+
+#: src/pref_dialog.vala:71
+msgid "Default number of statuses"
+msgstr "Állapotok száma"
+
+#: src/pref_dialog.vala:75
+msgid "URL shortening service"
+msgstr "URL-rövidítő szolgáltatás"
+
+#: src/pref_dialog.vala:82
+msgid "Enable spell checking"
+msgstr "Helyesírás-ellenőrző engedélyezése"
+
+#: src/pref_dialog.vala:85
+msgid "Starting up in tray"
+msgstr "Indítás a tálcán"
+
+#: src/pref_dialog.vala:88
+msgid "Show tray icon"
+msgstr "Tálcaikon megjelenítése"
+
+#: src/pref_dialog.vala:91
+msgid "For timeline"
+msgstr ""
+
+#: src/pref_dialog.vala:92
+msgid "For mentions"
+msgstr ""
+
+#: src/pref_dialog.vala:93
+msgid "For direct messages"
+msgstr ""
+
+#: src/pref_dialog.vala:102
+msgid "Retweets style"
+msgstr "Továbbküldés stílusa"
+
+#: src/pref_dialog.vala:109
+msgid "Clear now"
+msgstr "Törlés most"
+
+#: src/pref_dialog.vala:116
+msgid "General"
+msgstr ""
+
+#: src/pref_dialog.vala:122
+msgid "Retweets"
+msgstr "Továbbküldések"
+
+#: src/pref_dialog.vala:125
+msgid "Cache"
+msgstr "Cache"
+
+#: src/pref_dialog.vala:136
+msgid "Notification area"
+msgstr "Értesítési terület"
+
+#: src/pref_dialog.vala:140
+msgid "Notification"
+msgstr "Értesítések"
+
+#: src/pref_dialog.vala:154
+msgid "Authorization"
+msgstr "Engedélyezés"
+
+#: src/pref_dialog.vala:161
+msgid "Create new account..."
+msgstr "Új fiók létrehozása..."
+
+#: src/pref_dialog.vala:177
+msgid "Statuses"
+msgstr "Állapotok"
+
+#: src/pref_dialog.vala:180
+msgid "Rounded corners"
+msgstr "Lekerekített sarkok"
+
+#: src/pref_dialog.vala:183
+msgid "Right-to-left languages detection"
+msgstr "Jobbról balra író nyelvek felismerése"
+
+#: src/pref_dialog.vala:186
+msgid "Full names instead of nicknames"
+msgstr "Teljes nevek a becenevek helyett"
+
+#: src/pref_dialog.vala:189
+msgid "Default font"
+msgstr "Alapértelmezett betűtípus"
+
+#: src/pref_dialog.vala:195
+msgid "Fresh statuses color"
+msgstr "Új állapot színe"
+
+#: src/pref_dialog.vala:200
+msgid "Opacity"
+msgstr "Áttetszőség"
+
+#: src/pref_dialog.vala:213
+msgid "Main"
+msgstr "Saját"
+
+#: src/pref_dialog.vala:214
+msgid "Desktop"
+msgstr "Asztal"
+
+#: src/pref_dialog.vala:216
+msgid "Appearance"
+msgstr "Megjelenítés"
+
+#: src/re_tweet.vala:88
+msgid "Shorten URLs..."
+msgstr "URL rövidítése..."
+
+#: src/re_tweet.vala:93
+msgid "Shortening URLs..."
+msgstr "URL rövidítése.."
+
+#: src/re_tweet.vala:98
+msgid "URLs was shortened successfully"
+msgstr "URL sikeresen rövidítve"
+
+#: src/re_tweet.vala:100
+msgid "Nothing to shorten"
+msgstr "Nincs mit rövidíteni"
+
+#: src/re_tweet.vala:125 src/re_tweet.vala:242
+msgid "New status:"
+msgstr "Új állapot:"
+
+#: src/re_tweet.vala:134
+msgid "Hide"
+msgstr "Rejtés"
+
+#: src/re_tweet.vala:215
+#, c-format
+msgid "Reply to <b>%s</b>:"
+msgstr "Válasz neki: <b>%s</b>"
+
+#: src/re_tweet.vala:255
+msgid "Reply to"
+msgstr ""
+
+#: src/re_tweet.vala:268
+msgid "Direct message to"
+msgstr "Közvetlen üzenet"
+
+#: src/re_tweet.vala:288
+msgid "Retweet:"
+msgstr "Továbbküldés:"
+
+#: src/re_tweet.vala:317
+msgid "Your status is too long"
+msgstr "Túl hosszú az állapota"
+
+#: src/re_tweet.vala:341
+msgid "Type something first"
+msgstr "Először írjon valamit"
+
+#: src/re_tweet.vala:383
+msgid "Sending status..."
+msgstr "Állapot küldése..."
+
+#: src/re_tweet.vala:401
+msgid "Your status has been sent successfully"
+msgstr "Az állapota sikeresen elküldve"
+
+#: src/re_tweet.vala:407
+msgid "Sending direct message..."
+msgstr "Közvetlen üzenet küldése..."
+
+#: src/re_tweet.vala:421
+msgid "Your direct message has been sent successfully"
+msgstr "A közvetlen üzenete sikeresen elküldve"
+
+#: src/status_bar_smart.vala:101
+msgid "updating... "
+msgstr "frissítés..."
+
+#: src/status_view_dialog.vala:36
+msgid "Conversation"
+msgstr "Párbeszéd"
+
+#: src/status_view_dialog.vala:64
+msgid "go to the web page"
+msgstr "weboldal megnyitása"
+
+#: src/template.vala:168 src/template.vala:238
+msgid "Reply"
+msgstr "Válasz"
+
+#: src/template.vala:169 src/template.vala:239
+msgid "Delete"
+msgstr "Törlés"
+
+#: src/template.vala:240
+msgid "Retweet"
+msgstr "Továbbküldés"
+
+#: src/template.vala:265
+msgid "you"
+msgstr "ön"
+
+#: src/template.vala:267
+msgid "in reply to"
+msgstr ""
+
+#: src/template.vala:300
+msgid "Add to favorite"
+msgstr "Hozzáadás a kedvencekhez"
+
+#: src/template.vala:301
+msgid "Remove from favorite"
+msgstr "Eltávolítás a kedvencek közül"
+
+#: src/template.vala:408
+msgid "a few seconds ago"
+msgstr "néhány másodperce"
+
+#: src/template.vala:410
+msgid "1 minute ago"
+msgstr "1 perce"
+
+#: src/template.vala:412
+#, c-format
+msgid "%i minutes ago"
+msgstr "%i perce"
+
+#: src/template.vala:414
+msgid "about 1 hour ago"
+msgstr "körülbelül 1 órája"
+
+#: src/template.vala:416
+#, c-format
+msgid "about %i hours ago"
+msgstr "körülbelül %i órája"
+
+#: src/timeline_direct_list.vala:153
+msgid "Your direct message has been deleted successfully"
+msgstr "A közvetlen üzenete sikeresen törlésre került"
+
+#: src/timeline_list.vala:193
+msgid "Your status has been deleted successfully"
+msgstr "Az állapota sikeresen törlésre került"
+
+#: src/timeline_list_abstract.vala:204
+msgid "Canceled"
+msgstr "Törölve"
+
+#: src/timeline_list_abstract.vala:210
+msgid "Empty"
+msgstr "Üres"
+
+#: src/timeline_list_abstract.vala:243
+msgid "Connecting..."
+msgstr "Kapcsolódás..."
+
+#: src/timeline_list_abstract.vala:322
+msgid "Sure you want to delete this status?"
+msgstr "Biztos benne, hogy törli ezt az állapotot?"
+
+#: src/timeline_list_abstract.vala:398
+msgid "Message was added to favorites"
+msgstr "Üzenet hozzáadva a kedvencekhez"
+
+#: src/timeline_list_abstract.vala:402
+msgid "Message was removed from favorites"
+msgstr "Üzenet törölve a kedvencek közül"
+
+#: src/tray_icon.vala:48
+#, c-format
+msgid "%s - a twitter client"
+msgstr "%s - egy twitter kliens"
+
+#: src/user_info_list.vala:48
+msgid "Followers:"
+msgstr "Követők:"
+
+#: src/user_info_list.vala:49
+msgid "Friends:"
+msgstr "Barátok:"
+
+#: src/user_info_list.vala:50
+msgid "Statuses:"
+msgstr "Állapotok:"
+
+#: src/user_info_list.vala:69
+msgid "Web:"
+msgstr "Weboldal:"
+
+#: src/user_info_list.vala:90
+msgid "follow"
+msgstr "követés"
+
+#: src/user_info_list.vala:183
+msgid "This user does not exist"
+msgstr "Nincs ilyen felhasználó"
+
+#: src/user_info_list.vala:300
+msgid "Now you follow this user"
+msgstr "Mostantól ennek a felhasználónak a követője"
+
+#: src/user_info_list.vala:302
+msgid "User was unfollowed"
+msgstr "Már nem követi ezt a felhasználót"
index 3622ede..fedb4ad 100644 (file)
--- a/po/it.po
+++ b/po/it.po
@@ -88,9 +88,8 @@ msgid "Favorites"
 msgstr "Preferiti"
 
 #: src/favorites_view_dialog.vala:52
-#, fuzzy
 msgid "More"
-msgstr "Di più"
+msgstr "Ancora"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
index fbc99fb..30208ee 100644 (file)
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgstr ""
 "Project-Id-Version: pl\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-04-03 14:34+0300\n"
-"PO-Revision-Date: 2010-03-08 13:05+0100\n"
+"PO-Revision-Date: 2010-04-10 00:07+0200\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
 "MIME-Version: 1.0\n"
@@ -86,11 +86,11 @@ msgstr "Należy wypełnić wszystkie pola"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "Ulubione"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "Więcej"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -154,9 +154,8 @@ msgid "Show information about specified user"
 msgstr "Wyświetlanie informacji o podanym użytkowniku"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "Skróć adresy URL..."
+msgstr "Wyświetl ulubione..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -241,7 +240,7 @@ msgstr "Usługa skracania adresów URL"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "Sprawdzanie pisowni"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -249,7 +248,7 @@ msgstr "Uruchamianie w obszarze powiadamiania"
 
 #: src/pref_dialog.vala:88
 msgid "Show tray icon"
-msgstr "Wyświetlanie ikony powiadamiania"
+msgstr "Ikona obszaru powiadamiania"
 
 #: src/pref_dialog.vala:91
 msgid "For timeline"
@@ -438,11 +437,11 @@ msgstr "w odpowiedzi na"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "Dodaj do ulubionych"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "Usuń z ulubionych"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -475,9 +474,8 @@ msgid "Your status has been deleted successfully"
 msgstr "Stan został pomyślnie usunięty"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "Pamięć podręczna"
+msgstr "Anulowano"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -493,11 +491,11 @@ msgstr "Na pewno usunąć ten stan?"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "Wiadomość została dodano do ulubionych"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "Wiadomość została usunięta z ulubionych"
 
 #: src/tray_icon.vala:48
 #, c-format
index f4fcb32..943f720 100644 (file)
--- a/po/pt.po
+++ b/po/pt.po
@@ -2,7 +2,7 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
+# 
 msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
@@ -36,11 +36,8 @@ msgid "Sure you want to delete this account?"
 msgstr "Tem a certeza que deseja apagar esta Conta?"
 
 #: src/dm_entry.vala:35
-msgid ""
-"You can't send direct message to this user. He (or she) must follow you too"
-msgstr ""
-"Não pode enviar uma Mensagem Directa a este utilizador. Ele (ou ela) têm que "
-"o seguir também."
+msgid "You can't send direct message to this user. He (or she) must follow you too"
+msgstr "Não pode enviar uma Mensagem Directa a este utilizador. Ele (ou ela) têm que o seguir também."
 
 #: src/dm_entry.vala:42
 msgid "Check"
@@ -88,11 +85,11 @@ msgstr "Precisa de preencher todos os campos"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "Favoritos"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "Mais"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -156,9 +153,8 @@ msgid "Show information about specified user"
 msgstr "Mostrar Informação sobre o Utilizador especificado"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "Abreviar URL..."
+msgstr "Mostrar Favoritos"
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -243,7 +239,7 @@ msgstr "Serviço de abreviação de URL"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "Activar Correcção Ortográfica"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -440,11 +436,11 @@ msgstr "como resposta a"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "Adicionar aos Favoritos"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "Remover dos Favoritos"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -477,9 +473,8 @@ msgid "Your status has been deleted successfully"
 msgstr "O seu Estado foi eliminado com sucesso"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "Cache"
+msgstr "Cancelado"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -495,11 +490,11 @@ msgstr "Tem a certeza que deseja apagar este Estado?"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "A Mensagem foi adicionada aos Favoritos"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "A Mensagem foi removida dos Favoritos"
 
 #: src/tray_icon.vala:48
 #, c-format
index 5b1811f..bc533ec 100644 (file)
@@ -89,11 +89,11 @@ msgstr "Você tem de preencher todos os campos"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "Favoritos"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "Mais"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -157,9 +157,8 @@ msgid "Show information about specified user"
 msgstr "Mostrar informação sobre o usuário especificado"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "Encurtar URL..."
+msgstr "Mostrar favoritos..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -244,7 +243,7 @@ msgstr "Serviço de encurtamento de URL"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "Ativar verificação de escrita"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -441,11 +440,11 @@ msgstr "em resposta a"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "Adicionar aos favoritos"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "Remover dos favoritos"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -478,9 +477,8 @@ msgid "Your status has been deleted successfully"
 msgstr "O seu status foi apagado com sucesso"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "Cache"
+msgstr "Cancelado"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -488,7 +486,7 @@ msgstr "Vazio"
 
 #: src/timeline_list_abstract.vala:243
 msgid "Connecting..."
-msgstr "Conectando..."
+msgstr "Conetando..."
 
 #: src/timeline_list_abstract.vala:322
 msgid "Sure you want to delete this status?"
@@ -496,11 +494,11 @@ msgstr "Você tem certeza que deseja apagar este status?"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "Mensagem foi adicionada aos favoritos"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "Mensagem foi removida dos favoritos"
 
 #: src/tray_icon.vala:48
 #, c-format
index ffbbf8a..76606f6 100644 (file)
--- a/po/sr.po
+++ b/po/sr.po
@@ -1,6 +1,6 @@
 # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
 # This file is distributed under the same license as the PACKAGE package.
-#
+# 
 # Zoran Olujić <olujicz@ns-linux.org>, 2010.
 msgid ""
 msgstr ""
@@ -13,9 +13,8 @@ msgstr ""
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 "X-Generator: Lokalize 1.0\n"
-"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
-"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
 
 #: src/account_action.vala:42
 msgid "Accounts"
@@ -23,7 +22,7 @@ msgstr "Налози"
 
 #: src/account_widget.vala:75 src/edit_account.vala:74
 msgid "Login"
-msgstr "Ð\9fÑ\80иÑ\98ава"
+msgstr "Ð\9aоÑ\80иÑ\81ниÑ\87ко Ð¸Ð¼Ðµ"
 
 #: src/account_widget.vala:76 src/edit_account.vala:83
 msgid "Service"
@@ -38,11 +37,8 @@ msgid "Sure you want to delete this account?"
 msgstr "Да ли сте сигурни да желите да обришете овај налог?"
 
 #: src/dm_entry.vala:35
-msgid ""
-"You can't send direct message to this user. He (or she) must follow you too"
-msgstr ""
-"Не можете послати директну поруку овом кориснику. Он ( или она ) вас мора "
-"пратити"
+msgid "You can't send direct message to this user. He (or she) must follow you too"
+msgstr "Не можете послати директну поруку овом кориснику. Он ( или она ) вас мора пратити"
 
 #: src/dm_entry.vala:42
 msgid "Check"
@@ -90,11 +86,11 @@ msgstr "Морате попунити сва поља"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "Омиљено"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "Још"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -158,9 +154,8 @@ msgid "Show information about specified user"
 msgstr "Прикажи информације о одређеном кориснику"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "СкÑ\80аÑ\82и Ð£Ð Ð\9b-ове..."
+msgstr "Ð\9fÑ\80икажи Ð¾Ð¼Ð¸Ñ\99ене..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -197,7 +192,7 @@ msgstr "Помоћ"
 #: src/main_window.vala:511
 #, c-format
 msgid "About %s"
-msgstr "О %s"
+msgstr "О програму %s"
 
 #: src/more_window.vala:36
 msgid "Get older entries"
@@ -245,7 +240,7 @@ msgstr "Сервис за УРЛ скраћивање"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "Омогући проверу правописа"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -386,7 +381,7 @@ msgstr "Ретвит:"
 
 #: src/re_tweet.vala:317
 msgid "Your status is too long"
-msgstr "Ð\91аш статус је предугачак"
+msgstr "Ð\92аш статус је предугачак"
 
 #: src/re_tweet.vala:341
 msgid "Type something first"
@@ -410,7 +405,7 @@ msgstr "Ваша директна порука је успешно послат
 
 #: src/status_bar_smart.vala:101
 msgid "updating... "
-msgstr "оÑ\81важавам... "
+msgstr "оÑ\81вежавам... "
 
 #: src/status_view_dialog.vala:36
 msgid "Conversation"
@@ -442,11 +437,11 @@ msgstr "одговор на"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "Додај у омиљено"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "Уклони из омиљених"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -479,9 +474,8 @@ msgid "Your status has been deleted successfully"
 msgstr "Ваш статус је успешно обрисан"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "Ð\9aеÑ\88"
+msgstr "Ð\9fÑ\80екинÑ\83Ñ\82о"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -497,11 +491,11 @@ msgstr "Сигурно желелите да обришете статус?"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "Порука је додата у омиљене"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "Порука је уклоњена из омиљених"
 
 #: src/tray_icon.vala:48
 #, c-format
index dceae15..008f5f8 100644 (file)
--- a/po/sv.po
+++ b/po/sv.po
@@ -8,7 +8,7 @@ msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2010-04-03 14:34+0300\n"
-"PO-Revision-Date: 2010-03-07 17:51+0100\n"
+"PO-Revision-Date: 2010-04-06 16:01+0100\n"
 "Last-Translator: Johan Eriksson <hund@lathund.nu>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
@@ -21,11 +21,13 @@ msgstr ""
 msgid "Accounts"
 msgstr "Konton"
 
-#: src/account_widget.vala:75 src/edit_account.vala:74
+#: src/account_widget.vala:75
+#: src/edit_account.vala:74
 msgid "Login"
 msgstr "Användarnamn"
 
-#: src/account_widget.vala:76 src/edit_account.vala:83
+#: src/account_widget.vala:76
+#: src/edit_account.vala:83
 msgid "Service"
 msgstr "Tjänst"
 
@@ -38,11 +40,8 @@ msgid "Sure you want to delete this account?"
 msgstr "Är du säker på att du vill ta bort det här kontot?"
 
 #: src/dm_entry.vala:35
-msgid ""
-"You can't send direct message to this user. He (or she) must follow you too"
-msgstr ""
-"Du kan inte skicka direktmeddelanden till denna användare. Han/hon måste "
-"följa dig"
+msgid "You can't send direct message to this user. He (or she) must follow you too"
+msgstr "Du kan inte skicka direktmeddelanden till denna användare. Han/hon måste följa dig"
 
 #: src/dm_entry.vala:42
 msgid "Check"
@@ -72,7 +71,8 @@ msgstr "Lösenord"
 msgid "API proxy or other service"
 msgstr "API proxy eller annan tjänst"
 
-#: src/edit_account.vala:109 src/pref_dialog.vala:215
+#: src/edit_account.vala:109
+#: src/pref_dialog.vala:215
 msgid "Account"
 msgstr "Konto"
 
@@ -90,11 +90,11 @@ msgstr "Du måste fylla i alla fält"
 
 #: src/favorites_view_dialog.vala:36
 msgid "Favorites"
-msgstr ""
+msgstr "Favoriter"
 
 #: src/favorites_view_dialog.vala:52
 msgid "More"
-msgstr ""
+msgstr "Mer"
 
 #: src/main_window.vala:188
 msgid "Home timeline"
@@ -128,8 +128,11 @@ msgstr "Användarinfo"
 msgid "Show information about user"
 msgstr "Visa information om användaren"
 
-#: src/main_window.vala:347 src/main_window.vala:348 src/main_window.vala:349
-#: src/status_bar_smart.vala:93 src/status_bar_smart.vala:96
+#: src/main_window.vala:347
+#: src/main_window.vala:348
+#: src/main_window.vala:349
+#: src/status_bar_smart.vala:93
+#: src/status_bar_smart.vala:96
 msgid "updated "
 msgstr "uppdaterad"
 
@@ -158,9 +161,8 @@ msgid "Show information about specified user"
 msgstr "Visa information om specifik användare"
 
 #: src/main_window.vala:463
-#, fuzzy
 msgid "Show favorites..."
-msgstr "Förkorta URL:er"
+msgstr "Visa favoriter..."
 
 #: src/main_window.vala:470
 msgid "Update timeline"
@@ -174,7 +176,8 @@ msgstr "Avsluta"
 msgid "Edit"
 msgstr "Redigera"
 
-#: src/main_window.vala:481 src/pref_dialog.vala:58
+#: src/main_window.vala:481
+#: src/pref_dialog.vala:58
 msgid "Preferences"
 msgstr "Inställningar"
 
@@ -203,7 +206,9 @@ msgstr "Om %s"
 msgid "Get older entries"
 msgstr "Hämta äldre inlägg"
 
-#: src/popups.vala:76 src/template.vala:170 src/template.vala:241
+#: src/popups.vala:76
+#: src/template.vala:170
+#: src/template.vala:241
 #, c-format
 msgid "Direct message"
 msgstr "Direktmeddelande"
@@ -245,7 +250,7 @@ msgstr "URL förkortningstjänst"
 
 #: src/pref_dialog.vala:82
 msgid "Enable spell checking"
-msgstr ""
+msgstr "Aktivera stavningskontroll"
 
 #: src/pref_dialog.vala:85
 msgid "Starting up in tray"
@@ -359,7 +364,8 @@ msgstr "URL:en förkortades framgångsrikt"
 msgid "Nothing to shorten"
 msgstr "Inget att förkorta"
 
-#: src/re_tweet.vala:125 src/re_tweet.vala:242
+#: src/re_tweet.vala:125
+#: src/re_tweet.vala:242
 msgid "New status:"
 msgstr "Ny status:"
 
@@ -420,11 +426,13 @@ msgstr "Konversation"
 msgid "go to the web page"
 msgstr "gå till webbadressen"
 
-#: src/template.vala:168 src/template.vala:238
+#: src/template.vala:168
+#: src/template.vala:238
 msgid "Reply"
 msgstr "Svara"
 
-#: src/template.vala:169 src/template.vala:239
+#: src/template.vala:169
+#: src/template.vala:239
 msgid "Delete"
 msgstr "Radera"
 
@@ -442,11 +450,11 @@ msgstr "svar till"
 
 #: src/template.vala:300
 msgid "Add to favorite"
-msgstr ""
+msgstr "Lägg till i favoriter"
 
 #: src/template.vala:301
 msgid "Remove from favorite"
-msgstr ""
+msgstr "Ta bort från favoriter"
 
 #: src/template.vala:408
 msgid "a few seconds ago"
@@ -479,9 +487,8 @@ msgid "Your status has been deleted successfully"
 msgstr "Din status har tagits bort"
 
 #: src/timeline_list_abstract.vala:204
-#, fuzzy
 msgid "Canceled"
-msgstr "Cache"
+msgstr "Avbruten"
 
 #: src/timeline_list_abstract.vala:210
 msgid "Empty"
@@ -497,11 +504,11 @@ msgstr "Är du säker på att du vill ta bort det här meddelandet?"
 
 #: src/timeline_list_abstract.vala:398
 msgid "Message was added to favorites"
-msgstr ""
+msgstr "Meddelande tilllagt i favoriter"
 
 #: src/timeline_list_abstract.vala:402
 msgid "Message was removed from favorites"
-msgstr ""
+msgstr "Meddelande borttaget från favoriter"
 
 #: src/tray_icon.vala:48
 #, c-format
index 3be3416..294705a 100644 (file)
@@ -126,7 +126,15 @@ public class AccountAction : Action {
        }
        
        private void *get_userpic() {
-               string? url = api.get_userpic_url();
+               string? url = null;
+               
+               try {
+                       url = api.get_userpic_url();
+               } catch(RestError e) {
+                       return null;
+               } catch(ParseError e) {
+                       return null;
+               }
                
                if(url == null) {
                        set_gicon(default_icon);
index 8c864f9..89122c8 100644 (file)
@@ -83,6 +83,9 @@ public class DmEntry : Entry {
                } catch(RestError e) {
                        set_warning();
                        return;
+               } catch(ParseError e) {
+                       set_warning();
+                       return;
                }
                
                if(answer) {
index e13b033..a8a545e 100644 (file)
@@ -50,6 +50,9 @@ public class FavoritesViewList : TimelineList {
                } catch(RestError e) {
                        updating_error(e.message);
                        return result;
+               } catch(ParseError e) {
+                       updating_error(e.message);
+                       return result;
                }
                
                warning("SIZE: %d", result.size);
@@ -96,6 +99,10 @@ public class FavoritesViewList : TimelineList {
                        more.set_enabled(true);
                        updating_error(e.message);
                        return;
+               } catch(ParseError e) {
+                       more.set_enabled(true);
+                       updating_error(e.message);
+                       return;
                }
                
                if(result.size < 2) {
index 91accd5..fb7a02a 100644 (file)
 
 using Unique;
 
+#if (!HAS_DEBUG)
+public void debug(string s, ...){}
+#endif
+
 public class Main {
        
        public static int main (string[] args) {
index ac4d1e7..98a55c4 100644 (file)
@@ -26,6 +26,10 @@ using Auth;
 //using OAuth;
 using Soup;
 
+#if(LIBINDICATE)
+       using Indicate;
+#endif
+
 public class MainWindow : Window {
        
        unowned SList<RadioAction> list_group;
@@ -88,12 +92,12 @@ public class MainWindow : Window {
                
                /*
                client.fetch_request_token ("POST", request_token_url);
-               warning(auth_url, client.request_token.lookup("oauth_token"));
-               warning("input PIN");
+               debug(auth_url, client.request_token.lookup("oauth_token"));
+               debug("input PIN");
                string? pin = stdin.read_line();
-               warning(pin);
+               debug(pin);
                client.fetch_access_token("POST", access_token_url, pin);
-               warning("%s, %s", client.request_token.lookup("oauth_token"),
+               debug("%s, %s", client.request_token.lookup("oauth_token"),
                        client.request_token.lookup("oauth_token_secret"));
                
                string oauth_token = "18604056-PlBJS2DNHgixESyaW2bo99qD3iwIysec1ANB8QpBr";
@@ -107,16 +111,16 @@ public class MainWindow : Window {
                        oauth_token_secret, table);
                //signature = signature.substring(0, signature.length - 1);
                
-               warning(signature);
+               debug(signature);
                
                string auth_header = """OAuth realm="%s",oauth_consumer_key="%s",oauth_token="%s",oauth_signature_method="HMAC-SHA1",oauth_signature="%s",oauth_timestamp="%s",oauth_nonce="%s",oauth_version="1.0"""".printf("http://api.twitter.com/",
                 Config.CONS_KEY, oauth_token, signature, client.timestamp,
                 client.nonce);
         
-        warning(auth_header);
+        debug(auth_header);
         
         string h = client.generate_authorization("GET", "http://api.twitter.com/statuses/home_timeline.xml", "http://api.twitter.com");
-        warning(h);
+        debug(h);
         
         Message message = new Message("GET", "http://api.twitter.com/statuses/home_timeline.xml");
         message.set_http_version (HTTPVersion.1_1);
@@ -126,7 +130,7 @@ public class MainWindow : Window {
         message.request_headers = headers;
         
         session.send_message(message);
-        warning((string)message.response_body.flatten().data);
+        debug((string)message.response_body.flatten().data);
                 end of testing */
                
                //getting settings
@@ -166,7 +170,6 @@ public class MainWindow : Window {
                        return false;
                });
                
-               set_icon(logo);
                set_title(Config.APPNAME);
                
                destroy.connect(() => before_close());
@@ -629,16 +632,16 @@ public class MainWindow : Window {
                
                statusbar.set_status(StatusbarSmart.StatusType.UPDATING);
                
-               warning("start home");
+               debug("start home");
                var home_list = home.update();
-               warning("start mentions");
+               debug("start mentions");
                var mentions_list = mentions.update();
-               warning("start direct");
+               debug("start direct");
                var direct_list = direct.update();
                statusbar.set_status(StatusbarSmart.StatusType.FINISH_OK);
-               warning("end of update, starting notification");
+               debug("end of update, starting notification");
                notify.start(home_list, mentions_list, direct_list);
-               warning("notification is ok");
+               debug("notification is ok");
                updateAct.set_sensitive(true);
        }
        
@@ -654,9 +657,6 @@ public class MainWindow : Window {
                        timer.set_interval(prefs.updateInterval * 60);
                        prefs.write();
                });
-               
-               //pref_dialog.set_transient_for(this);
-               //pref_dialog.show();
        }
        
        /* saving settings */
@@ -671,5 +671,5 @@ public class MainWindow : Window {
        private void check_fresh() {
                if(!(home.have_fresh || mentions.have_fresh || direct.have_fresh))
                        tray.new_tweets(false);
-       }       
+       }
 }
index deae623..4d57eb3 100644 (file)
@@ -388,6 +388,11 @@ public class ReTweet : VBox {
                } catch(RestError e) {
                        set_sensitive(true);
                        
+                       data_error_sent(e.message);
+                       return;
+               } catch(ParseError e) {
+                       set_sensitive(true);
+                       
                        data_error_sent(e.message);
                        return;
                }
index 7585d33..a3ac817 100644 (file)
@@ -199,7 +199,7 @@ public abstract class RestAPIAbstract : Object {
                
                if(method == "GET") { //set get-parameters
                        string query = "";
-                       warning(params.size().to_string());
+                       debug(params.size().to_string());
                        if(params.size() > 0) {
                                query = "?";
                                
@@ -261,24 +261,33 @@ public abstract class RestAPIAbstract : Object {
        
        /* check user for DM availability */
        public bool check_friendship(string screen_name,
-               bool just_friend_check = false) throws RestError {
+               bool just_friend_check = false) throws RestError, ParseError {
                
                string req_url = urls.friendship();
                
                var map = new HashTable<string, string>(str_hash, str_equal);
                map.insert("source_screen_name", account.login);
                map.insert("target_screen_name", screen_name);
-               warning(req_url);
+               debug(req_url);
                string data = make_request(req_url, "GET", map);
-               
-               return parse_friendship(data, just_friend_check);
+
+               Parser.init();
+               bool result = parse_friendship(data, just_friend_check);
+               Parser.cleanup();
+
+               return result;
        }
        
-       private bool parse_friendship(string data, bool just_friend_check = false) {
+       private bool parse_friendship(string data,
+               bool just_friend_check = false) throws ParseError {
+
                bool followed_by = false;
                bool following = false;
                
                Xml.Doc* xmlDoc = Xml.Parser.parse_memory(data, (int)data.size());
+               if(xmlDoc == null)
+                       throw new ParseError.CODE("Invalid XML data");
+               
                Xml.Node* rootNode = xmlDoc->get_root_element();
                
                Xml.Node* iter;
index bacd132..2a75ef0 100644 (file)
@@ -35,19 +35,26 @@ public class RestAPIAcc : RestAPIAbstract {
        }
        
        /* get userpic url of a current user */
-       public string? get_userpic_url() {
+       public string? get_userpic_url() throws RestError, ParseError {
                if(account == null)
                        return null;
                
                string req_url = urls.user().printf(account.login);
                string data = make_request(req_url, "GET",
                        new HashTable<string, string>(str_hash, str_equal), false);
-               
-               return parse_userpic_url(data);
+
+               Parser.init();
+               var result = parse_userpic_url(data);
+               Parser.cleanup();
+
+               return result;
        }
        
-       private string parse_userpic_url(string data) {
+       private string parse_userpic_url(string data) throws ParseError {
                Xml.Doc* xmlDoc = Parser.parse_memory(data, (int)data.size());
+               if(xmlDoc == null)
+                       throw new ParseError.CODE("Invalid XML data");
+               
                Xml.Node* rootNode = xmlDoc->get_root_element();
                
                string result = "";
index af4734d..7c696d0 100644 (file)
@@ -41,7 +41,8 @@ public class RestAPIDirect : RestAPIAbstract {
        
        /* get direct messages (inbox) */
        public override ArrayList<Status>? get_timeline(int count = 0, FullStatus? fstatus = null,
-               string since_id = "", string max_id = "", bool sync = true) throws RestError, ParseError {
+               string since_id = "",
+               string max_id = "", bool sync = true) throws RestError, ParseError {
                
                if(account == null)
                        no_account();
@@ -55,13 +56,20 @@ public class RestAPIDirect : RestAPIAbstract {
                        map.insert("max_id", max_id);
                
                string data = make_request(urls.direct_in(), "GET", map);
-               
-               return parse_direct(data);
+
+               Parser.init();
+               var result = parse_direct(data);
+               Parser.cleanup();
+
+               return result;
        }
        
        /* parsing direct messages */
-       private ArrayList<Status> parse_direct(string data) {
+       private ArrayList<Status> parse_direct(string data) throws ParseError {
                Xml.Doc* xmlDoc = Parser.parse_memory(data, (int)data.size());
+               if(xmlDoc == null)
+                       throw new ParseError.CODE("Invalid XML data");
+               
                Xml.Node* rootNode = xmlDoc->get_root_element();
                
                //changing locale to C
index ca4a8b6..b0da9f8 100644 (file)
@@ -73,13 +73,20 @@ public class RestAPIRe : RestAPIAbstract {
                        map.insert("in_reply_to_status_id", reply_id);
                
                string data = make_request(req_url, "POST", map);
-               
-               return parse_status(data);
+
+               Parser.init();
+               var result = parse_status(data);
+               Parser.cleanup();
+
+               return result;
        }
        
-       private Status parse_status(string data) {
+       private Status parse_status(string data) throws ParseError {
                Status status = new Status();
                Xml.Doc* xmlDoc = Parser.parse_memory(data, (int)data.size());
+               if(xmlDoc == null)
+                       throw new ParseError.CODE("Invalid XML data");
+               
                Xml.Node* rootNode = xmlDoc->get_root_element();
                string result = "";
                
index 9b1090e..3028780 100644 (file)
@@ -86,11 +86,14 @@ public class RestAPITimeline : RestAPIAbstract {
                        map.insert("since_id", since_id);
                if(max_id != "")
                        map.insert("max_id", max_id);
-               warning(req_url);
+               debug(req_url);
                
                string data = make_request(req_url, "GET", map, async);
-               
-               return parse_timeline(data, fstatus);
+
+               Parser.init();
+               ArrayList<Status> result = parse_timeline(data, fstatus);
+               Parser.cleanup();
+               return result;
        }
        
        /* parsing timeline */
@@ -98,18 +101,25 @@ public class RestAPITimeline : RestAPIAbstract {
                FullStatus? fstatus) throws ParseError {
                
                Xml.Doc* xmlDoc = Parser.parse_memory(data, (int)data.size());
+               if(xmlDoc == null)
+                       throw new ParseError.CODE("Invalid XML data");
+               
                Xml.Node* rootNode = xmlDoc->get_root_element();
                
                //changing locale to C
                string currentLocale = GLib.Intl.setlocale(GLib.LocaleCategory.TIME, null);
                GLib.Intl.setlocale(GLib.LocaleCategory.TIME, "C");
-               
+               //debug(data);
                ArrayList<Status> lst = new ArrayList<Status>();
-               
+               debug("start parsing");
                for(Xml.Node* iter = rootNode->children; iter != null; iter = iter->next) {
+                       if(iter == null)
+                               debug("hoho! iter is null!");
+                       
+                       //debug("we in the loop");
                        if(iter->type != ElementType.ELEMENT_NODE)
                                continue;
-                       
+                       //debug("And here we go");
                        if(iter->name == "status") {
                                
                                if(iter->children != null) {
@@ -128,7 +138,7 @@ public class RestAPITimeline : RestAPIAbstract {
                                                        case "created_at":
                                                                status.created_at = str_to_time(iter_in->get_content());
                                                                status.created_at_s = iter_in->get_content();
-                                                               //warning(iter_in->get_content());
+                                                               //debug(iter_in->get_content());
                                                                break;
                                                        
                                                        case "text":
@@ -199,7 +209,7 @@ public class RestAPITimeline : RestAPIAbstract {
                                                                                                        break;
                                                                                        
                                                                                                case "screen_name":
-                                                                                                       warning("This is %s", iter_user->get_content());
+                                                                                                       debug("This is %s", iter_user->get_content());
                                                                                                        status.user_screen_name = iter_user->get_content();
                                                                                                        fstatus.user_screen_name = iter_user->get_content();
                                                                                                        break;
index 9d1eb7c..4e4934a 100644 (file)
@@ -52,6 +52,9 @@ public class StatusViewList : TimelineList {
                        } catch(RestError e) {
                                updating_error(e.message);
                                return lst;
+                       } catch(ParseError e) {
+                               updating_error(e.message);
+                               return lst;
                        }
                        
                        refresh();
index dce70aa..8c2bfc6 100644 (file)
@@ -62,6 +62,9 @@ public class TimelineDirectList : TimelineList {
                } catch(RestError e) {
                        updating_error(e.message);
                        return result;
+               } catch(ParseError e) {
+                       updating_error(e.message);
+                       return result;
                }
                
                if(result.size > 0) { //if we get some statuses
@@ -84,7 +87,7 @@ public class TimelineDirectList : TimelineList {
                if(!parent_focus) //delete only if main window out of focus
                        delete_extra();
                
-               warning("SIZE: %d", lst.size);
+               debug("SIZE: %d", lst.size);
                
                refresh();
                
@@ -117,6 +120,10 @@ public class TimelineDirectList : TimelineList {
                        more.set_enabled(true);
                        updating_error(e.message);
                        return;
+               } catch(ParseError e) {
+                       more.set_enabled(true);
+                       updating_error(e.message);
+                       return;
                }
                
                if(result.size < 2) {
@@ -138,6 +145,9 @@ public class TimelineDirectList : TimelineList {
                } catch(RestError e) {
                        updating_error(e.message);
                        return;
+               } catch(ParseError e) {
+                       updating_error(e.message);
+                       return;
                }
                
                //delete status from the list
index dcb24ab..805f362 100644 (file)
@@ -112,9 +112,12 @@ public class TimelineList : TimelineListAbstract {
                } catch(RestError e) {
                        updating_error(e.message);
                        return result;
+               } catch(ParseError e) {
+                       updating_error(e.message);
+                       return result;
                }
                
-               warning("SIZE: %d", result.size);
+               debug("SIZE: %d", result.size);
                
                if(result.size > 0) { //if we got some statuses
                        if((!_parent_focus || !act.active) && lst.size > 0) { //if this list is not visible and we have updates
@@ -173,7 +176,7 @@ public class TimelineList : TimelineListAbstract {
                try {
                        api.destroy_status(id);
                } catch(RestError e) {
-                       warning(e.message);
+                       debug(e.message);
                        updating_error(e.message);
                        return;
                }
@@ -195,13 +198,13 @@ public class TimelineList : TimelineListAbstract {
        
        /* get older statuses */
        protected override void get_older() {
-               warning("more");
+               debug("more");
                if(lst.size < 1)
                        return;
                
                more.set_enabled(false);
                
-               ArrayList<RestAPI.Status> result;
+               ArrayList<RestAPI.Status>? result = null;
                string max_id = lst.get(lst.size - 1).id;
                
                try {
@@ -210,6 +213,9 @@ public class TimelineList : TimelineListAbstract {
                        more.set_enabled(true);
                        updating_error(e.message);
                        return;
+               } catch(ParseError e) {
+                       updating_error(e.message);
+                       return;
                }
                
                if(result.size < 2) {
index e353c32..574a852 100644 (file)
@@ -118,7 +118,7 @@ public abstract class TimelineListAbstract : HBox {
                        double scroll_size = slider.adjustment.page_size;
                        
                        if(current + scroll_size == max) {
-                               warning("need more");
+                               debug("need more");
                                need_more(); //emit signal
                        }
                });
@@ -148,8 +148,8 @@ public abstract class TimelineListAbstract : HBox {
                                int ay = (int)(event.y_root + height - event.y - 60);
                                more.show_at(ax, ay);
                                
-                               //warning("motion: %fx%f", ax, ay);
-                               //warning("root: %fx%f", event.x_root, event.y_root);
+                               //debug("motion: %fx%f", ax, ay);
+                               //debug("root: %fx%f", event.x_root, event.y_root);
                        } else {
                                if(more.visible)
                                        more.hide();
@@ -305,7 +305,7 @@ public abstract class TimelineListAbstract : HBox {
                                return true;
                        
                        case "retweet":
-                               warning("start");
+                               debug("start");
                                string status_id = params;
                                retweet(find_status(status_id));
                                return true;
@@ -325,7 +325,7 @@ public abstract class TimelineListAbstract : HBox {
                                if(response == ResponseType.YES) {
                                        message_dialog.destroy();
                                        var status_id = params;
-                                       warning(status_id);
+                                       debug(status_id);
                                        destroy_status(status_id);
                                }
                                message_dialog.destroy();
@@ -334,7 +334,7 @@ public abstract class TimelineListAbstract : HBox {
                        
                        case "showtree":
                                string status_id = params;
-                               warning(status_id);
+                               debug(status_id);
                                var d = new StatusViewDialog(parent, accounts, template,
                                        find_status(status_id));
                                //dialog.run();
@@ -363,7 +363,7 @@ public abstract class TimelineListAbstract : HBox {
        
        /** add/remove to favorites */
        protected virtual void favorited(string id) {
-               warning("start favorite");
+               debug("start favorite");
                view.set_sensitive(false);
                Status? status = null;
                
@@ -407,7 +407,7 @@ public abstract class TimelineListAbstract : HBox {
                view.execute_script(script);
                
                view.set_sensitive(true);
-               warning("ok");
+               debug("ok");
        }
        
        /* show popup menu */
index 0644c3f..4166a6b 100644 (file)
@@ -41,9 +41,28 @@ public class TrayIcon : StatusIcon {
                
                parent = _parent;
                prefs = _prefs;
-               logo = _logo;
-               logo_fresh = _logo_fresh;
+
+               var theme = IconTheme.get_default();
+               
+               if(!theme.has_icon("pino-tray-icon")) {
+                       warning("no!!!!!!!!");
+                       logo = _logo;
+               } else {
+                       var info = theme.lookup_icon("pino-tray-icon", 22, IconLookupFlags.USE_BUILTIN);
+                       logo = info.load_icon();
+               }
+               
+               if(!theme.has_icon("pino-tray-icon")) {
+                       warning("no!!!!!!!!");
+                       logo_fresh = _logo_fresh;
+               } else {
+                       var info = theme.lookup_icon("pino-tray-icon-fresh", 22, IconLookupFlags.USE_BUILTIN);
+                       logo_fresh = info.load_icon();
+               }
+               
+               
                set_from_pixbuf(logo);
+               parent.set_icon(logo);
                
                set_tooltip_text(_("%s - not only a twitter client").printf(Config.APPNAME));
                
@@ -66,6 +85,34 @@ public class TrayIcon : StatusIcon {
                                parent.move(prefs.left, prefs.top);
                        }
                });
+               
+               #if(LIBINDICATE)
+                       var server = Indicate.Server.ref_default();
+                       
+                       server.set_type("message.pino");
+                       server.set_desktop_file(Config.DESKTOP_FILE_PATH);
+                       server.server_display.connect(dirty_activate);
+                       server.show();
+                       
+                       /*
+                       indicator = new Indicate.Indicator();
+                       indicator.set_property("subtype", "pino");
+                       indicator.set_property("sender", "troorl");
+                       indicator.set_property("body", "bla bla bla");
+                       indicator.user_display.connect(dirty_activate);
+                       indicator.show();
+                       */
+               #endif
+               
+       }
+
+       private void dirty_activate() {
+               try {
+                       Process.spawn_async(null, {Config.APP_PATH, "/"}, null,
+                               GLib.SpawnFlags.STDERR_TO_DEV_NULL, null, null);
+               } catch(GLib.SpawnError e) {
+                       warning(e.message);
+               }
        }
        
        public void new_tweets(bool y) {
index e72c57b..e77ff7b 100644 (file)
@@ -151,6 +151,9 @@ public class UserInfoList : TimelineListAbstract {
                } catch(RestError e) {
                        updating_error(e.message);
                        return;
+               } catch(ParseError e) {
+                       updating_error(e.message);
+                       return;
                }
                
                full_status.following = follow_him;
@@ -187,6 +190,11 @@ public class UserInfoList : TimelineListAbstract {
                        set_empty();
                        updating_error(e.message); //signal
                        
+                       return;
+               } catch(ParseError e) {
+                       set_empty();
+                       updating_error(e.message);
+
                        return;
                }
                
index dae8c35..23c82b2 100644 (file)
@@ -24,8 +24,10 @@ namespace Config
 {
        public const string GETTEXT_PACKAGE;
        public const string APPNAME;
+       public const string APP_PATH;
        public const string LOCALE_DIR;
        public const string APP_VERSION;
+       public const string DESKTOP_FILE_PATH;
        public const string LOGO_PATH;
        public const string LOGO_FRESH_PATH;
        public const string MENTIONS_PATH;
@@ -50,30 +52,30 @@ namespace Config
        public const string CONS_SEC;
 }
 
-namespace Gtk\r
-{\r
-  [CCode (cprefix = "GTKSPELL_ERROR_", cheader_filename = "gtkspell/gtkspell.h")]\r
-  public errordomain SpeelError\r
-  {\r
-    ERROR_BACKEND\r
-  }\r
-\r
+namespace Gtk
+{
+  [CCode (cprefix = "GTKSPELL_ERROR_", cheader_filename = "gtkspell/gtkspell.h")]
+  public errordomain SpeelError
+  {
+    ERROR_BACKEND
+  }
+
   [Compact]
-  [CCode (cheader_filename = "gtkspell/gtkspell.h", free_function = "")]\r
-  public class Spell\r
-  {\r
-    [CCode (cname = "gtkspell_new_attach")]\r
-    public Spell.attach (TextView view, string? lang) throws GLib.Error;\r
-    [CCode (cname = "gtkspell_get_from_text_view")]\r
-    public static Spell get_from_text_view (TextView view);\r
-    [CCode (cname = "gtkspell_detach")]\r
-    public void detach ();\r
-    [CCode (cname = "gtkspell_set_language")]\r
-    public bool set_language (string lang) throws GLib.Error;\r
-    [CCode (cname = "gtkspell_recheck_all")]\r
+  [CCode (cheader_filename = "gtkspell/gtkspell.h", free_function = "")]
+  public class Spell
+  {
+    [CCode (cname = "gtkspell_new_attach")]
+    public Spell.attach (TextView view, string? lang) throws GLib.Error;
+    [CCode (cname = "gtkspell_get_from_text_view")]
+    public static Spell get_from_text_view (TextView view);
+    [CCode (cname = "gtkspell_detach")]
+    public void detach ();
+    [CCode (cname = "gtkspell_set_language")]
+    public bool set_language (string lang) throws GLib.Error;
+    [CCode (cname = "gtkspell_recheck_all")]
     public void recheck_all ();
-  }\r
-}\r
+  }
+}
 
 [CCode (cheader_filename = "time_parser.h")]
 namespace TimeParser {
@@ -81,6 +83,255 @@ namespace TimeParser {
        public int time_to_diff(string datetime);
 }
 
+/* indicate.vapi generated by vapigen, do not modify. */
+
+[CCode (cprefix = "Indicate", lower_case_cprefix = "indicate_")]
+namespace Indicate {
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public class Indicator : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Indicator ();
+               public bool get_displayed ();
+               public uint get_id ();
+               public virtual unowned string get_property (string key);
+               public void hide ();
+               [NoWrapper]
+               public virtual void indicate_indicator_reserved1 ();
+               [NoWrapper]
+               public virtual void indicate_indicator_reserved2 ();
+               [NoWrapper]
+               public virtual void indicate_indicator_reserved3 ();
+               [NoWrapper]
+               public virtual void indicate_indicator_reserved4 ();
+               public bool is_visible ();
+               public virtual unowned GLib.PtrArray list_properties ();
+               public void set_displayed (bool displayed);
+               public virtual void set_property (string key, string data);
+               public void set_property_bool (string key, bool value);
+               public void set_property_icon(string key, Gdk.Pixbuf data); /* indicate-gtk method */
+               public void set_property_int (string key, int value);
+               public void set_property_time (string key, GLib.TimeVal time);
+               public void set_server (Indicate.Server server);
+               public void show ();
+               public signal void user_display ();
+               [CCode (has_construct_function = false)]
+               public Indicator.with_server (Indicate.Server server);
+               [CCode (name = "displayed")]
+               public virtual signal void sig_displayed (bool displayed);
+               [CCode (name = "hide")]
+               public virtual signal void sig_hide ();
+               [CCode (name = "modified")]
+               public virtual signal void sig_modified (string property);
+               [CCode (name = "show")]
+               public virtual signal void sig_show ();
+               [CCode (name = "user_display")]
+               public virtual signal void sig_user_display ();
+       }
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public class Listener : GLib.Object {
+               [CCode (has_construct_function = false)]
+               public Listener ();
+               public void display (Indicate.ListenerServer server, Indicate.ListenerIndicator indicator);
+               public void displayed (Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, bool displayed);
+               public void get_property (Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, Indicate.indicate_listener_get_property_cb callback, void* data);
+               public void get_property_bool (Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, Indicate.indicate_listener_get_property_bool_cb callback, void* data);
+               public void get_property_int (Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, Indicate.indicate_listener_get_property_int_cb callback, void* data);
+               public void get_property_time (Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, Indicate.indicate_listener_get_property_time_cb callback, void* data);
+               [NoWrapper]
+               public virtual void indicate_listener_reserved1 ();
+               [NoWrapper]
+               public virtual void indicate_listener_reserved2 ();
+               [NoWrapper]
+               public virtual void indicate_listener_reserved3 ();
+               [NoWrapper]
+               public virtual void indicate_listener_reserved4 ();
+               public static unowned Indicate.Listener ref_default ();
+               public void set_default_max_indicators (int max);
+               public void set_server_max_indicators (Indicate.ListenerServer server, int max);
+               public virtual signal void indicator_added (Indicate.ListenerServer indicator, Indicate.ListenerIndicator p1);
+               public virtual signal void indicator_modified (Indicate.ListenerServer indicator, Indicate.ListenerIndicator property, string p2);
+               public virtual signal void indicator_removed (Indicate.ListenerServer indicator, Indicate.ListenerIndicator p1);
+               public virtual signal void server_added (Indicate.ListenerServer type, string p1);
+               public virtual signal void server_count_changed (Indicate.ListenerServer count, uint p1);
+               public virtual signal void server_removed (Indicate.ListenerServer type, string p1);
+       }
+       [Compact]
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public class ListenerIndicator {
+               public static GLib.Type get_gtype ();
+               public uint get_id ();
+       }
+       [Compact]
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public class ListenerServer {
+               public static bool check_interest (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.Interests interest);
+               public static void get_count (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.indicate_listener_get_server_uint_property_cb callback, void* data);
+               public unowned string get_dbusname ();
+               public static void get_desktop (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.indicate_listener_get_server_property_cb callback, void* data);
+               public static GLib.Type get_gtype ();
+               public static void remove_interest (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.Interests interest);
+               public static void show_interest (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.Interests interest);
+       }
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public class Server : GLib.Object {
+               public void add_indicator (Indicate.Indicator indicator);
+               public virtual bool check_interest (Indicate.Interests interest);
+               [NoWrapper]
+               public virtual bool get_indicator_count (out uint count) throws GLib.Error;
+               [NoWrapper]
+               public virtual bool get_indicator_list (out unowned GLib.Array indicators) throws GLib.Error;
+               [NoWrapper]
+               public virtual bool get_indicator_properties (uint id, string properties) throws GLib.Error;
+               [NoWrapper]
+               public virtual bool get_indicator_property (uint id, string property, string value) throws GLib.Error;
+               [NoWrapper]
+               public virtual bool get_indicator_property_group (uint id, GLib.PtrArray properties, string value) throws GLib.Error;
+               public int get_max_indicators ();
+               public virtual uint get_next_id ();
+               public void hide ();
+               [NoWrapper]
+               public virtual void indicate_server_reserved1 ();
+               [NoWrapper]
+               public virtual void indicate_server_reserved2 ();
+               [NoWrapper]
+               public virtual void indicate_server_reserved3 ();
+               [NoWrapper]
+               public virtual void indicate_server_reserved4 ();
+               [NoWrapper]
+               public virtual void indicator_added (uint id);
+               [NoWrapper]
+               public virtual bool indicator_displayed (string sender, uint id, bool displayed) throws GLib.Error;
+               [NoWrapper]
+               public virtual void indicator_removed (uint id);
+               [NoWrapper]
+               public virtual int max_indicators_get ();
+               [NoWrapper]
+               public virtual bool max_indicators_set (string sender, int max);
+               public static unowned Indicate.Server ref_default ();
+               public void remove_indicator (Indicate.Indicator indicator);
+               [NoWrapper]
+               public virtual bool remove_interest (string sender, Indicate.Interests interest);
+               public void set_count (uint count);
+               public static void set_dbus_object (string obj);
+               public void set_default ();
+               public void set_desktop_file (string path);
+               public void set_type (string type);
+               public void show ();
+               [NoWrapper]
+               public virtual bool show_indicator_to_user (uint id) throws GLib.Error;
+               [NoWrapper]
+               public virtual bool show_interest (string sender, Indicate.Interests interest);
+               [NoAccessorMethod]
+               public uint count { get; set; }
+               [NoAccessorMethod]
+               public string desktop { owned get; set; }
+               [NoAccessorMethod]
+               public string type { owned get; set; }
+               public virtual signal void indicator_delete (uint p0);
+               public virtual signal void indicator_modified (uint id, string property);
+               public virtual signal void indicator_new (uint p0);
+               public virtual signal void interest_added (uint interest);
+               public virtual signal void interest_removed (uint interest);
+               public virtual signal void max_indicators_changed (int max);
+               public virtual signal void server_count_changed (uint count);
+               public virtual signal void server_display ();
+               public virtual signal void server_hide (string type);
+               public virtual signal void server_show (string type);
+       }
+       [CCode (cprefix = "INDICATE_INTEREST_", cheader_filename = "libindicate/interests.h")]
+       public enum Interests {
+               NONE,
+               SERVER_DISPLAY,
+               SERVER_SIGNAL,
+               INDICATOR_DISPLAY,
+               INDICATOR_SIGNAL,
+               INDICATOR_COUNT,
+               LAST
+       }
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public delegate void indicate_listener_get_property_bool_cb (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, bool propertydata);
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public delegate void indicate_listener_get_property_cb (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, string propertydata);
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public delegate void indicate_listener_get_property_int_cb (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, int propertydata);
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public delegate void indicate_listener_get_property_time_cb (Indicate.Listener listener, Indicate.ListenerServer server, Indicate.ListenerIndicator indicator, string property, GLib.TimeVal propertydata);
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public delegate void indicate_listener_get_server_property_cb (Indicate.Listener listener, Indicate.ListenerServer server, string value);
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public delegate void indicate_listener_get_server_uint_property_cb (Indicate.Listener listener, Indicate.ListenerServer server, uint value);
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const int INDICATOR_H_INCLUDED__;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const int INDICATOR_MESSAGES_H_INCLUDED__;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const string INDICATOR_MESSAGES_PROP_ATTENTION;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const string INDICATOR_MESSAGES_PROP_COUNT;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const string INDICATOR_MESSAGES_PROP_ICON;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const string INDICATOR_MESSAGES_PROP_NAME;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const string INDICATOR_MESSAGES_PROP_TIME;
+       [CCode (cheader_filename = "libindicate/indicator-messages.h")]
+       public const string INDICATOR_MESSAGES_SERVER_TYPE;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_SIGNAL_DISPLAY;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_SIGNAL_DISPLAYED;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_SIGNAL_HIDE;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_SIGNAL_MODIFIED;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_SIGNAL_SHOW;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_VALUE_FALSE;
+       [CCode (cheader_filename = "libindicate-gtk/indicator.h")]
+       public const string INDICATOR_VALUE_TRUE;
+       [CCode (cheader_filename = "libindicate/interests.h")]
+       public const int INTERESTS_H_INCLUDED__;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const int LISTENER_H_INCLUDED__;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const string LISTENER_SIGNAL_INDICATOR_ADDED;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const string LISTENER_SIGNAL_INDICATOR_MODIFIED;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const string LISTENER_SIGNAL_INDICATOR_REMOVED;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const string LISTENER_SIGNAL_SERVER_ADDED;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const string LISTENER_SIGNAL_SERVER_COUNT_CHANGED;
+       [CCode (cheader_filename = "libindicate-gtk/listener.h")]
+       public const string LISTENER_SIGNAL_SERVER_REMOVED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const int SERVER_H_INCLUDED__;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const int SERVER_INDICATOR_NULL;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_INDICATOR_ADDED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_INDICATOR_MODIFIED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_INDICATOR_REMOVED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_INTEREST_ADDED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_INTEREST_REMOVED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_MAX_INDICATORS_CHANGED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_SERVER_COUNT_CHANGED;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_SERVER_DISPLAY;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_SERVER_HIDE;
+       [CCode (cheader_filename = "libindicate/server.h")]
+       public const string SERVER_SIGNAL_SERVER_SHOW;
+}
+
 /*
 [CCode (cheader_filename = "sha1.h")]
 namespace SHA1
index 36fa261..1326e15 100644 (file)
@@ -7,10 +7,18 @@ def build(bld):
                target = 'pino',
                uselib = 'GTK+ GOBJECT LIBXML GEE LIBNOTIFY LIBSOUP WEBKIT GTHREAD LIBUNIQUE GTKSPELL',
                packages = 'gtk+-2.0 gee-1.0 gio-2.0 libnotify libsoup-2.4 libxml-2.0 webkit-1.0 config unique-1.0',
-               ccflags = ['-include', 'config.h', '-DYAML_DECLARE_STATIC'],
+               ccflags = ['-include', 'config.h', '-DYAML_DECLARE_STATIC',],
                vapi_dirs = 'vapi/',
                source = bld.path.ant_glob(excl = 'oauth-client.vala', incl = 'vapi/*.c *.vala'),
                threading = True
        )
+       if bld.env['HAVE_LIBINDICATE']:
+               prog.env.append_value('VALAFLAGS', '-D LIBINDICATE')
+               #prog.env.append_value('VALAFLAGS', '--disable-assert')
+               prog.uselib += ' LIBINDICATE'
+
+       if bld.env['DEBUG']:
+               prog.env.append_value('VALAFLAGS', '-D HAS_DEBUG')
+       
        prog.install_path = '${PREFIX}/bin'
        prog.includes = 'vapi/'
diff --git a/wscript b/wscript
index 3b6871c..08aa351 100644 (file)
--- a/wscript
+++ b/wscript
@@ -2,7 +2,7 @@
 
 import intltool
 
-VERSION = "0.2.5"
+VERSION = "0.2.6"
 VERSION_MAJOR_MINOR =  ".".join(VERSION.split(".")[0:2])
 APPNAME = "pino"
 
@@ -12,6 +12,10 @@ blddir = '_build_'
 def set_options(opt):
        opt.tool_options('compiler_cc')
        opt.tool_options('gnu_dirs')
+       opt.add_option('--ubuntuicons', action = 'store_true', default = False,
+               help = 'Install icons for Ubuntu mono themes')
+       opt.add_option('--debug', action = 'store_true', default = False,
+               help = 'Enable debug messages')
 
 def configure(conf):
        conf.check_tool('compiler_cc vala gnu_dirs intltool')
@@ -39,6 +43,8 @@ def configure(conf):
                atleast_version='1.0', mandatory=True, args='--cflags --libs')
        conf.check_cfg(package='gtkspell-2.0', uselib_store='GTKSPELL',
                atleast_version='2.0', mandatory=True, args='--cflags --libs')
+       conf.check_cfg(package='indicate', uselib_store='LIBINDICATE',
+               atleast_version='0.3', mandatory=False, args='--cflags --libs')
 
        conf.env.append_value('CCFLAGS', '-std=c99')
        
@@ -48,6 +54,8 @@ def configure(conf):
        conf.define('PACKAGE_VERSION', APPNAME + '-' + VERSION)
 
        conf.define('APP_VERSION', VERSION)
+       conf.define('DESKTOP_FILE_PATH', conf.env.PREFIX + '/share/applications/pino.desktop')
+       conf.define('APP_PATH', conf.env.PREFIX + '/bin/pino')
        conf.define('LOGO_PATH', conf.env.PREFIX + '/share/icons/hicolor/scalable/apps/pino.svg')
        conf.define('LOGO_FRESH_PATH', conf.env.PREFIX + '/share/icons/hicolor/scalable/apps/pino_fresh.svg')
        conf.define('MENTIONS_PATH', conf.env.PREFIX + '/share/pino/icons/mentions.svg')
@@ -70,6 +78,10 @@ def configure(conf):
        conf.define('LOCALE_DIR', conf.env.PREFIX + '/share/locale/')
        conf.define('GETTEXT_PACKAGE', APPNAME)
        conf.define('APPNAME', APPNAME)
+
+       import Options
+       conf.env.UBUNTUICONS = Options.options.ubuntuicons
+       conf.env.DEBUG = Options.options.debug
        conf.define('CONS_KEY', 'k6R1A0PPkmpRcThEdPF1Q')
        conf.define('CONS_SEC', 'TKneXwqslxkbaR3RQGcvvvGU4Qk01qh8HAhRIMN74')
        
@@ -121,7 +133,12 @@ def build(bld):
        bld.install_files('${PREFIX}/share/applications', 'pino.desktop')
        bld.install_files('${PREFIX}/share/doc/pino', 'COPYING README AUTHORS INSTALL')
        bld.install_files('${PREFIX}/share/indicators/messages/applications', 'indicator/pino')
-       
+
+       if bld.env['UBUNTUICONS']:
+               bld.install_files('${PREFIX}/share/icons/ubuntu-mono-dark/apps/22', 'img/ubuntu-mono-dark/pino-tray-icon.svg')
+               bld.install_files('${PREFIX}/share/icons/ubuntu-mono-dark/apps/22', 'img/ubuntu-mono-dark/pino-tray-icon-fresh.svg')
+               bld.install_files('${PREFIX}/share/icons/ubuntu-mono-light/apps/22', 'img/ubuntu-mono-light/pino-tray-icon.svg')
+               bld.install_files('${PREFIX}/share/icons/ubuntu-mono-light/apps/22', 'img/ubuntu-mono-light/pino-tray-icon-fresh.svg')
        #import subprocess
        #subprocess.Popen(['desktop-file-install', '--rebuild-mime-info-cache', bld.env.PREFIX + '/share/applications/pino.desktop'], stdout=subprocess.PIPE)