diff --git a/src/lib_gui/CMakeLists.txt b/src/lib_gui/CMakeLists.txt index 2c14395a..ce507bec 100644 --- a/src/lib_gui/CMakeLists.txt +++ b/src/lib_gui/CMakeLists.txt @@ -5,95 +5,133 @@ add_files( platform_includes/includesMac.h platform_includes/includesWindows.h - qt/element/QtAutocompletionList.cpp - qt/element/QtAutocompletionList.h - qt/element/QtBookmark.cpp - qt/element/QtBookmark.h - qt/element/QtBookmarkCategory.cpp - qt/element/QtBookmarkCategory.h - qt/element/QtCodeArea.cpp - qt/element/QtCodeArea.h - qt/element/QtCodeField.cpp - qt/element/QtCodeField.h - qt/element/QtCodeFile.cpp - qt/element/QtCodeFile.h - qt/element/QtCodeFileList.cpp - qt/element/QtCodeFileList.h - qt/element/QtCodeFileSingle.cpp - qt/element/QtCodeFileSingle.h - qt/element/QtCodeFileTitleBar.cpp - qt/element/QtCodeFileTitleBar.h - qt/element/QtCodeFileTitleButton.cpp - qt/element/QtCodeFileTitleButton.h - qt/element/QtCodeNavigateable.cpp - qt/element/QtCodeNavigateable.h - qt/element/QtCodeNavigator.cpp - qt/element/QtCodeNavigator.h - qt/element/QtCodeSnippet.cpp - qt/element/QtCodeSnippet.h - qt/element/QtHelpButton.cpp - qt/element/QtHelpButton.h - qt/element/QtHistoryList.cpp - qt/element/QtHistoryList.h - qt/element/QtIconButton.cpp - qt/element/QtIconButton.h - qt/element/QtLineEdit.cpp - qt/element/QtLineEdit.h - qt/element/QtListBox.cpp - qt/element/QtListBox.h - qt/element/QtListBoxItem.cpp - qt/element/QtListBoxItem.h - qt/element/QtLocationPicker.cpp - qt/element/QtLocationPicker.h - qt/element/QtNewsWidget.cpp - qt/element/QtNewsWidget.h - qt/element/QtPathListBox.cpp - qt/element/QtPathListBox.h - qt/element/QtPathListBoxItem.cpp - qt/element/QtPathListBoxItem.h - qt/element/QtProgressBar.cpp - qt/element/QtProgressBar.h - qt/element/QtScreenSearchBox.cpp - qt/element/QtScreenSearchBox.h - qt/element/QtSearchBar.cpp - qt/element/QtSearchBar.h - qt/element/QtSearchBarButton.cpp - qt/element/QtSearchBarButton.h - qt/element/QtSmartSearchBox.cpp - qt/element/QtSmartSearchBox.h - qt/element/QtStringListBox.cpp - qt/element/QtStringListBox.h - qt/element/QtStringListBoxItem.cpp - qt/element/QtStringListBoxItem.h + qt/element/bookmark/QtBookmark.cpp + qt/element/bookmark/QtBookmark.h + qt/element/bookmark/QtBookmarkCategory.cpp + qt/element/bookmark/QtBookmarkCategory.h + + qt/element/button/QtHelpButton.cpp + qt/element/button/QtHelpButton.h + qt/element/button/QtHoverButton.cpp + qt/element/button/QtHoverButton.h + qt/element/button/QtIconButton.cpp + qt/element/button/QtIconButton.h + qt/element/button/QtIconStateButton.cpp + qt/element/button/QtIconStateButton.h + qt/element/button/QtSelfRefreshIconButton.cpp + qt/element/button/QtSelfRefreshIconButton.h + + qt/element/code/QtCodeArea.cpp + qt/element/code/QtCodeArea.h + qt/element/code/QtCodeField.cpp + qt/element/code/QtCodeField.h + qt/element/code/QtCodeFile.cpp + qt/element/code/QtCodeFile.h + qt/element/code/QtCodeFileList.cpp + qt/element/code/QtCodeFileList.h + qt/element/code/QtCodeFileSingle.cpp + qt/element/code/QtCodeFileSingle.h + qt/element/code/QtCodeFileTitleBar.cpp + qt/element/code/QtCodeFileTitleBar.h + qt/element/code/QtCodeFileTitleButton.cpp + qt/element/code/QtCodeFileTitleButton.h + qt/element/code/QtCodeNavigateable.cpp + qt/element/code/QtCodeNavigateable.h + qt/element/code/QtCodeNavigator.cpp + qt/element/code/QtCodeNavigator.h + qt/element/code/QtCodeSnippet.cpp + qt/element/code/QtCodeSnippet.h + + qt/element/history/QtHistoryList.cpp + qt/element/history/QtHistoryList.h + qt/element/history/QtUndoRedo.cpp + qt/element/history/QtUndoRedo.h + + qt/element/search/QtAutocompletionList.cpp + qt/element/search/QtAutocompletionList.h + qt/element/search/QtScreenSearchBox.cpp + qt/element/search/QtScreenSearchBox.h + qt/element/search/QtSearchBar.cpp + qt/element/search/QtSearchBar.h + qt/element/search/QtSearchBarButton.cpp + qt/element/search/QtSearchBarButton.h + qt/element/search/QtSmartSearchBox.cpp + qt/element/search/QtSmartSearchBox.h + + qt/element/dialog/QtLineEdit.cpp + qt/element/dialog/QtLineEdit.h + qt/element/dialog/QtListBox.cpp + qt/element/dialog/QtListBox.h + qt/element/dialog/QtListBoxItem.cpp + qt/element/dialog/QtListBoxItem.h + qt/element/dialog/QtLocationPicker.cpp + qt/element/dialog/QtLocationPicker.h + qt/element/dialog/QtNewsWidget.cpp + qt/element/dialog/QtNewsWidget.h + qt/element/dialog/QtPathListBox.cpp + qt/element/dialog/QtPathListBox.h + qt/element/dialog/QtPathListBoxItem.cpp + qt/element/dialog/QtPathListBoxItem.h + qt/element/dialog/QtProgressBar.cpp + qt/element/dialog/QtProgressBar.h + qt/element/dialog/QtStringListBox.cpp + qt/element/dialog/QtStringListBox.h + qt/element/dialog/QtStringListBoxItem.cpp + qt/element/dialog/QtStringListBoxItem.h + qt/element/dialog/QtTextEdit.cpp + qt/element/dialog/QtTextEdit.h + qt/element/dialog/QtUpdateCheckerWidget.cpp + qt/element/dialog/QtUpdateCheckerWidget.h + + qt/element/QtTooltip.cpp + qt/element/QtTooltip.h qt/element/QtStatusBar.cpp qt/element/QtStatusBar.h qt/element/QtTabBar.cpp qt/element/QtTabBar.h qt/element/QtTable.cpp qt/element/QtTable.h - qt/element/QtTextEdit.cpp - qt/element/QtTextEdit.h - qt/element/QtTooltip.cpp - qt/element/QtTooltip.h - qt/element/QtUndoRedo.cpp - qt/element/QtUndoRedo.h - qt/element/QtUpdateCheckerWidget.cpp - qt/element/QtUpdateCheckerWidget.h - qt/graphics/QtCountCircleItem.cpp - qt/graphics/QtCountCircleItem.h - qt/graphics/QtGraphicsView.cpp - qt/graphics/QtGraphicsView.h - qt/graphics/QtLineItemAngled.cpp - qt/graphics/QtLineItemAngled.h - qt/graphics/QtLineItemBase.cpp - qt/graphics/QtLineItemBase.h - qt/graphics/QtLineItemBezier.cpp - qt/graphics/QtLineItemBezier.h - qt/graphics/QtLineItemStraight.cpp - qt/graphics/QtLineItemStraight.h - qt/graphics/QtRoundedRectItem.cpp - qt/graphics/QtRoundedRectItem.h + qt/graphics/base/QtCountCircleItem.cpp + qt/graphics/base/QtCountCircleItem.h + qt/graphics/base/QtGraphicsView.cpp + qt/graphics/base/QtGraphicsView.h + qt/graphics/base/QtLineItemAngled.cpp + qt/graphics/base/QtLineItemAngled.h + qt/graphics/base/QtLineItemBase.cpp + qt/graphics/base/QtLineItemBase.h + qt/graphics/base/QtLineItemBezier.cpp + qt/graphics/base/QtLineItemBezier.h + qt/graphics/base/QtLineItemStraight.cpp + qt/graphics/base/QtLineItemStraight.h + qt/graphics/base/QtRoundedRectItem.cpp + qt/graphics/base/QtRoundedRectItem.h + + qt/graphics/component/QtGraphNodeComponent.cpp + qt/graphics/component/QtGraphNodeComponent.h + qt/graphics/component/QtGraphNodeComponentClickable.cpp + qt/graphics/component/QtGraphNodeComponentClickable.h + qt/graphics/component/QtGraphNodeComponentMoveable.cpp + qt/graphics/component/QtGraphNodeComponentMoveable.h + + qt/graphics/graph/QtGraphEdge.cpp + qt/graphics/graph/QtGraphEdge.h + qt/graphics/graph/QtGraphNode.cpp + qt/graphics/graph/QtGraphNode.h + qt/graphics/graph/QtGraphNodeAccess.cpp + qt/graphics/graph/QtGraphNodeAccess.h + qt/graphics/graph/QtGraphNodeBundle.cpp + qt/graphics/graph/QtGraphNodeBundle.h + qt/graphics/graph/QtGraphNodeData.cpp + qt/graphics/graph/QtGraphNodeData.h + qt/graphics/graph/QtGraphNodeExpandToggle.cpp + qt/graphics/graph/QtGraphNodeExpandToggle.h + qt/graphics/graph/QtGraphNodeGroup.cpp + qt/graphics/graph/QtGraphNodeGroup.h + qt/graphics/graph/QtGraphNodeQualifier.cpp + qt/graphics/graph/QtGraphNodeQualifier.h + qt/graphics/graph/QtGraphNodeText.cpp + qt/graphics/graph/QtGraphNodeText.h qt/network/QtIDECommunicationController.cpp qt/network/QtIDECommunicationController.h @@ -202,32 +240,6 @@ add_files( qt/utility/utilityQt.cpp qt/utility/utilityQt.h - qt/view/graphElements/nodeComponents/QtGraphNodeComponent.cpp - qt/view/graphElements/nodeComponents/QtGraphNodeComponent.h - qt/view/graphElements/nodeComponents/QtGraphNodeComponentClickable.cpp - qt/view/graphElements/nodeComponents/QtGraphNodeComponentClickable.h - qt/view/graphElements/nodeComponents/QtGraphNodeComponentMoveable.cpp - qt/view/graphElements/nodeComponents/QtGraphNodeComponentMoveable.h - - qt/view/graphElements/QtGraphEdge.cpp - qt/view/graphElements/QtGraphEdge.h - qt/view/graphElements/QtGraphNode.cpp - qt/view/graphElements/QtGraphNode.h - qt/view/graphElements/QtGraphNodeAccess.cpp - qt/view/graphElements/QtGraphNodeAccess.h - qt/view/graphElements/QtGraphNodeBundle.cpp - qt/view/graphElements/QtGraphNodeBundle.h - qt/view/graphElements/QtGraphNodeData.cpp - qt/view/graphElements/QtGraphNodeData.h - qt/view/graphElements/QtGraphNodeExpandToggle.cpp - qt/view/graphElements/QtGraphNodeExpandToggle.h - qt/view/graphElements/QtGraphNodeGroup.cpp - qt/view/graphElements/QtGraphNodeGroup.h - qt/view/graphElements/QtGraphNodeQualifier.cpp - qt/view/graphElements/QtGraphNodeQualifier.h - qt/view/graphElements/QtGraphNodeText.cpp - qt/view/graphElements/QtGraphNodeText.h - qt/view/QtBookmarkButtonsView.cpp qt/view/QtBookmarkButtonsView.h qt/view/QtBookmarkView.cpp diff --git a/src/lib_gui/qt/element/QtIconButton.cpp b/src/lib_gui/qt/element/QtIconButton.cpp deleted file mode 100644 index 3fa79062..00000000 --- a/src/lib_gui/qt/element/QtIconButton.cpp +++ /dev/null @@ -1,222 +0,0 @@ -#include "QtIconButton.h" - -#include - -#include "utilityQt.h" -#include "ColorScheme.h" - - -QtHoverButton::QtHoverButton(QWidget* parent) - : QPushButton("", parent) -{ - setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac - setMouseTracking(true); -} - -void QtHoverButton::enterEvent(QEvent *event) -{ - if (isEnabled()) - { - emit hoveredIn(this); - } -} - -void QtHoverButton::leaveEvent(QEvent *event) -{ - if (isEnabled()) - { - emit hoveredOut(this); - } -} - - -QtIconButton::QtIconButton(const FilePath& iconPath, const FilePath& hoveredIconPath, QWidget* parent) - : QPushButton("", parent) - , m_iconPath(iconPath) - , m_hoveredIconPath(hoveredIconPath) - , m_color(Qt::transparent) -{ - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac - - if (!m_hoveredIconPath.empty()) - { - setMouseTracking(true); - } - - leaveEvent(nullptr); -} - -void QtIconButton::setColor(QColor color) -{ - m_color = color; - leaveEvent(nullptr); -} - -void QtIconButton::enterEvent(QEvent *event) -{ - if (!m_hoveredIconPath.empty() && isEnabled()) - { - setIconFromPath(m_hoveredIconPath); - } -} - -void QtIconButton::leaveEvent(QEvent *event) -{ - if (!m_iconPath.empty()) - { - setIconFromPath(m_iconPath); - } -} - -void QtIconButton::setIconFromPath(const FilePath& path) -{ - QPixmap pixmap = QPixmap(QString::fromStdWString(path.wstr())); - - if (m_color != Qt::transparent) - { - pixmap = utility::colorizePixmap(pixmap, m_color); - } - - setIcon(QIcon(pixmap)); -} - - -QtSelfRefreshIconButton::QtSelfRefreshIconButton( - const QString& text, const FilePath& iconPath, const std::string& buttonKey, QWidget* parent -) - : QPushButton(text, parent) - , m_iconPath(iconPath) - , m_buttonKey(buttonKey) -{ - setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac - refresh(); -} - -void QtSelfRefreshIconButton::setIconPath(const FilePath& iconPath) -{ - if (iconPath != m_iconPath) - { - m_iconPath = iconPath; - refresh(); - } -} - -void QtSelfRefreshIconButton::handleMessage(MessageRefreshUI* message) -{ - m_onQtThread([this]() - { - refresh(); - }); -} - -void QtSelfRefreshIconButton::refresh() -{ - if (!m_iconPath.empty()) - { - setIcon(utility::createButtonIcon(m_iconPath, m_buttonKey)); - } -} - - -QtIconStateButton::QtIconStateButton(QWidget* parent) - : QPushButton("", parent) -{ - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); - setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac - setMouseTracking(true); - - setObjectName("iconStateButton"); - - leaveEvent(nullptr); -} - -void QtIconStateButton::addState(ButtonState buttonState, const FilePath& iconPath, QColor color) -{ - State state; - state.iconPath = iconPath; - state.color = color; - m_states.emplace(buttonState, state); - - if (buttonState == STATE_DEFAULT) - { - leaveEvent(nullptr); - } -} - -void QtIconStateButton::hoverIn() -{ - enterEvent(nullptr); -} - -void QtIconStateButton::hoverOut() -{ - leaveEvent(nullptr); -} - -void QtIconStateButton::changeEvent(QEvent *event) -{ - if (event->type() != QEvent::EnabledChange) - { - return; - } - - auto it = m_states.find(isEnabled() ? STATE_DEFAULT : STATE_DISABLED); - if (it != m_states.end()) - { - setState(it->second); - } -} - -void QtIconStateButton::enterEvent(QEvent *event) -{ - if (!isEnabled()) - { - return; - } - - auto it = m_states.find(STATE_HOVERED); - if (it != m_states.end()) - { - setState(it->second); - - if (event) - { - emit hoveredIn(this); - } - } -} - -void QtIconStateButton::leaveEvent(QEvent *event) -{ - if (!isEnabled()) - { - return; - } - - auto it = m_states.find(STATE_DEFAULT); - if (it != m_states.end()) - { - setState(it->second); - - if (event) - { - emit hoveredOut(this); - } - } -} - -void QtIconStateButton::setState(State state) -{ - QPixmap pixmap = QPixmap(QString::fromStdWString(state.iconPath.wstr())); - - if (state.color != Qt::transparent) - { - pixmap = utility::colorizePixmap(pixmap, state.color); - } - - QIcon icon(pixmap); - icon.addPixmap(pixmap, QIcon::Disabled); - - setIcon(icon); -} diff --git a/src/lib_gui/qt/element/QtIconButton.h b/src/lib_gui/qt/element/QtIconButton.h deleted file mode 100644 index 72f311fa..00000000 --- a/src/lib_gui/qt/element/QtIconButton.h +++ /dev/null @@ -1,119 +0,0 @@ -#ifndef QT_ICON_BUTTON_H -#define QT_ICON_BUTTON_H - -#include - -#include "FilePath.h" -#include "MessageListener.h" -#include "MessageRefreshUI.h" - -#include "QtThreadedFunctor.h" - -class QtHoverButton - : public QPushButton -{ - Q_OBJECT - -public: - QtHoverButton(QWidget* parent = nullptr); - -signals: - void hoveredIn(QPushButton*); - void hoveredOut(QPushButton*); - -protected: - void enterEvent(QEvent *event); - void leaveEvent(QEvent *event); -}; - - -class QtIconButton - : public QPushButton -{ - Q_OBJECT -public: - QtIconButton(const FilePath& iconPath, const FilePath& hoveredIconPath, QWidget* parent = nullptr); - ~QtIconButton() = default; - - void setColor(QColor color); - -protected: - void enterEvent(QEvent *event); - void leaveEvent(QEvent *event); - -private: - void setIconFromPath(const FilePath& path); - - const FilePath m_iconPath; - const FilePath m_hoveredIconPath; - - QColor m_color; -}; - - -class QtSelfRefreshIconButton - : public QPushButton - , public MessageListener -{ -public: - QtSelfRefreshIconButton( - const QString& text, const FilePath& iconPath, const std::string& buttonKey, QWidget* parent = nullptr); - ~QtSelfRefreshIconButton() = default; - - void setIconPath(const FilePath& iconPath); - -protected: - void handleMessage(MessageRefreshUI* message) override; - - virtual void refresh(); - -private: - QtThreadedLambdaFunctor m_onQtThread; - - FilePath m_iconPath; - const std::string m_buttonKey; -}; - - -class QtIconStateButton - : public QPushButton -{ - Q_OBJECT - -public: - enum ButtonState - { - STATE_DEFAULT, - STATE_HOVERED, - STATE_DISABLED - }; - - struct State - { - FilePath iconPath; - QColor color; - }; - - QtIconStateButton(QWidget* parent = nullptr); - - void addState(ButtonState buttonState, const FilePath& iconPath, QColor color = Qt::transparent); - - void hoverIn(); - void hoverOut(); - -signals: - void hoveredIn(QPushButton*); - void hoveredOut(QPushButton*); - -protected: - void changeEvent(QEvent *event); - void enterEvent(QEvent *event); - void leaveEvent(QEvent *event); - -private: - void setState(State state); - - std::map m_states; -}; - -#endif // QT_ICON_BUTTON_H diff --git a/src/lib_gui/qt/element/QtBookmark.cpp b/src/lib_gui/qt/element/bookmark/QtBookmark.cpp similarity index 100% rename from src/lib_gui/qt/element/QtBookmark.cpp rename to src/lib_gui/qt/element/bookmark/QtBookmark.cpp diff --git a/src/lib_gui/qt/element/QtBookmark.h b/src/lib_gui/qt/element/bookmark/QtBookmark.h similarity index 100% rename from src/lib_gui/qt/element/QtBookmark.h rename to src/lib_gui/qt/element/bookmark/QtBookmark.h diff --git a/src/lib_gui/qt/element/QtBookmarkCategory.cpp b/src/lib_gui/qt/element/bookmark/QtBookmarkCategory.cpp similarity index 100% rename from src/lib_gui/qt/element/QtBookmarkCategory.cpp rename to src/lib_gui/qt/element/bookmark/QtBookmarkCategory.cpp diff --git a/src/lib_gui/qt/element/QtBookmarkCategory.h b/src/lib_gui/qt/element/bookmark/QtBookmarkCategory.h similarity index 100% rename from src/lib_gui/qt/element/QtBookmarkCategory.h rename to src/lib_gui/qt/element/bookmark/QtBookmarkCategory.h diff --git a/src/lib_gui/qt/element/QtHelpButton.cpp b/src/lib_gui/qt/element/button/QtHelpButton.cpp similarity index 100% rename from src/lib_gui/qt/element/QtHelpButton.cpp rename to src/lib_gui/qt/element/button/QtHelpButton.cpp diff --git a/src/lib_gui/qt/element/QtHelpButton.h b/src/lib_gui/qt/element/button/QtHelpButton.h similarity index 100% rename from src/lib_gui/qt/element/QtHelpButton.h rename to src/lib_gui/qt/element/button/QtHelpButton.h diff --git a/src/lib_gui/qt/element/button/QtHoverButton.cpp b/src/lib_gui/qt/element/button/QtHoverButton.cpp new file mode 100644 index 00000000..04e4000d --- /dev/null +++ b/src/lib_gui/qt/element/button/QtHoverButton.cpp @@ -0,0 +1,24 @@ +#include "QtHoverButton.h" + +QtHoverButton::QtHoverButton(QWidget* parent) + : QPushButton("", parent) +{ + setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac + setMouseTracking(true); +} + +void QtHoverButton::enterEvent(QEvent *event) +{ + if (isEnabled()) + { + emit hoveredIn(this); + } +} + +void QtHoverButton::leaveEvent(QEvent *event) +{ + if (isEnabled()) + { + emit hoveredOut(this); + } +} diff --git a/src/lib_gui/qt/element/button/QtHoverButton.h b/src/lib_gui/qt/element/button/QtHoverButton.h new file mode 100644 index 00000000..744fbb60 --- /dev/null +++ b/src/lib_gui/qt/element/button/QtHoverButton.h @@ -0,0 +1,23 @@ +#ifndef QT_HOVER_BUTTON_H +#define QT_HOVER_BUTTON_H + +#include + +class QtHoverButton + : public QPushButton +{ + Q_OBJECT + +public: + QtHoverButton(QWidget* parent = nullptr); + +signals: + void hoveredIn(QPushButton*); + void hoveredOut(QPushButton*); + +protected: + void enterEvent(QEvent *event); + void leaveEvent(QEvent *event); +}; + +#endif // QT_HOVER_BUTTON_H diff --git a/src/lib_gui/qt/element/button/QtIconButton.cpp b/src/lib_gui/qt/element/button/QtIconButton.cpp new file mode 100644 index 00000000..1076532c --- /dev/null +++ b/src/lib_gui/qt/element/button/QtIconButton.cpp @@ -0,0 +1,56 @@ +#include "QtIconButton.h" + +#include + +#include "utilityQt.h" + +QtIconButton::QtIconButton(const FilePath& iconPath, const FilePath& hoveredIconPath, QWidget* parent) + : QPushButton("", parent) + , m_iconPath(iconPath) + , m_hoveredIconPath(hoveredIconPath) + , m_color(Qt::transparent) +{ + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac + + if (!m_hoveredIconPath.empty()) + { + setMouseTracking(true); + } + + leaveEvent(nullptr); +} + +void QtIconButton::setColor(QColor color) +{ + m_color = color; + leaveEvent(nullptr); +} + +void QtIconButton::enterEvent(QEvent *event) +{ + if (!m_hoveredIconPath.empty() && isEnabled()) + { + setIconFromPath(m_hoveredIconPath); + } +} + +void QtIconButton::leaveEvent(QEvent *event) +{ + if (!m_iconPath.empty()) + { + setIconFromPath(m_iconPath); + } +} + +void QtIconButton::setIconFromPath(const FilePath& path) +{ + QPixmap pixmap = QPixmap(QString::fromStdWString(path.wstr())); + + if (m_color != Qt::transparent) + { + pixmap = utility::colorizePixmap(pixmap, m_color); + } + + setIcon(QIcon(pixmap)); +} diff --git a/src/lib_gui/qt/element/button/QtIconButton.h b/src/lib_gui/qt/element/button/QtIconButton.h new file mode 100644 index 00000000..884f9311 --- /dev/null +++ b/src/lib_gui/qt/element/button/QtIconButton.h @@ -0,0 +1,31 @@ +#ifndef QT_ICON_BUTTON_H +#define QT_ICON_BUTTON_H + +#include + +#include "FilePath.h" + +class QtIconButton + : public QPushButton +{ + Q_OBJECT +public: + QtIconButton(const FilePath& iconPath, const FilePath& hoveredIconPath, QWidget* parent = nullptr); + ~QtIconButton() = default; + + void setColor(QColor color); + +protected: + void enterEvent(QEvent *event); + void leaveEvent(QEvent *event); + +private: + void setIconFromPath(const FilePath& path); + + const FilePath m_iconPath; + const FilePath m_hoveredIconPath; + + QColor m_color; +}; + +#endif // QT_ICON_BUTTON_H diff --git a/src/lib_gui/qt/element/button/QtIconStateButton.cpp b/src/lib_gui/qt/element/button/QtIconStateButton.cpp new file mode 100644 index 00000000..a1a18d86 --- /dev/null +++ b/src/lib_gui/qt/element/button/QtIconStateButton.cpp @@ -0,0 +1,107 @@ +#include "QtIconStateButton.h" + +#include + +#include "utilityQt.h" + +QtIconStateButton::QtIconStateButton(QWidget* parent) + : QPushButton("", parent) +{ + setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed); + setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac + setMouseTracking(true); + + setObjectName("iconStateButton"); + + leaveEvent(nullptr); +} + +void QtIconStateButton::addState(ButtonState buttonState, const FilePath& iconPath, QColor color) +{ + State state; + state.iconPath = iconPath; + state.color = color; + m_states.emplace(buttonState, state); + + if (buttonState == STATE_DEFAULT) + { + leaveEvent(nullptr); + } +} + +void QtIconStateButton::hoverIn() +{ + enterEvent(nullptr); +} + +void QtIconStateButton::hoverOut() +{ + leaveEvent(nullptr); +} + +void QtIconStateButton::changeEvent(QEvent *event) +{ + if (event->type() != QEvent::EnabledChange) + { + return; + } + + auto it = m_states.find(isEnabled() ? STATE_DEFAULT : STATE_DISABLED); + if (it != m_states.end()) + { + setState(it->second); + } +} + +void QtIconStateButton::enterEvent(QEvent *event) +{ + if (!isEnabled()) + { + return; + } + + auto it = m_states.find(STATE_HOVERED); + if (it != m_states.end()) + { + setState(it->second); + + if (event) + { + emit hoveredIn(this); + } + } +} + +void QtIconStateButton::leaveEvent(QEvent *event) +{ + if (!isEnabled()) + { + return; + } + + auto it = m_states.find(STATE_DEFAULT); + if (it != m_states.end()) + { + setState(it->second); + + if (event) + { + emit hoveredOut(this); + } + } +} + +void QtIconStateButton::setState(State state) +{ + QPixmap pixmap = QPixmap(QString::fromStdWString(state.iconPath.wstr())); + + if (state.color != Qt::transparent) + { + pixmap = utility::colorizePixmap(pixmap, state.color); + } + + QIcon icon(pixmap); + icon.addPixmap(pixmap, QIcon::Disabled); + + setIcon(icon); +} diff --git a/src/lib_gui/qt/element/button/QtIconStateButton.h b/src/lib_gui/qt/element/button/QtIconStateButton.h new file mode 100644 index 00000000..04d8357a --- /dev/null +++ b/src/lib_gui/qt/element/button/QtIconStateButton.h @@ -0,0 +1,49 @@ +#ifndef QT_ICON_STATE_BUTTON_H +#define QT_ICON_STATE_BUTTON_H + +#include + +#include "FilePath.h" + +class QtIconStateButton + : public QPushButton +{ + Q_OBJECT + +public: + enum ButtonState + { + STATE_DEFAULT, + STATE_HOVERED, + STATE_DISABLED + }; + + struct State + { + FilePath iconPath; + QColor color; + }; + + QtIconStateButton(QWidget* parent = nullptr); + + void addState(ButtonState buttonState, const FilePath& iconPath, QColor color = Qt::transparent); + + void hoverIn(); + void hoverOut(); + +signals: + void hoveredIn(QPushButton*); + void hoveredOut(QPushButton*); + +protected: + void changeEvent(QEvent *event); + void enterEvent(QEvent *event); + void leaveEvent(QEvent *event); + +private: + void setState(State state); + + std::map m_states; +}; + +#endif // QT_ICON_STATE_BUTTON_H diff --git a/src/lib_gui/qt/element/button/QtSelfRefreshIconButton.cpp b/src/lib_gui/qt/element/button/QtSelfRefreshIconButton.cpp new file mode 100644 index 00000000..63505ece --- /dev/null +++ b/src/lib_gui/qt/element/button/QtSelfRefreshIconButton.cpp @@ -0,0 +1,39 @@ +#include "QtSelfRefreshIconButton.h" + +#include "utilityQt.h" + +QtSelfRefreshIconButton::QtSelfRefreshIconButton( + const QString& text, const FilePath& iconPath, const std::string& buttonKey, QWidget* parent +) + : QPushButton(text, parent) + , m_iconPath(iconPath) + , m_buttonKey(buttonKey) +{ + setAttribute(Qt::WA_LayoutUsesWidgetRect); // fixes layouting on Mac + refresh(); +} + +void QtSelfRefreshIconButton::setIconPath(const FilePath& iconPath) +{ + if (iconPath != m_iconPath) + { + m_iconPath = iconPath; + refresh(); + } +} + +void QtSelfRefreshIconButton::handleMessage(MessageRefreshUI* message) +{ + m_onQtThread([this]() + { + refresh(); + }); +} + +void QtSelfRefreshIconButton::refresh() +{ + if (!m_iconPath.empty()) + { + setIcon(utility::createButtonIcon(m_iconPath, m_buttonKey)); + } +} diff --git a/src/lib_gui/qt/element/button/QtSelfRefreshIconButton.h b/src/lib_gui/qt/element/button/QtSelfRefreshIconButton.h new file mode 100644 index 00000000..bad73266 --- /dev/null +++ b/src/lib_gui/qt/element/button/QtSelfRefreshIconButton.h @@ -0,0 +1,34 @@ +#ifndef QT_SELF_REFRESH_ICON_BUTTON_H +#define QT_SELF_REFRESH_ICON_BUTTON_H + +#include + +#include "FilePath.h" +#include "MessageListener.h" +#include "MessageRefreshUI.h" +#include "QtThreadedFunctor.h" + +class QtSelfRefreshIconButton + : public QPushButton + , public MessageListener +{ +public: + QtSelfRefreshIconButton( + const QString& text, const FilePath& iconPath, const std::string& buttonKey, QWidget* parent = nullptr); + ~QtSelfRefreshIconButton() = default; + + void setIconPath(const FilePath& iconPath); + +protected: + void handleMessage(MessageRefreshUI* message) override; + + virtual void refresh(); + +private: + QtThreadedLambdaFunctor m_onQtThread; + + FilePath m_iconPath; + const std::string m_buttonKey; +}; + +#endif // QT_SELF_REFRESH_ICON_BUTTON_H diff --git a/src/lib_gui/qt/element/QtCodeArea.cpp b/src/lib_gui/qt/element/code/QtCodeArea.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeArea.cpp rename to src/lib_gui/qt/element/code/QtCodeArea.cpp diff --git a/src/lib_gui/qt/element/QtCodeArea.h b/src/lib_gui/qt/element/code/QtCodeArea.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeArea.h rename to src/lib_gui/qt/element/code/QtCodeArea.h diff --git a/src/lib_gui/qt/element/QtCodeField.cpp b/src/lib_gui/qt/element/code/QtCodeField.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeField.cpp rename to src/lib_gui/qt/element/code/QtCodeField.cpp diff --git a/src/lib_gui/qt/element/QtCodeField.h b/src/lib_gui/qt/element/code/QtCodeField.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeField.h rename to src/lib_gui/qt/element/code/QtCodeField.h diff --git a/src/lib_gui/qt/element/QtCodeFile.cpp b/src/lib_gui/qt/element/code/QtCodeFile.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeFile.cpp rename to src/lib_gui/qt/element/code/QtCodeFile.cpp diff --git a/src/lib_gui/qt/element/QtCodeFile.h b/src/lib_gui/qt/element/code/QtCodeFile.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeFile.h rename to src/lib_gui/qt/element/code/QtCodeFile.h diff --git a/src/lib_gui/qt/element/QtCodeFileList.cpp b/src/lib_gui/qt/element/code/QtCodeFileList.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeFileList.cpp rename to src/lib_gui/qt/element/code/QtCodeFileList.cpp diff --git a/src/lib_gui/qt/element/QtCodeFileList.h b/src/lib_gui/qt/element/code/QtCodeFileList.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeFileList.h rename to src/lib_gui/qt/element/code/QtCodeFileList.h diff --git a/src/lib_gui/qt/element/QtCodeFileSingle.cpp b/src/lib_gui/qt/element/code/QtCodeFileSingle.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeFileSingle.cpp rename to src/lib_gui/qt/element/code/QtCodeFileSingle.cpp diff --git a/src/lib_gui/qt/element/QtCodeFileSingle.h b/src/lib_gui/qt/element/code/QtCodeFileSingle.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeFileSingle.h rename to src/lib_gui/qt/element/code/QtCodeFileSingle.h diff --git a/src/lib_gui/qt/element/QtCodeFileTitleBar.cpp b/src/lib_gui/qt/element/code/QtCodeFileTitleBar.cpp similarity index 99% rename from src/lib_gui/qt/element/QtCodeFileTitleBar.cpp rename to src/lib_gui/qt/element/code/QtCodeFileTitleBar.cpp index 04ea4204..e6cf17d5 100644 --- a/src/lib_gui/qt/element/QtCodeFileTitleBar.cpp +++ b/src/lib_gui/qt/element/code/QtCodeFileTitleBar.cpp @@ -5,9 +5,11 @@ #include #include "Application.h" -#include "Project.h" -#include "ResourcePaths.h" #include "MessageErrorsForFile.h" +#include "Project.h" +#include "QtIconStateButton.h" +#include "QtSelfRefreshIconButton.h" +#include "ResourcePaths.h" QtCodeFileTitleBar::QtCodeFileTitleBar(QWidget* parent, bool isHovering, bool isSingle) : QtHoverButton(parent) diff --git a/src/lib_gui/qt/element/QtCodeFileTitleBar.h b/src/lib_gui/qt/element/code/QtCodeFileTitleBar.h similarity index 95% rename from src/lib_gui/qt/element/QtCodeFileTitleBar.h rename to src/lib_gui/qt/element/code/QtCodeFileTitleBar.h index e75436e1..3787fb0c 100644 --- a/src/lib_gui/qt/element/QtCodeFileTitleBar.h +++ b/src/lib_gui/qt/element/code/QtCodeFileTitleBar.h @@ -2,11 +2,12 @@ #define QT_CODE_FILE_TITLE_BAR_H #include "QtCodeFileTitleButton.h" -#include "QtIconButton.h" +#include "QtHoverButton.h" class QLabel; class QtCodeFileTitleButton; class QtIconStateButton; +class QtSelfRefreshIconButton; class QtCodeFileTitleBar : public QtHoverButton diff --git a/src/lib_gui/qt/element/QtCodeFileTitleButton.cpp b/src/lib_gui/qt/element/code/QtCodeFileTitleButton.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeFileTitleButton.cpp rename to src/lib_gui/qt/element/code/QtCodeFileTitleButton.cpp diff --git a/src/lib_gui/qt/element/QtCodeFileTitleButton.h b/src/lib_gui/qt/element/code/QtCodeFileTitleButton.h similarity index 96% rename from src/lib_gui/qt/element/QtCodeFileTitleButton.h rename to src/lib_gui/qt/element/code/QtCodeFileTitleButton.h index d783d65a..f71050f4 100644 --- a/src/lib_gui/qt/element/QtCodeFileTitleButton.h +++ b/src/lib_gui/qt/element/code/QtCodeFileTitleButton.h @@ -2,10 +2,9 @@ #define QT_CODE_FILE_TITLE_BUTTON_H #include "FilePath.h" +#include "QtSelfRefreshIconButton.h" #include "TimeStamp.h" -#include "QtIconButton.h" - class QtCodeFileTitleButton : public QtSelfRefreshIconButton { diff --git a/src/lib_gui/qt/element/QtCodeNavigateable.cpp b/src/lib_gui/qt/element/code/QtCodeNavigateable.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeNavigateable.cpp rename to src/lib_gui/qt/element/code/QtCodeNavigateable.cpp diff --git a/src/lib_gui/qt/element/QtCodeNavigateable.h b/src/lib_gui/qt/element/code/QtCodeNavigateable.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeNavigateable.h rename to src/lib_gui/qt/element/code/QtCodeNavigateable.h diff --git a/src/lib_gui/qt/element/QtCodeNavigator.cpp b/src/lib_gui/qt/element/code/QtCodeNavigator.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeNavigator.cpp rename to src/lib_gui/qt/element/code/QtCodeNavigator.cpp diff --git a/src/lib_gui/qt/element/QtCodeNavigator.h b/src/lib_gui/qt/element/code/QtCodeNavigator.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeNavigator.h rename to src/lib_gui/qt/element/code/QtCodeNavigator.h diff --git a/src/lib_gui/qt/element/QtCodeSnippet.cpp b/src/lib_gui/qt/element/code/QtCodeSnippet.cpp similarity index 100% rename from src/lib_gui/qt/element/QtCodeSnippet.cpp rename to src/lib_gui/qt/element/code/QtCodeSnippet.cpp diff --git a/src/lib_gui/qt/element/QtCodeSnippet.h b/src/lib_gui/qt/element/code/QtCodeSnippet.h similarity index 100% rename from src/lib_gui/qt/element/QtCodeSnippet.h rename to src/lib_gui/qt/element/code/QtCodeSnippet.h diff --git a/src/lib_gui/qt/element/QtLineEdit.cpp b/src/lib_gui/qt/element/dialog/QtLineEdit.cpp similarity index 100% rename from src/lib_gui/qt/element/QtLineEdit.cpp rename to src/lib_gui/qt/element/dialog/QtLineEdit.cpp diff --git a/src/lib_gui/qt/element/QtLineEdit.h b/src/lib_gui/qt/element/dialog/QtLineEdit.h similarity index 100% rename from src/lib_gui/qt/element/QtLineEdit.h rename to src/lib_gui/qt/element/dialog/QtLineEdit.h diff --git a/src/lib_gui/qt/element/QtListBox.cpp b/src/lib_gui/qt/element/dialog/QtListBox.cpp similarity index 100% rename from src/lib_gui/qt/element/QtListBox.cpp rename to src/lib_gui/qt/element/dialog/QtListBox.cpp diff --git a/src/lib_gui/qt/element/QtListBox.h b/src/lib_gui/qt/element/dialog/QtListBox.h similarity index 100% rename from src/lib_gui/qt/element/QtListBox.h rename to src/lib_gui/qt/element/dialog/QtListBox.h diff --git a/src/lib_gui/qt/element/QtListBoxItem.cpp b/src/lib_gui/qt/element/dialog/QtListBoxItem.cpp similarity index 100% rename from src/lib_gui/qt/element/QtListBoxItem.cpp rename to src/lib_gui/qt/element/dialog/QtListBoxItem.cpp diff --git a/src/lib_gui/qt/element/QtListBoxItem.h b/src/lib_gui/qt/element/dialog/QtListBoxItem.h similarity index 100% rename from src/lib_gui/qt/element/QtListBoxItem.h rename to src/lib_gui/qt/element/dialog/QtListBoxItem.h diff --git a/src/lib_gui/qt/element/QtLocationPicker.cpp b/src/lib_gui/qt/element/dialog/QtLocationPicker.cpp similarity index 100% rename from src/lib_gui/qt/element/QtLocationPicker.cpp rename to src/lib_gui/qt/element/dialog/QtLocationPicker.cpp diff --git a/src/lib_gui/qt/element/QtLocationPicker.h b/src/lib_gui/qt/element/dialog/QtLocationPicker.h similarity index 100% rename from src/lib_gui/qt/element/QtLocationPicker.h rename to src/lib_gui/qt/element/dialog/QtLocationPicker.h diff --git a/src/lib_gui/qt/element/QtNewsWidget.cpp b/src/lib_gui/qt/element/dialog/QtNewsWidget.cpp similarity index 100% rename from src/lib_gui/qt/element/QtNewsWidget.cpp rename to src/lib_gui/qt/element/dialog/QtNewsWidget.cpp diff --git a/src/lib_gui/qt/element/QtNewsWidget.h b/src/lib_gui/qt/element/dialog/QtNewsWidget.h similarity index 100% rename from src/lib_gui/qt/element/QtNewsWidget.h rename to src/lib_gui/qt/element/dialog/QtNewsWidget.h diff --git a/src/lib_gui/qt/element/QtPathListBox.cpp b/src/lib_gui/qt/element/dialog/QtPathListBox.cpp similarity index 100% rename from src/lib_gui/qt/element/QtPathListBox.cpp rename to src/lib_gui/qt/element/dialog/QtPathListBox.cpp diff --git a/src/lib_gui/qt/element/QtPathListBox.h b/src/lib_gui/qt/element/dialog/QtPathListBox.h similarity index 100% rename from src/lib_gui/qt/element/QtPathListBox.h rename to src/lib_gui/qt/element/dialog/QtPathListBox.h diff --git a/src/lib_gui/qt/element/QtPathListBoxItem.cpp b/src/lib_gui/qt/element/dialog/QtPathListBoxItem.cpp similarity index 100% rename from src/lib_gui/qt/element/QtPathListBoxItem.cpp rename to src/lib_gui/qt/element/dialog/QtPathListBoxItem.cpp diff --git a/src/lib_gui/qt/element/QtPathListBoxItem.h b/src/lib_gui/qt/element/dialog/QtPathListBoxItem.h similarity index 100% rename from src/lib_gui/qt/element/QtPathListBoxItem.h rename to src/lib_gui/qt/element/dialog/QtPathListBoxItem.h diff --git a/src/lib_gui/qt/element/QtProgressBar.cpp b/src/lib_gui/qt/element/dialog/QtProgressBar.cpp similarity index 100% rename from src/lib_gui/qt/element/QtProgressBar.cpp rename to src/lib_gui/qt/element/dialog/QtProgressBar.cpp diff --git a/src/lib_gui/qt/element/QtProgressBar.h b/src/lib_gui/qt/element/dialog/QtProgressBar.h similarity index 100% rename from src/lib_gui/qt/element/QtProgressBar.h rename to src/lib_gui/qt/element/dialog/QtProgressBar.h diff --git a/src/lib_gui/qt/element/QtStringListBox.cpp b/src/lib_gui/qt/element/dialog/QtStringListBox.cpp similarity index 100% rename from src/lib_gui/qt/element/QtStringListBox.cpp rename to src/lib_gui/qt/element/dialog/QtStringListBox.cpp diff --git a/src/lib_gui/qt/element/QtStringListBox.h b/src/lib_gui/qt/element/dialog/QtStringListBox.h similarity index 100% rename from src/lib_gui/qt/element/QtStringListBox.h rename to src/lib_gui/qt/element/dialog/QtStringListBox.h diff --git a/src/lib_gui/qt/element/QtStringListBoxItem.cpp b/src/lib_gui/qt/element/dialog/QtStringListBoxItem.cpp similarity index 100% rename from src/lib_gui/qt/element/QtStringListBoxItem.cpp rename to src/lib_gui/qt/element/dialog/QtStringListBoxItem.cpp diff --git a/src/lib_gui/qt/element/QtStringListBoxItem.h b/src/lib_gui/qt/element/dialog/QtStringListBoxItem.h similarity index 100% rename from src/lib_gui/qt/element/QtStringListBoxItem.h rename to src/lib_gui/qt/element/dialog/QtStringListBoxItem.h diff --git a/src/lib_gui/qt/element/QtTextEdit.cpp b/src/lib_gui/qt/element/dialog/QtTextEdit.cpp similarity index 100% rename from src/lib_gui/qt/element/QtTextEdit.cpp rename to src/lib_gui/qt/element/dialog/QtTextEdit.cpp diff --git a/src/lib_gui/qt/element/QtTextEdit.h b/src/lib_gui/qt/element/dialog/QtTextEdit.h similarity index 100% rename from src/lib_gui/qt/element/QtTextEdit.h rename to src/lib_gui/qt/element/dialog/QtTextEdit.h diff --git a/src/lib_gui/qt/element/QtUpdateCheckerWidget.cpp b/src/lib_gui/qt/element/dialog/QtUpdateCheckerWidget.cpp similarity index 100% rename from src/lib_gui/qt/element/QtUpdateCheckerWidget.cpp rename to src/lib_gui/qt/element/dialog/QtUpdateCheckerWidget.cpp diff --git a/src/lib_gui/qt/element/QtUpdateCheckerWidget.h b/src/lib_gui/qt/element/dialog/QtUpdateCheckerWidget.h similarity index 100% rename from src/lib_gui/qt/element/QtUpdateCheckerWidget.h rename to src/lib_gui/qt/element/dialog/QtUpdateCheckerWidget.h diff --git a/src/lib_gui/qt/element/QtHistoryList.cpp b/src/lib_gui/qt/element/history/QtHistoryList.cpp similarity index 100% rename from src/lib_gui/qt/element/QtHistoryList.cpp rename to src/lib_gui/qt/element/history/QtHistoryList.cpp diff --git a/src/lib_gui/qt/element/QtHistoryList.h b/src/lib_gui/qt/element/history/QtHistoryList.h similarity index 100% rename from src/lib_gui/qt/element/QtHistoryList.h rename to src/lib_gui/qt/element/history/QtHistoryList.h diff --git a/src/lib_gui/qt/element/QtUndoRedo.cpp b/src/lib_gui/qt/element/history/QtUndoRedo.cpp similarity index 100% rename from src/lib_gui/qt/element/QtUndoRedo.cpp rename to src/lib_gui/qt/element/history/QtUndoRedo.cpp diff --git a/src/lib_gui/qt/element/QtUndoRedo.h b/src/lib_gui/qt/element/history/QtUndoRedo.h similarity index 100% rename from src/lib_gui/qt/element/QtUndoRedo.h rename to src/lib_gui/qt/element/history/QtUndoRedo.h diff --git a/src/lib_gui/qt/element/QtAutocompletionList.cpp b/src/lib_gui/qt/element/search/QtAutocompletionList.cpp similarity index 100% rename from src/lib_gui/qt/element/QtAutocompletionList.cpp rename to src/lib_gui/qt/element/search/QtAutocompletionList.cpp diff --git a/src/lib_gui/qt/element/QtAutocompletionList.h b/src/lib_gui/qt/element/search/QtAutocompletionList.h similarity index 100% rename from src/lib_gui/qt/element/QtAutocompletionList.h rename to src/lib_gui/qt/element/search/QtAutocompletionList.h diff --git a/src/lib_gui/qt/element/QtScreenSearchBox.cpp b/src/lib_gui/qt/element/search/QtScreenSearchBox.cpp similarity index 99% rename from src/lib_gui/qt/element/QtScreenSearchBox.cpp rename to src/lib_gui/qt/element/search/QtScreenSearchBox.cpp index 447e244c..6093a2ca 100644 --- a/src/lib_gui/qt/element/QtScreenSearchBox.cpp +++ b/src/lib_gui/qt/element/search/QtScreenSearchBox.cpp @@ -8,9 +8,9 @@ #include #include -#include "QtIconButton.h" -#include "utilityQt.h" +#include "QtSelfRefreshIconButton.h" #include "ResourcePaths.h" +#include "utilityQt.h" QtFocusInFilter::QtFocusInFilter(QObject* parent) diff --git a/src/lib_gui/qt/element/QtScreenSearchBox.h b/src/lib_gui/qt/element/search/QtScreenSearchBox.h similarity index 100% rename from src/lib_gui/qt/element/QtScreenSearchBox.h rename to src/lib_gui/qt/element/search/QtScreenSearchBox.h diff --git a/src/lib_gui/qt/element/QtSearchBar.cpp b/src/lib_gui/qt/element/search/QtSearchBar.cpp similarity index 100% rename from src/lib_gui/qt/element/QtSearchBar.cpp rename to src/lib_gui/qt/element/search/QtSearchBar.cpp diff --git a/src/lib_gui/qt/element/QtSearchBar.h b/src/lib_gui/qt/element/search/QtSearchBar.h similarity index 100% rename from src/lib_gui/qt/element/QtSearchBar.h rename to src/lib_gui/qt/element/search/QtSearchBar.h diff --git a/src/lib_gui/qt/element/QtSearchBarButton.cpp b/src/lib_gui/qt/element/search/QtSearchBarButton.cpp similarity index 100% rename from src/lib_gui/qt/element/QtSearchBarButton.cpp rename to src/lib_gui/qt/element/search/QtSearchBarButton.cpp diff --git a/src/lib_gui/qt/element/QtSearchBarButton.h b/src/lib_gui/qt/element/search/QtSearchBarButton.h similarity index 89% rename from src/lib_gui/qt/element/QtSearchBarButton.h rename to src/lib_gui/qt/element/search/QtSearchBarButton.h index 51ca2182..2462822f 100644 --- a/src/lib_gui/qt/element/QtSearchBarButton.h +++ b/src/lib_gui/qt/element/search/QtSearchBarButton.h @@ -1,7 +1,7 @@ #ifndef QT_SEARCH_BAR_BUTTON_H #define QT_SEARCH_BAR_BUTTON_H -#include "QtIconButton.h" +#include "QtSelfRefreshIconButton.h" class QtSearchBarButton : public QtSelfRefreshIconButton diff --git a/src/lib_gui/qt/element/QtSmartSearchBox.cpp b/src/lib_gui/qt/element/search/QtSmartSearchBox.cpp similarity index 100% rename from src/lib_gui/qt/element/QtSmartSearchBox.cpp rename to src/lib_gui/qt/element/search/QtSmartSearchBox.cpp diff --git a/src/lib_gui/qt/element/QtSmartSearchBox.h b/src/lib_gui/qt/element/search/QtSmartSearchBox.h similarity index 100% rename from src/lib_gui/qt/element/QtSmartSearchBox.h rename to src/lib_gui/qt/element/search/QtSmartSearchBox.h diff --git a/src/lib_gui/qt/graphics/QtCountCircleItem.cpp b/src/lib_gui/qt/graphics/base/QtCountCircleItem.cpp similarity index 100% rename from src/lib_gui/qt/graphics/QtCountCircleItem.cpp rename to src/lib_gui/qt/graphics/base/QtCountCircleItem.cpp diff --git a/src/lib_gui/qt/graphics/QtCountCircleItem.h b/src/lib_gui/qt/graphics/base/QtCountCircleItem.h similarity index 100% rename from src/lib_gui/qt/graphics/QtCountCircleItem.h rename to src/lib_gui/qt/graphics/base/QtCountCircleItem.h diff --git a/src/lib_gui/qt/graphics/QtGraphicsView.cpp b/src/lib_gui/qt/graphics/base/QtGraphicsView.cpp similarity index 99% rename from src/lib_gui/qt/graphics/QtGraphicsView.cpp rename to src/lib_gui/qt/graphics/base/QtGraphicsView.cpp index 1213b34a..0a466fb5 100644 --- a/src/lib_gui/qt/graphics/QtGraphicsView.cpp +++ b/src/lib_gui/qt/graphics/base/QtGraphicsView.cpp @@ -11,15 +11,6 @@ #include #include -#include "QtIconButton.h" -#include "QtGraphEdge.h" -#include "QtGraphNode.h" -#include "QtGraphNodeBundle.h" -#include "QtGraphNodeData.h" -#include "QtGraphNodeExpandToggle.h" -#include "QtContextMenu.h" -#include "QtFileDialog.h" -#include "utilityQt.h" #include "ApplicationSettings.h" #include "MessageActivateLegend.h" #include "MessageBookmarkCreate.h" @@ -27,8 +18,17 @@ #include "MessageGraphNodeExpand.h" #include "MessageGraphNodeHide.h" #include "MessageTabOpenWith.h" +#include "QtContextMenu.h" +#include "QtFileDialog.h" +#include "QtGraphEdge.h" +#include "QtGraphNode.h" +#include "QtGraphNodeBundle.h" +#include "QtGraphNodeData.h" +#include "QtGraphNodeExpandToggle.h" +#include "QtSelfRefreshIconButton.h" #include "ResourcePaths.h" #include "utilityApp.h" +#include "utilityQt.h" QtGraphicsView::QtGraphicsView(QWidget* parent) : QGraphicsView(parent) diff --git a/src/lib_gui/qt/graphics/QtGraphicsView.h b/src/lib_gui/qt/graphics/base/QtGraphicsView.h similarity index 100% rename from src/lib_gui/qt/graphics/QtGraphicsView.h rename to src/lib_gui/qt/graphics/base/QtGraphicsView.h diff --git a/src/lib_gui/qt/graphics/QtLineItemAngled.cpp b/src/lib_gui/qt/graphics/base/QtLineItemAngled.cpp similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemAngled.cpp rename to src/lib_gui/qt/graphics/base/QtLineItemAngled.cpp diff --git a/src/lib_gui/qt/graphics/QtLineItemAngled.h b/src/lib_gui/qt/graphics/base/QtLineItemAngled.h similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemAngled.h rename to src/lib_gui/qt/graphics/base/QtLineItemAngled.h diff --git a/src/lib_gui/qt/graphics/QtLineItemBase.cpp b/src/lib_gui/qt/graphics/base/QtLineItemBase.cpp similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemBase.cpp rename to src/lib_gui/qt/graphics/base/QtLineItemBase.cpp diff --git a/src/lib_gui/qt/graphics/QtLineItemBase.h b/src/lib_gui/qt/graphics/base/QtLineItemBase.h similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemBase.h rename to src/lib_gui/qt/graphics/base/QtLineItemBase.h diff --git a/src/lib_gui/qt/graphics/QtLineItemBezier.cpp b/src/lib_gui/qt/graphics/base/QtLineItemBezier.cpp similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemBezier.cpp rename to src/lib_gui/qt/graphics/base/QtLineItemBezier.cpp diff --git a/src/lib_gui/qt/graphics/QtLineItemBezier.h b/src/lib_gui/qt/graphics/base/QtLineItemBezier.h similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemBezier.h rename to src/lib_gui/qt/graphics/base/QtLineItemBezier.h diff --git a/src/lib_gui/qt/graphics/QtLineItemStraight.cpp b/src/lib_gui/qt/graphics/base/QtLineItemStraight.cpp similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemStraight.cpp rename to src/lib_gui/qt/graphics/base/QtLineItemStraight.cpp diff --git a/src/lib_gui/qt/graphics/QtLineItemStraight.h b/src/lib_gui/qt/graphics/base/QtLineItemStraight.h similarity index 100% rename from src/lib_gui/qt/graphics/QtLineItemStraight.h rename to src/lib_gui/qt/graphics/base/QtLineItemStraight.h diff --git a/src/lib_gui/qt/graphics/QtRoundedRectItem.cpp b/src/lib_gui/qt/graphics/base/QtRoundedRectItem.cpp similarity index 100% rename from src/lib_gui/qt/graphics/QtRoundedRectItem.cpp rename to src/lib_gui/qt/graphics/base/QtRoundedRectItem.cpp diff --git a/src/lib_gui/qt/graphics/QtRoundedRectItem.h b/src/lib_gui/qt/graphics/base/QtRoundedRectItem.h similarity index 100% rename from src/lib_gui/qt/graphics/QtRoundedRectItem.h rename to src/lib_gui/qt/graphics/base/QtRoundedRectItem.h diff --git a/src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponent.cpp b/src/lib_gui/qt/graphics/component/QtGraphNodeComponent.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponent.cpp rename to src/lib_gui/qt/graphics/component/QtGraphNodeComponent.cpp diff --git a/src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponent.h b/src/lib_gui/qt/graphics/component/QtGraphNodeComponent.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponent.h rename to src/lib_gui/qt/graphics/component/QtGraphNodeComponent.h diff --git a/src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentClickable.cpp b/src/lib_gui/qt/graphics/component/QtGraphNodeComponentClickable.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentClickable.cpp rename to src/lib_gui/qt/graphics/component/QtGraphNodeComponentClickable.cpp diff --git a/src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentClickable.h b/src/lib_gui/qt/graphics/component/QtGraphNodeComponentClickable.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentClickable.h rename to src/lib_gui/qt/graphics/component/QtGraphNodeComponentClickable.h diff --git a/src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentMoveable.cpp b/src/lib_gui/qt/graphics/component/QtGraphNodeComponentMoveable.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentMoveable.cpp rename to src/lib_gui/qt/graphics/component/QtGraphNodeComponentMoveable.cpp diff --git a/src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentMoveable.h b/src/lib_gui/qt/graphics/component/QtGraphNodeComponentMoveable.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/nodeComponents/QtGraphNodeComponentMoveable.h rename to src/lib_gui/qt/graphics/component/QtGraphNodeComponentMoveable.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphEdge.cpp b/src/lib_gui/qt/graphics/graph/QtGraphEdge.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphEdge.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphEdge.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphEdge.h b/src/lib_gui/qt/graphics/graph/QtGraphEdge.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphEdge.h rename to src/lib_gui/qt/graphics/graph/QtGraphEdge.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNode.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNode.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNode.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNode.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNode.h b/src/lib_gui/qt/graphics/graph/QtGraphNode.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNode.h rename to src/lib_gui/qt/graphics/graph/QtGraphNode.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeAccess.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeAccess.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeAccess.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeAccess.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeAccess.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeAccess.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeAccess.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeAccess.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeBundle.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeBundle.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeBundle.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeBundle.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeBundle.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeBundle.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeBundle.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeBundle.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeData.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeData.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeData.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeData.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeData.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeData.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeData.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeData.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeExpandToggle.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeExpandToggle.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeExpandToggle.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeExpandToggle.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeExpandToggle.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeExpandToggle.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeExpandToggle.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeExpandToggle.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeGroup.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeGroup.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeGroup.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeGroup.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeGroup.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeGroup.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeGroup.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeGroup.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeQualifier.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeQualifier.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeQualifier.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeQualifier.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeQualifier.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeQualifier.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeQualifier.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeQualifier.h diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeText.cpp b/src/lib_gui/qt/graphics/graph/QtGraphNodeText.cpp similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeText.cpp rename to src/lib_gui/qt/graphics/graph/QtGraphNodeText.cpp diff --git a/src/lib_gui/qt/view/graphElements/QtGraphNodeText.h b/src/lib_gui/qt/graphics/graph/QtGraphNodeText.h similarity index 100% rename from src/lib_gui/qt/view/graphElements/QtGraphNodeText.h rename to src/lib_gui/qt/graphics/graph/QtGraphNodeText.h diff --git a/src/lib_gui/qt/view/QtErrorView.cpp b/src/lib_gui/qt/view/QtErrorView.cpp index db909adb..3be7359a 100644 --- a/src/lib_gui/qt/view/QtErrorView.cpp +++ b/src/lib_gui/qt/view/QtErrorView.cpp @@ -16,8 +16,8 @@ #include "ColorScheme.h" #include "MessageProjectEdit.h" #include "QtHelpButton.h" -#include "QtIconButton.h" #include "QtTable.h" +#include "QtSelfRefreshIconButton.h" #include "QtViewWidgetWrapper.h" #include "ResourcePaths.h" #include "TabId.h" diff --git a/src/lib_gui/qt/view/QtGraphView.cpp b/src/lib_gui/qt/view/QtGraphView.cpp index ed4f535f..2666185c 100644 --- a/src/lib_gui/qt/view/QtGraphView.cpp +++ b/src/lib_gui/qt/view/QtGraphView.cpp @@ -13,31 +13,30 @@ #include #include +#include "ApplicationSettings.h" +#include "DummyEdge.h" +#include "DummyNode.h" +#include "GraphViewStyle.h" #include "MessageActivateTrail.h" #include "MessageDeactivateEdge.h" #include "MessageRefreshUI.h" #include "MessageScrollGraph.h" #include "MessageStatus.h" -#include "ResourcePaths.h" - -#include "DummyEdge.h" -#include "DummyNode.h" -#include "GraphViewStyle.h" -#include "QtIconButton.h" -#include "QtGraphicsView.h" -#include "utilityQt.h" -#include "QtViewWidgetWrapper.h" -#include "QtGraphNodeComponentClickable.h" -#include "QtGraphNodeComponentMoveable.h" #include "QtGraphEdge.h" +#include "QtGraphicsView.h" #include "QtGraphNodeAccess.h" #include "QtGraphNodeBundle.h" +#include "QtGraphNodeComponentMoveable.h" +#include "QtGraphNodeComponentClickable.h" #include "QtGraphNodeData.h" #include "QtGraphNodeExpandToggle.h" #include "QtGraphNodeGroup.h" #include "QtGraphNodeQualifier.h" #include "QtGraphNodeText.h" -#include "ApplicationSettings.h" +#include "QtSelfRefreshIconButton.h" +#include "QtViewWidgetWrapper.h" +#include "ResourcePaths.h" +#include "utilityQt.h" QtGraphView::QtGraphView(ViewLayout* viewLayout) : GraphView(viewLayout) diff --git a/src/lib_gui/qt/view/QtTabbedView.cpp b/src/lib_gui/qt/view/QtTabbedView.cpp index d6934be0..8736c7b4 100644 --- a/src/lib_gui/qt/view/QtTabbedView.cpp +++ b/src/lib_gui/qt/view/QtTabbedView.cpp @@ -6,11 +6,11 @@ #include #include -#include "QtIconButton.h" -#include "utilityQt.h" -#include "QtViewWidgetWrapper.h" #include "ColorScheme.h" +#include "QtSelfRefreshIconButton.h" +#include "QtViewWidgetWrapper.h" #include "ResourcePaths.h" +#include "utilityQt.h" QtTabbedView::QtTabbedView(ViewLayout* viewLayout, const std::string& name) : TabbedView(viewLayout, name) diff --git a/src/lib_gui/qt/view/QtTabsView.cpp b/src/lib_gui/qt/view/QtTabsView.cpp index 90db9cb6..4fc43ec6 100644 --- a/src/lib_gui/qt/view/QtTabsView.cpp +++ b/src/lib_gui/qt/view/QtTabsView.cpp @@ -8,7 +8,7 @@ #include "Application.h" #include "ColorScheme.h" #include "GraphViewStyle.h" -#include "QtIconButton.h" +#include "QtSelfRefreshIconButton.h" #include "QtTabBar.h" #include "QtViewWidgetWrapper.h" #include "ResourcePaths.h"