Merge pull request #7566 from evsh/themes-cbc

Themes part 1
This commit is contained in:
Eugene Shalygin 2017-10-11 10:34:56 +02:00 committed by GitHub
commit 7a652c0a8c
11 changed files with 87 additions and 109 deletions

View File

@ -131,64 +131,6 @@ AddTorrentData::AddTorrentData(const AddTorrentParams &params)
savePath = Session::instance()->defaultSavePath(); savePath = Session::instance()->defaultSavePath();
} }
// TorrentState
TorrentState::TorrentState(int value)
: m_value(value)
{
}
QString TorrentState::toString() const
{
switch (m_value) {
case Error:
return QLatin1String("error");
case MissingFiles:
return QLatin1String("missingFiles");
case Uploading:
return QLatin1String("uploading");
case PausedUploading:
return QLatin1String("pausedUP");
case QueuedUploading:
return QLatin1String("queuedUP");
case StalledUploading:
return QLatin1String("stalledUP");
case CheckingUploading:
return QLatin1String("checkingUP");
case ForcedUploading:
return QLatin1String("forcedUP");
case Allocating:
return QLatin1String("allocating");
case Downloading:
return QLatin1String("downloading");
case DownloadingMetadata:
return QLatin1String("metaDL");
case PausedDownloading:
return QLatin1String("pausedDL");
case QueuedDownloading:
return QLatin1String("queuedDL");
case StalledDownloading:
return QLatin1String("stalledDL");
case CheckingDownloading:
return QLatin1String("checkingDL");
case ForcedDownloading:
return QLatin1String("forcedDL");
#if LIBTORRENT_VERSION_NUM < 10100
case QueuedForChecking:
return QLatin1String("queuedForChecking");
#endif
case CheckingResumeData:
return QLatin1String("checkingResumeData");
default:
return QLatin1String("unknown");
}
}
TorrentState::operator int() const
{
return m_value;
}
// TorrentHandle // TorrentHandle
const qreal TorrentHandle::USE_GLOBAL_RATIO = -2.; const qreal TorrentHandle::USE_GLOBAL_RATIO = -2.;

View File

@ -120,48 +120,35 @@ namespace BitTorrent
quint32 numPeers = 0; quint32 numPeers = 0;
}; };
class TorrentState enum class TorrentState
{ {
public: Unknown = -1,
enum
{
Unknown = -1,
ForcedDownloading, ForcedDownloading,
Downloading, Downloading,
DownloadingMetadata, DownloadingMetadata,
Allocating, Allocating,
StalledDownloading, StalledDownloading,
ForcedUploading, ForcedUploading,
Uploading, Uploading,
StalledUploading, StalledUploading,
QueuedDownloading,
QueuedUploading,
CheckingUploading,
CheckingDownloading,
#if LIBTORRENT_VERSION_NUM < 10100 #if LIBTORRENT_VERSION_NUM < 10100
QueuedForChecking, QueuedForChecking,
#endif #endif
CheckingResumeData, CheckingResumeData,
QueuedDownloading,
QueuedUploading,
PausedDownloading, CheckingUploading,
PausedUploading, CheckingDownloading,
MissingFiles, PausedDownloading,
Error PausedUploading,
};
TorrentState(int value); MissingFiles,
Error
operator int() const;
QString toString() const;
private:
int m_value;
}; };
class TorrentHandle : public QObject class TorrentHandle : public QObject
@ -474,4 +461,6 @@ namespace BitTorrent
}; };
} }
Q_DECLARE_METATYPE(BitTorrent::TorrentState)
#endif // BITTORRENT_TORRENTHANDLE_H #endif // BITTORRENT_TORRENTHANDLE_H

View File

