[Phoneorder-commits] SF.net SVN: phoneorder:[54] trunk/src
Status: Alpha
Brought to you by:
hurikhan
|
From: <hur...@us...> - 2010-06-13 19:49:57
|
Revision: 54
http://phoneorder.svn.sourceforge.net/phoneorder/?rev=54&view=rev
Author: hurikhan
Date: 2010-06-13 19:49:51 +0000 (Sun, 13 Jun 2010)
Log Message:
-----------
Fix print margin and focus customer number
Fixes the print margin and re-focusses the custom number editor after
returning from an order widget.
Modified Paths:
--------------
trunk/src/main.cpp
trunk/src/mainform.ui.h
trunk/src/orderwidget.ui.h
Modified: trunk/src/main.cpp
===================================================================
--- trunk/src/main.cpp 2010-06-13 12:46:02 UTC (rev 53)
+++ trunk/src/main.cpp 2010-06-13 19:49:51 UTC (rev 54)
@@ -84,7 +84,7 @@
dialog->setWindowTitle(QObject::tr("Printer Setup"));
if (dialog->exec() == QDialog::Accepted)
{
- mw->printer->setFullPage(TRUE);
+ mw->printer->setFullPage(FALSE);
return a.exec ();
}
Modified: trunk/src/mainform.ui.h
===================================================================
--- trunk/src/mainform.ui.h 2010-06-13 12:46:02 UTC (rev 53)
+++ trunk/src/mainform.ui.h 2010-06-13 19:49:51 UTC (rev 54)
@@ -51,14 +51,21 @@
void MainForm::cancelOrder (OrderWidget *ow)
{
qDebug("Cancel order from main window");
- if (pickupWidget->count() <= 1) {
+ if (pickupWidget->count() <= 1)
+ {
qDebug("Last order tab closing - spawning new");
pickupWidget->addTab(new PO_NewOrderWidget(), tr("Ne&w Order"));
}
+
qDebug("Removing current order tab");
pickupWidget->removePage(ow);
+
qDebug("Deleting widget");
delete ow;
+
+ PO_NewOrderWidget *cw = (PO_NewOrderWidget*) pickupWidget->currentPage();
+ if (pickupWidget->tabLabel(cw) == tr("Ne&w Order")) cw->custNumEdit->setFocus();
+
qDebug("Deleted - now returning");
}
Modified: trunk/src/orderwidget.ui.h
===================================================================
--- trunk/src/orderwidget.ui.h 2010-06-13 12:46:02 UTC (rev 53)
+++ trunk/src/orderwidget.ui.h 2010-06-13 19:49:51 UTC (rev 54)
@@ -15,11 +15,11 @@
#include <QRegExp>
#include <QApplication>
#include <QPainter>
-#include <Q3PaintDeviceMetrics>
-#include <Q3SimpleRichText>
+#include <QTextDocument>
#include <QSettings>
#include <QDateTime>
#include <QTextCodec>
+#include <QAbstractTextDocumentLayout>
#include "templatereader.h"
#include "mainform.h"
@@ -652,6 +652,8 @@
MainForm *mw = (MainForm *) qApp->mainWidget ();
QPrinter *printer = mw->printer;
+ qDebug("Printing");
+
/* load static template settings */
QSettings settings("kaishome.de", "PhoneOrder"); // FS#14
settings.setIniCodec(QTextCodec::codecForName("UTF-8"));
@@ -692,22 +694,6 @@
QString invoiceNumber;
invoiceNumber.sprintf("RN%8s-%04d", day.ascii(), number);
- qDebug("Printing");
- QPainter p;
- if (!p.begin(printer))
- {
- qDebug("Printing aborted");
- return;
- }
- Q3PaintDeviceMetrics metrics(p.device());
- int dpiy = metrics.logicalDpiY();
- int dpix = metrics.logicalDpiX(); // FS#46
- int tmargin = (int) ((marginTop / 2.54) * dpiy);
- int bmargin = (int) ((marginBottom / 2.54) * dpiy);
- int lmargin = (int) ((marginLeft / 2.54) * dpix);
- int rmargin = (int) ((marginRight / 2.54) * dpix);
- QRect body(lmargin, tmargin, metrics.width() - (lmargin + rmargin), metrics.height() - (tmargin + bmargin));
-
TemplatePlaceholders vars;
vars["custnum"] = Q3StyleSheet::escape(custNum->text());
@@ -827,31 +813,15 @@
vars["companySlogan"] = companySlogan;
document += sloganBox.getContents(&vars);
- Q3SimpleRichText richText(QString("<qt>%1</qt>").arg(document), QFont("Arial", fontSize));
- richText.setWidth(&p, body.width());
+ printer->setPageMargins(10 * marginLeft, 10 * marginTop, 10 * marginRight, 10 * marginBottom, QPrinter::Millimeter);
- QRect view(body);
- int page = 1;
- do {
- // draw text
- richText.draw(&p, body.left(), body.top(), view, colorGroup());
- view.moveBy(0, body.height()); // FS#15
- p.translate(0, -body.height());
+ QTextDocument htmlText(this);
+ htmlText.documentLayout()->setPaintDevice(printer);
+ htmlText.setDocumentMargin(0);
+ htmlText.setDefaultFont(QFont("Arial", fontSize));
+ htmlText.setHtml(QString("<html><body>%1</body></html>").arg(document));
+ htmlText.print(printer);
- // insert page number
- p.drawText(view.right() - p.fontMetrics().width(QString::number(page)),
- view.bottom() + p.fontMetrics().ascent() + 5,
- QString::number(page));
-
- // exit loop on last page
- if (view.top () >= richText.height ()) break;
-
- printer->newPage();
- page++;
- } while (TRUE);
-
- if (!p.end()) qDebug("Print painter yielded failure");
-
qDebug("Closing form");
this->cancelButton_clicked();
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|