Commit Graph

12 Commits

Author SHA1 Message Date
Henning Gruendl
16ef838f23 ADS: Integrate newest base repository commits
* Update to newest version of ADS
* Remove native window and title bar support on linux

Base repository was merged until commit
8d4507e9d83434be976ff8c7bc9f59733937a08d

Task-number: QDS-10242
Change-Id: If74b6b50421be3b759c61b0f76f4a330991f71fa
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io>
2023-07-20 11:00:24 +00:00
hjk
38a6ab6cd6 AdvancedDockingSystem: Fix file licenses
Amends a7956df3ca which accidentally dropped the (L)GPL part.

Change-Id: I22e3f5cdb12b15ee777524cac04aa888606026c3
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2023-01-04 07:31:44 +00:00
Lucie Gérard
a7956df3ca Use SPDX license identifiers
Replace the current license disclaimer in files by
a SPDX-License-Identifier.

Task-number: QTBUG-67283
Change-Id: I708fd1f9f2b73d60f57cc3568646929117825813
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2022-08-26 12:27:18 +00:00
Henning Gruendl
a98c254c59 ADS: Integrate newest base repository commits
* Activate new ADS feature focus highlight
* Remove resources.qrc and related *.svg files
* Clean up new and existing source

Base repository was merged until commit
3de877fe5635ff51a6d1205ca98aad85d204427f

Merged changes from base repository include the following:

* Fix wrong current index when removing a widget from DockAreaLayout
* Fix invisible TabWidget for DockWidgets that are not part of a
  restored state
* Enable ClickFocus for DockWidget to support focussing in case the
  content does not support it
* Move focus related functionality into DockFocusController class
* Add new DockManger config flag FocusStyling
* Add support for focus styling of FloatingWidgetTitleBar
* Improve focus handling when dropping a DockWidget
* Improve highlighting focused DockWidget
* Improve setting of DockWidgetTab focus
* Add styling of focused DockWidget
* Fix docking of floating widgets for macOS
* Fix setting of DockingStateReader file version - use internal file
  version instead of user file version
* Fix saveState() and restoreState() version handling to work like the
  function from QMainWindow
* Fix escape key handling in native window event function if event
  WM_EXITSIZEMOVE occurs
* Implement windows drag handling with native WM_ nonclient area
  messages
* Fix showing DockArea when inserting a DockWidget in a hidden DockArea
* Fix setting DockAreaTabBar index to prevent showing of tab 0 when
  inserting a DockWidget into an area with no current index tab
* Fix wrong insertion order of DockWidget when dropping a floating
  widget to the left or top container drop area
* Fix tab changes position when redocking it to the same position
* Add nullptr check to fix potential nullptr access when closing a
  FloatingDockContainer
* Fix single DockArea cannot be split
* Fix visibility issue when adding dock widget after all other dock
  widgets have ben closed
* Fix FloatingDragPreview flashing of hidden overlay when dragging the
  last visible DockWidget in non opaque docking mode
* Fix FloatingDragPreview preventing dock widget from floating when
  dragging over another dock widget
* Fix DockWidget::setWidget function to test for QAbstractScrollArea
  instead of QScrollArea. Now setWidget properly supports ItemViews like
  QTreeView or QTableView
* Fix wrong display of center drop area when dragging over invisible
  dock area title bar
* Fix bug that drop overlay sometimes was not visible when moving the
  drag preview over a floating window
* Fix dropping of FloatingDragPreview into center of dock container with
  only one single visible dock area. If this happens the dropped dock
  widget needs to get tabified
* Fix crash when trying to make a DockWidget floating in non-opaque mode
  if the DockWidget is not floatable
* Fix DockWidgetTab to provide the right size when starting floating
* Add DockWidget functions setAsCurrentTab, raise, isCurrentTab,
  isTabbed
* Add new config flag HideSingleCentralWidgetTitleBar to enable a
  central single dock widget in the main dock container (dock manager)
  without titlebar
* Fix DockContainerWidget::hasTopLevelDockWidget() and
  DockContainerWidget::topLevelDockArea() to work properly also for the
  main non floating dock container
