Allen Winter
683b67abb0
buildsystem - install libs with symlinks for the major vers
2020-10-14 15:59:53 -04:00
Allen Winter
77d7cd7d58
buildsystem - namespace CMake options
...
OPTION_DEVELOPER_MODE => KDDockWidgets_DEVELOPER_MODE
OPTION_BUILD_PYTHON_BINDINGS => KDDockWidgets_PYTHON_BINDINGS
PYTHON_BINDINGS_INSTALL_PREFIX =>
KDDockWidgets_PYTHON_BINDINGS_INSTALL_PREFIX
OPTION_QTQUICK => KDDockWidgets_QTQUICK
2020-10-13 12:28:49 -04:00
Sergio Martins
17df7b5b4e
Install DragController_p.h
...
Still private. It's for advanced used only.
2020-10-09 16:56:43 +01:00
Sergio Martins
36f225b859
Fix build with MinGW, no pragma link
...
Instead use cmake to link, which is cleaner anyway.
As a drive-by, remove the QtWidget check from the headers includes,
as QtQuick also needs Dwm lib
2020-10-05 03:15:36 -07:00
Sergio Martins
e1085fb770
Add experimental support for minimization to side-bar
...
Auto-hide not working yet. Just minimization.
Internal for now. Will be public once finished.
2020-09-18 18:35:41 +01:00
Sergio Martins
47779c8d0a
Fix non-native move screwing up the size when moving across screens
...
The drag to the 2nd monitor was native, as we detected HTCAPTION,
but the drag back to 1st monitor was non-native. Non native is not
recommended, not great with HDPI in Qt.
The bug we were mixing native pos from win32 with Qt's logical
positions.
Fixes #72
2020-09-17 09:43:38 +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
283d814dc6
indicators: Also install the headers
...
So that the example app can show how to switch style type
2020-08-23 16:43:54 +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
f1b9ce714b
Fix building user apps out of repo
...
Our example was being built as part of KDDW, so that worked fine.
Now it can also be built with an installed KDDW.
Problem was the folder hiearchy in the installed include dir
didn't match the folder hiearchy in the source repo
Fixes #62
Cherry-picked from master's 037fa76fff
1.0 makes more sense
2020-08-14 18:47:03 +01:00
Sergio Martins
037fa76fff
Fix building user apps out of repo
...
Our example was being built as part of KDDW, so that worked fine.
Now it can also be built with an installed KDDW.
Problem was the folder hiearchy in the installed include dir
didn't match the folder hiearchy in the source repo
Fixes #62
2020-08-14 17:49:24 +01:00
Allen Winter
390423d0c1
Merge branch '1.0'
2020-08-12 12:59:09 -04:00
Allen Winter
23ee5d538c
buildsystem - install versioned .so libraries (non-Windows)
2020-08-12 12:49:42 -04:00
Sergio Martins
cf692797b6
qml: ClassicIndicators are now abstracted and built
...
The QtQuick counterpart just needs to be implemented
2020-08-09 20:27:05 +01:00
Sergio Martins
60b5eb00a3
Move IndicatorWindow to its own file
...
As it's the part that will be different with QtQuick.
ClassicIndicators can be shared.
2020-08-09 19:19:31 +01:00
Sergio Martins
10026ba191
Add FocusScope behaviour to TitleBar
...
Github issue #56 is not a KDDW bug, it's how Qt works. QtWidgets don't
have focus scope. But let's workaround and handroll our own FocusScope.
Now the title bar can be colored differently if the dock widget it controls
contains any focused children.
This just implements half of the story. You have to focus a child
for the title bar to change color. Clicking the title bar directly
isn't done yet. Needs to be figured out. What do we focus when clicking it?
TitleBars usually don't care about keyboard focus. Probably we
just use the user's widget as a focus proxy.
2020-08-08 12:33:23 +01:00
Sergio Martins
1cdd1a1b74
Fix static build on Windows
...
The STATICBUILD macros should:
- Be PUBLIC, so anyone linking against kddw gets them
- Not needed to be included in all targets, just link other targets and
they'll inherit
fixes linker errors
2020-08-07 21:24:43 +01:00
Sergio Martins
21938e4b3f
Fix Windows build
...
The "BUILDING_*" macros are only to be defined on the dll that's
being build, so that the export macros expand to QT_EXPORT
The kddockwidgets target had the BUILDING_MULTISPLITTER macro, so
it included multisplitter.dll's symbols with QT_EXPORT, instead of
import, so couldn't work, resulting in linker errors
2020-08-07 21:12:52 +01:00
Allen Winter
8a3252473f
buildsystem - support static library build
2020-08-07 12:26:27 -04:00
Sergio Martins
52626b1874
qml: Add support for the MainWindow
...
Not really a MainWindow in the sense of toolbars and all.
For qml it's just the drop area, acepting drops
2020-08-03 20:05:36 +01:00
Sergio Martins
312d95a376
qml: link to QQC2 too, needed for TabBar
2020-07-31 18:51:39 +01:00
Allen Winter
35728f54cd
src/CMakeLists.txt - ${PROJECT_NAME}_VERSION for PACKAGE_VERSION
...
we haven't set a PACKAGE_VERSION needed by
write_basic_package_version_file() but we don't need one
since we can simply use ${PROJECT_NAME}_VERSION
2020-07-27 17:49:59 -04:00
Sergio Martins
7d01b7649a
qml: Move MultiSplitter out of widgets/
...
Will make it shared to both stacks
2020-07-26 21:46:09 +01:00
Sergio Martins
df5738dd34
qml: Don't build layoutlinter yet
...
needs some work and not a priority at this point
2020-07-26 21:37:54 +01:00
Sergio Martins
34ea666007
qml: Remove LayoutSaverQuick
...
LayoutSaver is generic enough and works with both stacks
2020-07-26 21:00:51 +01:00
Sergio Martins
1a44d36838
qml: Make ClassicIndicator widgets only
2020-07-26 17:51:13 +01:00
Sergio Martins
c53d71e2de
qml: Remove more QWidget'isms, make code generic
2020-07-26 16:49:01 +01:00
Sergio Martins
40e944ee9d
qml|cmake: Move some widget only .cpp files into the widgets-only section
...
These won't be used by the QtQuick impl
2020-07-26 16:00:10 +01:00
Sergio Martins
9a15ac4bfa
Fix running cmake with OPTION_QUICK
2020-07-26 14:47:09 +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
709728e456
Revert "Add support for Qt6"
...
This reverts commit e1bf1cd786 .
This breaks the build with older CMake (3.9 for example), which
doesn't support alias to imported targets.
2020-07-19 15:42:59 +01:00
Sergio Martins
e1bf1cd786
Add support for Qt6
...
Build with -DOPTION_QT6=ON
2020-07-18 21:56:18 +01:00
Sérgio Martins
8474f246ae
Fix Qt6 build
...
Didn't include the cmake changes, as those are hacks for now.
Only included fixes to cpp code.
2020-07-18 18:51:47 +01:00
Allen Winter
2462f991be
buildsystem - consistent formatting
2020-06-25 13:32:59 -04:00
Allen Winter
0701e8aa97
buildsystem - improve how Windows libraries are versioned
...
Change-Id: Ie6873c1ec8fc53a005d12ef6a0573f61b41fba39
2020-06-24 09:57:28 -04:00
Allen Winter
e35fcb02df
src/CMakeLists.txt - fix cmake file install destination
2020-06-23 15:09:20 -04:00
Allen Winter
842e72c4c3
Windows: version libs, install pdb files for MSVC builds
...
Change-Id: I2964e809de20a9cb94d3039c95a1a623fdfd4d40
2020-06-23 12:38:51 -04:00
Sergio Martins
84989745b4
Use target_compile_options instead of the hammer
...
Doing per target ensures that the python stuff won't get -Werror.
We can now build the python bindings and still use the developer build
2020-06-17 14:37:42 +01: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
a7878122ac
Only use QT_DISABLE_DEPRECATED_BEFORE in developer-mode
...
Many projects just add kddw as a sub-folder and might have
QT_DISABLE_DEPRECATED_BEFORE with a different value, then you get
lots of warnings
2020-06-09 12:40:37 +01:00
Sergio Martins
2b3c3b75bf
Fix build with older cmake
...
Error was:
"install TARGETS given target "kddockwidgets_multisplitter" which does not
exist in this directory."
Fixes : #47
2020-06-04 15:29:34 +01:00
Sergio Martins
2fd9d45525
Link multisplitter as a PUBLIC dependency if kddockwidgets
...
This way user doesn't need to explicitly link against it
2020-05-25 06:52:25 +01:00
Sergio Martins
8461f1f79e
kddockwidgets_multisplitter is now a library of its own
2020-05-25 06:45:13 +01:00
Sergio Martins
3bbc33d8c4
example: Revive the custom separator example
...
Pass -p to see a custom painted separator
2020-05-24 19:31:15 +01:00
Sergio Martins
e8abc23f59
Use a dedicated export macro file for multisplitter/
...
As it's independent from KDDW
2020-05-24 19:24:16 +01: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
7016656264
Rename GuestInterface to Widget
...
So we can use it to abstract the host too, not just the guest.
2020-05-24 15:23:10 +01:00
Sergio Martins
0a2fb6ed73
Add GuestWidget.h
...
The QtWidgets counter-part for GuestInterface.
Removing QWidget from Item
2020-05-23 19:22:01 +01:00
Sergio Martins
e75b47737c
Move GuestInterface into its own file
2020-05-23 18:59:58 +01:00