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:
20
main.py
20
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)
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user