gimp r26458 - in branches/soc-2008-tagging: . app/widgets
- From: aurisj svn gnome org
- To: svn-commits-list gnome org
- Subject: gimp r26458 - in branches/soc-2008-tagging: . app/widgets
- Date: Sat, 9 Aug 2008 11:05:48 +0000 (UTC)
Author: aurisj
Date: Sat Aug 9 11:05:48 2008
New Revision: 26458
URL: http://svn.gnome.org/viewvc/gimp?rev=26458&view=rev
Log:
2008-08-09 Aurimas JuÅka <aurisj svn gnome org>
* app/widgets/gimptagentry.c
* app/widgets/gimptagpopup.c: smartly add spaces when necessary.
Modified:
branches/soc-2008-tagging/ChangeLog
branches/soc-2008-tagging/app/widgets/gimptagentry.c
branches/soc-2008-tagging/app/widgets/gimptagpopup.c
Modified: branches/soc-2008-tagging/app/widgets/gimptagentry.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimptagentry.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimptagentry.c Sat Aug 9 11:05:48 2008
@@ -837,7 +837,7 @@
while (tag_iterator)
{
tag = GIMP_TAG (tag_iterator->data);
- text = g_strdup_printf ("%s%s", gimp_tag_get_name (tag), gimp_tag_entry_get_separator ());
+ text = g_strdup_printf ("%s%s ", gimp_tag_get_name (tag), gimp_tag_entry_get_separator ());
tag_entry->internal_operation++;
gtk_editable_insert_text (GTK_EDITABLE (tag_entry), text, strlen (text),
&insert_pos);
@@ -1523,9 +1523,9 @@
const gchar *
gimp_tag_entry_get_separator (void)
{
- /* IMPORTANT: use only one of Unicode terminal punctuation chars followed by space.
+ /* IMPORTANT: use only one of Unicode terminal punctuation chars.
* http://unicode.org/review/pr-23.html */
- return _(", ");
+ return _(",");
}
static void
@@ -1591,7 +1591,6 @@
{
g_string_append (out_tags, gimp_tag_entry_get_separator ());
g_string_append_c (out_mask, 's');
- g_string_append_c (out_mask, 'w');
}
stage++;
@@ -1680,7 +1679,6 @@
gchar *tags_string;
GString *tags;
GString *mask;
- gboolean no_space = FALSE;
tags_string = gtk_editable_get_chars (GTK_EDITABLE (tag_entry), region_start, region_end);
tags = g_string_new (tags_string);
@@ -1690,19 +1688,9 @@
gimp_tag_entry_commit_region (tags, mask);
- if (region_start > 0)
- {
- gchar *last_c;
- gunichar c;
-
- last_c = g_utf8_offset_to_pointer (gtk_entry_get_text (GTK_ENTRY (tag_entry)),
- region_start - 1);
- c = g_utf8_get_char (last_c);
- no_space = ! g_unichar_isspace (c);
- }
-
-
- if (no_space
+ /* prepend space before if needed */
+ if (region_start > 0
+ && tag_entry->mask->str[region_start - 1] != 'w'
&& mask->len > 0
&& mask->str[0] != 'w')
{
@@ -1710,6 +1698,16 @@
g_string_prepend_c (mask, 'w');
}
+ /* append space after if needed */
+ if (region_end <= tag_entry->mask->len
+ && tag_entry->mask->str[region_end] != 'w'
+ && mask->len > 0
+ && mask->str[mask->len - 1] != 'w')
+ {
+ g_string_append_c (tags, ' ');
+ g_string_append_c (mask, 'w');
+ }
+
if (cursor_position <= region_end)
{
cursor_position += mask->len - (region_end - region_start);
Modified: branches/soc-2008-tagging/app/widgets/gimptagpopup.c
==============================================================================
--- branches/soc-2008-tagging/app/widgets/gimptagpopup.c (original)
+++ branches/soc-2008-tagging/app/widgets/gimptagpopup.c Sat Aug 9 11:05:48 2008
@@ -871,6 +871,7 @@
if (tag_str->len)
{
g_string_append (tag_str, gimp_tag_entry_get_separator ());
+ g_string_append_c (tag_str, ' ');
}
g_string_append (tag_str, current_tags[i]);
}
@@ -883,6 +884,7 @@
if (tag_str->len)
{
g_string_append (tag_str, gimp_tag_entry_get_separator ());
+ g_string_append_c (tag_str, ' ');
}
g_string_append (tag_str, tag);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]