forked from qt-creator/qt-creator
Welcome: Derive Core::Button from QAbstractButton
Enable a hover effect on macOS and remove the need for the setFlat hack. Change-Id: Iea77ccaddcff0e9ad9299ffda8584160dca6413a Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Marcus Tillmanns <marcus.tillmanns@qt.io>
This commit is contained in:
@@ -134,12 +134,10 @@ static const TextFormat &buttonTF(Button::Role role, WidgetState state)
|
|||||||
}
|
}
|
||||||
|
|
||||||
Button::Button(const QString &text, Role role, QWidget *parent)
|
Button::Button(const QString &text, Role role, QWidget *parent)
|
||||||
: QPushButton(text, parent)
|
: QAbstractButton(parent)
|
||||||
, m_role(role)
|
, m_role(role)
|
||||||
{
|
{
|
||||||
// Prevent QMacStyle::subElementRect(SE_PushButtonLayoutItem) from changing our geometry
|
setText(text);
|
||||||
setFlat(true);
|
|
||||||
|
|
||||||
updateMargins();
|
updateMargins();
|
||||||
if (m_role == SmallList)
|
if (m_role == SmallList)
|
||||||
setCheckable(true);
|
setCheckable(true);
|
||||||
|
@@ -70,7 +70,7 @@ CORE_EXPORT QWidget *createRule(Qt::Orientation orientation, QWidget *parent = n
|
|||||||
|
|
||||||
} // namespace WelcomePageHelpers
|
} // namespace WelcomePageHelpers
|
||||||
|
|
||||||
class CORE_EXPORT Button : public QPushButton
|
class CORE_EXPORT Button : public QAbstractButton
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Role {
|
enum Role {
|
||||||
|
@@ -9,10 +9,10 @@
|
|||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
class QAbstractButton;
|
||||||
class QItemSelectionModel;
|
class QItemSelectionModel;
|
||||||
class QLineEdit;
|
class QLineEdit;
|
||||||
class QListView;
|
class QListView;
|
||||||
class QPushButton;
|
|
||||||
class QSortFilterProxyModel;
|
class QSortFilterProxyModel;
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ private:
|
|||||||
|
|
||||||
QScopedPointer<QStandardItemModel> m_model;
|
QScopedPointer<QStandardItemModel> m_model;
|
||||||
QLineEdit *m_searchBox;
|
QLineEdit *m_searchBox;
|
||||||
QPushButton *m_updateButton;
|
QAbstractButton *m_updateButton;
|
||||||
QListView *m_extensionsView;
|
QListView *m_extensionsView;
|
||||||
QItemSelectionModel *m_selectionModel = nullptr;
|
QItemSelectionModel *m_selectionModel = nullptr;
|
||||||
QSortFilterProxyModel *m_filterProxyModel;
|
QSortFilterProxyModel *m_filterProxyModel;
|
||||||
|
@@ -73,7 +73,7 @@ private:
|
|||||||
TopArea *m_topArea;
|
TopArea *m_topArea;
|
||||||
SideArea *m_sideArea;
|
SideArea *m_sideArea;
|
||||||
QList<IWelcomePage *> m_pluginList;
|
QList<IWelcomePage *> m_pluginList;
|
||||||
QList<QPushButton *> m_pageButtons;
|
QList<QAbstractButton *> m_pageButtons;
|
||||||
QButtonGroup *m_buttonGroup;
|
QButtonGroup *m_buttonGroup;
|
||||||
Id m_activePage;
|
Id m_activePage;
|
||||||
Id m_defaultPage;
|
Id m_defaultPage;
|
||||||
|
Reference in New Issue
Block a user