34 Commits

Author SHA1 Message Date
baldurk 0b410e9879 Make Qt scintilla code compatible with no-const-char conversions 2017-05-02 22:58:11 +01:00
baldurk ce53be8511 Use QStringLiteral in ToolWindowManager to convert at compile-time 2017-05-02 22:58:11 +01:00
baldurk 628df6d9c8 Fix some warnings in ToolWindowManager so we can keep level 4 globally
* Nested foreach() hiding a local variable in the macro definition.
* Declarations of 'data' parameters that hide a class member variable.
2017-04-28 18:36:55 +01:00
baldurk e336cab5ae Add the ability to selectively disallow certain panels from floating 2017-02-16 17:10:06 +00:00
baldurk 79f1edc6f0 When dragging off a tab/tabs to a new float window, default to same size
* This isn't perfect, but it at least prevents the case where you drag
  off a full-size panel and the new window is tiny and crushed.
2017-02-14 19:14:53 +00:00
baldurk cba5606a83 Add middle-click-to-close for tabs in ToolWindowManager 2017-02-14 19:14:53 +00:00
baldurk c5adc7a4ed Use relative paths for 3rdparty headers, don't add to search paths
* Unfortunately scintilla assumes its headers are all in the search path
  so where possible we only add those folders when compiling scintilla
  source, not our own.
2017-02-09 19:28:22 +00:00
baldurk 2e9167b08e Add Scintilla 3.7.2 to qrenderdoc to build in directly 2017-01-23 19:09:29 +00:00
baldurk 1961ea465f Handle tab button being on either side on QTabBar without crashing 2016-11-28 12:49:43 +01:00
baldurk a6b0bd9245 Add utility function to locate the manager for a window 2016-11-25 14:14:36 +01:00
baldurk 46a86dce92 Add utility function to raise a toolwindow 2016-11-21 17:58:00 +01:00
baldurk 0193892851 Initialise m_lastUsedArea to NULL 2016-11-21 14:55:18 +01:00
baldurk 145efba57b Only call update() in setGeometry() when it's a new rect. 2016-11-21 14:55:18 +01:00
baldurk 2483fd776a Add option for the flow layout to keep a fixed grid size 2016-11-21 12:35:38 +01:00
baldurk 07b4ebb3ba Add a static function for programmatically closing tool windows 2016-11-14 14:12:46 +01:00
baldurk e65ca2937a Add a call to checkAllowClose slot (if it exists) when closing windows 2016-11-14 14:12:46 +01:00
baldurk 097b93ce9c Default to deleting windows from ToolWindowManager when closed 2016-11-11 20:35:59 +01:00
baldurk 8b697f7055 Fix issues with FlowLayout not resizing properly in some cases 2016-11-09 13:26:21 +01:00
baldurk ea587608cb Don't allow dropping dockables onto the tabs where textures sit 2016-10-10 18:50:11 +02:00
baldurk e64c666883 Allow configuring a callback to create tool windows on-demand
* This means we can start with an empty manager, load a layout, and just
  create the needed windows as we go according to what the layout needs.
2016-10-07 15:58:50 +02:00
baldurk f8b7f0ca87 Serialise area objects as [name, data] pairs, with custom persist data
* This works by presuming a property 'persistData' set up on an object.
  If configured, it will be set and restored in the data value.
2016-10-07 15:58:49 +02:00
baldurk 560fe1a120 Save and restore ToolWindowManager state directly as QVariantMap 2016-10-07 15:58:49 +02:00
baldurk b87968ae21 If a wrapper should be maximised, re-maximise it on restore to force 2016-10-07 15:58:48 +02:00
baldurk bd7b3e3399 Save wrapper and splitter state as base64 so it encodes to JSON 2016-10-07 15:58:47 +02:00
baldurk 4d2f27d905 Only save direct child splitters in a wrapper 2016-10-07 15:58:47 +02:00
baldurk 73be3b224b Do some more to try and stay sane during drags and docks.
* This needs more improvement but it's not worth going any further down
  this route for now, it can be polished up later.
2016-09-30 10:50:29 +02:00
baldurk 2f63389b8b Only look at valid suggestions of docks, not docks in other managers 2016-09-30 10:50:29 +02:00
baldurk 2bc8effd3d Add ability to specify an area percentage in ToolWindowManager 2016-09-30 10:50:29 +02:00
baldurk 1f5c8a450a linux compile fixes 2015-07-10 18:08:24 +02:00
baldurk 85e26b2e90 Add FlowLayout from Qt examples (BSD licensed) 2015-07-10 16:38:46 +02:00
baldurk e548cb5cf7 Allow disabling a specific tab from being dragged
* Also cancels any re-arrangements that involve that tab (mostly useful
  for a fixed tab at the start of the tab list).
2015-07-10 16:38:44 +02:00
baldurk 4627ead8f2 Add custom properties to ToolWindowManager toolwindows, update titles
* Two properties added - DisallowUserDocking which completely prevents
  a toolwindow from being dragged or docked other than programmatically.
* HideCloseButton also hides the close button that normally appears on
  the tabs created
* Also tabs now watch for title change signals and update the titles in
  tabs.
2015-07-10 16:38:44 +02:00
baldurk 227e6feddd Add property to ToolWindowManager to disallow docking to float windows 2015-07-10 16:38:43 +02:00
baldurk 764d13e11d Include ToolWindowManager for Qt docking implementation
* From https://github.com/Riateche/toolwindowmanager
* It seems superior to the built-in Qt docking as-is, and since it's
  a few open source files it should be easy to improve with features
  we might want to match DockingUI functionality.
* Programmatic sizing for the default layout seems inflexible, but since
  that's a one-time thing it's not the end of the world.
* There's no auto-hide functionality.
* The highlighting of where to drop could be improved, as well as the
  detection of where to drop (currently it seems to cycle through
  several possibilities each second rather than having a consistent drop
  location).
* Floating windows could be styled a bit better.
* Need to check whether we can have nested docking sections (so the
  texture viewer e.g. can have its own docks, that won't float or go out
  of the texture viewer.
2015-07-10 16:38:17 +02:00