now displays two page spreads across width of window, but can be kind of short. Also worked on the focus issues a bit after the dialog box

This commit is contained in:
dan
2021-05-07 15:50:17 -04:00
parent 66e7fc9509
commit b163d1a9bf

20
main.py
View File

@@ -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)
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