--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/widgetcreator.cpp Wed Jun 02 13:22:05 2010 +0300
@@ -0,0 +1,142 @@
+#include "widgetcreator.h"
+#include <QDir>
+#include <QTextStream>
+#include <QCheckBox>
+
+WidgetCreator::WidgetCreator(MainWindow& aUi, QObject *parent ) :
+ QObject(parent), iUi( aUi )
+{
+ generateFolders();
+ generateBuildFile();
+ generateHSPSManifest();
+ generateEmptyDat();
+ generateHSPSConf();
+ generateXml();
+ generateCss();
+ generateDat();
+ generateDtd();
+ generatePkg();
+ generateBur();
+}
+
+
+
+QString WidgetCreator::widgetName()
+{
+ return iUi.widgetName();
+}
+
+QString WidgetCreator::widgetUid()
+{
+ return iUi.widgetUid();
+}
+
+QString WidgetCreator::widgetLayout()
+{
+ return iUi.widgetLayout();
+}
+
+void WidgetCreator::generateFolders()
+{
+ QDir dir;
+ dir.mkpath( widgetName() + "/widget");
+ dir.setPath( widgetName() + "/widget" );
+ dir.mkpath( "group" );
+ dir.mkpath( "hsps/00" );
+ dir.mkpath( "xuikon/00" );
+ dir.mkpath( "sis" );
+}
+
+void WidgetCreator::generateBuildFile()
+{
+ iUi.replaceData("data/" + widgetLayout() +"/group/bld.inf", widgetName() + "/widget/group/bld.inf", 1);
+}
+
+void WidgetCreator::generateHSPSManifest()
+{
+ iUi.replaceData("data/" + widgetLayout() +"/hsps/00/manifest.dat",
+ widgetName() + "/widget/hsps/00/manifest.dat");
+}
+
+void WidgetCreator::generateHSPSConf()
+{
+ iUi.replaceData( "data/" + widgetLayout() +"/hsps/00/widgetconfiguration.xml",
+ widgetName() + "/widget/hsps/00/widgetconfiguration.xml" );
+}
+
+void WidgetCreator::generateEmptyDat()
+{
+ QDir dir;
+ dir.setPath( widgetName() + "/widget/hsps/00");
+ QFile file(dir.filePath("empty.dat"));
+ if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
+ return;
+}
+
+void WidgetCreator::generateXml()
+{
+ if( iUi.rendererCheckBox().isChecked())
+ {
+ iUi.replaceData( "data/" + widgetLayout() +"/xuikon/00/replacerenderer.xml",
+ widgetName() + "/widget/xuikon/00/" + iUi.widgetName() + ".xml");
+ }
+ else
+ {
+ iUi.replaceData( "data/" + widgetLayout() +"/xuikon/00/replace.xml",
+ widgetName() + "/widget/xuikon/00/" + iUi.widgetName() + ".xml");
+ }
+
+}
+
+void WidgetCreator::generateCss()
+{
+ if( iUi.rendererCheckBox().isChecked())
+ {
+ iUi.replaceData( "data/" + widgetLayout() +"/xuikon/00/replacerenderer.css",
+ widgetName() + "/widget/xuikon/00/" + iUi.widgetName() + ".css");
+ }
+ else
+ {
+ iUi.replaceData( "data/" + widgetLayout() +"/xuikon/00/replace.css",
+ widgetName() + "/widget/xuikon/00/" + iUi.widgetName() + ".css");
+ }
+}
+
+void WidgetCreator::generateDat()
+{
+ iUi.replaceData("data/" + widgetLayout() +"/xuikon/00/replace.dat",
+ widgetName() + "/widget/xuikon/00/" + widgetName() + "_" + iUi.widgetUidNoHex() + ".dat");
+}
+
+void WidgetCreator::generateDtd()
+{
+ QDir dir;
+ dir.setPath( widgetName() + "/widget/xuikon/00");
+ QFile file(dir.filePath(widgetName()+".dtd"));
+ if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
+ return;
+
+}
+
+void WidgetCreator::generatePkg()
+{
+ iUi.replaceData("data/" + widgetLayout() +"/sis/replace.pkg",
+ widgetName() + "/widget/sis/"+ widgetName() + ".pkg", 1); // 1 =no hex uid used
+ }
+
+void WidgetCreator::generateBur()
+{
+ QDir dir;
+ dir.setPath( widgetName() + "/widget/sis");
+ QFile file(dir.filePath("backup_registration.xml"));
+ if (!file.open(QIODevice::ReadWrite | QIODevice::Text))
+ return;
+
+ QTextStream out(&file);
+
+ out << "<?xml version=\"1.0\" standalone=\"yes\"?>\n"
+ << "<backup_registration>\n"
+ << "<system_backup/>\n"
+ << "<restore requires_reboot = \"no\"/>\n"
+ << "</backup_registration>\n";
+}