Commit Graph

195 Commits

Author SHA1 Message Date
Sergio Martins
d8189e3e03 .clang-format: wrap at column 100 2022-08-05 16:49:00 +01:00
Waqar Ahmed
4d5a43ea1f Remove QScreen usage from non-frontend classes 2022-07-25 11:39:36 +05:00
Sergio Martins
aafa9526f6 Add Platform::organizationName()
So we don't use QCoreApplication::organizationName() directly
2022-07-03 20:56:48 +01:00
Sergio Martins
f288d953fc Add Platform::applicationName()
so controllers don't access qGuiApp directly
2022-07-03 19:55:26 +01:00
Sergio Martins
07524ad00c Replace Qt::WindowState with KDDockWidget::WindowState 2022-06-26 20:45:28 +01:00
Sergio Martins
cc918c5195 More "frame" to "group" renaming 2022-06-22 13:42:22 +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
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
e63a34a4a5 Rename DockRegistry_p.h -> DockRegistry.h
People use it.
2022-06-18 09:28:03 +01:00
Sergio Martins
26ba2199cb Moved 2 more DockWidget enums to KDDockWidget.h
So users don't have to include controllers/DockWidget.h
2022-06-18 08:16:16 +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
Waqar Ahmed
a17f6468cd use 0 as default serializationVersion 2022-06-13 14:50:43 +05:00
Waqar Ahmed
c62b1a5a9b Dont use nlohmann::operator[], use value() instead 2022-06-13 14:47:30 +05:00
Sergio Martins
5faf36700b Use qGuiApp instead of qApp
As QtQuick applications might not have QApplication.
2022-06-06 13:24:38 +01:00
Sergio Martins
14189dc601 Make LayoutSaver deserializeWindowGeometry deal in Window instead of View 2022-06-06 11:23:07 +01:00
Sergio Martins
9c881ec53e Normalize how we set top level window geometry
Prefer Window API, since for QtQuick the root view isn't so tighly
coupled with the QWindow as in QWidgets world. Hide the difference in
Window_qtwidgets.cpp, which now prefers the QWidget API whenever possible,
as that's better tested than using QWindow direclty.
2022-06-06 11:17:42 +01:00
Sergio Martins
f9efe2755e Fix LayoutSaver not restoring geometry correctly
"normalGeometry" was repeated twice due to typo
2022-06-05 13:31:08 +01:00
Sergio Martins
6289e92e54 qtquick: Fix resizing root view
And uncommented the qtquick test for this, which now passes.
Moved the test to its own qtquick tests file.
2022-05-31 14:06:36 +01:00
Sergio Martins
bb4f5a5037 Mass renaming of last usages of FrameworkWidgetFactory 2022-05-19 08:12:29 +01:00
Sergio Martins
7434865967 Move Layout.cpp to controllers/ folder
as it's a controller
2022-05-15 21:30:31 +01:00
Sergio Martins
97baed0ef9 Rename layoutWidget variable/method name to layout
It's a controller, so don't suffix it with Widget/View
2022-05-15 21:12:01 +01:00
Sergio Martins
8e506aa327 Rename LayoutWidget.cpp to Layout.cpp , as it's a controller 2022-05-15 16:51:55 +01:00
Sergio Martins
9f7c4cb217 Removed the DockWidgetBase typedef
That existed only to ease porting
2022-05-10 22:53:16 +01:00
Sergio Martins
3fabf34bee Renamed View::windowHandle() to View::window()
windowHandle() is missnamed in Qt because QWidget::window() was already
taken in Qt4. But we can make it better here.
2022-05-01 23:09:18 +01:00
Sergio Martins
ee256284cc Remove View::isWindow(), use isRootView() instead.
QWidget::isWindow() is misnamed in Qt, it's an artifact from Qt4
times.
2022-04-30 01:10:24 +01:00
Waqar Ahmed
d6e678883c remove toVariantMap/fromVariantMap functions 2022-04-04 21:51:16 +05:00
Waqar Ahmed
3c424474ee Restore layout using nlohmann directly 2022-04-04 21:51:16 +05:00
Waqar Ahmed
46b4e50a23 Save layout directly using nlohmann 2022-04-04 12:28:06 +05:00
Sergio Martins
9b18ffb05c Port away from asQWidget()->screen(), use screen() directly 2022-04-02 15:45:00 +01:00
Waqar Ahmed
7bb363d3b2 Start moving layout saving to use nlohmann without involving Qt 2022-04-02 00:41:15 +05:00
Waqar Ahmed
57dc7396ee Allow using system nlohmann 2022-04-01 23:47:27 +05:00
Sergio Martins
15cb93ed43 Port away from Controller::window() returning a QWidget
It now returns a ViewWrapper, which is agnostic to QtWidgets
2022-03-30 19:30:18 +01:00
Sergio Martins
15601fc3c9 Split MainWindow into view/controller 2022-03-30 11:51:31 +01:00
Waqar Ahmed
eb3ad6b5a3 Use nlohmann for layout save/restore instead of QJson* 2022-03-30 11:51:26 +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
9fba1e9799 Rename Controller::DockWidgetBase to Controller::DockWidget
As done for other controllers
2022-03-25 10:53:02 +00:00
Sergio Martins
8656108e81 Renamed MainWindowBase to MainWindow
As done for other controllers
2022-03-25 10:47:20 +00:00
Sergio Martins
0c686c1339 Renamed MainWindowBase.h to MainWindow.h
As done for other controllers
2022-03-25 10:30:07 +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
Sergio Martins
2eeb4aac27 Fix Item_p.h being exposed in public API
Forward declare Item instead
2022-02-12 14:37:19 +00:00
Sergio Martins
721795b113 Remove LastPosition struct, move its members to Position
It was an unneeded indirection that didn't provide added semantics
2022-01-29 19:29:03 +00:00
Allen Winter
2fbe4f872e Merge branch '1.5' 2022-01-20 08:15:23 -05:00
Allen Winter
93e60a743e update copyright year 2022-01-20 08:05:26 -05:00
Sergio Martins
1d8fad245a Fix build with 5.12
This is a special request from a customer who can't upgrade right
now.

Min is still 5.15 in CMakeLists.
2022-01-07 17:55:53 +00:00
Sergio Martins
4d4f2a0183 Merge branch '1.5' 2021-12-22 17:07:24 +00:00
Alistair Baxter
f1e19ec59c Ensure that floating windows are not positioned off-screen when they are shown
At points when a Rect is to be used to position a floating widget,
test to see if it overlaps any of the system's screens.

If it does not, adjust the Rect to within the closest screen edges.
2021-12-22 16:48:45 +00:00
Eism
336f1146d3 Fixed the restoration of geometry when user closed maximized window 2021-12-22 15:31:26 +00:00