Bug#1071943: QFileDialog: Non-Native dialog is very slow, regressions again.
Package: libqt6widgets6t64
Version: 6.4.2+dfsg-21.1+b1
Tags: moreinfo
I research this issue when reproduce, more.
Now, I found below (with MATE desktop environment)
results of different by environment variables.
A. Not setting something by hand
(excepts QT_QPA_PLATFORMTHEME has already set to gtk3 etc..)
-> This issue is reproducable.
B. Setting QT_QPA_PLATFORMTHEME=gtk3 or xdgdesktopportal
-> Isn't reproducable.
C. Setting XDG_CURRENT_DESKTOP=KDE and
*unset* QT_QPA_PLATFORMTHEME
-> ISN'T REPRODUCABLE, this regression don't make.
D. Setting XDG_CURRENT_DESKTOP=KDE and
*set* QT_QPA_PLATFORMTHEME to anything(maybe..)
-> This also be reproduce.
Best regards,
Ohta.
On Sun, 26 May 2024 19:01:07 +0900
Kyuma Ohta <whatisthis.sowhat@gmail.com> wrote:
> Package: libqt6widgets6t64
> Version: 6.4.2+dfsg-21.1+b1
> Severity: normal
>
> Dear Maintainer,
>
> I wrote program QFileDialog to select file(s).
> With non-native dialog (Qt owned, not Desktop-Environment's), this
> is very slow. This widget eats a lot of CPU time usage at creating ,
> also move to some directories.
>
> --- Sample ---
> #include <QFileDialog>
>
> void foo::open_dialog(QString& _dir, QStringList& _filter_list)
> {
> QFileDialog* dlg = new QFileDialog(nullptr);
>
> dlg->setAttribute(Qt::WA_DeleteOnClose, true);
> dlg->setOption(QFileDialog::ReadOnly, (is_save) ? false : true);
> dlg->setOption(QFileDialog::DontUseCustomDirectoryIcons, true);
> dlg->setAcceptMode(QFileDialog::AcceptOpen);
> dlg->setFileMode(QFileDialog::ExistingFile);
>
> // [1]
> dlg->setOption(QFileDialog::DontUseNativeDialog, true);
>
> // [2]
> //dlg->setViewMode(QFileDialog::Detail);
> dlg->setViewMode(QFileDialog::List);
>
> // Below connection is sample.Any slots may exist.
> connect(dlg, SIGNAL(fileSelected(QString)), this,
> SLOT(read_file(QString))); connect(dlg, SIGNAL(finished(int)), this,
> SLOT(finished_dialog_slot(int))); connect(dlg, SIGNAL(destroyed()),
> this, SLOT(close_dialog_slot()));
>
> dlg->setDirectory(_dir);
> dlg->setNameFilters(_filter_list);
>
> dlg->setModal(false);
>
> dlg->open();
> }
>
> --- END SAMPLE ---
> This regression don't happen with Qt 5.x, at least 5.15.
> # I forgot for older minor version, i.e. 5.6 ...
>
> But, with Qt 6.x (also 6.2! not only 6.4!), this regression always
> happenes.
>
> [1] When this option set to false, use theme's file-selector (i.e.
> Gtk, Mate, XDG...). [2] Set with both List and Detail, seems to be no
> difference.
>
> Best regards,
> Kyuma Ohta.
>
> *** Reporter, please consider answering these questions, where
> appropriate ***
>
> * What led up to the situation?
> * What exactly did you do (or not do) that was effective (or
> ineffective)?
> * What was the outcome of this action?
> * What outcome did you expect instead?
>
> *** End of the template - remove these template lines ***
>
>
> -- System Information:
> Debian Release: trixie/sid
> APT prefers unstable-debug
> APT policy: (500, 'unstable-debug'), (500, 'stable-security'),
> (500, 'oldstable-security'), (500, 'unstable'), (1,
> 'experimental-debug'), (1, 'experimental') Architecture: amd64
> (x86_64) Foreign Architectures: i386
>
> Kernel: Linux 6.9.1-homebrew-15.1-amd64 (SMP w/12 CPU threads;
> PREEMPT) Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
> Locale: LANG=ja_JP.UTF-8, LC_CTYPE=ja_JP.UTF-8 (charmap=UTF-8),
> LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash
> Init: systemd (via /run/systemd/system)
> LSM: AppArmor: enabled
>
> Versions of packages libqt6widgets6t64 depends on:
> ii libc6 2.38-11
> ii libgcc-s1 14.1.0-1
> ii libqt6core6t64 [qt6-base-abi] 6.4.2+dfsg-21.1+b1
> ii libqt6gui6t64 6.4.2+dfsg-21.1+b1
> ii libstdc++6 14.1.0-1
>
> libqt6widgets6t64 recommends no packages.
>
> libqt6widgets6t64 suggests no packages.
>
> -- debconf-show failed
>
Reply to: