Commit Graph

290 Commits

Author SHA1 Message Date
Sergio Martins
c1ea98825e Improve includes 2019-08-12 16:41:00 +01:00
Sergio Martins
17b3048aeb cmake: Rename target to kddockwidgets instead of docks 2019-08-08 16:03:59 +01:00
Sergio Martins
b946627961 cmake: Fix some includes 2019-08-08 15:58:22 +01:00
Sergio Martins
020571b6f5 The QtQuick stuff compiles now 2019-08-08 12:52:18 +01:00
Sergio Martins
6060741851 More QtWidget abstraction 2019-08-07 14:24:11 +01:00
Sergio Martins
022e91db78 More QtWidget decoupling 2019-08-07 13:35:45 +01:00
Sergio Martins
a27b4b387a Split QWidgetAdapter into _widget and _quick variants
So we don't need so many ifdefs
2019-08-07 11:29:39 +01:00
Sergio Martins
4bfd76dc61 Introduce QWidgetAdapter and apply it to MultiSplitter
MultiSplitter is now QWidget agnostic, and should work with
QtQuick
2019-08-06 23:07:47 +01:00
Sergio Martins
cb7ecb76e4 Rename the MultiSplitterWidget files too 2019-08-06 22:19:00 +01:00
Sergio Martins
eafc00657b Separator: Decouple the QWidget dependency
There's no Separator and SeparatorWidget. The former only with
state/logic. To be reused by QtQuick.
2019-08-06 13:32:06 +01:00
Sergio Martins
8f05c3fa72 cmake: include_directories-- 2019-08-05 23:55:19 +01:00
Sergio Martins
fb837b7713 Move DockWidget.cpp into widgets/
As it's specific to QtWidgets. It's mostly empty now
and inheriting from DockWidgetBase, but we'll move a few stuff.
2019-08-05 23:35:44 +01:00
Sergio Martins
ae7934dd47 Abstract FloatingWindow too, introducing FloatingWindowWidget 2019-08-05 02:41:34 +01:00
Sergio Martins
d8c689316d Moved SeparatorWidget into widgets/
It's now abstracted by the FrameworkWidgetFactory, allowing
the user to provide his own
2019-08-05 02:13:42 +01:00
Sergio Martins
a17465158d Introduce FrameworkWidgetFactory
The framework uses a few QWidgets (FrameWidget, TabbarWidget, TabWidget
TitleBarWidget). This factory allows the user to provide his own,
to achieve different appearence.
2019-08-05 01:35:42 +01:00
Sergio Martins
0f579d8f5e TabWidget: Separate GUI from state 2019-08-05 00:24:02 +01:00
Sergio Martins
bddd059ce9 TabBar: Split logic from GUI
Will make it easier for the users to subclass TabBar and provide an alternative.
Also easier to make the QtQuick port.
2019-08-04 23:51:43 +01:00
Sergio Martins
b347e0e53f Abstract Frame.cpp into FrameWidget
Anything GUI specific should go to FrameWidget, so the user
can change GUI aspects without impacting the sensitive logic.
2019-08-04 23:10:12 +01:00
Sergio Martins
ee023cb5ac Move TitleBarWidget into widgets/ 2019-08-04 21:56:08 +01:00
Sergio Martins
3035d387a5 TitleBar: Introduce TitleBarWidget to separate logic/state from GUI
TitleBar has the state, while TitleBarWidget has the appearence.
This makes it easier for the user to specify his own TitleBar's,
by inheriting from TitleBar.

Will also make the QtQuick support easier.
2019-08-04 21:50:28 +01:00
Sergio Martins
cb7d1086b9 tests: Don't use QStringLiteral or any fancy Qt restrictions
It's very verbose and its preformance benefits aren't important
for the tests
2019-08-03 11:55:27 +01:00
Sergio Martins
08c858ba6e Add a Config.h public header, to configure behaviour
Like enabling aero snap or native title bar
2019-07-31 22:16:25 +01:00
Sergio Martins
bc93f924fc Disable the Animated Indicators for now
They don't work yet
2019-07-22 11:18:43 +01:00
Mike Krus
1824eb6892 Clean up cmake files
Use modern syntax in most places.
2019-07-19 22:45:22 +01:00
Sergio Martins
2cbd6f5dbb cmake: Don't look for X11Extras on Windows 2019-07-13 12:11:32 +01:00
Sergio Martins
2cbf758f6b Don't include MainWindow.moc in .cpp
some build systems don't support it
2019-07-10 12:58:24 +01:00
Sergio Martins
6d5f08fb8a Add a debug window, for when GammaRay can't be used 2019-07-09 09:19:53 +01:00
Sergio Martins
2093d02ac5 Split the Anchor class in Anchor and SeparatorWidget
This way state is separated from the widget code, and a lot less
comples.
Anchor is now just a QObject, to be renamed to Separator.

Now the state drives the widget, before it was confusing, where
m_position was set when receiving move events.
2019-06-23 23:52:27 +01:00
Sergio Martins
9632a906ab Remove unused class, this won't cover all the uses cases 2019-06-22 10:31:57 +01:00
Sergio Martins
96cb4b8b07 Rename MultiSplitter to MultiSplitterLayout
As it's no longer a QWidget
2019-06-22 00:13:05 +01:00
Sergio Martins
0d367994c7 separate MultiSplitter into MultiSplitter and MultiSplitterWidget
This factors out the layouting code into a non-QWidget class, so
it can be reused
2019-06-21 23:56:25 +01:00
Sergio Martins
115fc87ad5 Move LayoutMemory to src/
While MultiSplitter is generic this one will know about DockWidget
2019-06-21 16:21:39 +01:00
Sergio Martins
3fc57d0223 Add a LayoutMemory class, memory in the sense that it remembers
Needed for restoring widgets to their positions when made visible
again
2019-06-20 12:57:27 +01:00
Sergio Martins
ca4421e963 DockWidget::setFloating(false) now restores to previous tab
TODO: Restore to areas (non-tabbed). Will require a bigger refactoring.
2019-06-18 23:29:18 +01:00
Sergio Martins
8d763e0df9 try to fix macOS build 2019-05-11 23:07:59 +01:00
Sergio Martins
933287e9c3 Add KDDockWidgets::windowManagerSupportsTranslucency() 2019-05-11 22:30:33 +01:00
Sergio Martins
36e7053476 Rename WidgetResizeHandlerBase to WidgetResizeHandler 2019-04-29 22:51:07 +01:00
Sergio Martins
139518405c Remove unneeded hierarchy from WidgetResizeHandler
A single one is enough
2019-04-29 22:45:17 +01:00
Laurent Montel
aafa550123 Remove unused rubberband class
Change-Id: I3541e0c71bcfe2a2eae67c556cb758c06a591592
Reviewed-on: https://codereview.kdab.com/67839
Reviewed-by: Sérgio Martins <sergio@kdab.com>
2019-04-29 22:54:05 +02:00
Sergio Martins
e43b673858 Initial commit 2019-04-24 14:49:01 +01:00