mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-17 22:18:05 -06:00
- resize program preferences window if it does not fit with current
screen resolution
This commit is contained in:
@@ -31,6 +31,7 @@
|
|||||||
#include <QCDEStyle>
|
#include <QCDEStyle>
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QCloseEvent>
|
#include <QCloseEvent>
|
||||||
|
#include <QDesktopWidget>
|
||||||
#ifdef Q_WS_WIN
|
#ifdef Q_WS_WIN
|
||||||
#include <QWindowsXPStyle>
|
#include <QWindowsXPStyle>
|
||||||
#endif
|
#endif
|
||||||
@@ -240,6 +241,8 @@ options_imp::options_imp(QWidget *parent):QDialog(parent){
|
|||||||
}
|
}
|
||||||
// Tab selection mecanism
|
// Tab selection mecanism
|
||||||
connect(tabSelection, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
|
connect(tabSelection, SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)), this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
|
||||||
|
// Adapt size
|
||||||
|
adaptToScreenSize();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Main destructor
|
// Main destructor
|
||||||
@@ -281,6 +284,24 @@ void options_imp::useStyle(){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void options_imp::adaptToScreenSize() {
|
||||||
|
int scrn = 0;
|
||||||
|
QWidget *w = this->topLevelWidget();
|
||||||
|
|
||||||
|
if(w)
|
||||||
|
scrn = QApplication::desktop()->screenNumber(w);
|
||||||
|
else if(QApplication::desktop()->isVirtualDesktop())
|
||||||
|
scrn = QApplication::desktop()->screenNumber(QCursor::pos());
|
||||||
|
else
|
||||||
|
scrn = QApplication::desktop()->screenNumber(this);
|
||||||
|
|
||||||
|
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());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void options_imp::saveOptions(){
|
void options_imp::saveOptions(){
|
||||||
applyButton->setEnabled(false);
|
applyButton->setEnabled(false);
|
||||||
QSettings settings("qBittorrent", "qBittorrent");
|
QSettings settings("qBittorrent", "qBittorrent");
|
||||||
|
|||||||
@@ -159,6 +159,7 @@ class options_imp : public QDialog, private Ui::Dialog {
|
|||||||
void setSystrayOptionsState(int checkBoxValue);
|
void setSystrayOptionsState(int checkBoxValue);
|
||||||
void enableWebUi(bool checkBoxValue);
|
void enableWebUi(bool checkBoxValue);
|
||||||
void changePage(QListWidgetItem*, QListWidgetItem*);
|
void changePage(QListWidgetItem*, QListWidgetItem*);
|
||||||
|
void adaptToScreenSize();
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
void setLocale(QString locale);
|
void setLocale(QString locale);
|
||||||
|
|||||||
Reference in New Issue
Block a user