1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-16 17:50:01 +00:00

- resize program preferences window if it does not fit with current

screen resolution
This commit is contained in:
Christophe Dumez 2009-03-15 17:48:20 +00:00
parent eead11427f
commit a8d627e1df
2 changed files with 22 additions and 0 deletions

View File

@ -31,6 +31,7 @@
#include <QCDEStyle>
#include <QDialogButtonBox>
#include <QCloseEvent>
#include <QDesktopWidget>
#ifdef Q_WS_WIN
#include <QWindowsXPStyle>
#endif
@ -240,6 +241,8 @@ 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();
}
// 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(){
applyButton->setEnabled(false);
QSettings settings("qBittorrent", "qBittorrent");

View File

@ -159,6 +159,7 @@ class options_imp : public QDialog, private Ui::Dialog {
void setSystrayOptionsState(int checkBoxValue);
void enableWebUi(bool checkBoxValue);
void changePage(QListWidgetItem*, QListWidgetItem*);
void adaptToScreenSize();
public slots:
void setLocale(QString locale);