Browse Source

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

screen resolution
adaptive-webui-19844
Christophe Dumez 16 years ago
parent
commit
a8d627e1df
  1. 21
      src/options_imp.cpp
  2. 1
      src/options_imp.h

21
src/options_imp.cpp

@ -31,6 +31,7 @@ @@ -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){ @@ -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(){ @@ -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");

1
src/options_imp.h

@ -159,6 +159,7 @@ class options_imp : public QDialog, private Ui::Dialog { @@ -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);

Loading…
Cancel
Save