@ -59,7 +59,7 @@
Preferences *Preferences::m_instance = 0; Preferences *Preferences::m_instance = 0;
Preferences::Preferences() {} Preferences::Preferences() = default;
Preferences *Preferences::instance() Preferences *Preferences::instance()
{ {

View File

@ -36,10 +36,7 @@ typedef QSet<QString> QStringSet;
namespace BitTorrent namespace BitTorrent
{ {
class TorrentHandle;
class TorrentHandle;
class TorrentState;
} }
class TorrentFilter class TorrentFilter

View File

@ -43,7 +43,7 @@ GuiIconProvider::GuiIconProvider(QObject *parent)
connect(Preferences::instance(), SIGNAL(changed()), SLOT(configure())); connect(Preferences::instance(), SIGNAL(changed()), SLOT(configure()));
} }
GuiIconProvider::~GuiIconProvider() {} GuiIconProvider::~GuiIconProvider() = default;
void GuiIconProvider::initInstance() void GuiIconProvider::initInstance()
{ {
@ -138,7 +138,6 @@ QString GuiIconProvider::getIconPath(const QString &iconId)
return IconProvider::getIconPath(iconId); return IconProvider::getIconPath(iconId);
} }
void GuiIconProvider::configure() void GuiIconProvider::configure()
{ {
#if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC)) #if (defined(Q_OS_UNIX) && !defined(Q_OS_MAC))

View File

@ -860,7 +860,7 @@ void MainWindow::createKeyboardShortcuts()
m_ui->actionDocumentation->setShortcut(QKeySequence::HelpContents); m_ui->actionDocumentation->setShortcut(QKeySequence::HelpContents);
m_ui->actionOptions->setShortcut(Qt::ALT + Qt::Key_O); m_ui->actionOptions->setShortcut(Qt::ALT + Qt::Key_O);
m_ui->actionStart->setShortcut(Qt::CTRL + Qt::Key_S); m_ui->actionStart->setShortcut(Qt::CTRL + Qt::Key_S);
m_ui->actionStartAll->setShortcut(Qt::CTRL + Qt::SHIFT +Qt::Key_S); m_ui->actionStartAll->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_S);
m_ui->actionPause->setShortcut(Qt::CTRL + Qt::Key_P); m_ui->actionPause->setShortcut(Qt::CTRL + Qt::Key_P);
m_ui->actionPauseAll->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_P); m_ui->actionPauseAll->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_P);
m_ui->actionBottomPriority->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_Minus); m_ui->actionBottomPriority->setShortcut(Qt::CTRL + Qt::SHIFT + Qt::Key_Minus);

View File

@ -312,8 +312,7 @@ OptionsDialog::OptionsDialog(QWidget *parent)
connect(m_ui->comboRatioLimitAct, qComboBoxCurrentIndexChanged, this, &ThisType::enableApplyButton); connect(m_ui->comboRatioLimitAct, qComboBoxCurrentIndexChanged, this, &ThisType::enableApplyButton);
connect(m_ui->checkMaxSeedingMinutes, &QAbstractButton::toggled, this, &ThisType::enableApplyButton); connect(m_ui->checkMaxSeedingMinutes, &QAbstractButton::toggled, this, &ThisType::enableApplyButton);
connect(m_ui->checkMaxSeedingMinutes, &QAbstractButton::toggled, this, &ThisType::toggleComboRatioLimitAct); connect(m_ui->checkMaxSeedingMinutes, &QAbstractButton::toggled, this, &ThisType::toggleComboRatioLimitAct);
connect(m_ui->spinMaxSeedingMinutes, static_cast<void (QSpinBox::*)(int)>(&QSpinBox::valueChanged), connect(m_ui->spinMaxSeedingMinutes, qSpinBoxValueChanged, this, &ThisType::enableApplyButton);
this, &ThisType::enableApplyButton);
// Proxy tab // Proxy tab
connect(m_ui->comboProxyType, qComboBoxCurrentIndexChanged, this, &ThisType::enableApplyButton); connect(m_ui->comboProxyType, qComboBoxCurrentIndexChanged, this, &ThisType::enableApplyButton);
connect(m_ui->textProxyIP, &QLineEdit::textChanged, this, &ThisType::enableApplyButton); connect(m_ui->textProxyIP, &QLineEdit::textChanged, this, &ThisType::enableApplyButton);

