Introduce version 2.7.3, the latest in the new 2.7.x branch.

It has the following new features vs. 2.6.x:
    - FEATURE: Added search field for torrent content
    - FEATURE: Added auto-shutdown confirmation dialog
    - FEATURE: Added option to skip torrent deletion confirmation
	       (Ville Kiiskinen)
    - FEATURE: IP address reported to trackers is now customizable
    - FEATURE: Inhibit system sleep when torrents are active
	       (Vladimir Golovnev)
    - FEATURE: Added option to bypass Web UI authentication for localhost
    - FEATURE: Added option to disable program exit confirmation
    - FEATURE: Added per-torrent ratio limiting (Christian Kandeler)
    - FEATURE: Torrent content list is now sortable
    - BUGFIX: Fix compilation with namespaced Qt (Christian Kandeler)
    - BUGFIX: Added length restriction on UI lock password
    - COSMETIC: Added monochrome tray icon
    - COSMETIC: Improved status bar's style
    - OTHER: Make QtDBus dependency optional (X11)

Differences in this port vs. the -26 version:
* libnotify is no longer used, but qtdbus is now optional, so
  update OPTIONS and related code accordingly
This commit is contained in:
Doug Barton 2011-04-17 02:30:16 +00:00
parent f834b1994b
commit 53aadedc4c
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=272825
9 changed files with 371 additions and 0 deletions

View file

@ -104,6 +104,8 @@
SUBDIR += py-vertex
SUBDIR += qbittorrent-26
SUBDIR += qbittorrent-26-nox11
SUBDIR += qbittorrent-27
SUBDIR += qbittorrent-27-nox11
SUBDIR += qtella
SUBDIR += qtorrent
SUBDIR += rtgui

View file

@ -0,0 +1,21 @@
# New ports collection makefile for: qbittorrent-nox11-27
# Date created: 16 April 2011
# Whom: dougb@FreeBSD.org
#
# $FreeBSD$
#
PKGNAMESUFFIX= -nox11
COMMENT= Bittorrent client using libtorrent-rasterbar, web UI version
MASTERDIR= ${.CURDIR}/../qbittorrent-27
DESCR= ${.CURDIR}/pkg-descr
PLIST= ${.CURDIR}/pkg-plist
MAN1= qbittorrent-nox.1
QB27_NOX_SLAVE= true
.include "${MASTERDIR}/Makefile"

View file

@ -0,0 +1,23 @@
qBittorrent v2 is the closest open source (GNU GPL v2 license) equivalent
to utorrent. It is based on libtorrent-rasterbar.
Features:
Remote control through a Web user interface
* Nearly identical to the regular UI, all in Ajax
Well-integrated and extensible Search Engine
Simultaneous search in most famous BitTorrent search sites
Per-category-specific search requests (e.g. Books, Music, Movies)
All Bittorrent extensions
* DHT, Peer Exchange, Full encryption, Magnet URI
Advanced control over trackers, peers and torrents
* Torrents queueing and prioritizing
* Torrent content selection and prioritizing
UPnP / NAT-PMP port forwarding support
Available in ~25 languages (Unicode support)
utorrent spoofing to bypass private trackers whitelisting
Advanced RSS support with download filters (inc. regex)
IP Filtering (eMule and PeerGuardian compatible)
WWW: http://www.qbittorrent.org/

View file

@ -0,0 +1 @@
bin/qbittorrent-nox

View file

