KDialog's Name field doesn't seem to have any history. Cannot undo or redo any text changes with Ctrl+Z or Shift+Ctrl+Z. I'm not sure if this is a bug or a feature request as I'm not sure if KDialog has this feature but it's turned off for some reason.
STEPS TO REPRODUCE
1. Open a browser, and try to save an element. KDialog opens.
2. Type some text into the Name field.
3. Try to use Ctrl+Z or Shift+Ctrl+Z to undo or redo the changes.
There doesn't seem to be any text history saved, so you can't undo or redo the changes.
The problem is that if I spend 30 seconds typing some text to customize my file name just as I want it, and accidentally select a file in the Directory Contents view, I lose everything I typed. Or if I copy and paste text into the field and accidently overwrite existing text, I lose all my previous text. This happens annoyingly often.
A dialog manager needs a text history feature.
Linux/KDE Plasma: KDE Neon 20.04; Fedora 35
[Fedora KDE 35 Version Numbers Below]
KDE Plasma Version: 5.24.4
KDE Frameworks Version: 5.91.0
Qt Version: 5.15.2
Git commit 331aad501acea58013a7cf89e18919f945394396 by Ahmad Samir.
Committed on 03/07/2022 at 19:26.
Pushed by ahmadsamir into branch 'master'.
KFileWidget: remove location history dummy-entry related code
This code was used in m_locationEdit ("Name" combobox).
The issue with this code is that it ultimately invokes QLineEdit::setText(),
which resets the undo/redo steps for the text in the lineedit at index -1,
with every key press event.
So we lose one functionality, showing the corresponding icon for the url in
the lineedit, but gain the undo/redo functionality, the latter being a
functionality that is available/expectted in all Qt/KDE lineedits.
0x00007ffff6b9aa40 in QLineEdit::setText(QString const&)@plt () from /lib64/libQt5Widgets.so.5
0x00007ffff6cb8a83 in QComboBoxPrivate::_q_dataChanged (this=0x5555558f9560, topLeft=..., bottomRight=...)
0x00007ffff5e23235 in QAbstractItemModel::dataChanged (this=this@entry=0x5555558f9800, _t1=..., _t2=..., _t3=...)
0x00007ffff66d7780 in QStandardItemModelPrivate::itemChanged (this=<optimized out>, item=item@entry=0x555555d8cfe0, roles=...)
0x00007ffff66d7ff8 in QStandardItem::setData (this=0x555555d8cfe0, value=..., role=<optimized out>)
0x00007ffff66db16c in QStandardItemModel::setData (role=1, value=..., index=..., this=0x5555558f9800)
QStandardItemModel::setData (this=this@entry=0x5555558f9800, index=..., value=..., role=role@entry=1)
0x00007ffff6cb369f in QComboBox::setItemIcon (this=<optimized out>, index=index@entry=0, icon=...)
0x00007ffff7f30501 in KFileWidgetPrivate::setDummyHistoryEntry (this=this@entry=0x5555556ddbb0, text=..., icon=...,
M +11 -107 src/filewidgets/kfilewidget.cpp