23 #include "kfiledialog.h"
24 #include "kmessagebox.h"
26 #include "ktemporaryfile.h"
27 #include "kio/netaccess.h"
28 #include "QPrintPreviewDialog"
30 #include "QPrintDialog"
34 m_ParentWizard(wizard)
38 connect(previewButton, SIGNAL(clicked()),
this, SLOT(slotPreview()));
39 connect(printButton, SIGNAL(clicked()),
this, SLOT(slotPrint()));
40 connect(exportButton, SIGNAL(clicked()),
this, SLOT(slotExport()));
43 void PWizPrintUI::slotPreview()
45 QPointer<QPrintPreviewDialog> previewDlg(
new QPrintPreviewDialog( m_ParentWizard->
getPrinter()
47 connect(previewDlg, SIGNAL(paintRequested(QPrinter*)), SLOT(slotPrintPreview(QPrinter*)));
52 void PWizPrintUI::slotPrintPreview(QPrinter *printer)
54 printDocument(printer);
57 void PWizPrintUI::slotPrint()
59 QPointer<QPrintDialog> dialog(
new QPrintDialog( m_ParentWizard->
getPrinter()
61 if(dialog->exec() == QDialog::Accepted)
68 void PWizPrintUI::printDocument(QPrinter *printer)
73 void PWizPrintUI::slotExport()
75 KUrl url = KFileDialog::getSaveUrl(QDir::homePath(),
"application/pdf application/postscript application/vnd.oasis.opendocument.text");
83 if(QFile::exists(url.path()))
85 int r=KMessageBox::warningContinueCancel(parentWidget(),
86 i18n(
"A file named \"%1\" already exists. Overwrite it?" , url.fileName()),
87 i18n(
"Overwrite File?" ),
88 KStandardGuiItem::overwrite() );
89 if(r == KMessageBox::Cancel)
93 QString urlStr = url.url();
94 if(!urlStr.contains(
"/"))
96 urlStr = QDir::homePath() +
'/' + urlStr;
99 KTemporaryFile tmpfile;
105 if(url.isLocalFile())
107 fname = url.toLocalFile();
112 fname = tmpfile.fileName();
116 QString ext = fname.mid(fname.lastIndexOf(
".") + 1);
117 if(ext ==
"pdf" || ext ==
"ps") {
119 }
else if(ext ==
"odt") {
125 if(tmpfile.fileName() == fname)
128 if(!KIO::NetAccess::upload(tmpfile.fileName(), url,
this))
130 QString message = i18n(
"Could not upload file to remote location: %1", url.prettyUrl() );
131 KMessageBox::sorry( 0, message, i18n(
"Could not upload file" ) );
static KStars * Instance()
void writePsPdf(const QString &fname)
Write contents of the document to the Postscript/PDF file.
QPrinter * getPrinter()
Get printer used by Printing Wizard.
FinderChart * getFinderChart()
Get used FinderChart document.
Class representing Printing Wizard for KStars printed documents (currently only finder charts)...
PWizPrintUI(PrintingWizard *wizard, QWidget *parent=0)
Constructor.
bool writeOdt(const QString &fname)
Write contents of the document to Open Document Text file.
void print(QPrinter *printer)
Print contents of the document.