diff --git a/main.py b/main.py index 1fea466..e50c63c 100644 --- a/main.py +++ b/main.py @@ -2,7 +2,7 @@ from tkinter import * from tkinter import filedialog from zipfile import ZipFile as zf from PIL import Image, ImageTk -import io,os +import io,os, pickle class MangaReader: def __init__(self, master): @@ -12,9 +12,22 @@ class MangaReader: self.file = 'None' self.img = '' self.dir = 'None' + self.nextKey = '' + self.backKey = '' + self.quitKey = 'q' + self.openKey = 'o' master.title("Manga Reader") + + #Load settings + settingLoad = pickle.load(open('manga.p', 'rb')) + self.dir = settingLoad['directory'] + self.nextKey = settingLoad['nextKey'] + self.backKey = settingLoad['backKey'] + self.quitKey = settingLoad['quitKey'] + self.openKey = settingLoad['openKey'] + # tk window size and allow resize master.geometry("700x900") master.resizable(width=True, height=True) @@ -25,7 +38,7 @@ class MangaReader: item = Menu(self.menu) item.add_command(label="Open", command=self.open_menu) item.add_separator() - item.add_command(label="Exit", command=master.quit) + item.add_command(label="Exit", command=self.shutdown) self.menu.add_cascade(label="File", menu=item) root.config(menu=self.menu) @@ -53,9 +66,12 @@ class MangaReader: self.panel.bind('', self.redraw) # key bindings - self.master.bind('', self.nextPage) - self.master.bind('', self.backPage) - self.master.bind('q', quit) + self.master.bind(self.nextKey, self.nextPage) + self.master.bind(self.backKey, self.backPage) + self.master.bind(self.quitKey, self.shutdown) + self.master.bind(self.openKey, self.open_menu) + + master.protocol('WM_DELETE_WINDOW', self.shutdown) def open_menu(self): # file dialog. reset page counts, call display Maanga passing in starting values @@ -109,7 +125,7 @@ class MangaReader: if self.page < self.total: self.displayManga(self.file, self.page) else: - #reset self.page and doNothing + #reset self.page and open file selection self.page = self.page - 1 self.open_menu() @@ -125,6 +141,14 @@ class MangaReader: if self.file != 'None': self.displayManga(self.file, self.page) + def shutdown(self,*event): + # Collect settings and pickle them. Then quit. + + settingSave = {'directory': os.path.dirname(self.file), 'nextKey': self.nextKey, 'backKey': self.backKey, + 'quitKey': self.quitKey, 'openKey':self.openKey} + pickle.dump(settingSave, open('manga.p', 'wb')) + quit() + #initalize tk root=Tk() app = MangaReader(root)