We're going to keep this section for a couple of versions as old users
get used to the new Workspace Layout customization.
The "Position" section will contain the layout icon so we can switch
the Workspace Layout combobox from there too,
With this patch we've also simplified some hacks handling the
populateComboBox() call, deferring the deletion of widgets/items when
we are inside an event generated by those items.
* Better support to load legacy timeline information: we have to
estimate workspace bounds)
* Auto-save layouts after resizing a splitter/dock
* Fix resetting expansive widgets inside docks after switching tabs
* Load mirrored layout correctly if it was the last selected layout
@dacap's notes: A description of the included changes:
* Improve UX auto-saving layouts when docks are modified, and new 'X'
icon to delete layouts (or reset the 'Default' layout).
* Remove old timeline position controls (Left/Right/Bottom buttons)
from the Timeline configuration and from the layout selector
* Add support to drag and drop docks to other sides with real-time
feedback using a semi-transparent UILayer
* Add a context menu w/right-click to dock the widget at the supported
sides without drag-and-drop
Some review comments in https://github.com/dacap/aseprite/pull/2
This patch includes:
* The layout is updated immediately when docks are resized (before
this the layout was like a snapshot of the configuration when the
layout was created or overwritten with the "New Layout" option)
* Saving the active layout used in
preferences.general.workspace_layout so we can restore it after
restarting Aseprite
* Change "UI Layout" to "Workspace Layout"
* Some strings moved to en.ini file for i18n
* Fixed a crash on MainWindow::onActiveViewChange() when the
application was being closed
This happens only in memory at the moment (layouts are not saved in
disk yet), and the customization is quite simple (only size of
splitters, timeline position). But in the future we should be able to
dock elements in any place.
Changes:
* Now we use the "user data" icon as the button to expand the layouts
combobox
* Added a tooltip to this icon
* Added buttons to configure the Timeline position in the same
combobox
* Fixed some bugs in Dock using space for hidden widgets
Temporary/created subdocks must be deleted automatically, and children
that are not part of the window hierarchy must be deleted explicitly
now (using some std::unique_ptrs).
Some missing features so far:
1) Restore old layout configuration (color bar split pos, timeline
pos, etc.) and migrate to new Dock layout
2) Load/saving Dock layout
3) Create & customize current layoout (drag-and-drop widgets, etc.)