From a28909327bb4e837626c210273e76cb7f8c8ec31 Mon Sep 17 00:00:00 2001 From: Peter Hartmann Date: Thu, 22 Mar 2018 15:48:29 +0100 Subject: [PATCH] Add subcontrol for input panel --- skins/squiek/QskSquiekSkin.cpp | 1 + src/controls/QskInputPanel.cpp | 14 ++++++++++++++ src/controls/QskInputPanel.h | 2 ++ 3 files changed, 17 insertions(+) diff --git a/skins/squiek/QskSquiekSkin.cpp b/skins/squiek/QskSquiekSkin.cpp index 0093feba..81fd27cc 100644 --- a/skins/squiek/QskSquiekSkin.cpp +++ b/skins/squiek/QskSquiekSkin.cpp @@ -560,6 +560,7 @@ void QskSquiekSkin::initInputPanelHints() // key panel setMargins( QskInputPanel::Panel | Margin, 2 ); + setButton( QskInputPanel::Panel, Raised ); setButton( Q::Panel, Raised ); setButton( Q::Panel | Q::Pressed, Sunken ); diff --git a/src/controls/QskInputPanel.cpp b/src/controls/QskInputPanel.cpp index 28c35f89..5be42f36 100644 --- a/src/controls/QskInputPanel.cpp +++ b/src/controls/QskInputPanel.cpp @@ -244,6 +244,8 @@ QskInputPanel::QskInputPanel( QQuickItem* parent ): initSizePolicy( QskSizePolicy::Expanding, QskSizePolicy::Expanding ); + setAutoFillBackground( true ); + auto margins = marginsHint( Panel | QskAspect::Margin ); setMargins( margins ); @@ -260,6 +262,18 @@ QskInputPanel::~QskInputPanel() { } + +QskAspect::Subcontrol QskInputPanel::effectiveSubcontrol( QskAspect::Subcontrol subControl ) const +{ + if( subControl == QskAspect::Control ) + { + return QskInputPanel::Panel; + } + + return subControl; +} + + QskInputPanel::Mode QskInputPanel::mode() const { return m_data->mode; diff --git a/src/controls/QskInputPanel.h b/src/controls/QskInputPanel.h index 4c893bbe..d5fb7d35 100644 --- a/src/controls/QskInputPanel.h +++ b/src/controls/QskInputPanel.h @@ -89,6 +89,8 @@ public: QskInputPanel( QQuickItem* parent = nullptr ); virtual ~QskInputPanel() override; + virtual QskAspect::Subcontrol effectiveSubcontrol( QskAspect::Subcontrol subControl ) const override; + void updateLocale( const QLocale& locale ); void setMode( QskInputPanel::Mode index );