* Fix ElidingLabel to properly support Qt::ElideNone
* Add setElideMode function to DockWidgetTab
* Add setFullScreen(), setNormal() and isFullScreen() function to
  DockWidget
* Fix takeWidget() function and fixed setWidget() function to handle
  case when there is already a content widget

Task-number: QDS-2180
Change-Id: Ie30648ba329016c91fd19e9b4e12e31e47614b18
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-24 07:56:37 +00:00
Alessandro Portale
d3f85ee409 ads: Remove redundant occurrences of "virtual"
As suggested by clang-tidy's "modernize-use-override" check and to match
Qt Creator's coding guidelines.

Change-Id: I2cfef113e21a0cd44d18a5b98e9bc8427563c53a
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-18 11:42:14 +00:00
Henning Gruendl
92c7662acb ADS: Integrate newest base repository commits
998fe9fa11939eb28dd021ca11d5302c4fe2a005
28dc374fc25fcf5a4100c7ad929cb8da690530ed
0e88467f94194d5bea209f6ddc364358ab92899e
d0f4ce324890197683869eafda0f3938ae619b8d
c541f2c69b519eceb76ffc54589175c9fd0da8a6
37d305e50d2c0829f031b71a61e290361eea9f07

- Fix/workaround for escape key issue with remaining overlays
- Clean up if statements according to style guide

Task-number: QDS-1883
Change-Id: I44ddaed67458a75aca91bdd74cd2b5890bd23c38
Reviewed-by: Aleksei German <aleksei.german@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-04-24 11:48:32 +00:00
Tobias Hunger
3eba1fd302 ADS: Remove struct from DockAreaTitleBar
We do not use struct in Qt Creator.

Change-Id: Ieb5f9f4514a8220fa1d2a616baf2c8ef69d4a2c3
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-03-03 16:03:54 +00:00
Tobias Hunger
d09c92ccee ADS: Remove struct from DockWidgetTab
We do not use struct in Qt Creator.

Change-Id: I299effff6a7e6b79494be9a9e2dece1d6492714a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-03-03 16:03:06 +00:00
Tobias Hunger
95182dc6b9 ADS: Remove struct from DockManager
We do not use struct in Qt Creator.

Change-Id: I7755d66bc7b77825ab17ed333b23cbe36e52ff72
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-03-03 16:00:50 +00:00
Tobias Hunger
79efcb76f6 ADS: No more structs in DockWidget
We do not use struct in QtCreator.

Change-Id: I97988dfc5d549d89fe78bfd710b922c11d6fb8fe
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-03-03 13:14:56 +00:00
Christian Stenger
e445f7aac3 ADS: Fix compile for Qt < 5.12.2 and namespaced Qt
Change-Id: I552d19b1659598d98d0ef1900c79e3c93747ffb2
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-02-21 06:59:17 +00:00
Henning Gruendl
8f686e985c Add Advanced Docking System library
This library is a fork of the following repository
https://github.com/githubuser0xFFFF/Qt-Advanced-Docking-System
Development started from the following commit
1de42a9766134eecd2611c2b4e209d3e0ede74d2
Incorporate all commits until
3ffbbfb6d01ff211d8349027221a19b1419296b5

 - Rename variables and files to follow the Qt style guide
 - General code cleanup (remove goto, fix typos, add overrides, remove
   explicit slots specifier, replace string-based with functor-based
   connections, replace dynamic_cast with qobject_cast)
 - Replace most preprocessor instructions Q_OS_LINUX/Q_OS_MACOS with
   Utils::HostOsInfo
 - Remove all QT_VERSION preprocessor instructions below 5.11
 - Change loading and storage of workspaces. Store workspaces in
   separate file instead of a list in the Settings.ini
 - Add workspace dialog, model and view for managing workspaces
 - Rename XML tags and use enum/bool instead of ascii art/numbers as
   attribute values. Use base64 instead of hex for storing geometry info
 - Remove internal style sheets
 - Add more build systems (qmake, qbs)
 - Adapt copyright header
 - Remove unix specific build rules
 - Replace ADS_PRINT with QLoggingCategory
 - Replace Java-style with STL-style iterators

Change-Id: Icf8c2fbaccec9680df83c6e2100e3446a090a437
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-02-20 16:14:52 +00:00