Commit Graph

7 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
Tim Jenssen
1b32f54d4e ADS: Remove struct from FloatingDragPreview
Change-Id: Ib254b9eff1a2a5bd6951d5c9c59c9290664c2c89
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-03-03 15:56:13 +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