@ -0,0 +1,60 @@
# New ports collection makefile for: qbittorrent-27
# Date created: 16 April 2011
# Whom: dougb@FreeBSD.org
#
# $FreeBSD$
#
PORTNAME= qbittorrent
PORTVERSION= 2.7.3
PORTREVISION?= 0
CATEGORIES= net-p2p ipv6
MASTER_SITES= SF/${PORTNAME}/${PORTNAME}/${PORTNAME}-${PORTVERSION}/
MAINTAINER= dougb@FreeBSD.org
COMMENT?= Bittorrent client using Qt4 and libtorrent-rasterbar
LIB_DEPENDS= execinfo.1:${PORTSDIR}/devel/libexecinfo \
torrent-rasterbar.6:${PORTSDIR}/net-p2p/libtorrent-rasterbar-15
MAKE_JOBS_SAFE= yes
CONFLICTS= qbittorrent-2.[2345689].*
USE_QT_VER= 4
QT_COMPONENTS= corelib network qmake_build moc_build rcc_build
.if !defined(QB27_NOX_SLAVE)
.if defined(WITHOUT_X11)
BROKEN= Use net-p2p/${PORTNAME}-nox11 for the non-GUI version
.endif
LIB_DEPENDS+= GeoIP.5:${PORTSDIR}/net/GeoIP
OPTIONS= DBUS "Enable dbus support" off
QT_COMPONENTS+= gui xml uic_build
INSTALLS_ICONS= yes
.else
CONFIGURE_ARGS+= --disable-gui
.endif
QT_NONSTANDARD= yes
HAS_CONFIGURE= yes
MAN1?= qbittorrent.1
.include <bsd.port.pre.mk>
.if defined(WITH_DBUS)
QT_COMPONENTS+= dbus
.else
CONFIGURE_ARGS+= --disable-qt-dbus
.endif
post-install:
.if !defined(QB27_NOX_SLAVE)
@${STRIP_CMD} ${PREFIX}/bin/qbittorrent
.else
@${STRIP_CMD} ${PREFIX}/bin/qbittorrent-nox
${INSTALL_MAN} ${WRKSRC}/doc/qbittorrent-nox.1 ${MANPREFIX}/man/man1
.endif
.include <bsd.port.post.mk>

View file

@ -0,0 +1,2 @@
SHA256 (qbittorrent-2.7.3.tar.gz) = 256412dede40645a434fbbbc4582298eaefc1e33c17b8e6b8a88cb86bb2850d5
SIZE (qbittorrent-2.7.3.tar.gz) = 3158727

View file

