diff --git a/main.py b/main.py index e50c63c..f928832 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, pickle +import io, os, pickle class MangaReader: def __init__(self, master): @@ -19,7 +19,6 @@ class MangaReader: master.title("Manga Reader") - #Load settings settingLoad = pickle.load(open('manga.p', 'rb')) self.dir = settingLoad['directory'] @@ -71,15 +70,20 @@ class MangaReader: self.master.bind(self.quitKey, self.shutdown) self.master.bind(self.openKey, self.open_menu) + #watch the 'x' button for window close master.protocol('WM_DELETE_WINDOW', self.shutdown) - def open_menu(self): + + def open_menu(self, *event): # file dialog. reset page counts, call display Maanga passing in starting values if self.dir == 'None': mangaFile = filedialog.askopenfilename(initialdir = "/home/dan/Desktop/") else: mangaFile = filedialog.askopenfilename(initialdir = self.dir) - self.file = mangaFile + if mangaFile != '': + self.file = mangaFile + else : + self.panel.focus_force() if self.file != '': self.page = 0 self.total = 0 @@ -110,6 +114,13 @@ class MangaReader: hpercent = (hsize / float(im.size[1])) widthsize = int((float(im.size[0] * float(hpercent)))) + if widthsize > self.master.winfo_width(): + widthsize = self.master.winfo_width() + #widthsize = im.size[0] + wpercent = (widthsize / float(im.size[0])) + hsize = int((float(im.size[1]) * float(wpercent))) + # self.master.config(width=widthsize) + im = im.resize((widthsize, hsize), Image.ANTIALIAS) #convert to tkImage and update the on screen image. self.img = ImageTk.PhotoImage(im) @@ -117,8 +128,7 @@ class MangaReader: #finally update the current page count self.pgcount.configure(text=str(pg+1) + " of " + str(self.total)) - self.panel.focus_set() - self.master.config(width=wsize) + self.panel.focus_force() def nextPage(self, event): self.page = self.page + 1