mirror of
https://github.com/d47081/qBittorrent.git
synced 2025-01-10 14:57:52 +00:00
- Save / Restore preferences dialog size and position on restart
- Make use of new Preferences in GUI constructor
This commit is contained in:
parent
36748b6729
commit
31180bb00c
16
src/GUI.cpp
16
src/GUI.cpp
@ -79,8 +79,7 @@ using namespace libtorrent;
|
||||
GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), displaySpeedInTitle(false), force_exit(false) {
|
||||
setupUi(this);
|
||||
setWindowTitle(tr("qBittorrent %1", "e.g: qBittorrent v0.x").arg(QString::fromUtf8(VERSION)));
|
||||
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
|
||||
systrayIntegration = settings.value(QString::fromUtf8("Preferences/General/SystrayEnabled"), true).toBool();
|
||||
systrayIntegration = Preferences::systrayIntegration();
|
||||
systrayCreator = 0;
|
||||
// Create tray icon
|
||||
if (QSystemTrayIcon::isSystemTrayAvailable()) {
|
||||
@ -179,13 +178,8 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
|
||||
// Add torrent given on command line
|
||||
processParams(torrentCmdLine);
|
||||
// Initialize Web UI
|
||||
httpServer = 0;
|
||||
if(settings.value("Preferences/WebUI/Enabled", false).toBool())
|
||||
{
|
||||
quint16 port = settings.value("Preferences/WebUI/Port", 8080).toUInt();
|
||||
QString username = settings.value("Preferences/WebUI/Username", "").toString();
|
||||
QString password = settings.value("Preferences/WebUI/Password", "").toString();
|
||||
initWebUi(username, password, port);
|
||||
if(Preferences::isWebUiEnabled()) {
|
||||
initWebUi(Preferences::getWebUiUsername(), Preferences::getWebUiPassword(), Preferences::getWebUiPort());
|
||||
}
|
||||
// Use a tcp server to allow only one instance of qBittorrent
|
||||
localServer = new QLocalServer();
|
||||
@ -244,8 +238,8 @@ GUI::GUI(QWidget *parent, QStringList torrentCmdLine) : QMainWindow(parent), dis
|
||||
readSettings();
|
||||
properties->readSettings();
|
||||
|
||||
if(settings.value(QString::fromUtf8("Preferences/General/StartMinimized"), false).toBool()) {
|
||||
this->setWindowState(Qt::WindowMinimized);
|
||||
if(Preferences::startMinimized()) {
|
||||
setWindowState(Qt::WindowMinimized);
|
||||
}
|
||||
|
||||
scrapeTimer = new QTimer(this);
|
||||
|
@ -261,7 +261,7 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){
|
||||
// Tab selection mecanism
|
||||
connect(tabSelection, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
|
||||
// Adapt size
|
||||
adaptToScreenSize();
|
||||
loadWindowState();
|
||||
show();
|
||||
}
|
||||
|
||||
@ -304,7 +304,21 @@ void options_imp::useStyle(){
|
||||
}
|
||||
}
|
||||
|
||||
void options_imp::adaptToScreenSize() {
|
||||
void options_imp::loadWindowState() {
|
||||
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
|
||||
resize(settings.value(QString::fromUtf8("Preferences/State/size"), sizeFittingScreen()).toSize());
|
||||
QPoint p = settings.value(QString::fromUtf8("Preferences/State/pos"), QPoint()).toPoint();
|
||||
if(!p.isNull())
|
||||
move(p);
|
||||
}
|
||||
|
||||
void options_imp::saveWindowState() const {
|
||||
QSettings settings(QString::fromUtf8("qBittorrent"), QString::fromUtf8("qBittorrent"));
|
||||
settings.setValue(QString::fromUtf8("Preferences/State/size"), size());
|
||||
settings.setValue(QString::fromUtf8("Preferences/State/pos"), pos());
|
||||
}
|
||||
|
||||
QSize options_imp::sizeFittingScreen() {
|
||||
int scrn = 0;
|
||||
QWidget *w = this->topLevelWidget();
|
||||
|
||||
@ -318,8 +332,9 @@ void options_imp::adaptToScreenSize() {
|
||||
QRect desk(QApplication::desktop()->availableGeometry(scrn));
|
||||
if(width() > desk.width() || height() > desk.height()) {
|
||||
if(desk.width() > 0 && desk.height() > 0)
|
||||
resize(desk.width(), desk.height());
|
||||
return QSize(desk.width(), desk.height());
|
||||
}
|
||||
return size();
|
||||
}
|
||||
|
||||
void options_imp::saveOptions(){
|
||||
@ -925,6 +940,7 @@ void options_imp::on_buttonBox_accepted(){
|
||||
this->hide();
|
||||
emit status_changed();
|
||||
}
|
||||
saveWindowState();
|
||||
accept();
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,9 @@ class options_imp : public QDialog, private Ui::Dialog {
|
||||
// Contructor / Destructor
|
||||
options_imp(QWidget *parent=0);
|
||||
~options_imp();
|
||||
QSize sizeFittingScreen();
|
||||
|
||||
protected:
|
||||
// Methods
|
||||
void saveOptions();
|
||||
void loadOptions();
|
||||
@ -165,7 +167,8 @@ class options_imp : public QDialog, private Ui::Dialog {
|
||||
void setSystrayOptionsState(bool checked);
|
||||
void enableWebUi(bool checkBoxValue);
|
||||
void changePage(QListWidgetItem*, QListWidgetItem*);
|
||||
void adaptToScreenSize();
|
||||
void loadWindowState();
|
||||
void saveWindowState() const;
|
||||
void on_randomButton_clicked();
|
||||
|
||||
public slots:
|
||||
|
Loading…
Reference in New Issue
Block a user