+ if (orientation == GTK_ORIENTATION_HORIZONTAL)
+ {
+ if (pos == left)
+ gtk_style_context_add_class (gtk_widget_get_style_context (p), GTK_STYLE_CLASS_LEFT);
+ else if (pos == right)
+ gtk_style_context_add_class (gtk_widget_get_style_context (p), GTK_STYLE_CLASS_RIGHT);
+
+ gtk_grid_attach (GTK_GRID (grid), p, pos, line, 1, 1);
+ }
+ else
+ {
+ if (pos == 0)
+ gtk_style_context_add_class (gtk_widget_get_style_context (p), GTK_STYLE_CLASS_TOP);
+ else if (pos == colors_per_line - 1)
+ gtk_style_context_add_class (gtk_widget_get_style_context (p), GTK_STYLE_CLASS_BOTTOM);
+
+ gtk_grid_attach (GTK_GRID (grid), p, line, pos, 1, 1);
+ }
+ }
+
+ gtk_widget_show_all (grid);
+}
+
+static void
+remove_default_palette (GtkColorChooserWidget *cc)
+{
+ if (!cc->priv->has_default_palette)
+ return;
+
+ remove_palette (cc);
+ cc->priv->has_default_palette = FALSE;
+}
+
+static void
+add_default_palette (GtkColorChooserWidget *cc)
+{
+ const gchar *default_colors[9][3] = {
+ { "#ef2929", "#cc0000", "#a40000" }, /* Scarlet Red */
+ { "#fcaf3e", "#f57900", "#ce5c00" }, /* Orange */
+ { "#fce94f", "#edd400", "#c4a000" }, /* Butter */
+ { "#8ae234", "#73d216", "#4e9a06" }, /* Chameleon */
+ { "#729fcf", "#3465a4", "#204a87" }, /* Sky Blue */
+ { "#ad7fa8", "#75507b", "#5c3566" }, /* Plum */
+ { "#e9b96e", "#c17d11", "#8f5902" }, /* Chocolate */
+ { "#888a85", "#555753", "#2e3436" }, /* Aluminum 1 */
+ { "#eeeeec", "#d3d7cf", "#babdb6" } /* Aluminum 2 */
+ };
+ const gchar *color_names[] = {
+ NC_("Color name", "Light Scarlet Red"),
+ NC_("Color name", "Scarlet Red"),
+ NC_("Color name", "Dark Scarlet Red"),
+ NC_("Color name", "Light Orange"),
+ NC_("Color name", "Orange"),
+ NC_("Color name", "Dark Orange"),
+ NC_("Color name", "Light Butter"),
+ NC_("Color name", "Butter"),
+ NC_("Color name", "Dark Butter"),
+ NC_("Color name", "Light Chameleon"),
+ NC_("Color name", "Chameleon"),
+ NC_("Color name", "Dark Chameleon"),
+ NC_("Color name", "Light Sky Blue"),
+ NC_("Color name", "Sky Blue"),
+ NC_("Color name", "Dark Sky Blue"),
+ NC_("Color name", "Light Plum"),
+ NC_("Color name", "Plum"),
+ NC_("Color name", "Dark Plum"),
+ NC_("Color name", "Light Chocolate"),
+ NC_("Color name", "Chocolate"),
+ NC_("Color name", "Dark Chocolate"),
+ NC_("Color name", "Light Aluminum 1"),
+ NC_("Color name", "Aluminum 1"),
+ NC_("Color name", "Dark Aluminum 1"),
+ NC_("Color name", "Light Aluminum 2"),
+ NC_("Color name", "Aluminum 2"),
+ NC_("Color name", "Dark Aluminum 2")
+ };
+ const gchar *default_grays[9] = {
+ "#000000", /* black */
+ "#2e3436", /* very dark gray */
+ "#555753", /* darker gray */
+ "#888a85", /* dark gray */
+ "#babdb6", /* medium gray */
+ "#d3d7cf", /* light gray */
+ "#eeeeec", /* lighter gray */
+ "#f3f3f3", /* very light gray */
+ "#ffffff" /* white */
+ };
+ const gchar *gray_names[] = {
+ NC_("Color name", "Black"),
+ NC_("Color name", "Very Dark Gray"),
+ NC_("Color name", "Darker Gray"),
+ NC_("Color name", "Dark Gray"),
+ NC_("Color name", "Medium Gray"),
+ NC_("Color name", "Light Gray"),
+ NC_("Color name", "Lighter Gray"),
+ NC_("Color name", "Very Light Gray"),
+ NC_("Color name", "White")
+ };
+ GdkRGBA colors[9*3];
+ gint i, j;