Added quit action
This commit is contained in:
parent
c4ad490276
commit
d7c2523687
31
main.py
31
main.py
|
@ -1,8 +1,7 @@
|
|||
import time
|
||||
|
||||
import settings_manager
|
||||
from alcasar import Alcasar, ConnectionResults, DisconnectResult
|
||||
from settings_manager import SettingsWindow
|
||||
from alcasar import Alcasar
|
||||
from tray_manager import TrayManager
|
||||
from threading import Thread
|
||||
|
||||
|
@ -21,13 +20,22 @@ class AlcasarMonitor:
|
|||
self.settings_button = self.tray_manager.Menu.create_item("Settings",
|
||||
item_type=self.tray_manager.Menu.ItemType.BUTTON,
|
||||
callback=self.ask_credentials)
|
||||
self.auto_connect_check = self.tray_manager.Menu.create_item("Auto Connect",
|
||||
item_type=self.tray_manager.Menu.ItemType.CHECK,
|
||||
callback=self.toggle_auto_connect)
|
||||
self.settings_window = settings_manager.SettingsWindow()
|
||||
|
||||
self.settings_manager = settings_manager.SettingsManager()
|
||||
|
||||
self.auto_connect_check = self.tray_manager.Menu.create_item("Auto Connect",
|
||||
item_type=self.tray_manager.Menu.ItemType.CHECK,
|
||||
callback=self.toggle_auto_connect,
|
||||
checkdefault=self.settings_manager.get("auto_connect"))
|
||||
|
||||
self.quit_button = self.tray_manager.Menu.create_item("Quit",
|
||||
item_type=self.tray_manager.Menu.ItemType.BUTTON,
|
||||
callback=self.quit)
|
||||
|
||||
self.settings_window = settings_manager.SettingsWindow()
|
||||
|
||||
self.state = False
|
||||
self.running = True
|
||||
|
||||
self.request_settings_open = False
|
||||
self.just_disconnected = False
|
||||
|
@ -38,6 +46,12 @@ class AlcasarMonitor:
|
|||
def ask_credentials(self):
|
||||
self.request_settings_open = True
|
||||
|
||||
def quit(self):
|
||||
self.running = False
|
||||
self.tray_manager.kill()
|
||||
self.alcasar.disconnect()
|
||||
print("Exit")
|
||||
|
||||
def toggle_auto_connect(self):
|
||||
new_value = self.tray_manager.Menu.get_status(self.auto_connect_check)
|
||||
self.settings_manager.set("auto_connect", new_value)
|
||||
|
@ -53,7 +67,7 @@ class AlcasarMonitor:
|
|||
|
||||
def loop(self):
|
||||
last_state = None
|
||||
while True:
|
||||
while self.running:
|
||||
state = self.state
|
||||
if state != last_state:
|
||||
if state:
|
||||
|
@ -80,11 +94,10 @@ class AlcasarMonitor:
|
|||
self.settings_manager.set("password", credentials[1])
|
||||
|
||||
def connection_state_loop(self):
|
||||
while True:
|
||||
while self.running:
|
||||
self.state = self.alcasar.update_statut()[0]
|
||||
time.sleep(2)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
alcasar_monitor = AlcasarMonitor()
|
||||
|
||||
|
|
Loading…
Reference in a new issue