diff options
author | m0sia <m0sia@m0sia.ru> | 2016-02-18 15:04:42 -0600 |
---|---|---|
committer | m0sia <m0sia@m0sia.ru> | 2016-02-18 15:04:42 -0600 |
commit | 52c1c1f9d06631b94c3b8ce8eaf816c5a36842b3 (patch) | |
tree | 020f823cf692d1ce6898649a15c7633c831dd972 /parrot_zik/indicator/windows.py | |
parent | f57d9a8d4ebc30effbec71382cce7e0a37b697e3 (diff) | |
parent | 92e47683fc783a2dbd3d9737af40eb0b3372af61 (diff) | |
download | pyParrotZikTCP-52c1c1f9d06631b94c3b8ce8eaf816c5a36842b3.tar.xz pyParrotZikTCP-52c1c1f9d06631b94c3b8ce8eaf816c5a36842b3.zip |
Merge pull request #12 from serathius/master
Rework and Zik 2.0 implementation.
Diffstat (limited to '')
-rw-r--r-- | parrot_zik/indicator/windows.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/parrot_zik/indicator/windows.py b/parrot_zik/indicator/windows.py new file mode 100644 index 0000000..f10c91a --- /dev/null +++ b/parrot_zik/indicator/windows.py @@ -0,0 +1,47 @@ +import sys +import tempfile +import gtk +import os + +from parrot_zik.indicator.base import BaseIndicator + + +class WindowsIndicator(BaseIndicator): + def __init__(self, icon, menu): + self.icon_directory = os.path.join( + os.path.dirname(os.path.realpath(sys.argv[0])), 'share', 'icons', 'zik') + self.menu_shown = False + sys.stdout = open(os.path.join(tempfile.gettempdir(), "zik_tray_stdout.log", "w")) + sys.stderr = open(os.path.join(tempfile.gettempdir(), "zik_tray_stderr.log", "w")) + statusicon = gtk.StatusIcon() + statusicon.connect("popup-menu", self.gtk_right_click_event) + statusicon.set_tooltip("Parrot Zik") + super(WindowsIndicator, self).__init__(icon, menu, statusicon) + + def gtk_right_click_event(self, icon, button, time): + if not self.menu_shown: + self.menu_shown = True + self.menu.popup(None, None, gtk.status_icon_position_menu, + button, time, self.statusicon) + else: + self.menu_shown = False + self.menu.poVpdown() + + def setIcon(self, name): + self.statusicon.set_from_file(self.icon_directory + name + '.png') + + @classmethod + def main(cls): + gtk.main() + + def quit(self, _): + gtk.main_quit() + + def show_about_dialog(self, widget): + about_dialog = gtk.AboutDialog() + about_dialog.set_destroy_with_parent(True) + about_dialog.set_name("Parrot Zik Tray") + about_dialog.set_version("0.3") + about_dialog.set_authors(["Dmitry Moiseev m0sia@m0sia.ru"]) + about_dialog.run() + about_dialog.destroy() |