Commit Graph

974 Commits

Author SHA1 Message Date
Uwe Rathmann be53343375 do not align to scene coordinates for transformations beyond
translations
2022-08-03 09:39:15 +02:00
Uwe Rathmann 6c778c4b07 qskAlignedRect overloads 2022-07-28 16:51:20 +02:00
Uwe Rathmann 2737bc0be3 sourceSize members replaced by strutSizeHints to make icons sizes
configurable in the skin
2022-07-28 11:37:14 +02:00
Uwe Rathmann cb6ec8437c QskPushButtonSkinlet::rippleRect simplified 2022-07-18 16:40:53 +02:00
Uwe Rathmann d7d90a9dc8 using QskSGNode::ensureNode 2022-07-18 16:26:49 +02:00
Uwe Rathmann 9fdaf8aef6 clipping the ripple into the button panel 2022-07-18 09:11:45 +02:00
Uwe Rathmann 0390166783 using built in QskHintAnimators 2022-07-17 16:01:46 +02:00
Uwe Rathmann 0a6ed7deb1 aspect resolving of animated values fixed ( placement/section bits ) 2022-07-17 15:59:53 +02:00
Uwe Rathmann e6fb38d383 minor cleanups 2022-07-17 14:44:19 +02:00
Peter Hartmann 7eed06659b push button: Allow for animations when clicking
Which e.g. the Material 3 style does
2022-07-15 13:50:04 +02:00
Uwe Rathmann 4ef3fe3164 initial tabbar position as skin hint ( QskTabBar::Panel | QskAspect::Style ) 2022-07-15 10:44:32 +02:00
Peter Hartmann 07e3cf7fd6 Add top level application view 2022-07-15 07:55:13 +02:00
Peter Hartmann 48a902a660 scroll view: Allow styling via panel 2022-07-15 07:55:13 +02:00
Uwe Rathmann 209fbaef97 keep upper case letters for skin names 2022-07-14 13:55:35 +02:00
Uwe Rathmann 5f4a8aae6d Merge branch 'material-theme' of https://github.com/edelhirsch/qskinny into edelhirsch-material-theme 2022-07-07 08:42:59 +02:00
Uwe Rathmann d89adc4459 Qtcalculations only for Qt::MinimumSize 2022-07-07 08:39:29 +02:00
Peter Hartmann f6a4e8d2d6 QskSubWindow: Respect minimum size
E.g. Material 3 dialogs have a minimum size
2022-07-07 08:20:31 +02:00
Peter Hartmann 9ecafddc49 Slider: Add ripple and style it 2022-07-05 13:41:18 +02:00
Peter Hartmann 2129e235b7 remove leftover change in segmented bar 2022-07-05 09:52:03 +02:00
Peter Hartmann 53faf27d8f Merge branch 'uwerat-master' into material-theme
This means remove the outlined and text buttons for now
2022-07-05 09:33:43 +02:00
Uwe Rathmann f7cd259fb0 using QskSkin::symbol for the indicator 2022-07-01 12:40:52 +02:00
Uwe Rathmann 080fcdb69f Starting with a simpler version of QskCheckBox ( no tristate ), but with
having an optional text.
2022-07-01 11:10:59 +02:00
Uwe Rathmann 3c5b6f9f01 QskAbstractButton::Flat removed, using QskAspect::Header instead 2022-06-29 16:21:54 +02:00
Uwe Rathmann 62fcbc6c32 QskAspect::Section introduced 2022-06-29 16:15:38 +02:00
Uwe Rathmann 44e264d472 returning an empty rect for the separator behind the last segment 2022-06-27 13:44:44 +02:00
Peter Hartmann 8ee9e8ed22 segmented bar: Add separator subcontrol 2022-06-27 13:31:17 +02:00
Peter Hartmann e7d05b5c98 segmented bar: Respect padding hint for graphic 2022-06-27 13:31:17 +02:00
Peter Hartmann 00b7df5b30 segmented bar: Don't constrain segment and cursor to inner box
In case we want to fill e.g. the cursor completely, we want to
access the contents rect. This means that it is our responsibility
to not draw beyond the panel.
2022-06-27 13:31:17 +02:00
Peter Hartmann bbaf7b2884 segmented bar: Add states for when cursor is at beginning and end
... so we can style the cursor accordingly
2022-06-27 13:31:17 +02:00
Peter Hartmann 879b4144b1 Merge branch 'uwerat-master' into material-theme 2022-06-27 10:35:49 +02:00
Uwe Rathmann 061cdb0a07 minor improvements of the push button layout 2022-06-18 11:32:48 +02:00
Peter Hartmann c465676642 segmented bar: Add separator subcontrol 2022-06-17 12:49:27 +02:00
Peter Hartmann 8036d8ee69 Merge branch 'uwerat-master' into material-theme 2022-06-17 09:37:32 +02:00
Peter Hartmann e5880cf3ba segmented bar: Respect padding hint for graphic 2022-06-17 09:37:04 +02:00
Peter Hartmann a8fd90f5b1 segmented bar: Use QskAspect for the orientation
... to be able to style properly.
2022-06-17 09:37:04 +02:00
Peter Hartmann 79442019e4 segmented bar: Don't constrain segment and cursor to inner box
In case we want to fill e.g. the cursor completely, we want to
access the contents rect. This means that it is our responsibility
to not draw beyond the panel.
2022-06-17 09:37:04 +02:00
Peter Hartmann ed26bd3ab4 segmented bar: Add states for when cursor is at beginning and end
... so we can style the cursor accordingly
2022-06-17 09:37:04 +02:00
Uwe Rathmann 112221f123 only clip at the top border 2022-06-17 09:24:58 +02:00
Peter Hartmann d88edb3a02 Merge branch 'uwerat-master' into material-theme 2022-06-15 14:37:49 +02:00
Uwe Rathmann 54616a5781 missing Metric bit for spacings added 2022-06-15 11:38:07 +02:00
Peter Hartmann bac7a2024a Merge branch 'uwerat-master' into material-theme 2022-06-15 10:58:56 +02:00
Peter Hartmann 8ee681588e Revert "QskPushButton: respect the graphics alignment"
This reverts commit 3c69498026.
2022-06-15 10:57:36 +02:00
Peter Hartmann 74e036c355
QskPushButton: respect the graphics alignment (#193)
Also, respect the padding hint of the graphic

Resolves #22
2022-06-15 10:34:51 +02:00
Peter Hartmann 264d53cb39
QskMenu: Respect graphic padding (#196)
We need some padding for e.g. the Material 3 style.
2022-06-13 17:18:47 +02:00
Peter Hartmann f53d0daeda Merge branch 'uwerat-master' into material-theme 2022-06-13 17:12:25 +02:00
Uwe Rathmann 1339a5f4cb shadows added to the box model 2022-06-13 17:01:15 +02:00
Peter Hartmann e6120baf15 QskMenu: Respect graphic padding
We need some padding for e.g. the Material 3 style.
2022-06-13 16:59:52 +02:00
Peter Hartmann 3df987894e Merge branch 'uwerat-master' into material-theme 2022-06-13 14:40:06 +02:00
Uwe Rathmann 1e1cf34829 setter/getter for shadow hints 2022-06-13 13:10:45 +02:00
Peter Hartmann 2340b21280 Merge branch 'uwerat-master' into material-theme 2022-06-13 09:50:27 +02:00
Uwe Rathmann f03007e7b8 QskShadowMetrics added to QskSkinHintTableEditor 2022-06-13 08:43:28 +02:00
Peter Hartmann e6b85e528b button: Add more states to cover different button types 2022-06-08 11:48:29 +02:00
Peter Hartmann 3c69498026 QskPushButton: respect the graphics alignment
Also, respect the padding hint of the graphic

Resolves #22
2022-06-07 11:44:41 +02:00
Peter Hartmann c4dc6e8c2f Merge remote-tracking branch 'origin/master' into material-theme 2022-06-07 11:09:38 +02:00
Peter Hartmann 167965e12c
switch button: Fix size hint (#195)
This fixes a case where the Groove is bigger than the Handle, e.g.
with the Material 3 switch buttons.
2022-06-06 07:08:33 +02:00
Peter Hartmann d456237feb switch button: Fix size hint
This fixes the case where the Groove is bigger than the Handle, e.g.
with the Material 3 switch buttons.
2022-06-03 17:28:16 +02:00
Uwe Rathmann 54b55c0324 default graphic pipeline without native OpenGL calls.
code is QRHI compiant now
2022-06-02 16:02:42 +02:00
Uwe Rathmann c291cde259 includes fixed 2022-06-01 16:51:11 +02:00
Uwe Rathmann 8593a5cf2e hide QskGraphicNode, QskTextNode in QskSkinlet, where possible.
We will have less dependencies, when moving QskGraphicNode to something
that works better with the QRhi abstraction
2022-05-30 15:16:46 +02:00
Uwe Rathmann dae4ee02d5 deprecation warnings fixed 2022-05-02 16:51:24 +02:00
Uwe Rathmann 9f706beab1 iconst keywords removed to avoid clang warnings about implicitely
deleted functions. But do we really need QSK_EVENT_DISABLE_COPY ?
2022-04-22 09:00:26 +02:00
Uwe Rathmann bce7d6e1dc unused lambda capture removed 2022-04-22 08:39:01 +02:00
Uwe Rathmann 12a3dd06da boilerplate code to have QskSegmentedBar in the gallery. 2022-04-20 15:25:15 +02:00
Uwe Rathmann 8f04d21739 formal adjustments 2022-04-20 14:20:41 +02:00
Uwe Rathmann 50ee82fbaa QskSegmentedBar ( inspired by the IOS segmented control ) added 2022-04-20 14:14:37 +02:00
Uwe Rathmann e689575510 suing QskMenu::Segement instead of Qskmenu::Cell to be in line with other
controls
2022-04-20 13:58:53 +02:00
Uwe Rathmann 22060f6aaf missing moc include 2022-04-20 13:54:27 +02:00
Uwe Rathmann d011d5d1ea all node role enums should have RoleCount 2022-04-20 13:50:14 +02:00
Uwe Rathmann d0b926b868 using Qt::Edge instead of Qsk::Position 2022-04-17 12:37:13 +02:00
Uwe Rathmann e514b659e8 resetPlacementPolicy added 2022-04-16 20:38:50 +02:00
Uwe Rathmann 1f0ad384ac dropping support for Qt < 5.15 2022-04-16 16:29:58 +02:00
Uwe Rathmann d52453311f heuristic for initializing the cascading property moved from skin to
QskMenu
2022-04-16 12:25:39 +02:00
Uwe Rathmann c4f5a4bc93 compiler error fixed 2022-04-16 11:32:51 +02:00
Uwe Rathmann 6dd3b44f52 placementPolicy as property 2022-04-15 13:19:52 +02:00
Uwe Rathmann bf37fe000c using QMetaObject instead of QTimer for delayed calls 2022-04-14 08:26:49 +02:00
Peter Hartmann 7693c8d911
fix build on Windows (#176)
* fix build on Windows

fixes the following error from CI:

common\QskAspect.cpp(199): error C2666: 'QFlags<QskAspect::State>::operator &': 3 overloads have similar conversions
D:\a\qskinny\Qt\5.15.2\msvc2019_64\include\QtCore/qflags.h(146): note: could be 'QFlags<QskAspect::State> QFlags<QskAspect::State>::operator &(Enum) noexcept const'
        with
        [
            Enum=QskAspect::State
        ]
D:\a\qskinny\Qt\5.15.2\msvc2019_64\include\QtCore/qflags.h(145): note: or       'QFlags<QskAspect::State> QFlags<QskAspect::State>::operator &(uint) noexcept const'
D:\a\qskinny\Qt\5.15.2\msvc2019_64\include\QtCore/qflags.h(144): note: or       'QFlags<QskAspect::State> QFlags<QskAspect::State>::operator &(int) noexcept const'
common\QskAspect.cpp(199): note: or       'built-in C++ operator&(QFlags<QskAspect::State>::Int, quint16)'
common\QskAspect.cpp(199): note: while trying to match the argument list '(QskAspect::States, const quint16)'

* fix build on Windows

fixes the following error from CI:

C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3124): error C2027: use of undefined type 'QskMenuSkinlet::PrivateData'
D:\a\qskinny\qskinny\src\controls\QskMenuSkinlet.h(54): note: see declaration of 'QskMenuSkinlet::PrivateData'
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3123): note: while compiling class template member function 'void std::default_delete<QskMenuSkinlet::PrivateData>::operator ()(_Ty *) noexcept const'
        with
        [
            _Ty=QskMenuSkinlet::PrivateData
        ]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3233): note: see reference to function template instantiation 'void std::default_delete<QskMenuSkinlet::PrivateData>::operator ()(_Ty *) noexcept const' being compiled
        with
        [
            _Ty=QskMenuSkinlet::PrivateData
        ]
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3160): note: see reference to class template instantiation 'std::default_delete<QskMenuSkinlet::PrivateData>' being compiled
D:\a\qskinny\qskinny\src\controls\QskMenuSkinlet.h(55): note: see reference to class template instantiation 'std::unique_ptr<QskMenuSkinlet::PrivateData,std::default_delete<QskMenuSkinlet::PrivateData>>' being compiled
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3124): error C2338: can't delete an incomplete type
C:\Program Files\Microsoft Visual Studio\2022\Enterprise\VC\Tools\MSVC\14.31.31103\include\memory(3125): warning C4150: deletion of pointer to incomplete type 'QskMenuSkinlet::PrivateData'; no destructor called
D:\a\qskinny\qskinny\src\controls\QskMenuSkinlet.h(54): note: see declaration of 'QskMenuSkinlet::PrivateData
2022-04-13 11:24:18 +02:00
Uwe Rathmann 69e4152b4c QskPlacementPolicy introduced 2022-04-08 16:46:20 +02:00
Uwe Rathmann 449f08bf98 beautified 2022-04-08 15:37:55 +02:00
Uwe Rathmann 741af6a8a6 hiding isTransparentForPositioner 2022-04-07 17:19:59 +02:00
Uwe Rathmann c17e3defd3 qskItemSize() removed, QQuickItem::size() is available since Qt 5.10 2022-04-07 15:43:45 +02:00
Uwe Rathmann c44c30fa41 forgotten debug statement removed 2022-04-06 10:56:48 +02:00
Uwe Rathmann 676e0d5e9f colorswitch example removed 2022-04-06 08:41:32 +02:00
Uwe Rathmann 1cb2110f5d sending a second StyleChange once the transition is done 2022-04-05 15:31:17 +02:00
Uwe Rathmann 2a6d27d78d wip 2022-04-05 11:38:23 +02:00
Uwe Rathmann 4d7db7c479 wip 2022-04-05 10:41:36 +02:00
Uwe Rathmann 8c2093d151 QskCheckBox improvements 2022-04-05 10:15:08 +02:00
Uwe Rathmann 6ef1f8a45d QskCheckBox improvements 2022-04-05 08:48:16 +02:00
Uwe Rathmann 752a97524b the geometry for the tick can change 2022-04-04 18:32:17 +02:00
Uwe Rathmann ae5a348b50 spelling aligned with Qt checkboxes ( triState -> tristate ) 2022-04-04 14:39:24 +02:00
Uwe Rathmann 49cdc1a029 formal cheges, check box added to gallery 2022-04-04 14:14:07 +02:00
Clemens Manert a05d1e3471
Add a Checkbox (#169)
* Add checkbox

* Add checkbox tests

* Add checkbox-groups

* Add checkbox-groups tests
2022-04-04 08:53:20 +02:00
Uwe Rathmann f4a9b15f11 stop animation, when start/endValues are chaged. Otherwise we will run
into crashes, when value types have not been aligned or can't be aligned
2022-04-03 16:32:04 +02:00
Uwe Rathmann 6728ad2bdc only check if types do match without doing the conversion 2022-04-03 16:31:54 +02:00
Uwe Rathmann 4d724bb6fe compiler error fixed 2022-04-01 17:00:05 +02:00
Uwe Rathmann a40ca46556 font initialization changed 2022-04-01 14:42:18 +02:00
Uwe Rathmann e2d6823927 skin transition heavily changed 2022-03-31 18:09:03 +02:00
Uwe Rathmann 27ee0fe423 using QVariant::metaType 2022-03-31 12:25:24 +02:00
Uwe Rathmann 511c6ddcd3 try to convert if start/end values have different types 2022-03-29 11:15:08 +02:00
Uwe Rathmann 94a7ae4509 using qskEffectiveSkin 2022-03-29 08:09:19 +02:00
Uwe Rathmann aa3c01dee3 making hintTable() public 2022-03-29 08:08:46 +02:00
Uwe Rathmann 1eae47aefa tracking states of the aspects in a QskSkinHintTable 2022-03-28 21:28:56 +02:00
Uwe Rathmann 5dae58fc44 making code slightly more readable 2022-03-28 20:17:56 +02:00
Uwe Rathmann 3aa320f233 accepting hover events as default 2022-03-26 16:22:47 +01:00
Uwe Rathmann 28c47725e2 do not like protected keywords in macros 2022-03-25 18:17:14 +01:00
Uwe Rathmann d6c4968d3c using QSK_EVENT_DISABLE_COPY 2022-03-25 18:04:41 +01:00
Uwe Rathmann 04ec8b52a1 making clazy happier 2022-03-25 07:46:48 +01:00
Uwe Rathmann 73f11cffd9 making clazy happier 2022-03-24 17:33:40 +01:00
Uwe Rathmann 115141bc21 reserving memory in advance 2022-03-24 17:33:01 +01:00
Uwe Rathmann eeb9e04b60 making clazy happier 2022-03-24 17:30:50 +01:00
Uwe Rathmann b572c23561 using const methods 2022-03-24 17:18:27 +01:00
Uwe Rathmann fe372f64e4 Q_DISABLE_COPY added 2022-03-24 17:13:47 +01:00
Uwe Rathmann 828986de2e bad return statements fixed 2022-03-24 17:10:11 +01:00
Uwe Rathmann a8b176aa71 QskSkinTransition pimpled 2022-03-24 11:17:03 +01:00
Uwe Rathmann d285b7e85c Q_DISABLE_COPY added 2022-03-24 11:12:45 +01:00
Uwe Rathmann 5c62725cd1 using reference parameters 2022-03-24 08:45:06 +01:00
Uwe Rathmann 74a09c8f7e using const method 2022-03-24 08:42:54 +01:00
Uwe Rathmann cc21fec436 using qAsConst 2022-03-24 08:41:11 +01:00
Uwe Rathmann c963ec7deb beautified 2022-03-24 08:10:57 +01:00
Uwe Rathmann eaa554addc using reference parameter 2022-03-24 08:10:29 +01:00
Uwe Rathmann 44ca6c964f Q_EMIT added 2022-03-24 08:10:04 +01:00
Uwe Rathmann 057866e7ff disable copying 2022-03-24 08:08:40 +01:00
Uwe Rathmann 12a3476e71 return code for all remove operations 2022-03-24 08:01:52 +01:00
Uwe Rathmann 24e8c28d9e unused code removed 2022-03-24 07:59:02 +01:00
Uwe Rathmann 1cc0dff8d5 uncrustified 2022-03-23 11:54:34 +01:00
Uwe Rathmann 7f5d289808 obsolete code for earlier versions removed 2022-03-20 14:22:11 +01:00
Uwe Rathmann 3bfdd9ed93 workaround for emit usages in qt headers 2022-03-20 13:14:06 +01:00
Uwe Rathmann bc3ef26584 include guards formalized 2022-03-20 13:11:34 +01:00
Uwe Rathmann 598224e487 qmake setup changed 2022-03-18 12:32:57 +01:00
Uwe Rathmann 36c759dc41 qskIsStandardKeyInput added 2022-03-11 14:24:10 +01:00
Uwe Rathmann d7d5c8cff3 Squashed commit of the following:
commit 02f95db2e5a105cad4ac0bc07f5dcfc655546f9d
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date:   Fri Mar 11 14:14:35 2022 +0100

    wip
2022-03-11 14:16:41 +01:00
Uwe Rathmann 820bb9cdc2 obsolete version check removed 2022-03-09 07:25:18 +01:00
Uwe Rathmann cdb17476b5 platform depending code moved to QskSkin 2022-03-08 15:59:35 +01:00
Uwe Rathmann 7f63392eed TODO note added 2022-03-08 12:08:15 +01:00
Uwe Rathmann ae2c6d87a8 upport for Qt < Qt 5.12 dropped 2022-03-08 11:53:46 +01:00
Uwe Rathmann 01a79a1b0b updates in setPopupFlags fixed 2022-03-08 11:17:17 +01:00
Uwe Rathmann f17a73f53b updateFocusFrame is protected now 2022-03-08 11:16:14 +01:00
Uwe Rathmann b79e46e256 comment added 2022-02-20 11:06:48 +01:00
Clemens Manert adc4875629
Bugfix: Respect QskControl::Disabled aspect. (#162) 2022-02-20 10:54:01 +01:00
Uwe Rathmann 9cc840f0f8 compatibility method for early Qt versions 2022-02-08 09:01:18 +01:00
Uwe Rathmann 05dd8ea087 setting the placement bit only when being undefined in the request 2022-02-08 09:00:13 +01:00
Uwe Rathmann d38d4429f5 source as string 2022-02-08 08:59:34 +01:00
Uwe Rathmann 96e210ce3c Qt 6.3 ( beta1 ) incompatibilities fixed 2022-02-06 14:32:26 +01:00
Peter Hartmann ac8ef9cd5a
Box renderer: Support border gradients (#158)
* QskBoxBorderColors: Use gradients instead of colors

* QskBoxBorderColors: rename API

* render gradients on borders

* boxes example: Also draw gradient borders

* calculate proper numbers of needed border colors

* fixup with example

* support rounded corners

* support more colors in rounded color gradients

I THINK WE DON'T REALLY NEED THIS COMMIT

* We don't need this commit either

* Revert "We don't need this commit either"

This reverts commit 2dc38064f7fee1d0505262fe5cebcf9e1fb16cea.

* Revert "support more colors in rounded color gradients"

This reverts commit 5754d2d0773d8273d42ae1775b53d40f5e6af26a.

* fix borders for rect ellipses

* play around a bit

* small fixes

* some helper stuff and missing stuff

* user border colors

* close to something working somehow

* works a bit better

* put it into an own function

* rearrange a bit

* something's off

* still off, but seems like we need an additional line

* works but hackish

* now it works

* bring back samples

* correction

* pimp up example

* fix normal rendering

* some more debugging etc.

* turn around gradients

* turn around rectangular gradients as well

* turn around easier

* more test cases

* fix fill case

* more test cases

* clean up a bit

* clean up example

* clean up some more

* incorporate feedback from Uwe

* fix bug when using horizontal gradients
2022-02-04 16:11:11 +01:00
Uwe Rathmann cec696a78b wheel scrolling improved 2022-01-17 09:46:27 +01:00
Uwe Rathmann acbb5d1c0b wheel scrolling improved 2022-01-12 13:29:42 +01:00
Uwe Rathmann e310c3c9bb Merge branch 'master' of https://github.com/uwerat/qskinny 2022-01-10 14:59:52 +01:00
Uwe Rathmann 379a6f6ccc wheelEvent handling improved 2022-01-10 14:59:22 +01:00
Uwe Rathmann cf5c326208 compiler issue fixed 2022-01-10 12:20:56 +01:00
Uwe Rathmann d4f140f20e wrnings disabled 2022-01-10 08:47:27 +01:00
Uwe Rathmann 030483badb wheel + Ctrl/Shift scrolls pagewise 2022-01-10 08:46:20 +01:00