plug-ins: Port from GimpScaleEntry to GimpSpinScale

This ports some plug-ins using directly the GimpScaleEntry API.

The only plugins left now are

- gimpressionist,
- gradient-flare, and
- CML explorer.

Helps with https://gitlab.gnome.org/Teams/GIMP/Design/gimp-ux/-/issues/503.
This commit is contained in:
Ondřej Míchal 2025-10-30 23:49:17 +02:00
parent 1548905e59
commit c3fcbd0019
3 changed files with 63 additions and 80 deletions

View file

@ -117,7 +117,7 @@ static gboolean tileit_dialog (GimpProcedure *procedure,
GimpProcedureConfig *config,
GimpDrawable *drawable);
static void tileit_scale_update (GimpLabelSpin *entry,
static void tileit_scale_update (GtkAdjustment *adj,
gint *value);
static void tileit_config_update (GimpProcedureConfig *config);
@ -183,6 +183,7 @@ typedef struct
gint y; /* Y - pos of tile */
GtkAdjustment *r_adj; /* row adjustment */
GtkAdjustment *c_adj; /* column adjustment */
GtkAdjustment *opacity_adj;
GtkWidget *applybut; /* The apply button */
} Exp_Call;
@ -639,8 +640,9 @@ tileit_dialog (GimpProcedure *procedure,
/* Widget for selecting the Opacity */
scale = gimp_scale_entry_new (_("O_pacity:"), opacity, 0, 100, 0);
g_signal_connect (scale, "value-changed",
exp_call.opacity_adj = gtk_adjustment_new (opacity, 0, 100, 1.0, 10.0, 0.0);
scale = gimp_spin_scale_new (exp_call.opacity_adj, _("O_pacity"), 0);
g_signal_connect (exp_call.opacity_adj, "value-changed",
G_CALLBACK (tileit_scale_update),
&opacity);
@ -886,10 +888,10 @@ tileit_radio_update (GtkWidget *widget,
static void
tileit_scale_update (GimpLabelSpin *scale,
tileit_scale_update (GtkAdjustment *adj,
gint *value)
{
*value = RINT (gimp_label_spin_get_value (scale));
*value = RINT (gtk_adjustment_get_value (adj));
dialog_update_preview ();
}

View file

@ -107,7 +107,7 @@ static void combo_callback (GtkWidget *widget,
gpointer data);
static void init_mutants (GimpProcedureConfig *proc_config);
static void flame_scale_entry_update_double (GimpLabelSpin *entry,
static void flame_scale_entry_update_double (GtkAdjustment *adj,
gdouble *value);
static void flame_update_settings_aux (GimpProcedureConfig *proc_config);
@ -804,16 +804,17 @@ edit_callback (GtkWidget *widget,
if (edit_dialog == NULL)
{
GtkWidget *main_vbox;
GtkWidget *frame;
GtkWidget *grid;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *button;
GtkWidget *combo;
GtkWidget *label;
GtkWidget *scale;
gint i, j;
GtkAdjustment *adj;
GtkWidget *main_vbox;
GtkWidget *frame;
GtkWidget *grid;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *button;
GtkWidget *combo;
GtkWidget *label;
GtkWidget *scale;
gint i, j;
edit_dialog = gimp_dialog_new (_("Edit Flame"), PLUG_IN_ROLE,
parent, GTK_DIALOG_DESTROY_WITH_PARENT,
@ -884,14 +885,14 @@ edit_callback (GtkWidget *widget,
gtk_container_add (GTK_CONTAINER (frame), vbox);
gtk_widget_show (vbox);
scale = gimp_scale_entry_new (_("_Speed:"), pick_speed, 0.05, 0.5, 2);
gimp_label_spin_set_increments (GIMP_LABEL_SPIN (scale), 0.01, 0.1);
adj = gtk_adjustment_new (pick_speed, 0.05, 0.5, 0.01, 0.1, 0);
scale = gimp_spin_scale_new (adj, _("Speed"), 2);
g_object_set_data (G_OBJECT (scale), "config", proc_config);
g_signal_connect (scale, "value-changed",
g_object_set_data (G_OBJECT (adj), "config", proc_config);
g_signal_connect (adj, "value-changed",
G_CALLBACK (flame_scale_entry_update_double),
&pick_speed);
g_signal_connect_swapped (scale, "value-changed",
g_signal_connect_swapped (adj, "value-changed",
G_CALLBACK (set_edit_preview),
proc_config);
gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 6);
@ -1365,14 +1366,14 @@ flame_dialog (Flame *flame,
}
static void
flame_scale_entry_update_double (GimpLabelSpin *entry,
flame_scale_entry_update_double (GtkAdjustment *adj,
gdouble *value)
{
GimpProcedureConfig *proc_config;
proc_config = g_object_get_data (G_OBJECT (entry), "config");
proc_config = g_object_get_data (G_OBJECT (adj), "config");
*value = gimp_label_spin_get_value (entry);
*value = gtk_adjustment_get_value (adj);
flame_update_settings_aux (proc_config);
}

View file

@ -211,11 +211,6 @@ static void lower_selected_obj (GSimpleAction *action,
static void toggle_obj_type (DobjType new_type);
static void gfig_scale_entry_update_double (GimpLabelSpin *entry,
gdouble *value);
static void gfig_scale_entry_update_int (GimpLabelSpin *entry,
gint *value);
/* GAction helper methods */
static GtkWidget * add_tool_button (GtkWidget *toolbar,
const char *action,
@ -1276,9 +1271,10 @@ gfig_prefs_action (GSimpleAction *action,
gtk_box_pack_start (GTK_BOX (main_vbox), grid, FALSE, FALSE, 6);
gtk_widget_show (grid);
undo_scale = gimp_scale_entry_new (_("Max undo:"), selvals.maxundo, MIN_UNDO, MAX_UNDO, 0);
g_signal_connect (undo_scale, "value-changed",
G_CALLBACK (gfig_scale_entry_update_int),
scale_data = gtk_adjustment_new (selvals.maxundo, MIN_UNDO, MAX_UNDO, 1.0, 10.0, 0.0);
undo_scale = gimp_spin_scale_new (scale_data, _("Max undo:"), 1);
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_int_adjustment_update),
&selvals.maxundo);
gtk_grid_attach (GTK_GRID (grid), undo_scale, 0, 0, 3, 1);
gtk_widget_show (undo_scale);
@ -1315,10 +1311,8 @@ gfig_prefs_action (GSimpleAction *action,
NULL);
gtk_widget_show (toggle);
scale_data =
gtk_adjustment_new (selopt.feather_radius, 0.0, 100.0, 1.0, 1.0, 0.0);
scale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, scale_data);
gtk_scale_set_value_pos (GTK_SCALE (scale), GTK_POS_TOP);
scale_data = gtk_adjustment_new (selopt.feather_radius, 0.0, 100.0, 1.0, 1.0, 0.0);
scale = gimp_spin_scale_new (scale_data, _("Radius"), 1);
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_double_adjustment_update),
@ -1326,8 +1320,8 @@ gfig_prefs_action (GSimpleAction *action,
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gfig_paint_delayed),
NULL);
gimp_grid_attach_aligned (GTK_GRID (grid), 0, 2,
_("Radius:"), 0.0, 1.0, scale, 1);
gtk_grid_attach (GTK_GRID (grid), scale, 0, 2, 2, 1);
gtk_widget_show (scale);
gtk_widget_show (dialog);
}
@ -1346,13 +1340,14 @@ gfig_grid_action (GSimpleAction *action,
if (!dialog)
{
GtkWidget *main_vbox;
GtkWidget *hbox;
GtkWidget *grid;
GtkWidget *combo;
GtkWidget *grid_scale;
GtkWidget *sectors_scale;
GtkWidget *radius_scale;
GtkAdjustment *scale_data;
GtkWidget *main_vbox;
GtkWidget *hbox;
GtkWidget *grid;
GtkWidget *combo;
GtkWidget *grid_scale;
GtkWidget *sectors_scale;
GtkWidget *radius_scale;
dialog = gimp_dialog_new (_("Grid"), "gimp-gfig-grid",
NULL, 0, NULL, NULL,
@ -1385,13 +1380,12 @@ gfig_grid_action (GSimpleAction *action,
gtk_box_pack_start (GTK_BOX (main_vbox), grid, FALSE, FALSE, 0);
gtk_widget_show (grid);
grid_scale = gimp_scale_entry_new (_("Grid spacing:"),
selvals.opts.gridspacing,
MIN_GRID, MAX_GRID, 0);
g_signal_connect (grid_scale, "value-changed",
G_CALLBACK (gfig_scale_entry_update_int),
scale_data = gtk_adjustment_new (selvals.opts.gridspacing, MIN_GRID, MAX_GRID, 1.0, 10.0, 0.0);
grid_scale = gimp_spin_scale_new (scale_data, _("Grid spacing:"), 1);
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_int_adjustment_update),
&selvals.opts.gridspacing);
g_signal_connect (grid_scale, "value-changed",
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (draw_grid_clear),
NULL);
gtk_grid_attach (GTK_GRID (grid), grid_scale, 0, 0, 3, 1);
@ -1401,11 +1395,10 @@ gfig_grid_action (GSimpleAction *action,
g_object_add_weak_pointer (G_OBJECT (gfig_opt_widget.gridspacing),
(gpointer) &gfig_opt_widget.gridspacing);
sectors_scale = gimp_scale_entry_new (_("Polar grid sectors desired:"),
selvals.opts.grid_sectors_desired,
5, 360, 0);
scale_data = gtk_adjustment_new (selvals.opts.grid_sectors_desired, 5, 360, 1.0, 10.0, 0.0);
sectors_scale = gimp_spin_scale_new (scale_data, _("Polar grid sectors desired:"), 1);
g_signal_connect (sectors_scale, "value-changed",
G_CALLBACK (gfig_scale_entry_update_int),
G_CALLBACK (gimp_int_adjustment_update),
&selvals.opts.grid_sectors_desired);
g_signal_connect (sectors_scale, "value-changed",
G_CALLBACK (draw_grid_clear),
@ -1418,13 +1411,12 @@ gfig_grid_action (GSimpleAction *action,
g_object_add_weak_pointer (G_OBJECT (gfig_opt_widget.grid_sectors_desired),
(gpointer) &gfig_opt_widget.grid_sectors_desired);
radius_scale = gimp_scale_entry_new (_("Polar grid radius interval:"),
selvals.opts.grid_radius_interval,
5, 50, 0);
g_signal_connect (radius_scale, "value-changed",
G_CALLBACK (gfig_scale_entry_update_double),
scale_data = gtk_adjustment_new (selvals.opts.grid_radius_interval, 5, 360, 1.0, 10.0, 0.0);
radius_scale = gimp_spin_scale_new (scale_data, _("Polar grid radius interval:"), 1);
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_double_adjustment_update),
&selvals.opts.grid_radius_interval);
g_signal_connect (radius_scale, "value-changed",
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (draw_grid_clear),
NULL);
gtk_grid_attach (GTK_GRID (grid), radius_scale, 0, 4, 3, 1);
@ -1683,8 +1675,9 @@ num_sides_widget (const gchar *d_title,
gint adj_min,
gint adj_max)
{
GtkWidget *grid;
GtkWidget *scale;
GtkAdjustment *scale_data;
GtkWidget *grid;
GtkWidget *scale;
grid = gtk_grid_new ();
gtk_grid_set_row_spacing (GTK_GRID (grid), 6);
@ -1692,9 +1685,10 @@ num_sides_widget (const gchar *d_title,
gtk_container_set_border_width (GTK_CONTAINER (grid), 12);
gtk_widget_show (grid);
scale = gimp_scale_entry_new (_("Sides:"), *num_sides, adj_min, adj_max, 0);
g_signal_connect (scale, "value-changed",
G_CALLBACK (gfig_scale_entry_update_int),
scale_data = gtk_adjustment_new (*num_sides, adj_min, adj_max, 1.0, 10.0, 0.0);
scale = gimp_spin_scale_new (scale_data, _("Sides:"), 1);
g_signal_connect (scale_data, "value-changed",
G_CALLBACK (gimp_int_adjustment_update),
num_sides);
gtk_grid_attach (GTK_GRID (grid), scale, 0, 0, 3, 1);
gtk_widget_show (scale);
@ -2172,20 +2166,6 @@ gfig_draw_line (gint x0, gint y0, gint x1, gint y1, cairo_t *cr)
draw_item (cr, FALSE);
}
static void
gfig_scale_entry_update_double (GimpLabelSpin *entry,
gdouble *value)
{
*value = gimp_label_spin_get_value (entry);
}
static void
gfig_scale_entry_update_int (GimpLabelSpin *entry,
gint *value)
{
*value = (gint) gimp_label_spin_get_value (entry);
}
static GtkWidget *
add_tool_button (GtkWidget *toolbar,
const char *action,