From fa4e76e256ac77bb58bba97ceb26a10d19ec1671 Mon Sep 17 00:00:00 2001 From: Andrey Golovizin Date: Mon, 25 Aug 2014 13:57:49 +0200 Subject: [PATCH] Show filename in window title. --- pixelocr/gui/ocrengine.py | 2 +- pixelocr/gui/window.py | 16 ++++++++++++++-- pixelocr/page.py | 3 ++- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/pixelocr/gui/ocrengine.py b/pixelocr/gui/ocrengine.py index 6455488..ea967b4 100644 --- a/pixelocr/gui/ocrengine.py +++ b/pixelocr/gui/ocrengine.py @@ -44,7 +44,7 @@ class OCREngine(QThread): self.glyphdb.save() def load_page(self, filename): - return Page(Image.fromfile(filename).unframe(10)) + return Page(Image.fromfile(filename).unframe(10), filename) def run(self): for page_text in self.recognize(): diff --git a/pixelocr/gui/window.py b/pixelocr/gui/window.py index bc61025..bb06eba 100644 --- a/pixelocr/gui/window.py +++ b/pixelocr/gui/window.py @@ -38,13 +38,13 @@ from .glypheditor import GlyphDBEdit class MainWindow(QMainWindow): + BASE_TITLE = 'PixelOCR' dbedit = None - glyphEntered = signal([str]) def __init__(self, ocr): super().__init__() - self.setWindowTitle('PixelOCR') + self.setDocumentTitle(None) self.ocr = ocr @@ -56,6 +56,7 @@ class MainWindow(QMainWindow): self.glyphEdit.glyphEntered.connect(self.glyphEntered) self.glyphEdit.glyphEntered.connect(self.pageScene.clearHighlight) ocr.pageChanged.connect(self.pageScene.setPage) + ocr.pageChanged.connect(self.showPageTitle) ocr.unknownGlyph.connect(self.unknownGlyph) layout = QVBoxLayout(centralWidget) @@ -107,3 +108,14 @@ class MainWindow(QMainWindow): if self.dbedit is None: self.dbedit = GlyphDBEdit(self.ocr.glyphdb) self.dbedit.show() + + def setDocumentTitle(self, title): + if title: + full_title = '{} – {}'.format(title, self.BASE_TITLE) + else: + full_title = self.BASE_TITLE + self.setWindowTitle(full_title) + + def showPageTitle(self, page): + self.setDocumentTitle(page.filename) + diff --git a/pixelocr/page.py b/pixelocr/page.py index 51e2599..a90674e 100644 --- a/pixelocr/page.py +++ b/pixelocr/page.py @@ -29,8 +29,9 @@ CONNECTIVITY8 = ndimage.generate_binary_structure(2, 2) class PageObject(object): - def __init__(self, image): + def __init__(self, image, filename=None): self.image = image + self.filename = filename def _repr_png_(self): return self.image._repr_png_()