From d769723b237d9b6b1a4f6440d0ffa4a68dc30b15 Mon Sep 17 00:00:00 2001
From: arm64v8a <48624112+arm64v8a@users.noreply.github.com>
Date: Mon, 15 May 2023 11:09:01 +0900
Subject: [PATCH] fix ui
---
ui/dialog_basic_settings.ui | 18 ++++++++++++++++--
ui/edit/dialog_edit_profile.ui | 4 ++++
ui/widget/FloatCheckBox.h | 21 +++++++++++++++++++--
3 files changed, 39 insertions(+), 4 deletions(-)
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();
};
};