fishyboteso/fishy/helper/popup.py
Adam Saudagar c9c2982403 show update prompt after gui is loaded
renamed auto_upgrade to update_now
made config init similar to hotkey
update now is a popup which runs from gui thread instead of an independent process
if the user decides to upgrade, bot is quited and update is started in the end of the main thread if update flag is set
2022-02-03 02:51:08 +05:30

36 lines
962 B
Python

import time
from tkinter import Toplevel
def center(win):
win.update_idletasks()
win.master.update_idletasks()
width = win.winfo_width()
height = win.winfo_height()
offset_x = win.master.winfo_x() + win.master.winfo_width() // 2 - (width // 2)
offset_y = win.master.winfo_y() + win.master.winfo_height() // 2 - (height // 2)
win.geometry('{}x{}+{}+{}'.format(width, height, offset_x, offset_y))
class PopUp(Toplevel):
def __init__(self, quit_callback, *args, **kwargs):
super().__init__(*args, **kwargs)
self.running = True
self.quit_callback = quit_callback
self.protocol("WM_DELETE_WINDOW", self.quit_top)
def quit_top(self):
self.quit_callback()
self.destroy()
self.running = False
def start(self):
self.grab_set()
center(self)
while self.running:
self.update()
time.sleep(0.01)
self.grab_release()