- Moved everything to trunk to create a stable branch
1
AUTHORS
Normal file
|
@ -0,0 +1 @@
|
||||||
|
Christophe Dumez <chris@qbittorrent.org>
|
340
COPYING
Normal file
|
@ -0,0 +1,340 @@
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
Version 2, June 1991
|
||||||
|
|
||||||
|
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
|
||||||
|
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
Everyone is permitted to copy and distribute verbatim copies
|
||||||
|
of this license document, but changing it is not allowed.
|
||||||
|
|
||||||
|
Preamble
|
||||||
|
|
||||||
|
The licenses for most software are designed to take away your
|
||||||
|
freedom to share and change it. By contrast, the GNU General Public
|
||||||
|
License is intended to guarantee your freedom to share and change free
|
||||||
|
software--to make sure the software is free for all its users. This
|
||||||
|
General Public License applies to most of the Free Software
|
||||||
|
Foundation's software and to any other program whose authors commit to
|
||||||
|
using it. (Some other Free Software Foundation software is covered by
|
||||||
|
the GNU Library General Public License instead.) You can apply it to
|
||||||
|
your programs, too.
|
||||||
|
|
||||||
|
When we speak of free software, we are referring to freedom, not
|
||||||
|
price. Our General Public Licenses are designed to make sure that you
|
||||||
|
have the freedom to distribute copies of free software (and charge for
|
||||||
|
this service if you wish), that you receive source code or can get it
|
||||||
|
if you want it, that you can change the software or use pieces of it
|
||||||
|
in new free programs; and that you know you can do these things.
|
||||||
|
|
||||||
|
To protect your rights, we need to make restrictions that forbid
|
||||||
|
anyone to deny you these rights or to ask you to surrender the rights.
|
||||||
|
These restrictions translate to certain responsibilities for you if you
|
||||||
|
distribute copies of the software, or if you modify it.
|
||||||
|
|
||||||
|
For example, if you distribute copies of such a program, whether
|
||||||
|
gratis or for a fee, you must give the recipients all the rights that
|
||||||
|
you have. You must make sure that they, too, receive or can get the
|
||||||
|
source code. And you must show them these terms so they know their
|
||||||
|
rights.
|
||||||
|
|
||||||
|
We protect your rights with two steps: (1) copyright the software, and
|
||||||
|
(2) offer you this license which gives you legal permission to copy,
|
||||||
|
distribute and/or modify the software.
|
||||||
|
|
||||||
|
Also, for each author's protection and ours, we want to make certain
|
||||||
|
that everyone understands that there is no warranty for this free
|
||||||
|
software. If the software is modified by someone else and passed on, we
|
||||||
|
want its recipients to know that what they have is not the original, so
|
||||||
|
that any problems introduced by others will not reflect on the original
|
||||||
|
authors' reputations.
|
||||||
|
|
||||||
|
Finally, any free program is threatened constantly by software
|
||||||
|
patents. We wish to avoid the danger that redistributors of a free
|
||||||
|
program will individually obtain patent licenses, in effect making the
|
||||||
|
program proprietary. To prevent this, we have made it clear that any
|
||||||
|
patent must be licensed for everyone's free use or not licensed at all.
|
||||||
|
|
||||||
|
The precise terms and conditions for copying, distribution and
|
||||||
|
modification follow.
|
||||||
|
|
||||||
|
GNU GENERAL PUBLIC LICENSE
|
||||||
|
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||||
|
|
||||||
|
0. This License applies to any program or other work which contains
|
||||||
|
a notice placed by the copyright holder saying it may be distributed
|
||||||
|
under the terms of this General Public License. The "Program", below,
|
||||||
|
refers to any such program or work, and a "work based on the Program"
|
||||||
|
means either the Program or any derivative work under copyright law:
|
||||||
|
that is to say, a work containing the Program or a portion of it,
|
||||||
|
either verbatim or with modifications and/or translated into another
|
||||||
|
language. (Hereinafter, translation is included without limitation in
|
||||||
|
the term "modification".) Each licensee is addressed as "you".
|
||||||
|
|
||||||
|
Activities other than copying, distribution and modification are not
|
||||||
|
covered by this License; they are outside its scope. The act of
|
||||||
|
running the Program is not restricted, and the output from the Program
|
||||||
|
is covered only if its contents constitute a work based on the
|
||||||
|
Program (independent of having been made by running the Program).
|
||||||
|
Whether that is true depends on what the Program does.
|
||||||
|
|
||||||
|
1. You may copy and distribute verbatim copies of the Program's
|
||||||
|
source code as you receive it, in any medium, provided that you
|
||||||
|
conspicuously and appropriately publish on each copy an appropriate
|
||||||
|
copyright notice and disclaimer of warranty; keep intact all the
|
||||||
|
notices that refer to this License and to the absence of any warranty;
|
||||||
|
and give any other recipients of the Program a copy of this License
|
||||||
|
along with the Program.
|
||||||
|
|
||||||
|
You may charge a fee for the physical act of transferring a copy, and
|
||||||
|
you may at your option offer warranty protection in exchange for a fee.
|
||||||
|
|
||||||
|
2. You may modify your copy or copies of the Program or any portion
|
||||||
|
of it, thus forming a work based on the Program, and copy and
|
||||||
|
distribute such modifications or work under the terms of Section 1
|
||||||
|
above, provided that you also meet all of these conditions:
|
||||||
|
|
||||||
|
a) You must cause the modified files to carry prominent notices
|
||||||
|
stating that you changed the files and the date of any change.
|
||||||
|
|
||||||
|
b) You must cause any work that you distribute or publish, that in
|
||||||
|
whole or in part contains or is derived from the Program or any
|
||||||
|
part thereof, to be licensed as a whole at no charge to all third
|
||||||
|
parties under the terms of this License.
|
||||||
|
|
||||||
|
c) If the modified program normally reads commands interactively
|
||||||
|
when run, you must cause it, when started running for such
|
||||||
|
interactive use in the most ordinary way, to print or display an
|
||||||
|
announcement including an appropriate copyright notice and a
|
||||||
|
notice that there is no warranty (or else, saying that you provide
|
||||||
|
a warranty) and that users may redistribute the program under
|
||||||
|
these conditions, and telling the user how to view a copy of this
|
||||||
|
License. (Exception: if the Program itself is interactive but
|
||||||
|
does not normally print such an announcement, your work based on
|
||||||
|
the Program is not required to print an announcement.)
|
||||||
|
|
||||||
|
These requirements apply to the modified work as a whole. If
|
||||||
|
identifiable sections of that work are not derived from the Program,
|
||||||
|
and can be reasonably considered independent and separate works in
|
||||||
|
themselves, then this License, and its terms, do not apply to those
|
||||||
|
sections when you distribute them as separate works. But when you
|
||||||
|
distribute the same sections as part of a whole which is a work based
|
||||||
|
on the Program, the distribution of the whole must be on the terms of
|
||||||
|
this License, whose permissions for other licensees extend to the
|
||||||
|
entire whole, and thus to each and every part regardless of who wrote it.
|
||||||
|
|
||||||
|
Thus, it is not the intent of this section to claim rights or contest
|
||||||
|
your rights to work written entirely by you; rather, the intent is to
|
||||||
|
exercise the right to control the distribution of derivative or
|
||||||
|
collective works based on the Program.
|
||||||
|
|
||||||
|
In addition, mere aggregation of another work not based on the Program
|
||||||
|
with the Program (or with a work based on the Program) on a volume of
|
||||||
|
a storage or distribution medium does not bring the other work under
|
||||||
|
the scope of this License.
|
||||||
|
|
||||||
|
3. You may copy and distribute the Program (or a work based on it,
|
||||||
|
under Section 2) in object code or executable form under the terms of
|
||||||
|
Sections 1 and 2 above provided that you also do one of the following:
|
||||||
|
|
||||||
|
a) Accompany it with the complete corresponding machine-readable
|
||||||
|
source code, which must be distributed under the terms of Sections
|
||||||
|
1 and 2 above on a medium customarily used for software interchange; or,
|
||||||
|
|
||||||
|
b) Accompany it with a written offer, valid for at least three
|
||||||
|
years, to give any third party, for a charge no more than your
|
||||||
|
cost of physically performing source distribution, a complete
|
||||||
|
machine-readable copy of the corresponding source code, to be
|
||||||
|
distributed under the terms of Sections 1 and 2 above on a medium
|
||||||
|
customarily used for software interchange; or,
|
||||||
|
|
||||||
|
c) Accompany it with the information you received as to the offer
|
||||||
|
to distribute corresponding source code. (This alternative is
|
||||||
|
allowed only for noncommercial distribution and only if you
|
||||||
|
received the program in object code or executable form with such
|
||||||
|
an offer, in accord with Subsection b above.)
|
||||||
|
|
||||||
|
The source code for a work means the preferred form of the work for
|
||||||
|
making modifications to it. For an executable work, complete source
|
||||||
|
code means all the source code for all modules it contains, plus any
|
||||||
|
associated interface definition files, plus the scripts used to
|
||||||
|
control compilation and installation of the executable. However, as a
|
||||||
|
special exception, the source code distributed need not include
|
||||||
|
anything that is normally distributed (in either source or binary
|
||||||
|
form) with the major components (compiler, kernel, and so on) of the
|
||||||
|
operating system on which the executable runs, unless that component
|
||||||
|
itself accompanies the executable.
|
||||||
|
|
||||||
|
If distribution of executable or object code is made by offering
|
||||||
|
access to copy from a designated place, then offering equivalent
|
||||||
|
access to copy the source code from the same place counts as
|
||||||
|
distribution of the source code, even though third parties are not
|
||||||
|
compelled to copy the source along with the object code.
|
||||||
|
|
||||||
|
4. You may not copy, modify, sublicense, or distribute the Program
|
||||||
|
except as expressly provided under this License. Any attempt
|
||||||
|
otherwise to copy, modify, sublicense or distribute the Program is
|
||||||
|
void, and will automatically terminate your rights under this License.
|
||||||
|
However, parties who have received copies, or rights, from you under
|
||||||
|
this License will not have their licenses terminated so long as such
|
||||||
|
parties remain in full compliance.
|
||||||
|
|
||||||
|
5. You are not required to accept this License, since you have not
|
||||||
|
signed it. However, nothing else grants you permission to modify or
|
||||||
|
distribute the Program or its derivative works. These actions are
|
||||||
|
prohibited by law if you do not accept this License. Therefore, by
|
||||||
|
modifying or distributing the Program (or any work based on the
|
||||||
|
Program), you indicate your acceptance of this License to do so, and
|
||||||
|
all its terms and conditions for copying, distributing or modifying
|
||||||
|
the Program or works based on it.
|
||||||
|
|
||||||
|
6. Each time you redistribute the Program (or any work based on the
|
||||||
|
Program), the recipient automatically receives a license from the
|
||||||
|
original licensor to copy, distribute or modify the Program subject to
|
||||||
|
these terms and conditions. You may not impose any further
|
||||||
|
restrictions on the recipients' exercise of the rights granted herein.
|
||||||
|
You are not responsible for enforcing compliance by third parties to
|
||||||
|
this License.
|
||||||
|
|
||||||
|
7. If, as a consequence of a court judgment or allegation of patent
|
||||||
|
infringement or for any other reason (not limited to patent issues),
|
||||||
|
conditions are imposed on you (whether by court order, agreement or
|
||||||
|
otherwise) that contradict the conditions of this License, they do not
|
||||||
|
excuse you from the conditions of this License. If you cannot
|
||||||
|
distribute so as to satisfy simultaneously your obligations under this
|
||||||
|
License and any other pertinent obligations, then as a consequence you
|
||||||
|
may not distribute the Program at all. For example, if a patent
|
||||||
|
license would not permit royalty-free redistribution of the Program by
|
||||||
|
all those who receive copies directly or indirectly through you, then
|
||||||
|
the only way you could satisfy both it and this License would be to
|
||||||
|
refrain entirely from distribution of the Program.
|
||||||
|
|
||||||
|
If any portion of this section is held invalid or unenforceable under
|
||||||
|
any particular circumstance, the balance of the section is intended to
|
||||||
|
apply and the section as a whole is intended to apply in other
|
||||||
|
circumstances.
|
||||||
|
|
||||||
|
It is not the purpose of this section to induce you to infringe any
|
||||||
|
patents or other property right claims or to contest validity of any
|
||||||
|
such claims; this section has the sole purpose of protecting the
|
||||||
|
integrity of the free software distribution system, which is
|
||||||
|
implemented by public license practices. Many people have made
|
||||||
|
generous contributions to the wide range of software distributed
|
||||||
|
through that system in reliance on consistent application of that
|
||||||
|
system; it is up to the author/donor to decide if he or she is willing
|
||||||
|
to distribute software through any other system and a licensee cannot
|
||||||
|
impose that choice.
|
||||||
|
|
||||||
|
This section is intended to make thoroughly clear what is believed to
|
||||||
|
be a consequence of the rest of this License.
|
||||||
|
|
||||||
|
8. If the distribution and/or use of the Program is restricted in
|
||||||
|
certain countries either by patents or by copyrighted interfaces, the
|
||||||
|
original copyright holder who places the Program under this License
|
||||||
|
may add an explicit geographical distribution limitation excluding
|
||||||
|
those countries, so that distribution is permitted only in or among
|
||||||
|
countries not thus excluded. In such case, this License incorporates
|
||||||
|
the limitation as if written in the body of this License.
|
||||||
|
|
||||||
|
9. The Free Software Foundation may publish revised and/or new versions
|
||||||
|
of the General Public License from time to time. Such new versions will
|
||||||
|
be similar in spirit to the present version, but may differ in detail to
|
||||||
|
address new problems or concerns.
|
||||||
|
|
||||||
|
Each version is given a distinguishing version number. If the Program
|
||||||
|
specifies a version number of this License which applies to it and "any
|
||||||
|
later version", you have the option of following the terms and conditions
|
||||||
|
either of that version or of any later version published by the Free
|
||||||
|
Software Foundation. If the Program does not specify a version number of
|
||||||
|
this License, you may choose any version ever published by the Free Software
|
||||||
|
Foundation.
|
||||||
|
|
||||||
|
10. If you wish to incorporate parts of the Program into other free
|
||||||
|
programs whose distribution conditions are different, write to the author
|
||||||
|
to ask for permission. For software which is copyrighted by the Free
|
||||||
|
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||||
|
make exceptions for this. Our decision will be guided by the two goals
|
||||||
|
of preserving the free status of all derivatives of our free software and
|
||||||
|
of promoting the sharing and reuse of software generally.
|
||||||
|
|
||||||
|
NO WARRANTY
|
||||||
|
|
||||||
|
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||||
|
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||||
|
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||||
|
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||||
|
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||||
|
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||||
|
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||||
|
REPAIR OR CORRECTION.
|
||||||
|
|
||||||
|
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||||
|
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||||
|
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||||
|
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||||
|
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||||
|
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||||
|
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||||
|
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
How to Apply These Terms to Your New Programs
|
||||||
|
|
||||||
|
If you develop a new program, and you want it to be of the greatest
|
||||||
|
possible use to the public, the best way to achieve this is to make it
|
||||||
|
free software which everyone can redistribute and change under these terms.
|
||||||
|
|
||||||
|
To do so, attach the following notices to the program. It is safest
|
||||||
|
to attach them to the start of each source file to most effectively
|
||||||
|
convey the exclusion of warranty; and each file should have at least
|
||||||
|
the "copyright" line and a pointer to where the full notice is found.
|
||||||
|
|
||||||
|
<one line to give the program's name and a brief idea of what it does.>
|
||||||
|
Copyright (C) <year> <name of author>
|
||||||
|
|
||||||
|
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 St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
|
||||||
|
Also add information on how to contact you by electronic and paper mail.
|
||||||
|
|
||||||
|
If the program is interactive, make it output a short notice like this
|
||||||
|
when it starts in an interactive mode:
|
||||||
|
|
||||||
|
Gnomovision version 69, Copyright (C) year name of author
|
||||||
|
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||||
|
This is free software, and you are welcome to redistribute it
|
||||||
|
under certain conditions; type `show c' for details.
|
||||||
|
|
||||||
|
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||||
|
parts of the General Public License. Of course, the commands you use may
|
||||||
|
be called something other than `show w' and `show c'; they could even be
|
||||||
|
mouse-clicks or menu items--whatever suits your program.
|
||||||
|
|
||||||
|
You should also get your employer (if you work as a programmer) or your
|
||||||
|
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||||
|
necessary. Here is a sample; alter the names:
|
||||||
|
|
||||||
|
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||||
|
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||||
|
|
||||||
|
<signature of Ty Coon>, 1 April 1989
|
||||||
|
Ty Coon, President of Vice
|
||||||
|
|
||||||
|
This General Public License does not permit incorporating your program into
|
||||||
|
proprietary programs. If your program is a subroutine library, you may
|
||||||
|
consider it more useful to permit linking proprietary applications with the
|
||||||
|
library. If this is what you want to do, use the GNU Library General
|
||||||
|
Public License instead of this License.
|
172
Changelog
Normal file
|
@ -0,0 +1,172 @@
|
||||||
|
* Unknown - Christophe Dumez <chris@qbittorrent.org> - v0.7.0
|
||||||
|
- FEATURE: Based on new libtorrent v0.11 (a lot of bugfixes, new features)
|
||||||
|
- FEATURE: Added DHT (Trackerless) support
|
||||||
|
- FEATURE: Added support for incremental download (slower but good for previewing)
|
||||||
|
- FEATURE: Audio/Video File previewing while downloading
|
||||||
|
- FEATURE: Tracker authentication support
|
||||||
|
- FEATURE: Defined qBittorrent fingerprint so that it doesn't use libtorrent fingerprint anymore
|
||||||
|
- FEATURE: Display an explicit error message when a download from url fails
|
||||||
|
- FEATURE: Allow the download multiple torrents from their url at once
|
||||||
|
- FEATURE: New context menu on main window (Add, Start all, Pause all, Exit...)
|
||||||
|
- FEATURE: Now supports two new search engines (BtJunkie, MegaNova)
|
||||||
|
- FEATURE: Rewritten search engine plugin (by fab31)
|
||||||
|
- FEATURE: Rewritten parts of the download/search lists to improve performance
|
||||||
|
- FEATURE: Individual share ratio is now displayed in each torrent properties.
|
||||||
|
- BUGFIX: Fixed a memory leak when pressing OK in torrent properties
|
||||||
|
- BUGFIX: Improved code so that GUI never freeze during downloading from an url
|
||||||
|
- BUGFIX: Forgot to remove torrent file from scanned directory when "Clear Finished torrents" is enabled
|
||||||
|
- BUGFIX: Fixed multiple selection in torrent content tab
|
||||||
|
- BUGFIX: Improved configure file (detects libboost-thread)
|
||||||
|
- BUGFIX: Fixed trayicon on some window managers (Gnome, XFCE)
|
||||||
|
- BUGFIX: Always set maximum limit for connection depending on system
|
||||||
|
- BUGFIX: Fixed Memory leaks in search engine
|
||||||
|
- BUGFIX: Remove torrent file from scanned directory if it is already in download list
|
||||||
|
- BUGFIX: Fixed possible segfault on loading due to columns size loading
|
||||||
|
- COSMETIC: Redesigned download from url dialog
|
||||||
|
- COSMETIC: Added a message to warn user that we started download from an url
|
||||||
|
- COSMETIC: Renamed main tab from "Downloads" to "Transfers"
|
||||||
|
- COSMETIC: Improved icons
|
||||||
|
|
||||||
|
* Fri Aug 24 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.6.1
|
||||||
|
- BUGFIX: Fixed possible segfaults when using context menus
|
||||||
|
- BUGFIX: Cleanup up context menus code
|
||||||
|
- BUGFIX: Use best gzip compressing for man page
|
||||||
|
|
||||||
|
* Wed Aug 22 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.6.0
|
||||||
|
- FEATURE: Rewritten the download list from scratch (more flexible)
|
||||||
|
- FEATURE: Rewritten the search results list from scratch (more flexible)
|
||||||
|
- FEATURE: Rewritten the torrent properties list from scratch (more flexible)
|
||||||
|
- FEATURE: Improved and cleaned up search engine code
|
||||||
|
- FEATURE: Search results are now displayed in real time (not sequentially)
|
||||||
|
- FEATURE: Added two command lines parameters (--version, --help)
|
||||||
|
- FEATURE: Added a popup menu for download list
|
||||||
|
- FEATURE: Double-click on an item now toggles the paused state of a download
|
||||||
|
- FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon)
|
||||||
|
- FEATURE: Allow to toggle selected state of a file within a torrent using double-click
|
||||||
|
- FEATURE: Remember columns width in download and search results lists
|
||||||
|
- BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile)
|
||||||
|
- BUGFIX: Fixed ETA calculation when downloading while connecting
|
||||||
|
- BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before)
|
||||||
|
- BUGFIX: Code cleanup & optimization
|
||||||
|
- BUGFIX: Fixed sorting in download list
|
||||||
|
- BUGFIX: Fixed sorting in search results list
|
||||||
|
- BUGFIX: Fixed Parameters passing between instances
|
||||||
|
- BUGFIX: Fixed missing icon for clear action in infoBar popup menu
|
||||||
|
- BUGFIX: Fixed truncated lines in search results
|
||||||
|
- BUGFIX: Don't refresh download list when user is in search tab (save CPU)
|
||||||
|
- BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU)
|
||||||
|
- BUGFIX: Save selected search engines only when they have changed (faster program exit)
|
||||||
|
- COSMETIC: Increased icon size in toolbar from 24px to 32px
|
||||||
|
- COSMETIC: Display a progress bar to visualize each download progress
|
||||||
|
- COSMETIC: Size of each result in search are displayed in user friendly units
|
||||||
|
- COSMETIC: Display a progress bar to visualize each file progress within a torrent
|
||||||
|
- COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense)
|
||||||
|
- COSMETIC: Improved layout of torrent properties window when maximized
|
||||||
|
- COSMETIC: Now number of search results is updated in real time
|
||||||
|
- COSMETIC: Remember last window size
|
||||||
|
- COSMETIC: Improved splash screen look
|
||||||
|
- COSMETIC: Improved default width of columns in download and search results lists
|
||||||
|
|
||||||
|
* Wed Aug 2 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.5.0
|
||||||
|
- FEATURE: Improved "Download from url" feature (now supports https, ftp & redirections)
|
||||||
|
- FEATURE: Added a torrent creation tool
|
||||||
|
- FEATURE: Display progress for each file within a torrent
|
||||||
|
- FEATURE: Based on new libtorrent v0.10 (lot of improvements)
|
||||||
|
- FEATURE: Now possible to clear log textbox (popup menu)
|
||||||
|
- FEATURE: Added two search engines (isohunt, torrentreactor)
|
||||||
|
- FEATURE: Now Display share ratio on main window
|
||||||
|
- FEATURE: Use OSD (On Screen Display) when a download or a search is finished
|
||||||
|
- FEATURE: Allow only one instance of qBittorrent (and add new parameters to download list)
|
||||||
|
- FEATURE: Remember last selected search engines in search tab
|
||||||
|
- FEATURE: Improved search engines status output (Aborted, timed out, finished, no results)
|
||||||
|
- FEATURE: qBittorrent can now update search plugin from qbittorrent.org
|
||||||
|
- I18N: Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages
|
||||||
|
- BUGFIX: Fixed ThePirateBay parser for search engine (website had changed)
|
||||||
|
- BUGFIX: Fixed filenames for results from ThePirateBay search engine
|
||||||
|
- BUGFIX: Fixed unicode support for ThePirateBay search engine
|
||||||
|
- BUGFIX: Now search results are sorted by seeds
|
||||||
|
- BUGFIX: Overwrite nova.py search plugin only if it is outdated
|
||||||
|
- BUGFIX: Fixed possible division by 0 in ETA calculation
|
||||||
|
- BUGFIX: Improved ETA calculation precision
|
||||||
|
- BUGFIX: Fixed default tab in options
|
||||||
|
- BUGFIX: When saving options, reconnect only when listening ports changed
|
||||||
|
- COSMETIC: qBittorrent has now its own new logo
|
||||||
|
- COSMETIC: Display status "downloading" if DL Speed > 0 (even when tracker is down)
|
||||||
|
- COSMETIC: Added a splashscreen
|
||||||
|
- COSMETIC: qBittorrent has new cute icons
|
||||||
|
- COSMETIC: Display number of results in search tab
|
||||||
|
- COSMETIC: Added icons for each item in download list according to its state
|
||||||
|
- COSMETIC: Redesigned Locale settings
|
||||||
|
- COSMETIC: Fixed search engines names width (were cut on the right)
|
||||||
|
- COSMETIC: Moved search engines to the left of the window (better ui)
|
||||||
|
|
||||||
|
* Fri Jun 23 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.4.1
|
||||||
|
- Not counting "protocol chatter" in UP/DL speed anymore
|
||||||
|
- Download speed is now 0 when download is finished
|
||||||
|
- Paused torrents remain paused when qbittorrent is re-started
|
||||||
|
- Added option "go to systray when minimizing"
|
||||||
|
- Added option "Clear finished downloads on exit"
|
||||||
|
- Added option "Ask user for confirmation on exit"
|
||||||
|
- Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green)
|
||||||
|
- Fixed Search window layout on maximizing
|
||||||
|
- Fixed a bug that caused upload limit not to be always applied
|
||||||
|
- Added Bulgarian translation
|
||||||
|
- Updated Translations
|
||||||
|
- Code optimization
|
||||||
|
|
||||||
|
* Tue Jun 13 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.4.0
|
||||||
|
- Added a search engine (supports Mininova & thepiratebay websites)
|
||||||
|
- Fixed critical bug: some options were not applied correctly to BT session
|
||||||
|
- Possibility to download a torrent file from an URL
|
||||||
|
- Added confirmation dialog on qbittorrent exit
|
||||||
|
- Enabled sorting in Download list
|
||||||
|
- Added Ukrainian translation
|
||||||
|
- Support urls as program parameters
|
||||||
|
- Added more actions to trayicon menu
|
||||||
|
- Fixed exception catching when retrieving fastresume data
|
||||||
|
- use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB)
|
||||||
|
- Iconification to systray when minimizing
|
||||||
|
- Code Cleanup & optimization
|
||||||
|
|
||||||
|
* Tue Jun 06 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.3.1
|
||||||
|
- Fixed toolbar layout (spacing)
|
||||||
|
- Added Russian translation
|
||||||
|
- Resume also finished files on startup (for seeding)
|
||||||
|
- Added colors corresponding to download state
|
||||||
|
- Fixed a segfault when deleting a download (if no scan dir is set)
|
||||||
|
|
||||||
|
* Mon Jun 05 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.3
|
||||||
|
- Fixed auto-resume (worked only once)
|
||||||
|
- Fixed BT_Backup dir creation on first startup (thanks Peter)
|
||||||
|
- Now min port and max port are inverted if (min port > max port)
|
||||||
|
- Fixed memory leaks
|
||||||
|
- Added qbittorrent man page
|
||||||
|
- Allow to disable max connections limit (default is disabled)
|
||||||
|
- Disable upload limit by default
|
||||||
|
- Added Menu Entry with icon (thanks Peter)
|
||||||
|
- Restructured directory, now Makefile is in main directory (not src/)
|
||||||
|
- Updated README / INSTALL
|
||||||
|
|
||||||
|
* Fri Jun 02 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2.3
|
||||||
|
- Fixed ports checking function (user couldn't type the value he wanted)
|
||||||
|
- qBittorrent does not remove .torrent file from scanned directory anymore
|
||||||
|
- Check tracker errors list size and clear it if it becomes too big.
|
||||||
|
- Small cosmetic change
|
||||||
|
|
||||||
|
* Wed May 31 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2.2
|
||||||
|
- Fixed missing icons
|
||||||
|
|
||||||
|
* Thu May 25 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2.1
|
||||||
|
- Fixed "make install" rule
|
||||||
|
- Disabled debug mode
|
||||||
|
|
||||||
|
* Thu May 25 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.2
|
||||||
|
- Fixed a compatibility problem with some versions of qmake
|
||||||
|
- Added translations : Greek, Swedish
|
||||||
|
- Fixed Polish translation selection
|
||||||
|
- Fixed come warning because of two unexisting slots
|
||||||
|
- Improved "Apply" button behaviour in options
|
||||||
|
- Windows are now resizable
|
||||||
|
|
||||||
|
* Tue May 16 2006 - Christophe Dumez <chris@qbittorrent.org> - v0.1
|
||||||
|
- Initial release (lack features & still need a lot of improvements)
|
33
INSTALL
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
qBittorrent - A BitTorrent client in C++ / Qt4.1
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
*** Necessary if qt3 is default on your system ***
|
||||||
|
export QTDIR=/usr/include/qt4
|
||||||
|
export PATH=$QTDIR/bin:$PATH
|
||||||
|
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$QTDIR/lib
|
||||||
|
*** End ***
|
||||||
|
|
||||||
|
./configure
|
||||||
|
make && make install
|
||||||
|
qbittorrent
|
||||||
|
|
||||||
|
will install and execute qBittorrent hopefully without any problems.
|
||||||
|
|
||||||
|
Dependencies:
|
||||||
|
- Qt >= 4.1 (libqt-devel, libqtxml, libqtgui, libqtcore, libqtnetwork)
|
||||||
|
|
||||||
|
- rb_libtorrent by Arvid Norberg (>= v0.10 REQUIRED)
|
||||||
|
-> http://libtorrent.sf.net
|
||||||
|
Be carefull: another library (the one used by rtorrent) use the same name.
|
||||||
|
These are TWO different libraries and qBittorrent will only work with the one provided
|
||||||
|
on sourceforge (created by Arvid Norberg). The two libraries conflicts with each other.
|
||||||
|
|
||||||
|
- libboost: libboost-filesystem, libboost-date-time, libboost-thread, libboost-serialization
|
||||||
|
|
||||||
|
- libcurl
|
||||||
|
|
||||||
|
- python >= 2.3 (previous might work - not tested): needed by search engine.
|
||||||
|
|
||||||
|
|
||||||
|
------------------------------------------
|
||||||
|
Christophe Dumez <chris@qbittorrent.org>
|
4
NEWS
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
See Changelog
|
||||||
|
|
||||||
|
*******************************************
|
||||||
|
Christophe dumez - chris@qbittorrent.org
|
34
README
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
qBittorrent - A BitTorrent client in Qt4.1
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Description:
|
||||||
|
********************************
|
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1 that use
|
||||||
|
libtorrent (sometimes called rb_libtorrent) by Arvid Norberg.
|
||||||
|
|
||||||
|
It aims to be a good alternative to all other bittorrent clients
|
||||||
|
out there. qBittorrent is fast, stable and provides unicode
|
||||||
|
support.
|
||||||
|
|
||||||
|
Installation:
|
||||||
|
********************************
|
||||||
|
For installation follow the instructions from INSTALL file, but simple
|
||||||
|
|
||||||
|
./configure
|
||||||
|
make && make install
|
||||||
|
qbittorrent
|
||||||
|
|
||||||
|
will install and execute qBittorrent hopefully without any problems.
|
||||||
|
|
||||||
|
For more information please visit:
|
||||||
|
http://www.qbittorrent.org
|
||||||
|
|
||||||
|
Please report any bug (or feature requests) to:
|
||||||
|
http://bugs.qbittorrent.org
|
||||||
|
|
||||||
|
You can also meet me on IRC:
|
||||||
|
#qbittorrent on irc.freenode.net
|
||||||
|
|
||||||
|
------------------------------------------
|
||||||
|
Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
|
36
TODO
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
// Easy
|
||||||
|
- Write documentation
|
||||||
|
- Translations into as many languages as possible
|
||||||
|
- Improve man page
|
||||||
|
- Add more keyboard shortcuts
|
||||||
|
- Improve torrent creation tool (look & features)
|
||||||
|
|
||||||
|
// Intermediate
|
||||||
|
- Move novaUpdater to a Thread (probably use downloadThread) to prevent GUI freezing
|
||||||
|
- Port on MacOS, Windows (and create an installer for Windows) - Progressing
|
||||||
|
- Allow to prioritize files within a torrent
|
||||||
|
- Allow to prioritize torrents
|
||||||
|
- Optimize code to use less memory/cpu
|
||||||
|
- Add some transparency (menus, OSD)
|
||||||
|
- Rewrite trayicon using QSystemTrayIcon class (waiting for Qt 4.2)
|
||||||
|
- Popup when adding a torrent (Save path, select files in the torrent...) (v0.8.0?)
|
||||||
|
|
||||||
|
// Harder
|
||||||
|
- Allow user to organize the downloads into categories/folders
|
||||||
|
- Display new searches in new tabs
|
||||||
|
- Display a progress bar that really display the pieces we have (like in eMule)
|
||||||
|
|
||||||
|
// Unsure
|
||||||
|
- Move Speed/ratio to a status bar ?
|
||||||
|
- Azureus spoofing to prevent ban from trackers?
|
||||||
|
- Download from RSS?
|
||||||
|
- Encryption support (waiting for libtorrent)
|
||||||
|
- Split kernel from GUI? (would be a lot better but require some deep changes)
|
||||||
|
- Web interface?
|
||||||
|
|
||||||
|
// Before 0.7.0
|
||||||
|
- Test file previewing
|
||||||
|
- Test tracker authentication
|
||||||
|
- Wait for libtorrent v0.11 final release
|
||||||
|
- Test DHT
|
||||||
|
- Test incremental download
|
134
packaging/debian-unstable/debian/changelog
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
qbittorrent (0.6.1-1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Disabled debug mode
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Mon, 28 Aug 2006 21:22:48 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.6.1-0) unstable; urgency=low
|
||||||
|
* BUGFIX: Fixed possible segfaults when using context menus
|
||||||
|
* BUGFIX: Cleanup up context menus code
|
||||||
|
* BUGFIX: Used best gzip compressing for manpage
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 24 Aug 2006 19:53:32 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.6.0) unstable; urgency=low
|
||||||
|
* FEATURE: Rewritten the download list from scratch (more flexible)
|
||||||
|
* FEATURE: Rewritten the search results list from scratch (more flexible)
|
||||||
|
* FEATURE: Rewritten the torrent properties list from scratch (more flexible)
|
||||||
|
* FEATURE: Improved and cleaned up search engine code
|
||||||
|
* FEATURE: Search results are now displayed in real time (not sequentially)
|
||||||
|
* FEATURE: Added two command lines parameters (--version, --help)
|
||||||
|
* FEATURE: Added a popup menu for download list
|
||||||
|
* FEATURE: Double-click on an item now toggles the paused state of a download
|
||||||
|
* FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon)
|
||||||
|
* FEATURE: Allow to toggle selected state of a file within a torrent using double-click
|
||||||
|
* FEATURE: Remember columns width in download and search results lists
|
||||||
|
* BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile)
|
||||||
|
* BUGFIX: Fixed ETA calculation when downloading while connecting
|
||||||
|
* BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before)
|
||||||
|
* BUGFIX: Code cleanup & optimization
|
||||||
|
* BUGFIX: Fixed sorting in download list
|
||||||
|
* BUGFIX: Fixed sorting in search results list
|
||||||
|
* BUGFIX: Fixed Parameters passing between instances
|
||||||
|
* BUGFIX: Fixed missing icon for clear action in infoBar popup menu
|
||||||
|
* BUGFIX: Fixed truncated lines in search results
|
||||||
|
* BUGFIX: Don't refresh download list when user is in search tab (save CPU)
|
||||||
|
* BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU)
|
||||||
|
* BUGFIX: Save selected search engines only when they have changed (faster program exit)
|
||||||
|
* COSMETIC: Increased icon size in toolbar from 24px to 32px
|
||||||
|
* COSMETIC: Display a progress bar to visualize each download progress
|
||||||
|
* COSMETIC: Size of each result in search are displayed in user friendly units
|
||||||
|
* COSMETIC: Display a progress bar to visualize each file progress within a torrent
|
||||||
|
* COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense)
|
||||||
|
* COSMETIC: Improved layout of torrent properties window when maximized
|
||||||
|
* COSMETIC: Now number of search results is updated in real time
|
||||||
|
* COSMETIC: Remember last window size
|
||||||
|
* COSMETIC: Improved splash screen look
|
||||||
|
* COSMETIC: Improved default width of columns in download and search results lists
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 22 Aug 2006 10:42:37 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.5.0) unstable; urgency=low
|
||||||
|
* Improved "Download from url" feature (now supports https, ftp & redirections)
|
||||||
|
* Added a torrent creation tool
|
||||||
|
* Display progress for each file within a torrent
|
||||||
|
* Based on new libtorrent v0.10 (lot of improvements)
|
||||||
|
* Now possible to clear log textbox (popup menu)
|
||||||
|
* Added two search engines (isohunt, torrentreactor)
|
||||||
|
* Now Display share ratio on main window
|
||||||
|
* Use OSD (On Screen Display) when a download or a search is finished
|
||||||
|
* Allow only one instance of qBittorrent (and add new parameters to download list)
|
||||||
|
* Remember last selected search engines in search tab
|
||||||
|
* Improved search engines status output (Aborted, timed out, finished, no results)
|
||||||
|
* qBittorrent can now update search plugin from qbittorrent.org
|
||||||
|
* Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages
|
||||||
|
* Fixed ThePirateBay parser for search engine (website had changed)
|
||||||
|
* Fixed filenames for results from ThePirateBay search engine
|
||||||
|
* Fixed unicode support for ThePirateBay search engine
|
||||||
|
* Now search results are sorted by seeds
|
||||||
|
* Overwrite nova.py search plugin only if it is outdated
|
||||||
|
* Fixed possible division by 0 in ETA calculation
|
||||||
|
* Improved ETA calculation precision
|
||||||
|
* Fixed default tab in options
|
||||||
|
* When saving options, reconnect only when listening ports changed
|
||||||
|
* qBittorrent has now its own new logo
|
||||||
|
* Display status "downloading" if DL Speed > 0 (even when tracker is down)
|
||||||
|
* Added a splashscreen
|
||||||
|
* qBittorrent has new cute icons
|
||||||
|
* Display number of results in search tab
|
||||||
|
* Added icons for each item in download list according to its state
|
||||||
|
* Redesigned Locale settings
|
||||||
|
* Fixed search engines names width (were cut on the right)
|
||||||
|
* Moved search engines to the left of the window (better ui)
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 2 Aug 2006 19:46:32 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.4.1) unstable; urgency=low
|
||||||
|
* Not counting "protocol chatter" in UP/DL speed anymore
|
||||||
|
* Download speed is now 0 when download is finished
|
||||||
|
* Paused torrents remain paused when qbittorrent is re-started
|
||||||
|
* Added option "go to systray when minimizing"
|
||||||
|
* Added option "Clear finished downloads on exit"
|
||||||
|
* Added option "Ask user for confirmation on exit"
|
||||||
|
* Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green)
|
||||||
|
* Fixed Search window layout on maximizing
|
||||||
|
* Fixed a bug that caused upload limit not to be always applied
|
||||||
|
* Added Bulgarian translation
|
||||||
|
* Updated Translations
|
||||||
|
* Code optimization
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 22 Jun 2006 20:14:27 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.4.0) unstable; urgency=low
|
||||||
|
|
||||||
|
* Added a search engine (supports Mininova & thepiratebay websites)
|
||||||
|
* Fixed critical bug: some options were not applied correctly to BT session
|
||||||
|
* Possibility to download a torrent file from an URL
|
||||||
|
* Added confirmation dialog on qbittorrent exit
|
||||||
|
* Enabled sorting in Download list
|
||||||
|
* Added Ukrainian translation
|
||||||
|
* Support urls as program parameters
|
||||||
|
* Added more actions to trayicon menu
|
||||||
|
* Fixed exception catching when retrieving fastresume data
|
||||||
|
* use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB)
|
||||||
|
* Iconification to systray when minimizing
|
||||||
|
* Code Cleanup & optimization
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 14 Jun 2006 14:47:27 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.3.1) unstable; urgency=low
|
||||||
|
|
||||||
|
* Fixed toolbar layout (spacing).
|
||||||
|
* Added Russian translation.
|
||||||
|
* Resume also finished files on startup (for seeding).
|
||||||
|
* Added colors corresponding to download state.
|
||||||
|
* Fixed a segfault when deleting a download (if no scan dir is set).
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 6 Jun 2006 21:36:27 +0200
|
||||||
|
|
||||||
|
|
||||||
|
qbittorrent (0.3) unstable; urgency=low
|
||||||
|
|
||||||
|
* Initial Release.
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 3 Jun 2006 21:57:27 +0200
|
1
packaging/debian-unstable/debian/compat
Normal file
|
@ -0,0 +1 @@
|
||||||
|
4
|
15
packaging/debian-unstable/debian/control
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Source: qbittorrent
|
||||||
|
Section: net
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libqt4-core (>= 4.1.0), libqt4-dev (>= 4.1.0), libqt4-gui (>= 4.1.0), rb-libtorrent (>= 0.10), libcurl3-dev
|
||||||
|
Standards-Version: 3.6.2
|
||||||
|
|
||||||
|
Package: qbittorrent
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rb-libtorrent (>= 0.10), python (>= 2.3)
|
||||||
|
Description: Bittorrent client in Qt4.1 / C++
|
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1
|
||||||
|
using rb_libtorrent by Arvid Norberg. It aims to be a good
|
||||||
|
alternative to other bittorrent client out there. It is fast,
|
||||||
|
stable and provides unicode support.
|
26
packaging/debian-unstable/debian/copyright
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
This is qbittorrent, written and maintained by Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
on Sat, 3 Jun 2006 21:57:27 +0200.
|
||||||
|
|
||||||
|
The original source can always be found at:
|
||||||
|
ftp://ftp.debian.org/dists/unstable/main/source/
|
||||||
|
|
||||||
|
Copyright (C) 2006 Christophe Dumez
|
||||||
|
|
||||||
|
License:
|
||||||
|
|
||||||
|
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 package; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General
|
||||||
|
Public License can be found in `/usr/share/common-licenses/GPL'.
|
2
packaging/debian-unstable/debian/dirs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/bin
|
||||||
|
usr/sbin
|
3
packaging/debian-unstable/debian/docs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
NEWS
|
||||||
|
README
|
||||||
|
TODO
|
107
packaging/debian-unstable/debian/rules
Executable file
|
@ -0,0 +1,107 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
# Sample debian/rules that uses debhelper.
|
||||||
|
# This file was originally written by Joey Hess and Craig Small.
|
||||||
|
# As a special exception, when this file is copied by dh-make into a
|
||||||
|
# dh-make output file, you may use that output file without restriction.
|
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
|
||||||
|
# These are used for cross-compiling and for saving the configure script
|
||||||
|
# from having to guess our platform (since we know it already)
|
||||||
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||||
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall
|
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||||
|
CFLAGS += -O0
|
||||||
|
else
|
||||||
|
CFLAGS += -O2
|
||||||
|
endif
|
||||||
|
|
||||||
|
config.status: configure
|
||||||
|
dh_testdir
|
||||||
|
# Add here commands to configure the package.
|
||||||
|
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --prefix=/usr
|
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp
|
||||||
|
|
||||||
|
build-stamp: config.status
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
# Add here commands to compile the package.
|
||||||
|
$(MAKE)
|
||||||
|
#docbook-to-man debian/qbittorrent.sgml > qbittorrent.1
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp
|
||||||
|
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) distclean
|
||||||
|
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
|
||||||
|
cp -f /usr/share/misc/config.sub config.sub
|
||||||
|
endif
|
||||||
|
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
|
||||||
|
cp -f /usr/share/misc/config.guess config.guess
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
|
# Add here commands to install the package into debian/qbittorrent.
|
||||||
|
$(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/qbittorrent
|
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
binary-indep: build install
|
||||||
|
# We have nothing to do by default.
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
binary-arch: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installchangelogs Changelog
|
||||||
|
dh_installdocs
|
||||||
|
dh_installexamples
|
||||||
|
# dh_install
|
||||||
|
# dh_installmenu
|
||||||
|
# dh_installdebconf
|
||||||
|
# dh_installlogrotate
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installmime
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
# dh_installinfo
|
||||||
|
dh_installman
|
||||||
|
dh_link
|
||||||
|
dh_strip
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# dh_perl
|
||||||
|
# dh_python
|
||||||
|
# dh_makeshlibs
|
||||||
|
dh_installdeb
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install
|
249
packaging/mandriva/qbittorrent.spec
Normal file
|
@ -0,0 +1,249 @@
|
||||||
|
|
||||||
|
%define name qbittorrent
|
||||||
|
%define major 0
|
||||||
|
%define minor 6
|
||||||
|
%define patch 1
|
||||||
|
%define version %{major}.%{minor}.%{patch}
|
||||||
|
%define release %mkrel 2
|
||||||
|
%define _iconsdir %{_datadir}/icons
|
||||||
|
%define _mandir %_datadir/man
|
||||||
|
|
||||||
|
Name: %{name}
|
||||||
|
Summary: A Bittorrent Client using C++ / Qt4
|
||||||
|
Version: %{version}
|
||||||
|
Release: %{release}
|
||||||
|
Source0: http://sourceforge.net/projects/qbittorrent/%{name}-%{version}.tar.gz
|
||||||
|
URL: http://sourceforge.net/projects/qbittorrent
|
||||||
|
Vendor: http://qbittorrent.sourceforge.net/
|
||||||
|
Group: Internet/File Transfer
|
||||||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
|
||||||
|
License: GPL
|
||||||
|
BuildRequires: libqt4-devel >= 4.1.2, libqtgui4 >= 4.1.2, libqtcore4 >= 4.1.2, libqtxml4 >= 4.1.2, libqtnetwork4 >= 4.1.2, rb_libtorrent-devel >= 0.10-3, libcurl3-devel
|
||||||
|
Requires: libqtgui4 >= 4.1.2, libqtcore4 >= 4.1.2, libqtxml4 >= 4.1.2, libqtnetwork4 >= 4.1.2, librb_libtorrent0 >= 0.10-3, python >= 2.3, libcurl3
|
||||||
|
|
||||||
|
%description
|
||||||
|
A Bittorrent client using C++ / libtorrent and a Qt4 Graphical User Interface.
|
||||||
|
It aims to be as fast as possible and to provide multi-OS, unicode support.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup
|
||||||
|
|
||||||
|
%build
|
||||||
|
# Export the Environment variables
|
||||||
|
export QTDIR=%_prefix/%_lib/qt4
|
||||||
|
export KDEDIR=%_prefix
|
||||||
|
export LD_LIBRARY_PATH=$QTDIR/%_lib:$KDEDIR/%_lib:$LD_LIBRARY_PATH
|
||||||
|
export PATH=$QTDIR/bin:$KDEDIR/bin:$PATH
|
||||||
|
|
||||||
|
|
||||||
|
# Change to the Source directory and configure
|
||||||
|
#cd src
|
||||||
|
CFLAGS="%optflags" CXXFLAGS="%optflags" \
|
||||||
|
./configure --prefix=%{buildroot}%{_prefix}
|
||||||
|
|
||||||
|
# Necessary to remove old compiled files.. if they exist
|
||||||
|
make clean
|
||||||
|
|
||||||
|
%make
|
||||||
|
|
||||||
|
%install
|
||||||
|
%makeinstall --directory=src
|
||||||
|
|
||||||
|
|
||||||
|
# Create the menu directory
|
||||||
|
install -d %{buildroot}%{_menudir}
|
||||||
|
|
||||||
|
# Build the Menu
|
||||||
|
#<package> <section> <file_in> <file_out> [requires] [title]
|
||||||
|
kdedesktop2mdkmenu.pl %{name} "%{group}" %{buildroot}%{_datadir}/applications/qBittorrent.desktop %{buildroot}%{_menudir}/%{name}
|
||||||
|
|
||||||
|
%clean
|
||||||
|
%{__rm} -rf %{buildroot}
|
||||||
|
|
||||||
|
%post
|
||||||
|
/sbin/ldconfig
|
||||||
|
%{update_menus}
|
||||||
|
|
||||||
|
%postun
|
||||||
|
/sbin/ldconfig
|
||||||
|
%{clean_menus}
|
||||||
|
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc README INSTALL NEWS COPYING AUTHORS TODO Changelog
|
||||||
|
%doc %{_mandir}/man1/*.bz2
|
||||||
|
|
||||||
|
|
||||||
|
# The binaries
|
||||||
|
%_bindir/*
|
||||||
|
|
||||||
|
|
||||||
|
# Icon files
|
||||||
|
# Hi and Lo colour icons various sizes
|
||||||
|
%_iconsdir/hicolor/128x128/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/16x16/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/192x192/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/22x22/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/24x24/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/32x32/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/36x36/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/48x48/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/64x64/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/72x72/apps/qbittorrent.png
|
||||||
|
%_iconsdir/hicolor/96x96/apps/qbittorrent.png
|
||||||
|
## %_iconsdir/hicolor/scalable/apps/qbittorrent.svgz
|
||||||
|
|
||||||
|
|
||||||
|
# Desktop Link
|
||||||
|
%_datadir/applications/qBittorrent.desktop
|
||||||
|
|
||||||
|
# The qbittorrent Menu directory
|
||||||
|
%dir %{_menudir}
|
||||||
|
%{_menudir}/%{name}
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
|
||||||
|
* Wed Aug 23 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.6.0-0.1.2006mdk
|
||||||
|
- FEATURE: Rewritten the download list from scratch (more flexible)
|
||||||
|
- FEATURE: Rewritten the search results list from scratch (more flexible)
|
||||||
|
- FEATURE: Rewritten the torrent properties list from scratch (more flexible)
|
||||||
|
- FEATURE: Improved and cleaned up search engine code
|
||||||
|
- FEATURE: Search results are now displayed in real time (not sequentially)
|
||||||
|
- FEATURE: Added two command lines parameters (--version, --help)
|
||||||
|
- FEATURE: Added a popup menu for download list
|
||||||
|
- FEATURE: Double-click on an item now toggles the paused state of a download
|
||||||
|
- FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon)
|
||||||
|
- FEATURE: Allow to toggle selected state of a file within a torrent using double-click
|
||||||
|
- FEATURE: Remember columns width in download and search results lists
|
||||||
|
- BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile)
|
||||||
|
- BUGFIX: Fixed ETA calculation when downloading while connecting
|
||||||
|
- BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before)
|
||||||
|
- BUGFIX: Code cleanup & optimization
|
||||||
|
- BUGFIX: Fixed sorting in download list
|
||||||
|
- BUGFIX: Fixed sorting in search results list
|
||||||
|
- BUGFIX: Fixed Parameters passing between instances
|
||||||
|
- BUGFIX: Fixed missing icon for clear action in infoBar popup menu
|
||||||
|
- BUGFIX: Fixed truncated lines in search results
|
||||||
|
- BUGFIX: Don't refresh download list when user is in search tab (save CPU)
|
||||||
|
- BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU)
|
||||||
|
- BUGFIX: Save selected search engines only when they have changed (faster program exit)
|
||||||
|
- COSMETIC: Increased icon size in toolbar from 24px to 32px
|
||||||
|
- COSMETIC: Display a progress bar to visualize each download progress
|
||||||
|
- COSMETIC: Size of each result in search are displayed in user friendly units
|
||||||
|
- COSMETIC: Display a progress bar to visualize each file progress within a torrent
|
||||||
|
- COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense)
|
||||||
|
- COSMETIC: Improved layout of torrent properties window when maximized
|
||||||
|
- COSMETIC: Now number of search results is updated in real time
|
||||||
|
- COSMETIC: Remember last window size
|
||||||
|
- COSMETIC: Improved splash screen look
|
||||||
|
- COSMETIC: Improved default width of columns in download and search results lists
|
||||||
|
|
||||||
|
* Tue Aug 08 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.5.0-0.1.20060mdk
|
||||||
|
- FEATURE: Improved "Download from url" feature (now supports https, ftp & redirections)
|
||||||
|
- FEATURE: Added a torrent creation tool
|
||||||
|
- FEATURE: Display progress for each file within a torrent
|
||||||
|
- FEATURE: Based on new libtorrent v0.10 (lot of improvements)
|
||||||
|
- FEATURE: Now possible to clear log textbox (popup menu)
|
||||||
|
- FEATURE: Added two search engines (isohunt, torrentreactor)
|
||||||
|
- FEATURE: Now Display share ratio on main window
|
||||||
|
- FEATURE: Use OSD (On Screen Display) when a download or a search is finished
|
||||||
|
- FEATURE: Allow only one instance of qBittorrent (and add new parameters to download list)
|
||||||
|
- FEATURE: Remember last selected search engines in search tab
|
||||||
|
- FEATURE: Improved search engines status output (Aborted, timed out, finished, no results)
|
||||||
|
- FEATURE: qBittorrent can now update search plugin from qbittorrent.org
|
||||||
|
- I18N: Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages
|
||||||
|
- BUGFIX: Fixed ThePirateBay parser for search engine (website had changed)
|
||||||
|
- BUGFIX: Fixed filenames for results from ThePirateBay search engine
|
||||||
|
- BUGFIX: Fixed unicode support for ThePirateBay search engine
|
||||||
|
- BUGFIX: Now search results are sorted by seeds
|
||||||
|
- BUGFIX: Overwrite nova.py search plugin only if it is outdated
|
||||||
|
- BUGFIX: Fixed possible division by 0 in ETA calculation
|
||||||
|
- BUGFIX: Improved ETA calculation precision
|
||||||
|
- BUGFIX: Fixed default tab in options
|
||||||
|
- BUGFIX: When saving options, reconnect only when listening ports changed
|
||||||
|
- COSMETIC: qBittorrent has now its own new logo
|
||||||
|
- COSMETIC: Display status "downloading" if DL Speed > 0 (even when tracker is down)
|
||||||
|
- COSMETIC: Added a splashscreen
|
||||||
|
- COSMETIC: qBittorrent has new cute icons
|
||||||
|
- COSMETIC: Display number of results in search tab
|
||||||
|
- COSMETIC: Added icons for each item in download list according to its state
|
||||||
|
- COSMETIC: Redesigned Locale settings
|
||||||
|
- COSMETIC: Fixed search engines names width (were cut on the right)
|
||||||
|
- COSMETIC: Moved search engines to the left of the window (better ui)
|
||||||
|
|
||||||
|
* Fri Jun 23 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.4.1-0.1.20060mdk
|
||||||
|
- Not counting "protocol chatter" in UP/DL speed anymore
|
||||||
|
- Download speed is now 0 when download is finished
|
||||||
|
- Paused torrents remain paused when qbittorrent is re-started
|
||||||
|
- Added option "go to systray when minimizing"
|
||||||
|
- Added option "Clear finished downloads on exit"
|
||||||
|
- Added option "Ask user for confirmation on exit"
|
||||||
|
- Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green)
|
||||||
|
- Fixed Search window layout on maximizing
|
||||||
|
- Fixed a bug that caused upload limit not to be always applied
|
||||||
|
- Added Bulgarian translation
|
||||||
|
- Updated Translations
|
||||||
|
- Code optimization
|
||||||
|
|
||||||
|
* Tue Jun 13 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.4.0-0.1.20060mdk
|
||||||
|
- Added a search engine (supports Mininova & thepiratebay websites)
|
||||||
|
- Fixed critical bug: some options were not applied correctly to BT session
|
||||||
|
- Possibility to download a torrent file from an URL
|
||||||
|
- Added confirmation dialog on qbittorrent exit
|
||||||
|
- Enabled sorting in Download list
|
||||||
|
- Added Ukrainian translation
|
||||||
|
- Support urls as program parameters
|
||||||
|
- Added more actions to trayicon menu
|
||||||
|
- Fixed exception catching when retrieving fastresume data
|
||||||
|
- use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB)
|
||||||
|
- Iconification to systray when minimizing
|
||||||
|
- Code Cleanup & optimization
|
||||||
|
|
||||||
|
* Tue Jun 06 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.3.1-0.1.20060mdk
|
||||||
|
- Fixed toolbar layout (spacing)
|
||||||
|
- Added Russian translation
|
||||||
|
- Resume also finished files on startup (for seeding)
|
||||||
|
- Added colors corresponding to download state
|
||||||
|
- Fixed a segfault when deleting a download (if no scan dir is set)
|
||||||
|
|
||||||
|
* Mon Jun 05 2006 - Christophe Dumez <chris@qbittorrent.org> - 0.3-0.1.20060mdk
|
||||||
|
- Fixed auto-resume (worked only once)
|
||||||
|
- Fixed BT_Backup dir creation on first startup (thanks Peter)
|
||||||
|
- Now min port and max port are inverted if (min port > max port)
|
||||||
|
- Fixed memory leaks
|
||||||
|
- Added qbittorrent man page
|
||||||
|
- Allow to disable max connections limit (default is disabled)
|
||||||
|
- Disable upload limit by default
|
||||||
|
- Added Menu Entry with icon (thanks Peter)
|
||||||
|
- Restructured directory, now Makefile is in main directory (not src/)
|
||||||
|
- Updated README / INSTALL
|
||||||
|
|
||||||
|
* Fri Jun 02 2006 - Christophe Dumez <chris@qbittorrent.org> 0.2.3-0.1.20060mdk
|
||||||
|
- Fixed ports checking function (user couldn't type the value he wanted)
|
||||||
|
- Check tracker errors list size and clear it if it becomes too big.
|
||||||
|
- qBittorrent does not remove .torrent file from scanned directory anymore
|
||||||
|
- Small cosmetic change
|
||||||
|
|
||||||
|
* Wed May 31 2006 Christophe Dumez <chris@qbittorrent.org> 0.2.2-0.1.20060mdk
|
||||||
|
- Fixed missing icons
|
||||||
|
|
||||||
|
* Sat May 27 2006 Jeffery Fernandez <developer@jefferyfernandez.id.au> 0.2.1-0.1.20060mdk
|
||||||
|
- Initial Build for Mandriva Linux
|
||||||
|
|
||||||
|
* Thu May 25 2006 Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
- Fixed "make install" rule
|
||||||
|
- Disabled debug mode
|
||||||
|
|
||||||
|
* Thu May 25 2006 Christophe Dumez <chris@qbittorrent.org> - v0.2
|
||||||
|
- Fixed a compatibility problem with some versions of qmake
|
||||||
|
- Added translations : Greek, Swedish
|
||||||
|
- Fixed Polish translation selection
|
||||||
|
- Fixed come warning because of two unexisting slots
|
||||||
|
- Improved "Apply" button behaviour in options
|
||||||
|
- Windows are now resizable
|
||||||
|
|
||||||
|
* Tue May 16 2006 Christophe Dumez <chris@qbittorrent.org> - v0.1
|
||||||
|
- Initial release (lack features & still need a lot of improvements)
|
||||||
|
|
147
packaging/mandriva/rb_libtorrent.spec
Normal file
|
@ -0,0 +1,147 @@
|
||||||
|
|
||||||
|
%define package_name rb_libtorrent
|
||||||
|
%define orig_name libtorrent
|
||||||
|
%define major 0
|
||||||
|
%define minor .10
|
||||||
|
%define patch .1
|
||||||
|
%define version %{major}%{minor}
|
||||||
|
%define candidate -rc1
|
||||||
|
%define lib_name %mklibname %{package_name} %{major}
|
||||||
|
%define release %mkrel 4
|
||||||
|
|
||||||
|
Summary : libtorrent is a C++ bittorrent library.
|
||||||
|
Name : %{package_name}
|
||||||
|
Version : %{version}
|
||||||
|
Release : %{release}
|
||||||
|
License : GPL
|
||||||
|
Group : Development/C++
|
||||||
|
Source0 : http://www.rasterbar.com/products/libtorrent/libtorrent-%{version}.tar.gz
|
||||||
|
URL : http://www.rasterbar.com
|
||||||
|
BuildRequires : boost >= 1.33.1
|
||||||
|
BuildRoot : %{_tmppath}/%{orig_name}-%{version}-%{release}-root
|
||||||
|
Patch0 : file_progress_arvid.patch.bz2
|
||||||
|
|
||||||
|
%description
|
||||||
|
libtorrent is a C++ library that aims to be a good alternative
|
||||||
|
to all the other bittorrent implementations around.
|
||||||
|
|
||||||
|
|
||||||
|
%package -n %{package_name}-devel
|
||||||
|
Group : Development/C++
|
||||||
|
Summary : Development files for %{package_name}
|
||||||
|
Conflicts : libtorrent7-devel
|
||||||
|
|
||||||
|
%description -n %{package_name}-devel
|
||||||
|
Development files for %{package_name}
|
||||||
|
|
||||||
|
%package -n %{lib_name}
|
||||||
|
Group : Development/C++
|
||||||
|
Summary : Library files for %{package_name}
|
||||||
|
Conflicts : libtorrent7
|
||||||
|
|
||||||
|
%description -n %{lib_name}
|
||||||
|
Library files for %{package_name}
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -n %{orig_name}-%{version}
|
||||||
|
|
||||||
|
%build
|
||||||
|
%configure --prefix=%{_prefix}
|
||||||
|
%make
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
%makeinstall
|
||||||
|
|
||||||
|
# Create directories for the package
|
||||||
|
install -d %{buildroot}%{_includedir}/%{orig_name}
|
||||||
|
install -d %{buildroot}%{_libdir}/pkgconfig
|
||||||
|
|
||||||
|
%clean
|
||||||
|
rm -rf %{buildroot}
|
||||||
|
|
||||||
|
# The binaries
|
||||||
|
%files %(orig_name)
|
||||||
|
%defattr(0644, root, root, 0755)
|
||||||
|
%{_bindir}/*
|
||||||
|
|
||||||
|
# Documentation
|
||||||
|
%defattr(-, root, root)
|
||||||
|
%doc README AUTHORS INSTALL COPYING ChangeLog NEWS
|
||||||
|
%doc docs/*
|
||||||
|
|
||||||
|
|
||||||
|
# Devel Package
|
||||||
|
%files -n %{package_name}-devel
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%dir %{_includedir}/%{orig_name}/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/detail/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/impl/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ip/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ip/detail/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ssl/
|
||||||
|
%dir %{_includedir}/%{orig_name}/asio/ssl/detail/
|
||||||
|
%{_includedir}/%{orig_name}/*.hpp
|
||||||
|
%{_includedir}/%{orig_name}/asio/*.hpp
|
||||||
|
%{_includedir}/%{orig_name}/asio/detail/*.hpp
|
||||||
|
%{_includedir}/%{orig_name}/asio/impl/*.ipp
|
||||||
|
%{_includedir}/%{orig_name}/asio/ip/*.hpp
|
||||||
|
%{_includedir}/%{orig_name}/asio/ip/detail/*.hpp
|
||||||
|
%{_includedir}/%{orig_name}/asio/ssl/*.hpp
|
||||||
|
%{_includedir}/%{orig_name}/asio/ssl/detail/*.hpp
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%{_libdir}/%{orig_name}.a
|
||||||
|
%{_libdir}/%{orig_name}.la
|
||||||
|
%{_libdir}/%{orig_name}.so
|
||||||
|
%{_libdir}/pkgconfig/libtorrent.pc
|
||||||
|
|
||||||
|
|
||||||
|
# Library Package
|
||||||
|
%files -n %{lib_name}
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%_libdir/%{orig_name}.so.*
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
|
||||||
|
* Wed Aug 23 2006 Christophe Dumez <chris@qbittorrent.org> 10.0.1-2006mdk
|
||||||
|
- Added patch for Torrent Properties crash fix
|
||||||
|
|
||||||
|
* Sat Jul 1 2006 %{packager} %{version}-%{release}
|
||||||
|
- fixed a bug where the requested number of peers in a tracker request could
|
||||||
|
be too big.
|
||||||
|
- fixed a bug where empty files were not created in full allocation mode.
|
||||||
|
- fixed a bug in storage that would, in rare cases, fail to do a
|
||||||
|
complete check.
|
||||||
|
- exposed more settings for tweaking parameters in the piece-picker,
|
||||||
|
downloader and uploader (http_settings replaced by session_settings).
|
||||||
|
- tweaked default settings to improve high bandwidth transfers.
|
||||||
|
- improved the piece picker performance and made it possible to download
|
||||||
|
popular pieces in sequence to improve disk performance.
|
||||||
|
- added the possibility to control upload and download limits per peer.
|
||||||
|
- fixed problem with re-requesting skipped pieces when peer was sending pieces
|
||||||
|
out of fifo-order.
|
||||||
|
- added support for http seeding (the GetRight protocol)
|
||||||
|
- renamed identifiers called 'id' in the public interface to support linking
|
||||||
|
with Objective.C++
|
||||||
|
- changed the extensions protocol to use the new one, which is also
|
||||||
|
implemented by uTorrent.
|
||||||
|
- factorized the peer_connection and added web_peer_connection which is
|
||||||
|
able to download from http-sources.
|
||||||
|
- converted the network code to use asio (resulted in slight api changes
|
||||||
|
dealing with network addresses).
|
||||||
|
- made libtorrent build in vc7 (patches from Allen Zhao)
|
||||||
|
- fixed bug caused when binding outgoing connections to a non-local interface.
|
||||||
|
- add_torrent() will now throw if called while the session object is
|
||||||
|
being closed.
|
||||||
|
- added the ability to limit the number of simultaneous half-open
|
||||||
|
TCP connections. Flags in peer_info has been added.
|
||||||
|
|
||||||
|
|
||||||
|
* Thu Jun 1 2006 %{packager} %{version}-%{release}
|
||||||
|
- Initial Build for Mandriva Linux
|
134
packaging/ubuntu-dapper/debian/changelog
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
qbittorrent (0.6.1-0ubuntu2) dapper; urgency=low
|
||||||
|
|
||||||
|
* Disabled debug mode
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Mon, 28 Aug 2006 19:29:17 +0000
|
||||||
|
|
||||||
|
qbittorrent (0.6.1-0ubuntu1) dapper; urgency=low
|
||||||
|
* BUGFIX: Fixed possible segfaults when using context menus
|
||||||
|
* BUGFIX: Cleanup up context menus code
|
||||||
|
* BUGFIX: Used best gzip compressing for manpage
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 24 Aug 2006 19:53:32 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.6.0) dapper; urgency=low
|
||||||
|
* FEATURE: Rewritten the download list from scratch (more flexible)
|
||||||
|
* FEATURE: Rewritten the search results list from scratch (more flexible)
|
||||||
|
* FEATURE: Rewritten the torrent properties list from scratch (more flexible)
|
||||||
|
* FEATURE: Improved and cleaned up search engine code
|
||||||
|
* FEATURE: Search results are now displayed in real time (not sequentially)
|
||||||
|
* FEATURE: Added two command lines parameters (--version, --help)
|
||||||
|
* FEATURE: Added a popup menu for download list
|
||||||
|
* FEATURE: Double-click on an item now toggles the paused state of a download
|
||||||
|
* FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon)
|
||||||
|
* FEATURE: Allow to toggle selected state of a file within a torrent using double-click
|
||||||
|
* FEATURE: Remember columns width in download and search results lists
|
||||||
|
* BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile)
|
||||||
|
* BUGFIX: Fixed ETA calculation when downloading while connecting
|
||||||
|
* BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before)
|
||||||
|
* BUGFIX: Code cleanup & optimization
|
||||||
|
* BUGFIX: Fixed sorting in download list
|
||||||
|
* BUGFIX: Fixed sorting in search results list
|
||||||
|
* BUGFIX: Fixed Parameters passing between instances
|
||||||
|
* BUGFIX: Fixed missing icon for clear action in infoBar popup menu
|
||||||
|
* BUGFIX: Fixed truncated lines in search results
|
||||||
|
* BUGFIX: Don't refresh download list when user is in search tab (save CPU)
|
||||||
|
* BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU)
|
||||||
|
* BUGFIX: Save selected search engines only when they have changed (faster program exit)
|
||||||
|
* COSMETIC: Increased icon size in toolbar from 24px to 32px
|
||||||
|
* COSMETIC: Display a progress bar to visualize each download progress
|
||||||
|
* COSMETIC: Size of each result in search are displayed in user friendly units
|
||||||
|
* COSMETIC: Display a progress bar to visualize each file progress within a torrent
|
||||||
|
* COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense)
|
||||||
|
* COSMETIC: Improved layout of torrent properties window when maximized
|
||||||
|
* COSMETIC: Now number of search results is updated in real time
|
||||||
|
* COSMETIC: Remember last window size
|
||||||
|
* COSMETIC: Improved splash screen look
|
||||||
|
* COSMETIC: Improved default width of columns in download and search results lists
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 22 Aug 2006 10:42:37 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.5.0) dapper; urgency=low
|
||||||
|
* Improved "Download from url" feature (now supports https, ftp & redirections)
|
||||||
|
* Added a torrent creation tool
|
||||||
|
* Display progress for each file within a torrent
|
||||||
|
* Based on new libtorrent v0.10 (lot of improvements)
|
||||||
|
* Now possible to clear log textbox (popup menu)
|
||||||
|
* Added two search engines (isohunt, torrentreactor)
|
||||||
|
* Now Display share ratio on main window
|
||||||
|
* Use OSD (On Screen Display) when a download or a search is finished
|
||||||
|
* Allow only one instance of qBittorrent (and add new parameters to download list)
|
||||||
|
* Remember last selected search engines in search tab
|
||||||
|
* Improved search engines status output (Aborted, timed out, finished, no results)
|
||||||
|
* qBittorrent can now update search plugin from qbittorrent.org
|
||||||
|
* Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages
|
||||||
|
* Fixed ThePirateBay parser for search engine (website had changed)
|
||||||
|
* Fixed filenames for results from ThePirateBay search engine
|
||||||
|
* Fixed unicode support for ThePirateBay search engine
|
||||||
|
* Now search results are sorted by seeds
|
||||||
|
* Overwrite nova.py search plugin only if it is outdated
|
||||||
|
* Fixed possible division by 0 in ETA calculation
|
||||||
|
* Improved ETA calculation precision
|
||||||
|
* Fixed default tab in options
|
||||||
|
* When saving options, reconnect only when listening ports changed
|
||||||
|
* qBittorrent has now its own new logo
|
||||||
|
* Display status "downloading" if DL Speed > 0 (even when tracker is down)
|
||||||
|
* Added a splashscreen
|
||||||
|
* qBittorrent has new cute icons
|
||||||
|
* Display number of results in search tab
|
||||||
|
* Added icons for each item in download list according to its state
|
||||||
|
* Redesigned Locale settings
|
||||||
|
* Fixed search engines names width (were cut on the right)
|
||||||
|
* Moved search engines to the left of the window (better ui)
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 2 Aug 2006 19:46:32 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.4.1) dapper; urgency=low
|
||||||
|
* Not counting "protocol chatter" in UP/DL speed anymore
|
||||||
|
* Download speed is now 0 when download is finished
|
||||||
|
* Paused torrents remain paused when qbittorrent is re-started
|
||||||
|
* Added option "go to systray when minimizing"
|
||||||
|
* Added option "Clear finished downloads on exit"
|
||||||
|
* Added option "Ask user for confirmation on exit"
|
||||||
|
* Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green)
|
||||||
|
* Fixed Search window layout on maximizing
|
||||||
|
* Fixed a bug that caused upload limit not to be always applied
|
||||||
|
* Added Bulgarian translation
|
||||||
|
* Updated Translations
|
||||||
|
* Code optimization
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 22 Jun 2006 20:14:27 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.4.0) dapper; urgency=low
|
||||||
|
|
||||||
|
* Added a search engine (supports Mininova & thepiratebay websites)
|
||||||
|
* Fixed critical bug: some options were not applied correctly to BT session
|
||||||
|
* Possibility to download a torrent file from an URL
|
||||||
|
* Added confirmation dialog on qbittorrent exit
|
||||||
|
* Enabled sorting in Download list
|
||||||
|
* Added Ukrainian translation
|
||||||
|
* Support urls as program parameters
|
||||||
|
* Added more actions to trayicon menu
|
||||||
|
* Fixed exception catching when retrieving fastresume data
|
||||||
|
* use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB)
|
||||||
|
* Iconification to systray when minimizing
|
||||||
|
* Code Cleanup & optimization
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 14 Jun 2006 14:47:27 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.3.1) dapper; urgency=low
|
||||||
|
|
||||||
|
* Fixed toolbar layout (spacing).
|
||||||
|
* Added Russian translation.
|
||||||
|
* Resume also finished files on startup (for seeding).
|
||||||
|
* Added colors corresponding to download state.
|
||||||
|
* Fixed a segfault when deleting a download (if no scan dir is set).
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 6 Jun 2006 21:36:27 +0200
|
||||||
|
|
||||||
|
|
||||||
|
qbittorrent (0.3) dapper; urgency=low
|
||||||
|
|
||||||
|
* Initial Release.
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 3 Jun 2006 21:57:27 +0200
|
1
packaging/ubuntu-dapper/debian/compat
Normal file
|
@ -0,0 +1 @@
|
||||||
|
4
|
15
packaging/ubuntu-dapper/debian/control
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Source: qbittorrent
|
||||||
|
Section: net
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libqt4-core (>= 4.1.0), libqt4-dev (>= 4.1.0), libqt4-gui (>= 4.1.0), rb-libtorrent (>= 0.10), libcurl3-dev
|
||||||
|
Standards-Version: 3.6.2
|
||||||
|
|
||||||
|
Package: qbittorrent
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rb-libtorrent (>= 0.10), python (>= 2.3)
|
||||||
|
Description: Bittorrent client in Qt4.1 / C++
|
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1
|
||||||
|
using rb_libtorrent by Arvid Norberg. It aims to be a good
|
||||||
|
alternative to other bittorrent client out there. It is fast,
|
||||||
|
stable and provides unicode support.
|
26
packaging/ubuntu-dapper/debian/copyright
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
This is qbittorrent, written and maintained by Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
on Sat, 3 Jun 2006 21:57:27 +0200.
|
||||||
|
|
||||||
|
The original source can always be found at:
|
||||||
|
ftp://ftp.debian.org/dists/unstable/main/source/
|
||||||
|
|
||||||
|
Copyright (C) 2006 Christophe Dumez
|
||||||
|
|
||||||
|
License:
|
||||||
|
|
||||||
|
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 package; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General
|
||||||
|
Public License can be found in `/usr/share/common-licenses/GPL'.
|
2
packaging/ubuntu-dapper/debian/dirs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/bin
|
||||||
|
usr/sbin
|
3
packaging/ubuntu-dapper/debian/docs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
NEWS
|
||||||
|
README
|
||||||
|
TODO
|
1
packaging/ubuntu-dapper/debian/files
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qbittorrent_0.6.1-0ubuntu2_i386.deb net optional
|
1
packaging/ubuntu-dapper/debian/qbittorrent.substvars
Normal file
|
@ -0,0 +1 @@
|
||||||
|
shlibs:Depends=libboost-date-time1.33.1, libboost-filesystem1.33.1, libboost-thread1.33.1, libc6 (>= 2.3.4-1), libcurl3 (>= 7.15.0-1), libgcc1 (>= 1:4.0.2), libqt4-core (>= 4.1.2), libqt4-gui (>= 4.1.2), libstdc++6 (>= 4.0.2-4), libx11-6, libxext6, zlib1g (>= 1:1.2.1)
|
107
packaging/ubuntu-dapper/debian/rules
Executable file
|
@ -0,0 +1,107 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
# Sample debian/rules that uses debhelper.
|
||||||
|
# This file was originally written by Joey Hess and Craig Small.
|
||||||
|
# As a special exception, when this file is copied by dh-make into a
|
||||||
|
# dh-make output file, you may use that output file without restriction.
|
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
|
||||||
|
# These are used for cross-compiling and for saving the configure script
|
||||||
|
# from having to guess our platform (since we know it already)
|
||||||
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||||
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall
|
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||||
|
CFLAGS += -O0
|
||||||
|
else
|
||||||
|
CFLAGS += -O2
|
||||||
|
endif
|
||||||
|
|
||||||
|
config.status: configure
|
||||||
|
dh_testdir
|
||||||
|
# Add here commands to configure the package.
|
||||||
|
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --prefix=/usr
|
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp
|
||||||
|
|
||||||
|
build-stamp: config.status
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
# Add here commands to compile the package.
|
||||||
|
$(MAKE)
|
||||||
|
#docbook-to-man debian/qbittorrent.sgml > qbittorrent.1
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp
|
||||||
|
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) distclean
|
||||||
|
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
|
||||||
|
cp -f /usr/share/misc/config.sub config.sub
|
||||||
|
endif
|
||||||
|
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
|
||||||
|
cp -f /usr/share/misc/config.guess config.guess
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
|
# Add here commands to install the package into debian/qbittorrent.
|
||||||
|
$(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/qbittorrent
|
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
binary-indep: build install
|
||||||
|
# We have nothing to do by default.
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
binary-arch: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installchangelogs Changelog
|
||||||
|
dh_installdocs
|
||||||
|
dh_installexamples
|
||||||
|
# dh_install
|
||||||
|
# dh_installmenu
|
||||||
|
# dh_installdebconf
|
||||||
|
# dh_installlogrotate
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installmime
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
# dh_installinfo
|
||||||
|
dh_installman
|
||||||
|
dh_link
|
||||||
|
dh_strip
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# dh_perl
|
||||||
|
# dh_python
|
||||||
|
# dh_makeshlibs
|
||||||
|
dh_installdeb
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install
|
134
packaging/ubuntu-edgy/debian/changelog
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
qbittorrent (0.6.1-0ubuntu2) edgy; urgency=low
|
||||||
|
|
||||||
|
* Disabled debug mode
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Mon, 28 Aug 2006 21:22:48 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.6.1-0ubuntu1) edgy; urgency=low
|
||||||
|
* BUGFIX: Fixed possible segfaults when using context menus
|
||||||
|
* BUGFIX: Cleanup up context menus code
|
||||||
|
* BUGFIX: Used best gzip compressing for manpage
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 24 Aug 2006 19:53:32 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.6.0) edgy; urgency=low
|
||||||
|
* FEATURE: Rewritten the download list from scratch (more flexible)
|
||||||
|
* FEATURE: Rewritten the search results list from scratch (more flexible)
|
||||||
|
* FEATURE: Rewritten the torrent properties list from scratch (more flexible)
|
||||||
|
* FEATURE: Improved and cleaned up search engine code
|
||||||
|
* FEATURE: Search results are now displayed in real time (not sequentially)
|
||||||
|
* FEATURE: Added two command lines parameters (--version, --help)
|
||||||
|
* FEATURE: Added a popup menu for download list
|
||||||
|
* FEATURE: Double-click on an item now toggles the paused state of a download
|
||||||
|
* FEATURE: Improved code to be more portable (Windows & MacOS versions should arrive soon)
|
||||||
|
* FEATURE: Allow to toggle selected state of a file within a torrent using double-click
|
||||||
|
* FEATURE: Remember columns width in download and search results lists
|
||||||
|
* BUGFIX: Don't use pkg-config for libcurl anymore (easier to compile)
|
||||||
|
* BUGFIX: Fixed ETA calculation when downloading while connecting
|
||||||
|
* BUGFIX: Download progress is now displayed correctly during first seconds of execution (was 0% before)
|
||||||
|
* BUGFIX: Code cleanup & optimization
|
||||||
|
* BUGFIX: Fixed sorting in download list
|
||||||
|
* BUGFIX: Fixed sorting in search results list
|
||||||
|
* BUGFIX: Fixed Parameters passing between instances
|
||||||
|
* BUGFIX: Fixed missing icon for clear action in infoBar popup menu
|
||||||
|
* BUGFIX: Fixed truncated lines in search results
|
||||||
|
* BUGFIX: Don't refresh download list when user is in search tab (save CPU)
|
||||||
|
* BUGFIX: Don't update Progress/DL Speed/ETA for finished downloads (save CPU)
|
||||||
|
* BUGFIX: Save selected search engines only when they have changed (faster program exit)
|
||||||
|
* COSMETIC: Increased icon size in toolbar from 24px to 32px
|
||||||
|
* COSMETIC: Display a progress bar to visualize each download progress
|
||||||
|
* COSMETIC: Size of each result in search are displayed in user friendly units
|
||||||
|
* COSMETIC: Display a progress bar to visualize each file progress within a torrent
|
||||||
|
* COSMETIC: Renamed 'ratio' to 'Session ratio' (makes more sense)
|
||||||
|
* COSMETIC: Improved layout of torrent properties window when maximized
|
||||||
|
* COSMETIC: Now number of search results is updated in real time
|
||||||
|
* COSMETIC: Remember last window size
|
||||||
|
* COSMETIC: Improved splash screen look
|
||||||
|
* COSMETIC: Improved default width of columns in download and search results lists
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 22 Aug 2006 10:42:37 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.5.0) edgy; urgency=low
|
||||||
|
* Improved "Download from url" feature (now supports https, ftp & redirections)
|
||||||
|
* Added a torrent creation tool
|
||||||
|
* Display progress for each file within a torrent
|
||||||
|
* Based on new libtorrent v0.10 (lot of improvements)
|
||||||
|
* Now possible to clear log textbox (popup menu)
|
||||||
|
* Added two search engines (isohunt, torrentreactor)
|
||||||
|
* Now Display share ratio on main window
|
||||||
|
* Use OSD (On Screen Display) when a download or a search is finished
|
||||||
|
* Allow only one instance of qBittorrent (and add new parameters to download list)
|
||||||
|
* Remember last selected search engines in search tab
|
||||||
|
* Improved search engines status output (Aborted, timed out, finished, no results)
|
||||||
|
* qBittorrent can now update search plugin from qbittorrent.org
|
||||||
|
* Added Slovak, Italian, Portuguese, Romanian and Traditional Chinese languages
|
||||||
|
* Fixed ThePirateBay parser for search engine (website had changed)
|
||||||
|
* Fixed filenames for results from ThePirateBay search engine
|
||||||
|
* Fixed unicode support for ThePirateBay search engine
|
||||||
|
* Now search results are sorted by seeds
|
||||||
|
* Overwrite nova.py search plugin only if it is outdated
|
||||||
|
* Fixed possible division by 0 in ETA calculation
|
||||||
|
* Improved ETA calculation precision
|
||||||
|
* Fixed default tab in options
|
||||||
|
* When saving options, reconnect only when listening ports changed
|
||||||
|
* qBittorrent has now its own new logo
|
||||||
|
* Display status "downloading" if DL Speed > 0 (even when tracker is down)
|
||||||
|
* Added a splashscreen
|
||||||
|
* qBittorrent has new cute icons
|
||||||
|
* Display number of results in search tab
|
||||||
|
* Added icons for each item in download list according to its state
|
||||||
|
* Redesigned Locale settings
|
||||||
|
* Fixed search engines names width (were cut on the right)
|
||||||
|
* Moved search engines to the left of the window (better ui)
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 2 Aug 2006 19:46:32 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.4.1) edgy; urgency=low
|
||||||
|
* Not counting "protocol chatter" in UP/DL speed anymore
|
||||||
|
* Download speed is now 0 when download is finished
|
||||||
|
* Paused torrents remain paused when qbittorrent is re-started
|
||||||
|
* Added option "go to systray when minimizing"
|
||||||
|
* Added option "Clear finished downloads on exit"
|
||||||
|
* Added option "Ask user for confirmation on exit"
|
||||||
|
* Added "Stalled" status for downloads (colored in orange, paused are in red and finished in green)
|
||||||
|
* Fixed Search window layout on maximizing
|
||||||
|
* Fixed a bug that caused upload limit not to be always applied
|
||||||
|
* Added Bulgarian translation
|
||||||
|
* Updated Translations
|
||||||
|
* Code optimization
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Thu, 22 Jun 2006 20:14:27 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.4.0) edgy; urgency=low
|
||||||
|
|
||||||
|
* Added a search engine (supports Mininova & thepiratebay websites)
|
||||||
|
* Fixed critical bug: some options were not applied correctly to BT session
|
||||||
|
* Possibility to download a torrent file from an URL
|
||||||
|
* Added confirmation dialog on qbittorrent exit
|
||||||
|
* Enabled sorting in Download list
|
||||||
|
* Added Ukrainian translation
|
||||||
|
* Support urls as program parameters
|
||||||
|
* Added more actions to trayicon menu
|
||||||
|
* Fixed exception catching when retrieving fastresume data
|
||||||
|
* use Binary prefix standards from IEC 60027-2 for units (B, KiB, MiB, GiB, TiB)
|
||||||
|
* Iconification to systray when minimizing
|
||||||
|
* Code Cleanup & optimization
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Wed, 14 Jun 2006 14:47:27 +0200
|
||||||
|
|
||||||
|
qbittorrent (0.3.1) edgy; urgency=low
|
||||||
|
|
||||||
|
* Fixed toolbar layout (spacing).
|
||||||
|
* Added Russian translation.
|
||||||
|
* Resume also finished files on startup (for seeding).
|
||||||
|
* Added colors corresponding to download state.
|
||||||
|
* Fixed a segfault when deleting a download (if no scan dir is set).
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 6 Jun 2006 21:36:27 +0200
|
||||||
|
|
||||||
|
|
||||||
|
qbittorrent (0.3) edgy; urgency=low
|
||||||
|
|
||||||
|
* Initial Release.
|
||||||
|
|
||||||
|
-- Christophe Dumez <chris@qbittorrent.org> Sat, 3 Jun 2006 21:57:27 +0200
|
1
packaging/ubuntu-edgy/debian/compat
Normal file
|
@ -0,0 +1 @@
|
||||||
|
4
|
15
packaging/ubuntu-edgy/debian/control
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
Source: qbittorrent
|
||||||
|
Section: net
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
Build-Depends: debhelper (>= 4.0.0), autotools-dev, libqt4-core (>= 4.1.0), libqt4-dev (>= 4.1.0), libqt4-gui (>= 4.1.0), rb-libtorrent (>= 0.10), libcurl3-dev
|
||||||
|
Standards-Version: 3.6.2
|
||||||
|
|
||||||
|
Package: qbittorrent
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}, rb-libtorrent (>= 0.10), python (>= 2.3)
|
||||||
|
Description: Bittorrent client in Qt4.1 / C++
|
||||||
|
qBittorrent is a bittorrent client programmed in C++ / Qt4.1
|
||||||
|
using rb_libtorrent by Arvid Norberg. It aims to be a good
|
||||||
|
alternative to other bittorrent client out there. It is fast,
|
||||||
|
stable and provides unicode support.
|
26
packaging/ubuntu-edgy/debian/copyright
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
This is qbittorrent, written and maintained by Christophe Dumez <chris@qbittorrent.org>
|
||||||
|
on Sat, 3 Jun 2006 21:57:27 +0200.
|
||||||
|
|
||||||
|
The original source can always be found at:
|
||||||
|
ftp://ftp.debian.org/dists/unstable/main/source/
|
||||||
|
|
||||||
|
Copyright (C) 2006 Christophe Dumez
|
||||||
|
|
||||||
|
License:
|
||||||
|
|
||||||
|
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 package; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
On Debian systems, the complete text of the GNU General
|
||||||
|
Public License can be found in `/usr/share/common-licenses/GPL'.
|
2
packaging/ubuntu-edgy/debian/dirs
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
usr/bin
|
||||||
|
usr/sbin
|
3
packaging/ubuntu-edgy/debian/docs
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
NEWS
|
||||||
|
README
|
||||||
|
TODO
|
1
packaging/ubuntu-edgy/debian/files
Normal file
|
@ -0,0 +1 @@
|
||||||
|
qbittorrent_0.6.1-0ubuntu2_i386.deb net optional
|
1
packaging/ubuntu-edgy/debian/qbittorrent.substvars
Normal file
|
@ -0,0 +1 @@
|
||||||
|
shlibs:Depends=libboost-date-time1.33.1, libboost-filesystem1.33.1, libboost-thread1.33.1, libc6 (>= 2.4-1), libcurl3 (>= 7.15.4-1), libgcc1 (>= 1:4.1.1-11ubuntu1), libqt4-core (>= 4.1.4), libqt4-gui (>= 4.1.4), libstdc++6 (>= 4.1.1-11ubuntu1), libx11-6, libxext6, zlib1g (>= 1:1.2.1)
|
107
packaging/ubuntu-edgy/debian/rules
Executable file
|
@ -0,0 +1,107 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
# Sample debian/rules that uses debhelper.
|
||||||
|
# This file was originally written by Joey Hess and Craig Small.
|
||||||
|
# As a special exception, when this file is copied by dh-make into a
|
||||||
|
# dh-make output file, you may use that output file without restriction.
|
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
|
||||||
|
# These are used for cross-compiling and for saving the configure script
|
||||||
|
# from having to guess our platform (since we know it already)
|
||||||
|
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
|
||||||
|
DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall
|
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||||
|
CFLAGS += -O0
|
||||||
|
else
|
||||||
|
CFLAGS += -O2
|
||||||
|
endif
|
||||||
|
|
||||||
|
config.status: configure
|
||||||
|
dh_testdir
|
||||||
|
# Add here commands to configure the package.
|
||||||
|
CFLAGS="$(CFLAGS) -Wl,-z,defs" ./configure --prefix=/usr
|
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp
|
||||||
|
|
||||||
|
build-stamp: config.status
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
# Add here commands to compile the package.
|
||||||
|
$(MAKE)
|
||||||
|
#docbook-to-man debian/qbittorrent.sgml > qbittorrent.1
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp
|
||||||
|
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) distclean
|
||||||
|
ifneq "$(wildcard /usr/share/misc/config.sub)" ""
|
||||||
|
cp -f /usr/share/misc/config.sub config.sub
|
||||||
|
endif
|
||||||
|
ifneq "$(wildcard /usr/share/misc/config.guess)" ""
|
||||||
|
cp -f /usr/share/misc/config.guess config.guess
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
|
# Add here commands to install the package into debian/qbittorrent.
|
||||||
|
$(MAKE) install INSTALL_ROOT=$(CURDIR)/debian/qbittorrent
|
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
binary-indep: build install
|
||||||
|
# We have nothing to do by default.
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
binary-arch: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_installchangelogs Changelog
|
||||||
|
dh_installdocs
|
||||||
|
dh_installexamples
|
||||||
|
# dh_install
|
||||||
|
# dh_installmenu
|
||||||
|
# dh_installdebconf
|
||||||
|
# dh_installlogrotate
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installmime
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
# dh_installinfo
|
||||||
|
dh_installman
|
||||||
|
dh_link
|
||||||
|
dh_strip
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# dh_perl
|
||||||
|
# dh_python
|
||||||
|
# dh_makeshlibs
|
||||||
|
dh_installdeb
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install
|
4
qbittorrent.pro
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
TEMPLATE = subdirs
|
||||||
|
|
||||||
|
SUBDIRS += src
|
||||||
|
|
20
qbittorrent.qc
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
<qconf>
|
||||||
|
<name>qbittorrent</name>
|
||||||
|
<profile>qbittorrent.pro</profile>
|
||||||
|
<moddir>qcm</moddir>
|
||||||
|
<dep type='qt41'>
|
||||||
|
<required/>
|
||||||
|
</dep>
|
||||||
|
<dep type='libtorrent'>
|
||||||
|
<required/>
|
||||||
|
</dep>
|
||||||
|
<dep type='libboost'>
|
||||||
|
<required/>
|
||||||
|
</dep>
|
||||||
|
<dep type='libcurl'>
|
||||||
|
<required/>
|
||||||
|
</dep>
|
||||||
|
<dep type='python'>
|
||||||
|
<required/>
|
||||||
|
</dep>
|
||||||
|
</qconf>
|
40
qcm/libboost.qcm
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
/*
|
||||||
|
-----BEGIN QCMOD-----
|
||||||
|
name: libboost
|
||||||
|
-----END QCMOD-----
|
||||||
|
*/
|
||||||
|
class qc_libboost : public ConfObj
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
qc_libboost(Conf *c) : ConfObj(c) {}
|
||||||
|
QString name() const { return "libboost"; }
|
||||||
|
QString shortname() const { return "libboost"; }
|
||||||
|
bool exec(){
|
||||||
|
QString s;
|
||||||
|
QStringList sl;
|
||||||
|
sl += "/usr/include";
|
||||||
|
sl += "/usr/local/include";
|
||||||
|
sl += "/sw/include";
|
||||||
|
if(!conf->findHeader("boost/format.hpp", sl, &s)) {
|
||||||
|
qWarning("libboost includes not found!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->addIncludePath(s);
|
||||||
|
if(!conf->findHeader("boost/date_time/posix_time/posix_time.hpp", sl, &s)) {
|
||||||
|
qWarning("libboost-date-time includes not found!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->addIncludePath(s);
|
||||||
|
if(!conf->findHeader("boost/filesystem/path.hpp", sl, &s)) {
|
||||||
|
qWarning("libboost-filesystem includes not found!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if(!conf->findHeader("boost/thread.hpp", sl, &s)) {
|
||||||
|
qWarning("libboost-thread includes not found!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->addIncludePath(s);
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
25
qcm/libcurl.qcm
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
-----BEGIN QCMOD-----
|
||||||
|
name: libcurl
|
||||||
|
-----END QCMOD-----
|
||||||
|
*/
|
||||||
|
class qc_libcurl : public ConfObj
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
qc_libcurl(Conf *c) : ConfObj(c) {}
|
||||||
|
QString name() const { return "libcurl"; }
|
||||||
|
QString shortname() const { return "libcurl"; }
|
||||||
|
bool exec(){
|
||||||
|
QString s;
|
||||||
|
QStringList sl;
|
||||||
|
sl += "/usr/include";
|
||||||
|
sl += "/usr/local/include";
|
||||||
|
sl += "/sw/include";
|
||||||
|
if(!conf->findHeader("curl/curl.h", sl, &s)) {
|
||||||
|
qWarning("libcurl includes not found!\n");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->addIncludePath(s);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
25
qcm/libtorrent.qcm
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
/*
|
||||||
|
-----BEGIN QCMOD-----
|
||||||
|
name: libtorrent
|
||||||
|
-----END QCMOD-----
|
||||||
|
*/
|
||||||
|
class qc_libtorrent : public ConfObj
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
qc_libtorrent(Conf *c) : ConfObj(c) {}
|
||||||
|
QString name() const { return "libtorrent >= 0.11"; }
|
||||||
|
QString shortname() const { return "libtorrent"; }
|
||||||
|
bool exec(){
|
||||||
|
QString s;
|
||||||
|
QStringList sl;
|
||||||
|
sl += "/usr/include";
|
||||||
|
sl += "/usr/local/include";
|
||||||
|
sl += "/sw/include";
|
||||||
|
if(!conf->findHeader("libtorrent/kademlia/node.hpp", sl, &s)) {
|
||||||
|
qWarning("libtorrent v0.11 includes not found!\nYou can download it at http://www.libtorrent.net");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
conf->addIncludePath(s);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
};
|
19
qcm/python.qcm
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
/*
|
||||||
|
-----BEGIN QCMOD-----
|
||||||
|
name: python
|
||||||
|
-----END QCMOD-----
|
||||||
|
*/
|
||||||
|
class qc_python : public ConfObj
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
qc_python(Conf *c) : ConfObj(c) {}
|
||||||
|
QString name() const { return "python >= 2.3"; }
|
||||||
|
QString shortname() const { return "python"; }
|
||||||
|
bool exec(){
|
||||||
|
int r = conf->doCommand("python testpython.py");
|
||||||
|
if(r == 0)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
};
|
16
qcm/qt41.qcm
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
/*
|
||||||
|
-----BEGIN QCMOD-----
|
||||||
|
name: Qt >= 4.1
|
||||||
|
-----END QCMOD-----
|
||||||
|
*/
|
||||||
|
class qc_qt41 : public ConfObj
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
qc_qt41(Conf *c) : ConfObj(c) {}
|
||||||
|
QString name() const { return "Qt >= 4.1"; }
|
||||||
|
QString shortname() const { return "qt41"; }
|
||||||
|
bool exec()
|
||||||
|
{
|
||||||
|
return(QT_VERSION >= 0x040100);
|
||||||
|
}
|
||||||
|
};
|
162
src/DLListDelegate.h
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
/*
|
||||||
|
* Bittorrent Client using Qt4 and libtorrent.
|
||||||
|
* Copyright (C) 2006 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.
|
||||||
|
*
|
||||||
|
* Contact : chris@qbittorrent.org
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef DLLISTDELEGATE_H
|
||||||
|
#define DLLISTDELEGATE_H
|
||||||
|
|
||||||
|
#include <QAbstractItemDelegate>
|
||||||
|
#include <QModelIndex>
|
||||||
|
#include <QPainter>
|
||||||
|
#include <QStyleOptionProgressBarV2>
|
||||||
|
#include <QProgressBar>
|
||||||
|
#include <QApplication>
|
||||||
|
#include "misc.h"
|
||||||
|
|
||||||
|
// Defines for download list list columns
|
||||||
|
#define NAME 0
|
||||||
|
#define SIZE 1
|
||||||
|
#define PROGRESS 2
|
||||||
|
#define DLSPEED 3
|
||||||
|
#define UPSPEED 4
|
||||||
|
#define STATUS 5
|
||||||
|
#define ETA 6
|
||||||
|
|
||||||
|
class DLListDelegate: public QAbstractItemDelegate {
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
DLListDelegate(QObject *parent=0) : QAbstractItemDelegate(parent){}
|
||||||
|
|
||||||
|
~DLListDelegate(){}
|
||||||
|
|
||||||
|
void paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const{
|
||||||
|
QStyleOptionViewItem opt = option;
|
||||||
|
char tmp[MAX_CHAR_TMP];
|
||||||
|
// set text color
|
||||||
|
QVariant value = index.data(Qt::TextColorRole);
|
||||||
|
if (value.isValid() && qvariant_cast<QColor>(value).isValid()){
|
||||||
|
opt.palette.setColor(QPalette::Text, qvariant_cast<QColor>(value));
|
||||||
|
}
|
||||||
|
QPalette::ColorGroup cg = option.state & QStyle::State_Enabled
|
||||||
|
? QPalette::Normal : QPalette::Disabled;
|
||||||
|
if (option.state & QStyle::State_Selected){
|
||||||
|
painter->setPen(opt.palette.color(cg, QPalette::HighlightedText));
|
||||||
|
}else{
|
||||||
|
painter->setPen(opt.palette.color(cg, QPalette::Text));
|
||||||
|
}
|
||||||
|
// draw the background color
|
||||||
|
if(index.column() != PROGRESS){
|
||||||
|
if (option.showDecorationSelected && (option.state & QStyle::State_Selected)){
|
||||||
|
if (cg == QPalette::Normal && !(option.state & QStyle::State_Active)){
|
||||||
|
cg = QPalette::Inactive;
|
||||||
|
}
|
||||||
|
painter->fillRect(option.rect, option.palette.brush(cg, QPalette::Highlight));
|
||||||
|
}else{
|
||||||
|
value = index.data(Qt::BackgroundColorRole);
|
||||||
|
if (value.isValid() && qvariant_cast<QColor>(value).isValid()){
|
||||||
|
painter->fillRect(option.rect, qvariant_cast<QColor>(value));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
switch(index.column()){
|
||||||
|
case SIZE:
|
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, misc::friendlyUnit(index.data().toLongLong()));
|
||||||
|
break;
|
||||||
|
case ETA:
|
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, misc::userFriendlyDuration(index.data().toLongLong()));
|
||||||
|
break;
|
||||||
|
case UPSPEED:
|
||||||
|
case DLSPEED:{
|
||||||
|
float speed = index.data().toDouble();
|
||||||
|
snprintf(tmp, MAX_CHAR_TMP, "%.1f", speed/1024.);
|
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, QString(tmp)+" "+tr("KiB/s"));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case PROGRESS:{
|
||||||
|
QStyleOptionProgressBarV2 newopt;
|
||||||
|
float progress;
|
||||||
|
progress = index.data().toDouble()*100.;
|
||||||
|
snprintf(tmp, MAX_CHAR_TMP, "%.1f", progress);
|
||||||
|
newopt.rect = opt.rect;
|
||||||
|
newopt.text = QString(tmp)+"%";
|
||||||
|
newopt.progress = (int)progress;
|
||||||
|
newopt.maximum = 100;
|
||||||
|
newopt.minimum = 0;
|
||||||
|
newopt.state |= QStyle::State_Enabled;
|
||||||
|
newopt.textVisible = false;
|
||||||
|
QApplication::style()->drawControl(QStyle::CE_ProgressBar, &newopt,
|
||||||
|
painter);
|
||||||
|
//We prefer to display text manually to control color/font/boldness
|
||||||
|
if (option.state & QStyle::State_Selected){
|
||||||
|
opt.palette.setColor(QPalette::Text, QColor("grey"));
|
||||||
|
painter->setPen(opt.palette.color(cg, QPalette::Text));
|
||||||
|
}
|
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, newopt.text);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case NAME:{
|
||||||
|
// decoration
|
||||||
|
value = index.data(Qt::DecorationRole);
|
||||||
|
QPixmap pixmap = qvariant_cast<QIcon>(value).pixmap(option.decorationSize, option.state & QStyle::State_Enabled ? QIcon::Normal : QIcon::Disabled, option.state & QStyle::State_Open ? QIcon::On : QIcon::Off);
|
||||||
|
QRect pixmapRect = (pixmap.isNull() ? QRect(0, 0, 0, 0): QRect(QPoint(0, 0), option.decorationSize));
|
||||||
|
if (pixmapRect.isValid()){
|
||||||
|
QPoint p = QStyle::alignedRect(option.direction, Qt::AlignLeft, pixmap.size(), option.rect).topLeft();
|
||||||
|
painter->drawPixmap(p, pixmap);
|
||||||
|
}
|
||||||
|
painter->drawText(option.rect.translated(pixmap.size().width(), 0), Qt::AlignLeft, index.data().toString());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
default:
|
||||||
|
painter->drawText(option.rect, Qt::AlignCenter, index.data().toString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const{
|
||||||
|
QVariant value = index.data(Qt::FontRole);
|
||||||
|
QFont fnt = value.isValid() ? qvariant_cast<QFont>(value) : option.font;
|
||||||
|
QFontMetrics fontMetrics(fnt);
|
||||||
|
const QString text = index.data(Qt::DisplayRole).toString();
|
||||||
|
QRect textRect = QRect(0, 0, 0, fontMetrics.lineSpacing() * (text.count(QLatin1Char('\n')) + 1));
|
||||||
|
return textRect.size();
|
||||||
|
}
|
||||||
|
|
||||||
|
// QWidget* createEditor(QWidget * parent, const QStyleOptionViewItem& /*option*/, const QModelIndex & index) const{
|
||||||
|
// if(index.column() == PROGRESS){
|
||||||
|
// QProgressBar *progressBar = new QProgressBar(parent);
|
||||||
|
// progressBar->setRange(0,100);
|
||||||
|
// progressBar->installEventFilter(const_cast<DLListDelegate*>(this));
|
||||||
|
// return progressBar;
|
||||||
|
// }
|
||||||
|
// return 0;
|
||||||
|
// }
|
||||||
|
// void setEditorData(QWidget *editor, const QModelIndex &index) const{
|
||||||
|
// QProgressBar *progressBar = static_cast<QProgressBar*>(editor);
|
||||||
|
// float progress = index.data().toDouble();
|
||||||
|
// progressBar->setValue((int)(progress*100.));
|
||||||
|
// }
|
||||||
|
// void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex & index) const{
|
||||||
|
// if(index.column() == PROGRESS){
|
||||||
|
// editor->setGeometry(option.rect);
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
2192
src/GUI.cpp
Normal file
195
src/GUI.h
Normal file
|
@ -0,0 +1,195 @@
|
||||||
|
/*
|
||||||
|
* Bittorrent Client using Qt4 and libtorrent.
|
||||||
|
* Copyright (C) 2006 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.
|
||||||
|
*
|
||||||
|
* Contact : chris@qbittorrent.org
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef GUI_H
|
||||||
|
#define GUI_H
|
||||||
|
|
||||||
|
#include <QMainWindow>
|
||||||
|
#include <QMap>
|
||||||
|
#include <QProcess>
|
||||||
|
#include <QTcpServer>
|
||||||
|
#include <QTcpSocket>
|
||||||
|
|
||||||
|
#include <libtorrent/entry.hpp>
|
||||||
|
#include <libtorrent/bencode.hpp>
|
||||||
|
#include <libtorrent/session.hpp>
|
||||||
|
#include <libtorrent/fingerprint.hpp>
|
||||||
|
#include <libtorrent/session_settings.hpp>
|
||||||
|
#include <libtorrent/identify_client.hpp>
|
||||||
|
#include <libtorrent/alert_types.hpp>
|
||||||
|
|
||||||
|
#include "ui_MainWindow.h"
|
||||||
|
#include "options_imp.h"
|
||||||
|
#include "about_imp.h"
|
||||||
|
#include "OSD.h"
|
||||||
|
#include "previewSelect.h"
|
||||||
|
#include "trackerLogin.h"
|
||||||
|
|
||||||
|
class createtorrent;
|
||||||
|
class QTimer;
|
||||||
|
class TrayIcon;
|
||||||
|
class DLListDelegate;
|
||||||
|
class SearchListDelegate;
|
||||||
|
class downloadThread;
|
||||||
|
class downloadFromURL;
|
||||||
|
|
||||||
|
using namespace libtorrent;
|
||||||
|
namespace fs = boost::filesystem;
|
||||||
|
|
||||||
|
class GUI : public QMainWindow, private Ui::MainWindow{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
private:
|
||||||
|
// Bittorrent
|
||||||
|
session *s;
|
||||||
|
std::pair<unsigned short, unsigned short> listenPorts;
|
||||||
|
QMap<QString, torrent_handle> handles;
|
||||||
|
QTimer *checkConnect;
|
||||||
|
QTimer *timerScan;
|
||||||
|
QMap<QString, QStringList> trackerErrors;
|
||||||
|
trackerLogin *tracker_login;
|
||||||
|
QList<QPair<torrent_handle,std::string> > unauthenticated_trackers;
|
||||||
|
downloadThread *downloader;
|
||||||
|
downloadFromURL *downloadFromURLDialog;
|
||||||
|
bool DHTEnabled;
|
||||||
|
// GUI related
|
||||||
|
options_imp *options;
|
||||||
|
createtorrent *createWindow;
|
||||||
|
QTimer *refresher;
|
||||||
|
TrayIcon *myTrayIcon;
|
||||||
|
QMenu *myTrayIconMenu;
|
||||||
|
about *aboutdlg;
|
||||||
|
QStandardItemModel *DLListModel;
|
||||||
|
DLListDelegate *DLDelegate;
|
||||||
|
QStandardItemModel *SearchListModel;
|
||||||
|
SearchListDelegate *SearchDelegate;
|
||||||
|
QStringList supported_preview_extensions;
|
||||||
|
// Preview
|
||||||
|
previewSelect *previewSelection;
|
||||||
|
QProcess *previewProcess;
|
||||||
|
// Search related
|
||||||
|
QMap<QString, QString> searchResultsUrls;
|
||||||
|
QProcess *searchProcess;
|
||||||
|
bool search_stopped;
|
||||||
|
bool no_search_results;
|
||||||
|
QByteArray search_result_line_truncated;
|
||||||
|
unsigned long nb_search_results;
|
||||||
|
OSD *OSDWindow;
|
||||||
|
QTcpServer *tcpServer;
|
||||||
|
QTcpSocket *clientConnection;
|
||||||
|
|
||||||
|
protected slots:
|
||||||
|
// GUI related slots
|
||||||
|
void dropEvent(QDropEvent *event);
|
||||||
|
void dragEnterEvent(QDragEnterEvent *event);
|
||||||
|
void centerWindow();
|
||||||
|
void toggleVisibility();
|
||||||
|
void showAbout();
|
||||||
|
void setInfoBar(const QString& info, const QString& color="black");
|
||||||
|
void updateDlList();
|
||||||
|
void showCreateWindow();
|
||||||
|
void clearLog();
|
||||||
|
void AnotherInstanceConnected();
|
||||||
|
void readParamsInFile();
|
||||||
|
void saveCheckedSearchEngines(int) const;
|
||||||
|
void saveColWidthDLList() const;
|
||||||
|
void saveColWidthSearchList() const;
|
||||||
|
void loadCheckedSearchEngines();
|
||||||
|
bool loadColWidthDLList();
|
||||||
|
bool loadColWidthSearchList();
|
||||||
|
void saveWindowSize() const;
|
||||||
|
void loadWindowSize();
|
||||||
|
void sortDownloadList(int index);
|
||||||
|
void sortDownloadListFloat(int index, Qt::SortOrder sortOrder);
|
||||||
|
void sortDownloadListString(int index, Qt::SortOrder sortOrder);
|
||||||
|
void sortSearchList(int index);
|
||||||
|
void sortSearchListInt(int index, Qt::SortOrder sortOrder);
|
||||||
|
void sortSearchListString(int index, Qt::SortOrder sortOrder);
|
||||||
|
void displayDLListMenu(const QPoint& pos);
|
||||||
|
void selectGivenRow(const QModelIndex& index);
|
||||||
|
void togglePausedState(const QModelIndex& index);
|
||||||
|
void displayInfoBarMenu(const QPoint& pos);
|
||||||
|
void displayGUIMenu(const QPoint& pos);
|
||||||
|
void previewFileSelection();
|
||||||
|
void previewFile(const QString& filePath);
|
||||||
|
void cleanTempPreviewFile(int, QProcess::ExitStatus);
|
||||||
|
// Torrent actions
|
||||||
|
void showProperties(const QModelIndex &index);
|
||||||
|
void propertiesSelection();
|
||||||
|
void addTorrents(const QStringList& pathsList, bool fromScanDir = false, const QString& from_url = QString());
|
||||||
|
void pauseAll();
|
||||||
|
void startAll();
|
||||||
|
void pauseSelection();
|
||||||
|
void startSelection();
|
||||||
|
void askForTorrents();
|
||||||
|
void deleteAll();
|
||||||
|
void deleteSelection();
|
||||||
|
void resumeUnfinished();
|
||||||
|
void saveFastResumeData() const;
|
||||||
|
void checkConnectionStatus();
|
||||||
|
void scanDirectory();
|
||||||
|
void setGlobalRatio(float ratio);
|
||||||
|
void configureSession();
|
||||||
|
void ProcessParams(const QStringList& params);
|
||||||
|
void addUnauthenticatedTracker(QPair<torrent_handle,std::string> tracker);
|
||||||
|
void processDownloadedFile(QString url, QString file_path, int return_code, QString errorBuffer);
|
||||||
|
void downloadFromURLList(const QStringList& url_list);
|
||||||
|
// Search slots
|
||||||
|
void on_search_button_clicked();
|
||||||
|
void on_stop_search_button_clicked();
|
||||||
|
void on_clear_button_clicked();
|
||||||
|
void on_download_button_clicked();
|
||||||
|
void on_update_nova_button_clicked();
|
||||||
|
void appendSearchResult(const QString& line);
|
||||||
|
void searchFinished(int exitcode,QProcess::ExitStatus);
|
||||||
|
void readSearchOutput();
|
||||||
|
void searchStarted();
|
||||||
|
void downloadSelectedItem(const QModelIndex& index);
|
||||||
|
// Utils slots
|
||||||
|
void setRowColor(int row, const QString& color, bool inDLList=true);
|
||||||
|
// Options slots
|
||||||
|
void showOptions() const;
|
||||||
|
void OptionsSaved(const QString& info);
|
||||||
|
// HTTP slots
|
||||||
|
void downloadFromUrl(const QString& url);
|
||||||
|
void askForTorrentUrl();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void setLocale(QString locale);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void closeEvent(QCloseEvent *);
|
||||||
|
void hideEvent(QHideEvent *);
|
||||||
|
|
||||||
|
public:
|
||||||
|
// Construct / Destruct
|
||||||
|
GUI(QWidget *parent=0, QStringList torrentCmdLine=QStringList());
|
||||||
|
~GUI();
|
||||||
|
// Methods
|
||||||
|
int getRowFromName(const QString& name) const;
|
||||||
|
float getNovaVersion(const QString& novaPath) const;
|
||||||
|
QByteArray getNovaChangelog(const QString& novaPath) const;
|
||||||
|
void updateNova() const;
|
||||||
|
bool isFilePreviewPossible(const torrent_handle& h) const;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
BIN
src/Icons/button_cancel.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/Icons/button_ok.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/Icons/encrypted.png
Normal file
After Width: | Height: | Size: 750 B |
BIN
src/Icons/filter.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/Icons/flags/bulgaria.png
Normal file
After Width: | Height: | Size: 173 B |
BIN
src/Icons/flags/china.png
Normal file
After Width: | Height: | Size: 284 B |
BIN
src/Icons/flags/china_hong_kong.png
Normal file
After Width: | Height: | Size: 431 B |
BIN
src/Icons/flags/france.png
Normal file
After Width: | Height: | Size: 156 B |
BIN
src/Icons/flags/germany.png
Normal file
After Width: | Height: | Size: 180 B |
BIN
src/Icons/flags/greece.png
Normal file
After Width: | Height: | Size: 382 B |
BIN
src/Icons/flags/italy.png
Normal file
After Width: | Height: | Size: 169 B |
BIN
src/Icons/flags/netherlands.png
Normal file
After Width: | Height: | Size: 167 B |
BIN
src/Icons/flags/poland.png
Normal file
After Width: | Height: | Size: 172 B |
BIN
src/Icons/flags/portugal.png
Normal file
After Width: | Height: | Size: 525 B |
BIN
src/Icons/flags/romania.png
Normal file
After Width: | Height: | Size: 156 B |
BIN
src/Icons/flags/russia.png
Normal file
After Width: | Height: | Size: 167 B |
BIN
src/Icons/flags/slovakia.png
Normal file
After Width: | Height: | Size: 440 B |
BIN
src/Icons/flags/south_korea.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/Icons/flags/spain.png
Normal file
After Width: | Height: | Size: 355 B |
BIN
src/Icons/flags/spain_catalunya.png
Normal file
After Width: | Height: | Size: 221 B |
BIN
src/Icons/flags/sweden.png
Normal file
After Width: | Height: | Size: 313 B |
BIN
src/Icons/flags/turkey.png
Normal file
After Width: | Height: | Size: 405 B |
BIN
src/Icons/flags/ukraine.png
Normal file
After Width: | Height: | Size: 200 B |
BIN
src/Icons/flags/united_kingdom.png
Normal file
After Width: | Height: | Size: 1 KiB |
BIN
src/Icons/home.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/Icons/locale.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
src/Icons/log.png
Normal file
After Width: | Height: | Size: 846 B |
BIN
src/Icons/proxy.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
26
src/Icons/qBittorrent.desktop
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Categories=Qt;Application;Network;P2P
|
||||||
|
Comment=V0.6.0
|
||||||
|
Encoding=UTF-8
|
||||||
|
Exec=qbittorrent
|
||||||
|
GenericName=Bittorrent client
|
||||||
|
GenericName[fr]=Client Bittorrent
|
||||||
|
GenericName[nl]=Bittorrent client
|
||||||
|
GenericName[es]=Cliente Bittorrent
|
||||||
|
GenericName[sv]=Bittorrent-klient
|
||||||
|
GenericName[tr]=Bittorrent istemcisi
|
||||||
|
GenericName[de]=Bittorren Client
|
||||||
|
GenericName[pl]=Klient Bittorrent
|
||||||
|
GenericName[zh]=Bittorrent之用户
|
||||||
|
GenericName[ko]=비토렌트 클라이언트
|
||||||
|
GenericName[el]=Τορεντ πελάτης
|
||||||
|
GenericName[bg]=Торент клиент
|
||||||
|
GenericName[uk]=Bittorrent-клієнт
|
||||||
|
GenericName[ru]=клиент Bittorrent
|
||||||
|
Icon=qbittorrent
|
||||||
|
MimeType=application/x-bittorrent
|
||||||
|
Name=qBittorrent
|
||||||
|
Name[ko]=큐비토런트
|
||||||
|
Terminal=false
|
||||||
|
Type=Application
|
||||||
|
|
BIN
src/Icons/qbittorrent16.png
Normal file
After Width: | Height: | Size: 965 B |
BIN
src/Icons/qbittorrent22.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
src/Icons/qbittorrent32.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/Icons/skin/add.png
Normal file
After Width: | Height: | Size: 496 B |
BIN
src/Icons/skin/connected.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/Icons/skin/connecting.png
Normal file
After Width: | Height: | Size: 576 B |
BIN
src/Icons/skin/delete.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/Icons/skin/delete_all.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/Icons/skin/disconnected.png
Normal file
After Width: | Height: | Size: 2 KiB |
BIN
src/Icons/skin/downloading.png
Normal file
After Width: | Height: | Size: 463 B |
BIN
src/Icons/skin/exit.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/Icons/skin/firewalled.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/Icons/skin/info.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/Icons/skin/new.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/Icons/skin/open.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/Icons/skin/pause.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
src/Icons/skin/pause_all.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/Icons/skin/paused.png
Normal file
After Width: | Height: | Size: 257 B |
BIN
src/Icons/skin/play.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/Icons/skin/play_all.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/Icons/skin/preview.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/Icons/skin/properties.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/Icons/skin/remove.png
Normal file
After Width: | Height: | Size: 304 B |
BIN
src/Icons/skin/search.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/Icons/skin/seeding.png
Normal file
After Width: | Height: | Size: 427 B |
BIN
src/Icons/skin/settings.png
Normal file
After Width: | Height: | Size: 2.4 KiB |