diff --git a/.gitignore b/.gitignore
index 665e73083062144a749cb5d9a7cecaae8b3af981..07d6922b4b573ef98494a657d52c7caecb2e62b9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -33,3 +33,9 @@
# build files
src/Element-UI/build
+build
+cmake-build-release
+cmake-build-debug
+.idea
+.cache
+.vscode
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..347a203a97e16af861e8423209f18d5f6671a615
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,27 @@
+cmake_minimum_required(VERSION 3.15)
+project(Element-UI VERSION 0.1 LANGUAGES CXX)
+
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
+
+find_package(QT NAMES Qt6 Qt5 COMPONENTS Core Gui Widgets Svg Xml REQUIRED)
+find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets Svg Xml REQUIRED)
+
+aux_source_directory(src/Element-UI srcs)
+
+file(GLOB_RECURSE QRC_SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/res.qrc)
+
+qt5_add_resources(QRC_FILES ${QRC_SOURCE_FILES})
+
+add_executable(Element-UI ${srcs} ${QRC_FILES})
+
+target_link_libraries(Element-UI Qt${QT_VERSION_MAJOR}::Core
+ Qt${QT_VERSION_MAJOR}::Gui
+ Qt${QT_VERSION_MAJOR}::Widgets
+ Qt${QT_VERSION_MAJOR}::Svg
+ Qt${QT_VERSION_MAJOR}::Xml
+ )
+
diff --git a/README.en.md b/README.en.md
index 073ccf62e8ca756375481b985934a46b68e12ad5..dd290dbd4f2a962fd4c93ff0f3f3d9fef71b831c 100644
--- a/README.en.md
+++ b/README.en.md
@@ -8,15 +8,17 @@ Software architecture description
#### Installation
-1. xxxx
-2. xxxx
-3. xxxx
+Open Qt Creator and compile source files.
#### Instructions
-1. xxxx
-2. xxxx
-3. xxxx
+After cloning the repository, you may need to replace all of the path that located in `src/Element-UI/Element-UI.pro.user`. The detail may be as follows:
+
+
+
+
+
+There are still several places needed to replace. You can use **Replace All** button in any editor. Besides, it has a situation that the separator of the path isn't completely the same(`\` and `/`), which should be careful.
#### Contribution
@@ -25,12 +27,6 @@ Software architecture description
3. Commit your code
4. Create Pull Request
+#### Thanks
-#### Gitee Feature
-
-1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
-2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
-3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
-4. The most valuable open source project [GVP](https://gitee.com/gvp)
-5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
-6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
+The inspiration of this project comes from [Element UI](https://element.eleme.cn/#/zh-CN/component/installation) and [QML Fluent UI](https://github.com/zhuzichu520/FluentUI).
diff --git a/README.md b/README.md
index 86c0d13738de896dd02a93763976de1e5446e8c5..e8ec00b3d1645783d37c48eac5e4cc65c2aafb1d 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,12 @@
#### 使用说明
克隆仓库后需要将`src/Element-UI/Element-UI.pro.user`文件中所有与路径有关的内容替换为当前仓库的路径,如下图:
-。
+
+
+
+
+这样的路径有好几处需要替换,可使用**全部替换**,另外,可能会有**路径分隔符不一样**的情况(`\`和`/`),注意查看。
+
本项目仍在开发中...
#### 参与贡献
diff --git a/instruction.png b/instruction.png
index d16479ba964f58bac0ebf0044b63b15392760659..60181914ceb55d6051eb92c3f85fc16bf52c09ba 100644
Binary files a/instruction.png and b/instruction.png differ
diff --git a/instruction2.png b/instruction2.png
new file mode 100644
index 0000000000000000000000000000000000000000..80d63ef5336bd465adf67f59e54b86753fcd6b45
Binary files /dev/null and b/instruction2.png differ
diff --git a/src/Element-UI/Element-UI.pro.user b/src/Element-UI/Element-UI.pro.user
deleted file mode 100644
index 3172c52f12feb726c972a4db25c74dcf6fb83c5c..0000000000000000000000000000000000000000
--- a/src/Element-UI/Element-UI.pro.user
+++ /dev/null
@@ -1,273 +0,0 @@
-
-
-
-
-
- EnvironmentId
- {e31a6953-c432-4bfd-8c23-2166142bdbb6}
-
-
- ProjectExplorer.Project.ActiveTarget
- 0
-
-
- ProjectExplorer.Project.EditorSettings
-
- true
- false
- true
-
- Cpp
-
- CppGlobal
-
-
-
- QmlJS
-
- QmlJSGlobal
-
-
- 2
- UTF-8
- false
- 4
- true
- 80
- true
- true
- 1
- 2
- true
- true
- false
- 2
- true
- true
- 0
- 8
- true
- false
- 1
- true
- false
- true
- *.md, *.MD, Makefile
- false
- true
- true
-
-
-
- ProjectExplorer.Project.PluginSettings
-
-
- true
- false
- true
- true
- true
- true
-
- false
-
-
- 0
- true
-
- true
- true
- Builtin.DefaultTidyAndClazy
- 4
- true
-
-
-
- true
-
-
- true
-
-
-
-
- ProjectExplorer.Project.Target.0
-
- Desktop
- Desktop Qt 6.4.2 MinGW 64-bit
- Desktop Qt 6.4.2 MinGW 64-bit
- qt.qt6.642.win64_mingw_kit
- 0
- 0
- 0
-
- 0
- D:\qtProjects\mycomponents\element-ui-with-qt-widgets\src\Element-UI\build\Desktop_Qt_6_4_2_MinGW_64_bit-Debug
- D:/qtProjects/mycomponents/element-ui-with-qt-widgets/src/Element-UI/build/Desktop_Qt_6_4_2_MinGW_64_bit-Debug
-
-
- true
- QtProjectManager.QMakeBuildStep
- false
-
-
-
- true
- Qt4ProjectManager.MakeStep
-
- 2
- Build
- Build
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Qt4ProjectManager.MakeStep
- clean
-
- 1
- Clean
- Clean
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- false
-
- Debug
- Qt4ProjectManager.Qt4BuildConfiguration
- 2
-
-
- D:\qtProjects\mycomponents\element-ui-with-qt-widgets\src\Element-UI\build\Desktop_Qt_6_4_2_MinGW_64_bit-Release
- D:/qtProjects/mycomponents/element-ui-with-qt-widgets/src/Element-UI/build/Desktop_Qt_6_4_2_MinGW_64_bit-Release
-
-
- true
- QtProjectManager.QMakeBuildStep
- false
-
-
-
- true
- Qt4ProjectManager.MakeStep
-
- 2
- Build
- Build
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Qt4ProjectManager.MakeStep
- clean
-
- 1
- Clean
- Clean
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- false
-
- Release
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- 0
-
-
- 0
- D:\qtProjects\mycomponents\element-ui-with-qt-widgets\src\Element-UI\build\Desktop_Qt_6_4_2_MinGW_64_bit-Profile
- D:/qtProjects/mycomponents/element-ui-with-qt-widgets/src/Element-UI/build/Desktop_Qt_6_4_2_MinGW_64_bit-Profile
-
-
- true
- QtProjectManager.QMakeBuildStep
- false
-
-
-
- true
- Qt4ProjectManager.MakeStep
-
- 2
- Build
- Build
- ProjectExplorer.BuildSteps.Build
-
-
-
- true
- Qt4ProjectManager.MakeStep
- clean
-
- 1
- Clean
- Clean
- ProjectExplorer.BuildSteps.Clean
-
- 2
- false
-
- false
-
- Profile
- Qt4ProjectManager.Qt4BuildConfiguration
- 0
- 0
- 0
-
- 3
-
-
- 0
- Deploy
- Deploy
- ProjectExplorer.BuildSteps.Deploy
-
- 1
-
- false
- ProjectExplorer.DefaultDeployConfiguration
-
- 1
-
- true
- true
- 0
- true
-
- 2
-
- false
- -e cpu-cycles --call-graph "dwarf,4096" -F 250
- Element-UI2
- Qt4ProjectManager.Qt4RunConfiguration:D:/qtProjects/mycomponents/element-ui-with-qt-widgets/src/Element-UI/Element-UI.pro
- D:/qtProjects/mycomponents/element-ui-with-qt-widgets/src/Element-UI/Element-UI.pro
- true
- true
- true
- true
- D:/qtProjects/mycomponents/element-ui-with-qt-widgets/src/Element-UI/build/Desktop_Qt_6_4_2_MinGW_64_bit-Debug
-
- 1
-
-
-
- ProjectExplorer.Project.TargetCount
- 1
-
-
- ProjectExplorer.Project.Updater.FileVersion
- 22
-
-
- Version
- 22
-
-
diff --git a/src/Element-UI/elalert.cpp b/src/Element-UI/elalert.cpp
index dc60dbe95ecf535318ba7be7f2f506b10cdbee41..cd3b9a66477436b44ae986a4bc29405f97549059 100644
--- a/src/Element-UI/elalert.cpp
+++ b/src/Element-UI/elalert.cpp
@@ -247,7 +247,7 @@ void ElAlert::paintEvent(QPaintEvent *e)
// draw rect
painter.setPen(_palette.color(ElPalette::Border));
painter.setBrush(_palette.color(ElPalette::Background));
- painter.drawRoundedRect(rect().toRectF(), height() / 8.0, height() / 8.0);
+ painter.drawRoundedRect(rect(), height() / 8.0, height() / 8.0);
// draw title
painter.setPen(_palette.color(ElPalette::Foreground));
auto left = Padding_Lr + (_center ? extra_space / 2.0 : 0)
diff --git a/src/Element-UI/elbutton.cpp b/src/Element-UI/elbutton.cpp
index 1fe0b6ef448e67ea7a20887a8e03c45cda89e838..957b44608a9836ee19e5fda2b19e6271cb189d89 100644
--- a/src/Element-UI/elbutton.cpp
+++ b/src/Element-UI/elbutton.cpp
@@ -1,6 +1,5 @@
#include "elbutton.h"
#include
-#include
#include
#include
#include
@@ -77,7 +76,7 @@ void ElButton::paintEvent(QPaintEvent *e)
e->accept();
}
-void ElButton::enterEvent(QEnterEvent *e)
+ void ElButton::enterEvent(QEvent *e)
{
if (!isEnabled()) {
e->accept();
@@ -205,7 +204,7 @@ void ElButton::drawTextAndIcon(QPainter *painter)
{
qreal padding_lr = 20; // left and right padding
QRectF br;
- painter->drawText(rect().toRectF(), Qt::AlignCenter, _text, &br);
+ painter->drawText(rect(), Qt::AlignCenter, _text, &br);
bool hasIcon = (_icon != nullptr);
qreal spacing = 4, extra_icon_space = hasIcon ? 16 + spacing : 0;
resize(br.width() + 2 * padding_lr + extra_icon_space, height());
@@ -266,7 +265,8 @@ void ElCircleButton::paintEvent(QPaintEvent *e)
pen.setWidthF(1.2);
painter.setPen(pen);
painter.setBrush(_palette.color(ElPalette::Background));
- painter.drawEllipse(rect().center().toPointF(), _radius, _radius);
+ QRectF _rectf(rect());
+ painter.drawEllipse(_rectf.center(), _radius, _radius); //TODO
if (_icon != nullptr) {
auto r = _icon->rect();
r.moveCenter(rect().center());
diff --git a/src/Element-UI/elbutton.h b/src/Element-UI/elbutton.h
index c697f6e413f6160a9bb4895989ec4472b6f4d1f8..095904041e18fe7eb16356295d115953a771e36d 100644
--- a/src/Element-UI/elbutton.h
+++ b/src/Element-UI/elbutton.h
@@ -2,6 +2,8 @@
#define ELBUTTON_H
#include
+#include
+#include
#include "elabstractbutton.h"
#include "eltheme.h"
// TODO: need to rewrite
@@ -31,7 +33,7 @@ protected:
bool event(QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void mousePressEvent(QMouseEvent *e) override;
void mouseReleaseEvent(QMouseEvent *e) override;
diff --git a/src/Element-UI/elcheckbox.cpp b/src/Element-UI/elcheckbox.cpp
index 4bfc6701036593990db1643663b23bf55336d14d..a087c00e5e57ace10a3ec4e9802b3eb2b87f4451 100644
--- a/src/Element-UI/elcheckbox.cpp
+++ b/src/Element-UI/elcheckbox.cpp
@@ -93,7 +93,7 @@ void ElCheckbox::paintEvent(QPaintEvent *e)
e->accept();
}
-void ElCheckbox::enterEvent(QEnterEvent *e)
+void ElCheckbox::enterEvent(QEvent *e)
{
if (!isEnabled()) {
e->accept();
diff --git a/src/Element-UI/elcheckbox.h b/src/Element-UI/elcheckbox.h
index 2dfc8b184b17503bb5a8a8920506d204800a5c22..e7afdbb8750babc8a0bb3f04bb1785d3eaaadfc2 100644
--- a/src/Element-UI/elcheckbox.h
+++ b/src/Element-UI/elcheckbox.h
@@ -2,6 +2,7 @@
#define ELCHECKBOX_H
#include "elabstractbutton.h"
+#include
class ElCheckbox : public ElAbstractButton
{
@@ -30,7 +31,7 @@ protected:
bool event(QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void mousePressEvent(QMouseEvent *e) override;
void mouseReleaseEvent(QMouseEvent *e) override;
diff --git a/src/Element-UI/elinput.cpp b/src/Element-UI/elinput.cpp
index 175c81883e4dbf0f0efabe454105229e53ded34d..9ae5ddd990ed911ea226570bc229478c23bf9035 100644
--- a/src/Element-UI/elinput.cpp
+++ b/src/Element-UI/elinput.cpp
@@ -45,11 +45,11 @@ void ElInput::paintEvent(QPaintEvent *e)
QPainter painter(this);
painter.setPen(_palette.color(ElPalette::Border));
painter.setBrush(Qt::white);
- painter.drawRoundedRect(rect().toRectF(), height() / 8.0, height() / 8.0);
+ painter.drawRoundedRect(rect(), height() / 0.8, height() / 0.8);
e->accept();
}
-void ElInput::enterEvent(QEnterEvent *e)
+void ElInput::enterEvent(QEvent *e)
{
if (!isEnabled() || _palette.currentColorGroup() == ElPalette::Pressed) {
e->accept();
diff --git a/src/Element-UI/elinput.h b/src/Element-UI/elinput.h
index 9dd97b8cf6518a5f0f8334f817ee9b029922bfc0..0257782403cfd5bcadecdc7cd830af96195fd959 100644
--- a/src/Element-UI/elinput.h
+++ b/src/Element-UI/elinput.h
@@ -2,6 +2,7 @@
#define ELINPUT_H
#include
+#include
#include "elcomponent.h"
class ElInput : public ElComponent
@@ -19,7 +20,7 @@ public:
protected:
bool eventFilter(QObject *watched, QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void initPalette() override;
diff --git a/src/Element-UI/elmessage.cpp b/src/Element-UI/elmessage.cpp
index 260aecf13e0e530232e2de95a1416bbd69ef8917..495b9829fd0bbb21fef93f1244d724ee8d3fdb87 100644
--- a/src/Element-UI/elmessage.cpp
+++ b/src/Element-UI/elmessage.cpp
@@ -277,7 +277,7 @@ void ElMessage::paintEvent(QPaintEvent *e)
pen.setWidthF(1.5);
painter.setPen(pen);
painter.setBrush(_palette.color(ElPalette::Background));
- painter.drawRoundedRect(rect().toRectF(), height() / 5.0, height() / 5.0);
+ painter.drawRoundedRect(rect(), height() / 5.0, height() / 5.0);
// show icon
_icon->resize(QSize(Icon_Size, Icon_Size));
QRect drawing_rect;
@@ -328,7 +328,7 @@ void ElMessage::manager_handle_msgs_animation()
{
fadeOut();
// then remove it because it should be deleted
- msg_manager.remove(_no); // remember that _no is the next one after remove
+ msg_manager.removeAt(_no); // remember that _no is the next one after remove
// the msgs after the index should slide up
for (qsizetype i = _no; i < msg_manager.size(); ++i) {
auto &msg = msg_manager[i];
diff --git a/src/Element-UI/elnotification.cpp b/src/Element-UI/elnotification.cpp
index 0422f7521597b305a8fa90dc7ddce9b2911e3b64..cd189a91d945d278811ec7b8e5c97ef7b8eb0695 100644
--- a/src/Element-UI/elnotification.cpp
+++ b/src/Element-UI/elnotification.cpp
@@ -272,8 +272,8 @@ void ElNotification::setPosition(Position position)
{
if (_position == position)
return;
- // remove from original notify_managers
- notify_managers[_position].remove(_no);
+ // remove from original notify_managers]
+ notify_managers[_position].removeAt(_no);
_position = position;
// append into current notify_managers
notify_managers[_position] << this;
@@ -368,7 +368,7 @@ void ElNotification::fadeOut()
void ElNotification::manager_handle_notify_animation()
{
fadeOut();
- notify_managers[_position].remove(_no); // remove this from notify_managers[_position]
+ notify_managers[_position].removeAt(_no);
for (qsizetype i = _no; i < notify_managers[_position].size(); ++i) {
/* be careful that notify->_no isn't equal to i or this->_no.
* Their relationship is `notify->_no - 1 == this->_no`.
@@ -417,7 +417,7 @@ void ElNotification::paintEvent(QPaintEvent *e)
// draw rect
painter.setBrush(Qt::white);
painter.setPen(_palette.color(ElPalette::Border));
- painter.drawRoundedRect(rect().toRectF(), height() / 8.0, height() / 8.0);
+ painter.drawRoundedRect(rect(), height() / 8.0, height() / 8.0);
// draw message and title
painter.setPen(ThemeColor::textPrimaryColor);
bool hasIcon = (type() != Default) || (_icon != nullptr);
@@ -452,7 +452,7 @@ void ElNotification::showEvent(QShowEvent *e)
e->accept();
}
-void ElNotification::enterEvent(QEnterEvent *e)
+void ElNotification::enterEvent(QEvent *e)
{
_fadeTimer->stop();
e->accept();
diff --git a/src/Element-UI/elnotification.h b/src/Element-UI/elnotification.h
index 120b20a6ce5c65b675c290662de345feead47870..0a5d174e62e978f2dfee8e792f7a5531e24aa4e1 100644
--- a/src/Element-UI/elnotification.h
+++ b/src/Element-UI/elnotification.h
@@ -3,6 +3,7 @@
#include "elcomponent.h"
#include "eltheme.h"
+#include
class ElIcon;
class QPropertyAnimation;
@@ -107,7 +108,7 @@ signals:
protected:
void paintEvent(QPaintEvent *e) override;
void showEvent(QShowEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void mouseReleaseEvent(QMouseEvent *e) override;
void initPalette() override;
diff --git a/src/Element-UI/elradio.cpp b/src/Element-UI/elradio.cpp
index 243a5316d45fed52de2067e267b8df0f9d3ee1f2..ae5f654962ce4ea7072615290a44ddf6c0c718e7 100644
--- a/src/Element-UI/elradio.cpp
+++ b/src/Element-UI/elradio.cpp
@@ -76,7 +76,7 @@ void ElRadio::paintEvent(QPaintEvent *e)
e->accept();
}
-void ElRadio::enterEvent(QEnterEvent *e)
+void ElRadio::enterEvent(QEvent *e)
{
if (!isEnabled()) {
e->accept();
diff --git a/src/Element-UI/elradio.h b/src/Element-UI/elradio.h
index 6ba3d9ed96efb3599c2d515f87d697a260b7b55a..bc3a5fdf3fa8720986252ebddab0a446b00271df 100644
--- a/src/Element-UI/elradio.h
+++ b/src/Element-UI/elradio.h
@@ -2,6 +2,7 @@
#define ELRADIO_H
#include "elabstractbutton.h"
+#include
class ElRadio : public ElAbstractButton
{
@@ -22,7 +23,7 @@ signals:
protected:
bool event(QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void mousePressEvent(QMouseEvent *e) override;
void mouseReleaseEvent(QMouseEvent *e) override;
diff --git a/src/Element-UI/elslider.cpp b/src/Element-UI/elslider.cpp
index 2fd7bf19c64af776765647684523d8ec9237e88c..a9348f505995485b0619595c0f473f38121fabf7 100644
--- a/src/Element-UI/elslider.cpp
+++ b/src/Element-UI/elslider.cpp
@@ -104,7 +104,7 @@ void ElSlider::mousePressEvent(QMouseEvent *e)
e->ignore();
return;
}
- setValue(e->position().x() * _max / width());
+ setValue(e->pos().x() * _max / width());
emit sliderPressed();
e->accept();
}
@@ -162,11 +162,11 @@ void ElSlider::ElSliderCircle::paintEvent(QPaintEvent *e)
pen.setWidthF(1.5);
pen.setColor(_palette.color(ElPalette::Border));
painter.setPen(pen);
- painter.drawEllipse(rect().center().toPointF(), _radius, _radius);
+ QPointF _pointf = QPointF(rect().center());
+ painter.drawEllipse(_pointf, _radius, _radius);
e->accept();
}
-
-void ElSlider::ElSliderCircle::enterEvent(QEnterEvent *e)
+void ElSlider::ElSliderCircle::enterEvent(QEvent *e)
{
if (!isEnabled()) {
e->ignore();
@@ -222,7 +222,11 @@ void ElSlider::ElSliderCircle::mouseMoveEvent(QMouseEvent *e)
e->ignore();
return;
}
+#if QTVERSION <= QT_VERSION_CHECK(6, 0, 0)
+ auto pos = mapToParent(e->pos()); // position related to its parent, ElSlider
+#else
auto pos = mapToParent(e->position()); // position related to its parent, ElSlider
+#endif
if (pos.x() < Init_Radius || pos.x() > _slider->width() - 2 * Init_Radius) {
e->ignore();
return;
diff --git a/src/Element-UI/elslider.h b/src/Element-UI/elslider.h
index 7deb4d2a7bc25d42c47b3df3ef1d3f630acc832d..ca8f1fa16c447e082234aea3ebe338e2596d545d 100644
--- a/src/Element-UI/elslider.h
+++ b/src/Element-UI/elslider.h
@@ -2,6 +2,7 @@
#define ELSLIDER_H
#include "elcomponent.h"
+#include
class QPropertyAnimation;
@@ -59,7 +60,7 @@ protected:
protected:
bool event(QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void mousePressEvent(QMouseEvent *e) override;
void mouseReleaseEvent(QMouseEvent *e) override;
diff --git a/src/Element-UI/elswitch.cpp b/src/Element-UI/elswitch.cpp
index ffd6a9d83ef70df3b284786bd3c2753eed362b9c..54f32f348b294b3de658012d891940b7389f0c49 100644
--- a/src/Element-UI/elswitch.cpp
+++ b/src/Element-UI/elswitch.cpp
@@ -1,6 +1,7 @@
#include "elswitch.h"
#include
#include
+#include
#include
#include "eltheme.h"
@@ -11,7 +12,7 @@ const int ElSwitch::Init_Width = 40;
const int ElSwitch::Init_Height = 22;
ElSwitch::ElSwitch(QWidget *parent)
- : ElComponent{parent}
+ : ElComponent(parent)
{
resize(Init_Width, Init_Height);
setCursor(Qt::PointingHandCursor);
@@ -258,7 +259,8 @@ void ElSwitch::ElSwitchCircle::paintEvent(QPaintEvent *e)
painter.setPen(Qt::white);
painter.setBrush(Qt::white);
// if parent is active, circle should be on right side.
- painter.drawEllipse(rect().toRectF().center(), Radius, Radius);
+ QRectF _rectf(rect());
+ painter.drawEllipse(_rectf.center(), Radius, Radius);
e->accept();
}
diff --git a/src/Element-UI/elswitch.h b/src/Element-UI/elswitch.h
index b683b57986a3ca5a7703db8d889a0ef4f55c8f4e..57b93186f4035c761932dbdbc401320c8a786e22 100644
--- a/src/Element-UI/elswitch.h
+++ b/src/Element-UI/elswitch.h
@@ -2,6 +2,7 @@
#define ELSWITCH_H
#include "elcomponent.h"
+#include
class QPropertyAnimation;
// BUG: fix circle's position when change the text on left(inactive state) side
diff --git a/src/Element-UI/eltheme.h b/src/Element-UI/eltheme.h
index 3749df817a8db7aef5270463a1036a89a6eebf62..4d9849e6565ee6b79d6fcf3c143a9f86bb7490de 100644
--- a/src/Element-UI/eltheme.h
+++ b/src/Element-UI/eltheme.h
@@ -2,6 +2,7 @@
#define ELTHEME_H
#include
+#include
namespace ThemeColor {
extern QColor textColor; // regular
diff --git a/src/Element-UI/eltooltip.cpp b/src/Element-UI/eltooltip.cpp
index 4555cfaa6d9d0bd4916b3ff55f0be8a40c44b34f..9122c6e39b70f931c86f4cfa17baf3ca01be906d 100644
--- a/src/Element-UI/eltooltip.cpp
+++ b/src/Element-UI/eltooltip.cpp
@@ -3,6 +3,7 @@
#include
#include
#include
+#include
#include "eltheme.h"
const qreal ElTooltip::Padding_Lr = 10;
@@ -225,7 +226,7 @@ void ElTooltip::showEvent(QShowEvent *e)
e->accept();
}
-void ElTooltip::enterEvent(QEnterEvent *e)
+void ElTooltip::enterEvent(QEvent *e)
{
isEntered = true;
e->accept();
diff --git a/src/Element-UI/eltooltip.h b/src/Element-UI/eltooltip.h
index 935a347e8624a4c19a5d1c32d2bdafbfaabb5b0b..524b57d114072e08893d0b97cbff126080412fdf 100644
--- a/src/Element-UI/eltooltip.h
+++ b/src/Element-UI/eltooltip.h
@@ -2,6 +2,7 @@
#define ELTOOLTIP_H
#include "elcomponent.h"
+#include
class QPropertyAnimation;
// TODO: need to rewrite
@@ -86,7 +87,7 @@ protected:
bool event(QEvent *e) override;
void paintEvent(QPaintEvent *e) override;
void showEvent(QShowEvent *e) override;
- void enterEvent(QEnterEvent *e) override;
+ void enterEvent(QEvent *e) override;
void leaveEvent(QEvent *e) override;
void initPalette() override;
diff --git a/src/Element-UI/svghelper.cpp b/src/Element-UI/svghelper.cpp
index 962d7157a241270f6460569d01d68e4d5a3ce2dd..bc3ea37f59bc5e8f96fad195412f67fdd40dc9bd 100644
--- a/src/Element-UI/svghelper.cpp
+++ b/src/Element-UI/svghelper.cpp
@@ -1,6 +1,8 @@
#include "svghelper.h"
#include
#include
+#include
+#include
SvgHelper::SvgHelper(const QString &filename)
{