diff --git a/sources/configdialog.cpp b/sources/configdialog.cpp index fc3216c70..c211e3669 100644 --- a/sources/configdialog.cpp +++ b/sources/configdialog.cpp @@ -27,7 +27,6 @@ @param parent QWidget parent */ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) { - Machine_info *mymachineinfo= new Machine_info(this); //ScrollArea for low screens QScrollArea *scroll = new QScrollArea(this); scroll->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); @@ -36,7 +35,7 @@ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) { // liste des pages pages_list = new QListWidget(); pages_list -> setViewMode(QListView::IconMode); - if(mymachineinfo->i_max_screen_height()<1000){ + if(Machine_info::i_max_screen_height()<1000){ pages_list -> setIconSize(QSize(64, 64)); } else { pages_list -> setIconSize(QSize(128, 128)); @@ -80,8 +79,7 @@ ConfigDialog::ConfigDialog(QWidget *parent) : QDialog(parent) { connect(pages_list, SIGNAL(currentRowChanged(int)), pages_widget, SLOT(setCurrentIndex(int))); - setMaximumSize(mymachineinfo->i_max_screen_width(), - mymachineinfo->i_max_screen_height()); + setMaximumSize(Machine_info::i_max_screen_width(), Machine_info::i_max_screen_height()); resize(1400,1000); #ifdef Q_OS_MACOS diff --git a/sources/machine_info.cpp b/sources/machine_info.cpp index 2c6898ce2..5645d0607 100644 --- a/sources/machine_info.cpp +++ b/sources/machine_info.cpp @@ -322,7 +322,22 @@ void Machine_info::init_get_cpu_info_macos() */ int32_t Machine_info::i_max_screen_width() { - return pc.screen.Max_width; + const auto screens = qApp->screens(); + auto screen_count = screens.count(); + + int32_t width_[10]; + int32_t Max_width = 0; + + for (int ii = 0; ii < screen_count; ++ii) + { + width_[ii]= + screens[ii]->geometry().width() + * screens[ii]->devicePixelRatio(); + if(Max_width < width_[ii]) + Max_width = width_[ii]; + } + + return Max_width; } /** @@ -330,8 +345,23 @@ int32_t Machine_info::i_max_screen_width() @return max screen height */ int32_t Machine_info::i_max_screen_height() -{ - return pc.screen.Max_height; +{ + const auto screens = qApp->screens(); + auto screen_count = screens.count(); + + int32_t height_[10]; + int32_t Max_height = 0; + + for (int ii = 0; ii < screen_count; ++ii) + { + height_[ii]= + screens[ii]->geometry().height() + * screens[ii]->devicePixelRatio(); + if(Max_height