gtk_main_quit ();
}
-static void
-show_editor_cb (GtkWidget *dialog, GParamSpec *pspec, GtkWidget *button)
-{
- gboolean show_editor;
-
- g_object_get (dialog, "show-editor", &show_editor, NULL);
- gtk_widget_set_visible (button, show_editor);
-}
-
-static void
-go_to_palette (GtkWidget *button, GtkWidget *dialog)
-{
- g_object_set (dialog, "show-editor", FALSE, NULL);
-}
-
int
main (int argc, char *argv[])
{
GtkWidget *dialog;
- GtkWidget *button;
- GtkWidget *aa;
- GtkWidget *image;
gint i;
gtk_init (NULL, NULL);
dialog = gtk_color_chooser_dialog_new ("Select a color", NULL);
- button = gtk_button_new ();
- image = gtk_image_new_from_icon_name ("view-grid-symbolic", GTK_ICON_SIZE_MENU);
- gtk_widget_show (image);
- gtk_container_add (GTK_CONTAINER (button), image);
- aa = gtk_dialog_get_action_area (GTK_DIALOG (dialog));
- gtk_container_add (GTK_CONTAINER (aa), button);
- gtk_widget_set_no_show_all (button, TRUE);
- gtk_button_box_set_child_secondary (GTK_BUTTON_BOX (aa), button, TRUE);
- gtk_button_box_set_child_non_homogeneous (GTK_BUTTON_BOX (aa), button, TRUE);
- gtk_widget_set_tooltip_text (button, "Show color palette");
- g_signal_connect (dialog, "notify::show-editor", G_CALLBACK (show_editor_cb), button);
- g_signal_connect (button, "clicked", G_CALLBACK (go_to_palette), dialog);
-
for (i = 1; i < argc; i++)
{
if (g_strcmp0 (argv[i], "--no-alpha") == 0)
}
else if (g_strcmp0 (argv[i], "--palette") == 0)
{
- const gchar *c[4] = { "red", "maroon", "yellow", "green" };
+ const gchar *c[9] = { "red", "maroon", "yellow", "green", "blue", "magenta", "DarkOliveGreen4", "khaki2", "thistle1" };
GdkRGBA color;
- GdkRGBA colors[36];
+ GdkRGBA colors[9*9];
gint i,j;
gdouble f[5] = { 0.2, 0.35, 0.5, 0.65, 0.8 };
g_print ("setting custom palette\n");
- for (i = 0; i < 4; i++)
+ for (i = 0; i < 9; i++)
{
gdk_rgba_parse (&color, c[i]);
for (j = 0; j < 5; j++)
}
}
gtk_color_chooser_add_palette (GTK_COLOR_CHOOSER (dialog),
- FALSE,
- 9, 36,
+ GTK_ORIENTATION_VERTICAL,
+ 9, 9*9,
colors);
}
+ else if (g_strcmp0 (argv[i], "--no-palette") == 0)
+ {
+ gtk_color_chooser_add_palette (GTK_COLOR_CHOOSER (dialog),
+ GTK_ORIENTATION_VERTICAL, 0, 0, NULL);
+ }
}
g_signal_connect (dialog, "notify::color", G_CALLBACK (color_changed), NULL);