Commit Graph

43 Commits

Author SHA1 Message Date
Sergio Martins
1d0a304d2b Fix a bunch of warnings in tst_multisplitter
The handler wasn't installed so they weren't fatal.
2022-06-29 13:33:40 +01:00
Sergio Martins
0e6f38381b Rename hostWidget to hostView 2022-06-27 21:41:48 +01:00
Sergio Martins
4fa43c7ba1 Make numSideBySide_recursive() ignore invisible items
We have invisible items that just remember the position of
other items.

(cherry-picked from commit 9f96eff663)
2022-06-19 14:37:06 +01:00
Sergio Martins
7b4e04703d Added MultiSplitter::numSideBySide_recursive()
(cherry-picked from commit f5622732ce)
2022-06-19 13:52:30 +01:00
Sergio Martins
755bc6ac14 cmake: Don't add src/ to include path
Fully qualify includes instead
2022-06-14 16:57:22 +01:00
Sergio Martins
a4d337e891 Fully qualify header paths when including controllers
so this still works when private headers are installed
2022-06-13 23:24:43 +01:00
Sergio Martins
55620a5d10 TODO cleanup
Removed stale TODOs and promoted some to TODOm2 , as they should
be tackled next
2022-06-12 16:07:29 +01:00
Sergio Martins
1acafd8a6c Remove unneeded MultiSplitterConfig
Config.cpp is enough
2022-05-31 23:31:29 +01:00
Sergio Martins
bafa21d11c tests: Abort tests if there were warnings 2022-05-21 00:00:14 +01:00
Sergio Martins
bb4f5a5037 Mass renaming of last usages of FrameworkWidgetFactory 2022-05-19 08:12:29 +01:00
Sergio Martins
09eb303bab Rename some methods from FrameworkWidget to View 2022-05-19 08:00:20 +01:00
Sergio Martins
93e388e04f tests: tst_multisplitter is now run against all platforms 2022-05-09 17:38:22 +01:00
Sergio Martins
9173226be7 tests: Normalise signature of argc/argv to match QApplication's
Fixes crash when passing "platform -xcb", because argc was being
passed by value, decremented in QApplication, then going out
of bounds in QTest
2022-05-09 15:16:36 +01:00
Sergio Martins
3c340aee40 tests: Remove last traces of QWidget from tst_multisplitter 2022-05-08 19:56:25 +01:00
Sergio Martins
2b2c5efd1a tests: Don't instance Separator_qtwidgets directly
So it can support qtquick
2022-05-08 19:50:15 +01:00
Sergio Martins
985224f24b tests: Run tst_view on offscreen by default
Moved the QPA offscreen defaulting to Platform_qt
2022-05-08 19:38:52 +01:00
Sergio Martins
97f26743e5 tests: Decouple tst_multisplitter from QWidget more
It now asks the platform to create a test view instead of
using one that inherits from QWidget.
2022-05-08 19:33:04 +01:00
Sergio Martins
a3bf159281 tests: Minor, add two QCOMPARE 2022-05-08 19:21:28 +01:00
Sergio Martins
8eba26fd53 tests: minor, add 2 QVERIFY 2022-05-08 19:09:39 +01:00
Sergio Martins
17b6b7f7b9 tests: minor, add a QCOMPARE for min position 2022-05-08 18:38:48 +01:00
Sergio Martins
7d27d76448 Port layoutInvalidated signal to KDBindings
This removes triplication between qtquick, qtwidgets and tests.
It also allows us to remove the usage of old-style Qt connect.
2022-05-08 15:23:40 +01:00
Sergio Martins
418c4514df tests: Remove some unneeded overridden methods in tst_multisplitter 2022-05-08 15:13:42 +01:00
Sergio Martins
7632278ba8 Remove asQWidget() instances from tst_multisplitter
This test is QWidget only, but we want to remove View::asQWidget(),
so just cast directly here.
2022-04-19 16:55:33 +01:00
Sergio Martins
b60b54327b Port away from Item::guestAsQObject()
Use Item::guestView() instead.
2022-04-07 22:27:22 +01:00
Sergio Martins
0f2da43737 Rename guestWidget to guestView
As we deal in View now
2022-04-07 20:12:47 +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
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
Sergio Martins
ca3fe4070a Port layouting signals to KDBindings 2022-02-12 16:15:07 +00:00
Allen Winter
93e60a743e update copyright year 2022-01-20 08:05:26 -05:00
Allen Winter
22a709a39e fix more misspellings 2021-07-15 10:14:04 -04:00
Sergio Martins
bc86cfcb1f Move Item::insertItem() to the derived class
Item itself doesn't know how to insert into the layout.
We'll soon have a new derived class which will do things differently
2021-01-09 00:11:59 +00:00
Sergio Martins
1840d50fc0 Move LayoutBorderLocation out of Item
It only affect the box layout
2021-01-08 22:24:53 +00:00
Sergio Martins
c6fd4e4bc4 Remove duplicate Location enum
No longer needed
2021-01-08 22:11:03 +00:00
Sergio Martins
46210203f7 Rename ItemContainer to ItemBoxContainer 2021-01-08 22:02:02 +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
db928a0fca refactor: Move the DefaultSizingMode enum into InitialSizingOption
It's another enum that affects the initial sizing.
No behaviour was change in this commit.

Needed for issue #95
2020-12-28 00:17:13 +00:00
Sergio Martins
5582f37a18 Introduce InitialOption struct
addDockWidget() received a AddingOption enumerator. But that
enum isn't enough, as we also want to be able to specify an initial
QSize.

So, instead of adding yet another parameter to addDockWidget(), we
create a struct to old those "initial settings".

Implies a minor source break, but trivial to fix in user code,
just rename the enumerator.

Honouring preferredSize will be a followup.

Needed for issue #95
2020-12-27 20:22:02 +00:00
Sergio Martins
771bf10951 Merge branch '1.2' 2020-12-22 18:48:22 +00:00
Sergio Martins
f8d0ffe7ba Fix a few clazy warnings 2020-12-22 16:02:55 +00:00
Sergio Martins
2ccb5391bb Fix -Wclazy-detaching-temporary 2020-12-22 15:14:28 +00:00
Sergio Martins
613b1b8524 Allow the user to change the absolute min and max widget sizes.
It's not hardcoded anymore
2020-12-19 15:34:37 +00:00
Sergio Martins
ed8a401fe8 Meld kddockwidgets__multisplitter into kddockwidgets lib
It's overkill to have it in a separate library.
Simplifies deployment.
Speeds up build, as it was breaking paralellism.
2020-12-15 21:00:41 +00:00