Make color chooser always come up with palette
This commit is contained in:
@ -52,6 +52,7 @@ gtk_color_chooser_default_init (GtkColorChooserInterface *iface)
|
|||||||
P_("Whether alpha should be shown"),
|
P_("Whether alpha should be shown"),
|
||||||
TRUE,
|
TRUE,
|
||||||
GTK_PARAM_READWRITE));
|
GTK_PARAM_READWRITE));
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GtkColorChooser::color-activated:
|
* GtkColorChooser::color-activated:
|
||||||
* @self: the object which received the signal
|
* @self: the object which received the signal
|
||||||
|
|||||||
@ -55,15 +55,15 @@ struct _GtkColorChooserInterface
|
|||||||
gpointer padding[12];
|
gpointer padding[12];
|
||||||
};
|
};
|
||||||
|
|
||||||
GType gtk_color_chooser_get_type (void) G_GNUC_CONST;
|
GType gtk_color_chooser_get_type (void) G_GNUC_CONST;
|
||||||
|
|
||||||
void gtk_color_chooser_get_color (GtkColorChooser *chooser,
|
void gtk_color_chooser_get_color (GtkColorChooser *chooser,
|
||||||
GdkRGBA *color);
|
GdkRGBA *color);
|
||||||
void gtk_color_chooser_set_color (GtkColorChooser *chooser,
|
void gtk_color_chooser_set_color (GtkColorChooser *chooser,
|
||||||
const GdkRGBA *color);
|
const GdkRGBA *color);
|
||||||
gboolean gtk_color_chooser_get_show_alpha (GtkColorChooser *chooser);
|
gboolean gtk_color_chooser_get_show_alpha (GtkColorChooser *chooser);
|
||||||
void gtk_color_chooser_set_show_alpha (GtkColorChooser *chooser,
|
void gtk_color_chooser_set_show_alpha (GtkColorChooser *chooser,
|
||||||
gboolean show_alpha);
|
gboolean show_alpha);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|||||||
@ -22,6 +22,7 @@
|
|||||||
#include "gtkdialog.h"
|
#include "gtkdialog.h"
|
||||||
#include "gtkstock.h"
|
#include "gtkstock.h"
|
||||||
#include "gtkbox.h"
|
#include "gtkbox.h"
|
||||||
|
#include "gtkprivate.h"
|
||||||
#include "gtkintl.h"
|
#include "gtkintl.h"
|
||||||
|
|
||||||
#include "gtkcolorchooserprivate.h"
|
#include "gtkcolorchooserprivate.h"
|
||||||
@ -41,7 +42,8 @@ enum
|
|||||||
{
|
{
|
||||||
PROP_ZERO,
|
PROP_ZERO,
|
||||||
PROP_COLOR,
|
PROP_COLOR,
|
||||||
PROP_SHOW_ALPHA
|
PROP_SHOW_ALPHA,
|
||||||
|
PROP_SHOW_EDITOR
|
||||||
};
|
};
|
||||||
|
|
||||||
static void gtk_color_chooser_dialog_iface_init (GtkColorChooserInterface *iface);
|
static void gtk_color_chooser_dialog_iface_init (GtkColorChooserInterface *iface);
|
||||||
@ -133,6 +135,9 @@ gtk_color_chooser_dialog_response (GtkDialog *dialog,
|
|||||||
gtk_color_chooser_get_color (GTK_COLOR_CHOOSER (dialog), &color);
|
gtk_color_chooser_get_color (GTK_COLOR_CHOOSER (dialog), &color);
|
||||||
gtk_color_chooser_set_color (GTK_COLOR_CHOOSER (dialog), &color);
|
gtk_color_chooser_set_color (GTK_COLOR_CHOOSER (dialog), &color);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
g_object_set (GTK_COLOR_CHOOSER_DIALOG (dialog)->priv->color_chooser,
|
||||||
|
"show-editor", FALSE, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
@ -153,10 +158,17 @@ gtk_color_chooser_dialog_get_property (GObject *object,
|
|||||||
gtk_color_chooser_get_color (cc, &color);
|
gtk_color_chooser_get_color (cc, &color);
|
||||||
g_value_set_boxed (value, &color);
|
g_value_set_boxed (value, &color);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PROP_SHOW_ALPHA:
|
case PROP_SHOW_ALPHA:
|
||||||
g_value_set_boolean (value, gtk_color_chooser_get_show_alpha (GTK_COLOR_CHOOSER (cd->priv->color_chooser)));
|
g_value_set_boolean (value, gtk_color_chooser_get_show_alpha (GTK_COLOR_CHOOSER (cd->priv->color_chooser)));
|
||||||
break;
|
break;
|
||||||
|
case PROP_SHOW_EDITOR:
|
||||||
|
{
|
||||||
|
gboolean show_editor;
|
||||||
|
g_object_get (cd->priv->color_chooser, "show-editor", &show_editor, NULL);
|
||||||
|
g_value_set_boolean (value, show_editor);
|
||||||
|
}
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -176,10 +188,15 @@ gtk_color_chooser_dialog_set_property (GObject *object,
|
|||||||
{
|
{
|
||||||
case PROP_COLOR:
|
case PROP_COLOR:
|
||||||
gtk_color_chooser_set_color (cc, g_value_get_boxed (value));
|
gtk_color_chooser_set_color (cc, g_value_get_boxed (value));
|
||||||
break;
|
break;
|
||||||
case PROP_SHOW_ALPHA:
|
case PROP_SHOW_ALPHA:
|
||||||
gtk_color_chooser_set_show_alpha (GTK_COLOR_CHOOSER (cd->priv->color_chooser), g_value_get_boolean (value));
|
gtk_color_chooser_set_show_alpha (GTK_COLOR_CHOOSER (cd->priv->color_chooser), g_value_get_boolean (value));
|
||||||
break;
|
break;
|
||||||
|
case PROP_SHOW_EDITOR:
|
||||||
|
g_object_set (cd->priv->color_chooser,
|
||||||
|
"show-editor", g_value_get_boolean (value),
|
||||||
|
NULL);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -199,6 +216,10 @@ gtk_color_chooser_dialog_class_init (GtkColorChooserDialogClass *class)
|
|||||||
|
|
||||||
g_object_class_override_property (object_class, PROP_COLOR, "color");
|
g_object_class_override_property (object_class, PROP_COLOR, "color");
|
||||||
g_object_class_override_property (object_class, PROP_SHOW_ALPHA, "show-alpha");
|
g_object_class_override_property (object_class, PROP_SHOW_ALPHA, "show-alpha");
|
||||||
|
g_object_class_install_property (object_class, PROP_SHOW_EDITOR,
|
||||||
|
g_param_spec_boolean ("show-editor", P_("Show editor"), P_("Show editor"),
|
||||||
|
FALSE, GTK_PARAM_READWRITE));
|
||||||
|
|
||||||
|
|
||||||
g_type_class_add_private (class, sizeof (GtkColorChooserDialogPrivate));
|
g_type_class_add_private (class, sizeof (GtkColorChooserDialogPrivate));
|
||||||
}
|
}
|
||||||
|
|||||||
@ -29,6 +29,7 @@
|
|||||||
#include "gtkhsv.h"
|
#include "gtkhsv.h"
|
||||||
#include "gtklabel.h"
|
#include "gtklabel.h"
|
||||||
#include "gtkorientable.h"
|
#include "gtkorientable.h"
|
||||||
|
#include "gtkprivate.h"
|
||||||
#include "gtkintl.h"
|
#include "gtkintl.h"
|
||||||
|
|
||||||
struct _GtkColorChooserWidgetPrivate
|
struct _GtkColorChooserWidgetPrivate
|
||||||
@ -51,7 +52,8 @@ enum
|
|||||||
{
|
{
|
||||||
PROP_ZERO,
|
PROP_ZERO,
|
||||||
PROP_COLOR,
|
PROP_COLOR,
|
||||||
PROP_SHOW_ALPHA
|
PROP_SHOW_ALPHA,
|
||||||
|
PROP_SHOW_EDITOR
|
||||||
};
|
};
|
||||||
|
|
||||||
static void gtk_color_chooser_widget_iface_init (GtkColorChooserInterface *iface);
|
static void gtk_color_chooser_widget_iface_init (GtkColorChooserInterface *iface);
|
||||||
@ -348,6 +350,9 @@ gtk_color_chooser_widget_get_property (GObject *object,
|
|||||||
case PROP_SHOW_ALPHA:
|
case PROP_SHOW_ALPHA:
|
||||||
g_value_set_boolean (value, cw->priv->show_alpha);
|
g_value_set_boolean (value, cw->priv->show_alpha);
|
||||||
break;
|
break;
|
||||||
|
case PROP_SHOW_EDITOR:
|
||||||
|
g_value_set_boolean (value, gtk_widget_get_visible (cw->priv->editor));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -384,6 +389,14 @@ gtk_color_chooser_widget_set_show_alpha (GtkColorChooserWidget *cc,
|
|||||||
gtk_widget_queue_draw (GTK_WIDGET (cc));
|
gtk_widget_queue_draw (GTK_WIDGET (cc));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
gtk_color_chooser_widget_set_show_editor (GtkColorChooserWidget *cc,
|
||||||
|
gboolean show_editor)
|
||||||
|
{
|
||||||
|
gtk_widget_set_visible (cc->priv->editor, show_editor);
|
||||||
|
gtk_widget_set_visible (cc->priv->palette, !show_editor);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gtk_color_chooser_widget_set_property (GObject *object,
|
gtk_color_chooser_widget_set_property (GObject *object,
|
||||||
guint prop_id,
|
guint prop_id,
|
||||||
@ -402,6 +415,10 @@ gtk_color_chooser_widget_set_property (GObject *object,
|
|||||||
gtk_color_chooser_widget_set_show_alpha (cc,
|
gtk_color_chooser_widget_set_show_alpha (cc,
|
||||||
g_value_get_boolean (value));
|
g_value_get_boolean (value));
|
||||||
break;
|
break;
|
||||||
|
case PROP_SHOW_EDITOR:
|
||||||
|
gtk_color_chooser_widget_set_show_editor (cc,
|
||||||
|
g_value_get_boolean (value));
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||||
break;
|
break;
|
||||||
@ -430,6 +447,10 @@ gtk_color_chooser_widget_class_init (GtkColorChooserWidgetClass *class)
|
|||||||
g_object_class_override_property (object_class, PROP_COLOR, "color");
|
g_object_class_override_property (object_class, PROP_COLOR, "color");
|
||||||
g_object_class_override_property (object_class, PROP_SHOW_ALPHA, "show-alpha");
|
g_object_class_override_property (object_class, PROP_SHOW_ALPHA, "show-alpha");
|
||||||
|
|
||||||
|
g_object_class_install_property (object_class, PROP_SHOW_EDITOR,
|
||||||
|
g_param_spec_boolean ("show-editor", P_("Show editor"), P_("Show editor"),
|
||||||
|
FALSE, GTK_PARAM_READWRITE));
|
||||||
|
|
||||||
g_type_class_add_private (object_class, sizeof (GtkColorChooserWidgetPrivate));
|
g_type_class_add_private (object_class, sizeof (GtkColorChooserWidgetPrivate));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user