Commit Graph

315 Commits

Author SHA1 Message Date
Uwe Rathmann b14d81b3b3 iotdashboard enabled for Qt6 ( BoxShadowNode #ifdef'd for the moment ) 2022-05-30 20:03:56 +02:00
Uwe Rathmann 8f19a900e4 memory leak fixed 2022-05-30 17:15:52 +02:00
Uwe Rathmann cecc412128 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 1765b1df42 quit menu option added 2022-05-30 07:49:58 +02:00
Peter Hartmann 51c5082ef4 IOT dashboard: Use SVGs instead of PNGs (#191)
Resolves #129
2022-05-18 13:45:09 +02:00
Uwe Rathmann 5fa323cb3f boilerplate code to have QskSegmentedBar in the gallery. 2022-04-20 15:25:15 +02:00
Uwe Rathmann 06c9c267a9 passsing parent fixed 2022-04-20 13:51:37 +02:00
Uwe Rathmann 1b412fd2c4 textinput page added 2022-04-19 08:42:53 +02:00
Uwe Rathmann e0f7397eb7 using Qt::Edge instead of Qsk::Position 2022-04-17 12:37:13 +02:00
Uwe Rathmann d571184e9e inverted as bool instead of Qsk::Position 2022-04-17 12:25:51 +02:00
Uwe Rathmann 8b362edb29 QskPlacementPolicy introduced 2022-04-08 16:46:20 +02:00
Uwe Rathmann 35f98bedbb qskItemSize() removed, QQuickItem::size() is available since Qt 5.10 2022-04-07 15:43:45 +02:00
Uwe Rathmann fe49166865 alignment fixed 2022-04-06 10:56:29 +02:00
Uwe Rathmann 5791a9f6e4 colorswitch example removed 2022-04-06 08:41:32 +02:00
Uwe Rathmann bf6afd15a9 wip 2022-04-05 11:38:23 +02:00
Uwe Rathmann f0aded9fe1 wip 2022-04-05 10:41:36 +02:00
Uwe Rathmann f7b3946366 custom sliders moved from gallery to tabview. we do not want to have
custom controlsin the gallery, that is intended to show the default
versions
2022-04-04 17:45:49 +02:00
Uwe Rathmann 94269b0206 spelling aligned with Qt checkboxes ( triState -> tristate ) 2022-04-04 14:39:24 +02:00
Uwe Rathmann c7388cb730 formal cheges, check box added to gallery 2022-04-04 14:14:07 +02:00
Uwe Rathmann 7ac2317766 more switches 2022-04-03 16:38:25 +02:00
Uwe Rathmann 0301f6270b change skin button added 2022-04-01 15:58:47 +02:00
Uwe Rathmann eeec3ab68c push buttons added 2022-04-01 14:54:31 +02:00
Uwe Rathmann dac46837b8 text box reimplemented 2022-04-01 14:43:22 +02:00
Uwe Rathmann 1a1aaf252e support lib reorganized 2022-04-01 13:56:16 +02:00
Uwe Rathmann 1f6003e36d no more page backgrounds - preparation for better themeing 2022-03-28 20:15:54 +02:00
Uwe Rathmann ea88ab6e4c using reserve where possible 2022-03-25 10:29:12 +01:00
Uwe Rathmann e7c056047b introducing QskHashValue to work around Qt5/6 incompatibilities 2022-03-25 10:28:06 +01:00
Uwe Rathmann 3a6d052c30 QskSkinTransition pimpled 2022-03-24 11:17:03 +01:00
Uwe Rathmann aaf83ce279 unused code removed 2022-03-24 08:49:49 +01:00
Uwe Rathmann c439d5475b Squashed commit of the following:
commit 547927f937a3260d5b23068f06cd181de9b7c763
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date:   Wed Mar 23 15:38:40 2022 +0100

    wip

commit ca06b1da4bf9c5b30ef2857f0b6c1e4fb137a64e
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date:   Wed Mar 23 15:30:31 2022 +0100

    using private classes

commit 4977b0afa481039f22b64e7f55262be8053a26c2
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date:   Wed Mar 23 15:18:20 2022 +0100

    avoid using private Qt headers in examples
2022-03-23 15:39:17 +01:00
Uwe Rathmann 1987a28430 uncrustified 2022-03-23 11:54:34 +01:00
Uwe Rathmann 9f093674ff obsolete code for earlier versions removed 2022-03-20 14:22:11 +01:00
Uwe Rathmann 64ed933cd8 upport for Qt < Qt 5.12 dropped 2022-03-08 11:53:46 +01:00
Peter Hartmann 61cbb6cfa1 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 f1c48a4b9a menu separators added 2022-01-06 18:36:15 +01:00
Uwe Rathmann acbc66ea80 QskPageIndicator improved 2022-01-04 13:58:34 +01:00
Uwe Rathmann 8b9c0c0381 QskPopup::execPopup introduced 2022-01-01 18:13:33 +01:00
Uwe Rathmann d5b19fe12d QskMenu::exec added 2021-12-30 11:13:48 +01:00
Uwe Rathmann c37f792054 using positionHint methods 2021-12-29 17:05:29 +01:00
Uwe Rathmann 0e5060a80b avoiding deprecation warnings 2021-12-29 15:21:09 +01:00
Uwe Rathmann 9e1a161c51 implementation improved 2021-12-27 18:47:46 +01:00
Uwe Rathmann 985889f8ac menu items changed 2021-12-27 17:34:52 +01:00
Uwe Rathmann 2fd66b314e some functions copied from QskFunctions to QskPlatform 2021-12-26 12:57:02 +01:00
Uwe Rathmann cbd611602f QskMenu added ( work in progress ) 2021-12-23 18:36:32 +01:00
Uwe Rathmann e7127cda5d QskListView::Selected state introduced 2021-12-22 15:08:27 +01:00
Peter Hartmann f9df51a778 Iot dashboard: Fix light display input (#153)
* IOT dashboard: Fix light display input

* move tolerance in mouse handlinge code

* Revert "move tolerance in mouse handlinge code"

This reverts commit 2214d2160fd4c37151f9f6451f06ce12f7b7dada.

We keep the tolerance handling inside the other function.
2021-12-17 15:45:28 +01:00
Uwe Rathmann 863351e372 hiding the devicePixelRato scaling in the nodes 2021-12-13 16:43:34 +01:00
Uwe Rathmann 40de1d1a0b Qt 5.6 incompatibility fixed 2021-12-06 19:55:19 +01:00
Uwe Rathmann 0a4671d9de tabpage background fixed 2021-12-06 19:20:59 +01:00
Uwe Rathmann 4854f08f87 background fixed 2021-12-06 19:12:27 +01:00
Uwe Rathmann eb1c2b07de using degrees for arcs ( not multiplied by 16, what QPainter wants ) 2021-12-02 17:15:41 +01:00
Peter Hartmann bd6163fc30 IOT example: Make text label retain position when changing value (#150) 2021-11-22 15:51:40 +01:00
Peter Hartmann bd43cdda02 Iot dashboard light intensity (#142)
* IOT dashboard: Make light dimmer use arc renderer

* use shadow

* add value text

* add warm and cold parts

* add knob

* handle input

* only move knob when drawing along the arc

* improve input handling

* add tickmarks

* add tickmarks node

* clean up a bit

* Update screenshot of IOT dashboard for github site
2021-11-19 15:02:57 +01:00
Uwe Rathmann c1c651b0a5 comments fixed 2021-11-19 14:05:27 +01:00
Peter Hartmann 16946a4d2b Iot dashboard: Add own shadows (#135)
* remove current shadow implementation

* add our own shadow code
2021-10-31 11:16:03 +01:00
Peter Hartmann 30cd116034 IOT example: Fix alpha value of gradients (#139)
We were calling the new constructor of QskGradientStop with a
completely transparent alpha value.
2021-10-27 16:36:46 +02:00
Uwe Rathmann 56b7d95db5 QML export as QskGadientStops does nor work - we need to stay with
QVector
2021-10-27 15:08:06 +02:00
Peter Hartmann 5f2e285ce3 Iot dashboard arc rendering (#134)
* add QskArcNode and QskArcRenderer

* IOT example: Use QskArcNode instead of own arc node

* move some functionality to the arc renderer

* add QskArcMetrics

* add methods to QskSkinlet

* remove circular bar graph node

We can now use updateArcNode() and don't need our own method.

* support linear gradients in the arc renderer

* clean up

* incorporate Uwe's changes

* add overloads for updateArcNode() when the angles are set dynamically

The angles don't always come from the style, so we need overloads
in QskSkinlet to set them dynamically.
2021-10-20 07:50:25 +02:00
Uwe Rathmann 186e120910 Qt 6.2 workaround added - once
https://github.com/uwerat/qskinny/issues/131 is in place we hopefully
can remove it again
2021-10-07 12:29:42 +02:00
Uwe Rathmann 3d24f586b5 moc include added 2021-09-17 13:36:06 +02:00
Uwe Rathmann 2b26399fa6 QskGradientStops added 2021-09-17 13:35:47 +02:00
Uwe Rathmann cedff456d4 QskCorner removed - using QskBoxShapeMetrics instead 2021-09-15 17:54:44 +02:00
Uwe Rathmann e5c6adee2a QskSkinHintTableEditor API simplified 2021-09-04 16:48:02 +02:00
Uwe Rathmann dd7c08ae40 QskSkinHintTableEditor extended 2021-09-03 06:51:50 +02:00
Uwe Rathmann 6afbcc7d42 setting states without clearing others 2021-09-01 08:34:59 +02:00
Uwe Rathmann dc17f1f3ef GraphicProvider added 2021-08-26 17:02:31 +02:00
Uwe Rathmann 9b932a1a96 using QskGraphiclabel::panel 2021-08-26 15:24:13 +02:00
Uwe Rathmann c62d85cda8 leftover code removed 2021-08-25 15:46:08 +02:00
Uwe Rathmann a6782f4dd9 uncrustified 2021-08-24 14:38:03 +02:00
Peter Hartmann 0cf585404f Iot dashboard: Make circular progress bar a QskControl (#124)
* IOT example, circular progress bar: Use a pen instead of a brush

That way we don't have to draw two circles, and we can in addition
use a conical gradient.

* IOT example: Make circular progress bar a QskControl

... and internally use a QskPaintedNode for now. By doing this we
already have the API ready (similar to QskProgressBar) and can
swap the QskPaintedNode with an arc renderer at a later point in
time.
2021-08-24 08:46:26 +02:00
Uwe Rathmann 416cafd9b0 using flat caps 2021-08-06 14:39:40 +02:00
Uwe Rathmann f2ef00c2f9 alternative implemenation showing using a different type of gradient 2021-08-06 14:23:52 +02:00
Uwe Rathmann f25061fc96 layout code improved 2021-08-05 11:06:48 +02:00
Uwe Rathmann e83c03014b using subControl proxies + other improvements 2021-08-04 18:55:18 +02:00
Uwe Rathmann 950b7f98db typo fixed 2021-08-04 18:48:11 +02:00
Uwe Rathmann a1f375a127 QskSkinnable::subcontrolProxy added 2021-08-04 15:06:44 +02:00
Uwe Rathmann b3540aa3a0 Squashed commit of the following:
commit f429d3ab4e82ab06bfd40577aef8e2d5fdfd59fd
Author: Uwe Rathmann <Uwe.Rathmann@tigertal.de>
Date:   Wed Aug 4 14:40:36 2021 +0200

    subcontrolProxy introduced
2021-08-04 15:06:04 +02:00
Uwe Rathmann 7834e427b7 using pragma once for the examples 2021-08-04 10:11:12 +02:00
Uwe Rathmann 2b719190c3 uncrustified 2021-08-04 09:31:16 +02:00
Uwe Rathmann bffafdbaf3 getting rid of the confusing QskAbstractButton::Checkable state 2021-08-04 08:24:36 +02:00
Uwe Rathmann e26434c1cd switch button adjustments 2021-08-02 19:17:04 +02:00
Uwe Rathmann 41bef90f55 switchbuttons example moved to the gallery 2021-08-02 13:27:30 +02:00
Clemens Manert 423768bc84 Add SwitchButton (#121) 2021-08-02 13:22:37 +02:00
Uwe Rathmann b1634c6f78 making clang happy 2021-07-14 14:43:12 +02:00
Uwe Rathmann 98633109a1 iot-dashboard -> iotdashboard 2021-06-04 12:05:15 +02:00
Uwe Rathmann e6d0918569 iot-dashboard -> iotdashboard 2021-06-04 11:55:10 +02:00
Peter Hartmann 63619b1da1 Change license header of IOT example (#117) 2021-04-29 07:49:08 +02:00
Uwe Rathmann ea5272e9e5 moc includes 2021-04-26 08:43:46 +02:00
Uwe Rathmann a73b283c33 some Qt6 adustments for the iot-dashboard 2021-04-26 08:38:10 +02:00
Uwe Rathmann 5806f17631 Qt 5.6 compatibility 2021-04-26 08:16:06 +02:00
Uwe Rathmann 095b83c4e5 compile error fixed 2021-04-26 07:51:06 +02:00
Peter Hartmann 6731ccef4a Add IOT dashboard example (#116)
* Add IOT dashboard example

* Add images

* more content

* add pie chart

* Add skin factories etc.

* more work on the pie chart

* Try to use quick shapes

* Revert "Try to use quick shapes"

This reverts commit df6b5b22a339173d2a70ed85744b598811c26b30.

Doesn't work that easily unfortunately.

* implement design

* Add fonts; for now as a resource

We should use fontconfig of course later

* improve menu bar

* implement top bar

* use QNanoPainter for circular graphs

* Revert "use QNanoPainter for circular graphs"

This reverts commit ba0263cb1c19462cc41063ec7087c95e176c8293.

Try with QQuickPaintedItem instead for now.

* use painted items for circular bar graphs (for now)

* use different colors

* use some gradients

all of this is very hackish still

* add to top bar

* fix fonts and time display

* implement usage

* implement indoor temperature

* implement Humidity

* implement My Devices

* fix opacity issue with devices

* make icons quadratic

with some quick fixes as usual

* Add diagram

* try to smooth out curves

* Add diagram caption

* use tiny font

* make caption smaller

* add wekdays

* add grid lines

* fix my devices

* add light intensity

* add box around each section

* rename Card to Box

* Put indoor temperature inside a box

* put Humidity in a box

* put the rest in a box

* some small stuff

* add kirigami code

* something works somehow

* maybe we don't need our own class

still some work to do, but the main thing works

* add shadow from outside

... because the class is not a QskControl

* fine-tune the layout

* cross compilation: Make sure examples find libraries at link time

* fix compilation for embedded target

* add night time skin

* add new button class to better style it

* more hints for the night time skin

* change hints for dimmer

* change hints for progress bars

* Use animator for light dimmer

* use animator for progress bars

* Add Kirigami code

It was on oversight that this was forgotten earlier. We could of course
strip this down a lot to the part that we are actually using (i.e. the
shadowed rectangle).

* fix build with new QSkinny version

* fix paddings, something in the API changed

* fix stretch factors

* fix build with new version

* clang tidy fixes

* fix unused parameter warnings

should clean this up properly

* beautify example

* use astyle

* style menu bar properly

* fix warning

* more size hints

* refactor skins

* more skin hints

* graphic label skin hints

* menu item states instead of own API

* main grid box styling

* top bar styling

* fix build

* style round progress bars

* style time

* style indoor temperature and humidity

* simplify temperature and humidity

* style some more

* style My Devices section

* style My Devices some more

* fix styles when switching between them

* style diagram

* style more elements inside diagram

* more diagram style

* fix skin changes

* style light intensity

* Fix Humidity

* fix light intensity layout and other stuff

* style light intensity

* style button value label

* style round button

* style button boxes some more

* style menu bar top label

* style menu bar icons

* remove ShadowBox, it is not used

* style shadow boxes

* remove QskShadowedRectangle

We are not using it

* style usage spacer

* fine tune

* Refactor diagram before replacing it

* Add Diagram drawn with OpenGL

* use new Diagram class

* Support more than one data point in a diagram

* change data points and colors a bit

* position caption box

* adapt the spline to show nice curves

* remove boost::math dependency

We just hardcode the values here so we can get rid of the dependency.

* Remove kirigami code that we don't need

We only need the shadow

* move kirigami code

* rename header guards

* add license headers

* rename some classes
2021-04-26 06:22:35 +02:00
Uwe Rathmann 5cb33ad79b renamed to QskQuickItem::UpdateFlags 2021-02-09 08:13:20 +01:00
Uwe Rathmann e57c861b04 add/remove buttons added 2021-02-02 10:28:30 +01:00
Uwe Rathmann 79cceb1b09 subControlContentsRect added 2020-12-29 12:57:03 +01:00
Uwe Rathmann 0eadfa8fa2 sizeHint calculations moved to the skinlet 2020-12-29 09:45:00 +01:00
Uwe Rathmann 9f2dc44619 using qskControlCast 2020-12-27 16:08:52 +01:00
Uwe Rathmann b8bbd3a135 usig QskSkinHintTableEditor 2020-12-27 11:11:31 +01:00
Uwe Rathmann 5ecec7892e QskSkinHintTableEditor introduced 2020-12-26 12:57:08 +01:00
Uwe Rathmann 95d8d2a6da making QskAspect a class 2020-12-21 16:06:58 +01:00