From 3fd2b2342f7fe84d5e9338473293819d663941c3 Mon Sep 17 00:00:00 2001 From: Lukáš Lalinský Date: Fri, 10 Jul 2009 00:20:29 +0200 Subject: Use a shared printer --- src/mainwindow.cpp | 25 +++++--- src/mainwindow.h | 4 +- translations/dbmodel_en.ts | 123 +++++++++++++++++++++------------------ translations/dbmodel_sk.ts | 139 +++++++++++++++++++++++++-------------------- 4 files changed, 167 insertions(+), 124 deletions(-) diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index 2de4853..1eb136e 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -48,12 +48,15 @@ class MainWindow::MainWindowPrivate { public: MainWindowPrivate() - {} + : printer(0) + {} QDockWidget *itemPropsDock; QStackedWidget *propertyEditorsStack; QMap propertyEditorsIndexes; + QPrinter *printer; + QAction *printAction; QAction *printPreviewAction; @@ -512,26 +515,34 @@ MainWindow::exportDocument() } } +void +MainWindow::initPrinter() +{ + if (!d->printer) + d->printer = new QPrinter(); +} + void MainWindow::print() { - QPrinter printer; - QPrintDialog printDialog(&printer, this); + initPrinter(); + QPrintDialog printDialog(d->printer, this); if (printDialog.exec() == QDialog::Accepted) { - paintOnPrinter(&printer); + printPreview(d->printer); } } void MainWindow::printPreview() { - QPrintPreviewDialog printPreviewDialog(this); - connect(&printPreviewDialog, SIGNAL(paintRequested(QPrinter*)), SLOT(paintOnPrinter(QPrinter*))); + QPrintPreviewDialog printPreviewDialog(d->printer, this); + connect(&printPreviewDialog, SIGNAL(paintRequested(QPrinter*)), + SLOT(printPreview(QPrinter*))); printPreviewDialog.exec(); } void -MainWindow::paintOnPrinter(QPrinter *printer) +MainWindow::printPreview(QPrinter *printer) { QPainter painter(printer); m_model->setPrinting(true); diff --git a/src/mainwindow.h b/src/mainwindow.h index 6c1a094..7a77b8e 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -57,7 +57,7 @@ public slots: void exportDocument(); void print(); void printPreview(); - void paintOnPrinter(QPrinter *); + void printPreview(QPrinter *); void setViewScale(const QString &scale); void about(); @@ -96,6 +96,8 @@ private: class MainWindowPrivate; MainWindowPrivate *const d; + void initPrinter(); + DiagramView *m_view; DiagramDocument *m_model; diff --git a/translations/dbmodel_en.ts b/translations/dbmodel_en.ts index 9e7ed89..817524a 100644 --- a/translations/dbmodel_en.ts +++ b/translations/dbmodel_en.ts @@ -191,265 +191,280 @@ MainWindow - + &Properties - + &New - + Ctrl+N - + &Open... - + Ctrl+O - + &Save - + Ctrl+S - + Save &As... - + E&xport... - + &Print... + + + Ctrl+P + + + Print Previe&w... + + + + + Ctrl+Shift+P + + + + Select - + Add new table - + Add new relation - + &Undo - + Ctrl+Z - + Re&do - + Ctrl+Shift+Z - + Cu&t - + Ctrl+X - + &Copy - + Ctrl+C - + &Paste - + Ctrl+V - + &Delete - + Del - + &About... - + &Close - + Ctrl+W - + &Quit - + Ctrl+Q - + Show &Grid - + &Notation - + &Relational - + &Crow's Foot - - + + &File - + &Mode - + 50% - + 70% - + 85% - + 100% - + 125% - + 150% - - + + &View - + &Edit - + &Diagram - + &Help - + The document has been modified. Do you want to save your changes? - + Error - + Unknown format. - + &%1. %2 - + About - + <p> <b>Database Modeller @@ -464,7 +479,7 @@ Copyright (C) 2008 Lukas Lalinsky <p><b>Database Modeller</b><br /><a href="http://oxygene.sk/lukas/dbmodel/">http://oxygene.sk/lukas/dbmodel/</a><br />Copyright (C) 2008 Lukáš Lalinský</p> - + Untitled diff --git a/translations/dbmodel_sk.ts b/translations/dbmodel_sk.ts index 88011c5..121b2b9 100644 --- a/translations/dbmodel_sk.ts +++ b/translations/dbmodel_sk.ts @@ -199,38 +199,38 @@ MainWindow - + &New &Nový - + Ctrl+N - + &Open... &Otvoriť... - + Ctrl+O - + &Save &Uložiť - + Ctrl+S - + Save &As... Uložiť &ako... @@ -239,236 +239,251 @@ Exportovať... - + Select Výber - + Add new table Pridať novú tabuľku - + Add new relation Pridať nový vzťah - + &Undo Vrátit &späť - + Ctrl+Z - + Re&do &Opakovať vrátené - + Ctrl+Shift+Z - - + + &File &Súbor - + &Mode &Mód - + 50% - + 70% - + 85% - + 100% - + 125% - + 150% - + &Quit &Koniec - + Ctrl+Q - + &Delete &Odstrániť - + Del - + Error Chyba - + Unknown format. Neznámy formát. - + &Edit &Upraviť - + E&xport... E&xportovať... - + &Print... &Tlačiť... - + + Ctrl+P + + + + + Print Previe&w... + &Náhľad tlače... + + + + Ctrl+Shift+P + + + + Cu&t Vystri&hnúť - + Ctrl+X - + &Copy &Kopírovať - + Ctrl+C - + &Paste &Vložiť - + Ctrl+V - - + + &View &Zobraziť - + The document has been modified. Do you want to save your changes? Dokument bol zmenený. Chcete uložiť Vaše zmeny? - + &%1. %2 - + &About... &O aplikácii... - + &Help &Pomocník - + About O aplikácii - + &Properties &Vlastnosti - + &Close Za&vrieť - + Ctrl+W - + Show &Grid Zobraziť m&riežku - + <p> <b>Database Modeller - + Untitled Nepomenované - + &Notation &Notácia - + &Relational &Relačná - + &Crow's Foot - + &Diagram @@ -496,13 +511,13 @@ Copyright (C) 2008 Lukas Lalinsky White - + Biela Red - + Červená @@ -514,7 +529,7 @@ Copyright (C) 2008 Lukas Lalinsky Green - + Zelená @@ -526,7 +541,7 @@ Copyright (C) 2008 Lukas Lalinsky Blue - + Modrá @@ -562,7 +577,7 @@ Copyright (C) 2008 Lukas Lalinsky Yellow - + Žtlá @@ -574,7 +589,7 @@ Copyright (C) 2008 Lukas Lalinsky Gray - + Šedá @@ -591,7 +606,7 @@ Copyright (C) 2008 Lukas Lalinsky Custom - + Vlastná -- cgit v1.2.3-54-g00ecf