moved key bindings and previous directory to pickle file. Have shutdown method that saves pickle and watches for all methods of quitting program. Added keybind for open file box
This commit is contained in:
36
main.py
36
main.py
@@ -2,7 +2,7 @@ from tkinter import *
|
|||||||
from tkinter import filedialog
|
from tkinter import filedialog
|
||||||
from zipfile import ZipFile as zf
|
from zipfile import ZipFile as zf
|
||||||
from PIL import Image, ImageTk
|
from PIL import Image, ImageTk
|
||||||
import io,os
|
import io,os, pickle
|
||||||
|
|
||||||
class MangaReader:
|
class MangaReader:
|
||||||
def __init__(self, master):
|
def __init__(self, master):
|
||||||
@@ -12,9 +12,22 @@ class MangaReader:
|
|||||||
self.file = 'None'
|
self.file = 'None'
|
||||||
self.img = ''
|
self.img = ''
|
||||||
self.dir = 'None'
|
self.dir = 'None'
|
||||||
|
self.nextKey = '<Right>'
|
||||||
|
self.backKey = '<Left>'
|
||||||
|
self.quitKey = 'q'
|
||||||
|
self.openKey = 'o'
|
||||||
|
|
||||||
master.title("Manga Reader")
|
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
|
# tk window size and allow resize
|
||||||
master.geometry("700x900")
|
master.geometry("700x900")
|
||||||
master.resizable(width=True, height=True)
|
master.resizable(width=True, height=True)
|
||||||
@@ -25,7 +38,7 @@ class MangaReader:
|
|||||||
item = Menu(self.menu)
|
item = Menu(self.menu)
|
||||||
item.add_command(label="Open", command=self.open_menu)
|
item.add_command(label="Open", command=self.open_menu)
|
||||||
item.add_separator()
|
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)
|
self.menu.add_cascade(label="File", menu=item)
|
||||||
root.config(menu=self.menu)
|
root.config(menu=self.menu)
|
||||||
|
|
||||||
@@ -53,9 +66,12 @@ class MangaReader:
|
|||||||
self.panel.bind('<Configure>', self.redraw)
|
self.panel.bind('<Configure>', self.redraw)
|
||||||
|
|
||||||
# key bindings
|
# key bindings
|
||||||
self.master.bind('<Right>', self.nextPage)
|
self.master.bind(self.nextKey, self.nextPage)
|
||||||
self.master.bind('<Left>', self.backPage)
|
self.master.bind(self.backKey, self.backPage)
|
||||||
self.master.bind('q', quit)
|
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):
|
def open_menu(self):
|
||||||
# file dialog. reset page counts, call display Maanga passing in starting values
|
# file dialog. reset page counts, call display Maanga passing in starting values
|
||||||
@@ -109,7 +125,7 @@ class MangaReader:
|
|||||||
if self.page < self.total:
|
if self.page < self.total:
|
||||||
self.displayManga(self.file, self.page)
|
self.displayManga(self.file, self.page)
|
||||||
else:
|
else:
|
||||||
#reset self.page and doNothing
|
#reset self.page and open file selection
|
||||||
self.page = self.page - 1
|
self.page = self.page - 1
|
||||||
self.open_menu()
|
self.open_menu()
|
||||||
|
|
||||||
@@ -125,6 +141,14 @@ class MangaReader:
|
|||||||
if self.file != 'None':
|
if self.file != 'None':
|
||||||
self.displayManga(self.file, self.page)
|
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
|
#initalize tk
|
||||||
root=Tk()
|
root=Tk()
|
||||||
app = MangaReader(root)
|
app = MangaReader(root)
|
||||||
|
|||||||
Reference in New Issue
Block a user