Compare commits
1 Commits
release-2.
...
release-2.
Author | SHA1 | Date | |
---|---|---|---|
![]() |
c506a01dea |
17
AUTHORS
@@ -3,19 +3,12 @@ Author:
|
|||||||
|
|
||||||
Contributors:
|
Contributors:
|
||||||
* Stefanos Antaris <santaris@csd.auth.gr>
|
* Stefanos Antaris <santaris@csd.auth.gr>
|
||||||
* Mohammad Dib <mdib@qbittorrent.org>
|
|
||||||
* Mirco Chinelli <infinity89@fastwebmail.it>
|
|
||||||
* Ishan Arora <ishan@qbittorrent.org>
|
* Ishan Arora <ishan@qbittorrent.org>
|
||||||
* Arnaud Demaizière <arnaud@qbittorrent.org>
|
* Arnaud Demaizière <arnaud@qbittorrent.org>
|
||||||
* Grigis Gaëtan <cipher16@gmail.com>
|
* Grigis Gaëtan <cipher16@gmail.com>
|
||||||
* Christian Kandeler <zambesi@users.sourceforge.net>
|
* Christian Kandeler <zambesi@users.sourceforge.net>
|
||||||
* Silvan Scherrer <silvan.scherrer@aroa.ch>
|
|
||||||
|
|
||||||
Code from other projects:
|
Code from other projects:
|
||||||
* files src/qtsingleapp/* src/lineedit/*
|
|
||||||
copyright: Nokia Corporation
|
|
||||||
license: LGPL
|
|
||||||
|
|
||||||
* files src/ico.cpp src/ico.h
|
* files src/ico.cpp src/ico.h
|
||||||
copyright: Malte Starostik <malte@kde.org>
|
copyright: Malte Starostik <malte@kde.org>
|
||||||
license: LGPL
|
license: LGPL
|
||||||
@@ -36,9 +29,9 @@ Images Authors:
|
|||||||
url: http://www.oxygen-icons.org
|
url: http://www.oxygen-icons.org
|
||||||
|
|
||||||
* files: src/Icons/flags/*.png
|
* files: src/Icons/flags/*.png
|
||||||
copyright: Mark James <mjames@gmail.com>
|
copyright: Open Clip Art Library
|
||||||
license: Public Domain
|
license: Creative Commons Public Domain Dedication
|
||||||
url: http://www.famfamfam.com
|
url: http://www.openclipart.org
|
||||||
|
|
||||||
* files: src/Icons/skin/*.png
|
* files: src/Icons/skin/*.png
|
||||||
files: src/menuicons/YYxYY/*.png
|
files: src/menuicons/YYxYY/*.png
|
||||||
@@ -67,13 +60,11 @@ Images Authors:
|
|||||||
Translations authors:
|
Translations authors:
|
||||||
* files: src/lang/*.ts
|
* files: src/lang/*.ts
|
||||||
copyright:
|
copyright:
|
||||||
- Arabic: SDERAWI (abz8868@msn.com) and sn51234 (nesseyan@gmail.com)
|
|
||||||
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
|
- Brazilian: Nick Marinho (nickmarinho@gmail.com)
|
||||||
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
|
- Bulgarian: Tsvetan & Boyko Bankoff (emerge_life@users.sourceforge.net)
|
||||||
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
|
- Catalan: Francisco Luque Contreras (frannoe@ya.com)
|
||||||
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
|
- Chinese (Simplified): Guo Yue (yue.guo0418@gmail.com)
|
||||||
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
|
- Chinese (Traditional): Yi-Shun Wang (dnextstep@gmail.com)
|
||||||
- Croatian: Oliver Mucafir (oliver.untwist@gmail.com)
|
|
||||||
- Czech: Jirka Vilim (web@tets.cz)
|
- Czech: Jirka Vilim (web@tets.cz)
|
||||||
- Danish: Mathias Nielsen (comoneo@gmail.com)
|
- Danish: Mathias Nielsen (comoneo@gmail.com)
|
||||||
- Dutch: Joost Schipper (heavyjoost@users.sourceforge.net)
|
- Dutch: Joost Schipper (heavyjoost@users.sourceforge.net)
|
||||||
@@ -83,7 +74,7 @@ Translations authors:
|
|||||||
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
- German: Niels Hoffmann (zentralmaschine@users.sourceforge.net)
|
||||||
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
- Greek: Tsvetan Bankov (emerge_life@users.sourceforge.net) and Stephanos Antaris (santaris@csd.auth.gr)
|
||||||
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
- Hungarian: Majoros Péter (majoros.j.p@t-online.hu)
|
||||||
- Italian: Matteo Sechi (bu17714@gmail.com)
|
- Italian: Mirko Ferrari (mirkoferrari@gmail.com) and Ferraro Luciano (luciano.ferraro@gmail.com)
|
||||||
- Japanese: Nardog (alphisation@gmail.com)
|
- Japanese: Nardog (alphisation@gmail.com)
|
||||||
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
|
- Korean: Jin Woo Sin (jin828sin@users.sourceforge.net)
|
||||||
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
|
- Norwegian: Lars-Erik Labori (hamil@users.sourceforge.net)
|
||||||
|
57
Changelog
@@ -1,60 +1,3 @@
|
|||||||
* Unreleased - Christophe Dumez <chris@qbittorrent.org> - v2.5.0
|
|
||||||
- FEATURE: qBittorrent can now act as a tracker
|
|
||||||
- FEATURE: New and improved RSS feed automated downloader
|
|
||||||
- FEATURE: Added feature to shutdown qbittorrent on torrents completion
|
|
||||||
- FEATURE: Added a torrent import assistant to seed or keep downloading outside torrents
|
|
||||||
- FEATURE: qBittorrent can update itself from Sourceforge (Windows/Mac OS X only)
|
|
||||||
- FEATURE: Added a transfer list column to display the current tracker
|
|
||||||
- FEATURE: Remember the last trackers used in the torrent creation tool
|
|
||||||
- FEATURE: The optimal piece size is now automatically computed in the torrent creation tool
|
|
||||||
- FEATURE: Bring up the connection settings when clicking on the connection status icon
|
|
||||||
- FEATURE: Major code refactoring and optimization
|
|
||||||
- FEATURE: Added "Amount downloaded/left" columns to transfer list
|
|
||||||
- FEATURE: Simplified proxy settings
|
|
||||||
- FEATURE: Optimized and improved the peer country resolution code
|
|
||||||
- COSMETIC: Replaced message box by on-screen notification for download errors
|
|
||||||
- COSMETIC: Improved the torrent creation tool appearance
|
|
||||||
- COSMETIC: Use country flags by Mark James (Thanks to Dmytro Pukha)
|
|
||||||
- OTHERS: Dropped support for Qt <= 4.4
|
|
||||||
|
|
||||||
* Tue Aug 24 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.4.0
|
|
||||||
- FEATURE: Added actions to "Move to top/bottom" of priority queue
|
|
||||||
- FEATURE: Auto-Shutdown on downloads completion
|
|
||||||
- FEATURE: Email notification on download completion
|
|
||||||
- FEATURE: Added button to password-lock the UI
|
|
||||||
- FEATURE: Added label-level Pause/Resume/Delete actions
|
|
||||||
- FEATURE: Torrents can now be filtered by name
|
|
||||||
- FEATURE: Run external program on torrent completion
|
|
||||||
- FEATURE: Detect executable updates in order to advise the user to restart
|
|
||||||
|
|
||||||
* Tue Jul 27 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.3.0
|
|
||||||
- FEATURE: Simplified torrent root folder renaming/truncating (< v2.3.0 is no longer forward compatible)
|
|
||||||
- FEATURE: Remember previous save paths in torrent addition dialog
|
|
||||||
- FEATURE: Max number of half-open connections can now be edited
|
|
||||||
- FEATURE: Added support for strict super seeding
|
|
||||||
- FEATURE: The user can force listening on a particular network interface
|
|
||||||
- FEATURE: Added cookie support for RSS feeds
|
|
||||||
- FEATURE: User can force tracker reannounce
|
|
||||||
- FEATURE: Added "No action" setting for double-click action
|
|
||||||
- FEATURE: Several torrents can be moved at once
|
|
||||||
- FEATURE: Added error state for torrents (error is displayed in a tooltip)
|
|
||||||
- FEATURE: Added filter for paused/error torrents
|
|
||||||
- FEATURE: Add Check/Uncheck all feature in Web UI
|
|
||||||
- FEATURE: Search engine can now be disabled
|
|
||||||
- FEATURE: Torrents can be automatically paused once they reach a given ratio
|
|
||||||
- FEATURE: Several files can now be disabled at once
|
|
||||||
- FEATURE: Added "Select All/None" buttons to files list
|
|
||||||
- FEATURE: Added support for BitComet links (bc://bt/...)
|
|
||||||
- BUGFIX: Hide seeding torrents files priorities in Web UI
|
|
||||||
- BUGFIX: The user can disable permanently recursive torrent download
|
|
||||||
- BUGFIX: Peer Exchange status is now correctly reported
|
|
||||||
- BUGFIX: Use an INI file instead of the registry on Windows (More reliable)
|
|
||||||
- BUGFIX: Removed client spoofing feature to avoid tracker blacklisting
|
|
||||||
- COSMETIC: Display peers country name in tooltip
|
|
||||||
- COSMETIC: Display number of torrents in transfers tab label
|
|
||||||
- COSMETIC: Simplified program preferences
|
|
||||||
- COSMETIC: Fix naming of actions opening new dialogs (use Name...)
|
|
||||||
|
|
||||||
* Sun Mar 14 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.0
|
* Sun Mar 14 2010 - Christophe Dumez <chris@qbittorrent.org> - v2.2.0
|
||||||
- FEATURE: User can set alternative speed limits for fast toggling
|
- FEATURE: User can set alternative speed limits for fast toggling
|
||||||
- FEATURE: Bandwidth scheduler (automatically use alternative speed limits for a given period)
|
- FEATURE: Bandwidth scheduler (automatically use alternative speed limits for a given period)
|
||||||
|
8
INSTALL
@@ -10,17 +10,15 @@ qBittorrent - A BitTorrent client in C++ / Qt4
|
|||||||
will install and execute qBittorrent hopefully without any problems.
|
will install and execute qBittorrent hopefully without any problems.
|
||||||
|
|
||||||
Dependencies:
|
Dependencies:
|
||||||
- Qt >= 4.5.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
|
- Qt >= 4.4.0 (libqt-devel, libqtgui, libqtcore, libqtnetwork, libqtxml)
|
||||||
|
|
||||||
- pkg-config executable
|
- pkg-config executable
|
||||||
|
|
||||||
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, compatible with v0.15.x)
|
- libtorrent-rasterbar by Arvid Norberg (>= 0.14.4 REQUIRED, >= v0.15.0 ADVISED)
|
||||||
-> http://www.libtorrent.net
|
-> http://www.libtorrent.net
|
||||||
Be careful: another library (the one used by rTorrent) uses a similar name.
|
Be careful: another library (the one used by rTorrent) uses a similar name.
|
||||||
|
|
||||||
- libboost 1.34.x (libboost-filesystem, libboost-thread, libboost-date-time) + libasio
|
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
|
||||||
or
|
|
||||||
- libboost >= 1.35.x (libboost-system, libboost-filesystem, libboost-thread, libboost-date-time)
|
|
||||||
|
|
||||||
- python >= 2.3 (needed by search engine)
|
- python >= 2.3 (needed by search engine)
|
||||||
* Run time only dependency
|
* Run time only dependency
|
||||||
|
62
README.os2
@@ -1,62 +0,0 @@
|
|||||||
qBittorrent - A BitTorrent client in Qt4
|
|
||||||
------------------------------------------
|
|
||||||
|
|
||||||
This is the eComStation (OS/2) qBittorrent part of the readme. See also README for more general information.
|
|
||||||
|
|
||||||
|
|
||||||
Building qBittorrent
|
|
||||||
********************
|
|
||||||
|
|
||||||
|
|
||||||
Requirements
|
|
||||||
============
|
|
||||||
|
|
||||||
- gcc based build env (recommended gcc v4.4.2 or greater)
|
|
||||||
|
|
||||||
- Qt4 for eCS (OS/2) dev package (see http://svn.netlabs.org/qt4 for more information)
|
|
||||||
|
|
||||||
- libtorrent-rasterbar for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
|
|
||||||
|
|
||||||
- boost for eCS (OS/2) port (see http://svn.netlabs.org/ports for more information)
|
|
||||||
|
|
||||||
|
|
||||||
How to build
|
|
||||||
============
|
|
||||||
|
|
||||||
First you need to create the conf.pri file in the same dir as this readme.os2 is.
|
|
||||||
the conf.pri file has the following content:
|
|
||||||
|
|
||||||
##### conf.pri content beginn #####
|
|
||||||
PREFIX = .
|
|
||||||
BINDIR = ./bin
|
|
||||||
INCDIR = ./include
|
|
||||||
LIBDIR = ./lib
|
|
||||||
DATADIR = ./share
|
|
||||||
|
|
||||||
CONFIG += staticlib
|
|
||||||
INCLUDEPATH += x:/trees/libtorrent/trunk/include
|
|
||||||
LIBS += -Lx:/trees/libtorrent/trunk/src/.libs \
|
|
||||||
-Lx:/trees/boost/trunk/stage/lib \
|
|
||||||
-Lx:/trees/openssl \
|
|
||||||
-Lx:/extras/lib
|
|
||||||
##### conf.pri content end #####
|
|
||||||
|
|
||||||
Of course all the above path references have to be adjusted to your build env.
|
|
||||||
|
|
||||||
It should now be easy to build qBittorrent:
|
|
||||||
|
|
||||||
Simply type:
|
|
||||||
$ qmake
|
|
||||||
|
|
||||||
Followed by:
|
|
||||||
$ make
|
|
||||||
|
|
||||||
If all works fine you should get a working qbittorrent executable.
|
|
||||||
|
|
||||||
If you have any question regarding the eCS (OS/2) port of qBittorrent you can meet me (_diver) on IRC:
|
|
||||||
#netlabs on irc.freenode.net
|
|
||||||
|
|
||||||
------------------------------------------
|
|
||||||
Silvan Scherrer <silvan.scherrer@aroa.ch>
|
|
||||||
|
|
||||||
|
|
16
macxconf.pri
@@ -1,16 +0,0 @@
|
|||||||
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 -framework Carbon
|
|
||||||
|
|
||||||
document_icon.path = Contents/Resources
|
|
||||||
document_icon.files = Icons/qBitTorrentDocument.icns
|
|
||||||
|
|
||||||
QMAKE_BUNDLE_DATA += document_icon
|
|
||||||
ICON = Icons/qbittorrent_mac.icns
|
|
||||||
QMAKE_INFO_PLIST = Info.plist
|
|
||||||
|
|
||||||
DEFINES += WITH_GEOIP_EMBEDDED
|
|
||||||
message("On Mac OS X, GeoIP database must be embedded.")
|
|
10
os2conf.pri
@@ -1,10 +0,0 @@
|
|||||||
LIBS += -ltorrent-rasterbar \
|
|
||||||
-lboost_thread \
|
|
||||||
-lboost_system \
|
|
||||||
-lboost_filesystem \
|
|
||||||
-lssl -lcrypto -lidn -lpthread
|
|
||||||
|
|
||||||
RC_FILE = qbittorrent_os2.rc
|
|
||||||
|
|
||||||
DEFINES += WITH_GEOIP_EMBEDDED
|
|
||||||
message("On eCS(OS/2), GeoIP database must be embedded.")
|
|
199
qBittorrent.kdevelop
Normal file
@@ -0,0 +1,199 @@
|
|||||||
|
<?xml version = '1.0'?>
|
||||||
|
<kdevelop>
|
||||||
|
<general>
|
||||||
|
<author>Christophe Dumez</author>
|
||||||
|
<email>chris@qbittorrent.org</email>
|
||||||
|
<version>1.0.0</version>
|
||||||
|
<projectmanagement>KDevTrollProject</projectmanagement>
|
||||||
|
<primarylanguage>C++</primarylanguage>
|
||||||
|
<keywords>
|
||||||
|
<keyword>Qt</keyword>
|
||||||
|
</keywords>
|
||||||
|
<projectname>qBittorrent</projectname>
|
||||||
|
<ignoreparts/>
|
||||||
|
<projectdirectory>.</projectdirectory>
|
||||||
|
<absoluteprojectpath>false</absoluteprojectpath>
|
||||||
|
<description/>
|
||||||
|
<defaultencoding/>
|
||||||
|
<versioncontrol>kdevsubversion</versioncontrol>
|
||||||
|
</general>
|
||||||
|
<kdevfileview>
|
||||||
|
<groups>
|
||||||
|
<group pattern="*.cpp;*.cxx;*.h" name="Sources" />
|
||||||
|
<group pattern="*.ui" name="User Interface" />
|
||||||
|
<group pattern="*.png" name="Icons" />
|
||||||
|
<group pattern="*" name="Others" />
|
||||||
|
<hidenonprojectfiles>false</hidenonprojectfiles>
|
||||||
|
<hidenonlocation>false</hidenonlocation>
|
||||||
|
</groups>
|
||||||
|
<tree>
|
||||||
|
<hidepatterns>*.o,*.lo,CVS</hidepatterns>
|
||||||
|
<hidenonprojectfiles>false</hidenonprojectfiles>
|
||||||
|
<showvcsfields>false</showvcsfields>
|
||||||
|
</tree>
|
||||||
|
</kdevfileview>
|
||||||
|
<kdevdoctreeview>
|
||||||
|
<ignoretocs>
|
||||||
|
<toc>bash</toc>
|
||||||
|
<toc>bash_bugs</toc>
|
||||||
|
<toc>clanlib</toc>
|
||||||
|
<toc>w3c-dom-level2-html</toc>
|
||||||
|
<toc>fortran_bugs_gcc</toc>
|
||||||
|
<toc>gnome1</toc>
|
||||||
|
<toc>gnustep</toc>
|
||||||
|
<toc>gtk</toc>
|
||||||
|
<toc>gtk_bugs</toc>
|
||||||
|
<toc>haskell</toc>
|
||||||
|
<toc>haskell_bugs_ghc</toc>
|
||||||
|
<toc>java_bugs_gcc</toc>
|
||||||
|
<toc>java_bugs_sun</toc>
|
||||||
|
<toc>kde2book</toc>
|
||||||
|
<toc>opengl</toc>
|
||||||
|
<toc>pascal_bugs_fp</toc>
|
||||||
|
<toc>php</toc>
|
||||||
|
<toc>php_bugs</toc>
|
||||||
|
<toc>perl</toc>
|
||||||
|
<toc>perl_bugs</toc>
|
||||||
|
<toc>python</toc>
|
||||||
|
<toc>python_bugs</toc>
|
||||||
|
<toc>qt-kdev3</toc>
|
||||||
|
<toc>ruby</toc>
|
||||||
|
<toc>ruby_bugs</toc>
|
||||||
|
<toc>sdl</toc>
|
||||||
|
<toc>stl</toc>
|
||||||
|
<toc>w3c-svg</toc>
|
||||||
|
<toc>sw</toc>
|
||||||
|
<toc>w3c-uaag10</toc>
|
||||||
|
<toc>wxwidgets_bugs</toc>
|
||||||
|
</ignoretocs>
|
||||||
|
<ignoredoxygen>
|
||||||
|
<toc>KDE Libraries (Doxygen)</toc>
|
||||||
|
</ignoredoxygen>
|
||||||
|
</kdevdoctreeview>
|
||||||
|
<kdevdebugger>
|
||||||
|
<general>
|
||||||
|
<dbgshell/>
|
||||||
|
<gdbpath/>
|
||||||
|
<configGdbScript/>
|
||||||
|
<runShellScript/>
|
||||||
|
<runGdbScript/>
|
||||||
|
<breakonloadinglibs>true</breakonloadinglibs>
|
||||||
|
<separatetty>false</separatetty>
|
||||||
|
<floatingtoolbar>false</floatingtoolbar>
|
||||||
|
</general>
|
||||||
|
<display>
|
||||||
|
<staticmembers>false</staticmembers>
|
||||||
|
<demanglenames>true</demanglenames>
|
||||||
|
<outputradix>10</outputradix>
|
||||||
|
</display>
|
||||||
|
</kdevdebugger>
|
||||||
|
<kdevcppsupport>
|
||||||
|
<qt>
|
||||||
|
<version>4</version>
|
||||||
|
<used>true</used>
|
||||||
|
<includestyle>4</includestyle>
|
||||||
|
<designerintegration>ExternalDesigner</designerintegration>
|
||||||
|
<root>/usr/lib/qt4</root>
|
||||||
|
<qmake>/usr/bin/qmake</qmake>
|
||||||
|
<designer>/usr/bin/designer</designer>
|
||||||
|
<designerpluginpaths/>
|
||||||
|
</qt>
|
||||||
|
<references>
|
||||||
|
<pcs>automatic_%2Fhome%2Fishanarora%2Fprojects%2Fqbittorrent</pcs>
|
||||||
|
</references>
|
||||||
|
<codecompletion>
|
||||||
|
<automaticCodeCompletion>true</automaticCodeCompletion>
|
||||||
|
<automaticArgumentsHint>true</automaticArgumentsHint>
|
||||||
|
<automaticHeaderCompletion>true</automaticHeaderCompletion>
|
||||||
|
<codeCompletionDelay>250</codeCompletionDelay>
|
||||||
|
<argumentsHintDelay>400</argumentsHintDelay>
|
||||||
|
<headerCompletionDelay>250</headerCompletionDelay>
|
||||||
|
<showOnlyAccessibleItems>false</showOnlyAccessibleItems>
|
||||||
|
<completionBoxItemOrder>0</completionBoxItemOrder>
|
||||||
|
<howEvaluationContextMenu>true</howEvaluationContextMenu>
|
||||||
|
<showCommentWithArgumentHint>true</showCommentWithArgumentHint>
|
||||||
|
<statusBarTypeEvaluation>false</statusBarTypeEvaluation>
|
||||||
|
<namespaceAliases>std=_GLIBCXX_STD;__gnu_cxx=std</namespaceAliases>
|
||||||
|
<processPrimaryTypes>true</processPrimaryTypes>
|
||||||
|
<processFunctionArguments>true</processFunctionArguments>
|
||||||
|
<preProcessAllHeaders>true</preProcessAllHeaders>
|
||||||
|
<parseMissingHeadersExperimental>true</parseMissingHeadersExperimental>
|
||||||
|
<resolveIncludePathsUsingMakeExperimental>true</resolveIncludePathsUsingMakeExperimental>
|
||||||
|
<alwaysParseInBackground>true</alwaysParseInBackground>
|
||||||
|
<usePermanentCaching>true</usePermanentCaching>
|
||||||
|
<alwaysIncludeNamespaces>false</alwaysIncludeNamespaces>
|
||||||
|
<includePaths>.;</includePaths>
|
||||||
|
</codecompletion>
|
||||||
|
<creategettersetter>
|
||||||
|
<prefixGet>get</prefixGet>
|
||||||
|
<prefixSet>set</prefixSet>
|
||||||
|
<prefixVariable>m_,_</prefixVariable>
|
||||||
|
<parameterName>theValue</parameterName>
|
||||||
|
<inlineGet>true</inlineGet>
|
||||||
|
<inlineSet>true</inlineSet>
|
||||||
|
</creategettersetter>
|
||||||
|
<splitheadersource>
|
||||||
|
<enabled>false</enabled>
|
||||||
|
<synchronize>true</synchronize>
|
||||||
|
<orientation>Vertical</orientation>
|
||||||
|
</splitheadersource>
|
||||||
|
</kdevcppsupport>
|
||||||
|
<kdevfilecreate>
|
||||||
|
<filetypes/>
|
||||||
|
<useglobaltypes>
|
||||||
|
<type ext="ui" />
|
||||||
|
<type ext="cpp" />
|
||||||
|
<type ext="h" />
|
||||||
|
</useglobaltypes>
|
||||||
|
</kdevfilecreate>
|
||||||
|
<kdevtrollproject>
|
||||||
|
<general>
|
||||||
|
<activedir>src</activedir>
|
||||||
|
</general>
|
||||||
|
<run>
|
||||||
|
<directoryradio>executable</directoryradio>
|
||||||
|
<mainprogram>/home/ishanarora/projects/qbittorrent/src/qbittorrent</mainprogram>
|
||||||
|
<programargs/>
|
||||||
|
<globaldebugarguments/>
|
||||||
|
<globalcwd>/home/ishanarora/projects/qbittorrent</globalcwd>
|
||||||
|
<useglobalprogram>true</useglobalprogram>
|
||||||
|
<terminal>false</terminal>
|
||||||
|
<autocompile>true</autocompile>
|
||||||
|
<autoinstall>false</autoinstall>
|
||||||
|
<autokdesu>false</autokdesu>
|
||||||
|
<envvars/>
|
||||||
|
</run>
|
||||||
|
<make>
|
||||||
|
<abortonerror>true</abortonerror>
|
||||||
|
<runmultiplejobs>false</runmultiplejobs>
|
||||||
|
<numberofjobs>1</numberofjobs>
|
||||||
|
<dontact>false</dontact>
|
||||||
|
<makebin/>
|
||||||
|
<prio>0</prio>
|
||||||
|
<envvars/>
|
||||||
|
</make>
|
||||||
|
<qmake>
|
||||||
|
<savebehaviour>2</savebehaviour>
|
||||||
|
<replacePaths>false</replacePaths>
|
||||||
|
<disableDefaultOpts>true</disableDefaultOpts>
|
||||||
|
</qmake>
|
||||||
|
</kdevtrollproject>
|
||||||
|
<cppsupportpart>
|
||||||
|
<filetemplates>
|
||||||
|
<interfacesuffix>.h</interfacesuffix>
|
||||||
|
<implementationsuffix>.cpp</implementationsuffix>
|
||||||
|
</filetemplates>
|
||||||
|
</cppsupportpart>
|
||||||
|
<ctagspart>
|
||||||
|
<customArguments/>
|
||||||
|
<customTagfilePath>/home/ishanarora/projects/qbittorrent/tags</customTagfilePath>
|
||||||
|
<activeTagsFiles/>
|
||||||
|
</ctagspart>
|
||||||
|
<kdevdocumentation>
|
||||||
|
<projectdoc>
|
||||||
|
<docsystem/>
|
||||||
|
<docurl/>
|
||||||
|
<usermanualurl/>
|
||||||
|
</projectdoc>
|
||||||
|
</kdevdocumentation>
|
||||||
|
</kdevelop>
|
@@ -19,6 +19,4 @@
|
|||||||
</dep>
|
</dep>
|
||||||
<dep type='geoip-database'>
|
<dep type='geoip-database'>
|
||||||
</dep>
|
</dep>
|
||||||
<dep type='qtsingleapplication'>
|
|
||||||
</dep>
|
|
||||||
</qconf>
|
</qconf>
|
||||||
|
@@ -2,39 +2,14 @@
|
|||||||
-----BEGIN QCMOD-----
|
-----BEGIN QCMOD-----
|
||||||
name: libboost
|
name: libboost
|
||||||
arg: with-libboost-inc=[path], Path to libboost include files
|
arg: with-libboost-inc=[path], Path to libboost include files
|
||||||
arg: with-libboost-lib=[path], Path to libboost library files
|
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
*/
|
*/
|
||||||
#include <boost/version.hpp>
|
|
||||||
class qc_libboost : public ConfObj
|
class qc_libboost : public ConfObj
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_libboost(Conf *c) : ConfObj(c) {}
|
qc_libboost(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "libboost"; }
|
QString name() const { return "libboost"; }
|
||||||
QString shortname() const { return "libboost"; }
|
QString shortname() const { return "libboost"; }
|
||||||
QString findBoostLib(QString path, QString lib) const {
|
|
||||||
QString name;
|
|
||||||
QDir libDir(path);
|
|
||||||
QStringList filters;
|
|
||||||
filters << "libboost_"+lib+"*-mt*.so";
|
|
||||||
QStringList result = libDir.entryList(filters, QDir::Files);
|
|
||||||
if(!result.empty()) {
|
|
||||||
name = result.first().mid(3);
|
|
||||||
// Remove .so
|
|
||||||
name.chop(3);
|
|
||||||
} else {
|
|
||||||
// Fall back to non -mt boost lib
|
|
||||||
filters.clear();
|
|
||||||
filters << "libboost_"+lib+"*.so";
|
|
||||||
result = libDir.entryList(filters, QDir::Files);
|
|
||||||
if(!result.empty()) {
|
|
||||||
name = result.first().mid(3);
|
|
||||||
// Remove .so
|
|
||||||
name.chop(3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return name;
|
|
||||||
}
|
|
||||||
bool exec(){
|
bool exec(){
|
||||||
QString s;
|
QString s;
|
||||||
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
s = conf->getenv("QC_WITH_LIBBOOST_INC");
|
||||||
@@ -76,43 +51,6 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
conf->addIncludePath(s);
|
conf->addIncludePath(s);
|
||||||
// Find library
|
|
||||||
s = conf->getenv("QC_WITH_LIBBOOST_LIB");
|
|
||||||
QStringList required_libs;
|
|
||||||
#if BOOST_VERSION >= 103500
|
|
||||||
required_libs << "system";
|
|
||||||
#endif
|
|
||||||
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
|
||||||
// Not required by nox
|
|
||||||
required_libs << "filesystem" << "thread";
|
|
||||||
}
|
|
||||||
QStringList libDirs;
|
|
||||||
libDirs << "/usr/lib/" << "/usr/lib64/" << "/usr/local/lib/" << "/usr/local/lib64/";
|
|
||||||
foreach(const QString& lib, required_libs) {
|
|
||||||
if(!s.isEmpty()) {
|
|
||||||
QString detected_name = findBoostLib(s, lib);
|
|
||||||
if(detected_name.isEmpty()) {
|
|
||||||
printf("Could not find boost %s library!\n", qPrintable(lib));
|
|
||||||
return false;
|
|
||||||
} else {
|
|
||||||
conf->addLib("-l"+detected_name);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
bool found = false;
|
|
||||||
foreach(const QString& libDir, libDirs) {
|
|
||||||
QString detected_name = findBoostLib(libDir, lib);
|
|
||||||
if(!detected_name.isEmpty()) {
|
|
||||||
conf->addLib("-l"+detected_name);
|
|
||||||
found = true;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if(!found) {
|
|
||||||
printf("Could not find boost %s library!\n", qPrintable(lib));
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -24,7 +24,7 @@ public:
|
|||||||
QString version, libs, other;
|
QString version, libs, other;
|
||||||
VersionMode mode = VersionMin;
|
VersionMode mode = VersionMin;
|
||||||
if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) {
|
if(conf->findPkgConfig("libnotify", mode, req_ver, &version, &incs, &libs, &other)) {
|
||||||
conf->addExtra("CONFIG += libnotify");
|
conf->addDefine("WITH_LIBNOTIFY");
|
||||||
for(int n = 0; n < incs.count(); ++n)
|
for(int n = 0; n < incs.count(); ++n)
|
||||||
conf->addIncludePath(incs[n]);
|
conf->addIncludePath(incs[n]);
|
||||||
if(!libs.isEmpty())
|
if(!libs.isEmpty())
|
||||||
@@ -40,21 +40,10 @@ public:
|
|||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
QStringList incs3;
|
|
||||||
QString req_ver3 = "2.0";
|
|
||||||
QString version3, libs3, other3;
|
|
||||||
if(conf->findPkgConfig("gtk+-2.0", mode, req_ver3, &version3, &incs3, &libs3, &other3)) {
|
|
||||||
for(int n = 0; n < incs3.count(); ++n)
|
|
||||||
conf->addIncludePath(incs3[n]);
|
|
||||||
if(!libs3.isEmpty())
|
|
||||||
conf->addLib(libs3);
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -13,15 +13,25 @@ public:
|
|||||||
bool exec(){
|
bool exec(){
|
||||||
QStringList incs;
|
QStringList incs;
|
||||||
QString req_ver = "0.14.4";
|
QString req_ver = "0.14.4";
|
||||||
|
QString adv_ver = "0.15.0";
|
||||||
QString version, libs, other;
|
QString version, libs, other;
|
||||||
VersionMode mode = VersionMin;
|
VersionMode mode = VersionMin;
|
||||||
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, req_ver, &version, &incs, &libs, &other))
|
||||||
return false;
|
return false;
|
||||||
for(int n = 0; n < incs.count(); ++n)
|
for(int n = 0; n < incs.count(); ++n)
|
||||||
conf->addIncludePath(incs[n]);
|
conf->addIncludePath(incs[n]);
|
||||||
if(conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
//if(!libs.isEmpty())
|
||||||
conf->addLib("-lcrypto");
|
// conf->addLib(libs);
|
||||||
}
|
if(!conf->findPkgConfig("libtorrent-rasterbar", mode, adv_ver, &version, &incs, &libs, &other))
|
||||||
|
printf("\nWarning: libtorrent-rasterbar v%s was detected. Some feature will be disabled because they require v%s.\n", version.toLocal8Bit().data(), adv_ver.toUtf8().data());
|
||||||
|
else
|
||||||
|
conf->addDefine("LIBTORRENT_0_15");
|
||||||
|
// Get linking parameters
|
||||||
|
QStringList params;
|
||||||
|
QByteArray staticlibs;
|
||||||
|
params << "--static" << "--libs" << "libtorrent-rasterbar";
|
||||||
|
conf->doCommand("pkg-config", params, &staticlibs);
|
||||||
|
conf->addLib(staticlibs.trimmed());
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
10
qcm/qt4.qcm
@@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
-----BEGIN QCMOD-----
|
-----BEGIN QCMOD-----
|
||||||
name: Qt >= 4.5
|
name: Qt >= 4.4
|
||||||
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
arg: disable-gui, Disable qBittorrent Graphical user interface for headless running
|
||||||
-----END QCMOD-----
|
-----END QCMOD-----
|
||||||
*/
|
*/
|
||||||
@@ -8,13 +8,13 @@ class qc_qt4 : public ConfObj
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
qc_qt4(Conf *c) : ConfObj(c) {}
|
qc_qt4(Conf *c) : ConfObj(c) {}
|
||||||
QString name() const { return "Qt >= 4.5"; }
|
QString name() const { return "Qt >= 4.4"; }
|
||||||
QString shortname() const { return "Qt 4.5"; }
|
QString shortname() const { return "Qt 4.4"; }
|
||||||
bool exec()
|
bool exec()
|
||||||
{
|
{
|
||||||
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
if(!conf->getenv("QC_DISABLE_GUI").isEmpty()) {
|
||||||
conf->addExtra("CONFIG += nox");
|
conf->addDefine("DISABLE_GUI");
|
||||||
}
|
}
|
||||||
return(QT_VERSION >= 0x040500);
|
return(QT_VERSION >= 0x040400);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@@ -1,26 +0,0 @@
|
|||||||
/*
|
|
||||||
-----BEGIN QCMOD-----
|
|
||||||
name: libboost
|
|
||||||
arg: with-qtsingleapplication=[system|shipped], Use the shipped qtsingleapplication library or the system one
|
|
||||||
-----END QCMOD-----
|
|
||||||
*/
|
|
||||||
class qc_qtsingleapplication : public ConfObj
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
qc_qtsingleapplication(Conf *c) : ConfObj(c) {}
|
|
||||||
QString name() const { return "qtsingleapplication library"; }
|
|
||||||
QString shortname() const { return "qtsingleapplication"; }
|
|
||||||
|
|
||||||
bool exec(){
|
|
||||||
QString s;
|
|
||||||
s = conf->getenv("QC_WITH_QTSINGLEAPPLICATION");
|
|
||||||
if(s.compare("system", Qt::CaseInsensitive) == 0) {
|
|
||||||
// System
|
|
||||||
conf->addExtra("CONFIG += usesystemqtsingleapplication");
|
|
||||||
printf(" [system] ");
|
|
||||||
} else {
|
|
||||||
printf(" [shipped] ");
|
|
||||||
}
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
};
|
|
@@ -37,10 +37,13 @@
|
|||||||
#include "ui_mainwindow.h"
|
#include "ui_mainwindow.h"
|
||||||
#include "qtorrenthandle.h"
|
#include "qtorrenthandle.h"
|
||||||
|
|
||||||
class QBtSession;
|
enum TabIndex{TAB_TRANSFER, TAB_SEARCH, TAB_RSS};
|
||||||
|
|
||||||
|
class Bittorrent;
|
||||||
class QTimer;
|
class QTimer;
|
||||||
class downloadFromURL;
|
class downloadFromURL;
|
||||||
class SearchEngine;
|
class SearchEngine;
|
||||||
|
class QLocalServer;
|
||||||
class QCloseEvent;
|
class QCloseEvent;
|
||||||
class RSSImp;
|
class RSSImp;
|
||||||
class QShortcut;
|
class QShortcut;
|
||||||
@@ -54,24 +57,19 @@ class PropertiesWidget;
|
|||||||
class StatusBar;
|
class StatusBar;
|
||||||
class consoleDlg;
|
class consoleDlg;
|
||||||
class about;
|
class about;
|
||||||
class TorrentCreatorDlg;
|
class createtorrent;
|
||||||
class downloadFromURL;
|
class downloadFromURL;
|
||||||
class HidableTabWidget;
|
|
||||||
class LineEdit;
|
|
||||||
class QFileSystemWatcher;
|
|
||||||
|
|
||||||
class MainWindow : public QMainWindow, private Ui::MainWindow{
|
class GUI : public QMainWindow, private Ui::MainWindow{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
// Construct / Destruct
|
// Construct / Destruct
|
||||||
MainWindow(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
||||||
~MainWindow();
|
~GUI();
|
||||||
// Methods
|
// Methods
|
||||||
QWidget* getCurrentTabWidget() const;
|
int getCurrentTabIndex() const;
|
||||||
TransferListWidget* getTransferList() const { return transferList; }
|
TransferListWidget* getTransferList() const { return transferList; }
|
||||||
QMenu* getTrayIconMenu();
|
|
||||||
PropertiesWidget *getProperties() const { return properties; }
|
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void trackerAuthenticationRequired(QTorrentHandle& h);
|
void trackerAuthenticationRequired(QTorrentHandle& h);
|
||||||
@@ -79,8 +77,6 @@ public slots:
|
|||||||
void showNotificationBaloon(QString title, QString msg) const;
|
void showNotificationBaloon(QString title, QString msg) const;
|
||||||
void downloadFromURLList(const QStringList& urls);
|
void downloadFromURLList(const QStringList& urls);
|
||||||
void updateAltSpeedsBtn(bool alternative);
|
void updateAltSpeedsBtn(bool alternative);
|
||||||
void updateNbTorrents();
|
|
||||||
void deleteBTSession();
|
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
// GUI related slots
|
// GUI related slots
|
||||||
@@ -92,6 +88,8 @@ protected slots:
|
|||||||
void on_actionWebsite_triggered() const;
|
void on_actionWebsite_triggered() const;
|
||||||
void on_actionBugReport_triggered() const;
|
void on_actionBugReport_triggered() const;
|
||||||
void on_actionShow_console_triggered();
|
void on_actionShow_console_triggered();
|
||||||
|
void readParamsOnSocket();
|
||||||
|
void acceptConnection();
|
||||||
void balloonClicked();
|
void balloonClicked();
|
||||||
void writeSettings();
|
void writeSettings();
|
||||||
void readSettings();
|
void readSettings();
|
||||||
@@ -101,11 +99,6 @@ protected slots:
|
|||||||
void handleDownloadFromUrlFailure(QString, QString) const;
|
void handleDownloadFromUrlFailure(QString, QString) const;
|
||||||
void createSystrayDelayed();
|
void createSystrayDelayed();
|
||||||
void tab_changed(int);
|
void tab_changed(int);
|
||||||
void on_actionLock_qBittorrent_triggered();
|
|
||||||
void defineUILockPassword();
|
|
||||||
bool unlockUI();
|
|
||||||
void notifyOfUpdate(QString);
|
|
||||||
void showConnectionSettings();
|
|
||||||
// Keyboard shortcuts
|
// Keyboard shortcuts
|
||||||
void createKeyboardShortcuts();
|
void createKeyboardShortcuts();
|
||||||
void displayTransferTab() const;
|
void displayTransferTab() const;
|
||||||
@@ -118,54 +111,44 @@ protected slots:
|
|||||||
void on_actionOpen_triggered();
|
void on_actionOpen_triggered();
|
||||||
void updateGUI();
|
void updateGUI();
|
||||||
void loadPreferences(bool configure_session=true);
|
void loadPreferences(bool configure_session=true);
|
||||||
void processParams(const QString& params);
|
|
||||||
void processParams(const QStringList& params);
|
void processParams(const QStringList& params);
|
||||||
void addTorrent(QString path);
|
void addTorrent(QString path);
|
||||||
void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker);
|
void addUnauthenticatedTracker(const QPair<QTorrentHandle,QString> &tracker);
|
||||||
void processDownloadedFiles(QString path, QString url);
|
void processDownloadedFiles(QString path, QString url);
|
||||||
void finishedTorrent(QTorrentHandle& h) const;
|
void finishedTorrent(QTorrentHandle& h) const;
|
||||||
void askRecursiveTorrentDownloadConfirmation(QTorrentHandle &h);
|
|
||||||
// Options slots
|
// Options slots
|
||||||
void on_actionOptions_triggered();
|
void on_actionOptions_triggered();
|
||||||
void optionsSaved();
|
void optionsSaved();
|
||||||
// HTTP slots
|
// HTTP slots
|
||||||
void on_actionDownload_from_URL_triggered();
|
void on_actionDownload_from_URL_triggered();
|
||||||
#if defined(Q_WS_WIN) || defined(Q_WS_MAC)
|
|
||||||
void handleUpdateCheckFinished(bool update_available, QString new_version);
|
|
||||||
void handleUpdateInstalled(QString error_msg);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void closeEvent(QCloseEvent *);
|
void closeEvent(QCloseEvent *);
|
||||||
void showEvent(QShowEvent *);
|
void showEvent(QShowEvent *);
|
||||||
bool event(QEvent * event);
|
bool event(QEvent * event);
|
||||||
void displayRSSTab(bool enable);
|
void displayRSSTab(bool enable);
|
||||||
void displaySearchTab(bool enable);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QFileSystemWatcher *executable_watcher;
|
|
||||||
// Bittorrent
|
// Bittorrent
|
||||||
QBtSession *BTSession;
|
Bittorrent *BTSession;
|
||||||
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
|
QList<QPair<QTorrentHandle,QString> > unauthenticated_trackers; // Still needed?
|
||||||
// GUI related
|
// GUI related
|
||||||
QTimer *guiUpdater;
|
QTimer *guiUpdater;
|
||||||
HidableTabWidget *tabs;
|
QTabWidget *tabs;
|
||||||
StatusBar *status_bar;
|
StatusBar *status_bar;
|
||||||
QPointer<options_imp> options;
|
QPointer<options_imp> options;
|
||||||
QPointer<consoleDlg> console;
|
QPointer<consoleDlg> console;
|
||||||
QPointer<about> aboutDlg;
|
QPointer<about> aboutDlg;
|
||||||
QPointer<TorrentCreatorDlg> createTorrentDlg;
|
QPointer<createtorrent> createTorrentDlg;
|
||||||
QPointer<downloadFromURL> downloadFromURLDialog;
|
QPointer<downloadFromURL> downloadFromURLDialog;
|
||||||
QPointer<QSystemTrayIcon> systrayIcon;
|
QPointer<QSystemTrayIcon> systrayIcon;
|
||||||
QPointer<QTimer> systrayCreator;
|
QPointer<QTimer> systrayCreator;
|
||||||
QPointer<QMenu> myTrayIconMenu;
|
QMenu *myTrayIconMenu;
|
||||||
TransferListWidget *transferList;
|
TransferListWidget *transferList;
|
||||||
TransferListFiltersWidget *transferListFilters;
|
TransferListFiltersWidget *transferListFilters;
|
||||||
PropertiesWidget *properties;
|
PropertiesWidget *properties;
|
||||||
bool displaySpeedInTitle;
|
bool displaySpeedInTitle;
|
||||||
bool force_exit;
|
bool force_exit;
|
||||||
bool ui_locked;
|
|
||||||
LineEdit *search_filter;
|
|
||||||
// Keyboard shortcuts
|
// Keyboard shortcuts
|
||||||
QShortcut *switchSearchShortcut;
|
QShortcut *switchSearchShortcut;
|
||||||
QShortcut *switchSearchShortcut2;
|
QShortcut *switchSearchShortcut2;
|
||||||
@@ -176,21 +159,12 @@ private:
|
|||||||
QAction *prioSeparator2;
|
QAction *prioSeparator2;
|
||||||
QSplitter *hSplitter;
|
QSplitter *hSplitter;
|
||||||
QSplitter *vSplitter;
|
QSplitter *vSplitter;
|
||||||
QMenu *lockMenu;
|
|
||||||
// Search
|
// Search
|
||||||
QPointer<SearchEngine> searchEngine;
|
SearchEngine *searchEngine;
|
||||||
// RSS
|
// RSS
|
||||||
QPointer<RSSImp> rssWidget;
|
QPointer<RSSImp> rssWidget;
|
||||||
|
// Misc
|
||||||
private slots:
|
QLocalServer *localServer;
|
||||||
void on_actionSearch_engine_triggered();
|
|
||||||
void on_actionRSS_Reader_triggered();
|
|
||||||
void on_actionSpeed_in_title_bar_triggered();
|
|
||||||
void on_actionTop_tool_bar_triggered();
|
|
||||||
void on_actionShutdown_when_downloads_complete_triggered();
|
|
||||||
void on_actionShutdown_qBittorrent_when_downloads_complete_triggered();
|
|
||||||
void on_action_Import_Torrent_triggered();
|
|
||||||
void on_actionDonate_money_triggered();
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
Before Width: | Height: | Size: 322 B |
BIN
src/Icons/L.gif
Before Width: | Height: | Size: 66 B |
Before Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 408 B |
Before Width: | Height: | Size: 604 B |
Before Width: | Height: | Size: 591 B |
Before Width: | Height: | Size: 643 B |
Before Width: | Height: | Size: 600 B |
BIN
src/Icons/flags/algeria.png
Normal file
After Width: | Height: | Size: 473 B |
Before Width: | Height: | Size: 497 B |
Before Width: | Height: | Size: 488 B |
Before Width: | Height: | Size: 428 B |
Before Width: | Height: | Size: 506 B |
BIN
src/Icons/flags/argentina.png
Normal file
After Width: | Height: | Size: 308 B |
Before Width: | Height: | Size: 647 B |
Before Width: | Height: | Size: 403 B |