Commit Graph

4276 Commits

Author SHA1 Message Date
Sergio Martins
3b8e3b6c6b Add a dummy frontend
Goal will be that people can copy it to start a new frontend
2022-06-25 20:34:49 +01:00
Sergio Martins
c1f6d64ac3 Remove a TODO and add some docs 2022-06-25 19:00:12 +01:00
Sergio Martins
a74d2aae7a tests: Add initial test for Window 2022-06-25 18:52:36 +01:00
Sergio Martins
113cdbafe9 Trying to stabilize a test 2022-06-25 18:05:20 +01:00
Sergio Martins
c9fede2aab Remove the FloatingWindow window state overrides
Nothing is inheriting from controller now. Those methods are already
virtual in view, so just remove them from the controller
2022-06-25 17:41:03 +01:00
Sergio Martins
f640d8852b Fix maximize button not being updated
Moved logic into controller
2022-06-25 16:29:41 +01:00
Sergio Martins
8f10d86cad Fix minimize button not being updated 2022-06-25 16:14:36 +01:00
Sergio Martins
02ef55f9f1 Fix auto-hide button not being updated
Moved logic from view into controller.
2022-06-25 13:50:17 +01:00
Sergio Martins
6cd6408bef cmake: Install v1.x compatible headers for QtWidgets
It's nicer to include DockWidget.h than views/DockWidget_qtwidget.h.
QtQuick won't need pretty headers as the recommended way is to use from QML
directly, not C++
2022-06-25 13:13:00 +01:00
Sergio Martins
7ec71d65be Merge branch 'master' into 2.0 2022-06-25 12:54:32 +01:00
Sergio Martins
8ad2ece8b9 Merge branch '1.6' 2022-06-25 12:54:20 +01:00
Sergio Martins
7cc63926d4 Merge branch '1.6' into 2.0 2022-06-25 12:53:44 +01:00
Sergio Martins
6184b06d12 qtquick: Silence benign warning 2022-06-25 12:30:44 +01:00
Sergio Martins
559a195669 Rename layoutWidget to layout
As already done with the class names
2022-06-25 11:47:55 +01:00
Sergio Martins
95d711ece7 qtquick: Allow to use the MDI feature from QML
No need to use low level C++ API anymore
2022-06-25 11:45:01 +01:00
Sergio Martins
74a1520382 examples: Use less controllers 2022-06-25 11:13:21 +01:00
Sergio Martins
31ba0ec52d mdi: Don't expose the controllers directly in the API 2022-06-24 22:42:31 +01:00
Sergio Martins
10f70c8dd6 Move the QString based API from MainWindow_qtquick to MainWindowViewInterface
Makes sense for other frontends too
2022-06-24 22:26:02 +01:00
Sergio Martins
452a89bfa2 Remove some controllers from the QML interface 2022-06-24 21:21:45 +01:00
Sérgio Martins
5b7630b318 Fix namespaced build 2022-06-24 20:36:01 +01:00
Sergio Martins
82b3aba854 Remove ViewWrapper*h from public API 2022-06-24 17:20:09 +01:00
Sergio Martins
0a9506cd21 Probably fix Qt namespaced build 2022-06-24 17:00:01 +01:00
Sergio Martins
10c918b93c Use View instead of ViewWrapper in the api
The latter will be an implementation detail soon
2022-06-24 00:10:50 +01:00
Sergio Martins
2ac996218f Minor typo fix 2022-06-23 22:13:10 +01:00
Sergio Martins
429bcfc4e0 Rename Frame.qml to Group.qml 2022-06-23 16:03:46 +01:00
Sergio Martins
ae5cf1d723 More renaming of "frame" to "group" 2022-06-23 16:01:43 +01:00
Waqar Ahmed
4ba58ac1be Add DockWidget::aboutToDelete
Relying on QObject::destroyed might not be a good idea, fixes the
following ASAN issue:

