mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-07-15 01:33:07 -07:00
- resize program preferences window if it does not fit with current
screen resolution
This commit is contained in:
parent
eead11427f
commit
a8d627e1df
2 changed files with 22 additions and 0 deletions
|
@ -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);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue