db \
dialogs
QT += sql
+QT += xml
# Input
dialogs/emufrontinputdialog.h \
dialogs/emufrontfileobjectdialog.h \
dialogs/browsefilepathdialog.h \
- db/dbconfig.h
+ db/dbconfig.h \
+ utils/datfileutil.h
SOURCES += main.cpp \
mainwindow.cpp \
db/databasemanager.cpp \
dialogs/emufrontinputdialog.cpp \
dialogs/emufrontfileobjectdialog.cpp \
dialogs/browsefilepathdialog.cpp \
- db/dbconfig.cpp
+ db/dbconfig.cpp \
+ utils/datfileutil.cpp
OTHER_FILES +=
CONFIG += mobility
#include "dialogs/mediaimagepathmaindialog.h"
#include "dialogs/setupmaindialog.h"
#include "dialogs/executablemaindialog.h"
+#include "utils/datfileutil.h"
#include "db/databasemanager.h"
#include "db/dbconfig.h"
configTmpDirAction->setStatusTip(tr("Configure directory for temporary files."));
connect(configTmpDirAction, SIGNAL(triggered()), this, SLOT(configureTmpDir()));
+ manageDatFilesAction = new QAction(tr("&Manage dats"), this);
+ manageDatFilesAction->setStatusTip(tr("Read dat files to database."));
+ connect(manageDatFilesAction, SIGNAL(triggered()), this, SLOT(manageDatFiles()));
+
exitAction = new QAction(tr("&Exit"), this);
exitAction->setShortcut(tr("Ctrl+Q"));
exitAction->setStatusTip(tr("Exit EmuFront"));
}
}
+void MainWindow::manageDatFiles()
+{
+ DatFileUtil dfu;
+ dfu.open();
+}
+
void MainWindow::activateDialog(EmuFrontDialog* dia) const
{
dia->show();
configMenu->addAction(configSetupAction);
configMenu->addAction(configEmulatorAction);
configMenu->addAction(configTmpDirAction);
+ configMenu->addAction(manageDatFilesAction);
helpMenu = menuBar()->addMenu(tr("&Help"));
helpMenu->addAction(aboutAction);
class DatabaseManager;
class EmuFrontDialog;
class EmuLauncher;
+class DatFileUtil;
class MainWindow : public QMainWindow
{
void configureEmulators();
void configureTmpDir();
void updateData();
+ void manageDatFiles();
void about();
private:
QAction *exitAction;
QAction *aboutAction;
QAction *configTmpDirAction;
+ QAction *manageDatFilesAction;
QLabel *messageLabel;
DatabaseManager *dbManager;
EmuLauncher *launcher;
--- /dev/null
+#include "datfileutil.h"
+#include <QtGui>
+
+DatFileUtil::DatFileUtil(QWidget *parent) :
+ QWidget(parent)
+{
+}
+
+void DatFileUtil::open()
+{
+ QString fileName = QFileDialog::getOpenFileName(this, tr("Open Dat File"),
+ QDir::currentPath(), tr("XML Dat Files (*.xml)"));
+ if (fileName.isEmpty()) return;
+
+ QDomDocument doc("datFile");
+ QFile file(fileName);
+ if (!file.open(QIODevice::ReadOnly))
+ return;
+ if (!doc.setContent(&file)) {
+ file.close();
+ return;
+ }
+ file.close();
+
+ QDomElement docElem = doc.documentElement();
+ QDomNode n = docElem.firstChild();
+ while(!n.isNull()) {
+ QDomElement e = n.toElement(); // try to convert the node to an element.
+ if(!e.isNull()) {
+ qDebug() << qPrintable(e.tagName()) << endl; // the node really is an element.
+ }
+ n = n.nextSibling();
+ }
+}
--- /dev/null
+#ifndef DATFILEUTIL_H
+#define DATFILEUTIL_H
+
+#include <QWidget>
+#include <QtXml>
+
+class DatFileUtil : public QWidget
+{
+ Q_OBJECT
+public:
+ explicit DatFileUtil(QWidget *parent = 0);
+ void open();
+
+signals:
+
+public slots:
+
+private:
+
+};
+
+#endif // DATFILEUTIL_H