View File

@ -88,10 +88,10 @@ private slots:
void on_buttonBox_accepted(); void on_buttonBox_accepted();
void closeEvent(QCloseEvent *e); void closeEvent(QCloseEvent *e);
void on_buttonBox_rejected(); void on_buttonBox_rejected();
void applySettings(QAbstractButton* button); void applySettings(QAbstractButton *button);
void enableApplyButton(); void enableApplyButton();
void toggleComboRatioLimitAct(); void toggleComboRatioLimitAct();
void changePage(QListWidgetItem*, QListWidgetItem*); void changePage(QListWidgetItem *, QListWidgetItem *);
void loadWindowState(); void loadWindowState();
void loadSplitterState(); void loadSplitterState();
void saveWindowState() const; void saveWindowState() const;
@ -132,7 +132,7 @@ private:
bool addTorrentsInPause() const; bool addTorrentsInPause() const;
QString getTorrentExportDir() const; QString getTorrentExportDir() const;
QString getFinishedTorrentExportDir() const; QString getFinishedTorrentExportDir() const;
QString askForExportDir(const QString& currentExportPath); QString askForExportDir(const QString &currentExportPath);
int getActionOnDblClOnTorrentDl() const; int getActionOnDblClOnTorrentDl() const;
int getActionOnDblClOnTorrentFn() const; int getActionOnDblClOnTorrentFn() const;
// Connection options // Connection options

View File

