Sergio Martins
f3d7400c15
wayland: End the drag properly when user cancels the drag
2020-10-15 19:02:46 +01:00
Sergio Martins
3fb723a82f
quick: Fix QtQuick build
2020-10-03 18:27:22 +01:00
Sergio Martins
d1b2d17f7d
Allow the normal/restore icon to be different than float/dock
...
Allow we use the same icon, the user might now want to, so allow
them to use a different icon
2020-10-03 14:58:07 +01:00
Sergio Martins
f062ab7a64
TitleBar: Move button construction into the FrameWorkWidgetFactory
...
So it can be more easily overridden by the user.
A virtual in TitleBarWidget is not good enough as we can't call virtuals
when in the ctor
2020-10-03 14:52:44 +01:00
Sergio Martins
a6c4730c44
SideBar is now constructed by the framework widget factory
...
Means it can be overridden by the user
2020-09-20 18:08:23 +01:00
Sergio Martins
a06fec51c8
Merge branch '1.0' into master
2020-08-25 21:54:32 +01:00
Sergio Martins
4b4d839074
Expose more private API so users can use the full power
...
Installed more private headers.
TabWidget_p.h was moved into widgets/ as the QtQuick impl won't
use that abstraction. Could even be folded into TabWidgetWidget.
Fixes #65
2020-08-25 21:46:46 +01:00
Sergio Martins
113e6453ea
example: Show usage of segmented indicators
2020-08-23 16:57:48 +01:00
Sergio Martins
00b4dbc821
Add a Segmented Indicator
...
Just a POC of a new indicator style
2020-08-23 13:24:27 +01:00
Sergio Martins
7eaac87640
qml: Add a ClassicIndicatorsOverlay.qml file
...
Doesn't do much yet
2020-08-10 19:05:59 +01:00
Sergio Martins
4bbc0f1d4f
qml: Create drop indicator overlay too
...
The actual impl isn't done yet though
2020-08-09 22:45:15 +01:00
Sergio Martins
64791eec82
qml: decouple ClassicIndicator from QRubberBand
...
the rubber band is now returned from the factory, meaning it can
be a QQuickItem when QtQuick is being used
Still need to remove the QtWidget'isms from IndicatorWindow
though
2020-08-09 18:39:56 +01:00
Sergio Martins
36407d2abe
qml: Separators now work
2020-08-01 17:44:07 +01:00
Sergio Martins
08721ea458
qml: Fix linking
...
Abstractions are all in place now.
Let the port start!
2020-07-26 21:57:19 +01:00
Sergio Martins
08dc55ea06
qml: Adjust API of the quick specialization of the factory
2020-07-26 16:16:06 +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
c63c713bea
Move SeparatorWidget into multisplitter/
...
multisplitter/ is to be a reusable component without needing KDDW
2020-05-24 19:13:39 +01:00
Sergio Martins
c33c7ab450
Don't leak Layouting::Widget
...
Don't create it directly, instead of multi-inheritance
2020-05-24 18:45:44 +01:00
Sergio Martins
d1d1c983f1
Remove "using namespace Layouting" out of the layouting lib
...
Fixes windows build due to ambiguous symbols
2020-05-14 22:02:27 +01:00
Sergio Martins
0595448bba
Replace Anchor with Separator
...
We don't have the concept of Anchors anymore. Code is now simpler
2020-05-04 13:10:38 +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
37fe065bcf
FloatingWindow: Receive MainWindow as the parent
...
Better for readability
2020-02-09 18:14:36 +00:00
Allen Winter
df692686e7
various - update copyright year
2020-01-07 11:36:56 -05:00
Sergio Martins
a0d05b4e2b
Move Frame::Options enum to KDDockWidgets.h
...
So we can forward declare Frame and not include private headers
in FrameworkWidgetFactory.h
2019-10-07 13:43:48 +01:00
Sergio Martins
f3eb032eff
Move the Flag_TabsAlwaysVisible logic into Frame.cpp
...
So it works with custom framework factories too
2019-09-12 18:06:06 +01:00
Sergio Martins
7abe7fffa2
Introduce Flag_AlwaysShowTabs
...
Makes the tab bar always show tabs
2019-09-12 15:21:24 +01:00
Sergio Martins
3dd9d48f57
Add more stubs for QtQuick
2019-08-24 21:28:00 +01:00
Sergio Martins
d7d47be5ac
Add a stub for the QtQuick counterpart of Frame: FrameQuick
2019-08-22 23:42:49 +01:00
Sergio Martins
a97759ab46
Install Frame_p.h too, as its needed due to the enum
2019-08-12 20:12:44 +01:00
Sergio Martins
020571b6f5
The QtQuick stuff compiles now
2019-08-08 12:52:18 +01:00
Sergio Martins
2a0c228733
Abstract the indicator style, now comes from the factory
2019-08-08 11:37:14 +01:00
Sergio Martins
89757def76
Abstract TabWidget away from QtWidgets, so can be used for QtQuick
2019-08-08 00:41:48 +01:00
Sergio Martins
266e683f98
Abstract Separator too, it inherits from QWidgetAdapter
2019-08-06 23:17:08 +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
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