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