From 0f712305c840bc509fa8f00eebf2a2a4bbf28bfd Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Sat, 24 Aug 2019 13:04:10 -0400 Subject: added settings for QTabWidget, checkable QAbstractButton and ExpanderWidget removed directInterface() from mod info conflicts --- src/expanderwidget.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/expanderwidget.cpp') diff --git a/src/expanderwidget.cpp b/src/expanderwidget.cpp index 2f47da5b..a9d045a5 100644 --- a/src/expanderwidget.cpp +++ b/src/expanderwidget.cpp @@ -52,3 +52,30 @@ bool ExpanderWidget::opened() const { return opened_; } + +QByteArray ExpanderWidget::saveState() const +{ + QByteArray result; + QDataStream stream(&result, QIODevice::WriteOnly); + + stream << opened(); + + return result; +} + +void ExpanderWidget::restoreState(const QByteArray& a) +{ + QDataStream stream(a); + + bool opened = false; + stream >> opened; + + if (stream.status() == QDataStream::Ok) { + toggle(opened); + } +} + +QToolButton* ExpanderWidget::button() const +{ + return m_button; +} -- cgit v1.3.1 From 9c59c739d4ef9a4479ac849badc998b200fddb13 Mon Sep 17 00:00:00 2001 From: isanae <14251494+isanae@users.noreply.github.com> Date: Wed, 11 Sep 2019 23:32:32 -0400 Subject: moved ExpanderWidget to uibase --- src/expanderwidget.cpp | 81 -------------------------------------------------- src/expanderwidget.h | 51 ------------------------------- 2 files changed, 132 deletions(-) delete mode 100644 src/expanderwidget.cpp delete mode 100644 src/expanderwidget.h (limited to 'src/expanderwidget.cpp') diff --git a/src/expanderwidget.cpp b/src/expanderwidget.cpp deleted file mode 100644 index a9d045a5..00000000 --- a/src/expanderwidget.cpp +++ /dev/null @@ -1,81 +0,0 @@ -#include "expanderwidget.h" - -ExpanderWidget::ExpanderWidget() - : m_button(nullptr), m_content(nullptr), opened_(false) -{ -} - -ExpanderWidget::ExpanderWidget(QToolButton* button, QWidget* content) - : ExpanderWidget() -{ - set(button, content); -} - -void ExpanderWidget::set(QToolButton* button, QWidget* content, bool o) -{ - m_button = button; - m_content = content; - - m_button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon); - QObject::connect(m_button, &QToolButton::clicked, [&]{ toggle(); }); - - toggle(o); -} - -void ExpanderWidget::toggle() -{ - if (opened()) { - toggle(false); - } - else { - toggle(true); - } -} - -void ExpanderWidget::toggle(bool b) -{ - if (b) { - m_button->setArrowType(Qt::DownArrow); - m_content->show(); - } else { - m_button->setArrowType(Qt::RightArrow); - m_content->hide(); - } - - // the state has to be remembered instead of using m_content's visibility - // because saving the state in saveConflictExpandersState() happens after the - // dialog is closed, which marks all the widgets hidden - opened_ = b; -} - -bool ExpanderWidget::opened() const -{ - return opened_; -} - -QByteArray ExpanderWidget::saveState() const -{ - QByteArray result; - QDataStream stream(&result, QIODevice::WriteOnly); - - stream << opened(); - - return result; -} - -void ExpanderWidget::restoreState(const QByteArray& a) -{ - QDataStream stream(a); - - bool opened = false; - stream >> opened; - - if (stream.status() == QDataStream::Ok) { - toggle(opened); - } -} - -QToolButton* ExpanderWidget::button() const -{ - return m_button; -} diff --git a/src/expanderwidget.h b/src/expanderwidget.h deleted file mode 100644 index 99b2d303..00000000 --- a/src/expanderwidget.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef EXPANDERWIDGET_H -#define EXPANDERWIDGET_H - -#include - -/* Takes a QToolButton and a widget and creates an expandable widget. -**/ -class ExpanderWidget -{ -public: - /** empty expander, use set() - **/ - ExpanderWidget(); - - /** see set() - **/ - ExpanderWidget(QToolButton* button, QWidget* content); - - /** @brief sets the button and content widgets to use - * the button will be given an arrow icon, clicking it will toggle the - * visibility of the given widget - * @param button the button that toggles the content - * @param content the widget that will be shown or hidden - * @param opened initial state, defaults to closed - **/ - void set(QToolButton* button, QWidget* content, bool opened=false); - - /** either opens or closes the expander depending on the current state - **/ - void toggle(); - - /** sets the current state of the expander - **/ - void toggle(bool b); - - /** returns whether the expander is currently opened - **/ - bool opened() const; - - QByteArray saveState() const; - void restoreState(const QByteArray& a); - - QToolButton* button() const; - -private: - QToolButton* m_button; - QWidget* m_content; - bool opened_; -}; - -#endif // EXPANDERWIDGET_H -- cgit v1.3.1