https://bugs.kde.org/show_bug.cgi?id=404833

--- Comment #15 from RJVB <rjvber...@gmail.com> ---
Created attachment 118399
  --> https://bugs.kde.org/attachment.cgi?id=118399&action=edit
"kinda works" mod

Here's a hack that almost works, without any checking whether the action is
appropriate.

- find the parent QWidget
- from that, obtain the (first) (user-side) QFileDialog instance
- if the parent QWidget has a layout, replace the found QFileDialog instance
with our own dialog
- save the original user-side QFileDialog instance
- in the dtor, either restore the original QFD in the layout, or call
deleteLater() on it (and set it to NULL in case the action causes recursive
calling of the dtor).

Glitches:
- dialogs may end up with 2 sets of OK/Cancel/etc. buttons
- if not, these buttons may actually close only the embedded QFD and not the
enclosing dialog (seen with
https://gist.github.com/eyllanesc/7cf200538e182b5662552700c27b998a)
- resizing works but the saveSize/restoreSize mechanism doesn't
- AFAICT all signals aren't connected properly (the preview in the Scribus
open-file dialog doesn't react to selecting a file as it should). File opening
does work though.

Just reparenting m_dialog (as done in the out-commented code) isn't sufficient
because it will not show up correctly in the layout, and won't resize with the
dialog.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to