You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ff/taskbartool.py

90 lines
2.1 KiB
Python

import glob
import wx
import wx.adv
import os
from time import sleep
from sys import platform
import sys
from util import find_data_file
from util import fprint
from util import setup_child
TRAY_TOOLTIP = 'IP Pigeon'
displaydata = None
settings = None
killme = False
def create_menu_item(menu, label, func):
item = wx.MenuItem(menu, -1, label)
menu.Bind(wx.EVT_MENU, func, id=item.GetId())
menu.Append(item)
return item
class TaskBarIcon(wx.adv.TaskBarIcon):
def __init__(self, frame):
self.frame = frame
super(TaskBarIcon, self).__init__()
self.set_icon(TRAY_ICON)
self.Bind(wx.adv.EVT_TASKBAR_LEFT_DOWN, self.on_left_down)
def CreatePopupMenu(self):
menu = wx.Menu()
create_menu_item(menu, 'Control Panel', self.on_open)
create_menu_item(menu, 'Login test', self.on_login)
menu.AppendSeparator()
create_menu_item(menu, 'Exit', self.on_exit)
return menu
def set_icon(self, path):
icon = wx.Icon(path)
self.SetIcon(icon, TRAY_TOOLTIP)
def on_left_down(self, event):
fprint ('Tray icon was left-clicked.')
def on_open(self, event):
settings["showui"] = True
self.close_popup()
def on_login(self, event):
settings["username"] = "frontend"
settings["password"] = "qwertyuiop"
settings["login"] = True
def on_exit(self, event):
wx.CallAfter(self.Destroy)
global killme
killme.value += 1
self.close_popup()
#print("kill cmd")
def close_popup(self):
self.frame.Close()
class TaskbarApp(wx.App):
def OnInit(self):
frame=wx.Frame(None)
self.SetTopWindow(frame)
TaskBarIcon(frame)
return True
def background(data, sets, kill):
setup_child()
global killme
global settings
global displaydata
killme = kill
app = TaskbarApp(False)
displaydata = data
settings = sets
fprint("Creating taskbar icon")
app.MainLoop()
TRAY_ICON = find_data_file('icon.png')
if __name__ == "__main__":
background(list(), dict(), int())