diff --git a/ui/dialog_basic_settings.ui b/ui/dialog_basic_settings.ui index a3160e9..1b13ea2 100644 --- a/ui/dialog_basic_settings.ui +++ b/ui/dialog_basic_settings.ui @@ -100,7 +100,14 @@ - + + + + 0 + 0 + + + @@ -116,7 +123,14 @@ - + + + + 0 + 0 + + + diff --git a/ui/edit/dialog_edit_profile.ui b/ui/edit/dialog_edit_profile.ui index a75ebfc..78de5ec 100644 --- a/ui/edit/dialog_edit_profile.ui +++ b/ui/edit/dialog_edit_profile.ui @@ -158,6 +158,8 @@ + + Apply settings to this group @@ -181,6 +183,8 @@ + + diff --git a/ui/widget/FloatCheckBox.h b/ui/widget/FloatCheckBox.h index 90d48df..98ca3bd 100644 --- a/ui/widget/FloatCheckBox.h +++ b/ui/widget/FloatCheckBox.h @@ -1,16 +1,33 @@ #pragma once +#include #include class FloatCheckBox : public QCheckBox { public: - explicit FloatCheckBox(QWidget *parent, QWidget *window) : QCheckBox(window) { + QWidget *parent; + QWidget *window; + + void refresh() { setFixedSize(24, 24); auto pos = parent->rect().topRight(); pos = parent->mapTo(window, pos); pos.setX(pos.x() - 48); // ? move(pos); raise(); - if (parent->isVisible()) show(); + setVisible(parent->isVisible()); + }; + + bool eventFilter(QObject *obj, QEvent *e) override { + if (obj != window || e->type() != QEvent::Resize) return false; + refresh(); + return false; + }; + + explicit FloatCheckBox(QWidget *parent, QWidget *window) : QCheckBox(window) { + this->parent = parent; + this->window = window; + window->installEventFilter(this); + refresh(); }; };