+/*
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 2012 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; either version 2 of the License, or
+ (at your option) any later version.
+
+ 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+*/
+
+#include <QtCore/QString>
+#include <QtCore/QDebug>
+#include <QFileDialog>
+#include <meegotouch/mwindow.h>
+
+#include "MainPageHandler.h"
+
+
+namespace qtrapids
+{
+
+MainPageHandler::MainPageHandler(QObject *parent) :
+ QObject(parent)
+{
+}
+
+MainPageHandler::~MainPageHandler()
+{
+}
+
+void MainPageHandler::fileSelectorOpen()
+{
+ qDebug() << Q_FUNC_INFO;
+ QWidget* widget = qobject_cast<QWidget*>(MApplication::activeWindow());
+ QString filename = QFileDialog::getOpenFileName(widget, tr("Open torrent file"), QString(), tr("Torrent files (*.torrent)") );
+ on_torrentFileSelected(filename);
+}
+
+
+void MainPageHandler::on_torrentFileSelected(const QString& file)
+{
+ qDebug() << Q_FUNC_INFO << " file selected: " << file;
+
+ // Torrent filename empty, do nothing.
+ if (file == "") {
+ return;
+ }
+
+ // Otherwise add torrent
+ // For params, see: http://www.rasterbar.com/products/libtorrent/manual.html#add-torrent
+ // save_path is the only mandatory parameter, rest are optional.
+ //addParams.storage_mode = libtorrent::storage_mode_allocate;
+ try {
+ // TODO: Enable this once server_ is in place
+// server_.addTorrent(file,
+// settings_.value("download/directory").toString(),
+// ParamsMap_t());
+ } catch (...) {
+ qDebug() << Q_FUNC_INFO << "Exception adding torrent";
+ }
+}
+
+} //namespace qtrapids