Sergio Martins
d6fd54cec4
Por all usages of QWindop/windowHandle to KDDockWidgets::Window
...
Removes a lot of asQWidget() code and is also prepared for non-Qt
views.
2022-04-09 19:21:56 +01:00
Sergio Martins
558bd42447
tests: Remove more QWidget dependencies
2022-04-07 00:49:36 +01:00
Sergio Martins
e593233b8f
Renamed views_qtwidgets/ into qtwidgets/views/
...
As there will be some files that are specific to QtWidgets and
but aren't views
2022-04-03 23:51:02 +01:00
Sergio Martins
81e5d14e4f
Cleanup DropArea and base classes re receiving QWidget
...
They receive View now
2022-04-03 23:19:53 +01:00
Sergio Martins
d5700d94e6
MainWindow controller now receives View parent instead of QWidget
2022-04-03 21:23:03 +01:00
Sergio Martins
15601fc3c9
Split MainWindow into view/controller
2022-03-30 11:51:31 +01:00
Sergio Martins
f2957e35d5
Moved MainWindow into Controllers namespace
...
All renamings and movings are done, next step is to make the controller
a proper controller, and same for the view.
2022-03-25 11:30:40 +00:00
Sergio Martins
8656108e81
Renamed MainWindowBase to MainWindow
...
As done for other controllers
2022-03-25 10:47:20 +00:00
Sergio Martins
63b5109113
Rename Views::MainWindow to Views::MainWindow_qtwidgets
...
As done for other views
2022-03-25 10:41:46 +00:00
Sergio Martins
264b08a731
Move MainWindow view into Views namespace
2022-03-25 10:40:16 +00:00
Sergio Martins
27007184aa
Rename MainWindow.h to MainWindow_qtwidgets.h
...
Just like the other views.
2022-03-25 10:27:25 +00:00
Sergio Martins
7e2f448ae1
Moved MainWindowBase/MainWindow into controllers/view folder
...
This is just the move, not ported yet
2022-03-25 10:21:07 +00:00
Sergio Martins
c6d95c42a8
Split most widgets into a Controller and a View
...
Controllers don't have any GUI and don't depend on the frontend
technology.
Views are implemented in a specific GUI tech (QtWidgets, QtQuick, etc).
For now only QtWidgets work. There's still a lot to decouple.
This will make it easier to introduce non-Qt backends.
2022-03-24 16:05:37 +00:00
Allen Winter
93e60a743e
update copyright year
2022-01-20 08:05:26 -05:00
Sergio Martins
4448891315
tests: Increase timeout when trying to active dock widgets
...
When running with ASAN everything is slower.
Added a warning to tests fail sooner if this happens.
2021-07-15 20:50:58 +01:00
Sergio Martins
da1fddffe1
Decouple MultiSplitter from MainWindow and FloatingWidget
...
They deal in its base class instead (LayoutWidget)
2021-02-09 16:05:56 +00:00
Sergio Martins
863691c313
Remove some private API from DockWidgetBase.h
...
Moved it into the pimpl
2021-02-06 16:32:13 +00:00
Sergio Martins
e0e6f55868
Introduce DockWidgetBase::LayoutSaverOptions enum
...
The first enumerator is "Skip", meaning the dock widget won't
be affected by save/restore. It won't disappear while restoring,
and won't be shown if already hidden. (only applies to floating widgets)
2021-01-11 23:33:32 +00:00
Allen Winter
875544a449
Merge branch '1.2'
2021-01-02 09:32:20 -05:00
Allen Winter
a2f4c972a6
update copyright year
2021-01-02 09:27:50 -05:00
Sergio Martins
894be60a75
tests: Add pressOn/doubleClickOn that receives a QWindow
...
Easier as we don't need to know the actual QWidget/QQuickItem
receiver. The QWindow will deliver it.
2020-12-23 20:36:50 +00:00
Sergio Martins
6158ebd520
qtquick: Fix our QtQuick QLineEdit clashing with the QWidgets one
...
Some indirect include is making it clash. Cleaner to use a different
name anyway
2020-11-26 21:28:01 +00:00
Sergio Martins
bf259c7ffc
qtquick: Fix build on mac
...
Mostly due to -Werror and clang having more warnings
2020-11-26 16:45:12 +00:00
Sergio Martins
d2c55a67df
qtquick: Fix more tests
2020-11-25 16:28:54 +00:00
Sergio Martins
12f3ba9074
qtquick: Fix some tests
2020-11-25 16:02:42 +00:00
Sergio Martins
ad3f4141c8
qtquick|tests: Fix main window QWindow not being resized
2020-11-24 18:40:22 +00:00
Sergio Martins
97d8e4f18b
qtquick|tests: Be able to deliver a double-click event to a titlebar
...
Needed for tests
2020-11-20 21:44:06 +00:00
Sergio Martins
09793b3481
tests: Port more tests to QtQuick
...
31 to go
2020-11-06 23:33:02 +00:00
Sergio Martins
c6c1fe79c3
Fix QtQuick build
...
src/ is no longer in the include path
2020-10-28 22:15:32 +00:00
Sergio Martins
473f03360c
tests: Fix Wweak-vtables warnings
2020-10-26 18:59:21 +00:00
Sergio Martins
c4cc6b3e6e
tests: Port more tests to QtQuick
2020-10-25 22:39:10 +00:00
Sergio Martins
61bc24c6ea
tests: A bunch of drag/mouse functions are not compatible with qtquick
...
In the sense that they build.
2020-10-21 22:43:08 +01:00
Sergio Martins
4ea254029a
qtquick: Fix tst_negativeAnchorPosition3
...
MainWindow needed a parent.
Also normalized deletion of the floating window.
2020-10-11 13:00:09 +01:00
Sergio Martins
b5478bcb0d
tests: Enable a bunch of tests for QtQuick
...
only one is failing
2020-10-11 11:44:47 +01:00
Sergio Martins
951aeece6e
quick: Make DockWidgetBase::setWidget() virtual
...
The QtQuick counter-part needs to do some specific things, like
settings anchors.parent: fill on it, and parenting it
2020-10-04 00:01:32 +01:00
Sergio Martins
721f08e29b
tests: Show the QQuickView and cleanit up
...
Also commit main.qml I forgot
2020-10-03 22:49:27 +01:00
Sergio Martins
b9e3024720
tst_common now passes for QtQuick
...
Needed a view
2020-10-03 22:10:38 +01:00
Sergio Martins
0155790b02
tests: add Test::clickOn()
2020-09-12 00:33:34 +01:00
Sergio Martins
961600fe74
qtquick: fix build
...
MainWindow.h is specific to QtWidgets
2020-08-22 19:19:59 +01:00
Sergio Martins
750f9b6142
tests: Add strong-focus to the widget
2020-08-14 23:00:14 +01:00
Sergio Martins
22f2975f3c
tests: createMainWindow() works for qml now too
2020-08-13 00:46:55 +01:00
Sergio Martins
d3323d824a
tests: Make createMainWindow return MainWindowBase
...
Instead of QMainWindow, so it works with qml too
2020-08-13 00:46:55 +01:00
Sergio Martins
fd56ab7932
qml: Introduce tst_common
...
Will be moving tests that are common to both QtWidgets and QtQuick
2020-08-02 22:16:03 +01:00
Allen Winter
b4f49895c2
clarify: licensing is GPL2 or GPL3 or commercial licensed
...
follow the REUSE specs
2020-07-24 18:16:13 -04:00
Sergio Martins
86e58dd8a7
Merge MultiSplitterLayout into MultiSplitter
...
No need to have two. It's a leftover from the old layouting engine
2020-06-11 16:34:28 +01:00
Sergio Martins
ecfa43f801
Decouple TabWidget from Frame
...
TabWidget is now an implementation detail of FrameWidget.
QQuick will roll their own stuff with similar api, but no need to
abstract QTabWidget and QTabBar
2020-06-03 22:18:44 +01:00
Sergio Martins
944138273f
Tests: stabilize tst_embeddedMainWindow
...
Going 50px into the window was too short and didn't reach the embedded
window to show the indicators.
Also, it's the inner indicator we want, the other isn't visible as the
window is single frame
2020-05-25 20:11:01 +01:00
Sergio Martins
0df9943aa5
Fix fuzzer test 11.json and other tests that worked by luck
...
mapFrom/toRoot were wrong
2020-05-07 16:30:45 +01:00
Sergio Martins
97c1ca30fd
Layouting engine rewrite
...
The layouting was becoming too complex to maintain and to introduce
new features. Was even buggy, the fuzzer was constantly finding
bugs, which took hours to workaround.
Problem with the old layout engine is that there was a catch 22, between
Items driving the separators, and separators driving the anchors.
The new layout is much simpler, both in implementation and conceptually.
There's simply a recursive hierarchy of Item elements. An Item can either
have a QWidget to show, or be a ItemContainer, which contains Item children,
and so forth. Each ItemContainer is either vertical or horizontal. That's enough
to represent the "nested multi-splitter" concept which KDDW uses.
After each item insertion/deletion/resize, the separators are regenerated. They
are essentially dumb now.
TODO:
- Separators are drawn, but are not interactive yet
- There's 5 tests failing
- LayoutSaver scalling functionality
2020-05-04 00:02:03 +01:00
Sergio Martins
eabcdfb945
Add unit-test for affinity
2020-03-01 15:03:29 +00:00