diff --git a/src/qmacapplication.cpp b/src/qmacapplication.cpp new file mode 100644 index 000000000..9075611db --- /dev/null +++ b/src/qmacapplication.cpp @@ -0,0 +1,56 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2010 Christophe Dumez + * + * 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. + * + * In addition, as a special exception, the copyright holders give permission to + * link this program with the OpenSSL project's "OpenSSL" library (or with + * modified versions of it that use the same license as the "OpenSSL" library), + * and distribute the linked executables. You must obey the GNU General Public + * License in all respects for all of the code used other than "OpenSSL". If you + * modify file(s), you may extend this exception to your version of the file(s), + * but you are not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + * + * Contact : chris@qbittorrent.org + */ + +#include +#include "qmacapplication.h" + +#ifdef Q_WS_MAC + +QMacApplication::QMacApplication(int &argc, char** argv) : + QApplication(argc, argv) +{ +} + + +bool QMacApplication::event(QEvent * event) { + switch (event->type()) { + case QEvent::FileOpen: + { + QStringList paths; + paths << static_cast(event)->file(); + emit newFileOpenMacEvent(paths); + return true; + } + default: + return QApplication::event(event); + } +} + +#endif diff --git a/src/qmacapplication.h b/src/qmacapplication.h new file mode 100644 index 000000000..4a2527172 --- /dev/null +++ b/src/qmacapplication.h @@ -0,0 +1,55 @@ +/* + * Bittorrent Client using Qt4 and libtorrent. + * Copyright (C) 2010 Christophe Dumez + * + * 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. + * + * In addition, as a special exception, the copyright holders give permission to + * link this program with the OpenSSL project's "OpenSSL" library (or with + * modified versions of it that use the same license as the "OpenSSL" library), + * and distribute the linked executables. You must obey the GNU General Public + * License in all respects for all of the code used other than "OpenSSL". If you + * modify file(s), you may extend this exception to your version of the file(s), + * but you are not obligated to do so. If you do not wish to do so, delete this + * exception statement from your version. + * + * Contact : chris@qbittorrent.org + */ +#ifndef QMACAPPLICATION_H +#define QMACAPPLICATION_H + +#ifdef Q_WS_MAC + +#include +#include + +class QMacApplication : public QApplication +{ + Q_OBJECT +public: + explicit QMacApplication(int &argc, char** argv); + +signals: + void newFileOpenMacEvent(QStringList paths); + +protected: + bool event(QEvent *); + + +}; + +#endif + +#endif // QMACAPPLICATION_H