Always use Qt's own colour dialog

On GTK desktops (Mint, XFCE, GNOME) Qt hands QColorDialog to GTK's
chooser. Its "Custom" row is a recent-colours list kept by GTK: every
colour picked is pushed in on the left and the oldest drops out, so a
user's saved wire colours are lost (forum topic 3190). It also ignores
the custom colours QET saves (#918) and has no swatch grid for the
double-click to accept (#1172).

Pass DontUseNativeDialog at every colour dialog, so all platforms get
the dialog Windows already shows: 16 custom slots that change only on
"Add to Custom Colors", saved across restarts.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ispyisail
2026-10-07 20:53:11 +13:00
parent 437729df15
commit 72b215bb23
9 changed files with 20 additions and 8 deletions
+2 -1
View File
@@ -1729,7 +1729,8 @@ QWidget *DynamicTextItemDelegate::createEditor(
* handling, so it didn't crash). Resolving the dialog
* before returning removes the second, competing teardown
* path entirely. */
QColor color = QColorDialog::getColor(index.data(Qt::EditRole).value<QColor>(), parent);
QColor color = QColorDialog::getColor(index.data(Qt::EditRole).value<QColor>(), parent,
QString(), QColorDialog::DontUseNativeDialog);
QWidget *w = new QWidget(parent);
if (color.isValid())
{