@ -58,7 +58,7 @@ void TransferListDelegate::paint(QPainter * painter, const QStyleOptionViewItem
bool isHideState = true; bool isHideState = true;
if (Preferences::instance()->getHideZeroComboValues() == 1) { // paused torrents only if (Preferences::instance()->getHideZeroComboValues() == 1) { // paused torrents only
QModelIndex stateIndex = index.sibling(index.row(), TorrentModel::TR_STATUS); QModelIndex stateIndex = index.sibling(index.row(), TorrentModel::TR_STATUS);
if (stateIndex.data().toInt() != BitTorrent::TorrentState::PausedDownloading) if (stateIndex.data().value<BitTorrent::TorrentState>() != BitTorrent::TorrentState::PausedDownloading)
isHideState = false; isHideState = false;
} }
const bool hideValues = Preferences::instance()->getHideZeroValues() & isHideState; const bool hideValues = Preferences::instance()->getHideZeroValues() & isHideState;
@ -98,7 +98,7 @@ void TransferListDelegate::paint(QPainter * painter, const QStyleOptionViewItem
break; break;
} }
case TorrentModel::TR_STATUS: { case TorrentModel::TR_STATUS: {
const int state = index.data().toInt(); const auto state = index.data().value<BitTorrent::TorrentState>();
QString display = getStatusString(state); QString display = getStatusString(state);
QItemDelegate::drawDisplay(painter, opt, opt.rect, display); QItemDelegate::drawDisplay(painter, opt, opt.rect, display);
break; break;
@ -223,7 +223,7 @@ QSize TransferListDelegate::sizeHint(const QStyleOptionViewItem & option, const
return size; return size;
} }
QString TransferListDelegate::getStatusString(const int state) const QString TransferListDelegate::getStatusString(const BitTorrent::TorrentState state) const
{ {
QString str; QString str;

View File

@ -39,6 +39,10 @@ class QStyleOptionViewItem;
class QModelIndex; class QModelIndex;
QT_END_NAMESPACE QT_END_NAMESPACE
namespace BitTorrent
{
enum class TorrentState;
}
// Defines for download list list columns // Defines for download list list columns
class TransferListDelegate: public QItemDelegate class TransferListDelegate: public QItemDelegate
@ -52,7 +56,7 @@ public:
QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const; QSize sizeHint(const QStyleOptionViewItem & option, const QModelIndex & index) const;
private: private:
QString getStatusString(const int state) const; QString getStatusString(const BitTorrent::TorrentState state) const;
}; };
#endif // TRANSFERLISTDELEGATE_H #endif // TRANSFERLISTDELEGATE_H

View File

@ -34,6 +34,8 @@
#include <QElapsedTimer> #include <QElapsedTimer>
#include <QVariant> #include <QVariant>
#include <libtorrent/version.hpp>
#include "base/bittorrent/cachestatus.h" #include "base/bittorrent/cachestatus.h"
#include "base/bittorrent/session.h" #include "base/bittorrent/session.h"
#include "base/bittorrent/sessionstatus.h" #include "base/bittorrent/sessionstatus.h"
@ -227,6 +229,52 @@ static const char KEY_LOG_PEER_REASON[] = "reason";
namespace namespace
{ {
QString torrentStateToString(const BitTorrent::TorrentState state)
{
switch (state) {
case BitTorrent::TorrentState::Error:
return QLatin1String("error");
case BitTorrent::TorrentState::MissingFiles:
return QLatin1String("missingFiles");
case BitTorrent::TorrentState::Uploading:
return QLatin1String("uploading");
case BitTorrent::TorrentState::PausedUploading:
return QLatin1String("pausedUP");
case BitTorrent::TorrentState::QueuedUploading:
return QLatin1String("queuedUP");
case BitTorrent::TorrentState::StalledUploading:
return QLatin1String("stalledUP");
case BitTorrent::TorrentState::CheckingUploading:
return QLatin1String("checkingUP");
case BitTorrent::TorrentState::ForcedUploading:
return QLatin1String("forcedUP");
case BitTorrent::TorrentState::Allocating:
return QLatin1String("allocating");
case BitTorrent::TorrentState::Downloading:
return QLatin1String("downloading");
case BitTorrent::TorrentState::DownloadingMetadata:
return QLatin1String("metaDL");
case BitTorrent::TorrentState::PausedDownloading:
return QLatin1String("pausedDL");
case BitTorrent::TorrentState::QueuedDownloading:
return QLatin1String("queuedDL");
case BitTorrent::TorrentState::StalledDownloading:
return QLatin1String("stalledDL");
case BitTorrent::TorrentState::CheckingDownloading:
return QLatin1String("checkingDL");
case BitTorrent::TorrentState::ForcedDownloading:
return QLatin1String("forcedDL");
#if LIBTORRENT_VERSION_NUM < 10100
case BitTorrent::TorrentState::QueuedForChecking:
return QLatin1String("queuedForChecking");
#endif
case BitTorrent::TorrentState::CheckingResumeData:
return QLatin1String("checkingResumeData");
default:
return QLatin1String("unknown");
}
}
class QTorrentCompare class QTorrentCompare
{ {
public: public:
@ -315,7 +363,7 @@ namespace
ret[KEY_TORRENT_NUM_INCOMPLETE] = torrent->totalLeechersCount(); ret[KEY_TORRENT_NUM_INCOMPLETE] = torrent->totalLeechersCount();
const qreal ratio = torrent->realRatio(); const qreal ratio = torrent->realRatio();
ret[KEY_TORRENT_RATIO] = (ratio > BitTorrent::TorrentHandle::MAX_RATIO) ? -1 : ratio; ret[KEY_TORRENT_RATIO] = (ratio > BitTorrent::TorrentHandle::MAX_RATIO) ? -1 : ratio;
ret[KEY_TORRENT_STATE] = torrent->state().toString(); ret[KEY_TORRENT_STATE] = torrentStateToString(torrent->state());
ret[KEY_TORRENT_ETA] = torrent->eta(); ret[KEY_TORRENT_ETA] = torrent->eta();
ret[KEY_TORRENT_SEQUENTIAL_DOWNLOAD] = torrent->isSequentialDownload(); ret[KEY_TORRENT_SEQUENTIAL_DOWNLOAD] = torrent->isSequentialDownload();
if (torrent->hasMetadata()) if (torrent->hasMetadata())