From c31b5f1f97c72b64a84219747bf74fb802346da1 Mon Sep 17 00:00:00 2001 From: Christophe Dumez Date: Wed, 9 Jun 2010 15:13:52 +0000 Subject: [PATCH] Various Mac related fixes (Thanks Mirco Chinelli) --- src/GUI.cpp | 4 +++ src/Icons/qbittorrent_mac.icns | Bin 0 -> 50278 bytes src/Info.plist | 45 +++++++++++++++++++++++++++++++++ src/misc.cpp | 5 +++- src/qmacapplication.cpp | 3 --- src/qmacapplication.h | 5 ---- src/src.pro | 13 ++++++++++ 7 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 src/Icons/qbittorrent_mac.icns create mode 100644 src/Info.plist diff --git a/src/GUI.cpp b/src/GUI.cpp index bc025644f..6c920af91 100644 --- a/src/GUI.cpp +++ b/src/GUI.cpp @@ -223,6 +223,10 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis GUI::~GUI() { qDebug("GUI destruction"); hide(); +#ifdef Q_WS_MAC + // Workaround to avoid bug http://bugreports.qt.nokia.com/browse/QTBUG-7305 + setUnifiedTitleAndToolBarOnMac(true); +#endif // Async deletion of Bittorrent session as early as possible // in order to speed up exit session_proxy sp = BTSession->asyncDeletion(); diff --git a/src/Icons/qbittorrent_mac.icns b/src/Icons/qbittorrent_mac.icns new file mode 100644 index 0000000000000000000000000000000000000000..bcfffe69b1cb013077727e8f18ae067c2c08a763 GIT binary patch literal 50278 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 literal 0 HcmV?d00001 diff --git a/src/Info.plist b/src/Info.plist new file mode 100644 index 000000000..e706fc573 --- /dev/null +++ b/src/Info.plist @@ -0,0 +1,45 @@ + + + + + CFBundleDocumentTypes + + + CFBundleTypeExtensions + + torrent + + CFBundleTypeIconFile + qbittorrentDocument + CFBundleTypeName + BitTorrent Document + CFBundleTypeRole + Viewer + LSHandlerRank + Owner + LSItemContentTypes + + org.bitorrent.torrent + + LSIsAppleDefaultForType + + + + CFBundleIconFile + qbittorrent_mac.icns + CFBundleInfoDictionaryVersion + 6.0 + CFBundlePackageType + APPL + CFBundleGetInfoString + 2.2.8 + CFBundleSignature + ???? + CFBundleExecutable + qbittorrent + CFBundleIdentifier + com.yourcompany.qbittorrent + NOTE + This file was generated by Qt/QMake. + + diff --git a/src/misc.cpp b/src/misc.cpp index bfb678e92..15ab2fbe1 100644 --- a/src/misc.cpp +++ b/src/misc.cpp @@ -116,7 +116,10 @@ QString misc::QDesktopServicesCacheLocation() { OSErr err = FSFindFolder(kUserDomain, kCachedDataFolderType, false, &ref); if (err) return QString(); - QString path = getFullPath(ref); + QString path; + QByteArray ba(2048, 0); + if (FSRefMakePath(&ref, reinterpret_cast(ba.data()), ba.size()) == noErr) + path = QString::fromUtf8(ba).normalized(QString::NormalizationForm_C); path += QLatin1Char('/') + qApp->applicationName(); return path; #else diff --git a/src/qmacapplication.cpp b/src/qmacapplication.cpp index 0a40f2a14..6c9f13d56 100644 --- a/src/qmacapplication.cpp +++ b/src/qmacapplication.cpp @@ -28,8 +28,6 @@ * Contact : chris@qbittorrent.org */ -#ifdef Q_WS_MAC - #include #include "qmacapplication.h" @@ -52,4 +50,3 @@ bool QMacApplication::event(QEvent * event) { } } -#endif diff --git a/src/qmacapplication.h b/src/qmacapplication.h index 812878f4c..a3293f782 100644 --- a/src/qmacapplication.h +++ b/src/qmacapplication.h @@ -30,8 +30,6 @@ #ifndef QMACAPPLICATION_H #define QMACAPPLICATION_H -#ifdef Q_WS_MAC - #include "qtsingleapplication.h" #include @@ -47,9 +45,6 @@ signals: protected: bool event(QEvent *); - }; -#endif - #endif // QMACAPPLICATION_H diff --git a/src/src.pro b/src/src.pro index 9e6a08871..43053bab0 100644 --- a/src/src.pro +++ b/src/src.pro @@ -67,6 +67,19 @@ contains(DEBUG_MODE, 0) { message(Release build!) } +# Mac specific configuration +macx { + PREFIX = /usr/local + BINDIR = /usr/local/bin + DATADIR = /usr/local/share + + INCLUDEPATH += /usr/local/include/libtorrent /usr/include/openssl /usr/include /opt/local/include/boost /opt/local/include + LIBS += -ltorrent-rasterbar -lcrypto -L/opt/local/lib -lboost_system-mt -lboost_filesystem-mt -lboost_thread-mt -framework Cocoa + + ICON = Icons/qbittorrent_mac.icns + QMAKE_INFO_PLIST = Info.plist +} + # Install !win32 { # Binary