Summary: | KFileWidget selects the the wrong filter on filter change with enabled automatic extensions | ||
---|---|---|---|
Product: | [Frameworks and Libraries] frameworks-kio | Reporter: | Jan-Marek Glogowski <glogow> |
Component: | Open/save dialogs | Assignee: | David Faure <faure> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | kdelibs-bugs, m.weghorn, nate |
Priority: | NOR | ||
Version: | 5.54.0 | ||
Target Milestone: | --- | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/kio/c4e90b5a6bf41816b2938dc2df4820e56ed6e42e | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
Simple test file picker program
qmake file |
Description
Jan-Marek Glogowski
2019-05-17 13:18:23 UTC
Created attachment 120136 [details]
qmake file
Git commit c4e90b5a6bf41816b2938dc2df4820e56ed6e42e by Nate Graham, on behalf of Jan-Marek Glogowski. Committed on 21/05/2019 at 19:49. Pushed by ngraham into branch 'master'. Test current filter before setting a new one Summary: If KFileWidget's filter list has two matching filters for an extension, it will always select the first filter, even if the current filter already matches the file name. This is fine, if you auto-select the filter to match the file name, but breaks, if you want to auto-change the file name's extension via the selected filter. So this checks, if the current filter already matches the file name before trying to find a matching filter and select it. Test Plan: 1. Compile and run the attached program to the bug report 407642 2. Make sure that "auto extension" checkbox is enable 2. Select the last file filter (DocBook (.xml)) via dropdown list OBSERVED RESULT Filter is "Word 2003 XML (.xml)" EXPECTED RESULT Filter is "DocBook (.xml)" Reviewers: #frameworks, ngraham, dfaure Reviewed By: dfaure Subscribers: elvisangelaccio, ngraham, michaelweghorn, kde-frameworks-devel Tags: #frameworks Differential Revision: https://phabricator.kde.org/D21249 M +63 -0 autotests/kfilewidgettest.cpp M +23 -9 src/filewidgets/kfilewidget.cpp https://commits.kde.org/kio/c4e90b5a6bf41816b2938dc2df4820e56ed6e42e Thanks for the fix! I just retested and while the issue reported here is gone, the original LibrOffice use case is unfortunately still not working. I created follow-up bug report bug 407819 for this (correct filter is displayed, but not returned when calling 'QFileDialog::selectedNameFilter'. (I tested with kio version 5.54 from Debian testing + the patch on top, since master branch has more dependencies not fulfilled in Debian testing). |