vcl::WindowData is used to manage/store various state information for windows. It can be (de)serialized to/from string. So far, both the weld::Window API to get/set window state as well as the SvtViewOptions API were based on the string representation. Switch those and various related places to using vcl::WindowData instead to use a stronger/more specific type than just OUString in various places across the code base. Do the string (de)serialization where necessary, but otherwise prefer to use vcl::WindowData directly. Calling weld::Window::set_window_state with a WindowData param that doesn't indicate that anything should be set (i.e. whose mask is vcl::WindowDataMask::NONE) should have no effect, so drop extra checks that were previously checking whether the string representation was empty and skipping the call to weld::Window::set_window_state in that case. No change in user-observable behavior intended or seen in a quick test. Change-Id: I5bc4caeb49d0ab2bbc4fa597a5ef19d86d3aac2c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/208125 Tested-by: Jenkins Reviewed-by: Michael Weghorn <m.weghorn@posteo.de>
Tools on the Top of VCL
Common dialogs, file and print dialogs, wizards, vcl filters, lots of helper code.