@ -0,0 +1,201 @@
diff -ur ./src/main.cpp ./src/main.cpp
--- ./src/main.cpp 2011-03-20 06:04:59.000000000 -0700
+++ ./src/main.cpp 2011-04-16 18:06:19.000000000 -0700
@@ -153,6 +153,15 @@
}
#endif
+#ifndef DISABLE_GUI
+void useStyle(QString style){
+ if(!style.isEmpty()) {
+ QApplication::setStyle(QStyleFactory::create(style));
+ }
+ Preferences().setStyle(QApplication::style()->objectName());
+}
+#endif
+
// Main
int main(int argc, char *argv[]){
// Create Application
@@ -277,6 +286,7 @@
}
#ifndef DISABLE_GUI
+ useStyle(pref.getStyle());
app.setStyleSheet("QStatusBar::item { border-width: 0; }");
#endif
diff -ur ./src/preferences/options.ui ./src/preferences/options.ui
--- ./src/preferences/options.ui 2011-04-09 02:12:42.000000000 -0700
+++ ./src/preferences/options.ui 2011-04-16 18:42:55.000000000 -0700
@@ -238,6 +238,45 @@
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="StyleSettingsBox">
+ <property name="title">
+ <string>Style</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_41">
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout">
+ <item>
+ <widget class="QLabel" name="lblStyle">
+ <property name="text">
+ <string>Visual style:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="comboStyle"/>
+ </item>
+ <item>
+ <spacer>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>Transfer list</string>
diff -ur ./src/preferences/options_imp.cpp ./src/preferences/options_imp.cpp
--- ./src/preferences/options_imp.cpp 2011-03-26 02:05:54.000000000 -0700
+++ ./src/preferences/options_imp.cpp 2011-04-16 18:10:56.000000000 -0700
@@ -36,6 +36,7 @@
#include <QDialogButtonBox>
#include <QCloseEvent>
#include <QDesktopWidget>
+#include <QStyleFactory>
#include <QTranslator>
#include <libtorrent/version.hpp>
@@ -87,6 +88,7 @@
connect(scanFoldersView->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(handleScanFolderViewSelectionChanged()));
connect(buttonBox, SIGNAL(clicked(QAbstractButton*)), this, SLOT(applySettings(QAbstractButton*)));
+ comboStyle->addItems(QStyleFactory::keys());
// Languages supported
initializeLanguageCombo();
@@ -127,6 +129,7 @@
// Apply button is activated when a value is changed
// General tab
connect(comboI18n, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton()));
+ connect(comboStyle, SIGNAL(currentIndexChanged(int)), this, SLOT(enableApplyButton()));
connect(checkAltRowColors, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
connect(checkShowSystray, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
connect(checkCloseToSystray, SIGNAL(toggled(bool)), this, SLOT(enableApplyButton()));
@@ -258,6 +261,10 @@
tabOption->setCurrentIndex(tabSelection->row(current));
}
+void options_imp::useStyle() {
+ QApplication::setStyle(QStyleFactory::create(comboStyle->itemText(comboStyle->currentIndex())));
+}
+
void options_imp::loadWindowState() {
QIniSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
resize(settings.value(QString::fromUtf8("Preferences/State/size"), sizeFittingScreen()).toSize());
@@ -311,6 +318,8 @@
void options_imp::saveOptions(){
applyButton->setEnabled(false);
Preferences pref;
+ // Apply style
+ useStyle();
// Load the translation
QString locale = getLocale();
if(pref.getLocale() != locale) {
@@ -325,6 +334,7 @@
// General preferences
pref.setLocale(locale);
+ pref.setStyle(getStyle());
pref.setAlternatingRowColors(checkAltRowColors->isChecked());
pref.setSystrayIntegration(systrayIntegration());
pref.setUseMonochromeTrayIcon(checkUseMonoSystrayIcon->isChecked());
@@ -459,6 +469,16 @@
}
}
+QString options_imp::getStyle() const{
+ return comboStyle->itemText(comboStyle->currentIndex());
+}
+
+void options_imp::setStyle(QString style) {
+ int index = comboStyle->findText(style, Qt::MatchFixedString);
+ if(index > 0)
+ comboStyle->setCurrentIndex(index);
+}
+
void options_imp::loadOptions(){
int intValue;
qreal floatValue;
@@ -466,6 +486,7 @@
// General preferences
const Preferences pref;
setLocale(pref.getLocale());
+ setStyle(pref.getStyle());
checkAltRowColors->setChecked(pref.useAlternatingRowColors());
checkShowSystray->setChecked(pref.systrayIntegration());
checkShowSplash->setChecked(!pref.isSlashScreenDisabled());
diff -ur ./src/preferences/options_imp.h ./src/preferences/options_imp.h
--- ./src/preferences/options_imp.h 2011-03-20 06:04:59.000000000 -0700
+++ ./src/preferences/options_imp.h 2011-04-16 18:11:19.000000000 -0700
@@ -63,6 +63,7 @@
void enableMaxConnecsLimitPerTorrent(bool checked);
void enableMaxUploadsLimitPerTorrent(bool checked);
void enableMaxRatio(bool checked);
+ void setStyle(QString style);
void on_buttonBox_accepted();
void closeEvent(QCloseEvent *e);
void on_buttonBox_rejected();
@@ -87,6 +88,7 @@
public slots:
void setLocale(QString locale);
+ void useStyle();
void showConnectionTab();
signals:
@@ -101,6 +103,7 @@
static QString languageToLocalizedString(QLocale::Language language, const QString& country);
// General options
QString getLocale() const;
+ QString getStyle() const;
bool systrayIntegration() const;
bool minimizeToTray() const;
bool closeToTray() const;
diff -ur ./src/preferences/preferences.h ./src/preferences/preferences.h
--- ./src/preferences/preferences.h 2011-03-23 09:50:59.000000000 -0700
+++ ./src/preferences/preferences.h 2011-04-16 18:06:19.000000000 -0700
@@ -77,6 +77,14 @@
setValue(QString::fromUtf8("Preferences/General/Locale"), locale);
}
+ QString getStyle() const {
+ return value(QString::fromUtf8("Preferences/General/Style"), "").toString();
+ }
+
+ void setStyle(const QString &style) {
+ setValue(QString::fromUtf8("Preferences/General/Style"), style);
+ }
+
bool useProgramNotification() const {
return value(QString::fromUtf8("Preferences/General/ProgramNotification"), true).toBool();
}

View file

@ -0,0 +1,22 @@
qBittorrent v2 is the closest open source (GNU GPL v2 license) equivalent
to utorrent. It is based on the Qt4 toolkit and libtorrent-rasterbar.
Features:
Well-integrated and extensible Search Engine
Simultaneous search in most famous BitTorrent search sites
Per-category-specific search requests (e.g. Books, Music, Movies)
All Bittorrent extensions
* DHT, Peer Exchange, Full encryption, Magnet URI
Remote control through a Web user interface
* Nearly identical to the regular UI, all in Ajax
Advanced control over trackers, peers and torrents
* Torrents queueing and prioritizing
* Torrent content selection and prioritizing
UPnP / NAT-PMP port forwarding support
Available in ~25 languages (Unicode support)
uTorrent spoofing to bypass private trackers whitelisting
Advanced RSS support with download filters (inc. regex)
IP Filtering (eMule and PeerGuardian compatible)
WWW: http://www.qbittorrent.org/

View file

@ -0,0 +1,39 @@
bin/qbittorrent
share/applications/qBittorrent.desktop
share/icons/hicolor/128x128/apps/qbittorrent.png
share/icons/hicolor/16x16/apps/qbittorrent.png
share/icons/hicolor/192x192/apps/qbittorrent.png
share/icons/hicolor/22x22/apps/qbittorrent.png
share/icons/hicolor/24x24/apps/qbittorrent.png
share/icons/hicolor/32x32/apps/qbittorrent.png
share/icons/hicolor/36x36/apps/qbittorrent.png
share/icons/hicolor/48x48/apps/qbittorrent.png
share/icons/hicolor/64x64/apps/qbittorrent.png
share/icons/hicolor/72x72/apps/qbittorrent.png
share/icons/hicolor/96x96/apps/qbittorrent.png
share/pixmaps/qbittorrent.png
@dirrmtry share/icons/hicolor/96x96/apps
@dirrmtry share/icons/hicolor/96x96
@dirrmtry share/icons/hicolor/72x72/apps
@dirrmtry share/icons/hicolor/72x72
@dirrmtry share/icons/hicolor/64x64/apps
@dirrmtry share/icons/hicolor/64x64
@dirrmtry share/icons/hicolor/48x48/apps
@dirrmtry share/icons/hicolor/48x48
@dirrmtry share/icons/hicolor/36x36/apps
@dirrmtry share/icons/hicolor/36x36
@dirrmtry share/icons/hicolor/32x32/apps
@dirrmtry share/icons/hicolor/32x32
@dirrmtry share/icons/hicolor/24x24/apps
@dirrmtry share/icons/hicolor/24x24
@dirrmtry share/icons/hicolor/22x22/apps
@dirrmtry share/icons/hicolor/22x22
@dirrmtry share/icons/hicolor/192x192/apps
@dirrmtry share/icons/hicolor/192x192
@dirrmtry share/icons/hicolor/16x16/apps
@dirrmtry share/icons/hicolor/16x16
@dirrmtry share/icons/hicolor/128x128/apps
@dirrmtry share/icons/hicolor/128x128
@dirrmtry share/icons/hicolor
@dirrmtry share/icons
@dirrmtry share/applications