Commit Graph

1115 Commits

Author SHA1 Message Date
Uwe Rathmann 75600b584d working on the QskTab classes redesign - initial API cleanup 2023-03-14 09:34:52 +01:00
Uwe Rathmann 560cc607c9 QskApplicationView -> QskMainView 2023-03-10 15:45:53 +01:00
Uwe Rathmann b55e5ee00a API adjustments 2023-03-10 12:46:19 +01:00
Uwe Rathmann c5a4a5d8fe QskMenu using QskLabelData now 2023-03-10 09:18:52 +01:00
Uwe Rathmann e36f81b297 QskComboBox using QskLabelData now 2023-03-09 17:59:54 +01:00
Uwe Rathmann f9f5de8eb0 QskIcon/QskLabelData introduced 2023-03-09 15:30:40 +01:00
Uwe Rathmann 484780a40e using "icon" instead of "graphic".
"icon" was not used to avoid confusing with QIcon,
but it is probably more confusing not to use the name that
is used by almost all toolkits.
2023-03-08 14:11:27 +01:00
Uwe Rathmann 907409f21b QskComboBox::indexInPopup ( a.k.a QComboBox::highlightedIndex ) added 2023-03-07 15:00:33 +01:00
Uwe Rathmann 69d43a2ffa Merge branch 'master' of https://github.com/uwerat/qskinny 2023-03-07 14:33:24 +01:00
Uwe Rathmann 82f9a72603 QskComboBox key searching added 2023-03-07 14:32:53 +01:00
Uwe Rathmann c288d9319b Qt5 build break fixed 2023-03-07 13:52:03 +01:00
Uwe Rathmann fa998a9496 QskComboBox is creating its menu only temporary now 2023-03-07 13:26:36 +01:00
Uwe Rathmann 69546707d2 API extended 2023-03-07 13:26:05 +01:00
Uwe Rathmann 48853d38ef index of the combo box changes on the final QskMenu::trigereed - not while
navigating in the menu
2023-03-06 17:37:32 +01:00
Uwe Rathmann afe3248a8b Unused splash subcontrol/node removed. As the code was simply copied from the
push button we can restore it easily once we have a sitution, where a
splash feedback is required
2023-03-06 17:00:44 +01:00
Uwe Rathmann 4f24a74057 missing initialisation for the ripple added 2023-03-06 16:54:30 +01:00
Uwe Rathmann 406e6ad08e hiding the focus rectangle while fading 2023-03-06 16:37:28 +01:00
Uwe Rathmann de7233e120 Qt5/QVariant can't convert enums to ints, so we need to register flags
as ints ( a.k.a alignment hint were broken in Qt5 )
2023-03-06 13:12:34 +01:00
Uwe Rathmann 5cf30110ec version guard fixed 2023-03-06 12:45:17 +01:00
Uwe Rathmann 5246f618a7 qskIsButtonPressKey moved to QskEvent.h, Qt5 build break fixed 2023-03-06 12:26:38 +01:00
Uwe Rathmann dae0cd7b1b combobox input handling improved ( wheel, more keys ) 2023-03-06 10:44:00 +01:00
Uwe Rathmann 04c50fc301 respecting QPlatformTheme::ButtonPressKeys for Qt6 2023-03-06 10:37:57 +01:00
Uwe Rathmann f60fe75de4 making the internal menu being modal for the window 2023-03-06 07:47:49 +01:00
Uwe Rathmann 2a2793422f MouseUngrab added 2023-03-05 16:54:22 +01:00
Uwe Rathmann 73610cdb61 QskRadioBox updated. Adding a new subcontrol that corresponds to a
single button ( check indicator + text ), what allows better
configuration from the skin
2023-03-05 16:31:55 +01:00
Uwe Rathmann 4f244c8f76 pixel scaling algo moved from M3 to QskPlatform.h 2023-03-05 11:52:42 +01:00
Peter Hartmann 689f45f710 push buttons: Fix layouting for eliding and wrapping texts 2023-03-05 11:01:29 +01:00
Uwe Rathmann 83a18a83c2 QskTextInput having the same default size policy as QLineEdit (
Expanding/Fixed )
2023-03-04 11:04:37 +01:00
Uwe Rathmann ed1a211e96 label renamed to placeholderText ( taken from QComboBox ), minor
adjustments
2023-03-03 19:01:40 +01:00
Uwe Rathmann 69aa0903c5 QskSkin::symbol removed - using symbolHints instead 2023-03-03 18:11:57 +01:00
Uwe Rathmann e3b62e0896 QskSegmentedBar fixed for Squiek, loading the checkmark as symbolHint 2023-03-03 14:51:22 +01:00
Uwe Rathmann f45946726f code simplified 2023-03-03 13:01:07 +01:00
Uwe Rathmann 68d02006f4 QskRadioBox development continued - work in progress 2023-03-03 12:49:22 +01:00
Uwe Rathmann a612ec7f17 preferredSize != minimumSize ( f.e we could do something useful with
eliding )
2023-03-03 12:47:59 +01:00
Uwe Rathmann b0df60a7a7 missing moc include 2023-03-02 15:13:19 +01:00
Uwe Rathmann c587263592 symbolHints introduced, several skinlets changed to make use of them 2023-03-02 14:56:30 +01:00
Uwe Rathmann a32204cd8c QskAspect::Flag replaced by QskAspect::NoType. Flag was a leftover from
the very early stages of this project and its semantics had become wrong
in the meantime
2023-03-02 12:19:32 +01:00
Uwe Rathmann 99eb5c3695 using graphics for the spin box button indicators 2023-03-02 09:16:55 +01:00
Uwe Rathmann f3b516c81d implementation of accelerating/tracking postponed 2023-03-01 17:46:48 +01:00
Uwe Rathmann 99079a666e disable QskSpinBox buttons when reaching minimum/maximum 2023-03-01 16:09:17 +01:00
Uwe Rathmann a4b2bcde16 mouse handling completed 2023-03-01 14:22:40 +01:00
Uwe Rathmann 55d6aa6d5e QskSpinBox bugs fixed, QskSpinBox::wrapping mode implemented 2023-03-01 13:58:10 +01:00
Uwe Rathmann 28432446e6 Material is using the term "Ripple" for 2 different type of effects - Flutter
calls them "Splash" and "Highlight". We are using Splash too.
2023-03-01 10:51:46 +01:00
Uwe Rathmann 8a4f644034 avoid using deprecated methods 2023-02-28 15:55:13 +01:00
Uwe Rathmann a6bf60c9b4 upgraded to uncrustify 0.76.0 - still not happy with the C++ beautifier
situation, that requires way too much manual post processing
2023-02-28 15:49:42 +01:00
Uwe Rathmann 9b2c2a8f12 Squiek settings for the spin box added 2023-02-27 15:21:09 +01:00
Uwe Rathmann a67d23420f QskMenu::Overlay settings fixed ( working for Squiek again ) 2023-02-27 14:06:57 +01:00
Uwe Rathmann 5d16d86e0d Merge branch 'master' of https://github.com/uwerat/qskinny 2023-02-27 09:57:22 +01:00
Uwe Rathmann 0b4de9afe7 spin box improvements 2023-02-27 09:56:41 +01:00
Uwe Rathmann 2e667f3ff2 formal adjustments 2023-02-26 17:04:47 +01:00
Uwe Rathmann c4efbf65f0 compiler warning fixed 2023-02-26 15:45:57 +01:00
Uwe Rathmann 5bbd304b94 Merge branch 'RadioBox' of https://github.com/clemensmanert/qskinny into clemensmanert-RadioBox 2023-02-26 15:42:15 +01:00
Clemens Manert c3a4472587
Code cleanup 2023-02-25 23:39:33 +01:00
Clemens Manert 4310ee3c34
Remove unused imports 2023-02-25 23:36:02 +01:00
Clemens Manert 72190aee91
Fix alighnment if sizes of symbol and button differ 2023-02-25 23:36:02 +01:00
Clemens Manert 6beabfcbb1
Return empty Rect if item is empty 2023-02-25 23:36:02 +01:00
Uwe Rathmann a3e749157f QskSpinBox API improved 2023-02-24 08:24:32 +01:00
Uwe Rathmann 06ba85605b QskSpinBox work in progress 2023-02-23 14:37:49 +01:00
Uwe Rathmann 06704511d2 QskBoundedInput::incrementForKeys added 2023-02-23 14:33:35 +01:00
Peter Hartmann 7f24cbb95b push buttons: Fix ripple effect
This way it looks like the original
2023-02-23 10:19:42 +01:00
Peter Hartmann 1d57d87332 Gallery: Add buttons with different emphasis and style for M3 2023-02-23 10:19:42 +01:00
Clemens Manert 4d0a26d762
Fix missing moc include 2023-02-20 22:13:14 +01:00
Clemens Manert aee27768cd
Code cleanup 2023-02-20 21:56:34 +01:00
Clemens Manert e4a07909ac
Add Squiek theme 2023-02-20 21:56:33 +01:00
Clemens Manert 49cd540ce0
Add disabled support 2023-02-20 21:56:33 +01:00
Clemens Manert fc4a389201
Code cleanup 2023-02-20 21:56:33 +01:00
Clemens Manert f5c7f7f2b4
Add animation support for the Ripple, remove focusedItem 2023-02-20 21:56:33 +01:00
Clemens Manert bfc172c04f
Respect focused and pressed state in the skinlet 2023-02-20 21:56:33 +01:00
Clemens Manert d510570943
Return empty Rect if nothing to paint 2023-02-20 21:56:33 +01:00
Clemens Manert ffa150a5fd
Fix text position in mirrored layouts 2023-02-20 21:56:33 +01:00
Clemens Manert 4c1f60eb1c
Fix Ribble in mirrored layouts 2023-02-20 21:56:33 +01:00
Clemens Manert 84d662979d
Fix user state positions 2023-02-20 21:56:32 +01:00
Clemens Manert a7dc136dcd
Make unified control name 2023-02-20 21:56:32 +01:00
Clemens Manert 92ba2385db
Rename radio to button 2023-02-20 21:56:32 +01:00
Clemens Manert 8c0a54e54a
Add QskRadioBox 2023-02-20 21:56:26 +01:00
Uwe c9b83ff689 emphasis added 2023-02-20 10:30:24 +01:00
Uwe Rathmann 0c2bc32abd focus handling removed ( spin boxes do not have an internal focus chain
), formal adjustments
2023-02-19 14:24:09 +01:00
Uwe Rathmann 26661dcbb6 compiler errors/warnings fixed 2023-02-19 11:29:13 +01:00
uwerat cf449f174f
Merge branch 'master' into qskspinbox 2023-02-19 10:25:04 +01:00
Vogel, Rick 767414fbc7 doxygen + sample count = 1 2023-02-17 17:46:52 +01:00
Peter Hartmann a89d3def3b Add new control QskComboBox
Resolves #102
2023-02-17 17:26:06 +01:00
Peter Hartmann cf2e17def5 QskMenu: Add own subcontrol Overlay
... so we can style it differently from the one of the QskPopup
2023-02-17 17:26:06 +01:00
Vogel, Rick 1faf2e091c clang-format + clang-tidy improvements 2023-02-17 15:22:40 +01:00
Vogel, Rick 890ae64652 using QskBoundedValueInput as base class 2023-02-17 14:57:33 +01:00
Vogel, Rick 13575678d6 increment or decrement on space key 2023-02-17 14:46:05 +01:00
Vogel, Rick 3d96541079 fixed focus chain 2023-02-17 14:37:10 +01:00
Vogel, Rick 55b8da0b7e fixed double inc/dec on key 2023-02-17 14:36:30 +01:00
Uwe Rathmann 8df1551701 formal adjustments 2023-02-17 14:05:05 +01:00
Uwe Rathmann eb5f3d3bcf Qt5 compiler issue fixed 2023-02-17 13:36:08 +01:00
Vogel, Rick ad7a20053c refactoring + focused state 2023-02-17 13:32:47 +01:00
Uwe Rathmann d06c2c6d8f gcc issues fixed 2023-02-17 13:32:27 +01:00
Vogel, Rick 8b2e39caae complete focus chain for all layouts 2023-02-17 13:28:44 +01:00
Vogel, Rick ba9ec8e783 initial commit of QskSpinBox 2023-02-17 13:28:44 +01:00
uwerat 6071ce74d2
Merge branch 'master' into qskspinbox 2023-02-17 13:22:39 +01:00
Vogel, Rick c615e429cf complete focus chain for all layouts 2023-02-17 12:37:53 +01:00
Uwe Rathmann 3262673e40 section bits added to the resolution matching algo. The switch in the
Header section of the gallery is working again
2023-02-17 12:02:05 +01:00
Vogel, Rick ac8a3dea9b initial commit of QskSpinBox 2023-02-17 12:01:56 +01:00
Uwe Rathmann 15b73d215c QskTextOption layout impacts added 2023-02-16 11:42:07 +01:00
Uwe Rathmann 66db409b71 QskAspect::Placement renamed to QskAspect::Variation so that we use the
corresponding bits for an emphasis too
2023-02-15 16:37:54 +01:00
Uwe Rathmann 454688361c orientation removed from the placement bits 2023-02-15 16:16:19 +01:00
Peter Hartmann 5a78a365e3 segmented bar: Make API similar to QskMenu 2023-02-01 17:18:22 +01:00
Peter Hartmann afdfa7b24e segmented bar: Fix vertical orientation 2023-02-01 17:18:22 +01:00
Peter Hartmann c58593669d segmented bar: Add own checkmark
The checkmark is slightly different from the one used in the
check box.
2023-02-01 17:18:22 +01:00
Peter Hartmann d75c07cbcc segmented bar: Selected element always has the checkmark symbol
This is how Material 3 does it at least.
If we are ever going to implement the iOS style, we need to do it
differently; although there are no icons involved there at all.
2023-02-01 17:18:22 +01:00
Peter Hartmann 9d1b2568e5 segmented bar: Allow icon and text 2023-02-01 17:18:22 +01:00
Peter Hartmann 329531777a segmented bar: Always assume 0 spacing between elements
... as is in the nature of this control. Rather think of the spacing
as the space between the icon and the text, like we do with
QskPushButton.
2023-02-01 17:18:22 +01:00
Peter Hartmann 03e24d5fea push button: Support more alignments of icon and text 2023-01-24 09:51:36 +01:00
Uwe Rathmann 84156b138e workaround for a Qt 6.5 regression ( see
https://bugreports.qt.io/browse/QTBUG-110493 )
2023-01-23 15:51:21 +01:00
Peter Hartmann 9882dc61ee push button: Fix size hint 2023-01-18 06:36:47 +01:00
Uwe Rathmann d7f1e22874 using QSizeF::grownBy 2023-01-17 15:37:53 +01:00
Peter Hartmann 3b45b90011 CheckBox: Add error state and style for material 2023-01-16 08:15:41 +01:00
Peter Hartmann 4352410128 check box: Add ripple effect and style for M3 2023-01-16 08:15:41 +01:00
Peter Hartmann 5e8d03fe50 QskGraphic: Make sure the underlying texture is big enough
Otherwise the scale factors might be off considerably.

Resolves #233
2022-12-15 16:08:23 +01:00
Uwe Rathmann 9ae7dc2f63 QskGradientNode renamed to QskRectangleNode 2022-12-06 09:58:46 +01:00
Uwe Rathmann 6d726eee0a QskGradientNode introduced for rectangles filled with any type of
gradient being supported by QskGradient. It is lighter than QskBoxNode,
that is a compositition of border/gradient/shadow. Used for the
background node now - what means, that background can have radial/conic
gradients now as well.
2022-12-05 17:10:13 +01:00
Uwe Rathmann 125fe1e9f4 QskBoxNode renamed to QskBoxRectangleNode, QskShadedBoxNode renamed to QskBoxNode 2022-12-05 12:34:08 +01:00
Uwe Rathmann cf9d203e48 exposing more methods to QML 2022-12-03 17:17:21 +01:00
Uwe Rathmann 912d768a61 QskControl::Background subcontrol introduced allowing to have a default setting for
all backgrounds ( color, padding ) without changing the overall fallback settings. This made
it possible to remove the confusing autoFillBackground property.
2022-11-18 13:20:21 +01:00
Uwe Rathmann c5ace32bf2 QskAspect::Control renamed to QskAspect::NoSubcontrol 2022-11-18 12:29:58 +01:00
Uwe Rathmann b140d1b30a QskGradientDirection introduced - no more classes derived from
QskGradient
2022-11-13 17:22:09 +01:00
Uwe Rathmann f14036c124 using QskGrdient::Stops for separator hints 2022-10-31 18:02:35 +01:00
Uwe Rathmann ad67d035f3 new QskGradient 2022-10-31 14:42:08 +01:00
Uwe Rathmann fdf0e1fdb9 pointless forward declaration removed 2022-10-21 16:44:31 +02:00
Uwe Rathmann cb67a057d7 compiler error fixed 2022-09-13 13:05:47 +02:00
Uwe Rathmann 4f8a76234a index added for animator lookups to allow smooth transitions f.e when
selcting an cell in a list box
2022-09-13 12:40:44 +02:00
Uwe Rathmann 7ca1e2f261 uncrustified 2022-09-13 12:22:20 +02:00
Uwe Rathmann 1900adbabb Using a flat map ( sorted std::vector ) instead of a std:map for the
animators. Preperations for inntroducing aspect/index as lookup key.
2022-09-12 18:18:51 +02:00
Uwe Rathmann 4ca5e798c8 broken state changes fixed 2022-09-09 12:01:30 +02:00
Uwe Rathmann 996e849fc5 startHintTransitions added to be able to start transitions withot
changing the state
2022-09-09 11:29:47 +02:00
Uwe Rathmann 47df732f4a better seperation between state animators and those for skin changes 2022-09-09 10:25:46 +02:00
Uwe Rathmann 50ec41868d some APIs narrowed from QskAspect to QskAspect::Subcontrol 2022-09-09 09:30:15 +02:00
Uwe Rathmann beddc2569f early check for animators 2022-09-06 08:00:18 +02:00
Uwe Rathmann b926476e55 QskHintAnimatorTable::isEmpty added 2022-09-06 07:57:08 +02:00
Uwe Rathmann 8088664465 less operator added 2022-09-04 10:37:40 +02:00
Uwe Rathmann 45e157c2c6 code moved to QskSubcontrolLayoutEngine 2022-08-29 14:17:13 +02:00
Uwe Rathmann 4c190ffe49 unregisterFactories added 2022-08-29 10:28:13 +02:00
Uwe Rathmann 2479064f58 spacing added 2022-08-26 13:19:37 +02:00
Uwe Rathmann b84dfc8226 QskSubcontrolLayoutEngine introduced 2022-08-26 12:56:12 +02:00
Uwe Rathmann 896145ac11 QskTextOptions as skin hints 2022-08-25 09:39:33 +02:00
Uwe Rathmann 9daf934426 QskLayoutElement introduced 2022-08-06 15:41:32 +02:00
Uwe Rathmann bc5510f7ef temporary improvements for push buttons - until we have a general layout class
for graphic/text combinations
2022-08-03 18:28:53 +02:00
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