diff -r 000000000000 -r e696dd4a100f exportxhtmldialog.ui.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/exportxhtmldialog.ui.h Tue Jan 03 09:44:41 2006 +0000
@@ -0,0 +1,412 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename functions or slots use
+** Qt Designer which will update this file, preserving your code. Create an
+** init() function in place of a constructor, and a destroy() function in
+** place of a destructor.
+*****************************************************************************/
+
+
+extern Settings settings;
+
+void ExportXHTMLDialog::init()
+{
+ dia=new ShowTextDialog ();
+ xsltprocessor="xsltproc";
+ filepath="";
+ settingsChanged=false;
+}
+
+void ExportXHTMLDialog::readSettings()
+{
+
+ dir=settings.readLocalEntry (filepath,"/vym/export/xhtml/exportDir","./" );
+ lineEditDir->setText(dir);
+
+
+ if ( settings.readLocalEntry (filepath,"/vym/export/xhtml/useImage","yes")=="yes")
+ useImage=true;
+ else
+ useImage=false;
+ imageButton->setChecked(useImage);
+
+ if ( settings.readLocalEntry (filepath,"/vym/export/xhtml/useTextColor","no")=="yes")
+ useTextColor=true;
+ else
+ useTextColor=false;
+ textColorButton->setChecked(useTextColor);
+
+/* FIXME this was used in old html export, is not yet in new stylesheet
+ if ( settings.readEntry ("/vym/export/html/useHeading","no")=="yes")
+ useHeading=true;
+ else
+ useHeading=false;
+ checkBox4_2->setChecked(useHeading);
+*/
+
+ if ( settings.readLocalEntry (filepath,"/vym/export/xhtml/saveSettingsInMap","no")=="yes")
+ saveSettingsInMap=true;
+ else
+ saveSettingsInMap=false;
+ saveSettingsInMapButton->setChecked(saveSettingsInMap);
+
+ if ( settings.readEntry ("/vym/export/xhtml/showWarnings","yes")=="yes")
+ showWarnings=true;
+ else
+ showWarnings=false;
+ warningsButton->setChecked(showWarnings);
+
+ if ( settings.readEntry ("/vym/export/xhtml/showOutput","no")=="yes")
+ showOutput=true;
+ else
+ showOutput=false;
+ outputButton->setChecked(showOutput);
+
+ xsl=settings.readLocalEntry
+ (filepath,"/vym/export/xhtml/xsl","/usr/share/vym/styles/vym2xhtml.xsl");
+ lineEditXSL->setText(xsl);
+
+ css=settings.readLocalEntry
+ (filepath,"/vym/export/xhtml/css","/usr/share/vym/styles/vym.css");
+ lineEditCSS->setText(css);
+
+ prescript=settings.readLocalEntry
+ (filepath,"/vym/export/xhtml/prescript","");
+ lineEditPreScript->setText (prescript);
+
+ postscript=settings.readLocalEntry
+ (filepath,"/vym/export/xhtml/postscript","");
+ lineEditPostScript->setText (postscript);
+
+ if (!prescript.isEmpty() || !postscript.isEmpty())
+ {
+ QMessageBox::warning( 0, tr( "Warning" ),tr(
+ "The settings saved in the map "
+ "would like to run scripts:\n\n") +
+ prescript +" "+postscript +"\n\n"+
+ tr("Please check, if you really\n"
+ "want to allow this in your system!"));
+
+ }
+}
+
+void ExportXHTMLDialog::destroy()
+{
+ delete (dia);
+}
+
+void ExportXHTMLDialog::dirChanged()
+{
+ dir=lineEditDir->text();
+ if (dir.right(1)!="/")
+ dir+="/";
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::browseDirectoryPressed()
+{
+ QFileDialog fd( this, tr("VYM - Export HTML to directory"));
+ fd.setMode (QFileDialog::DirectoryOnly);
+ fd.setCaption(tr("VYM - Export HTML to directory"));
+ fd.setModal (true);
+ fd.show();
+
+ if ( fd.exec() == QDialog::Accepted )
+ {
+ dir=fd.selectedFile();
+ lineEditDir->setText (dir );
+ settingsChanged=true;
+ }
+}
+
+void ExportXHTMLDialog::imageButtonPressed(bool b)
+{
+ useImage=b;
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::textcolorButtonPressed(bool b)
+{
+ useTextColor=b;
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::saveSettingsInMapButtonPressed(bool b)
+{
+ saveSettingsInMap=b;
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::warningsButtonPressed(bool b)
+{
+ showWarnings=b;
+ settingsChanged=true;
+}
+
+
+void ExportXHTMLDialog::outputButtonPressed(bool b)
+{
+ showOutput=b;
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::cssChanged()
+{
+ css=lineEditCSS->text();
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::browseCSSPressed()
+{
+ QFileDialog fd( this, tr("VYM - Path to CSS file"));
+ fd.setModal (true);
+ fd.addFilter ("Cascading Stylesheet (*.css)");
+ fd.show();
+
+ if ( fd.exec() == QDialog::Accepted )
+ {
+ css=fd.selectedFile();
+ lineEditCSS->setText (css );
+ settingsChanged=true;
+ }
+}
+
+void ExportXHTMLDialog::xslChanged()
+{
+ xsl=lineEditXSL->text();
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::prescriptChanged()
+{
+ prescript=lineEditPreScript->text();
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::browseXSLPressed()
+{
+ QFileDialog fd( this, tr("VYM - Path to XSL file"));
+ fd.setModal (true);
+ fd.addFilter ("Extensible Styleshee Language (*.xsl)");
+ fd.show();
+
+ if ( fd.exec() == QDialog::Accepted )
+ {
+ xsl=fd.selectedFile();
+ lineEditXSL->setText (xsl );
+ settingsChanged=true;
+ }
+}
+
+void ExportXHTMLDialog::postscriptChanged()
+{
+ postscript=lineEditPostScript->text();
+ settingsChanged=true;
+}
+
+void ExportXHTMLDialog::browsePreExportButtonPressed()
+{
+ QFileDialog fd( this, tr("VYM - Path to pre export script"));
+ fd.setModal (true);
+ fd.addFilter ("Scripts (*.sh *.pl *.py *.php)");
+ fd.show();
+
+ if ( fd.exec() == QDialog::Accepted )
+ {
+ prescript=fd.selectedFile();
+ lineEditPreScript->setText (prescript );
+ settingsChanged=true;
+ }
+
+}
+
+void ExportXHTMLDialog::browsePostExportButtonPressed()
+{
+ QFileDialog fd( this, tr("VYM - Path to post export script"));
+ fd.setModal (true);
+ fd.addFilter ("Scripts (*.sh *.pl *.py *.php)");
+ fd.show();
+
+ if ( fd.exec() == QDialog::Accepted )
+ {
+ postscript=fd.selectedFile();
+ lineEditPostScript->setText (postscript );
+ settingsChanged=true;
+ }
+}
+
+
+void ExportXHTMLDialog::doExport (const QString &mapname)
+{
+ // Save options to settings file
+ // (but don't save at destructor, which
+ // is called for "cancel", too)
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/exportDir",dir);
+
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/prescript",prescript);
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/postscript",postscript);
+
+ if (useImage)
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/useImage","yes");
+ else
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/useImage","no");
+
+ if (useTextColor)
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/useTextColor","yes");
+ else
+ settings.setLocalEntry (filepath,"/vym/export/xhtml/useTextColor","no");
+
+ if (showWarnings)
+ settings.writeEntry ("/vym/export/xhtml/showWarnings","yes");
+ else
+ settings.writeEntry ("/vym/export/xhtml/showWarnings","no");
+
+ if (showOutput)
+ settings.writeEntry ("/vym/export/xhtml/showOutput","yes");
+ else
+ settings.writeEntry ("/vym/export/xhtml/showOutput","no");
+
+ settings.setLocalEntry
+ (filepath,"/vym/export/xhtml/xsl",xsl);
+ settings.setLocalEntry
+ (filepath,"/vym/export/xhtml/css",css);
+
+ //FIXME add option for url image (globe flag) here
+ if (true)
+ {
+ QPixmap pm (flag_url_xpm);
+ pm.save (dir + "/flags/url.png","PNG");
+ }
+
+ if (!saveSettingsInMap)
+ settings.clearLocal("/vym/export/xhtml");
+ else
+ settings.setLocalEntry
+ (filepath,"/vym/export/xhtml/saveSettingsInMap","yes");
+
+ // Copy CSS file
+ QFile css_src (css);
+ QFile css_dst (dir+"vym.css");
+ if (!css_src.open ( IO_ReadOnly))
+ QMessageBox::warning( 0, tr( "Warning" ),css +tr(" could not be opened!"));
+ else
+ {
+ if (!css_dst.open( IO_WriteOnly))
+ QMessageBox::warning( 0, tr( "Warning" ), dir+"vym.css" +tr(" could not be opened!"));
+ else
+ {
+
+ QTextStream tsout( &css_dst);
+ QTextStream tsin ( &css_src);
+ QString s= tsin.read();
+ tsout << s;
+ css_dst.close();
+ }
+ css_src.close();
+ }
+
+ if (!prescript.isEmpty()) runScript (prescript,dir+mapname+".xml");
+
+ Process *xsltProc=new Process ();
+ xsltProc->clearArguments();
+ xsltProc->addArgument (xsltprocessor);
+ if (useImage)
+ {
+ xsltProc->addArgument ("--stringparam");
+ xsltProc->addArgument ("imagemap");
+ xsltProc->addArgument ("images/"+mapname+".png");
+ }
+ if (useTextColor)
+ {
+ xsltProc->addArgument ("--stringparam");
+ xsltProc->addArgument ("use.textcolor");
+ xsltProc->addArgument ("1");
+ }
+ xsltProc->addArgument ("--stringparam");
+ xsltProc->addArgument ("mapname");
+ xsltProc->addArgument (mapname+".vym");
+
+ xsltProc->addArgument ("--output");
+ xsltProc->addArgument (dir+mapname+".html");
+ xsltProc->addArgument (xsl);
+ xsltProc->addArgument (dir+mapname+".xml");
+ dia->append ("vym is executing: \n" + xsltProc->arguments().join(" ") );
+ if (!xsltProc->start() )
+ {
+ QMessageBox::critical( 0, tr( "Critical Error" ),
+ tr("Couldn't start ") + xsltprocessor );
+ } else
+ {
+ xsltProc->waitFinished();
+ if (!xsltProc->normalExit() )
+ QMessageBox::critical( 0, tr( "Critical Error" ),
+ xsltprocessor +" " +tr("didn't exit normally") +
+ xsltProc->getErrout() );
+ else
+ if (xsltProc->exitStatus()>0) showOutput=true;
+
+ }
+ dia->append ("\n");
+ dia->append (xsltProc->getErrout());
+ dia->append (xsltProc->getStdout());
+
+ if (!postscript.isEmpty()) runScript (postscript,dir+mapname+".html");
+
+ if (showOutput) dia->exec();
+}
+
+void ExportXHTMLDialog::setFilePath(const QString &s)
+{
+ filepath=s;
+}
+
+void ExportXHTMLDialog::setMapName(const QString &s)
+{
+ mapname=s;
+}
+
+QString ExportXHTMLDialog::getDir()
+{
+ return dir;
+}
+
+bool ExportXHTMLDialog::warnings()
+{
+ return showWarnings;
+}
+
+bool ExportXHTMLDialog::hasChanged()
+{
+ return settingsChanged;
+}
+
+
+void ExportXHTMLDialog::runScript(QString spath, QString fpath)
+{
+ spath.replace ("%f",fpath);
+ QStringList args=QStringList::split (' ',spath,false);
+
+ Process *scriptProc=new Process ();
+ scriptProc->clearArguments();
+ scriptProc->setArguments (args);
+ dia->append ("vym is executing: \n" + scriptProc->arguments().join(" ") );
+ if (!scriptProc->start() )
+ {
+ QMessageBox::critical( 0, tr( "Critical Error" ),
+ tr("Couldn't start ") + spath );
+ } else
+ {
+ scriptProc->waitFinished();
+ if (!scriptProc->normalExit() )
+ QMessageBox::critical( 0, tr( "Critical Error" ),
+ spath +" " +tr("didn't exit normally") +
+ scriptProc->getErrout() );
+ else
+ if (scriptProc->exitStatus()>0) showOutput=true;
+
+ }
+ dia->append ("\n");
+ dia->append (scriptProc->getErrout());
+ dia->append (scriptProc->getStdout());
+}