Reverted invalid commit 82
[qtrapids] / src / qml-client / main.cpp
diff --git a/src/qml-client/main.cpp b/src/qml-client/main.cpp
new file mode 100644 (file)
index 0000000..9d992b8
--- /dev/null
@@ -0,0 +1,121 @@
+/***************************************************************************
+ *   Copyright (C) 2010 by Ixonos Plc   *
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ *   This program is distributed in the hope that it will be useful,       *
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
+ *   GNU General Public License for more details.                          *
+ *                                                                         *
+ *   You should have received a copy of the GNU General Public License     *
+ *   along with this program; if not, write to the                         *
+ *   Free Software Foundation, Inc.,                                       *
+ *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
+ ***************************************************************************/
+#include <QApplication>
+#include <QtDeclarative>
+#include <QDeclarativeContext>
+#include <QTest>
+#include <QDebug>
+//#include <QDesktopWidget>
+//#include "DownloadView.h"
+#include <QtDeclarative/qdeclarative.h>
+#include "models/QDeclarativeDownloadListModel.h"
+
+#include "MainWindow.h"
+#include "../include/qtrapids/dbus.hpp"
+
+using qtrapids::MainWindow;
+
+int main(int argc, char *argv[])
+{
+
+
+
+    QCoreApplication::setOrganizationName("Ixonos");
+    QCoreApplication::setOrganizationDomain("ixonos.com");
+    QCoreApplication::setApplicationName("QtRapids");
+
+    // Q_INIT_RESOURCE(application);
+    QApplication app(argc, argv);
+    //MainWindow mainWindow;
+    app.setProperty("NoMStyle", true);
+    
+    // Register our types:
+    qmlRegisterType<qtrapids::QDeclarativeDownloadListModel>("QtRapids", 1, 0, "DownloadListModel");
+
+    QDir::setCurrent(app.applicationDirPath());
+
+    QDeclarativeView window;
+    //QDeclarativeEngine engine;
+    qtrapids::QDeclarativeDownloadListModel downloadModel;
+    QDeclarativeContext *context = window.rootContext();
+    context->setContextProperty("downloadModel", &downloadModel);
+    window.setSource(QUrl("qrc:/main.qml"));
+
+    window.showFullScreen();
+//    window.show();
+
+
+    /* TODO: Enable this once we have the views up & running
+    QDBusConnection dbus = QDBusConnection::sessionBus();
+    dbus.registerObject("/qtrapids_gui", &mainWindow);
+    dbus.registerService("com.ixonos.qtrapids_gui");
+
+    mainWindow.connectToServer();
+    mainWindow.RestoreSettings();
+
+    // mainWindow->setGeometry(QApplication::desktop()->screenGeometry());
+
+    mainWindow.show();
+    */
+    /*
+    DownloadView* dlw = new DownloadView(NULL);
+      //qtrapids * mw = new qtrapids();
+    dlw->show();
+    DownloadViewItem* dlwItem = new DownloadViewItem(QStringList() << "Name"
+                << "Size" << "Status"
+                << "Progress" << "DL speed"
+                << "UL speed" << "Seeds/Leechers"
+                << "ratio");
+    DownloadViewItem* dlwItem2 = new DownloadViewItem(QStringList() << "Name"
+                << "1000" << "Downloading"
+                << "23%" << "11"
+                << "0.1" << "0/2"
+                << "1.10");
+    //dlwItem->insertChild(0, new DownloadViewItem(QStringList() << "Name"));
+    dlw->insertTopLevelItem(0,dlwItem);
+    dlw->insertTopLevelItem(1,dlwItem2);
+
+    for (unsigned i = 0; i < 10; ++i)
+    {
+        DownloadViewItem *editItem = dynamic_cast<DownloadViewItem*>
+                        (dlw->itemAt(QPoint(0,0)));
+        editItem->setData ( 8, Qt::DisplayRole, QVariant("EDITED" + QString::number(i, 'g', 2)));
+        QTest::qSleep(2000);
+    }
+    */
+
+    qtrapids::TorrentState editItem;
+    for (unsigned i = 0; i < 10; ++i)
+    {
+        editItem.hash = QString("asdfasdfasdfasdfasfsd-") + QString::number(i);
+        editItem.name = QString("Lassi-") + QString::number(i);
+        editItem.action = qtrapids::TorrentState::action_add;
+        editItem.state = 0;
+        editItem.progress = 10+i;
+        editItem.down_rate = 10+i;
+        editItem.up_rate = 10+i;
+        editItem.seeds = 10+i;
+        editItem.leeches = 10+i;
+        editItem.ratio = 10+i;
+        editItem.total_size = 100000+i;
+        editItem.total_done = 10000+i;
+        downloadModel.updateItem(editItem, qtrapids::ParamsMap_t());
+    }
+
+    return app.exec();
+}