```
SideBar.cpp:80:22: runtime error: downcast of address 0x6040005c8b90
which does not point to an object of type 'DockWidget'
0x6040005c8b90: note: object is of type 'QObject'
 00 00 00 00  88 64 e7 43 3f 7f 00 00  a0 ff 0e 00 80 60 00 00
70 81 0c 00 c0 60 00 00  01 be be be
              ^~~~~~~~~~~~~~~~~~~~~~~
              vptr for 'QObject'
```
2022-06-22 19:16:56 +05:00
Sergio Martins
cc918c5195 More "frame" to "group" renaming 2022-06-22 13:42:22 +01:00
Sergio Martins
bc767cefac Rename asFrameController to asGroupController 2022-06-21 17:32:38 +01:00
Sergio Martins
0aec6dfdb1 Rename more frame variables to group 2022-06-21 17:31:28 +01:00
Sergio Martins
9469273c7a Rename "frame" variables to "group" 2022-06-21 17:12:11 +01:00
Sergio Martins
fe7a8d450c Rename Frame class to Group 2022-06-21 16:34:20 +01:00
Sergio Martins
e9eee0e69e wayland: Fix StateDragging::handleMouseMove() being called
For wayland we override StateDragging and deal in QDrag instead
but some spurious mouse event got in and were handled in the base
class.

Fixes a crash when receiving mouse move during a drag
2022-06-21 11:17:31 +01:00
Sergio Martins
d2339d1b12 wayland: Fix QEvent::DragEnter being accepted by user code
Otherwise we stop receiving drag moves.
If we're dragging a window we're absolutely sure that user code
won't be interested.

As reproduced by using graphic views.
2022-06-21 11:10:11 +01:00
Sergio Martins
b45644af74 Rename FrameViewInterface class to GroupViewInterface 2022-06-21 09:01:44 +01:00
Sergio Martins
73d627554a Remove Frame.h/cpp to Group.h/cpp
It's a better name.
Files only for now. Contents will come in a followup.
2022-06-21 08:51:52 +01:00
Sergio Martins
e980dc9bb1 Add some trace debugging to DragController 2022-06-20 14:27:28 +01:00
Sergio Martins
b9773cd262 qtquick: Move some Q_INVOKABLES to the views
As only the views are exposed
2022-06-19 23:27:21 +01:00
Allen Winter
47ad860921 Merge branch '1.6' 2022-06-19 16:02:49 -04:00
Allen Winter
a2f0e2e689 codespell fix 2022-06-19 16:02:29 -04:00
Allen Winter
1c6c7e767f Merge branch '1.6' 2022-06-19 15:39:46 -04:00
Allen Winter
1b1d963d3e .krazy - exclude spelling checking -- use codespell instead 2022-06-19 15:39:24 -04:00
Sergio Martins
da70b1baed qtquick: Don't overload Q_INVOKABLES
Apparently QML doesn't support it very well.

Fixes #291
2022-06-19 20:26:19 +01:00
Sergio Martins
2dff66fb97 README: Move the supported toolchain section into the build section
So it's easier for users to find that they need a C++17 compiler.
Won't add exact compiler versions as I have no idea which gcc and which
clang version introduced such support.

Fixes #296
2022-06-19 17:59:09 +01:00
Sergio Martins
a44886279b README: Move building section to before the example
Since you need to build kddw before building the examples.

As a drive-by, added a mention to X11Extras.
Won't mention any package names as that's distro dependent and the amount
of distros is open ended. Would rather remove our current mentions of package names
to make it consistent.

Fixes #297
2022-06-19 17:15:17 +01:00
Sergio Martins
9072555814 ChangeLog: Explain what 2.0 is about 2022-06-19 15:22:54 +01:00
Sergio Martins
b599554ba7 Update ChangeLog with the one from master 2022-06-19 15:14:17 +01:00
Sergio Martins
2b62b1965a Merge branch 'master' into 2.0
empty merge with "-s ours" just to reconcile. All changes from
master have been cherry-picked manually since the code has changed
too much todo a normal merge
2022-06-19 14:43:22 +01:00
Sergio Martins
ea55c74768 Added MainWindow::internalLayout()
Allows the application to add more widgets next to the drop area.

(cherry-picked from commit 74dcbd994a)
2022-06-19 14:40:59 +01:00
Sergio Martins
729624ab04 EGLFS: Don't raise the main window when docking
EGLFS doesn't honour that the floating windows should be
on top and will make the floating windows go behind.

It's also unneeded to raise it on eglfs, since it's fullscreen.

(cherry-picked from commit d06c6e8f11)
2022-06-19 14:37:52 +01:00