Sergio Martins
c2b3e6b36e
Remove some unneeded debug info
2021-02-15 17:28:29 +00:00
Sergio Martins
b8405c01f1
Export WidgetResizeHandler
2021-02-15 17:25:49 +00:00
Sergio Martins
3d191da07e
Remove the unity build option, there's already a CMake way
...
-DCMAKE_UNITY_BUILD should do the same thing.
Disabling it by default since the project is too small for the gains,
and because it screws up the compile_commands.json which I need
for vscode
2021-02-14 23:28:46 +00:00
Sergio Martins
aeb61993a4
Use QT6_DIR in the presets file
...
Removes the hardcoded "gcc"
2021-02-14 23:08:06 +00:00
Sergio Martins
3679e1da3a
Pass a QStyleOption in Button::sizeHint()
...
Allows to use the logical dpi of the screen the widget is in
2021-02-14 22:41:02 +00:00
Sergio Martins
52aefd23f0
Improve comments
2021-02-14 22:40:23 +00:00
Sergio Martins
76a2b84925
Windows: Support scalable icons without requiring AA_EnableHighDpiScaling
2021-02-14 22:22:04 +00:00
Sergio Martins
a89b2c7ed1
Add a comment
2021-02-14 19:54:49 +00:00
Sergio Martins
5dd4eb2d20
Honour the logical DPI for sizing title bar buttons
...
Some Linux window managers manipulate the logical DPI instead of
the device pixel ratio.
2021-02-14 19:39:05 +00:00
Sergio Martins
600661a570
Minor: Move Button::paintEvent() into the .cpp file
2021-02-14 19:22:41 +00:00
Sergio Martins
92f6453d26
Minor refactoring
...
Adds scalingFactorIsSupported(dpr) to utils, to workaround a bug
on earlier Qt
2021-02-14 19:17:15 +00:00
Sergio Martins
8bf3aa9b4d
Use sizeHint() for title bar buttons
...
In preparation for using style pixel metrics, which is more
HDPI friendly
2021-02-14 18:43:49 +00:00
Sergio Martins
c52db1945b
Minor rename for readability
2021-02-14 17:52:36 +00:00
Sergio Martins
09a10cd791
Minor rename for readability
2021-02-14 17:42:35 +00:00
Sergio Martins
07fd577894
MDI|qtquick: Fix resize cursor not being shown
...
the docked widgets were resizable but the cursor didn't change
shape
2021-02-14 17:41:01 +00:00
Sergio Martins
ed900b8531
MDI|qtquick: Allow to resize the docked windows with mouse
...
Was already possible for QtWidgets. For QtQuick we weren't
receiving the mouse events in Frame.
2021-02-14 17:26:03 +00:00
Sergio Martins
fa010357b3
Add Frame::isMDIChanged() signal
2021-02-14 17:21:28 +00:00
Sergio Martins
da6ffc85ef
Fix transparency of QtQuick MDI example
2021-02-14 16:33:02 +00:00
Sergio Martins
b7c23087e1
MDI|qtquick: Don't use private API in the example
2021-02-14 13:30:34 +00:00
Sergio Martins
656f482cad
qtquick: fix build
2021-02-14 13:17:45 +00:00
Sergio Martins
5e03003b94
Add MDI to the ChangeLog
2021-02-14 13:05:34 +00:00
Sergio Martins
48b5b27d42
Introduce MainWindowMDI
...
User no longer needs to use private API
2021-02-14 13:02:48 +00:00
Sergio Martins
fccb815d5a
Fix QtQuick build
2021-02-13 18:56:18 +00:00
Sergio Martins
544d3b026a
MDI windows will now poput into floating mode
...
when dragged behond the edges
Please enter the commit message for your changes. Lines starting
2021-02-13 18:30:59 +00:00
Sergio Martins
15ff882919
MDI: Raise window when we're dragging it
...
Otherwise it's appearing under others, possibly
2021-02-13 16:29:32 +00:00
Sergio Martins
18d405bdfb
MDI: Don't let windows escape its parent
2021-02-13 16:19:05 +00:00
Sergio Martins
4379e7c544
MDI|Item: Allow widget to resize itself outside of the layout domain
...
With a normal KDDW layout, we don't allow the user to arbitrarily
resize widgets, all the resizes are done via dragging Separator,
which interacts closly with the layout.
With MDI however there's no separators. The user is resizing the
widget and the layout doesn't know about it, and it's fine for MDI
2021-02-13 14:17:42 +00:00
Sergio Martins
51e2be9b7b
MDI: Don't paint the titlebar over the frame
2021-02-13 14:06:24 +00:00
Sergio Martins
f2b21d04b3
mdi example: Show KDAB logo
2021-02-13 14:02:22 +00:00
Sergio Martins
a73f35af22
MDI: Implement internal move
...
You can now move internal windows around without them becoming
floating
2021-02-13 13:03:14 +00:00
Sergio Martins
7b3ef03924
Add Draggable::isMDI()
2021-02-13 12:16:28 +00:00
Sergio Martins
a4d03c1514
Add a mdi-example
...
Don't want the main example to be too complex
2021-02-13 12:01:01 +00:00
Allen Winter
eccdee0081
buildsystem - add an uninstall target
...
uses the KDE extra-cmake-module ECMUninstallTarget.cmake
2021-02-12 15:18:01 -05:00
Sergio Martins
48f3390d71
Delete resize handler when floating a MDI dock widget
...
When it's floating it will use native resizing, or the resize handler
from the floating window. Not its own.
2021-02-11 20:09:22 +00:00
Sergio Martins
df6f1e6c8f
Added Frame::isMDI()
2021-02-11 20:00:54 +00:00
Sergio Martins
3c95081aee
MDI: Support internal resize
...
You can now resize docked MDI widgets
2021-02-11 19:37:05 +00:00
Sergio Martins
329a980510
WidgetResizeHandler: Fix case if parent's target wasn't top-level
...
By luck parentGeometry was in global space. Force it to be in global
space, as the target might be more nested.
Will be used by MDI, where Frame's parent is the MDI layout
2021-02-11 19:35:40 +00:00
Sergio Martins
d8605e9ce3
Minor styling: Reduce nesting, process invariant early
2021-02-11 19:15:36 +00:00
Sergio Martins
7dcc6dc114
Frame now takes care of its own resize handler
...
No need to set it from outside
2021-02-11 18:56:45 +00:00
Sergio Martins
64db52fd17
Move the CursorPositions header to the enums header instead
...
Otherwise will have to include WidgetResizeHandler_p.h
where I don't want to. And make it an installed header etc.
2021-02-11 18:52:21 +00:00
Sergio Martins
c0957024ec
Remove some unneeded qDebug
2021-02-10 22:25:45 +00:00
Sergio Martins
649571a2eb
Minor styling for the MDI example
2021-02-10 20:16:19 +00:00
Sergio Martins
60adb0d50b
qtquick: Add a MDI example
...
Instead of poluting the normal example
2021-02-10 20:06:50 +00:00
Sergio Martins
f751d7c24e
TitleBar is now HDPI aware even without the Qt::AA_ properties set
...
It will just query the style, which is already HDPI aware.
2021-02-10 15:17:04 +00:00
Sergio Martins
5ec5ade62f
qtquick: Add a MDI example
2021-02-10 00:19:29 +00:00
Sergio Martins
788c497cbb
Don't crash if it's a MDI layout
2021-02-10 00:01:47 +00:00
Sergio Martins
f6c274b82f
qtquick: Remove unneeded dependency to DockArea
2021-02-09 23:50:52 +00:00
Sergio Martins
5a6b4a6fdd
Don't use transparent titlebar if docked MDI
...
As the dock widgets can overlap over eachother
2021-02-09 23:27:10 +00:00
Sergio Martins
ef212b8c0f
Added TitleBar::isMDI()
2021-02-09 22:38:16 +00:00
Sergio Martins
aa2f46fd00
Added TitleBar::mainWindow()
2021-02-09 22:15:31 +00:00