diff options
| -rw-r--r-- | api/plugin-api.hpp | 4 | ||||
| -rw-r--r-- | gui/main-window.cpp | 42 | ||||
| -rw-r--r-- | gui/mapping-window.hpp | 3 | ||||
| -rw-r--r-- | gui/options-dialog.hpp | 3 | ||||
| -rw-r--r-- | gui/options-dialog.ui | 4 | 
5 files changed, 35 insertions, 21 deletions
| diff --git a/api/plugin-api.hpp b/api/plugin-api.hpp index 996d32d3..e9de9dad 100644 --- a/api/plugin-api.hpp +++ b/api/plugin-api.hpp @@ -12,6 +12,8 @@  #include <QWidget>  #include <QFrame>  #include <QIcon> +#include <QWidget> +#include <QDialog>  #include "export.hpp" @@ -37,7 +39,7 @@ enum Axis {  namespace plugin_api {  namespace detail { -class OPENTRACK_API_EXPORT BaseDialog : public QWidget +class OPENTRACK_API_EXPORT BaseDialog : public QDialog  {      Q_OBJECT  protected: diff --git a/gui/main-window.cpp b/gui/main-window.cpp index 59dc7a7a..d760783b 100644 --- a/gui/main-window.cpp +++ b/gui/main-window.cpp @@ -42,8 +42,14 @@ MainWindow::MainWindow() :      menu_action_mappings(&tray_menu)  {      ui.setupUi(this); -    setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | windowFlags()); -    setFixedSize(size()); + +    { +        setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); +        adjustSize(); +        setFixedSize(size()); +        setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | windowFlags()); +    } +      updateButtonState(false, false);      if (group::ini_directory().size() == 0) @@ -567,19 +573,21 @@ bool mk_dialog(mem<dylib> lib, ptr<t>& orig)  {      if (orig && orig->isVisible())      { -        orig->show(); -        orig->raise(); +        QDialog& d = *orig; +        d.show(); +        d.raise();          return false;      }      if (lib && lib->Dialog)      {          t* dialog = reinterpret_cast<t*>(lib->Dialog()); -        dialog->setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint); -        // HACK: prevent stderr whining by adding a few pixels -        dialog->setFixedSize(dialog->size() + QSize(4, 4)); -        dialog->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); -        dialog->show(); +        QDialog& d = *dialog; +        d.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); +        d.adjustSize(); +        d.setFixedSize(d.size()); +        d.setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | d.windowFlags()); +        d.show();          orig.reset(dialog); @@ -614,18 +622,20 @@ static bool mk_window(ptr<t>* place, Args&&... params)  {      if (*place && (*place)->isVisible())      { -        (*place)->show(); -        (*place)->raise(); +        QDialog& d = **place; +        d.show(); +        d.raise();          return false;      }      else      {          *place = make_unique<t>(std::forward<Args>(params)...); -        (*place)->setWindowFlags(Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint); -        // HACK: prevent stderr whining by adding a few pixels -        (*place)->setFixedSize((*place)->size() + QSize(4, 4)); -        (*place)->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); -        (*place)->show(); +        QDialog& d = **place; +        d.setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); +        d.adjustSize(); +        d.setFixedSize(d.size()); +        d.setWindowFlags(Qt::MSWindowsFixedSizeDialogHint | d.windowFlags()); +        d.show();          return true;      }  } diff --git a/gui/mapping-window.hpp b/gui/mapping-window.hpp index 7648c994..06d969cc 100644 --- a/gui/mapping-window.hpp +++ b/gui/mapping-window.hpp @@ -4,11 +4,12 @@  #include "ui_mapping-window.h"  #include <QWidget> +#include <QDialog>  #include <QShowEvent>  #include <QCloseEvent>  #include <QCheckBox> -class MapWidget final : public QWidget +class MapWidget final : public QDialog  {      Q_OBJECT  public: diff --git a/gui/options-dialog.hpp b/gui/options-dialog.hpp index 5f6b64e0..8c62b278 100644 --- a/gui/options-dialog.hpp +++ b/gui/options-dialog.hpp @@ -3,10 +3,11 @@  #include "ui_options-dialog.h"  #include "logic/shortcuts.h"  #include <QObject> +#include <QDialog>  #include <QWidget>  #include <functional> -class OptionsDialog : public QWidget +class OptionsDialog : public QDialog  {      Q_OBJECT  signals: diff --git a/gui/options-dialog.ui b/gui/options-dialog.ui index f23dd63f..2168fa8d 100644 --- a/gui/options-dialog.ui +++ b/gui/options-dialog.ui @@ -33,7 +33,7 @@     <item>      <widget class="QTabWidget" name="tabWidget">       <property name="sizePolicy"> -      <sizepolicy hsizetype="Preferred" vsizetype="Preferred"> +      <sizepolicy hsizetype="Expanding" vsizetype="Expanding">         <horstretch>0</horstretch>         <verstretch>0</verstretch>        </sizepolicy> @@ -478,7 +478,7 @@               </size>              </property>              <property name="text"> -             <string><html><head/><body><p>Specify an angle to rotate position tracking. It lets the tracker avoid moving on the X and Y axes when zooming, since camera isn't mounted perfectly in front of the model, but above or below.</p></body></html></string> +             <string>Specify an angle to rotate position tracking. It lets the tracker avoid moving on the X and Y axes when zooming, since camera isn't mounted perfectly in front of the model, but above or below.</string>              </property>              <property name="alignment">               <set>Qt::AlignJustify|Qt::AlignVCenter</set> | 
