diff --git a/app/core/gimp-units.c b/app/core/gimp-units.c index 91213b7630..cb7c2d2df9 100644 --- a/app/core/gimp-units.c +++ b/app/core/gimp-units.c @@ -93,8 +93,8 @@ enum UNIT_DIGITS, UNIT_SYMBOL, UNIT_ABBREV, - UNIT_SINGULAR, - UNIT_PLURAL + UNIT_SINGULAR, /* Obsoleted in GIMP 3.0. */ + UNIT_PLURAL /* Obsoleted in GIMP 3.0. */ }; void @@ -236,7 +236,7 @@ gimp_unitrc_save (Gimp *gimp) gimp_config_writer_open (writer, "unit-info"); gimp_config_writer_string (writer, - gimp_unit_get_identifier (unit)); + gimp_unit_get_name (unit)); gimp_config_writer_open (writer, "factor"); gimp_config_writer_print (writer, @@ -260,16 +260,6 @@ gimp_unitrc_save (Gimp *gimp) gimp_unit_get_abbreviation (unit)); gimp_config_writer_close (writer); - gimp_config_writer_open (writer, "singular"); - gimp_config_writer_string (writer, - gimp_unit_get_singular (unit)); - gimp_config_writer_close (writer); - - gimp_config_writer_open (writer, "plural"); - gimp_config_writer_string (writer, - gimp_unit_get_plural (unit)); - gimp_config_writer_close (writer); - gimp_config_writer_close (writer); } } @@ -288,7 +278,7 @@ static GTokenType gimp_unitrc_unit_info_deserialize (GScanner *scanner, Gimp *gimp) { - gchar *identifier = NULL; + gchar *name = NULL; gdouble factor = 1.0; gint digits = 2.0; gchar *symbol = NULL; @@ -297,7 +287,7 @@ gimp_unitrc_unit_info_deserialize (GScanner *scanner, gchar *plural = NULL; GTokenType token; - if (! gimp_scanner_parse_string (scanner, &identifier)) + if (! gimp_scanner_parse_string (scanner, &name)) return G_TOKEN_STRING; token = G_TOKEN_LEFT_PAREN; @@ -340,6 +330,11 @@ gimp_unitrc_unit_info_deserialize (GScanner *scanner, break; case UNIT_SINGULAR: + /* UNIT_SINGULAR and UNIT_PLURAL are deprecated. We still + * support reading them if they exist to stay backward + * compatible with older unitrc, in which case, we use + * UNIT_PLURAL on behalf of the name. + */ token = G_TOKEN_STRING; if (! gimp_scanner_parse_string (scanner, &singular)) goto cleanup; @@ -373,9 +368,8 @@ gimp_unitrc_unit_info_deserialize (GScanner *scanner, if (g_scanner_peek_next_token (scanner) == token) { GimpUnit *unit = _gimp_unit_new (gimp, - identifier, factor, digits, - symbol, abbreviation, - singular, plural); + plural && strlen (plural) > 0 ? plural : name, + factor, digits, symbol, abbreviation); /* make the unit definition persistent */ gimp_unit_set_deletion_flag (unit, FALSE); @@ -384,7 +378,7 @@ gimp_unitrc_unit_info_deserialize (GScanner *scanner, cleanup: - g_free (identifier); + g_free (name); g_free (symbol); g_free (abbreviation); g_free (singular); diff --git a/app/core/gimpimage.c b/app/core/gimpimage.c index 5f214b0e0a..9539e3dcdd 100644 --- a/app/core/gimpimage.c +++ b/app/core/gimpimage.c @@ -3071,6 +3071,11 @@ gimp_image_get_xcf_version (GimpImage *image, version = MAX (16, version); } + /* Note: user unit storage was changed in XCF 21, but we can still + * easily save older XCF (we use the unit name for both singular and + * plural forms). Therefore we don't bump the XCF version unecessarily + * and don't add any test. + */ #undef ADD_REASON diff --git a/app/core/gimpunit.c b/app/core/gimpunit.c index 7a84412b0b..4cac2027e8 100644 --- a/app/core/gimpunit.c +++ b/app/core/gimpunit.c @@ -40,13 +40,11 @@ GimpUnit * _gimp_unit_new (Gimp *gimp, - const gchar *identifier, + const gchar *name, gdouble factor, gint digits, const gchar *symbol, - const gchar *abbreviation, - const gchar *singular, - const gchar *plural) + const gchar *abbreviation) { GimpUnit *unit; gint unit_id; @@ -54,13 +52,11 @@ _gimp_unit_new (Gimp *gimp, unit_id = GIMP_UNIT_END + g_list_length (gimp->user_units); unit = g_object_new (GIMP_TYPE_UNIT, "id", unit_id, - "name", identifier, + "name", name, "factor", factor, "digits", digits, "symbol", symbol, "abbreviation", abbreviation, - "singular", singular, - "plural", plural, NULL); gimp->user_units = g_list_append (gimp->user_units, unit); diff --git a/app/core/gimpunit.h b/app/core/gimpunit.h index d8eb66e56a..28f7fcd55f 100644 --- a/app/core/gimpunit.h +++ b/app/core/gimpunit.h @@ -20,13 +20,11 @@ GimpUnit * _gimp_unit_new (Gimp *gimp, - const gchar *identifier, + const gchar *name, gdouble factor, gint digits, const gchar *symbol, - const gchar *abbreviation, - const gchar *singular, - const gchar *plural); + const gchar *abbreviation); #endif /* __APP_GIMP_UNIT_H__ */ diff --git a/app/dialogs/print-size-dialog.c b/app/dialogs/print-size-dialog.c index 77d6868cc3..169f865769 100644 --- a/app/dialogs/print-size-dialog.c +++ b/app/dialogs/print-size-dialog.c @@ -163,7 +163,7 @@ print_size_dialog_new (GimpImage *image, gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (height), TRUE); gtk_entry_set_width_chars (GTK_ENTRY (height), SB_WIDTH); - entry = gimp_size_entry_new (0, gimp_get_default_unit (), "%p", + entry = gimp_size_entry_new (0, gimp_get_default_unit (), "%n", FALSE, FALSE, FALSE, SB_WIDTH, GIMP_SIZE_ENTRY_UPDATE_SIZE); private->size_entry = GIMP_SIZE_ENTRY (entry); diff --git a/app/dialogs/resize-dialog.c b/app/dialogs/resize-dialog.c index ce98155108..e516b8731f 100644 --- a/app/dialogs/resize-dialog.c +++ b/app/dialogs/resize-dialog.c @@ -388,7 +388,7 @@ resize_dialog_new (GimpViewable *viewable, gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton), TRUE); gtk_entry_set_width_chars (GTK_ENTRY (spinbutton), SB_WIDTH); - private->offset = entry = gimp_size_entry_new (1, unit, "%p", + private->offset = entry = gimp_size_entry_new (1, unit, "%n", TRUE, FALSE, FALSE, SB_WIDTH, GIMP_SIZE_ENTRY_UPDATE_SIZE); gimp_size_entry_add_field (GIMP_SIZE_ENTRY (entry), diff --git a/app/dialogs/resolution-calibrate-dialog.c b/app/dialogs/resolution-calibrate-dialog.c index d1a6378ab7..246cd213a6 100644 --- a/app/dialogs/resolution-calibrate-dialog.c +++ b/app/dialogs/resolution-calibrate-dialog.c @@ -137,7 +137,7 @@ resolution_calibrate_dialog (GtkWidget *resolution_entry, gimp_size_entry_get_refval (GIMP_SIZE_ENTRY (resolution_entry), 1); calibrate_entry = - gimp_coordinates_new (gimp_unit_inch (), "%p", + gimp_coordinates_new (gimp_unit_inch (), "%n", FALSE, FALSE, 10, GIMP_SIZE_ENTRY_UPDATE_SIZE, FALSE, diff --git a/app/gimpcore.def b/app/gimpcore.def index 23427a4180..9527b1473a 100644 --- a/app/gimpcore.def +++ b/app/gimpcore.def @@ -6,7 +6,7 @@ EXPORTS _gimp_unit_get_deletion_flag _gimp_unit_get_digits _gimp_unit_get_factor - _gimp_unit_get_identifier + _gimp_unit_get_name _gimp_unit_get_number_of_units _gimp_unit_get_plural _gimp_unit_get_singular diff --git a/app/pdb/unit-cmds.c b/app/pdb/unit-cmds.c index 9144133fc6..ebffddbd56 100644 --- a/app/pdb/unit-cmds.c +++ b/app/pdb/unit-cmds.c @@ -50,27 +50,23 @@ unit_new_invoker (GimpProcedure *procedure, { gboolean success = TRUE; GimpValueArray *return_vals; - const gchar *identifier; + const gchar *name; gdouble factor; gint digits; const gchar *symbol; const gchar *abbreviation; - const gchar *singular; - const gchar *plural; GimpUnit *unit = NULL; - identifier = g_value_get_string (gimp_value_array_index (args, 0)); + name = g_value_get_string (gimp_value_array_index (args, 0)); factor = g_value_get_double (gimp_value_array_index (args, 1)); digits = g_value_get_int (gimp_value_array_index (args, 2)); symbol = g_value_get_string (gimp_value_array_index (args, 3)); abbreviation = g_value_get_string (gimp_value_array_index (args, 4)); - singular = g_value_get_string (gimp_value_array_index (args, 5)); - plural = g_value_get_string (gimp_value_array_index (args, 6)); if (success) { - unit = _gimp_unit_new (gimp, identifier, factor, digits, - symbol, abbreviation, singular, plural); + unit = _gimp_unit_new (gimp, name, factor, digits, + symbol, abbreviation); } return_vals = gimp_procedure_get_return_values (procedure, success, @@ -93,13 +89,11 @@ unit_get_data_invoker (GimpProcedure *procedure, gboolean success = TRUE; GimpValueArray *return_vals; gint unit_id; - gchar *identifier = NULL; + gchar *name = NULL; gdouble factor = 0.0; gint digits = 0; gchar *symbol = NULL; gchar *abbreviation = NULL; - gchar *singular = NULL; - gchar *plural = NULL; unit_id = g_value_get_int (gimp_value_array_index (args, 0)); @@ -111,13 +105,11 @@ unit_get_data_invoker (GimpProcedure *procedure, if (unit != NULL) { - identifier = g_strdup (gimp_unit_get_identifier (unit)); + name = g_strdup (gimp_unit_get_name (unit)); factor = gimp_unit_get_factor (unit); digits = gimp_unit_get_digits (unit); symbol = g_strdup (gimp_unit_get_symbol (unit)); abbreviation = g_strdup (gimp_unit_get_abbreviation (unit)); - singular = g_strdup (gimp_unit_get_singular (unit)); - plural = g_strdup (gimp_unit_get_plural (unit)); } } } @@ -127,13 +119,11 @@ unit_get_data_invoker (GimpProcedure *procedure, if (success) { - g_value_take_string (gimp_value_array_index (return_vals, 1), identifier); + g_value_take_string (gimp_value_array_index (return_vals, 1), name); g_value_set_double (gimp_value_array_index (return_vals, 2), factor); g_value_set_int (gimp_value_array_index (return_vals, 3), digits); g_value_take_string (gimp_value_array_index (return_vals, 4), symbol); g_value_take_string (gimp_value_array_index (return_vals, 5), abbreviation); - g_value_take_string (gimp_value_array_index (return_vals, 6), singular); - g_value_take_string (gimp_value_array_index (return_vals, 7), plural); } return return_vals; @@ -212,9 +202,9 @@ register_unit_procs (GimpPDB *pdb) "Michael Natterer", "1999"); gimp_procedure_add_argument (procedure, - gimp_param_spec_string ("identifier", - "identifier", - "The new unit's identifier", + gimp_param_spec_string ("name", + "name", + "The new unit's name", FALSE, FALSE, TRUE, NULL, GIMP_PARAM_READWRITE)); @@ -244,20 +234,6 @@ register_unit_procs (GimpPDB *pdb) FALSE, FALSE, TRUE, NULL, GIMP_PARAM_READWRITE)); - gimp_procedure_add_argument (procedure, - gimp_param_spec_string ("singular", - "singular", - "The new unit's singular form", - FALSE, FALSE, TRUE, - NULL, - GIMP_PARAM_READWRITE)); - gimp_procedure_add_argument (procedure, - gimp_param_spec_string ("plural", - "plural", - "The new unit's plural form", - FALSE, FALSE, TRUE, - NULL, - GIMP_PARAM_READWRITE)); gimp_procedure_add_return_value (procedure, gimp_param_spec_unit ("unit", "unit", @@ -290,9 +266,9 @@ register_unit_procs (GimpPDB *pdb) G_MININT32, G_MAXINT32, 0, GIMP_PARAM_READWRITE)); gimp_procedure_add_return_value (procedure, - gimp_param_spec_string ("identifier", - "identifier", - "The unit's textual identifier", + gimp_param_spec_string ("name", + "name", + "The unit's name", FALSE, FALSE, FALSE, NULL, GIMP_PARAM_READWRITE)); @@ -322,20 +298,6 @@ register_unit_procs (GimpPDB *pdb) FALSE, FALSE, FALSE, NULL, GIMP_PARAM_READWRITE)); - gimp_procedure_add_return_value (procedure, - gimp_param_spec_string ("singular", - "singular", - "The unit's singular form", - FALSE, FALSE, FALSE, - NULL, - GIMP_PARAM_READWRITE)); - gimp_procedure_add_return_value (procedure, - gimp_param_spec_string ("plural", - "plural", - "The unit's plural form", - FALSE, FALSE, FALSE, - NULL, - GIMP_PARAM_READWRITE)); gimp_pdb_register_procedure (pdb, procedure); g_object_unref (procedure); diff --git a/app/tools/gimpmeasuretool.c b/app/tools/gimpmeasuretool.c index 91bbc05836..4ab820a2a9 100644 --- a/app/tools/gimpmeasuretool.c +++ b/app/tools/gimpmeasuretool.c @@ -623,7 +623,7 @@ gimp_measure_tool_dialog_update (GimpMeasureTool *measure, g_snprintf (format, sizeof (format), "%%.%df %s, %%.2f\302\260 (%%.%df × %%.%df)", unit_distance_digits, - gimp_unit_get_plural (shell->unit), + gimp_unit_get_name (shell->unit), unit_width_digits, unit_height_digits); @@ -648,7 +648,7 @@ gimp_measure_tool_dialog_update (GimpMeasureTool *measure, gtk_label_set_text (GTK_LABEL (measure->distance_label[1]), buf); gtk_label_set_text (GTK_LABEL (measure->unit_label[0]), - gimp_unit_get_plural (shell->unit)); + gimp_unit_get_name (shell->unit)); } else { @@ -685,7 +685,7 @@ gimp_measure_tool_dialog_update (GimpMeasureTool *measure, gtk_label_set_text (GTK_LABEL (measure->width_label[1]), buf); gtk_label_set_text (GTK_LABEL (measure->unit_label[2]), - gimp_unit_get_plural (shell->unit)); + gimp_unit_get_name (shell->unit)); } else { @@ -705,7 +705,7 @@ gimp_measure_tool_dialog_update (GimpMeasureTool *measure, gtk_label_set_text (GTK_LABEL (measure->height_label[1]), buf); gtk_label_set_text (GTK_LABEL (measure->unit_label[3]), - gimp_unit_get_plural (shell->unit)); + gimp_unit_get_name (shell->unit)); } else { diff --git a/app/tools/gimptextoptions.c b/app/tools/gimptextoptions.c index 595722c7d2..c694fa58e2 100644 --- a/app/tools/gimptextoptions.c +++ b/app/tools/gimptextoptions.c @@ -804,7 +804,7 @@ gimp_text_options_gui (GimpToolOptions *tool_options) gtk_widget_show (grid); entry = gimp_prop_size_entry_new (config, - "font-size", FALSE, "font-size-unit", "%p", + "font-size", FALSE, "font-size-unit", "%n", GIMP_SIZE_ENTRY_UPDATE_SIZE, 72.0); gimp_grid_attach_aligned (GTK_GRID (grid), 0, row++, _("Size:"), 0.0, 0.5, diff --git a/app/widgets/gimpimagepropview.c b/app/widgets/gimpimagepropview.c index 3e3fb6e7cb..cbf7156e4b 100644 --- a/app/widgets/gimpimagepropview.c +++ b/app/widgets/gimpimagepropview.c @@ -448,7 +448,7 @@ gimp_image_prop_view_update (GimpImagePropView *view) g_snprintf (format_buf, sizeof (format_buf), "%%.%df × %%.%df %s", gimp_unit_get_scaled_digits (unit, xres), gimp_unit_get_scaled_digits (unit, yres), - gimp_unit_get_plural (unit)); + gimp_unit_get_name (unit)); g_snprintf (buf, sizeof (buf), format_buf, gimp_pixels_to_units (gimp_image_get_width (image), unit, xres), gimp_pixels_to_units (gimp_image_get_height (image), unit, yres)); diff --git a/app/widgets/gimpsizebox.c b/app/widgets/gimpsizebox.c index 406abee0c7..a70df4cea3 100644 --- a/app/widgets/gimpsizebox.c +++ b/app/widgets/gimpsizebox.c @@ -183,7 +183,7 @@ gimp_size_box_constructed (GObject *object) gtk_box_pack_start (GTK_BOX (box), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - entry = gimp_coordinates_new (box->unit, "%p", + entry = gimp_coordinates_new (box->unit, "%n", TRUE, TRUE, SB_WIDTH, GIMP_SIZE_ENTRY_UPDATE_SIZE, TRUE, TRUE, diff --git a/app/widgets/gimptemplateeditor.c b/app/widgets/gimptemplateeditor.c index 6685380c3c..2a1b0f6d21 100644 --- a/app/widgets/gimptemplateeditor.c +++ b/app/widgets/gimptemplateeditor.c @@ -224,7 +224,7 @@ gimp_template_editor_constructed (GObject *object) private->size_se = gimp_size_entry_new (0, gimp_template_get_unit (template), - _("%p"), + _("%n"), TRUE, FALSE, FALSE, SB_WIDTH, GIMP_SIZE_ENTRY_UPDATE_SIZE); @@ -359,7 +359,7 @@ gimp_template_editor_constructed (GObject *object) private->resolution_se = gimp_size_entry_new (0, gimp_template_get_resolution_unit (template), - _("pixels/%s"), + _("pixels/%a"), FALSE, FALSE, FALSE, SB_WIDTH, GIMP_SIZE_ENTRY_UPDATE_RESOLUTION); diff --git a/app/xcf/xcf-load.c b/app/xcf/xcf-load.c index 7870540e55..2057c32998 100644 --- a/app/xcf/xcf-load.c +++ b/app/xcf/xcf-load.c @@ -1455,30 +1455,36 @@ xcf_load_image_props (XcfInfo *info, case PROP_USER_UNIT: { - gchar *unit_strings[5]; + gchar *unit_strings[5] = { 0 }; float factor; guint32 digits; GimpUnit *unit; GList *iter; + gint n_fields = 3; gint i; xcf_read_float (info, &factor, 1); xcf_read_int32 (info, &digits, 1); - xcf_read_string (info, unit_strings, 5); - for (i = 0; i < 5; i++) + /* Depending on XCF version, read more or less strings. */ + if (info->file_version < 21) + n_fields = 5; + xcf_read_string (info, unit_strings, n_fields); + + for (i = 0; i < n_fields; i++) if (unit_strings[i] == NULL) unit_strings[i] = g_strdup (""); for (iter = info->gimp->user_units; iter; iter = iter->next) { unit = iter->data; - /* if the factor and the identifier match some unit - * in unitrc, use the unitrc unit + /* if the factor and the name match some unit in unitrc, + * use the unitrc unit */ - if ((ABS (gimp_unit_get_factor (unit) - factor) < 1e-5) && - (strcmp (unit_strings[0], - gimp_unit_get_identifier (unit)) == 0)) + if (ABS (gimp_unit_get_factor (unit) - factor) < 1e-5 && + (strcmp (unit_strings[0], gimp_unit_get_name (unit)) == 0 || + (info->file_version < 21 && + strcmp (unit_strings[4], gimp_unit_get_name (unit)) == 0))) { break; } @@ -1489,17 +1495,15 @@ xcf_load_image_props (XcfInfo *info, * flag. */ unit = _gimp_unit_new (info->gimp, - unit_strings[0], + unit_strings[4] && strlen (unit_strings[4]) > 0 ? unit_strings[4] : unit_strings[0], (gdouble) factor, digits, unit_strings[1], - unit_strings[2], - unit_strings[3], - unit_strings[4]); + unit_strings[2]); gimp_image_set_unit (image, unit); - for (i = 0; i < 5; i++) + for (i = 0; i < n_fields; i++) g_free (unit_strings[i]); } break; diff --git a/app/xcf/xcf-save.c b/app/xcf/xcf-save.c index 8a252eaec7..7d18e263cf 100644 --- a/app/xcf/xcf-save.c +++ b/app/xcf/xcf-save.c @@ -1588,28 +1588,37 @@ xcf_save_prop (XcfInfo *info, guint32 digits; /* write the entire unit definition */ - unit_strings[0] = gimp_unit_get_identifier (unit); + unit_strings[0] = gimp_unit_get_name (unit); factor = gimp_unit_get_factor (unit); digits = gimp_unit_get_digits (unit); unit_strings[1] = gimp_unit_get_symbol (unit); unit_strings[2] = gimp_unit_get_abbreviation (unit); - unit_strings[3] = gimp_unit_get_singular (unit); - unit_strings[4] = gimp_unit_get_plural (unit); + /* Singular and plural forms were deprecated in XCF 21. Just use + * the unit name as bogus (yet reasonable) replacements. + */ + unit_strings[3] = gimp_unit_get_name (unit); + unit_strings[4] = gimp_unit_get_name (unit); size = 2 * 4 + strlen (unit_strings[0]) ? strlen (unit_strings[0]) + 5 : 4 + strlen (unit_strings[1]) ? strlen (unit_strings[1]) + 5 : 4 + - strlen (unit_strings[2]) ? strlen (unit_strings[2]) + 5 : 4 + - strlen (unit_strings[3]) ? strlen (unit_strings[3]) + 5 : 4 + - strlen (unit_strings[4]) ? strlen (unit_strings[4]) + 5 : 4; + strlen (unit_strings[2]) ? strlen (unit_strings[2]) + 5 : 4; + + if (info->file_version < 21) + size += + strlen (unit_strings[3]) ? strlen (unit_strings[3]) + 5 : 4 + + strlen (unit_strings[4]) ? strlen (unit_strings[4]) + 5 : 4; xcf_write_prop_type_check_error (info, prop_type, va_end (args)); xcf_write_int32_check_error (info, &size, 1, va_end (args)); xcf_write_float_check_error (info, &factor, 1, va_end (args)); xcf_write_int32_check_error (info, &digits, 1, va_end (args)); - xcf_write_string_check_error (info, (gchar **) unit_strings, 5, va_end (args)); + if (info->file_version < 21) + xcf_write_string_check_error (info, (gchar **) unit_strings, 5, va_end (args)); + else + xcf_write_string_check_error (info, (gchar **) unit_strings, 3, va_end (args)); } break; diff --git a/app/xcf/xcf.c b/app/xcf/xcf.c index a4f6fe7584..050e83ee02 100644 --- a/app/xcf/xcf.c +++ b/app/xcf/xcf.c @@ -89,6 +89,7 @@ static GimpXcfLoaderFunc * const xcf_loaders[] = xcf_load_image, /* version 18 */ xcf_load_image, /* version 19 */ xcf_load_image, /* version 20 */ + xcf_load_image, /* version 21 */ }; diff --git a/libgimp/gimpresolutionentry-private.c b/libgimp/gimpresolutionentry-private.c index 43b8b62820..72d6d94043 100644 --- a/libgimp/gimpresolutionentry-private.c +++ b/libgimp/gimpresolutionentry-private.c @@ -661,7 +661,7 @@ gimp_resolution_entry_format_label (GimpResolutionEntry *entry, gimp_unit_get_digits (entry->unit)); gchar *text = g_strdup_printf (format, size_inch * gimp_unit_get_factor (entry->unit), - gimp_unit_get_plural (entry->unit)); + gimp_unit_get_name (entry->unit)); g_free (format); gtk_label_set_text (GTK_LABEL (label), text); diff --git a/libgimp/gimpunit_pdb.c b/libgimp/gimpunit_pdb.c index 0552867d90..e33ac458d4 100644 --- a/libgimp/gimpunit_pdb.c +++ b/libgimp/gimpunit_pdb.c @@ -39,13 +39,11 @@ /** * gimp_unit_new: - * @identifier: The new unit's identifier. + * @name: The new unit's name. * @factor: The new unit's factor. * @digits: The new unit's digits. * @symbol: The new unit's symbol. * @abbreviation: The new unit's abbreviation. - * @singular: The new unit's singular form. - * @plural: The new unit's plural form. * * Creates a new unit. * @@ -57,26 +55,22 @@ * Returns: (transfer none): The new unit. **/ GimpUnit * -gimp_unit_new (const gchar *identifier, +gimp_unit_new (const gchar *name, gdouble factor, gint digits, const gchar *symbol, - const gchar *abbreviation, - const gchar *singular, - const gchar *plural) + const gchar *abbreviation) { GimpValueArray *args; GimpValueArray *return_vals; GimpUnit *unit = NULL; args = gimp_value_array_new_from_types (NULL, - G_TYPE_STRING, identifier, + G_TYPE_STRING, name, G_TYPE_DOUBLE, factor, G_TYPE_INT, digits, G_TYPE_STRING, symbol, G_TYPE_STRING, abbreviation, - G_TYPE_STRING, singular, - G_TYPE_STRING, plural, G_TYPE_NONE); return_vals = _gimp_pdb_run_procedure_array (gimp_get_pdb (), @@ -99,8 +93,6 @@ gimp_unit_new (const gchar *identifier, * @digits: (out): The unit's number of digits. * @symbol: (out) (transfer full): The unit's symbol. * @abbreviation: (out) (transfer full): The unit's abbreviation. - * @singular: (out) (transfer full): The unit's singular form. - * @plural: (out) (transfer full): The unit's plural form. * * Returns the various data pertaining to a given unit ID. * @@ -109,7 +101,7 @@ gimp_unit_new (const gchar *identifier, * programming error to use it directly, in particular for any of the * built-in units. * - * Returns: (transfer full): The unit's textual identifier. + * Returns: (transfer full): The unit's name. * The returned value must be freed with g_free(). **/ gchar * @@ -117,13 +109,11 @@ _gimp_unit_get_data (gint unit_id, gdouble *factor, gint *digits, gchar **symbol, - gchar **abbreviation, - gchar **singular, - gchar **plural) + gchar **abbreviation) { GimpValueArray *args; GimpValueArray *return_vals; - gchar *identifier = NULL; + gchar *name = NULL; args = gimp_value_array_new_from_types (NULL, G_TYPE_INT, unit_id, @@ -136,18 +126,16 @@ _gimp_unit_get_data (gint unit_id, if (GIMP_VALUES_GET_ENUM (return_vals, 0) == GIMP_PDB_SUCCESS) { - identifier = GIMP_VALUES_DUP_STRING (return_vals, 1); + name = GIMP_VALUES_DUP_STRING (return_vals, 1); *factor = GIMP_VALUES_GET_DOUBLE (return_vals, 2); *digits = GIMP_VALUES_GET_INT (return_vals, 3); *symbol = GIMP_VALUES_DUP_STRING (return_vals, 4); *abbreviation = GIMP_VALUES_DUP_STRING (return_vals, 5); - *singular = GIMP_VALUES_DUP_STRING (return_vals, 6); - *plural = GIMP_VALUES_DUP_STRING (return_vals, 7); } gimp_value_array_unref (return_vals); - return identifier; + return name; } /** diff --git a/libgimp/gimpunit_pdb.h b/libgimp/gimpunit_pdb.h index 3db638be77..d5f9d70081 100644 --- a/libgimp/gimpunit_pdb.h +++ b/libgimp/gimpunit_pdb.h @@ -32,20 +32,16 @@ G_BEGIN_DECLS /* For information look into the C source or the html documentation */ -GimpUnit* gimp_unit_new (const gchar *identifier, +GimpUnit* gimp_unit_new (const gchar *name, gdouble factor, gint digits, const gchar *symbol, - const gchar *abbreviation, - const gchar *singular, - const gchar *plural); + const gchar *abbreviation); G_GNUC_INTERNAL gchar* _gimp_unit_get_data (gint unit_id, gdouble *factor, gint *digits, gchar **symbol, - gchar **abbreviation, - gchar **singular, - gchar **plural); + gchar **abbreviation); G_GNUC_INTERNAL gboolean _gimp_unit_get_deletion_flag (GimpUnit *unit); G_GNUC_INTERNAL gboolean _gimp_unit_set_deletion_flag (GimpUnit *unit, gboolean deletion_flag); diff --git a/libgimp/tests/test-unit.c b/libgimp/tests/test-unit.c index 8b02438b9e..23ec03e8f2 100644 --- a/libgimp/tests/test-unit.c +++ b/libgimp/tests/test-unit.c @@ -4,7 +4,7 @@ typedef struct { gdouble factor; gint digits; - gchar *identifier; + gchar *name; gchar *symbol; gchar *abbreviation; } GimpUnitDef; @@ -57,7 +57,7 @@ gimp_c_test_run (GimpProcedure *procedure, unit = gimp_unit_get_by_id (i); GIMP_TEST_END(GIMP_IS_UNIT (unit) && - g_strcmp0 (gimp_unit_get_identifier (unit), _gimp_unit_defs[i].identifier) == 0 && + g_strcmp0 (gimp_unit_get_name (unit), _gimp_unit_defs[i].name) == 0 && g_strcmp0 (gimp_unit_get_symbol (unit), _gimp_unit_defs[i].symbol) == 0 && g_strcmp0 (gimp_unit_get_abbreviation (unit), _gimp_unit_defs[i].abbreviation) == 0 && gimp_unit_get_factor (unit) == _gimp_unit_defs[i].factor && @@ -78,9 +78,7 @@ gimp_c_test_run (GimpProcedure *procedure, GIMP_TEST_END(n_user_units == N_DEFAULT_USER_UNITS); GIMP_TEST_START("gimp_unit_new()"); - unit2 = gimp_unit_new ("identifier", 2.0, 1, - "symbol", "abbreviation", - "singular", "plural"); + unit2 = gimp_unit_new ("name", 2.0, 1, "symbol", "abbreviation"); GIMP_TEST_END(GIMP_IS_UNIT (unit2)); GIMP_TEST_START("Verifying the new user unit's ID"); diff --git a/libgimpbase/gimpbase-private.h b/libgimpbase/gimpbase-private.h index 47bf9f4246..7e00e79d9c 100644 --- a/libgimpbase/gimpbase-private.h +++ b/libgimpbase/gimpbase-private.h @@ -35,9 +35,7 @@ struct _GimpUnitVtable gdouble *factor, gint *digits, gchar **symbol, - gchar **abbreviation, - gchar **singular, - gchar **plural); + gchar **abbreviation); /* These methods MUST only be set on app, not in libgimp. */ GimpUnit * (* get_user_unit) (gint unit_id); diff --git a/libgimpbase/gimpbase.def b/libgimpbase/gimpbase.def index ab9a3ef3da..15c4279419 100644 --- a/libgimpbase/gimpbase.def +++ b/libgimpbase/gimpbase.def @@ -205,10 +205,8 @@ EXPORTS gimp_unit_get_digits gimp_unit_get_factor gimp_unit_get_id - gimp_unit_get_identifier - gimp_unit_get_plural + gimp_unit_get_name gimp_unit_get_scaled_digits - gimp_unit_get_singular gimp_unit_get_symbol gimp_unit_get_type gimp_unit_inch diff --git a/libgimpbase/gimpunit.c b/libgimpbase/gimpunit.c index b4ebd68660..f6971c4e2d 100644 --- a/libgimpbase/gimpunit.c +++ b/libgimpbase/gimpunit.c @@ -45,21 +45,8 @@ enum PROP_DIGITS, PROP_SYMBOL, PROP_ABBREVIATION, - PROP_SINGULAR, - PROP_PLURAL, }; -typedef struct -{ - gdouble factor; - gint digits; - gchar *identifier; - gchar *symbol; - gchar *abbreviation; - gchar *singular; - gchar *plural; -} GimpUnitDef; - struct _GimpUnit { GObject parent_instance; @@ -72,40 +59,63 @@ struct _GimpUnit gint digits; gchar *symbol; gchar *abbreviation; - gchar *singular; - gchar *plural; }; +typedef struct +{ + gdouble factor; + gint digits; + gchar *identifier; + gchar *symbol; + gchar *abbreviation; +} GimpUnitDef; + /* these are the built-in units */ static const GimpUnitDef _gimp_unit_defs[GIMP_UNIT_END] = { /* pseudo unit */ - { 0.0, 0, "pixels", "px", "px", - NC_("unit-singular", "pixel"), NC_("unit-plural", "pixels") }, + { + 0.0, 0, + NC_("unit-plural", "pixels"), + "px", "px", + }, /* standard units */ - { 1.0, 2, "inches", "''", "in", - NC_("unit-singular", "inch"), NC_("unit-plural", "inches") }, + { + 1.0, 2, + NC_("unit-plural", "inches"), + "''", "in", + }, - { 25.4, 1, "millimeters", "mm", "mm", - NC_("unit-singular", "millimeter"), NC_("unit-plural", "millimeters") }, + { + 25.4, 1, + NC_("unit-plural", "millimeters"), + "mm", "mm", + }, /* professional units */ - { 72.0, 0, "points", "pt", "pt", - NC_("unit-singular", "point"), NC_("unit-plural", "points") }, + { + 72.0, 0, + NC_("unit-plural", "points"), + "pt", "pt", + }, - { 6.0, 1, "picas", "pc", "pc", - NC_("unit-singular", "pica"), NC_("unit-plural", "picas") } + { + 6.0, 1, + NC_("unit-plural", "picas"), + "pc", "pc", + } }; /* not a unit at all but kept here to have the strings in one place */ static const GimpUnitDef _gimp_unit_percent_def = { - 0.0, 0, "percent", "%", "%", - NC_("singular", "percent"), NC_("plural", "percent") + 0.0, 0, + NC_("unit-plural", "percent"), + "%", "%", }; @@ -174,16 +184,6 @@ gimp_unit_class_init (GimpUnitClass *klass) NULL, GIMP_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (object_class, PROP_SINGULAR, - g_param_spec_string ("singular", NULL, NULL, - NULL, - GIMP_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (object_class, PROP_PLURAL, - g_param_spec_string ("plural", NULL, NULL, - NULL, - GIMP_PARAM_READWRITE | - G_PARAM_CONSTRUCT_ONLY)); /*klass->id_table = gimp_id_table_new ();*/ } @@ -194,8 +194,6 @@ gimp_unit_init (GimpUnit *unit) unit->name = NULL; unit->symbol = NULL; unit->abbreviation = NULL; - unit->singular = NULL; - unit->plural = NULL; } static void @@ -212,8 +210,6 @@ gimp_unit_finalize (GObject *object) g_free (unit->name); g_free (unit->symbol); g_free (unit->abbreviation); - g_free (unit->singular); - g_free (unit->plural); G_OBJECT_CLASS (parent_class)->finalize (object); } @@ -246,12 +242,6 @@ gimp_unit_set_property (GObject *object, case PROP_ABBREVIATION: unit->abbreviation = g_value_dup_string (value); break; - case PROP_SINGULAR: - unit->singular = g_value_dup_string (value); - break; - case PROP_PLURAL: - unit->plural = g_value_dup_string (value); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -287,12 +277,6 @@ gimp_unit_get_property (GObject *object, case PROP_ABBREVIATION: g_value_set_string (value, unit->abbreviation); break; - case PROP_SINGULAR: - g_value_set_string (value, unit->singular); - break; - case PROP_PLURAL: - g_value_set_string (value, unit->plural); - break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); @@ -323,15 +307,19 @@ gimp_unit_get_id (GimpUnit *unit) } /** - * gimp_unit_get_identifier: - * @unit: The unit you want to know the identifier of. + * gimp_unit_get_name: + * @unit: The unit you want to know the name of. * - * This is an untranslated string which must not be changed or freed. + * This function returns the usual name of the unit (e.g. "inches"). + * It can be used as the long label for the unit in the interface. + * For short labels, use [method@Unit.get_abbreviation]. * - * Returns: The unit's identifier. + * NOTE: This string must not be changed or freed. + * + * Returns: The unit's name. **/ const gchar * -gimp_unit_get_identifier (GimpUnit *unit) +gimp_unit_get_name (GimpUnit *unit) { g_return_val_if_fail (GIMP_IS_UNIT (unit), NULL); @@ -435,8 +423,10 @@ gimp_unit_get_symbol (GimpUnit *unit) * gimp_unit_get_abbreviation: * @unit: The unit you want to know the abbreviation of. * - * For built-in units, this function returns the abbreviation - * of the unit (e.g. "in" for inches). + * This function returns the abbreviation of the unit (e.g. "in" for + * inches). + * It can be used as a short label for the unit in the interface. + * For long labels, use [method@Unit.get_name]. * * NOTE: This string must not be changed or freed. * @@ -450,44 +440,6 @@ gimp_unit_get_abbreviation (GimpUnit *unit) return unit->abbreviation; } -/** - * gimp_unit_get_singular: - * @unit: The unit you want to know the singular form of. - * - * For built-in units, this function returns the singular form of the - * unit's name. - * - * NOTE: This string must not be changed or freed. - * - * Returns: The unit's singular form. - **/ -const gchar * -gimp_unit_get_singular (GimpUnit *unit) -{ - g_return_val_if_fail (GIMP_IS_UNIT (unit), NULL); - - return unit->singular; -} - -/** - * gimp_unit_get_plural: - * @unit: The unit you want to know the plural form of. - * - * For built-in units, this function returns the plural form of the - * unit's name. - * - * NOTE: This string must not be changed or freed. - * - * Returns: The unit's plural form. - **/ -const gchar * -gimp_unit_get_plural (GimpUnit *unit) -{ - g_return_val_if_fail (GIMP_IS_UNIT (unit), NULL); - - return unit->plural; -} - /** * gimp_unit_get_deletion_flag: * @unit: The unit you want to know the @deletion_flag of. @@ -579,8 +531,6 @@ gimp_unit_get_by_id (gint unit_id) "digits", def.digits, "symbol", def.symbol, "abbreviation", def.abbreviation, - "singular", def.singular, - "plural", def.plural, NULL); unit->delete_on_exit = FALSE; } @@ -593,8 +543,6 @@ gimp_unit_get_by_id (gint unit_id) "digits", _gimp_unit_percent_def.digits, "symbol", _gimp_unit_percent_def.symbol, "abbreviation", _gimp_unit_percent_def.abbreviation, - "singular", _gimp_unit_percent_def.singular, - "plural", _gimp_unit_percent_def.plural, NULL); unit->delete_on_exit = FALSE; } @@ -609,16 +557,12 @@ gimp_unit_get_by_id (gint unit_id) gint digits; gchar *symbol = NULL; gchar *abbreviation = NULL; - gchar *singular = NULL; - gchar *plural = NULL; identifier = _gimp_unit_vtable.get_data (unit_id, &factor, &digits, &symbol, - &abbreviation, - &singular, - &plural); + &abbreviation); if (identifier != NULL) unit = g_object_new (GIMP_TYPE_UNIT, @@ -628,15 +572,11 @@ gimp_unit_get_by_id (gint unit_id) "digits", digits, "symbol", symbol, "abbreviation", abbreviation, - "singular", singular, - "plural", plural, NULL); g_free (identifier); g_free (symbol); g_free (abbreviation); - g_free (singular); - g_free (plural); } else if (_gimp_unit_vtable.get_user_unit != NULL) { @@ -826,39 +766,14 @@ gimp_unit_is_metric (GimpUnit *unit) * * The @format string supports the following percent expansions: * - * - * - * - * - * % f - * Factor (how many units make up an inch) - * - * - * % y - * Symbol (e.g. "''" for GIMP_UNIT_INCH) - * - * - * % a - * Abbreviation - * - * - * % s - * Singular - * - * - * % p - * Plural - * - * - * %% - * Literal percent - * - * - * - * + * * `%n`: Name (long label) + * * `%a`: Abbreviation (short label) + * * `%%`: Literal percent + * * `%f`: Factor (how many units make up an inch) + * * `%y`: Symbol (e.g. `''` for `GIMP_UNIT_INCH`) * - * Returns: A newly allocated string with above percent expressions - * replaced with the resp. strings for @unit. + * Returns: (transfer full): A newly allocated string with above percent + * expressions replaced with the resp. strings for @unit. * * Since: 2.8 **/ @@ -904,14 +819,9 @@ gimp_unit_format_string (const gchar *format, gimp_unit_get_abbreviation (unit)); break; - case 's': /* singular */ + case 'n': /* full name */ i += print (buffer, sizeof (buffer), i, "%s", - gimp_unit_get_singular (unit)); - break; - - case 'p': /* plural */ - i += print (buffer, sizeof (buffer), i, "%s", - gimp_unit_get_plural (unit)); + gimp_unit_get_name (unit)); break; default: diff --git a/libgimpbase/gimpunit.h b/libgimpbase/gimpunit.h index 01c8772e4f..431bab4e0b 100644 --- a/libgimpbase/gimpunit.h +++ b/libgimpbase/gimpunit.h @@ -43,15 +43,13 @@ G_DECLARE_FINAL_TYPE (GimpUnit, gimp_unit, GIMP, UNIT, GObject) gint32 gimp_unit_get_id (GimpUnit *unit); -const gchar * gimp_unit_get_identifier (GimpUnit *unit); +const gchar * gimp_unit_get_name (GimpUnit *unit); gdouble gimp_unit_get_factor (GimpUnit *unit); gint gimp_unit_get_digits (GimpUnit *unit); gint gimp_unit_get_scaled_digits (GimpUnit *unit, gdouble resolution); const gchar * gimp_unit_get_symbol (GimpUnit *unit); const gchar * gimp_unit_get_abbreviation (GimpUnit *unit); -const gchar * gimp_unit_get_singular (GimpUnit *unit); -const gchar * gimp_unit_get_plural (GimpUnit *unit); gboolean gimp_unit_get_deletion_flag (GimpUnit *unit); void gimp_unit_set_deletion_flag (GimpUnit *unit, diff --git a/libgimpconfig/gimpconfig-deserialize.c b/libgimpconfig/gimpconfig-deserialize.c index 26a20e70f6..07f27e1a63 100644 --- a/libgimpconfig/gimpconfig-deserialize.c +++ b/libgimpconfig/gimpconfig-deserialize.c @@ -887,7 +887,7 @@ gimp_config_get_unit_from_identifier (const gchar *identifier) unit = gimp_unit_get_by_id (GIMP_UNIT_PIXEL); for (gint i = GIMP_UNIT_PIXEL; unit; i++) { - if (g_strcmp0 (identifier, gimp_unit_get_identifier (unit)) == 0) + if (g_strcmp0 (identifier, gimp_unit_get_name (unit)) == 0) break; unit = gimp_unit_get_by_id (i); diff --git a/libgimpconfig/gimpconfig-serialize.c b/libgimpconfig/gimpconfig-serialize.c index f9710c9f4b..258e12d995 100644 --- a/libgimpconfig/gimpconfig-serialize.c +++ b/libgimpconfig/gimpconfig-serialize.c @@ -377,7 +377,7 @@ gimp_config_serialize_property (GimpConfig *config, gimp_config_writer_open (writer, param_spec->name); if (unit) - gimp_config_writer_printf (writer, "%s", gimp_unit_get_identifier (unit)); + gimp_config_writer_printf (writer, "%s", gimp_unit_get_name (unit)); else gimp_config_writer_printf (writer, "%s", "NULL"); diff --git a/libgimpwidgets/gimpquerybox.c b/libgimpwidgets/gimpquerybox.c index b2f9c6293e..f184dc72c3 100644 --- a/libgimpwidgets/gimpquerybox.c +++ b/libgimpwidgets/gimpquerybox.c @@ -484,7 +484,7 @@ gimp_query_size_box (const gchar *title, if (! query_box) return NULL; - sizeentry = gimp_size_entry_new (1, unit, "%p", TRUE, FALSE, FALSE, 12, + sizeentry = gimp_size_entry_new (1, unit, "%n", TRUE, FALSE, FALSE, 12, GIMP_SIZE_ENTRY_UPDATE_SIZE); if (dot_for_dot) gimp_size_entry_set_unit (GIMP_SIZE_ENTRY (sizeentry), gimp_unit_pixel ()); diff --git a/libgimpwidgets/gimpsizeentry.c b/libgimpwidgets/gimpsizeentry.c index 1c3929b197..8d9bfb1fba 100644 --- a/libgimpwidgets/gimpsizeentry.c +++ b/libgimpwidgets/gimpsizeentry.c @@ -407,12 +407,7 @@ gimp_size_entry_new (gint number_of_fields, gchar *short_format = g_strdup (unit_format); gchar *p; - p = strstr (short_format, "%s"); - if (p) - strcpy (p, "%a"); - - p = strstr (short_format, "%p"); - if (p) + while ((p = strstr (short_format, "%n"))) strcpy (p, "%a"); g_object_set (store, diff --git a/libgimpwidgets/gimpunitstore.c b/libgimpwidgets/gimpunitstore.c index 55e07e742f..01c27957e4 100644 --- a/libgimpwidgets/gimpunitstore.c +++ b/libgimpwidgets/gimpunitstore.c @@ -128,8 +128,6 @@ static GType column_types[GIMP_UNIT_STORE_UNIT_COLUMNS] = G_TYPE_STRING, G_TYPE_STRING, G_TYPE_STRING, - G_TYPE_STRING, - G_TYPE_STRING }; @@ -191,7 +189,7 @@ gimp_unit_store_init (GimpUnitStore *store) private->has_pixels = TRUE; private->has_percent = FALSE; private->short_format = g_strdup ("%a"); - private->long_format = g_strdup ("%p"); + private->long_format = g_strdup ("%n"); private->synced_ID = 0; } @@ -442,8 +440,8 @@ gimp_unit_store_tree_model_get_value (GtkTreeModel *tree_model, case GIMP_UNIT_STORE_UNIT_DIGITS: g_value_set_int (value, gimp_unit_get_digits (unit)); break; - case GIMP_UNIT_STORE_UNIT_IDENTIFIER: - g_value_set_static_string (value, gimp_unit_get_identifier (unit)); + case GIMP_UNIT_STORE_UNIT_NAME: + g_value_set_static_string (value, gimp_unit_get_name (unit)); break; case GIMP_UNIT_STORE_UNIT_SYMBOL: g_value_set_static_string (value, gimp_unit_get_symbol (unit)); @@ -451,12 +449,6 @@ gimp_unit_store_tree_model_get_value (GtkTreeModel *tree_model, case GIMP_UNIT_STORE_UNIT_ABBREVIATION: g_value_set_static_string (value, gimp_unit_get_abbreviation (unit)); break; - case GIMP_UNIT_STORE_UNIT_SINGULAR: - g_value_set_static_string (value, gimp_unit_get_singular (unit)); - break; - case GIMP_UNIT_STORE_UNIT_PLURAL: - g_value_set_static_string (value, gimp_unit_get_plural (unit)); - break; case GIMP_UNIT_STORE_UNIT_SHORT_FORMAT: g_value_take_string (value, gimp_unit_format_string (private->short_format, diff --git a/libgimpwidgets/gimpunitstore.h b/libgimpwidgets/gimpunitstore.h index b648f6040d..ccc51f734f 100644 --- a/libgimpwidgets/gimpunitstore.h +++ b/libgimpwidgets/gimpunitstore.h @@ -34,11 +34,9 @@ enum GIMP_UNIT_STORE_UNIT, GIMP_UNIT_STORE_UNIT_FACTOR, GIMP_UNIT_STORE_UNIT_DIGITS, - GIMP_UNIT_STORE_UNIT_IDENTIFIER, + GIMP_UNIT_STORE_UNIT_NAME, GIMP_UNIT_STORE_UNIT_SYMBOL, GIMP_UNIT_STORE_UNIT_ABBREVIATION, - GIMP_UNIT_STORE_UNIT_SINGULAR, - GIMP_UNIT_STORE_UNIT_PLURAL, GIMP_UNIT_STORE_UNIT_SHORT_FORMAT, GIMP_UNIT_STORE_UNIT_LONG_FORMAT, GIMP_UNIT_STORE_UNIT_COLUMNS, diff --git a/pdb/groups/unit.pdb b/pdb/groups/unit.pdb index 5380ef55da..9e2e2f940a 100644 --- a/pdb/groups/unit.pdb +++ b/pdb/groups/unit.pdb @@ -35,8 +35,8 @@ HELP ); @outargs = ( - { name => 'identifier', type => 'string', - desc => "The unit's textual identifier" }, + { name => 'name', type => 'string', + desc => "The unit's name" }, { name => 'factor', type => 'float', desc => "The unit's factor" }, { name => 'digits', type => 'int32', @@ -45,10 +45,6 @@ HELP desc => "The unit's symbol" }, { name => 'abbreviation', type => 'string', desc => "The unit's abbreviation" }, - { name => 'singular', type => 'string', - desc => "The unit's singular form" }, - { name => 'plural', type => 'string', - desc => "The unit's plural form" } ); %invoke = ( @@ -60,13 +56,11 @@ HELP if (unit != NULL) { - identifier = g_strdup (gimp_unit_get_identifier (unit)); + name = g_strdup (gimp_unit_get_name (unit)); factor = gimp_unit_get_factor (unit); digits = gimp_unit_get_digits (unit); symbol = g_strdup (gimp_unit_get_symbol (unit)); abbreviation = g_strdup (gimp_unit_get_abbreviation (unit)); - singular = g_strdup (gimp_unit_get_singular (unit)); - plural = g_strdup (gimp_unit_get_plural (unit)); } } } @@ -86,8 +80,8 @@ HELP &mitch_pdb_misc('1999'); @inargs = ( - { name => 'identifier', type => 'string', non_empty => 1, - desc => "The new unit's identifier" }, + { name => 'name', type => 'string', non_empty => 1, + desc => "The new unit's name" }, { name => 'factor', type => 'float', desc => "The new unit's factor" }, { name => 'digits', type => 'int32', @@ -96,10 +90,6 @@ HELP desc => "The new unit's symbol" }, { name => 'abbreviation', type => 'string', non_empty => 1, desc => "The new unit's abbreviation" }, - { name => 'singular', type => 'string', non_empty => 1, - desc => "The new unit's singular form" }, - { name => 'plural', type => 'string', non_empty => 1, - desc => "The new unit's plural form" } ); @outargs = ( @@ -110,8 +100,8 @@ HELP %invoke = ( code => <<'CODE' { - unit = _gimp_unit_new (gimp, identifier, factor, digits, - symbol, abbreviation, singular, plural); + unit = _gimp_unit_new (gimp, name, factor, digits, + symbol, abbreviation); } CODE ); diff --git a/plug-ins/common/unit-editor.c b/plug-ins/common/unit-editor.c index 572f68caa6..55a087d523 100644 --- a/plug-ins/common/unit-editor.c +++ b/plug-ins/common/unit-editor.c @@ -36,13 +36,11 @@ enum { SAVE, - IDENTIFIER, + NAME, FACTOR, DIGITS, SYMBOL, ABBREVIATION, - SINGULAR, - PLURAL, UNIT, USER_UNIT, NUM_COLUMNS @@ -113,8 +111,8 @@ static const UnitColumn columns[] = { { N_("Saved"), N_("A unit definition will only be saved before " "GIMP exits if this column is checked.") }, - { N_("ID"), N_("This string will be used to identify a " - "unit in GIMP's configuration files.") }, + { N_("Name"), N_("The name to be used to identify this unit in " + "the graphical interface") }, { N_("Factor"), N_("How many units make up an inch.") }, { N_("Digits"), N_("This field is a hint for numerical input " "fields. It specifies how many decimal digits " @@ -126,8 +124,6 @@ static const UnitColumn columns[] = "if doesn't have a symbol.") }, { N_("Abbreviation"), N_("The unit's abbreviation (e.g. \"cm\" for " "centimeters).") }, - { N_("Singular"), N_("The unit's singular form.") }, - { N_("Plural"), N_("The unit's plural form.") } }; static GActionEntry ACTIONS[] = @@ -211,13 +207,11 @@ on_app_activate (GApplication *gapp, gpointer user_data) list_store = gtk_list_store_new (NUM_COLUMNS, G_TYPE_BOOLEAN, /* SAVE */ - G_TYPE_STRING, /* IDENTIFIER */ + G_TYPE_STRING, /* NAME */ G_TYPE_DOUBLE, /* FACTOR */ G_TYPE_INT, /* DIGITS */ G_TYPE_STRING, /* SYMBOL */ G_TYPE_STRING, /* ABBREVIATION */ - G_TYPE_STRING, /* SINGULAR */ - G_TYPE_STRING, /* PLURAL */ G_TYPE_OBJECT, /* UNIT */ G_TYPE_BOOLEAN); /* USER_UNIT */ @@ -418,13 +412,11 @@ new_unit_dialog (GtkWindow *main_window, GtkWidget *entry; GtkWidget *spinbutton; - GtkWidget *identifier_entry; + GtkWidget *name_entry; GtkAdjustment *factor_adj; GtkAdjustment *digits_adj; GtkWidget *symbol_entry; GtkWidget *abbreviation_entry; - GtkWidget *singular_entry; - GtkWidget *plural_entry; GimpUnit *unit = NULL; @@ -450,17 +442,17 @@ new_unit_dialog (GtkWindow *main_window, grid, FALSE, FALSE, 0); gtk_widget_show (grid); - entry = identifier_entry = gtk_entry_new (); + entry = name_entry = gtk_entry_new (); if (template != gimp_unit_pixel ()) { gtk_entry_set_text (GTK_ENTRY (entry), - gimp_unit_get_identifier (template)); + gimp_unit_get_name (template)); } gimp_grid_attach_aligned (GTK_GRID (grid), 0, 0, _("_ID:"), 0.0, 0.5, entry, 1); - gimp_help_set_help_data (entry, gettext (columns[IDENTIFIER].help), NULL); + gimp_help_set_help_data (entry, gettext (columns[NAME].help), NULL); factor_adj = gtk_adjustment_new ((template != gimp_unit_pixel ()) ? gimp_unit_get_factor (template) : 1.0, @@ -509,64 +501,32 @@ new_unit_dialog (GtkWindow *main_window, gimp_help_set_help_data (entry, gettext (columns[ABBREVIATION].help), NULL); - entry = singular_entry = gtk_entry_new (); - if (template != gimp_unit_pixel ()) - { - gtk_entry_set_text (GTK_ENTRY (entry), - gimp_unit_get_singular (template)); - } - gimp_grid_attach_aligned (GTK_GRID (grid), 0, 5, - _("Si_ngular:"), 0.0, 0.5, - entry, 1); - - gimp_help_set_help_data (entry, gettext (columns[SINGULAR].help), NULL); - - entry = plural_entry = gtk_entry_new (); - if (template != gimp_unit_pixel ()) - { - gtk_entry_set_text (GTK_ENTRY (entry), - gimp_unit_get_plural (template)); - } - gimp_grid_attach_aligned (GTK_GRID (grid), 0, 6, - _("_Plural:"), 0.0, 0.5, - entry, 1); - - gimp_help_set_help_data (entry, gettext (columns[PLURAL].help), NULL); - gtk_widget_show (dialog); while (TRUE) { - gchar *identifier; + gchar *name; gdouble factor; gint digits; gchar *symbol; gchar *abbreviation; - gchar *singular; - gchar *plural; if (gimp_dialog_run (GIMP_DIALOG (dialog)) != GTK_RESPONSE_OK) break; - identifier = g_strdup (gtk_entry_get_text (GTK_ENTRY (identifier_entry))); + name = g_strdup (gtk_entry_get_text (GTK_ENTRY (name_entry))); factor = gtk_adjustment_get_value (factor_adj); digits = gtk_adjustment_get_value (digits_adj); symbol = g_strdup (gtk_entry_get_text (GTK_ENTRY (symbol_entry))); abbreviation = g_strdup (gtk_entry_get_text (GTK_ENTRY (abbreviation_entry))); - singular = g_strdup (gtk_entry_get_text (GTK_ENTRY (singular_entry))); - plural = g_strdup (gtk_entry_get_text (GTK_ENTRY (plural_entry))); - identifier = g_strstrip (identifier); + name = g_strstrip (name); symbol = g_strstrip (symbol); abbreviation = g_strstrip (abbreviation); - singular = g_strstrip (singular); - plural = g_strstrip (plural); - if (! strlen (identifier) || - ! strlen (symbol) || - ! strlen (abbreviation) || - ! strlen (singular) || - ! strlen (plural)) + if (! strlen (name) || + ! strlen (symbol) || + ! strlen (abbreviation)) { GtkWidget *msg = gtk_message_dialog_new (GTK_WINDOW (dialog), 0, GTK_MESSAGE_ERROR, @@ -581,15 +541,11 @@ new_unit_dialog (GtkWindow *main_window, continue; } - unit = gimp_unit_new (identifier, - factor, digits, - symbol, abbreviation, singular, plural); + unit = gimp_unit_new (name, factor, digits, symbol, abbreviation); - g_free (identifier); + g_free (name); g_free (symbol); g_free (abbreviation); - g_free (singular); - g_free (plural); break; } @@ -738,13 +694,11 @@ unit_list_init (GtkTreeView *tv) gtk_list_store_append (list_store, &iter); gtk_list_store_set (list_store, &iter, SAVE, ! gimp_unit_get_deletion_flag (unit), - IDENTIFIER, gimp_unit_get_identifier (unit), + NAME, gimp_unit_get_name (unit), FACTOR, gimp_unit_get_factor (unit), DIGITS, gimp_unit_get_digits (unit), SYMBOL, gimp_unit_get_symbol (unit), ABBREVIATION, gimp_unit_get_abbreviation (unit), - SINGULAR, gimp_unit_get_singular (unit), - PLURAL, gimp_unit_get_plural (unit), UNIT, unit, USER_UNIT, ! gimp_unit_is_built_in (unit), -1); diff --git a/plug-ins/print/print-page-layout.c b/plug-ins/print/print-page-layout.c index 95c3d7c945..0d5122d6f5 100644 --- a/plug-ins/print/print-page-layout.c +++ b/plug-ins/print/print-page-layout.c @@ -262,7 +262,7 @@ print_size_frame (PrintData *data, gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_widget_show (hbox); - entry = gimp_size_entry_new (1, data->unit, "%p", + entry = gimp_size_entry_new (1, data->unit, "%n", FALSE, FALSE, FALSE, SB_WIDTH, GIMP_SIZE_ENTRY_UPDATE_SIZE); gtk_box_pack_start (GTK_BOX (hbox), entry, FALSE, FALSE, 0); @@ -874,7 +874,7 @@ print_size_info_set_page_setup (PrintSizeInfo *info) format = g_strdup_printf ("%%.%df x %%.%df %s", gimp_unit_get_digits (data->unit), gimp_unit_get_digits (data->unit), - gimp_unit_get_plural (data->unit)); + gimp_unit_get_name (data->unit)); text = g_strdup_printf (format, page_width, page_height); g_free (format);