Browse Source

- Rewrote the bar to display the downloaded piece as the one we had was overly complicated

adaptive-webui-19844
Christophe Dumez 15 years ago
parent
commit
fb6b40ccd1
  1. 60
      src/downloadedpiecesbar.h
  2. 29
      src/propertieswidget.cpp
  3. 6
      src/propertieswidget.h
  4. 33
      src/qrealarray.cpp
  5. 41
      src/qrealarray.h
  6. 115
      src/realprogressbar.cpp
  7. 79
      src/realprogressbar.h
  8. 170
      src/realprogressbarthread.cpp
  9. 79
      src/realprogressbarthread.h
  10. 9
      src/src.pro
  11. 18
      src/ui/propertieswidget.ui

60
src/downloadedpiecesbar.h

@ -0,0 +1,60 @@ @@ -0,0 +1,60 @@
#ifndef DOWNLOADEDPIECESBAR_H
#define DOWNLOADEDPIECESBAR_H
#include <QWidget>
#include <QPainter>
#include <QList>
#include <QPixmap>
#include <libtorrent/bitfield.hpp>
using namespace libtorrent;
#define BAR_HEIGHT 18
class DownloadedPiecesBar: public QWidget {
Q_OBJECT
private:
QPixmap pixmap;
public:
DownloadedPiecesBar(QWidget *parent): QWidget(parent) {
setFixedHeight(BAR_HEIGHT);
}
void setProgress(bitfield pieces) {
if(pieces.empty()) {
// Empty bar
pixmap = QPixmap(1, 1);
QPainter painter(&pixmap);
painter.setPen(Qt::white);
painter.drawPoint(0,0);
} else {
pixmap = QPixmap(pieces.size(), 1);
QPainter painter(&pixmap);
for(uint i=0; i<pieces.size(); ++i) {
if(pieces[i])
painter.setPen(Qt::blue);
else
painter.setPen(Qt::white);
painter.drawPoint(i,0);
}
}
update();
}
void clear() {
pixmap = QPixmap();
update();
}
protected:
void paintEvent(QPaintEvent *) {
if(pixmap.isNull()) return;
QPainter painter(this);
painter.drawPixmap(rect(), pixmap);
}
};
#endif // DOWNLOADEDPIECESBAR_H

29
src/propertieswidget.cpp

