Olivier Goffart
9e1e7e3937
Qt backend: simplify the way we set the no-frame flag on the QWidget
2021-12-06 18:52:10 +01:00
Olivier Goffart
310bf897cd
Native ComboBox: style the background of the popup
...
Fixes : #720
2021-12-06 18:52:10 +01:00
Olivier Goffart
2ffa83db0e
Native Style: hover effect on NativeStandardListViewItem
2021-12-06 18:52:10 +01:00
Simon Hausmann
6ca63aac9c
Make it possible to delegate the timer handling to the backend
...
When building with no_std, the backend can provide the global
instant.
2021-11-30 17:27:55 +01:00
Simon Hausmann
8f4b256da0
Fix components being inadvertendly shown when using Qt
...
Remove a spurious show() call, only an explicit show() should bring up the widget on the screen.
2021-11-30 12:31:51 +01:00
Simon Hausmann
6233cc64f2
Fix build with Qt 5
...
The QPalette workaround is only needed for Qt 6.
2021-11-29 17:18:23 +01:00
Simon Hausmann
e512feb952
Fix reacting to palette changes when using Qt
...
Due to a bug in Qt's implicit sharing in QPalette, the resolve mask of
QGuiApplicationPrivate::app_pal would get changed with an unrelated setColor
call and thus break color resolution from a new base palette when the theme changes.
2021-11-29 17:18:23 +01:00
Olivier Goffart
e4bd6bbfb8
Native style: respond to the StyleChange event
...
So that color scheme is updated when switching to the dark style, for example
Fixes #687
2021-11-29 17:18:23 +01:00
Olivier Goffart
80c0602277
WIP: start making the corelib crate a no_std crate
...
Does not compile yet with no_std because of the lack of
alternative for thread_local
2021-11-25 12:02:16 +01:00
ogoffart
3278b39549
Bump version number to 0.1.6
2021-11-24 14:19:09 +00:00
Olivier Goffart
d1cae710df
preprocess the images at compile time
...
For the MCU port, we need to proccess the image to save them in the binary
in a convenient format.
This patch start this work by trying to anaylyze what format should an image
be using, and saving it as a texture in the binary.
The current graphical backend and the C++ frontend are not yet supported
2021-11-19 15:54:45 +01:00
Olivier Goffart
f138887857
QPainter and QBrush are now exposed by qttypes 0.2.5
2021-11-19 12:43:47 +01:00
Olivier Goffart
cd14e1d70c
Move the NativeButtonVTable in the right module
2021-11-18 10:23:06 +01:00
unc0
54ae34f9fb
Set MSVC to use UTF-8 character sets on c++ source files,
...
so it won't throw error on `u"string"` when running in
other codepage, for example cp936.
Ref: https://docs.microsoft.com/en-us/cpp/build/reference/utf-8-set-source-and-executable-character-sets-to-utf-8
2021-11-17 19:35:12 +01:00
Olivier Goffart
becb4574c1
Qt backend: don't set Qt::AA_PluginApplication when using the backend
...
Otherwise Qt won't set the hidpi mode on windows, for example
2021-11-17 09:05:24 +01:00
Olivier Goffart
40a6f3e740
Polish the Native Spinbox: There is a line edit that need to be drawn inside
2021-11-17 08:44:08 +01:00
Simon Hausmann
ad1b251966
Internal cleanup
...
Centralize the setting of the width/height on the window item in the core library.
2021-11-11 11:47:54 +01:00
Olivier Goffart
28c485c161
Handle the tab key in the Qt backend
...
Completes #639
2021-11-08 16:16:56 +01:00
Simon Hausmann
13de800ba3
Internal cleanup: Rename layouting_info to layout_info
...
That's making the call on the Component VTable consistent(ish) with the Item VTable.
2021-11-08 10:24:30 +01:00
Simon Hausmann
67579ec560
Simplify drop implementation of generated components
...
Avoid creating an intermediate array of items to free the graphics resources.
Instead call run-time function with the item tree as a parameter, which is traversed.
It's practically the same data structure that was previously created, except
that it is shared/global and has little holes for the dynamic tree items, but those are easy to skip.
2021-11-01 08:58:53 +01:00
Simon Hausmann
d57edfbb7c
Simplify free_graphics_resources API in the backend
...
Take an iterator reference instead of a slice, so that we can change the call sites in the future.
2021-10-30 13:03:52 +02:00
ogoffart
b25ae6fbcd
Bump version number to 0.1.5
2021-10-26 07:36:54 +00:00
Olivier Goffart
18ce1087d5
Hardcode the Qt license
...
Because the install qt github action does not install the documentation
2021-10-22 14:32:17 +02:00
Simon Hausmann
dec6c6ca51
Work around crash in Qt mac style when drawing scrollbars with invalid size
...
Fixes #595
2021-10-19 12:36:26 +02:00
Olivier Goffart
4436b422e5
Fix LineEdit.has-focus witht he native style
...
The property had the wrong name.
Also it is not a native-output
2021-10-14 15:34:25 +02:00
Simon Hausmann
e305f0e61c
Fix sixtyfps::quit_event_loop()
not exiting the event loop with Qt 6 on macOS
...
As per commit 0c02f133f3daee146b805149e69bba8cee6727b2 in qtbase (qt6),
quit() on QCoreApplication on macOS calls [NSApp terminate], which will
not return to main. The latter however is documented behavior, and
sixtyfps-viewer for example relies on it.
2021-10-11 16:55:32 +02:00
Robert Broketa
52ff84c0a1
Add changelog entry and move no-frame
logic to cpp closure
2021-10-11 10:21:21 +02:00
Robert Broketa
c3c7765f80
Add no-frame
property for a borderless/frameless window
2021-10-11 10:21:21 +02:00
Olivier Goffart
b0c87cb089
Fix the middle mouse button with Qt
2021-10-08 17:30:15 +02:00
ogoffart
77fcd5221b
Bump version number to 0.1.4
2021-10-07 09:36:43 +00:00
Simon Hausmann
7aa6545046
Enable support for gzipped SVG
...
usvg detects gzipped SVG by looking at the first bytes, and Qt supports it as well.
2021-10-06 21:24:44 +02:00
Simon Hausmann
7102f9b997
Fix standard button OK text
...
Ok -> OK
2021-10-06 16:16:39 +02:00
Simon Hausmann
6dce5ab32e
Fix rendering of push buttons with QStyle on macOS
...
The button bevel was rendered upside down, which happens due to some
weird double y-axis inversion, which goes away when passing the QWidget
pointer to the style. When using the Qt backend, we can do that.
2021-10-06 14:39:56 +02:00
Olivier Goffart
db10bf2187
Fix embedded window icon with the Qt backend
...
Also add a window icon to the gallery
2021-10-06 12:39:22 +02:00
Simon Hausmann
4c6c8233c0
Qt style: Improve default layout spacing on macOS
...
When the PM_LayoutHorizontalSpacing pixel metric is negative, we're supposed to call
layoutSpacing() on the style. Until we have a detailed
overview over the controls, a default spacing is better than -1 :-)
2021-10-06 11:10:58 +02:00
Olivier Goffart
a1b27c47ae
Small cleanup
...
The is_standard_button is alays true because the None path returns a few line before
2021-10-06 10:53:30 +02:00
Simon Hausmann
d43e0a1c83
Qt style: Only show icons in standard buttons if the style permits
2021-10-06 10:45:31 +02:00
Olivier Goffart
aa05e96d22
Native style: properly initialize the layout padding
2021-10-06 10:43:32 +02:00
ogoffart
8b9717633e
Bump version number to 0.1.3
2021-10-05 10:31:45 +00:00
Simon Hausmann
0e8efea2ff
Further speed up font handling in the GL backend
...
Use the new fontdb API:
* When registering embedded fonts, we don't need to make a copy of the
embedded font data anymore.
* We don't have to mmap the font files ourselves anymore, fontdb can
do this now for us.
2021-10-04 15:11:55 +02:00
Olivier Goffart
2716e4b4dd
TouchArea: add the pointer-event
callback
...
... instead of `pressed-changed`
This allows to see what mouse button was pressed.
Closes #535
2021-10-04 14:39:49 +02:00
Olivier Goffart
dc10916129
Attempt to improve a bit the look of the native scrollbar
...
This tries to adjust the position of the scrollbar depending of the value of
SH_ScrollView_FrameOnlyAroundContents
2021-10-01 12:58:00 +02:00
Olivier Goffart
e858b3e8d5
Fix TabWidget drawing with the Qt Fusion style
...
- The Tab must be drawn before the contents, because the style draws something under the active tab,
outside of its region
- Also set the QStyleOptionTab::HasFrame flag since we are in the equivalent of a QTabWidget
2021-09-30 19:43:53 +02:00
Olivier Goffart
5935b99c73
Fix indentation
2021-09-30 19:11:40 +02:00
Olivier Goffart
c7227f35cc
Native style: Fix size of button with icon
...
Some styles recompute the size based on the contents given in the QStyleOptionButton,
Some styles need to be given the icon in their content size. And this was not done properly
2021-09-30 19:10:00 +02:00
Simon Hausmann
f6f06a8ccb
Fix compilation with Qt 6.2.0 and MSVC
...
Apply the same fix as woboq/qmetaobject-rs@fb6e8cda64
2021-09-30 15:45:14 +02:00
Olivier Goffart
33e0512448
Qt backend: Fix drawing of the TextInput with vertical alignement
...
This aligns the text properly in the LineEdit
2021-09-30 13:17:16 +02:00
Olivier Goffart
a72c442b58
Native style: use the QPalette for the placeholder color in a LineEdit
2021-09-30 12:50:30 +02:00
Olivier Goffart
465857c42e
Handle the Keypad Enter as Return
...
Fixes #525 : LineEdit::accepted doesn't react on numpad Enter
2021-09-30 11:48:09 +02:00
Olivier Goffart
671df0f24f
New widget: StandardButton
2021-09-29 16:25:44 +02:00