[LyX/master] Make QDialog handlable alpha colors

Koji Yokota <[email protected]> Tue, 02 Jun 2026 04:51:31 +0000
Newsgroups gmane.editors.lyx.cvs
Message-ID <[email protected]>
commit 828cc786970de14b1bd1dacbda28971992fee029
Author: Koji Yokota <[email protected]>
Date:   Thu May 14 14:49:14 2026 +0900

    Make QDialog handlable alpha colors
---
 src/frontends/qt/GuiDialog.cpp | 11 +++++++----
 src/frontends/qt/GuiDialog.h   | 10 ++++++++--
 src/frontends/qt/GuiPrefs.cpp  |  6 ++++--
 3 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/src/frontends/qt/GuiDialog.cpp b/src/frontends/qt/GuiDialog.cpp
index c52bbb4d9c..55b0acf8f9 100644
--- a/src/frontends/qt/GuiDialog.cpp
+++ b/src/frontends/qt/GuiDialog.cpp
@@ -286,9 +286,11 @@ QString GuiDialog::browseRelToSub(
 }
 
 
-QColor GuiDialog::getColor(const QColor &initial, QWidget *parent)
+QColor GuiDialog::getColor(const QColor &initial, QWidget *parent,
+                           QString const & title,
+	                       QColorDialog::ColorDialogOptions options)
 {
-	const QColor color = QColorDialog::getColor(initial, parent);
+	const QColor color = QColorDialog::getColor(initial, parent, title, options);
 	if (guiApp->platformName() == "cocoa") {
 		QWidget * dialog = parent->window();
 		// On Mac explicitly activate the parents top-level widget
@@ -299,9 +301,10 @@ QColor GuiDialog::getColor(const QColor &initial, QWidget *parent)
 	return color;
 }
 
-QColor GuiDialog::getColor(const QColor &initial)
+QColor GuiDialog::getColor(const QColor &initial, QString const & title,
+	                       QColorDialog::ColorDialogOptions options)
 {
-	return getColor(initial, asQWidget());
+	return getColor(initial, asQWidget(), title, options);
 }
 
 } // namespace frontend
diff --git a/src/frontends/qt/GuiDialog.h b/src/frontends/qt/GuiDialog.h
index f2a7efe727..5f0fb68342 100644
--- a/src/frontends/qt/GuiDialog.h
+++ b/src/frontends/qt/GuiDialog.h
@@ -16,6 +16,7 @@
 #include "ButtonController.h"
 
 #include <QAbstractButton>
+#include <QColorDialog>
 #include <QDialog>
 
 
@@ -179,8 +180,13 @@ public:
 		QString const & label2 = QString(),
 		QString const & dir2 = QString());
 
-	static QColor getColor(const QColor &initial, QWidget *parent);
-	QColor getColor(const QColor &initial);
+	static QColor getColor(const QColor &initial, QWidget *parent,
+	                       QString const & title = QString(),
+	                       QColorDialog::ColorDialogOptions options
+	                       = QColorDialog::ColorDialogOptions());
+	QColor getColor(const QColor &initial, QString const & title = QString(),
+                    QColorDialog::ColorDialogOptions options
+	                = QColorDialog::ColorDialogOptions());
 
 private:
 	ButtonController bc_;
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index 1290556215..1c7f3436e1 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -1187,7 +1187,8 @@ void PrefColors::changeColor(int const &row, bool const &is_dark_mode)
 	else
 		color = newcolors_[size_t(row)].first;
 
-	QColor const c = form_->getColor(QColor(color));
+	QColor const c = form_->getColor(QColor(color), QString(),
+	                                 QColorDialog::ShowAlphaChannel);
 
 	if (setColor(colorsTV_model_.item(row, is_dark_mode), c, color)) {
 		if (is_dark_mode)
@@ -2060,7 +2061,8 @@ void PrefColors::openColorChooser()
 	}
 
 	// open color dialog
-	QColor color = cdlg.getColor(initial_color, form_);
+	QColor color = cdlg.getColor(initial_color, form_, QString(),
+	                             QColorDialog::ShowAlphaChannel);
 
 	form_->raise();
 
-- 
lyx-cvs mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-cvs