@ -41,14 +41,13 @@ @@ -41,14 +41,13 @@
#include "propertieswidget.h"
#include "transferlistwidget.h"
#include "torrentpersistentdata.h"
#include "realprogressbar.h"
#include "realprogressbarthread.h"
#include "bittorrent.h"
#include "proplistdelegate.h"
#include "torrentfilesmodel.h"
#include "peerlistwidget.h"
#include "trackerlist.h"
#include "GUI.h"
#include "downloadedpiecesbar.h"
#ifdef Q_WS_MAC
#define DEFAULT_BUTTON_CSS ""
@ -99,17 +98,16 @@ PropertiesWidget::PropertiesWidget(QWidget *parent, GUI* main_window, TransferLi @@ -99,17 +98,16 @@ PropertiesWidget::PropertiesWidget(QWidget *parent, GUI* main_window, TransferLi
connect(stackedProperties, SIGNAL(currentChanged(int)), this, SLOT(loadDynamicData()));
// Downloaded pieces progress bar
progressBar = new RealProgressBar(this);
progressBar->setForegroundColor(Qt::blue);
ProgressHLayout->insertWidget(1, progressBar);
downloaded_pieces = new DownloadedPiecesBar(this);
//progressBar = new RealProgressBar(this);
//progressBar->setForegroundColor(Qt::blue);
ProgressHLayout->insertWidget(1, downloaded_pieces);
// Tracker list
trackerList = new TrackerList(this);
verticalLayout_trackers->addWidget(trackerList);
// Peers list
peersList = new PeerListWidget(this);
peerpage_layout->addWidget(peersList);
// Pointers init
progressBarUpdater = 0;
// Dynamic data refresher
refreshTimer = new QTimer(this);
connect(refreshTimer, SIGNAL(timeout()), this, SLOT(loadDynamicData()));
@ -119,11 +117,9 @@ PropertiesWidget::PropertiesWidget(QWidget *parent, GUI* main_window, TransferLi @@ -119,11 +117,9 @@ PropertiesWidget::PropertiesWidget(QWidget *parent, GUI* main_window, TransferLi
PropertiesWidget::~PropertiesWidget() {
saveSettings();
delete refreshTimer;
if(progressBarUpdater)
delete progressBarUpdater;
delete trackerList;
delete peersList;
delete progressBar;
delete downloaded_pieces;
delete PropListModel;
delete PropDelegate;
// Delete QActions
@ -166,8 +162,9 @@ void PropertiesWidget::clear() { @@ -166,8 +162,9 @@ void PropertiesWidget::clear() {
lbl_creationDate->clear();
hash_lbl->clear();
comment_text->clear();
progress_lbl->clear();
trackerList->clear();
progressBar->setProgress(QRealArray());
downloaded_pieces->clear();
wasted->clear();
upTotal->clear();
dlTotal->clear();
@ -197,10 +194,6 @@ void PropertiesWidget::loadTorrentInfos(QTorrentHandle &_h) { @@ -197,10 +194,6 @@ void PropertiesWidget::loadTorrentInfos(QTorrentHandle &_h) {
return;
}
setEnabled(true);
if(progressBarUpdater) {
delete progressBarUpdater;
progressBarUpdater = 0;
}
try {
// Save path
@ -213,9 +206,6 @@ void PropertiesWidget::loadTorrentInfos(QTorrentHandle &_h) { @@ -213,9 +206,6 @@ void PropertiesWidget::loadTorrentInfos(QTorrentHandle &_h) {
comment_text->setHtml(h.comment());
// URL seeds
loadUrlSeeds();
// downloaded pieces updater
progressBarUpdater = new RealProgressBarThread(progressBar, h);
progressBarUpdater->start();
// List files in torrent
PropListModel->clear();
PropListModel->setupModelData(h.get_torrent_info());
@ -316,8 +306,7 @@ void PropertiesWidget::loadDynamicData() { @@ -316,8 +306,7 @@ void PropertiesWidget::loadDynamicData() {
}
shareRatio->setText(QString(QByteArray::number(ratio, 'f', 1)));
// Downloaded pieces
if(progressBarUpdater)
progressBarUpdater->refresh();
downloaded_pieces->setProgress(h.pieces());
// Progress
progress_lbl->setText(QString::number(h.progress()*100., 'f', 1)+"%");
return;

6
src/propertieswidget.h

@ -38,8 +38,6 @@ @@ -38,8 +38,6 @@
class TransferListWidget;
class QTimer;
class RealProgressBar;
class RealProgressBarThread;
class Bittorrent;
class TorrentFilesModel;
class PropListDelegate;
@ -48,6 +46,7 @@ class torrent_file; @@ -48,6 +46,7 @@ class torrent_file;
class PeerListWidget;
class TrackerList;
class GUI;
class DownloadedPiecesBar;
enum Tab {MAIN_TAB, TRACKERS_TAB, PEERS_TAB, URLSEEDS_TAB, FILES_TAB};
enum SlideState {REDUCED, VISIBLE};
@ -60,8 +59,6 @@ private: @@ -60,8 +59,6 @@ private:
GUI *main_window;
QTorrentHandle h;
QTimer *refreshTimer;
RealProgressBar *progressBar;
RealProgressBarThread *progressBarUpdater;
Bittorrent* BTSession;
SlideState state;
TorrentFilesModel *PropListModel;
@ -73,6 +70,7 @@ private: @@ -73,6 +70,7 @@ private:
QAction *actionMaximum;
QAction *actionHigh;
QList<int> slideSizes;
DownloadedPiecesBar *downloaded_pieces;
protected:
QPushButton* getButtonFromIndex(int index);

33
src/qrealarray.cpp

@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2006 Christophe Dumez, Arnaud Demaiziere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org, arnaud@qbittorrent.org
*/
#include "qrealarray.h"
int id = qRegisterMetaType<QRealArray>();

41
src/qrealarray.h

@ -1,41 +0,0 @@ @@ -1,41 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2006 Christophe Dumez, Arnaud Demaiziere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org, arnaud@qbittorrent.org
*/
#ifndef QREALARRAY_H
#define QREALARRAY_H
#include <QVarLengthArray>
#include <QMetaType>
typedef QVarLengthArray<qreal, 256> QRealArray;
Q_DECLARE_METATYPE(QRealArray)
#endif

115
src/realprogressbar.cpp

@ -1,115 +0,0 @@ @@ -1,115 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2006 Christophe Dumez, Arnaud Demaiziere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org, arnaud@qbittorrent.org
*/
#include "realprogressbar.h"
#include <QPainter>
#include <QtDebug>
#include <QResizeEvent>
RealProgressBar::RealProgressBar(QWidget *parent): QWidget(parent), array(1) {
background = Qt::white;
foreground = Qt::black;
setFixedHeight(18);
active = false;
array[0] = 0.;
drawPixmap();
}
RealProgressBar::~RealProgressBar()
{
qDebug("RealProgressBar destruction");
}
void RealProgressBar::setBackgroundColor(const QColor &newColor)
{
background = newColor;
drawPixmap();
}
void RealProgressBar::setForegroundColor(const QColor &newColor)
{
foreground = newColor;
drawPixmap();
}
/*
void RealProgressBar::setThread(const RealProgressBarThread *newThread)
{
thread = newThread;
}
*/
void RealProgressBar::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.drawPixmap(rect(), pixmap);
}
void RealProgressBar::resizeEvent(QResizeEvent *event)
{
if(width() != event->oldSize().width())
emit widthChanged(width());
}
void RealProgressBar::setProgress(QRealArray progress)
{
qDebug("setProgress called");
array = progress;
drawPixmap();
}
void RealProgressBar::drawPixmap()
{
if(pixmap.width() != array.size())
pixmap = QPixmap(array.size(), 1);
QPainter painter(&pixmap);
for(int i=0; i<array.size(); i++)
{
painter.setPen(penColor(array[i]));
painter.drawPoint(i,0);
}
update();
}
QColor RealProgressBar::penColor(qreal x)
{
if(x < 0.)
x = 0.;
else
if(x > 1.)
x = 1.;
qreal y = 1. - x;
// Q_ASSERT(x >= 0.);
// Q_ASSERT(y >= 0.);
qreal r1, g1, b1, a1, r2, g2, b2, a2;
foreground.getRgbF(&r1, &g1, &b1, &a1);
background.getRgbF(&r2, &g2, &b2, &a2);
QColor color;
color.setRgbF(x*r1+y*r2, x*g1+y*g2, x*b1+y*b2, x*a1+y*a2);
return color;
}

79
src/realprogressbar.h

@ -1,79 +0,0 @@ @@ -1,79 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2006 Christophe Dumez, Arnaud Demaiziere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org, arnaud@qbittorrent.org
*/
#ifndef REALPROGRESSBAR_H
#define REALPROGRESSBAR_H
#include "qrealarray.h"
#include <QWidget>
#include <QPixmap>
class RealProgressBar : public QWidget
{
Q_OBJECT
Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor)
Q_PROPERTY(QColor foregroundColor READ foregroundColor WRITE setForegroundColor)
private:
QColor foreground;
QColor background;
bool active;
QPixmap pixmap;
// RealProgressBarThread *thread;
QRealArray array;
public:
RealProgressBar(QWidget *parent = 0);
~RealProgressBar();
void setBackgroundColor(const QColor &newColor);
QColor backgroundColor() const {return background;}
void setForegroundColor(const QColor &newColor);
QColor foregroundColor() const {return foreground;}
// void setThread(const RealProgressBarThread *newThread);
// RealProgressBarThread *thread() const {return thread;}
public slots:
void setProgress(QRealArray progress);
signals:
void widthChanged(int width);
protected:
void paintEvent(QPaintEvent *event);
void resizeEvent(QResizeEvent *event);
private:
void drawPixmap();
QColor penColor(qreal f);
};
#endif

170
src/realprogressbarthread.cpp

@ -1,170 +0,0 @@ @@ -1,170 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2006 Christophe Dumez, Arnaud Demaiziere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org, arnaud@qbittorrent.org
*/
#include "realprogressbarthread.h"
#include "realprogressbar.h"
#include <QtDebug>
#include <QMutexLocker>
RealProgressBarThread::RealProgressBarThread(RealProgressBar *pb, QTorrentHandle &handle) : QThread(pb), thandle(handle), array(pb->width()){
size = pb->width();
abort = false;
connect(pb, SIGNAL(widthChanged(int)), this, SLOT(resize(int)), Qt::DirectConnection);
connect(this, SIGNAL(refreshed(QRealArray)), pb, SLOT(setProgress(QRealArray)));
}
RealProgressBarThread::~RealProgressBarThread(){
qDebug("RealProgressBarThread destruction");
resize(-1);
qDebug("RealProgressBarThread waiting");
wait();
qDebug("RealProgressBarThread destroyed");
}
void RealProgressBarThread::resize(int width)
{
QMutexLocker locker(&mutex);
size = width;
abort = true;
condition.wakeOne();
}
void RealProgressBarThread::refresh()
{
QMutexLocker locker(&mutex);
condition.wakeOne();
}
void RealProgressBarThread::run(){
forever
{
//start checking the torrent information
if(ifInterrupted() == stop)
{
qDebug("RealProgressBarThread stop");
return;
}
size_type total_size = thandle.total_size();
size_type piece_length = thandle.piece_length();
int num_pieces = thandle.num_pieces();
bitfield pieces = thandle.pieces();
//pieces not returned
if (pieces.empty())
{
qDebug("pieces vector not returned");
return;
}
//empty the array
mutex.lock();
for(int i=0; i<array.size(); i++)
array[i] = 0.;
mutex.unlock();
qreal subfraction = array.size() / (qreal) total_size;
qreal fraction = subfraction * piece_length;
bool success = true;
//fill the array with complete pieces
for(int i=0; i<num_pieces; i++)
{
Interrupt temp = ifInterrupted();
if (temp == stop)
{
qDebug("RealProgressBarThread stop");
return;
}
if (temp == restart)
{
qDebug("RealProgressBarThread restart");
success = false;
break;
}
qreal start = i * fraction;
qreal end = start + fraction;
if(pieces[i])
mark(start, end);
}
if (success)
{
/*
qreal sum = 0.;
mutex.lock();
for(int i=0; i<array.size(); i++)
sum += array[i];
qDebug()<<"progress:"<<sum*100./array.size();
mutex.unlock();*/
qDebug("refreshed emmitted");
emit refreshed(array);
//wait for refresh or rezise slot
mutex.lock();
condition.wait(&mutex);
mutex.unlock();
}
}
}
Interrupt RealProgressBarThread::ifInterrupted()
{
QMutexLocker locker(&mutex);
if(abort)
{
abort = false;
if(size < 0)
return stop;
if(size != array.size())
{
array.resize(size);
return restart;
}
}
return ignore;
}
void RealProgressBarThread::mark(qreal start, qreal end, qreal progress){
QMutexLocker locker(&mutex);
if (end > array.size())
end = array.size();
int start_int, end_int;
qreal start_frac, end_frac;
double temp;
start_frac = modf(start, &temp);
start_int = (int) temp;
end_frac = modf(end, &temp);
end_int = (int) temp;
if(start_int == end_int)
{
array[start_int] += progress * (end - start);
return;
}
if (start_frac > 0.)
array[start_int] += progress * (1 - start_frac);
if (end_frac > 0.)
array[end_int] += progress * end_frac;
for(int i=start_int+1; i<end_int; i++)
array[i] += progress;
}

79
src/realprogressbarthread.h

@ -1,79 +0,0 @@ @@ -1,79 +0,0 @@
/*
* Bittorrent Client using Qt4 and libtorrent.
* Copyright (C) 2006 Christophe Dumez, Arnaud Demaiziere
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* In addition, as a special exception, the copyright holders give permission to
* link this program with the OpenSSL project's "OpenSSL" library (or with
* modified versions of it that use the same license as the "OpenSSL" library),
* and distribute the linked executables. You must obey the GNU General Public
* License in all respects for all of the code used other than "OpenSSL". If you
* modify file(s), you may extend this exception to your version of the file(s),
* but you are not obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*
* Contact : chris@qbittorrent.org, arnaud@qbittorrent.org
*/
#ifndef REALPROGRESSBARTHREAD_H
#define REALPROGRESSBARTHREAD_H
#include "qtorrenthandle.h"
#include "qrealarray.h"
#include <QThread>
#include <QMutex>
#include <QWaitCondition>
class RealProgressBar;
enum Interrupt
{
ignore,
restart,
stop
};
class RealProgressBarThread : public QThread {
Q_OBJECT
private:
bool abort;
int size;
QTorrentHandle thandle;
QMutex mutex;
QWaitCondition condition;
QRealArray array;
public:
RealProgressBarThread(RealProgressBar *pb, QTorrentHandle &handle);
~RealProgressBarThread();
public slots:
void resize(int width);
void refresh();
signals:
void refreshed(QRealArray progress);
protected:
void run();
private:
Interrupt ifInterrupted();
void mark(qreal start, qreal end, qreal progress = 1.);
};
#endif

9
src/src.pro

@ -163,9 +163,6 @@ HEADERS += GUI.h \ @@ -163,9 +163,6 @@ HEADERS += GUI.h \
engineselectdlg.h \
pluginsource.h \
qgnomelook.h \
realprogressbar.h \
realprogressbarthread.h \
qrealarray.h \
httpserver.h \
httpconnection.h \
httprequestparser.h \
@ -196,7 +193,8 @@ HEADERS += GUI.h \ @@ -196,7 +193,8 @@ HEADERS += GUI.h \
peeraddition.h \
deletionconfirmationdlg.h \
statusbar.h \
trackerlist.h
trackerlist.h \
downloadedpiecesbar.h
FORMS += ui/mainwindow.ui \
ui/options.ui \
ui/about.ui \
@ -226,9 +224,6 @@ SOURCES += GUI.cpp \ @@ -226,9 +224,6 @@ SOURCES += GUI.cpp \
qtorrenthandle.cpp \
engineselectdlg.cpp \
downloadthread.cpp \
realprogressbar.cpp \
realprogressbarthread.cpp \
qrealarray.cpp \
httpserver.cpp \
httpconnection.cpp \
httprequestparser.cpp \

18
src/ui/propertieswidget.ui

@ -53,7 +53,7 @@ @@ -53,7 +53,7 @@
<property name="geometry">
<rect>
<x>0</x>
<y>-59</y>
<y>0</y>
<width>518</width>
<height>348</height>
</rect>
@ -93,7 +93,7 @@ @@ -93,7 +93,7 @@
</property>
<property name="maximumSize">
<size>
<width>44</width>
<width>50</width>
<height>16777215</height>
</size>
</property>
@ -580,7 +580,7 @@ p, li { white-space: pre-wrap; } @@ -580,7 +580,7 @@ p, li { white-space: pre-wrap; }
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/list-remove.png</normaloff>:/Icons/oxygen/list-remove.png</iconset>
</property>
</widget>
@ -597,7 +597,7 @@ p, li { white-space: pre-wrap; } @@ -597,7 +597,7 @@ p, li { white-space: pre-wrap; }
<string/>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/list-add.png</normaloff>:/Icons/oxygen/list-add.png</iconset>
</property>
</widget>
@ -712,7 +712,7 @@ p, li { white-space: pre-wrap; } @@ -712,7 +712,7 @@ p, li { white-space: pre-wrap; }
<string>General</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/help-about.png</normaloff>:/Icons/oxygen/help-about.png</iconset>
</property>
<property name="iconSize">
@ -729,7 +729,7 @@ p, li { white-space: pre-wrap; } @@ -729,7 +729,7 @@ p, li { white-space: pre-wrap; }
<string>Trackers</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/network-server.png</normaloff>:/Icons/oxygen/network-server.png</iconset>
</property>
<property name="iconSize">
@ -752,7 +752,7 @@ p, li { white-space: pre-wrap; } @@ -752,7 +752,7 @@ p, li { white-space: pre-wrap; }
<string>Peers</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/peer.png</normaloff>:/Icons/oxygen/peer.png</iconset>
</property>
<property name="iconSize">
@ -769,7 +769,7 @@ p, li { white-space: pre-wrap; } @@ -769,7 +769,7 @@ p, li { white-space: pre-wrap; }
<string>URL seeds</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/urlseed.png</normaloff>:/Icons/oxygen/urlseed.png</iconset>
</property>
<property name="iconSize">
@ -786,7 +786,7 @@ p, li { white-space: pre-wrap; } @@ -786,7 +786,7 @@ p, li { white-space: pre-wrap; }
<string>Files</string>
</property>
<property name="icon">
<iconset resource="icons.qrc">
<iconset>
<normaloff>:/Icons/oxygen/folder.png</normaloff>:/Icons/oxygen/folder.png</iconset>
</property>
<property name="iconSize">

Loading…
Cancel
Save