View Single Post
Old 05-04-2020, 04:11 PM   #25
KevinH
Sigil Developer
KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.KevinH ought to be getting tired of karma fortunes by now.
 
Posts: 8,906
Karma: 6120478
Join Date: Nov 2009
Device: many
According to MS docs, this automatic adding of recently opened things is a "feature" of using any of the following Windows API calls:

SHAddToRecentDocs
GetOpenFileName
IFileOpenDialog

And of course in Qt QDialog's Native getOpenFilename on Windows there is a call to:

Code:
class QWindowsNativeOpenFileDialog : public QWindowsNativeFileDialogBase
{
public:
    explicit QWindowsNativeOpenFileDialog(const QWindowsFileDialogSharedData &data) :
        QWindowsNativeFileDialogBase(data) {}
    QList<QUrl> selectedFiles() const override;
    QList<QUrl> dialogResult() const override;

private:
    inline IFileOpenDialog *openFileDialog() const
        { return static_cast<IFileOpenDialog *>(fileDialog()); }
};
So we would need to change the to use non-native file dialogs in Qt anyplace we did not want Windows to add to the list such as Plugin Loading or AddExisting... or ...

This "feature" seems to have no way to disable it on a program specific level.

A horrible design decision on Windows part.
KevinH is offline   Reply With Quote