[gthumb] Rename Categories to Tags
- From: Michael J. Chudobiak <mjc src gnome org>
- To: svn-commits-list gnome org
- Subject: [gthumb] Rename Categories to Tags
- Date: Sun, 17 May 2009 19:15:26 -0400 (EDT)
commit 0f1f096fe2cfdb1d61872aa94e5dad5d8e06245d
Author: Marc Pavot <marc pavot gmail com>
Date: Sun May 17 19:13:57 2009 -0400
Rename Categories to Tags
---
data/glade/gthumb.glade | 4 +-
data/glade/gthumb_camera.glade | 6 +-
data/glade/gthumb_comments.glade | 12 +-
data/glade/gthumb_preferences.glade | 4 +-
data/glade/gthumb_search.glade | 30 +-
data/gthumb.schemas.in | 4 +-
doc/C/gthumb.xml | 74 ++--
libgthumb/comments.c | 28 +-
libgthumb/comments.h | 4 +-
libgthumb/file-data.c | 12 +-
libgthumb/file-data.h | 2 +-
libgthumb/gth-exiv2-utils.cpp | 2 +-
libgthumb/gth-file-list.c | 4 +-
libgthumb/gth-file-view-list.c | 30 +-
libgthumb/gth-file-view-thumbs.c | 22 +-
libgthumb/gth-file-view.c | 34 +-
libgthumb/gth-file-view.h | 20 +-
libgthumb/gth-gstreamer-utils.c | 2 +-
libgthumb/gth-image-list.c | 200 ++++----
libgthumb/gth-image-list.h | 14 +-
libgthumb/gthumb-init.c | 2 +-
libgthumb/preferences.c | 8 +-
libgthumb/preferences.h | 2 +-
libgthumb/typedefs.h | 6 +-
src/Makefile.am | 8 +-
src/dlg-categories.c | 901 -----------------------------------
src/dlg-categories.h | 40 --
src/dlg-image-prop.c | 12 +-
src/dlg-photo-importer.c | 72 ++--
src/dlg-preferences.c | 16 +-
src/dlg-search.c | 212 ++++----
src/gth-browser-actions-callbacks.c | 44 +-
src/gth-browser-actions-callbacks.h | 4 +-
src/gth-browser-actions-entries.h | 16 +-
src/gth-browser-ui.h | 12 +-
src/gth-browser.c | 14 +-
src/gth-category-selection-dialog.c | 479 -------------------
src/gth-category-selection-dialog.h | 62 ---
src/gth-filter-bar.c | 62 ++--
src/gth-fullscreen.c | 12 +-
src/gth-viewer-ui.h | 2 +-
src/gth-viewer.c | 6 +-
src/gth-window-actions-callbacks.c | 8 +-
src/gth-window-actions-callbacks.h | 2 +-
src/gth-window-actions-entries.h | 18 +-
src/gth-window.c | 36 +-
src/gth-window.h | 8 +-
src/main.c | 44 +-
48 files changed, 567 insertions(+), 2049 deletions(-)
diff --git a/data/glade/gthumb.glade b/data/glade/gthumb.glade
index 325532d..63f7340 100644
--- a/data/glade/gthumb.glade
+++ b/data/glade/gthumb.glade
@@ -2026,7 +2026,7 @@
<child>
<widget class="GtkLabel" id="label184">
<property name="visible">True</property>
- <property name="label" translatable="yes"><b>Categories:</b></property>
+ <property name="label" translatable="yes"><b>Tags:</b></property>
<property name="use_underline">False</property>
<property name="use_markup">True</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -2080,7 +2080,7 @@
</child>
<child>
- <widget class="GtkLabel" id="i_categories_label">
+ <widget class="GtkLabel" id="i_tags_label">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes"></property>
diff --git a/data/glade/gthumb_camera.glade b/data/glade/gthumb_camera.glade
index dd01e32..2ef43ca 100644
--- a/data/glade/gthumb_camera.glade
+++ b/data/glade/gthumb_camera.glade
@@ -426,7 +426,7 @@
<child>
<widget class="GtkLabel" id="label3">
<property name="visible">True</property>
- <property name="label" translatable="yes">Ca_tegories:</property>
+ <property name="label" translatable="yes">_Tags:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -458,7 +458,7 @@
<property name="spacing">6</property>
<child>
- <widget class="GtkEntry" id="categories_entry">
+ <widget class="GtkEntry" id="tags_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
@@ -477,7 +477,7 @@
</child>
<child>
- <widget class="GtkButton" id="choose_categories_button">
+ <widget class="GtkButton" id="choose_tags_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">...</property>
diff --git a/data/glade/gthumb_comments.glade b/data/glade/gthumb_comments.glade
index 523470b..791a2ab 100644
--- a/data/glade/gthumb_comments.glade
+++ b/data/glade/gthumb_comments.glade
@@ -4,9 +4,9 @@
<glade-interface>
<requires lib="gnome"/>
-<widget class="GtkDialog" id="categories_dialog">
+<widget class="GtkDialog" id="tags_dialog">
<property name="border_width">6</property>
- <property name="title" translatable="yes">Categories</property>
+ <property name="title" translatable="yes">Tags</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">True</property>
@@ -97,7 +97,7 @@
<child>
<widget class="GtkLabel" id="label4">
<property name="visible">True</property>
- <property name="label" translatable="yes">A_vailable categories:</property>
+ <property name="label" translatable="yes">A_vailable tags:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -173,7 +173,7 @@
<child>
<widget class="GtkButton" id="c_add_key_button">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Create a new category</property>
+ <property name="tooltip" translatable="yes">Create a new tag</property>
<property name="can_focus">True</property>
<property name="label">gtk-new</property>
<property name="use_stock">True</property>
@@ -190,7 +190,7 @@
<child>
<widget class="GtkButton" id="c_remove_key_button">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Remove selected category</property>
+ <property name="tooltip" translatable="yes">Remove selected tag</property>
<property name="can_focus">True</property>
<property name="label">gtk-delete</property>
<property name="use_stock">True</property>
@@ -241,7 +241,7 @@
<child>
<widget class="GtkLabel" id="label5">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Selected categories:</property>
+ <property name="label" translatable="yes">_Selected tags:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
diff --git a/data/glade/gthumb_preferences.glade b/data/glade/gthumb_preferences.glade
index 16bdf48..be85930 100644
--- a/data/glade/gthumb_preferences.glade
+++ b/data/glade/gthumb_preferences.glade
@@ -944,10 +944,10 @@
</child>
<child>
- <widget class="GtkCheckButton" id="toggle_show_categories">
+ <widget class="GtkCheckButton" id="toggle_show_tags">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">C_ategories</property>
+ <property name="label" translatable="yes">T_ags</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
diff --git a/data/glade/gthumb_search.glade b/data/glade/gthumb_search.glade
index 6e19dd0..a377e42 100644
--- a/data/glade/gthumb_search.glade
+++ b/data/glade/gthumb_search.glade
@@ -420,7 +420,7 @@
<child>
<widget class="GtkLabel" id="label58">
<property name="visible">True</property>
- <property name="label" translatable="yes">Ca_tegories:</property>
+ <property name="label" translatable="yes">_Tags:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -430,7 +430,7 @@
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
- <property name="mnemonic_widget">s_categories_entry</property>
+ <property name="mnemonic_widget">s_tags_entry</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
@@ -553,7 +553,7 @@
<property name="spacing">5</property>
<child>
- <widget class="GtkEntry" id="s_categories_entry">
+ <widget class="GtkEntry" id="s_tags_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">True</property>
@@ -572,9 +572,9 @@
</child>
<child>
- <widget class="GtkButton" id="s_choose_categories_button">
+ <widget class="GtkButton" id="s_choose_tags_button">
<property name="visible">True</property>
- <property name="tooltip" translatable="yes">Choose categories from the saved list</property>
+ <property name="tooltip" translatable="yes">Choose tags from the saved list</property>
<property name="can_focus">True</property>
<property name="label" translatable="yes">...</property>
<property name="use_underline">True</property>
@@ -1786,9 +1786,9 @@
</child>
</widget>
-<widget class="GtkDialog" id="categories_dialog">
+<widget class="GtkDialog" id="tags_dialog">
<property name="border_width">6</property>
- <property name="title" translatable="yes">Categories</property>
+ <property name="title" translatable="yes">Tags</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="window_position">GTK_WIN_POS_NONE</property>
<property name="modal">True</property>
@@ -1866,7 +1866,7 @@
<child>
<widget class="GtkLabel" id="label46">
<property name="visible">True</property>
- <property name="label" translatable="yes">A_vailable categories:</property>
+ <property name="label" translatable="yes">A_vailable tags:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1876,7 +1876,7 @@
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
- <property name="mnemonic_widget">c_categories_treeview</property>
+ <property name="mnemonic_widget">c_tags_treeview</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
@@ -1901,7 +1901,7 @@
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
<child>
- <widget class="GtkTreeView" id="c_categories_treeview">
+ <widget class="GtkTreeView" id="c_tags_treeview">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="headers_visible">False</property>
@@ -1937,7 +1937,7 @@
<child>
<widget class="GtkLabel" id="label59">
<property name="visible">True</property>
- <property name="label" translatable="yes">_Selected categories:</property>
+ <property name="label" translatable="yes">_Selected tags:</property>
<property name="use_underline">True</property>
<property name="use_markup">False</property>
<property name="justify">GTK_JUSTIFY_LEFT</property>
@@ -1947,7 +1947,7 @@
<property name="yalign">0.5</property>
<property name="xpad">0</property>
<property name="ypad">0</property>
- <property name="mnemonic_widget">c_categories_entry</property>
+ <property name="mnemonic_widget">c_tags_entry</property>
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
<property name="width_chars">-1</property>
<property name="single_line_mode">False</property>
@@ -1961,7 +1961,7 @@
</child>
<child>
- <widget class="GtkEntry" id="c_categories_entry">
+ <widget class="GtkEntry" id="c_tags_entry">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="editable">False</property>
@@ -1996,7 +1996,7 @@
<widget class="GtkRadioButton" id="s_at_least_one_cat_radiobutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Match a_ny selected category</property>
+ <property name="label" translatable="yes">Match a_ny selected tag</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
@@ -2015,7 +2015,7 @@
<widget class="GtkRadioButton" id="s_all_cat_radiobutton">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="label" translatable="yes">Match a_ll selected categories</property>
+ <property name="label" translatable="yes">Match a_ll selected tags</property>
<property name="use_underline">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
diff --git a/data/gthumb.schemas.in b/data/gthumb.schemas.in
index cf02d24..12ab893 100644
--- a/data/gthumb.schemas.in
+++ b/data/gthumb.schemas.in
@@ -150,8 +150,8 @@
</schema>
<schema>
- <key>/schemas/apps/gthumb/browser/show_categories</key>
- <applyto>/apps/gthumb/browser/show_categories</applyto>
+ <key>/schemas/apps/gthumb/browser/show_tags</key>
+ <applyto>/apps/gthumb/browser/show_tags</applyto>
<owner>gthumb</owner>
<type>bool</type>
<default>true</default>
diff --git a/doc/C/gthumb.xml b/doc/C/gthumb.xml
index ecd52fc..98fecfc 100644
--- a/doc/C/gthumb.xml
+++ b/doc/C/gthumb.xml
@@ -1373,42 +1373,42 @@
</sect2>
</sect1>
- <!-- ============= Categories ================================== -->
- <sect1 id="gthumb-categories">
- <title>Categories</title>
+ <!-- ============= Tags ================================== -->
+ <sect1 id="gthumb-tags">
+ <title>Tags</title>
<para>
- Categories are keywords assigned to images and can be used to perform fine
+ Tags are keywords assigned to images and can be used to perform fine
grained searches as described in <xref linkend="gthumb-finding"/>.
<note>
<title>WARNING</title>
- <para>Categories are not embedded in image files, they are instead saved
+ <para>Tags are not embedded in image files, they are instead saved
separately. This means that if you move images or
folders with other programs you will lose your comments.
</para>
</note>
<note>
<title>FOR EXPERTS</title>
- <para>Categories are saved in the subfolder
+ <para>Tags are saved in the subfolder
<filename>.comments</filename> of the image folder and in the same file
where the image comment is saved.
</para>
</note>
</para>
- <sect2 id="gthumb-categories-add">
- <title>To Assign Categories to a Series of Images</title>
+ <sect2 id="gthumb-tags-add">
+ <title>To Assign Tags to a Series of Images</title>
<para>
- To add categories to a series of images, perform the following steps:
+ To add tags to a series of images, perform the following steps:
<orderedlist>
<listitem>
<para>Select the images and choose
- <menuchoice><guimenu>Edit</guimenu><guimenuitem>Categories
+ <menuchoice><guimenu>Edit</guimenu><guimenuitem>Tags
</guimenuitem></menuchoice>. &app; shows the
- <guilabel>Categories</guilabel> dialog.</para>
+ <guilabel>Tags</guilabel> dialog.</para>
</listitem>
<listitem>
- <para>Check the categories in the <guilabel>Available Categories
- </guilabel> List. You can create new categories clicking on the
- <guilabel>New</guilabel> button, and delete categories from the
+ <para>Check the tags in the <guilabel>Available Tags
+ </guilabel> List. You can create new tags clicking on the
+ <guilabel>New</guilabel> button, and delete tags from the
list clicking on the <guilabel>Remove</guilabel> button. </para>
</listitem>
<listitem>
@@ -1419,29 +1419,29 @@
</orderedlist>
</para>
</sect2>
- <sect2 id="gthumb-categories-add-to-folder">
- <title>To Assign Categories to a Folder</title>
+ <sect2 id="gthumb-tags-add-to-folder">
+ <title>To Assign Tags to a Folder</title>
<para>
- Instead of assigning categories to single images you can assign them
- to a folder, this is equivalent to assign the categories to all the images
+ Instead of assigning tags to single images you can assign them
+ to a folder, this is equivalent to assign the tags to all the images
contained in the folder and in all of its subfolders.
</para>
<para>
- To add categories to a folder, perform the following steps:
+ To add tags to a folder, perform the following steps:
<orderedlist>
<listitem>
<para>Go to the parent folder in order to visualize the folder name
in the folder list pane, right-click on the folder name and
- select the <menuchoice><guimenuitem>Categories</guimenuitem>
+ select the <menuchoice><guimenuitem>Tags</guimenuitem>
</menuchoice> command; alternatively go to the folder and select
the <menuchoice><guimenu>File</guimenu><guisubmenu>Folder</guisubmenu>
- <guimenuitem>Categories</guimenuitem></menuchoice> commands. In both
- cases &app; shows the <guilabel>Categories</guilabel> dialog.</para>
+ <guimenuitem>Tags</guimenuitem></menuchoice> commands. In both
+ cases &app; shows the <guilabel>Tags</guilabel> dialog.</para>
</listitem>
<listitem>
- <para>Check the categories in the <guilabel>Available Categories
- </guilabel> List. You can create new categories clicking on the
- <guilabel>New</guilabel> button, and delete categories from the
+ <para>Check the tags in the <guilabel>Available Tags
+ </guilabel> List. You can create new tags clicking on the
+ <guilabel>New</guilabel> button, and delete tags from the
list clicking on the <guilabel>Remove</guilabel> button. </para>
</listitem>
<listitem>
@@ -1452,11 +1452,11 @@
</orderedlist>
</para>
</sect2>
- <sect2 id="gthumb-categories-remove">
- <title>To Remove Categories from an Image or a Folder</title>
+ <sect2 id="gthumb-tags-remove">
+ <title>To Remove Tags from an Image or a Folder</title>
<para>
- To remove categories from a series of images or a folder perform the
- same steps as described above and uncheck the categories you want
+ To remove tags from a series of images or a folder perform the
+ same steps as described above and uncheck the tags you want
to remove. Finally click on <guibutton>Ok</guibutton> to confirm the
operation.
</para>
@@ -1889,18 +1889,18 @@
</varlistentry>
<varlistentry>
<!-- -->
- <term><guilabel>Categories</guilabel></term>
+ <term><guilabel>Tags</guilabel></term>
<listitem>
<para>
- The list of categories an images must belong to.
- Categories can be added to images using the
- <menuchoice><guimenu>Edit</guimenu><guimenuitem>Categories</guimenuitem></menuchoice>
+ The list of tags an images must belong to.
+ Tags can be added to images using the
+ <menuchoice><guimenu>Edit</guimenu><guimenuitem>Tags</guimenuitem></menuchoice>
command or pressing
<keycombo><keycap>K</keycap></keycombo>.
</para>
<para>
You can choose to search for images that belongs to all
- the specified categories or at least to one of them,
+ the specified tags or at least to one of them,
checking the corresponding option.
</para>
<para>
@@ -3004,8 +3004,8 @@
of the E modifier is to use a locale-dependent alternative representation.
</para>
<para>
- <guilabel>Categories</guilabel> can be specified for the imported
- photos using the <guilabel>Categories</guilabel> box.
+ <guilabel>Tags</guilabel> can be specified for the imported
+ photos using the <guilabel>Tags</guilabel> box.
</para>
<para>
If the <guilabel>Delete imported images from the camera</guilabel>
@@ -4109,7 +4109,7 @@
</para>
</entry>
<entry>
- <para>Assign categories to the selected images.</para>
+ <para>Assign tags to the selected images.</para>
</entry>
<entry>
<para>yes</para>
diff --git a/libgthumb/comments.c b/libgthumb/comments.c
index 7cf2442..1e22e84 100644
--- a/libgthumb/comments.c
+++ b/libgthumb/comments.c
@@ -636,12 +636,12 @@ comments_save_comment (const char *uri,
new_data = comments_load_comment (uri, FALSE);
if ((new_data == NULL) && (data != NULL)) {
- CommentData *data_without_categories;
+ CommentData *data_without_tags;
- data_without_categories = comment_data_dup (data);
- comment_data_free_keywords (data_without_categories);
- save_comment (uri, data_without_categories, TRUE);
- comment_data_free (data_without_categories);
+ data_without_tags = comment_data_dup (data);
+ comment_data_free_keywords (data_without_tags);
+ save_comment (uri, data_without_tags, TRUE);
+ comment_data_free (data_without_tags);
return;
}
@@ -700,7 +700,7 @@ comments_save_comment_non_null (const char *uri,
void
-comments_save_categories (const char *uri,
+comments_save_tags (const char *uri,
CommentData *data)
{
CommentData *new_data;
@@ -981,10 +981,10 @@ _get_comment_as_string_common (CommentData *data,
/* Note: separators are not escaped */
static char *
-_get_categories_as_string_common (CommentData *data,
+_get_tags_as_string_common (CommentData *data,
char *sep)
{
- GString *categories;
+ GString *tags;
GSList *tmp;
if (data == NULL)
@@ -993,15 +993,15 @@ _get_categories_as_string_common (CommentData *data,
if (data->keywords == NULL)
return NULL;
- categories = g_string_new ("");
+ tags = g_string_new ("");
for (tmp = data->keywords; tmp; tmp = g_slist_next (tmp)) {
- g_string_append (categories, tmp->data);
+ g_string_append (tags, tmp->data);
if (g_slist_next (tmp))
- g_string_append (categories, sep);
+ g_string_append (tags, sep);
}
- return g_string_free (categories, FALSE);
+ return g_string_free (tags, FALSE);
}
@@ -1014,9 +1014,9 @@ comments_get_comment_as_string (CommentData *data,
}
char *
-comments_get_categories_as_string (CommentData *data,
+comments_get_tags_as_string (CommentData *data,
char *sep)
{
- return _get_categories_as_string_common (data, sep);
+ return _get_tags_as_string_common (data, sep);
}
diff --git a/libgthumb/comments.h b/libgthumb/comments.h
index bac07ab..64a57a7 100644
--- a/libgthumb/comments.h
+++ b/libgthumb/comments.h
@@ -68,12 +68,12 @@ void comments_save_comment (const char *uri,
CommentData *data);
void comments_save_comment_non_null (const char *uri,
CommentData *data);
-void comments_save_categories (const char *uri,
+void comments_save_tags (const char *uri,
CommentData *data);
char * comments_get_comment_as_string (CommentData *data,
char *sep1,
char *sep2);
-char * comments_get_categories_as_string (CommentData *data,
+char * comments_get_tags_as_string (CommentData *data,
char *sep);
char* _g_escape_text_for_html (const gchar *text,
gssize length);
diff --git a/libgthumb/file-data.c b/libgthumb/file-data.c
index 5452035..a08e182 100644
--- a/libgthumb/file-data.c
+++ b/libgthumb/file-data.c
@@ -137,7 +137,7 @@ file_data_new (const char *path)
fd->thumb_loaded = FALSE;
fd->thumb_created = FALSE;
fd->comment = g_strdup ("");
- fd->categories = g_strdup ("");
+ fd->tags = g_strdup ("");
return fd;
}
@@ -181,7 +181,7 @@ file_data_dup (FileData *source)
fd->thumb_loaded = source->thumb_loaded;
fd->thumb_created = source->thumb_created;
fd->comment = (source->comment != NULL) ? g_strdup (source->comment) : NULL;
- fd->categories = (source->categories != NULL) ? g_strdup (source->categories) : NULL;
+ fd->tags = (source->tags != NULL) ? g_strdup (source->tags) : NULL;
fd->comment_data = comment_data_dup (source->comment_data);
return fd;
@@ -202,7 +202,7 @@ file_data_unref (FileData *fd)
if (fd->comment_data != NULL)
comment_data_free (fd->comment_data);
g_free (fd->comment);
- g_free (fd->categories);
+ g_free (fd->tags);
fd_free_metadata (fd);
g_free (fd);
}
@@ -289,9 +289,9 @@ file_data_update_comment (FileData *fd)
if (fd->comment == NULL)
fd->comment = g_strdup ("");
- fd->categories = comments_get_categories_as_string (fd->comment_data, ", ");
- if (fd->categories == NULL)
- fd->categories = g_strdup ("");
+ fd->tags = comments_get_tags_as_string (fd->comment_data, ", ");
+ if (fd->tags == NULL)
+ fd->tags = g_strdup ("");
}
diff --git a/libgthumb/file-data.h b/libgthumb/file-data.h
index aa9fe28..9e56a33 100644
--- a/libgthumb/file-data.h
+++ b/libgthumb/file-data.h
@@ -55,7 +55,7 @@ typedef struct {
* created for this image. */
char *comment;
- char *categories;
+ char *tags;
CommentData *comment_data;
GList *metadata;
diff --git a/libgthumb/gth-exiv2-utils.cpp b/libgthumb/gth-exiv2-utils.cpp
index 9d5fb08..02b59f2 100644
--- a/libgthumb/gth-exiv2-utils.cpp
+++ b/libgthumb/gth-exiv2-utils.cpp
@@ -603,7 +603,7 @@ write_metadata (const char *from_file,
id[metadatum->full_name] = metadatum->raw_value;
} else if (g_str_has_prefix (metadatum->full_name, "Xmp")) {
// Remove existing tags of the same type.
- // Seems to be needed for storing category keywords.
+ // Seems to be needed for storing tags keywords.
// Not exactly sure why!
Exiv2::XmpData::iterator iter = xd.findKey (Exiv2::XmpKey (metadatum->full_name));
if (iter != xd.end ())
diff --git a/libgthumb/gth-file-list.c b/libgthumb/gth-file-list.c
index 72c7441..3cb2dea 100644
--- a/libgthumb/gth-file-list.c
+++ b/libgthumb/gth-file-list.c
@@ -1114,7 +1114,7 @@ add_list_in_chunks (gpointer callback_data)
pixbuf,
fd->utf8_name,
fd->comment,
- fd->categories,
+ fd->tags,
fd);
g_object_unref (pixbuf);
}
@@ -1724,7 +1724,7 @@ gfl_update_comment (GthFileList *file_list,
/* Set the new name. */
gth_file_view_set_image_comment (file_list->view, pos, fd->comment);
- gth_file_view_set_image_categories (file_list->view, pos, fd->categories);
+ gth_file_view_set_image_tags (file_list->view, pos, fd->tags);
file_data_unref (fd);
}
}
diff --git a/libgthumb/gth-file-view-list.c b/libgthumb/gth-file-view-list.c
index 857caa1..cc01d33 100644
--- a/libgthumb/gth-file-view-list.c
+++ b/libgthumb/gth-file-view-list.c
@@ -47,7 +47,7 @@ enum {
COLUMN_TIME,
COLUMN_COMMENT,
COLUMN_EXIF_DATE,
- COLUMN_CATEGORIES,
+ COLUMN_TAGS,
NUMBER_OF_COLUMNS
};
@@ -216,7 +216,7 @@ gfv_insert (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
GthFileViewList *gfv_list = (GthFileViewList *) file_view;
GtkListStore *list_store = gfv_list->priv->list_store;
@@ -232,7 +232,7 @@ gfv_insert (GthFileView *file_view,
COLUMN_ICON, real_pixbuf,
COLUMN_NAME, text,
COLUMN_COMMENT, comment,
- COLUMN_CATEGORIES, categories,
+ COLUMN_TAGS, tags,
-1);
if (real_pixbuf != NULL)
@@ -245,7 +245,7 @@ gfv_append (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
GthFileViewList *gfv_list = (GthFileViewList *) file_view;
GtkListStore *list_store = gfv_list->priv->list_store;
@@ -263,7 +263,7 @@ gfv_append (GthFileView *file_view,
COLUMN_ICON, real_pixbuf,
COLUMN_NAME, text,
COLUMN_COMMENT, comment,
- COLUMN_CATEGORIES, categories,
+ COLUMN_TAGS, tags,
-1);
if (real_pixbuf != NULL)
@@ -282,7 +282,7 @@ gfv_append_with_data (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data)
{
GthFileViewList *gfv_list = (GthFileViewList *) file_view;
@@ -301,7 +301,7 @@ gfv_append_with_data (GthFileView *file_view,
COLUMN_ICON, real_pixbuf,
COLUMN_NAME, text,
COLUMN_COMMENT, comment,
- COLUMN_CATEGORIES, categories,
+ COLUMN_TAGS, tags,
COLUMN_FILE_DATA, data,
-1);
@@ -456,9 +456,9 @@ gfv_set_image_comment (GthFileView *file_view,
static void
-gfv_set_image_categories (GthFileView *file_view,
+gfv_set_image_tags (GthFileView *file_view,
int pos,
- const char *categories)
+ const char *tags)
{
GthFileViewList *gfv_list = (GthFileViewList *) file_view;
GtkTreeIter iter;
@@ -467,7 +467,7 @@ gfv_set_image_categories (GthFileView *file_view,
return;
gtk_list_store_set (gfv_list->priv->list_store, &iter,
- COLUMN_CATEGORIES, categories,
+ COLUMN_TAGS, tags,
-1);
}
@@ -883,7 +883,7 @@ gfv_set_view_mode (GthFileView *file_view,
gtk_tree_view_column_set_visible (column, mode & GTH_VIEW_MODE_COMMENTS);
column = gtk_tree_view_get_column (gfv_list->priv->tree_view, 3);
- gtk_tree_view_column_set_visible (column, mode & GTH_VIEW_MODE_CATEGORIES);
+ gtk_tree_view_column_set_visible (column, mode & GTH_VIEW_MODE_TAGS);
}
@@ -1334,7 +1334,7 @@ gth_file_view_list_class_init (GthFileViewListClass *file_view_list_class)
file_view_class->set_image_text = gfv_set_image_text;
file_view_class->get_image_text = gfv_get_image_text;
file_view_class->set_image_comment = gfv_set_image_comment;
- file_view_class->set_image_categories = gfv_set_image_categories;
+ file_view_class->set_image_tags = gfv_set_image_tags;
file_view_class->get_image_comment = gfv_get_image_comment;
file_view_class->get_images = gfv_get_images;
file_view_class->get_list = gfv_get_list;
@@ -1521,14 +1521,14 @@ add_columns (GtkTreeView *treeview)
gtk_tree_view_append_column (treeview, column);
- /* Categories column */
+ /* Tags column */
column = gtk_tree_view_column_new ();
renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_column_pack_start (column, renderer, TRUE);
gtk_tree_view_column_set_attributes (column, renderer,
- "text", COLUMN_CATEGORIES,
+ "text", COLUMN_TAGS,
NULL);
g_value_init (&value, PANGO_TYPE_ELLIPSIZE_MODE);
@@ -1536,7 +1536,7 @@ add_columns (GtkTreeView *treeview)
g_object_set_property (G_OBJECT (renderer), "ellipsize", &value);
g_value_unset (&value);
- gtk_tree_view_column_set_sort_column_id (column, COLUMN_CATEGORIES);
+ gtk_tree_view_column_set_sort_column_id (column, COLUMN_TAGS);
gtk_tree_view_column_set_sizing (column, GTK_TREE_VIEW_COLUMN_AUTOSIZE);
gtk_tree_view_column_set_resizable (column, FALSE);
gtk_tree_view_column_set_expand (column, TRUE);
diff --git a/libgthumb/gth-file-view-thumbs.c b/libgthumb/gth-file-view-thumbs.c
index d74dec5..ecdbf4c 100644
--- a/libgthumb/gth-file-view-thumbs.c
+++ b/libgthumb/gth-file-view-thumbs.c
@@ -133,14 +133,14 @@ gfv_insert (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
GthFileViewThumbs *gfv_thumbs = (GthFileViewThumbs *) file_view;
GthImageList *ilist = gfv_thumbs->priv->ilist;
g_return_if_fail (pixbuf != NULL);
- gth_image_list_insert (ilist, pos, pixbuf, text, comment, categories);
+ gth_image_list_insert (ilist, pos, pixbuf, text, comment, tags);
}
@@ -149,14 +149,14 @@ gfv_append (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
GthFileViewThumbs *gfv_thumbs = (GthFileViewThumbs *) file_view;
GthImageList *ilist = gfv_thumbs->priv->ilist;
g_return_val_if_fail (pixbuf != NULL, -1);
- return gth_image_list_append (ilist, pixbuf, text, comment, categories);
+ return gth_image_list_append (ilist, pixbuf, text, comment, tags);
}
@@ -165,7 +165,7 @@ gfv_append_with_data (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data)
{
GthFileViewThumbs *gfv_thumbs = (GthFileViewThumbs *) file_view;
@@ -173,7 +173,7 @@ gfv_append_with_data (GthFileView *file_view,
g_return_val_if_fail (pixbuf != NULL, -1);
- return gth_image_list_append_with_data (ilist, pixbuf, text, comment, categories, data);
+ return gth_image_list_append_with_data (ilist, pixbuf, text, comment, tags, data);
}
@@ -246,14 +246,14 @@ gfv_set_image_comment (GthFileView *file_view,
static void
-gfv_set_image_categories (GthFileView *file_view,
- int pos,
- const char *categories)
+gfv_set_image_tags (GthFileView *file_view,
+ int pos,
+ const char *tags)
{
GthFileViewThumbs *gfv_thumbs = (GthFileViewThumbs *) file_view;
GthImageList *ilist = gfv_thumbs->priv->ilist;
- gth_image_list_set_image_categories (ilist, pos, categories);
+ gth_image_list_set_image_tags (ilist, pos, tags);
}
@@ -898,7 +898,7 @@ gth_file_view_thumbs_class_init (GthFileViewThumbsClass *file_view_thumbs_class)
file_view_class->set_image_text = gfv_set_image_text;
file_view_class->get_image_text = gfv_get_image_text;
file_view_class->set_image_comment = gfv_set_image_comment;
- file_view_class->set_image_categories = gfv_set_image_categories;
+ file_view_class->set_image_tags = gfv_set_image_tags;
file_view_class->get_image_comment = gfv_get_image_comment;
file_view_class->get_images = gfv_get_images;
file_view_class->get_list = gfv_get_list;
diff --git a/libgthumb/gth-file-view.c b/libgthumb/gth-file-view.c
index 0e66775..d4b034c 100644
--- a/libgthumb/gth-file-view.c
+++ b/libgthumb/gth-file-view.c
@@ -112,7 +112,7 @@ gfv_insert (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
}
@@ -122,7 +122,7 @@ gfv_append (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
return -1;
}
@@ -133,7 +133,7 @@ gfv_append_with_data (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data)
{
return -1;
@@ -186,9 +186,9 @@ gfv_set_image_comment (GthFileView *file_view,
static void
-gfv_set_image_categories (GthFileView *file_view,
- int pos,
- const char *categories)
+gfv_set_image_tags (GthFileView *file_view,
+ int pos,
+ const char *tags)
{
}
@@ -521,7 +521,7 @@ gth_file_view_class_init (GthFileViewClass *file_view_class)
file_view_class->set_image_text = gfv_set_image_text;
file_view_class->get_image_text = gfv_get_image_text;
file_view_class->set_image_comment = gfv_set_image_comment;
- file_view_class->set_image_categories = gfv_set_image_categories;
+ file_view_class->set_image_tags = gfv_set_image_tags;
file_view_class->get_image_comment = gfv_get_image_comment;
file_view_class->get_images = gfv_get_images;
file_view_class->get_list = gfv_get_list;
@@ -706,9 +706,9 @@ gth_file_view_insert (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
- GTH_FILE_VIEW_GET_CLASS (file_view)->insert (file_view, pos, pixbuf, text, comment, categories);
+ GTH_FILE_VIEW_GET_CLASS (file_view)->insert (file_view, pos, pixbuf, text, comment, tags);
}
@@ -717,9 +717,9 @@ gth_file_view_append (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
- return GTH_FILE_VIEW_GET_CLASS (file_view)->append (file_view, pixbuf, text, comment, categories);
+ return GTH_FILE_VIEW_GET_CLASS (file_view)->append (file_view, pixbuf, text, comment, tags);
}
@@ -728,10 +728,10 @@ gth_file_view_append_with_data (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data)
{
- return GTH_FILE_VIEW_GET_CLASS (file_view)->append_with_data (file_view, pixbuf, text, comment, categories, data);
+ return GTH_FILE_VIEW_GET_CLASS (file_view)->append_with_data (file_view, pixbuf, text, comment, tags, data);
}
@@ -786,11 +786,11 @@ gth_file_view_set_image_comment (GthFileView *file_view,
void
-gth_file_view_set_image_categories (GthFileView *file_view,
- int pos,
- const char *categories)
+gth_file_view_set_image_tags (GthFileView *file_view,
+ int pos,
+ const char *tags)
{
- GTH_FILE_VIEW_GET_CLASS (file_view)->set_image_categories (file_view, pos, categories);
+ GTH_FILE_VIEW_GET_CLASS (file_view)->set_image_tags (file_view, pos, tags);
}
diff --git a/libgthumb/gth-file-view.h b/libgthumb/gth-file-view.h
index 66e439a..f6f2759 100644
--- a/libgthumb/gth-file-view.h
+++ b/libgthumb/gth-file-view.h
@@ -78,17 +78,17 @@ typedef struct {
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories);
+ const char *tags);
int (* append) (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories);
+ const char *tags);
int (* append_with_data) (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data);
void (* remove) (GthFileView *file_view,
gpointer data);
@@ -106,9 +106,9 @@ typedef struct {
void (* set_image_comment) (GthFileView *file_view,
int pos,
const char *comment);
- void (* set_image_categories) (GthFileView *file_view,
+ void (* set_image_tags) (GthFileView *file_view,
int pos,
- const char *categories);
+ const char *tags);
const char* (* get_image_comment) (GthFileView *file_view,
int pos);
int (* get_images) (GthFileView *file_view);
@@ -225,17 +225,17 @@ void gth_file_view_insert (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories);
+ const char *tags);
int gth_file_view_append (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories);
+ const char *tags);
int gth_file_view_append_with_data (GthFileView *file_view,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data);
void gth_file_view_remove (GthFileView *file_view,
gpointer data);
@@ -255,9 +255,9 @@ void gth_file_view_set_image_comment (GthFileView *file_view,
const char *comment);
const char* gth_file_view_get_image_comment (GthFileView *file_view,
int pos);
-void gth_file_view_set_image_categories(GthFileView *file_view,
+void gth_file_view_set_image_tags (GthFileView *file_view,
int pos,
- const char *categories);
+ const char *tags);
int gth_file_view_get_images (GthFileView *file_view);
GList * gth_file_view_get_list (GthFileView *file_view);
GList * gth_file_view_get_selection (GthFileView *file_view);
diff --git a/libgthumb/gth-gstreamer-utils.c b/libgthumb/gth-gstreamer-utils.c
index 3d48c97..3ec2e26 100644
--- a/libgthumb/gth-gstreamer-utils.c
+++ b/libgthumb/gth-gstreamer-utils.c
@@ -207,7 +207,7 @@ add_metadata (GList *metadata,
if (value != NULL) {
new_entry = g_new (GthMetadata, 1);
- new_entry->category = GTH_METADATA_CATEGORY_GSTREAMER;
+ new_entry->category = GTH_METADATA_CATEGORY_GSTREAMER;
new_entry->full_name = g_strdup (key);
new_entry->display_name = key;
new_entry->formatted_value = value;
diff --git a/libgthumb/gth-image-list.c b/libgthumb/gth-image-list.c
index d3d51c9..9a4c104 100644
--- a/libgthumb/gth-image-list.c
+++ b/libgthumb/gth-image-list.c
@@ -48,7 +48,7 @@
#define DEFAULT_TEXT_SPACING 6
#define DEFAULT_IMAGE_BORDER 3
#define TEXT_COMMENT_SPACE 6 /* space between text and comment. */
-#define TEXT_CATEGORIES_SPACE 6 /* space between text and categories. */
+#define TEXT_TAGS_SPACE 6 /* space between text and tags. */
#define KEYBOARD_SELECTION_BORDER 10
#define FRAME_SELECTION_BORDER 3
@@ -70,9 +70,9 @@
+ ((((il)->comment_height > 0) || ((il)->text_height > 0)) ? (gil)->priv->text_spacing : 0) \
+ (il)->comment_height \
+ ((((il)->comment_height > 0) && ((il)->text_height > 0)) ? TEXT_COMMENT_SPACE : 0) \
- + ((((il)->categories_height > 0) || ((il)->text_height > 0)) ? (gil)->priv->text_spacing : 0) \
- + (il)->categories_height \
- + ((((il)->categories_height > 0) && ((il)->text_height > 0)) ? TEXT_CATEGORIES_SPACE : 0) \
+ + ((((il)->tags_height > 0) || ((il)->text_height > 0)) ? (gil)->priv->text_spacing : 0) \
+ + (il)->tags_height \
+ + ((((il)->tags_height > 0) && ((il)->text_height > 0)) ? TEXT_TAGS_SPACE : 0) \
+ (il)->text_height \
+ (gil)->priv->row_spacing)
@@ -240,7 +240,7 @@ gth_image_list_item_new (GthImageList *image_list,
GdkPixbuf *image,
const char *label,
const char *comment,
- const char *categories,
+ const char *tags,
GType data_type)
{
GthImageListItem *item;
@@ -254,7 +254,7 @@ gth_image_list_item_new (GthImageList *image_list,
item->image_area.width = -1;
item->label_area.width = -1;
item->comment_area.width = -1;
- item->categories_area.width = -1;
+ item->tags_area.width = -1;
if (image != NULL)
gth_image_list_item_set_pixbuf (image_list, item, image);
@@ -265,8 +265,8 @@ gth_image_list_item_new (GthImageList *image_list,
if (comment != NULL)
item->comment = g_strdup (comment);
- if (categories != NULL)
- item->categories = g_strdup (categories);
+ if (tags != NULL)
+ item->tags = g_strdup (tags);
return item;
}
@@ -294,7 +294,7 @@ gth_image_list_item_unref (GthImageListItem *item)
gth_image_list_item_free_pixmap_and_mask (item);
g_free (item->label);
g_free (item->comment);
- g_free (item->categories);
+ g_free (item->tags);
if (item->data != NULL)
g_boxed_free (item->data_type, item->data);
g_free (item);
@@ -307,7 +307,7 @@ typedef struct {
int image_height;
int text_height;
int comment_height;
- int categories_height;
+ int tags_height;
GList *image_list;
} GthImageListLine;
@@ -401,7 +401,7 @@ struct _GthImageListPrivate {
PangoLayout *layout;
PangoLayout *comment_layout;
- PangoLayout *categories_layout;
+ PangoLayout *tags_layout;
PangoLayout *no_image_msg_layout;
guint layout_timeout;
@@ -561,9 +561,9 @@ gth_image_list_finalize (GObject *object)
priv->comment_layout = NULL;
}
- if (priv->categories_layout != NULL) {
- g_object_unref (priv->categories_layout);
- priv->categories_layout = NULL;
+ if (priv->tags_layout != NULL) {
+ g_object_unref (priv->tags_layout);
+ priv->tags_layout = NULL;
}
if (priv->no_image_msg_layout != NULL) {
@@ -675,24 +675,24 @@ get_comment_size (GthImageList *image_list,
}
static void
-get_categories_size (GthImageList *image_list,
- GthImageListItem *item,
- int *width,
- int *height)
+get_tags_size (GthImageList *image_list,
+ GthImageListItem *item,
+ int *width,
+ int *height)
{
- if ((item->categories != NULL) && (*item->categories != 0)) {
- if ((item->categories_area.width == -1) || (item->categories_area.height == -1))
+ if ((item->tags != NULL) && (*item->tags != 0)) {
+ if ((item->tags_area.width == -1) || (item->tags_area.height == -1))
get_text_size (image_list,
- item->categories,
- & (item->categories_area.width),
- & (item->categories_area.height),
+ item->tags,
+ & (item->tags_area.width),
+ & (item->tags_area.height),
TRUE);
if (width != NULL)
- *width = item->categories_area.width;
+ *width = item->tags_area.width;
if (height != NULL)
- *height = item->categories_area.height;
+ *height = item->tags_area.height;
} else {
if (width != NULL)
@@ -709,20 +709,20 @@ item_get_view_mode (GthImageList *image_list,
GthImageListItem *item,
gboolean *view_label,
gboolean *view_comment,
- gboolean *view_categories)
+ gboolean *view_tags)
{
GthImageListPrivate *priv = image_list->priv;
*view_label = priv->view_mode & GTH_VIEW_MODE_LABEL;
*view_comment = priv->view_mode & GTH_VIEW_MODE_COMMENTS;
- *view_categories = priv->view_mode & GTH_VIEW_MODE_CATEGORIES;
+ *view_tags = priv->view_mode & GTH_VIEW_MODE_TAGS;
if (STRING_IS_VOID (item->label))
*view_label = FALSE;
if (STRING_IS_VOID (item->comment))
*view_comment = FALSE;
- if (STRING_IS_VOID (item->categories))
- *view_categories = FALSE;
+ if (STRING_IS_VOID (item->tags))
+ *view_tags = FALSE;
}
@@ -732,12 +732,12 @@ get_item_height (GthImageList *image_list,
int *image_height,
int *text_height,
int *comment_height,
- int *categories_height)
+ int *tags_height)
{
*image_height = image_list->priv->max_item_width;
get_label_size (image_list, item, NULL, text_height);
get_comment_size (image_list, item, NULL, comment_height);
- get_categories_size (image_list, item, NULL, categories_height);
+ get_tags_size (image_list, item, NULL, tags_height);
}
@@ -763,7 +763,7 @@ place_item (GthImageList *image_list,
int image_height,
gboolean view_label,
gboolean view_comment,
- gboolean view_categories)
+ gboolean view_tags)
{
GthImageListPrivate *priv = image_list->priv;
int x_offset, y_offset;
@@ -792,14 +792,14 @@ place_item (GthImageList *image_list,
y += comment_height + TEXT_COMMENT_SPACE;
}
- x_offset = (priv->max_item_width - item->categories_area.width) / 2;
- if (view_categories) {
- int categories_height;
+ x_offset = (priv->max_item_width - item->tags_area.width) / 2;
+ if (view_tags) {
+ int tags_height;
- item->categories_area.x = x + x_offset + 1;
- item->categories_area.y = y;
- get_categories_size (image_list, item, NULL, &categories_height);
- y += categories_height + TEXT_CATEGORIES_SPACE;
+ item->tags_area.x = x + x_offset + 1;
+ item->tags_area.y = y;
+ get_tags_size (image_list, item, NULL, &tags_height);
+ y += tags_height + TEXT_TAGS_SPACE;
}
x_offset = (priv->max_item_width - item->label_area.width) / 2;
@@ -816,13 +816,13 @@ layout_line (GthImageList *image_list,
{
GthImageListPrivate *priv = image_list->priv;
GList *scan;
- gboolean view_label, view_comment, view_categories;
+ gboolean view_label, view_comment, view_tags;
int x = 0;
for (scan = line->image_list; scan; scan = scan->next) {
GthImageListItem *item = scan->data;
- item_get_view_mode (image_list, item, &view_label, &view_comment, &view_categories);
+ item_get_view_mode (image_list, item, &view_label, &view_comment, &view_tags);
x += priv->col_spacing;
place_item (image_list,
@@ -832,7 +832,7 @@ layout_line (GthImageList *image_list,
line->image_height,
view_label,
view_comment,
- view_categories);
+ view_tags);
x += priv->max_item_width;
}
}
@@ -845,7 +845,7 @@ add_and_layout_line (GthImageList *image_list,
int image_height,
int text_height,
int comment_height,
- int categories_height)
+ int tags_height)
{
GthImageListPrivate *priv = image_list->priv;
GthImageListLine *line;
@@ -856,7 +856,7 @@ add_and_layout_line (GthImageList *image_list,
line->image_height = image_height;
line->text_height = text_height;
line->comment_height = comment_height;
- line->categories_height = categories_height;
+ line->tags_height = tags_height;
layout_line (image_list, line);
priv->lines = g_list_append (priv->lines, line);
@@ -902,7 +902,7 @@ relayout_images_at (GthImageList *image_list,
int y)
{
GthImageListPrivate *priv = image_list->priv;
- int text_height = 0, image_height = 0, comment_height = 0, categories_height = 0;
+ int text_height = 0, image_height = 0, comment_height = 0, tags_height = 0;
int images_per_line, n;
GList *line_images = NULL, *scan;
int max_height = 0;
@@ -914,7 +914,7 @@ relayout_images_at (GthImageList *image_list,
for (; scan; scan = scan->next, n++) {
GthImageListItem *item = scan->data;
int ih, th, ch, cath;
- gboolean view_label, view_comment, view_categories;
+ gboolean view_label, view_comment, view_tags;
if (! (n % images_per_line)) {
if (line_images != NULL) {
@@ -924,7 +924,7 @@ relayout_images_at (GthImageList *image_list,
image_height,
text_height,
comment_height,
- categories_height);
+ tags_height);
line_images = NULL;
y += max_height + priv->row_spacing;
}
@@ -933,11 +933,11 @@ relayout_images_at (GthImageList *image_list,
image_height = 0;
text_height = 0;
comment_height = 0;
- categories_height = 0;
+ tags_height = 0;
}
get_item_height (image_list, item, &ih, &th, &ch, &cath);
- item_get_view_mode (image_list, item, &view_label, &view_comment, &view_categories);
+ item_get_view_mode (image_list, item, &view_label, &view_comment, &view_tags);
if (! view_label)
th = 0;
@@ -945,21 +945,21 @@ relayout_images_at (GthImageList *image_list,
if (! view_comment)
ch = 0;
- if (! view_categories)
+ if (! view_tags)
cath = 0;
image_height = MAX (ih, image_height);
text_height = MAX (th, text_height);
comment_height = MAX (ch, comment_height);
- categories_height = MAX (cath, categories_height);
+ tags_height = MAX (cath, tags_height);
max_height = (image_height
+ ((comment_height || text_height) ? priv->text_spacing : 0)
+ comment_height
+ ((comment_height && text_height) ? TEXT_COMMENT_SPACE : 0)
- + ((categories_height || text_height) ? priv->text_spacing : 0)
- + categories_height
- + ((categories_height && text_height) ? TEXT_COMMENT_SPACE : 0)
+ + ((tags_height || text_height) ? priv->text_spacing : 0)
+ + tags_height
+ + ((tags_height && text_height) ? TEXT_COMMENT_SPACE : 0)
+ text_height);
line_images = g_list_append (line_images, item);
@@ -972,7 +972,7 @@ relayout_images_at (GthImageList *image_list,
image_height,
text_height,
comment_height,
- categories_height);
+ tags_height);
update_scrollbar_adjust (image_list);
}
@@ -1038,13 +1038,13 @@ reset_text_width (GthImageList *image_list)
pango_layout_set_width (priv->layout, priv->max_item_width * PANGO_SCALE);
pango_layout_set_width (priv->comment_layout, priv->max_item_width * PANGO_SCALE);
- pango_layout_set_width (priv->categories_layout, priv->max_item_width * PANGO_SCALE);
+ pango_layout_set_width (priv->tags_layout, priv->max_item_width * PANGO_SCALE);
for (scan = priv->image_list; scan; scan = scan->next) {
GthImageListItem *item = scan->data;
item->label_area.width = -1;
item->comment_area.width = -1;
- item->categories_area.width = -1;
+ item->tags_area.width = -1;
}
priv->update_width = FALSE;
}
@@ -1205,19 +1205,19 @@ gth_image_list_realize (GtkWidget *widget)
if (priv->comment_layout != NULL)
g_object_unref (priv->comment_layout);
- if (priv->categories_layout != NULL)
- g_object_unref (priv->categories_layout);
+ if (priv->tags_layout != NULL)
+ g_object_unref (priv->tags_layout);
priv->comment_layout = pango_layout_copy (priv->layout);
- priv->categories_layout = pango_layout_copy (priv->layout);
+ priv->tags_layout = pango_layout_copy (priv->layout);
font_desc = pango_font_description_copy (pango_context_get_font_description (pango_layout_get_context (priv->comment_layout)));
pango_font_description_set_style (font_desc, PANGO_STYLE_ITALIC);
pango_layout_set_font_description (priv->comment_layout, font_desc);
- font_desc = pango_font_description_copy (pango_context_get_font_description (pango_layout_get_context (priv->categories_layout)));
+ font_desc = pango_font_description_copy (pango_context_get_font_description (pango_layout_get_context (priv->tags_layout)));
pango_font_description_set_style (font_desc, PANGO_STYLE_ITALIC);
- pango_layout_set_font_description (priv->categories_layout, font_desc);
+ pango_layout_set_font_description (priv->tags_layout, font_desc);
/* 'No Image' message Layout */
@@ -1268,9 +1268,9 @@ gth_image_list_unrealize (GtkWidget *widget)
image_list->priv->comment_layout = NULL;
}
- if (image_list->priv->categories_layout) {
- g_object_unref (image_list->priv->categories_layout);
- image_list->priv->categories_layout = NULL;
+ if (image_list->priv->tags_layout) {
+ g_object_unref (image_list->priv->tags_layout);
+ image_list->priv->tags_layout = NULL;
}
(* GTK_WIDGET_CLASS (parent_class)->unrealize) (widget);
@@ -1449,9 +1449,9 @@ get_item_bounding_box (GthImageList *image_list,
GthImageListItem *item,
GdkRectangle *item_rectangle)
{
- gboolean view_text, view_comment, view_categories;
+ gboolean view_text, view_comment, view_tags;
- item_get_view_mode (image_list, item, &view_text, &view_comment, &view_categories);
+ item_get_view_mode (image_list, item, &view_text, &view_comment, &view_tags);
*item_rectangle = item->slide_area;
item_rectangle->width = image_list->priv->max_item_width;
@@ -1473,11 +1473,11 @@ get_item_bounding_box (GthImageList *image_list,
item_rectangle);
}
- if (view_categories) {
+ if (view_tags) {
GdkRectangle tmp_rectangle;
tmp_rectangle = *item_rectangle;
gdk_rectangle_union (&tmp_rectangle,
- &item->categories_area,
+ &item->tags_area,
item_rectangle);
}
@@ -1505,7 +1505,7 @@ paint_item (GthImageList *image_list,
GtkWidget *widget = (GtkWidget*) image_list;
GtkStateType state, text_state, focus_state;
GdkRectangle item_rectangle, rect;
- gboolean view_label, view_comment, view_categories;
+ gboolean view_label, view_comment, view_tags;
gboolean focused;
if ((item->image_area.x == -1) || (item->slide_area.x == -1))
@@ -1589,7 +1589,7 @@ paint_item (GthImageList *image_list,
g_object_unref (image_gc);
}
- item_get_view_mode (image_list, item, &view_label, &view_comment, &view_categories);
+ item_get_view_mode (image_list, item, &view_label, &view_comment, &view_tags);
/* Label */
@@ -1629,23 +1629,23 @@ paint_item (GthImageList *image_list,
image_list->priv->comment_layout);
}
- /* Categories */
+ /* Tags */
- if (view_categories) {
+ if (view_tags) {
gdk_draw_rectangle (image_list->priv->bin_window,
widget->style->base_gc[text_state],
TRUE,
- item->categories_area.x - 1,
- item->categories_area.y - 1,
- item->categories_area.width + 2,
- item->categories_area.height + 2);
+ item->tags_area.x - 1,
+ item->tags_area.y - 1,
+ item->tags_area.width + 2,
+ item->tags_area.height + 2);
- pango_layout_set_text (image_list->priv->categories_layout, item->categories, strlen (item->categories));
+ pango_layout_set_text (image_list->priv->tags_layout, item->tags, strlen (item->tags));
gdk_draw_layout (image_list->priv->bin_window,
widget->style->text_gc[text_state],
- item->categories_area.x - (image_list->priv->max_item_width - item->categories_area.width) / 2,
- item->categories_area.y,
- image_list->priv->categories_layout);
+ item->tags_area.x - (image_list->priv->max_item_width - item->tags_area.width) / 2,
+ item->tags_area.y,
+ image_list->priv->tags_layout);
}
/* Focus */
@@ -3851,7 +3851,7 @@ gth_image_list_insert (GthImageList *image_list,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
GthImageListItem *item;
char *comment2;
@@ -3861,7 +3861,7 @@ gth_image_list_insert (GthImageList *image_list,
g_return_if_fail ((pos >= 0) && (pos <= image_list->priv->n_images));
comment2 = truncate_comment_if_needed (image_list, comment);
- item = gth_image_list_item_new (image_list, pixbuf, text, comment2, categories, image_list->priv->data_type);
+ item = gth_image_list_item_new (image_list, pixbuf, text, comment2, tags, image_list->priv->data_type);
g_free (comment2);
image_list_insert_item (image_list, item, pos);
@@ -3873,7 +3873,7 @@ gth_image_list_append_with_data (GthImageList *image_list,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data)
{
GthImageListItem *item;
@@ -3883,7 +3883,7 @@ gth_image_list_append_with_data (GthImageList *image_list,
g_return_val_if_fail (pixbuf != NULL, -1);
comment2 = truncate_comment_if_needed (image_list, comment);
- item = gth_image_list_item_new (image_list, pixbuf, text, comment2, categories, image_list->priv->data_type);
+ item = gth_image_list_item_new (image_list, pixbuf, text, comment2, tags, image_list->priv->data_type);
g_free (comment2);
/**/
@@ -3910,9 +3910,9 @@ gth_image_list_append (GthImageList *image_list,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories)
+ const char *tags)
{
- return gth_image_list_append_with_data (image_list, pixbuf, text, comment, categories, NULL);
+ return gth_image_list_append_with_data (image_list, pixbuf, text, comment, tags, NULL);
}
@@ -4134,25 +4134,25 @@ gth_image_list_set_image_comment (GthImageList *image_list,
void
-gth_image_list_set_image_categories (GthImageList *image_list,
- int pos,
- const char *categories)
+gth_image_list_set_image_tags (GthImageList *image_list,
+ int pos,
+ const char *tags)
{
GthImageListItem *item;
g_return_if_fail (image_list != NULL);
g_return_if_fail ((pos >= 0) && (pos < image_list->priv->n_images));
- g_return_if_fail (categories!= NULL);
+ g_return_if_fail (tags!= NULL);
item = g_list_nth (image_list->priv->image_list, pos)->data;
g_return_if_fail (item != NULL);
- g_free (item->categories);
- item->categories= NULL;
- if (categories != NULL)
- item->categories = g_strdup (categories);
- item->categories_area.width = -1;
- item->categories_area.height = -1;
+ g_free (item->tags);
+ item->tags= NULL;
+ if (tags != NULL)
+ item->tags = g_strdup (tags);
+ item->tags_area.width = -1;
+ item->tags_area.height = -1;
if (image_list->priv->frozen) {
image_list->priv->dirty = TRUE;
@@ -4488,7 +4488,7 @@ gth_image_list_get_image_at (GthImageList *image_list,
for (n = 0, scan = priv->image_list; scan; scan = scan->next, n++) {
GthImageListItem *item = scan->data;
- gboolean view_text, view_comment, view_categories;
+ gboolean view_text, view_comment, view_tags;
if ((x >= item->slide_area.x)
&& (y >= item->slide_area.y)
@@ -4497,7 +4497,7 @@ gth_image_list_get_image_at (GthImageList *image_list,
return n;
}
- item_get_view_mode (image_list, item, &view_text, &view_comment, &view_categories);
+ item_get_view_mode (image_list, item, &view_text, &view_comment, &view_tags);
if (view_text && _gdk_rectangle_point_in (&item->label_area, x, y)) {
return n;
@@ -4507,7 +4507,7 @@ gth_image_list_get_image_at (GthImageList *image_list,
return n;
}
- if (view_categories && _gdk_rectangle_point_in (&item->categories_area, x, y)) {
+ if (view_tags && _gdk_rectangle_point_in (&item->tags_area, x, y)) {
return n;
}
}
diff --git a/libgthumb/gth-image-list.h b/libgthumb/gth-image-list.h
index 801b7cb..6872b3d 100644
--- a/libgthumb/gth-image-list.h
+++ b/libgthumb/gth-image-list.h
@@ -65,7 +65,7 @@ typedef struct {
char *label;
char *comment;
- char *categories;
+ char *tags;
gpointer data;
@@ -84,7 +84,7 @@ typedef struct {
GdkRectangle image_area;
GdkRectangle label_area;
GdkRectangle comment_area;
- GdkRectangle categories_area;
+ GdkRectangle tags_area;
guint tmp_selected : 1;
} GthImageListItem;
@@ -150,17 +150,17 @@ void gth_image_list_insert (GthImageList *image_list,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories);
+ const char *tags);
int gth_image_list_append (GthImageList *image_list,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories);
+ const char *tags);
int gth_image_list_append_with_data (GthImageList *image_list,
GdkPixbuf *pixbuf,
const char *text,
const char *comment,
- const char *categories,
+ const char *tags,
gpointer data);
void gth_image_list_remove (GthImageList *image_list,
gpointer data);
@@ -176,9 +176,9 @@ const char* gth_image_list_get_image_text (GthImageList *image_list,
void gth_image_list_set_image_comment (GthImageList *image_list,
int pos,
const char *comment);
-void gth_image_list_set_image_categories (GthImageList *image_list,
+void gth_image_list_set_image_tags (GthImageList *image_list,
int pos,
- const char *categories);
+ const char *tags);
const char* gth_image_list_get_image_comment (GthImageList *image_list,
int pos);
int gth_image_list_get_images (GthImageList *image_list);
diff --git a/libgthumb/gthumb-init.c b/libgthumb/gthumb-init.c
index 831a9fd..9f43b31 100644
--- a/libgthumb/gthumb-init.c
+++ b/libgthumb/gthumb-init.c
@@ -135,7 +135,7 @@ migrate_to_new_directories (void)
migrate_dir_from_to (OLD_RC_COMMENTS_DIR, RC_COMMENTS_DIR);
migrate_file_from_to (OLD_RC_BOOKMARKS_FILE, RC_BOOKMARKS_FILE);
migrate_file_from_to (OLD_RC_HISTORY_FILE, RC_HISTORY_FILE);
- migrate_file_from_to (OLD_RC_CATEGORIES_FILE, RC_CATEGORIES_FILE);
+ migrate_file_from_to (OLD_RC_TAGS_FILE, RC_TAGS_FILE);
eel_gconf_set_boolean (PREF_MIGRATE_DIRECTORIES, FALSE);
}
diff --git a/libgthumb/preferences.c b/libgthumb/preferences.c
index 4b51a55..6a78ba7 100644
--- a/libgthumb/preferences.c
+++ b/libgthumb/preferences.c
@@ -521,18 +521,18 @@ pref_get_view_mode (void)
int view_mode = 0;
gboolean view_filenames;
gboolean view_comments;
- gboolean view_categories;
+ gboolean view_tags;
view_filenames = eel_gconf_get_boolean (PREF_SHOW_FILENAMES, FALSE);
view_comments = eel_gconf_get_boolean (PREF_SHOW_COMMENTS, TRUE);
- view_categories = eel_gconf_get_boolean (PREF_SHOW_CATEGORIES, TRUE);
+ view_tags = eel_gconf_get_boolean (PREF_SHOW_TAGS, TRUE);
if (view_filenames)
view_mode |= GTH_VIEW_MODE_LABEL;
if (view_comments)
view_mode |= GTH_VIEW_MODE_COMMENTS;
- if (view_categories)
- view_mode |= GTH_VIEW_MODE_CATEGORIES;
+ if (view_tags)
+ view_mode |= GTH_VIEW_MODE_TAGS;
return view_mode;
}
diff --git a/libgthumb/preferences.h b/libgthumb/preferences.h
index 51325e9..ca8a67f 100644
--- a/libgthumb/preferences.h
+++ b/libgthumb/preferences.h
@@ -49,7 +49,7 @@
#define PREF_SHOW_FILENAMES "/apps/gthumb/browser/show_filenames"
#define PREF_SHOW_COMMENTS "/apps/gthumb/browser/show_comments"
#define PREF_SHOW_THUMBNAILS "/apps/gthumb/browser/show_thumbnails"
-#define PREF_SHOW_CATEGORIES "/apps/gthumb/browser/show_categories"
+#define PREF_SHOW_TAGS "/apps/gthumb/browser/show_tags"
#define PREF_FAST_FILE_TYPE "/apps/gthumb/browser/fast_file_type"
#define PREF_SAVE_THUMBNAILS "/apps/gthumb/browser/save_thumbnails"
#define PREF_THUMBNAIL_SIZE "/apps/gthumb/browser/thumbnail_size"
diff --git a/libgthumb/typedefs.h b/libgthumb/typedefs.h
index d73bf3d..a4e6a7c 100644
--- a/libgthumb/typedefs.h
+++ b/libgthumb/typedefs.h
@@ -42,14 +42,14 @@
#define RC_COMMENTS_DIR ".gnome2/gthumb/comments"
#define RC_BOOKMARKS_FILE ".gnome2/gthumb/bookmarks"
#define RC_HISTORY_FILE ".gnome2/gthumb/history"
-#define RC_CATEGORIES_FILE ".gnome2/gthumb/categories"
+#define RC_TAGS_FILE ".gnome2/gthumb/categories"
#define RC_REMOTE_CACHE_DIR ".gnome2/gthumb/remote_cache"
#define OLD_RC_CATALOG_DIR ".gqview/collections"
#define OLD_RC_COMMENTS_DIR ".gqview/comments"
#define OLD_RC_BOOKMARKS_FILE ".gqview/bookmarks"
#define OLD_RC_HISTORY_FILE ".gqview/history"
-#define OLD_RC_CATEGORIES_FILE ".gqview/categories"
+#define OLD_RC_TAGS_FILE ".gqview/categories"
#define CACHE_DIR ".thumbnails"
@@ -93,7 +93,7 @@ typedef enum { /*< skip >*/
enum { /*< skip >*/
GTH_VIEW_MODE_LABEL = 0x1, /* Display label. */
GTH_VIEW_MODE_COMMENTS = 0x2, /* Display comment. */
- GTH_VIEW_MODE_CATEGORIES = 0x4, /* Display categories. */
+ GTH_VIEW_MODE_TAGS = 0x4, /* Display tags. */
};
typedef enum { /*< skip >*/
diff --git a/src/Makefile.am b/src/Makefile.am
index df3ffb1..8f32f22 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -55,8 +55,8 @@ gthumb_SOURCES = \
dlg-brightness-contrast.h \
dlg-catalog.c \
dlg-catalog.h \
- dlg-categories.c \
- dlg-categories.h \
+ dlg-tags.c \
+ dlg-tags.h \
dlg-change-date.c \
dlg-change-date.h \
dlg-color-balance.c \
@@ -103,8 +103,8 @@ gthumb_SOURCES = \
gth-browser-actions-callbacks.h \
gth-browser-actions-callbacks.c \
gth-browser-ui.h \
- gth-category-selection-dialog.c \
- gth-category-selection-dialog.h \
+ gth-tag-selection-dialog.c \
+ gth-tag-selection-dialog.h \
gth-dir-list.c \
gth-dir-list.h \
gth-exif-data-viewer.c \
diff --git a/src/dlg-categories.c b/src/dlg-categories.c
deleted file mode 100644
index 1efd5fd..0000000
--- a/src/dlg-categories.c
+++ /dev/null
@@ -1,901 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-/*
- * GThumb
- *
- * Copyright (C) 2001, 2003, 2004 Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
- */
-
-#include <config.h>
-#include <string.h>
-
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-#include <gdk/gdkkeysyms.h>
-#include <libgnomeui/gnome-help.h>
-#include <glade/glade.h>
-
-#include "typedefs.h"
-#include "file-utils.h"
-#include "preferences.h"
-#include "main.h"
-#include "gth-utils.h"
-#include "gth-window.h"
-#include "gtk-utils.h"
-#include "gtkcellrendererthreestates.h"
-#include "gth-file-view.h"
-#include "comments.h"
-#include "dlg-categories.h"
-
-
-typedef void (*SaveFunc) (GList *file_list, gpointer data);
-
-
-#define DIALOG_NAME "categories"
-#define GLADE_FILE "gthumb_comments.glade"
-#define CATEGORY_SEPARATOR ";"
-
-
-enum {
- IS_EDITABLE_COLUMN,
- HAS_THIRD_STATE_COLUMN,
- USE_CATEGORY_COLUMN,
- CATEGORY_COLUMN,
- NUM_COLUMNS
-};
-
-
-typedef struct {
- GladeXML *gui;
- GList *file_list;
- GList *default_categories_list;
- GList **add_list;
- GList **remove_list;
- SaveFunc save_func;
- gpointer save_data;
- DoneFunc done_func;
- gpointer done_data;
-
- GthWindow *window;
- GtkWidget *dialog;
-
- GtkWidget *c_ok_button;
- GtkWidget *keyword_entry;
- GtkWidget *add_key_button;
- GtkWidget *remove_key_button;
- GtkWidget *keywords_list_view;
- GtkListStore *keywords_list_model;
-
- CommentData *original_cdata;
-} DialogData;
-
-
-
-static void
-free_dialog_data (DialogData *data)
-{
- if (data->file_list != NULL) {
- g_list_foreach (data->file_list, (GFunc) g_free, NULL);
- g_list_free (data->file_list);
- data->file_list = NULL;
- }
-
- if (data->original_cdata != NULL) {
- comment_data_free (data->original_cdata);
- data->original_cdata = NULL;
- }
-}
-
-
-/* called when the main dialog is closed. */
-static void
-destroy_cb (GtkWidget *widget,
- DialogData *data)
-{
- if (data->window != NULL)
- gth_window_set_categories_dlg (data->window, NULL);
-
- g_object_unref (data->gui);
- free_dialog_data (data);
- path_list_free (data->default_categories_list);
-
- if (data->done_func)
- (*data->done_func) (data->done_data);
-
- g_free (data);
-}
-
-
-static gboolean
-unrealize_cb (GtkWidget *widget,
- DialogData *data)
-{
- pref_util_save_window_geometry (GTK_WINDOW (widget), DIALOG_NAME);
- return FALSE;
-}
-
-
-static void
-update_category_entry (DialogData *data)
-{
- GtkTreeIter iter;
- GtkTreeModel *model = GTK_TREE_MODEL (data->keywords_list_model);
- GString *categories;
-
- if (! gtk_tree_model_get_iter_first (model, &iter)) {
- gtk_entry_set_text (GTK_ENTRY (data->keyword_entry), "");
- return;
- }
-
- categories = g_string_new (NULL);
- do {
- guint use_category;
- gtk_tree_model_get (model, &iter, USE_CATEGORY_COLUMN, &use_category, -1);
- if (use_category == 1) {
- char *utf8_name;
-
- gtk_tree_model_get (model, &iter,
- CATEGORY_COLUMN, &utf8_name,
- -1);
-
- if (categories->len > 0)
- categories = g_string_append (categories, CATEGORY_SEPARATOR " ");
- categories = g_string_append (categories, utf8_name);
-
- g_free (utf8_name);
- }
- } while (gtk_tree_model_iter_next (model, &iter));
-
- gtk_entry_set_text (GTK_ENTRY (data->keyword_entry), categories->str);
- g_string_free (categories, TRUE);
-}
-
-
-/* if state_to_get == -1 get all categories. */
-static GList *
-get_categories (GtkListStore *store,
- guint state_to_get)
-{
- GtkTreeModel *model = GTK_TREE_MODEL (store);
- GList *list = NULL;
- GtkTreeIter iter;
-
- if (! gtk_tree_model_get_iter_first (model, &iter))
- return NULL;
-
- do {
- guint state;
- char *utf8_name;
-
- gtk_tree_model_get (model,
- &iter,
- USE_CATEGORY_COLUMN, &state,
- CATEGORY_COLUMN, &utf8_name,
- -1);
- if ((state_to_get == -1) || (state == state_to_get))
- list = g_list_prepend (list, utf8_name);
- else
- g_free (utf8_name);
-
- } while (gtk_tree_model_iter_next (model, &iter));
-
- return g_list_reverse (list);
-}
-
-
-static gboolean
-category_present (DialogData *data,
- char *category)
-{
- GList *all_categories;
- GList *scan;
- gboolean present = FALSE;
-
- all_categories = get_categories (data->keywords_list_model, -1);
- for (scan = all_categories; scan; scan = scan->next) {
- char *category2 = scan->data;
- if (strcmp (category2, category) == 0)
- present = TRUE;
- }
- path_list_free (all_categories);
-
- return present;
-}
-
-
-static gboolean
-category_name_is_valid (const char *name)
-{
- gboolean valid = TRUE;
- if (strchr (name, ',') != NULL)
- valid = FALSE;
- return valid;
-}
-
-
-/* called when the "add category" button is pressed. */
-static void
-add_category_cb (GtkWidget *widget,
- DialogData *data)
-{
- GtkTreeIter iter;
- char *new_category;
-
- new_category = _gtk_request_dialog_run (GTK_WINDOW (data->dialog),
- GTK_DIALOG_MODAL,
- _("Enter the new category name"),
- "",
- 1024,
- GTK_STOCK_CANCEL,
- _("C_reate"));
-
- if (new_category == NULL)
- return;
-
- if (! category_name_is_valid (new_category)) {
- _gtk_error_dialog_run (GTK_WINDOW (data->dialog),
- _("The name \"%s\" is not valid because it contains the character \",\". " "Please use a different name."),
- new_category);
-
- } else if (category_present (data, new_category)) {
- _gtk_error_dialog_run (GTK_WINDOW (data->dialog),
- _("The category \"%s\" is already present. Please use a different name."),
- new_category);
-
- } else {
- gtk_list_store_append (data->keywords_list_model, &iter);
- gtk_list_store_set (data->keywords_list_model, &iter,
- IS_EDITABLE_COLUMN, TRUE,
- USE_CATEGORY_COLUMN, 1,
- CATEGORY_COLUMN, new_category,
- -1);
- update_category_entry (data);
- }
-
- g_free (new_category);
-}
-
-
-/* called when the "remove category" button is pressed. */
-static void
-remove_category_cb (GtkWidget *widget,
- DialogData *data)
-{
- GtkTreeSelection *selection;
- GtkTreeIter iter;
-
- selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (data->keywords_list_view));
- if (! gtk_tree_selection_get_selected (selection, NULL, &iter))
- return;
-
- gtk_list_store_remove (data->keywords_list_model, &iter);
- update_category_entry (data);
-}
-
-
-static void
-save_categories (DialogData *data)
-{
- Bookmarks *categories;
- GList *scan;
- GList *cat_list;
-
- cat_list = get_categories (data->keywords_list_model, -1);
- categories = bookmarks_new (RC_CATEGORIES_FILE);
- bookmarks_set_max_lines (categories, -1);
-
- for (scan = cat_list; scan; scan = scan->next) {
- char *category = scan->data;
- bookmarks_add (categories, category, TRUE, TRUE);
- }
-
- bookmarks_write_to_disk (categories);
-
- path_list_free (cat_list);
- bookmarks_free (categories);
-}
-
-
-/* called when the "cancel" button is pressed. */
-static void
-cancel_clicked_cb (GtkWidget *widget,
- DialogData *data)
-{
- save_categories (data);
- gtk_widget_destroy (data->dialog);
-}
-
-
-/* called when the "ok" button is pressed. */
-static void
-ok_clicked_cb (GtkWidget *widget,
- DialogData *data)
-{
- save_categories (data);
-
- if (data->add_list != NULL) {
- if (*(data->add_list) != NULL)
- path_list_free (*(data->add_list));
- *(data->add_list) = get_categories (data->keywords_list_model, 1);
- }
-
- if (data->remove_list != NULL) {
- if (*(data->remove_list) != NULL)
- path_list_free (*(data->remove_list));
- *(data->remove_list) = get_categories (data->keywords_list_model, 0);
- }
-
- if (data->save_func) {
- (*data->save_func) (data->file_list, data->save_data);
- if (data->window != NULL) {
- gth_window_update_current_image_metadata (data->window);
- dlg_categories_close (data->dialog);
- }
- } else
- gtk_widget_destroy (data->dialog);
-}
-
-
-/* called when the "help" button in the search dialog is pressed. */
-static void
-help_cb (GtkWidget *widget,
- DialogData *data)
-{
- gthumb_display_help (GTK_WINDOW (data->dialog), "gthumb-categories");
-}
-
-
-static void
-use_category_toggled (GtkCellRendererThreeStates *cell,
- gchar *path_string,
- gpointer callback_data)
-{
- DialogData *data = callback_data;
- GtkTreeModel *model = GTK_TREE_MODEL (data->keywords_list_model);
- GtkTreeIter iter;
- GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
- guint value;
-
- gtk_tree_model_get_iter (model, &iter, path);
- value = gtk_cell_renderer_three_states_get_next_state (cell);
- gtk_list_store_set (GTK_LIST_STORE (model), &iter, USE_CATEGORY_COLUMN, value, -1);
-
- gtk_tree_path_free (path);
- update_category_entry (data);
-}
-
-
-static void
-add_saved_categories (DialogData *data)
-{
- Bookmarks *categories;
- GList *scan;
- GList *cat_list;
-
- cat_list = get_categories (data->keywords_list_model, -1);
- categories = bookmarks_new (RC_CATEGORIES_FILE);
- bookmarks_load_from_disk (categories);
-
- for (scan = categories->list; scan; scan = scan->next) {
- GtkTreeIter iter;
- GList *scan2;
- gboolean found = FALSE;
- char *category1 = scan->data;
-
- for (scan2 = cat_list; scan2 && !found; scan2 = scan2->next) {
- char *category2 = scan2->data;
- if (strcmp (category1, category2) == 0)
- found = TRUE;
- }
-
- if (found)
- continue;
-
- gtk_list_store_append (data->keywords_list_model, &iter);
-
- gtk_list_store_set (data->keywords_list_model, &iter,
- IS_EDITABLE_COLUMN, FALSE,
- USE_CATEGORY_COLUMN, 0,
- CATEGORY_COLUMN, category1,
- -1);
- }
-
- bookmarks_free (categories);
- path_list_free (cat_list);
-}
-
-
-static gboolean
-key_in_list (GList *list,
- const char *key)
-{
- GList *scan;
-
- for (scan = list; scan; scan = scan->next)
- if (strcmp (scan->data, key) == 0)
- return TRUE;
- return FALSE;
-}
-
-
-static int
-name_column_sort_func (GtkTreeModel *model,
- GtkTreeIter *a,
- GtkTreeIter *b,
- gpointer user_data)
-{
- char *category1, *category2;
- int result;
-
- gtk_tree_model_get (model, a, CATEGORY_COLUMN, &category1, -1);
- gtk_tree_model_get (model, b, CATEGORY_COLUMN, &category2, -1);
-
- result = g_utf8_collate (category1, category2);
-
- g_free (category1);
- g_free (category2);
-
- return result;
-}
-
-
-static gboolean
-keyword_equal_func (GtkTreeModel *model,
- gint column,
- const gchar *key,
- GtkTreeIter *iter,
- gpointer search_data)
-{
- char *cell;
- gtk_tree_model_get (model, iter, column, &cell, -1);
- return g_strcasecmp (key, cell) > 0;
-}
-
-
-static GtkWidget*
-dlg_categories_common (GtkWindow *parent,
- GthWindow *window,
- GList *file_list,
- GList *default_categories_list,
- GList **add_categories_list,
- GList **remove_categories_list,
- SaveFunc save_func,
- gpointer save_data,
- DoneFunc done_func,
- gpointer done_data,
- gboolean modal)
-{
- DialogData *data;
- GtkWidget *btn_ok;
- GtkWidget *btn_cancel;
- GtkWidget *btn_help;
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
-
-
- data = g_new (DialogData, 1);
-
- data->window = window;
- data->default_categories_list = path_list_dup (default_categories_list);
- data->add_list = add_categories_list;
- data->remove_list = remove_categories_list;
- data->save_func = save_func;
- data->save_data = save_data;
- data->done_func = done_func;
- data->done_data = done_data;
- data->original_cdata = NULL;
-
- data->gui = glade_xml_new (GTHUMB_GLADEDIR "/" GLADE_FILE , NULL, NULL);
- if (!data->gui) {
- g_free (data);
- g_warning ("Could not find " GLADE_FILE "\n");
- return NULL;
- }
-
- if (file_list != NULL)
- data->file_list = path_list_dup (file_list);
- else
- data->file_list = NULL;
-
- /* Get the widgets. */
-
- data->dialog = glade_xml_get_widget (data->gui, "categories_dialog");
-
- data->keyword_entry = glade_xml_get_widget (data->gui, "c_keyword_entry");
- data->add_key_button = glade_xml_get_widget (data->gui, "c_add_key_button");
- data->remove_key_button = glade_xml_get_widget (data->gui, "c_remove_key_button");
- data->keywords_list_view = glade_xml_get_widget (data->gui, "c_keywords_treeview");
-
- data->c_ok_button = btn_ok = glade_xml_get_widget (data->gui, "c_ok_button");
- btn_cancel = glade_xml_get_widget (data->gui, "c_cancel_button");
- btn_help = glade_xml_get_widget (data->gui, "c_help_button");
-
- /* Set widgets data. */
-
- g_object_set_data (G_OBJECT (data->dialog), "dialog_data", data);
-
- data->keywords_list_model = gtk_list_store_new (NUM_COLUMNS,
- G_TYPE_BOOLEAN,
- G_TYPE_BOOLEAN,
- G_TYPE_UINT,
- G_TYPE_STRING);
- gtk_tree_view_set_model (GTK_TREE_VIEW (data->keywords_list_view),
- GTK_TREE_MODEL (data->keywords_list_model));
- g_object_unref (data->keywords_list_model);
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (data->keywords_list_view), FALSE);
-
- gtk_tree_view_set_search_column (GTK_TREE_VIEW (data->keywords_list_view),
- CATEGORY_COLUMN);
- gtk_tree_view_set_search_equal_func (GTK_TREE_VIEW (data->keywords_list_view),
- keyword_equal_func,
- NULL,
- NULL);
-
- column = gtk_tree_view_column_new ();
-
- renderer = gtk_cell_renderer_three_states_new ();
- g_signal_connect (G_OBJECT (renderer),
- "toggled",
- G_CALLBACK (use_category_toggled),
- data);
- gtk_tree_view_column_pack_start (column, renderer, FALSE);
- gtk_tree_view_column_set_attributes (column, renderer,
- "state", USE_CATEGORY_COLUMN,
- "has_third_state", HAS_THIRD_STATE_COLUMN,
- NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- gtk_tree_view_column_pack_start (column, renderer, TRUE);
- gtk_tree_view_column_set_attributes (column, renderer,
- "text", CATEGORY_COLUMN,
- "editable", IS_EDITABLE_COLUMN,
- NULL);
-
- gtk_tree_view_column_set_sort_column_id (column, 0);
- gtk_tree_view_append_column (GTK_TREE_VIEW (data->keywords_list_view),
- column);
-
- gtk_tree_sortable_set_default_sort_func (GTK_TREE_SORTABLE (data->keywords_list_model), name_column_sort_func, NULL, NULL);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (data->keywords_list_model), GTK_TREE_SORTABLE_DEFAULT_SORT_COLUMN_ID, GTK_SORT_ASCENDING);
-
- /* Set the signals handlers. */
-
- g_signal_connect (G_OBJECT (data->dialog),
- "destroy",
- G_CALLBACK (destroy_cb),
- data);
- g_signal_connect (G_OBJECT (data->dialog),
- "unrealize",
- G_CALLBACK (unrealize_cb),
- data);
- g_signal_connect (G_OBJECT (btn_ok),
- "clicked",
- G_CALLBACK (ok_clicked_cb),
- data);
- g_signal_connect (G_OBJECT (btn_cancel),
- "clicked",
- G_CALLBACK (cancel_clicked_cb),
- data);
- g_signal_connect (G_OBJECT (btn_help),
- "clicked",
- G_CALLBACK (help_cb),
- data);
-
- g_signal_connect (G_OBJECT (data->add_key_button),
- "clicked",
- G_CALLBACK (add_category_cb),
- data);
- g_signal_connect (G_OBJECT (data->remove_key_button),
- "clicked",
- G_CALLBACK (remove_category_cb),
- data);
-
- /* run dialog. */
-
- if (parent != NULL)
- gtk_window_set_transient_for (GTK_WINDOW (data->dialog), parent);
-
- gtk_window_set_modal (GTK_WINDOW (data->dialog), modal);
- pref_util_restore_window_geometry (GTK_WINDOW (data->dialog), DIALOG_NAME);
- dlg_categories_update (data->dialog);
-
- gtk_widget_grab_focus (data->keywords_list_view);
-
- return data->dialog;
-}
-
-
-/**/
-
-
-void
-dlg_choose_categories (GtkWindow *parent,
- GList *file_list,
- GList *default_categories_list,
- GList **add_categories_list,
- GList **remove_categories_list,
- DoneFunc done_func,
- gpointer done_data)
-{
- dlg_categories_common (parent,
- NULL,
- file_list,
- default_categories_list,
- add_categories_list,
- remove_categories_list,
- NULL,
- NULL,
- done_func,
- done_data,
- TRUE);
-}
-
-
-/**/
-
-
-typedef struct {
- GthWindow *window;
- GList *add_list;
- GList *remove_list;
-} DlgCategoriesData;
-
-
-static void
-dlg_categories__done (gpointer data)
-{
- DlgCategoriesData *dcdata = data;
-
- path_list_free (dcdata->add_list);
- dcdata->add_list = NULL;
-
- path_list_free (dcdata->remove_list);
- dcdata->remove_list = NULL;
-
- g_free (dcdata);
-}
-
-
-static void
-dlg_categories__save (GList *file_list,
- gpointer data)
-{
- DlgCategoriesData *dcdata = data;
- GList *scan;
-
- for (scan = file_list; scan; scan = scan->next) {
- const char *filename = scan->data;
- CommentData *cdata;
- GList *scan2;
-
- cdata = comments_load_comment (filename, TRUE);
- if (cdata == NULL)
- cdata = comment_data_new ();
- else
- for (scan2 = dcdata->remove_list; scan2; scan2 = scan2->next) {
- const char *k = scan2->data;
- comment_data_remove_keyword (cdata, k);
- }
-
- for (scan2 = dcdata->add_list; scan2; scan2 = scan2->next) {
- const char *k = scan2->data;
- comment_data_add_keyword (cdata, k);
- }
-
- comments_save_categories (filename, cdata);
- comment_data_free (cdata);
- }
-
- path_list_free (dcdata->add_list);
- dcdata->add_list = NULL;
-
- path_list_free (dcdata->remove_list);
- dcdata->remove_list = NULL;
-}
-
-
-GtkWidget*
-dlg_categories_new (GthWindow *window)
-{
- GtkWidget *current_dlg;
- DlgCategoriesData *dcdata;
-
- current_dlg = gth_window_get_categories_dlg (window);
- if (current_dlg != NULL) {
- gtk_window_present (GTK_WINDOW (current_dlg));
- return current_dlg;
- }
-
- dcdata = g_new0 (DlgCategoriesData, 1);
- dcdata->window = window;
- dcdata->add_list = NULL;
- dcdata->remove_list = NULL;
-
- return dlg_categories_common (GTK_WINDOW (window),
- window,
- NULL,
- NULL,
- &(dcdata->add_list),
- &(dcdata->remove_list),
- dlg_categories__save,
- dcdata,
- dlg_categories__done,
- dcdata,
- FALSE);
-}
-
-
-void
-dlg_categories_update (GtkWidget *dlg)
-{
- DialogData *data;
- CommentData *cdata = NULL;
- GList *scan;
- GList *other_keys = NULL;
- GSList *tmp1, *tmp2;
-
-
- g_return_if_fail (dlg != NULL);
-
- data = g_object_get_data (G_OBJECT (dlg), "dialog_data");
- g_return_if_fail (data != NULL);
-
- gtk_list_store_clear (data->keywords_list_model);
-
- /**/
-
- if (data->window != NULL) {
- free_dialog_data (data);
- data->file_list = gth_window_get_file_list_selection (data->window);
- } else if (data->original_cdata != NULL) {
- comment_data_free (data->original_cdata);
- data->original_cdata = NULL;
- }
-
- if (data->file_list != NULL) {
- char *first_image = data->file_list->data;
- data->original_cdata = cdata = comments_load_comment (first_image, TRUE);
- }
-
- if (cdata != NULL) {
- comment_data_free_comment (cdata);
-
- /* remove a category if it is not in all comments. */
- for (scan = data->file_list->next; scan; scan = scan->next) {
- CommentData *scan_cdata;
-
- scan_cdata = comments_load_comment (scan->data, TRUE);
-
- if (scan_cdata == NULL) {
- comment_data_free_keywords (cdata);
- break;
- }
-
- for (tmp1 = cdata->keywords; tmp1; tmp1 = g_slist_next (tmp1)) {
- char *k1 = tmp1->data;
- gboolean found = FALSE;
-
- for (tmp2 = scan_cdata->keywords; tmp2; tmp2 = g_slist_next (tmp2)) {
- char *k2 = tmp2->data;
- if (strcmp (k1, k2) == 0) {
- found = TRUE;
- break;
- }
- }
-
- if (!found)
- comment_data_remove_keyword (cdata, k1);
- }
-
- comment_data_free (scan_cdata);
- }
- }
-
- for (scan = data->file_list; scan; scan = scan->next) {
- CommentData *scan_cdata;
-
- scan_cdata = comments_load_comment (scan->data, TRUE);
-
- if (scan_cdata == NULL)
- continue;
-
- for (tmp2 = scan_cdata->keywords; tmp2; tmp2 = g_slist_next (tmp2)) {
- char *k2 = tmp2->data;
- gboolean found = FALSE;
-
- if (cdata != NULL)
- for (tmp1 = cdata->keywords; tmp1; tmp1 = g_slist_next (tmp1)) {
- char *k1 = tmp1->data;
- if (strcmp (k1, k2) == 0) {
- found = TRUE;
- break;
- }
- }
-
- if (! found && ! key_in_list (other_keys, k2))
- other_keys = g_list_prepend (other_keys,
- g_strdup (k2));
- }
- comment_data_free (scan_cdata);
- }
-
- if (cdata != NULL) {
- for (tmp1 = cdata->keywords; tmp1; tmp1 = g_slist_next (tmp1)) {
- GtkTreeIter iter;
-
- gtk_list_store_append (data->keywords_list_model,
- &iter);
-
- gtk_list_store_set (data->keywords_list_model, &iter,
- IS_EDITABLE_COLUMN, FALSE,
- HAS_THIRD_STATE_COLUMN, FALSE,
- USE_CATEGORY_COLUMN, 1,
- CATEGORY_COLUMN, tmp1->data,
- -1);
- }
- }
-
- for (scan = data->default_categories_list; scan; scan = scan->next) {
- char *keyword = scan->data;
- GtkTreeIter iter;
-
- gtk_list_store_append (data->keywords_list_model,
- &iter);
-
- gtk_list_store_set (data->keywords_list_model, &iter,
- IS_EDITABLE_COLUMN, FALSE,
- HAS_THIRD_STATE_COLUMN, FALSE,
- USE_CATEGORY_COLUMN, 1,
- CATEGORY_COLUMN, keyword,
- -1);
- }
-
- for (scan = other_keys; scan; scan = scan->next) {
- char *keyword = scan->data;
- GtkTreeIter iter;
-
- gtk_list_store_append (data->keywords_list_model,
- &iter);
-
- gtk_list_store_set (data->keywords_list_model, &iter,
- IS_EDITABLE_COLUMN, FALSE,
- HAS_THIRD_STATE_COLUMN, TRUE,
- USE_CATEGORY_COLUMN, 2,
- CATEGORY_COLUMN, keyword,
- -1);
- }
-
- if (other_keys != NULL)
- path_list_free (other_keys);
-
- add_saved_categories (data);
- update_category_entry (data);
-}
-
-
-void
-dlg_categories_close (GtkWidget *dlg)
-{
- DialogData *data;
-
- g_return_if_fail (dlg != NULL);
-
- data = g_object_get_data (G_OBJECT (dlg), "dialog_data");
- g_return_if_fail (data != NULL);
-
- gtk_widget_destroy (dlg);
-}
diff --git a/src/dlg-categories.h b/src/dlg-categories.h
deleted file mode 100644
index dbc18cc..0000000
--- a/src/dlg-categories.h
+++ /dev/null
@@ -1,40 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-/*
- * GThumb
- *
- * Copyright (C) 2001 The Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef DLG_CATEGORIES_H
-#define DLG_CATEGORIES_H
-
-#include "typedefs.h"
-#include "gth-window.h"
-
-void dlg_choose_categories (GtkWindow *parent,
- GList *file_list,
- GList *default_categories_list,
- GList **add_categories_list,
- GList **remove_categories_list,
- DoneFunc done_func,
- gpointer done_data);
-GtkWidget* dlg_categories_new (GthWindow *window);
-void dlg_categories_update (GtkWidget *dlg);
-void dlg_categories_close (GtkWidget *dlg);
-
-#endif /* DLG_CATEGORIES_H */
diff --git a/src/dlg-image-prop.c b/src/dlg-image-prop.c
index f01e13c..dd0ee32 100644
--- a/src/dlg-image-prop.c
+++ b/src/dlg-image-prop.c
@@ -88,7 +88,7 @@ typedef struct {
GtkWidget *i_comment_textview;
GtkTextBuffer *i_comment_textbuffer;
- GtkWidget *i_categories_label;
+ GtkWidget *i_tags_label;
GtkWidget *i_exif_data_view;
GtkWidget *i_exif_data_container;
@@ -283,7 +283,7 @@ update_comment (DialogData *data)
char *comment;
GSList *tmp;
- g_return_if_fail (GTK_IS_WIDGET (data->i_categories_label));
+ g_return_if_fail (GTK_IS_WIDGET (data->i_tags_label));
g_return_if_fail (GTK_IS_TEXT_BUFFER (data->i_comment_textbuffer));
cdata = comments_load_comment (gth_window_get_image_filename (GTH_WINDOW (data->browser)), TRUE);
@@ -296,7 +296,7 @@ update_comment (DialogData *data)
gtk_text_buffer_delete (data->i_comment_textbuffer,
&start_iter,
&end_iter);
- gtk_label_set_text (GTK_LABEL (data->i_categories_label), "");
+ gtk_label_set_text (GTK_LABEL (data->i_tags_label), "");
return;
}
@@ -337,11 +337,11 @@ update_comment (DialogData *data)
g_string_append_c (keywords, '.');
}
- gtk_label_set_text (GTK_LABEL (data->i_categories_label), keywords->str);
+ gtk_label_set_text (GTK_LABEL (data->i_tags_label), keywords->str);
g_string_free (keywords, TRUE);
} else
- gtk_label_set_text (GTK_LABEL (data->i_categories_label), "");
+ gtk_label_set_text (GTK_LABEL (data->i_tags_label), "");
g_free (comment);
comment_data_free (cdata);
@@ -582,7 +582,7 @@ dlg_image_prop_new (GthBrowser *browser)
data->i_notebook = glade_xml_get_widget (data->gui, "i_notebook");
data->i_comment_textview = glade_xml_get_widget (data->gui, "i_comment_textview");
- data->i_categories_label = glade_xml_get_widget (data->gui, "i_categories_label");
+ data->i_tags_label = glade_xml_get_widget (data->gui, "i_tags_label");
data->i_exif_data_container = glade_xml_get_widget (data->gui, "i_exif_data_container");
diff --git a/src/dlg-photo-importer.c b/src/dlg-photo-importer.c
index 40259ee..3970fdc 100644
--- a/src/dlg-photo-importer.c
+++ b/src/dlg-photo-importer.c
@@ -46,7 +46,7 @@
#include "gth-browser.h"
#include "file-data.h"
#include "file-utils.h"
-#include "dlg-categories.h"
+#include "dlg-tags.h"
#include "comments.h"
#include "gth-image-list.h"
#include "dlg-file-utils.h"
@@ -57,10 +57,10 @@
#include "main.h"
#define GLADE_FILE "gthumb_camera.glade"
-#define CATEGORIES_GLADE_FILE "gthumb_comment.glade"
+#define TAGS_GLADE_FILE "gthumb_comment.glade"
#define CAMERA_FILE "gphoto-48.png"
#define MUTE_FILE "volume-mute.png"
-#define CATEGORY_SEPARATOR ";"
+#define TAG_SEPARATOR ";"
#define MAX_TRIES 50
#define THUMB_SIZE 100
#define THUMB_BORDER 14
@@ -92,8 +92,8 @@ struct _DialogData {
GtkWidget *format_code_label;
GtkWidget *keep_names_checkbutton;
GtkWidget *delete_checkbutton;
- GtkWidget *choose_categories_button;
- GtkWidget *categories_entry;
+ GtkWidget *choose_tags_button;
+ GtkWidget *tags_entry;
GtkWidget *import_progressbar;
GtkWidget *progress_camera_image;
GtkWidget *import_preview_box;
@@ -139,7 +139,7 @@ struct _DialogData {
const char *msg_icon;
char *msg_text;
- GList *categories_list;
+ GList *tags_list;
GList *delete_list;
GList *adjust_orientation_list;
GList *saved_images_list;
@@ -389,7 +389,7 @@ destroy_cb (GtkWidget *widget,
g_object_unref (data->no_camera_pixbuf);
if (data->camera_present_pixbuf != NULL)
g_object_unref (data->camera_present_pixbuf);
- path_list_free (data->categories_list);
+ path_list_free (data->tags_list);
path_list_free (data->delete_list);
path_list_free (data->adjust_orientation_list);
path_list_free (data->saved_images_list);
@@ -1203,14 +1203,14 @@ get_file_name (DialogData *data,
static void
-add_categories_to_image (DialogData *data,
- const char *local_file)
+add_tags_to_image (DialogData *data,
+ const char *local_file)
{
CommentData *cdata;
GList *scan;
char *uri;
- if (data->categories_list == NULL)
+ if (data->tags_list == NULL)
return;
uri = get_uri_from_local_path (local_file);
@@ -1218,12 +1218,12 @@ add_categories_to_image (DialogData *data,
if (cdata == NULL)
cdata = comment_data_new ();
- for (scan = data->categories_list; scan; scan = scan->next) {
+ for (scan = data->tags_list; scan; scan = scan->next) {
const char *k = scan->data;
comment_data_add_keyword (cdata, k);
}
- comments_save_categories (uri, cdata);
+ comments_save_tags (uri, cdata);
comment_data_free (cdata);
g_free (uri);
@@ -1374,7 +1374,7 @@ save_image (DialogData *data,
if (data->delete_from_camera)
data->delete_list = g_list_prepend (data->delete_list, g_strdup (camera_path));
data->saved_images_list = g_list_prepend (data->saved_images_list, g_strdup (final_dest_path));
- add_categories_to_image (data, final_dest_path);
+ add_tags_to_image (data, final_dest_path);
}
}
else {
@@ -1746,37 +1746,37 @@ ok_clicked_cb (GtkButton *button,
static void
-choose_categories__done (gpointer callback_data)
+choose_tags__done (gpointer callback_data)
{
DialogData *data = callback_data;
- GString *categories;
+ GString *tags;
GList *scan;
- categories = g_string_new ("");
+ tags = g_string_new ("");
- for (scan = data->categories_list; scan; scan = scan->next) {
+ for (scan = data->tags_list; scan; scan = scan->next) {
char *name = scan->data;
- if (categories->len > 0)
- categories = g_string_append (categories, CATEGORY_SEPARATOR " ");
- categories = g_string_append (categories, name);
+ if (tags->len > 0)
+ tags = g_string_append (tags, TAG_SEPARATOR " ");
+ tags = g_string_append (tags, name);
}
- gtk_entry_set_text (GTK_ENTRY (data->categories_entry), categories->str);
- g_string_free (categories, TRUE);
+ gtk_entry_set_text (GTK_ENTRY (data->tags_entry), tags->str);
+ g_string_free (tags, TRUE);
}
static void
-choose_categories_cb (GtkButton *button,
- DialogData *data)
+choose_tags_cb (GtkButton *button,
+ DialogData *data)
{
- dlg_choose_categories (GTK_WINDOW (data->dialog),
- NULL,
- data->categories_list,
- &(data->categories_list),
- NULL,
- choose_categories__done,
- data);
+ dlg_choose_tags (GTK_WINDOW (data->dialog),
+ NULL,
+ data->tags_list,
+ &(data->tags_list),
+ NULL,
+ choose_tags__done,
+ data);
}
@@ -2046,7 +2046,7 @@ dlg_photo_importer (GthBrowser *browser)
gp_abilities_list_new (&data->abilities_list);
gp_port_info_list_new (&data->port_list);
- data->categories_list = NULL;
+ data->tags_list = NULL;
data->delete_list = NULL;
data->interrupted = FALSE;
data->camera_setted = FALSE;
@@ -2069,8 +2069,8 @@ dlg_photo_importer (GthBrowser *browser)
data->format_code_label = glade_xml_get_widget (data->gui, "format_code_label");
data->keep_names_checkbutton = glade_xml_get_widget (data->gui, "keep_names_checkbutton");
data->delete_checkbutton = glade_xml_get_widget (data->gui, "delete_checkbutton");
- data->choose_categories_button = glade_xml_get_widget (data->gui, "choose_categories_button");
- data->categories_entry = glade_xml_get_widget (data->gui, "categories_entry");
+ data->choose_tags_button = glade_xml_get_widget (data->gui, "choose_tags_button");
+ data->tags_entry = glade_xml_get_widget (data->gui, "tags_entry");
data->import_progressbar = glade_xml_get_widget (data->gui, "import_progressbar");
data->progress_info_image = glade_xml_get_widget (data->gui, "progress_info_image");
data->progress_info_label = glade_xml_get_widget (data->gui, "progress_info_label");
@@ -2167,9 +2167,9 @@ dlg_photo_importer (GthBrowser *browser)
"clicked",
G_CALLBACK (dlg_select_camera_model_cb),
data);
- g_signal_connect (G_OBJECT (data->choose_categories_button),
+ g_signal_connect (G_OBJECT (data->choose_tags_button),
"clicked",
- G_CALLBACK (choose_categories_cb),
+ G_CALLBACK (choose_tags_cb),
data);
g_signal_connect (G_OBJECT (data->import_reload_button),
diff --git a/src/dlg-preferences.c b/src/dlg-preferences.c
index 7a7178f..343c61d 100644
--- a/src/dlg-preferences.c
+++ b/src/dlg-preferences.c
@@ -81,7 +81,7 @@ typedef struct {
GtkWidget *toggle_show_filenames;
GtkWidget *toggle_show_comments;
GtkWidget *toggle_show_thumbs;
- GtkWidget *toggle_show_categories;
+ GtkWidget *toggle_show_tags;
GtkWidget *toggle_file_type;
GtkWidget *toggle_audio_video;
GtkWidget *opt_thumbs_size;
@@ -256,10 +256,10 @@ show_thumbs_toggled_cb (GtkToggleButton *button,
static void
-show_categories_toggled_cb (GtkToggleButton *button,
- DialogData *data)
+show_tags_toggled_cb (GtkToggleButton *button,
+ DialogData *data)
{
- eel_gconf_set_boolean (PREF_SHOW_CATEGORIES, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->toggle_show_categories)));
+ eel_gconf_set_boolean (PREF_SHOW_TAGS, gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (data->toggle_show_tags)));
}
@@ -423,7 +423,7 @@ dlg_preferences (GthBrowser *browser)
data->toggle_show_comments = glade_xml_get_widget (data->gui, "toggle_show_comments");
data->toggle_show_thumbs = glade_xml_get_widget (data->gui, "toggle_show_thumbs");
- data->toggle_show_categories = glade_xml_get_widget (data->gui, "toggle_show_categories");
+ data->toggle_show_tags = glade_xml_get_widget (data->gui, "toggle_show_tags");
data->toggle_file_type = glade_xml_get_widget (data->gui, "toggle_file_type");
data->toggle_audio_video = glade_xml_get_widget (data->gui, "toggle_audio_video");
@@ -502,7 +502,7 @@ dlg_preferences (GthBrowser *browser)
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_filenames), eel_gconf_get_boolean (PREF_SHOW_FILENAMES, FALSE));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_comments), eel_gconf_get_boolean (PREF_SHOW_COMMENTS, TRUE));
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_thumbs), eel_gconf_get_boolean (PREF_SHOW_THUMBNAILS, TRUE));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_categories), eel_gconf_get_boolean (PREF_SHOW_CATEGORIES, TRUE));
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (data->toggle_show_tags), eel_gconf_get_boolean (PREF_SHOW_TAGS, TRUE));
gtk_option_menu_set_history (GTK_OPTION_MENU (data->opt_thumbs_size), get_idx_from_size (eel_gconf_get_integer (PREF_THUMBNAIL_SIZE, 95)));
gtk_option_menu_set_history (GTK_OPTION_MENU (data->opt_click_policy), pref_get_click_policy ());
@@ -584,9 +584,9 @@ dlg_preferences (GthBrowser *browser)
"toggled",
G_CALLBACK (show_thumbs_toggled_cb),
data);
- g_signal_connect (G_OBJECT (data->toggle_show_categories),
+ g_signal_connect (G_OBJECT (data->toggle_show_tags),
"toggled",
- G_CALLBACK (show_categories_toggled_cb),
+ G_CALLBACK (show_tags_toggled_cb),
data);
g_signal_connect (G_OBJECT (data->toggle_show_filenames),
"toggled",
diff --git a/src/dlg-search.c b/src/dlg-search.c
index 8bacd6f..042a591 100644
--- a/src/dlg-search.c
+++ b/src/dlg-search.c
@@ -47,8 +47,8 @@
enum {
- C_USE_CATEGORY_COLUMN,
- C_CATEGORY_COLUMN,
+ C_USE_TAG_COLUMN,
+ C_TAG_COLUMN,
C_NUM_COLUMNS
};
@@ -58,8 +58,8 @@ enum {
P_NUM_COLUMNS
};
-#define CATEGORY_SEPARATOR_C ';'
-#define CATEGORY_SEPARATOR_STR ";"
+#define TAG_SEPARATOR_C ';'
+#define TAG_SEPARATOR_STR ";"
#define ONE_DAY (60*60*24)
static void dlg_search_ui (GthBrowser *browser,
@@ -107,8 +107,8 @@ typedef struct {
GtkWidget *s_filename_entry;
GtkWidget *s_comment_entry;
GtkWidget *s_place_entry;
- GtkWidget *s_categories_entry;
- GtkWidget *s_choose_categories_button;
+ GtkWidget *s_tags_entry;
+ GtkWidget *s_choose_tags_button;
GtkWidget *s_date_optionmenu;
GtkWidget *s_date_dateedit;
@@ -301,7 +301,7 @@ search_clicked_cb (GtkWidget *widget,
/* * keywords pattern */
- entry = gtk_entry_get_text (GTK_ENTRY (data->s_categories_entry));
+ entry = gtk_entry_get_text (GTK_ENTRY (data->s_tags_entry));
search_data_set_keywords_pattern (data->search_data, entry, data->all_keywords);
if (entry != NULL)
data->keywords_patterns = search_util_get_patterns (entry, TRUE);
@@ -474,17 +474,17 @@ help_cb (GtkWidget *widget,
}
-/* -- choose category dialog -- */
+/* -- choose tag dialog -- */
-static void choose_categories_dialog (DialogData *data);
+static void choose_tags_dialog (DialogData *data);
static void
-choose_categories_cb (GtkWidget *widget,
- DialogData *data)
+choose_tags_cb (GtkWidget *widget,
+ DialogData *data)
{
- choose_categories_dialog (data);
+ choose_tags_dialog (data);
}
@@ -570,9 +570,9 @@ dlg_search_ui (GthBrowser *browser,
data->s_filename_entry = glade_xml_get_widget (data->gui, "s_filename_entry");
data->s_comment_entry = glade_xml_get_widget (data->gui, "s_comment_entry");
data->s_place_entry = glade_xml_get_widget (data->gui, "s_place_entry");
- data->s_categories_entry = glade_xml_get_widget (data->gui, "s_categories_entry");
+ data->s_tags_entry = glade_xml_get_widget (data->gui, "s_tags_entry");
- data->s_choose_categories_button = glade_xml_get_widget (data->gui, "s_choose_categories_button");
+ data->s_choose_tags_button = glade_xml_get_widget (data->gui, "s_choose_tags_button");
data->s_date_optionmenu = glade_xml_get_widget (data->gui, "s_date_optionmenu");
data->s_date_dateedit = glade_xml_get_widget (data->gui, "s_date_dateedit");
@@ -650,7 +650,7 @@ dlg_search_ui (GthBrowser *browser,
search_data->comment_pattern);
gtk_entry_set_text (GTK_ENTRY (data->s_place_entry),
search_data->place_pattern);
- gtk_entry_set_text (GTK_ENTRY (data->s_categories_entry),
+ gtk_entry_set_text (GTK_ENTRY (data->s_tags_entry),
search_data->keywords_pattern);
gtk_option_menu_set_history (GTK_OPTION_MENU (data->s_date_optionmenu),
@@ -691,9 +691,9 @@ dlg_search_ui (GthBrowser *browser,
"clicked",
G_CALLBACK (view_or_save_cb),
data);
- g_signal_connect (G_OBJECT (data->s_choose_categories_button),
+ g_signal_connect (G_OBJECT (data->s_choose_tags_button),
"clicked",
- G_CALLBACK (choose_categories_cb),
+ G_CALLBACK (choose_tags_cb),
data);
g_signal_connect (G_OBJECT (data->s_date_optionmenu),
"changed",
@@ -1169,21 +1169,21 @@ typedef struct {
GladeXML *gui;
GtkWidget *dialog;
- GtkWidget *c_categories_entry;
- GtkWidget *c_categories_treeview;
+ GtkWidget *c_tags_entry;
+ GtkWidget *c_tags_treeview;
GtkWidget *c_ok_button;
GtkWidget *c_cancel_button;
GtkWidget *s_at_least_one_cat_radiobutton;
GtkWidget *s_all_cat_radiobutton;
- GtkListStore *c_categories_list_model;
-} CategoriesDialogData;
+ GtkListStore *c_tags_list_model;
+} TagsDialogData;
/* called when the main dialog is closed. */
static void
-categories_dialog__destroy_cb (GtkWidget *widget,
- CategoriesDialogData *cdata)
+tags_dialog__destroy_cb (GtkWidget *widget,
+ TagsDialogData *cdata)
{
g_object_unref (cdata->gui);
g_free (cdata);
@@ -1191,172 +1191,172 @@ categories_dialog__destroy_cb (GtkWidget *widget,
static void
-update_category_entry (CategoriesDialogData *cdata)
+update_tag_entry (TagsDialogData *cdata)
{
GtkTreeIter iter;
- GtkTreeModel *model = GTK_TREE_MODEL (cdata->c_categories_list_model);
- GString *categories;
+ GtkTreeModel *model = GTK_TREE_MODEL (cdata->c_tags_list_model);
+ GString *tags;
if (! gtk_tree_model_get_iter_first (model, &iter)) {
- gtk_entry_set_text (GTK_ENTRY (cdata->c_categories_entry), "");
+ gtk_entry_set_text (GTK_ENTRY (cdata->c_tags_entry), "");
return;
}
- categories = g_string_new (NULL);
+ tags = g_string_new (NULL);
do {
- gboolean use_category;
- gtk_tree_model_get (model, &iter, C_USE_CATEGORY_COLUMN, &use_category, -1);
- if (use_category) {
- char *category_name;
+ gboolean use_tag;
+ gtk_tree_model_get (model, &iter, C_USE_TAG_COLUMN, &use_tag, -1);
+ if (use_tag) {
+ char *tag_name;
gtk_tree_model_get (model, &iter,
- C_CATEGORY_COLUMN, &category_name,
+ C_TAG_COLUMN, &tag_name,
-1);
- if (categories->len > 0)
- categories = g_string_append (categories, CATEGORY_SEPARATOR_STR " ");
- categories = g_string_append (categories, category_name);
- g_free (category_name);
+ if (tags->len > 0)
+ tags = g_string_append (tags, TAG_SEPARATOR_STR " ");
+ tags = g_string_append (tags, tag_name);
+ g_free (tag_name);
}
} while (gtk_tree_model_iter_next (model, &iter));
- gtk_entry_set_text (GTK_ENTRY (cdata->c_categories_entry), categories->str);
- g_string_free (categories, TRUE);
+ gtk_entry_set_text (GTK_ENTRY (cdata->c_tags_entry), tags->str);
+ g_string_free (tags, TRUE);
}
static GList *
-get_categories_from_entry (CategoriesDialogData *cdata)
+get_tags_from_entry (TagsDialogData *cdata)
{
GList *cat_list = NULL;
const char *utf8_text;
- char **categories;
+ char **tags;
int i;
- utf8_text = gtk_entry_get_text (GTK_ENTRY (cdata->c_categories_entry));
+ utf8_text = gtk_entry_get_text (GTK_ENTRY (cdata->c_tags_entry));
if (utf8_text == NULL)
return NULL;
- categories = _g_utf8_strsplit (utf8_text, CATEGORY_SEPARATOR_C);
+ tags = _g_utf8_strsplit (utf8_text, TAG_SEPARATOR_C);
- for (i = 0; categories[i] != NULL; i++) {
+ for (i = 0; tags[i] != NULL; i++) {
char *s;
- s = _g_utf8_strstrip (categories[i]);
+ s = _g_utf8_strstrip (tags[i]);
if (s != NULL)
cat_list = g_list_prepend (cat_list, s);
}
- g_strfreev (categories);
+ g_strfreev (tags);
return g_list_reverse (cat_list);
}
static void
-add_saved_categories (CategoriesDialogData *cdata,
- GList *cat_list)
+add_saved_tags (TagsDialogData *cdata,
+ GList *cat_list)
{
- Bookmarks *categories;
+ Bookmarks *tags;
GList *scan;
- categories = bookmarks_new (RC_CATEGORIES_FILE);
- bookmarks_load_from_disk (categories);
+ tags = bookmarks_new (RC_TAGS_FILE);
+ bookmarks_load_from_disk (tags);
- for (scan = categories->list; scan; scan = scan->next) {
+ for (scan = tags->list; scan; scan = scan->next) {
GtkTreeIter iter;
GList *scan2;
gboolean found = FALSE;
- char *category1 = scan->data;
+ char *tag1 = scan->data;
for (scan2 = cat_list; scan2 && !found; scan2 = scan2->next) {
- char *category2 = scan2->data;
- if (strcmp (category1, category2) == 0)
+ char *tag2 = scan2->data;
+ if (strcmp (tag1, tag2) == 0)
found = TRUE;
}
if (found)
continue;
- gtk_list_store_append (cdata->c_categories_list_model, &iter);
+ gtk_list_store_append (cdata->c_tags_list_model, &iter);
- gtk_list_store_set (cdata->c_categories_list_model, &iter,
- C_USE_CATEGORY_COLUMN, FALSE,
- C_CATEGORY_COLUMN, category1,
+ gtk_list_store_set (cdata->c_tags_list_model, &iter,
+ C_USE_TAG_COLUMN, FALSE,
+ C_TAG_COLUMN, tag1,
-1);
}
- bookmarks_free (categories);
+ bookmarks_free (tags);
}
static void
-update_list_from_entry (CategoriesDialogData *cdata)
+update_list_from_entry (TagsDialogData *cdata)
{
- GList *categories = NULL;
+ GList *tags = NULL;
GList *scan;
- categories = get_categories_from_entry (cdata);
+ tags = get_tags_from_entry (cdata);
- gtk_list_store_clear (cdata->c_categories_list_model);
- for (scan = categories; scan; scan = scan->next) {
- char *category = scan->data;
+ gtk_list_store_clear (cdata->c_tags_list_model);
+ for (scan = tags; scan; scan = scan->next) {
+ char *tag = scan->data;
GtkTreeIter iter;
- gtk_list_store_append (cdata->c_categories_list_model, &iter);
+ gtk_list_store_append (cdata->c_tags_list_model, &iter);
- gtk_list_store_set (cdata->c_categories_list_model, &iter,
- C_USE_CATEGORY_COLUMN, TRUE,
- C_CATEGORY_COLUMN, category,
+ gtk_list_store_set (cdata->c_tags_list_model, &iter,
+ C_USE_TAG_COLUMN, TRUE,
+ C_TAG_COLUMN, tag,
-1);
}
- add_saved_categories (cdata, categories);
- path_list_free (categories);
+ add_saved_tags (cdata, tags);
+ path_list_free (tags);
}
static void
-use_category_toggled (GtkCellRendererToggle *cell,
- gchar *path_string,
- gpointer callback_data)
+use_tag_toggled (GtkCellRendererToggle *cell,
+ gchar *path_string,
+ gpointer callback_data)
{
- CategoriesDialogData *cdata = callback_data;
- GtkTreeModel *model = GTK_TREE_MODEL (cdata->c_categories_list_model);
+ TagsDialogData *cdata = callback_data;
+ GtkTreeModel *model = GTK_TREE_MODEL (cdata->c_tags_list_model);
GtkTreeIter iter;
GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
gboolean value;
gtk_tree_model_get_iter (model, &iter, path);
- gtk_tree_model_get (model, &iter, C_USE_CATEGORY_COLUMN, &value, -1);
+ gtk_tree_model_get (model, &iter, C_USE_TAG_COLUMN, &value, -1);
value = !value;
- gtk_list_store_set (GTK_LIST_STORE (model), &iter, C_USE_CATEGORY_COLUMN, value, -1);
+ gtk_list_store_set (GTK_LIST_STORE (model), &iter, C_USE_TAG_COLUMN, value, -1);
gtk_tree_path_free (path);
- update_category_entry (cdata);
+ update_tag_entry (cdata);
}
static void
-choose_categories_ok_cb (GtkWidget *widget,
- CategoriesDialogData *cdata)
+choose_tags_ok_cb (GtkWidget *widget,
+ TagsDialogData *cdata)
{
- const char *categories;
+ const char *tags;
- categories = gtk_entry_get_text (GTK_ENTRY (cdata->c_categories_entry));
- gtk_entry_set_text (GTK_ENTRY (cdata->data->s_categories_entry), categories);
+ tags = gtk_entry_get_text (GTK_ENTRY (cdata->c_tags_entry));
+ gtk_entry_set_text (GTK_ENTRY (cdata->data->s_tags_entry), tags);
cdata->data->all_keywords = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (cdata->s_all_cat_radiobutton));
gtk_widget_destroy (cdata->dialog);
}
static void
-choose_categories_dialog (DialogData *data)
+choose_tags_dialog (DialogData *data)
{
- CategoriesDialogData *cdata;
+ TagsDialogData *cdata;
GtkCellRenderer *renderer;
GtkTreeViewColumn *column;
- cdata = g_new (CategoriesDialogData, 1);
+ cdata = g_new (TagsDialogData, 1);
cdata->data = data;
cdata->gui = glade_xml_new (GTHUMB_GLADEDIR "/" SEARCH_GLADE_FILE,
@@ -1371,9 +1371,9 @@ choose_categories_dialog (DialogData *data)
/* Get the widgets. */
- cdata->dialog = glade_xml_get_widget (cdata->gui, "categories_dialog");
- cdata->c_categories_entry = glade_xml_get_widget (cdata->gui, "c_categories_entry");
- cdata->c_categories_treeview = glade_xml_get_widget (cdata->gui, "c_categories_treeview");
+ cdata->dialog = glade_xml_get_widget (cdata->gui, "tags_dialog");
+ cdata->c_tags_entry = glade_xml_get_widget (cdata->gui, "c_tags_entry");
+ cdata->c_tags_treeview = glade_xml_get_widget (cdata->gui, "c_tags_treeview");
cdata->c_ok_button = glade_xml_get_widget (cdata->gui, "c_ok_button");
cdata->c_cancel_button = glade_xml_get_widget (cdata->gui, "c_cancel_button");
cdata->s_at_least_one_cat_radiobutton = glade_xml_get_widget (cdata->gui, "s_at_least_one_cat_radiobutton");
@@ -1381,38 +1381,38 @@ choose_categories_dialog (DialogData *data)
/* Set widgets data. */
- cdata->c_categories_list_model = gtk_list_store_new (C_NUM_COLUMNS,
+ cdata->c_tags_list_model = gtk_list_store_new (C_NUM_COLUMNS,
G_TYPE_BOOLEAN,
G_TYPE_STRING);
- gtk_tree_view_set_model (GTK_TREE_VIEW (cdata->c_categories_treeview),
- GTK_TREE_MODEL (cdata->c_categories_list_model));
- g_object_unref (cdata->c_categories_list_model);
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (cdata->c_categories_treeview), FALSE);
+ gtk_tree_view_set_model (GTK_TREE_VIEW (cdata->c_tags_treeview),
+ GTK_TREE_MODEL (cdata->c_tags_list_model));
+ g_object_unref (cdata->c_tags_list_model);
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (cdata->c_tags_treeview), FALSE);
renderer = gtk_cell_renderer_toggle_new ();
g_signal_connect (G_OBJECT (renderer),
"toggled",
- G_CALLBACK (use_category_toggled),
+ G_CALLBACK (use_tag_toggled),
cdata);
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (cdata->c_categories_treeview),
+ gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (cdata->c_tags_treeview),
-1, "Use",
renderer,
- "active", C_USE_CATEGORY_COLUMN,
+ "active", C_USE_TAG_COLUMN,
NULL);
renderer = gtk_cell_renderer_text_new ();
column = gtk_tree_view_column_new_with_attributes ("",
renderer,
- "text", C_CATEGORY_COLUMN,
+ "text", C_TAG_COLUMN,
NULL);
gtk_tree_view_column_set_sort_column_id (column, 0);
- gtk_tree_view_append_column (GTK_TREE_VIEW (cdata->c_categories_treeview),
+ gtk_tree_view_append_column (GTK_TREE_VIEW (cdata->c_tags_treeview),
column);
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (cdata->c_categories_list_model), C_CATEGORY_COLUMN, GTK_SORT_ASCENDING);
+ gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (cdata->c_tags_list_model), C_TAG_COLUMN, GTK_SORT_ASCENDING);
- gtk_entry_set_text (GTK_ENTRY (cdata->c_categories_entry), gtk_entry_get_text (GTK_ENTRY (cdata->data->s_categories_entry)));
+ gtk_entry_set_text (GTK_ENTRY (cdata->c_tags_entry), gtk_entry_get_text (GTK_ENTRY (cdata->data->s_tags_entry)));
update_list_from_entry (cdata);
if (data->all_keywords)
@@ -1424,11 +1424,11 @@ choose_categories_dialog (DialogData *data)
g_signal_connect (G_OBJECT (cdata->dialog),
"destroy",
- G_CALLBACK (categories_dialog__destroy_cb),
+ G_CALLBACK (tags_dialog__destroy_cb),
cdata);
g_signal_connect (G_OBJECT (cdata->c_ok_button),
"clicked",
- G_CALLBACK (choose_categories_ok_cb),
+ G_CALLBACK (choose_tags_ok_cb),
cdata);
g_signal_connect_swapped (G_OBJECT (cdata->c_cancel_button),
"clicked",
@@ -1437,7 +1437,7 @@ choose_categories_dialog (DialogData *data)
/* Run dialog. */
- gtk_widget_grab_focus (cdata->c_categories_treeview);
+ gtk_widget_grab_focus (cdata->c_tags_treeview);
gtk_window_set_transient_for (GTK_WINDOW (cdata->dialog),
GTK_WINDOW (data->dialog));
diff --git a/src/gth-browser-actions-callbacks.c b/src/gth-browser-actions-callbacks.c
index da80956..7f128d3 100644
--- a/src/gth-browser-actions-callbacks.c
+++ b/src/gth-browser-actions-callbacks.c
@@ -29,7 +29,7 @@
#include "comments.h"
#include "dlg-bookmarks.h"
#include "dlg-catalog.h"
-#include "dlg-categories.h"
+#include "dlg-tags.h"
#include "dlg-convert.h"
#include "dlg-duplicates.h"
#include "dlg-file-utils.h"
@@ -1376,13 +1376,13 @@ typedef struct {
GthBrowser *browser;
GList *file_list;
GList *add_list, *remove_list;
-} FolderCategoriesData;
+} FolderTagsData;
static void
-edit_current_folder_categories__done (gpointer data)
+edit_current_folder_tags__done (gpointer data)
{
- FolderCategoriesData *fcdata = data;
+ FolderTagsData *fcdata = data;
GList *scan;
for (scan = fcdata->file_list; scan; scan = scan->next) {
@@ -1405,7 +1405,7 @@ edit_current_folder_categories__done (gpointer data)
comment_data_add_keyword (cdata, k);
}
- comments_save_categories (filename, cdata);
+ comments_save_tags (filename, cdata);
comment_data_free (cdata);
dir_list = gth_browser_get_dir_list (fcdata->browser);
@@ -1423,40 +1423,40 @@ edit_current_folder_categories__done (gpointer data)
static void
-edit_current_folder_categories (GthBrowser *browser,
- const char *path)
+edit_current_folder_tags (GthBrowser *browser,
+ const char *path)
{
- FolderCategoriesData *fcdata;
+ FolderTagsData *fcdata;
if (path == NULL)
return;
- fcdata = g_new0 (FolderCategoriesData, 1);
+ fcdata = g_new0 (FolderTagsData, 1);
fcdata->browser = browser;
fcdata->add_list = NULL;
fcdata->remove_list = NULL;
fcdata->file_list = g_list_prepend (NULL, g_strdup (path));
- dlg_choose_categories (GTK_WINDOW (browser),
- fcdata->file_list,
- NULL,
- &(fcdata->add_list),
- &(fcdata->remove_list),
- edit_current_folder_categories__done,
- fcdata);
+ dlg_choose_tags (GTK_WINDOW (browser),
+ fcdata->file_list,
+ NULL,
+ &(fcdata->add_list),
+ &(fcdata->remove_list),
+ edit_current_folder_tags__done,
+ fcdata);
}
void
-gth_browser_activate_action_edit_dir_categories (GtkAction *action,
- GthBrowser *browser)
+gth_browser_activate_action_edit_dir_tags (GtkAction *action,
+ GthBrowser *browser)
{
char *path;
path = gth_dir_list_get_selected_path (gth_browser_get_dir_list (browser));
if (path == NULL)
return;
- edit_current_folder_categories (browser, path);
+ edit_current_folder_tags (browser, path);
g_free (path);
}
@@ -1502,10 +1502,10 @@ gth_browser_activate_action_edit_current_dir_move (GtkAction *action,
void
-gth_browser_activate_action_edit_current_dir_categories (GtkAction *action,
- GthBrowser *browser)
+gth_browser_activate_action_edit_current_dir_tags (GtkAction *action,
+ GthBrowser *browser)
{
- edit_current_folder_categories (browser, gth_browser_get_dir_list (browser)->path);
+ edit_current_folder_tags (browser, gth_browser_get_dir_list (browser)->path);
}
diff --git a/src/gth-browser-actions-callbacks.h b/src/gth-browser-actions-callbacks.h
index 5827925..8b41597 100644
--- a/src/gth-browser-actions-callbacks.h
+++ b/src/gth-browser-actions-callbacks.h
@@ -68,13 +68,13 @@ DEFINE_ACTION(gth_browser_activate_action_edit_dir_rename)
DEFINE_ACTION(gth_browser_activate_action_edit_dir_delete)
DEFINE_ACTION(gth_browser_activate_action_edit_dir_copy)
DEFINE_ACTION(gth_browser_activate_action_edit_dir_move)
-DEFINE_ACTION(gth_browser_activate_action_edit_dir_categories)
+DEFINE_ACTION(gth_browser_activate_action_edit_dir_tags)
DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_open)
DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_rename)
DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_delete)
DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_copy)
DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_move)
-DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_categories)
+DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_tags)
DEFINE_ACTION(gth_browser_activate_action_edit_current_dir_new)
DEFINE_ACTION(gth_browser_activate_action_view_next_image)
DEFINE_ACTION(gth_browser_activate_action_view_prev_image)
diff --git a/src/gth-browser-actions-entries.h b/src/gth-browser-actions-entries.h
index 30d834d..5d81ce7 100644
--- a/src/gth-browser-actions-entries.h
+++ b/src/gth-browser-actions-entries.h
@@ -240,10 +240,10 @@ static GtkActionEntry gth_browser_action_entries[] = {
N_("Move selected folder"),
G_CALLBACK (gth_browser_activate_action_edit_dir_move) },
- { "EditDir_Categories", NULL,
- N_("Ca_tegories..."), NULL,
- N_("Assign categories to the selected folder"),
- G_CALLBACK (gth_browser_activate_action_edit_dir_categories) },
+ { "EditDir_Tags", NULL,
+ N_("T_ags..."), NULL,
+ N_("Assign tags to the selected folder"),
+ G_CALLBACK (gth_browser_activate_action_edit_dir_tags) },
{ "EditCurrentDir_Open", NULL,
N_("Open with the _File Manager"), NULL,
@@ -270,10 +270,10 @@ static GtkActionEntry gth_browser_action_entries[] = {
N_("Move current folder"),
G_CALLBACK (gth_browser_activate_action_edit_current_dir_move) },
- { "EditCurrentDir_Categories", NULL,
- N_("Ca_tegories..."), NULL,
- N_("Assign categories to the current folder"),
- G_CALLBACK (gth_browser_activate_action_edit_current_dir_categories) },
+ { "EditCurrentDir_Tags", NULL,
+ N_("T_ags..."), NULL,
+ N_("Assign tags to the current folder"),
+ G_CALLBACK (gth_browser_activate_action_edit_current_dir_tags) },
{ "EditCurrentDir_New", NULL,
N_("_New Folder..."), "<shift><ctrl>N",
diff --git a/src/gth-browser-ui.h b/src/gth-browser-ui.h
index 6fff5d7..e90d502 100644
--- a/src/gth-browser-ui.h
+++ b/src/gth-browser-ui.h
@@ -68,7 +68,7 @@ static const gchar *main_ui_info =
" <menuitem action='Tools_FindDuplicates'/>"
" <separator/>"
" <menuitem action='Edit_EditComment'/>"
-" <menuitem action='Edit_EditCategories'/>"
+" <menuitem action='Edit_EditTags'/>"
" <separator/>"
" <menuitem action='Edit_AddToCatalog'/>"
" <menuitem action='Edit_RemoveFromCatalog'/>"
@@ -224,7 +224,7 @@ static const gchar *main_ui_info =
" <menuitem action='Edit_DeleteFiles'/>"
" <separator/>"
" <menuitem action='Edit_EditComment'/>"
-" <menuitem action='Edit_EditCategories'/>"
+" <menuitem action='Edit_EditTags'/>"
" <separator/>"
" <menuitem action='Edit_AddToCatalog'/>"
" <menuitem action='Edit_RemoveFromCatalog'/>"
@@ -261,7 +261,7 @@ static const gchar *main_ui_info =
" <menuitem action='View_ExitFullscreen'/>"
" <separator/>"
" <menuitem action='Edit_EditComment'/>"
-" <menuitem action='Edit_EditCategories'/>"
+" <menuitem action='Edit_EditTags'/>"
" </popup>"
" <popup name='CatalogPopup'>"
" <menuitem action='EditCatalog_View'/>"
@@ -291,7 +291,7 @@ static const gchar *main_ui_info =
" <menuitem action='EditDir_Copy'/>"
" <menuitem action='EditDir_Move'/>"
" <separator/>"
-" <menuitem action='EditDir_Categories'/>"
+" <menuitem action='EditDir_Tags'/>"
" </popup>"
" <popup name='DirListPopup'>"
" <menuitem action='EditCurrentDir_New'/>"
@@ -326,7 +326,7 @@ static const gchar *folder_ui_info =
" <menuitem action='EditCurrentDir_Copy'/>"
" <menuitem action='EditCurrentDir_Move'/>"
" <separator/>"
-" <menuitem action='EditCurrentDir_Categories'/>"
+" <menuitem action='EditCurrentDir_Tags'/>"
" </menu>"
" </placeholder>"
" </menu>"
@@ -386,7 +386,7 @@ static const gchar *browser_ui_info =
" <toolitem action='ToolBar_FindImages'/>"
" <separator/>"
" <toolitem action='ToolBar_EditComment'/>"
-" <toolitem action='ToolBar_EditCategories'/>"
+" <toolitem action='ToolBar_EditTags'/>"
" </placeholder>"
" </toolbar>"
"</ui>";
diff --git a/src/gth-browser.c b/src/gth-browser.c
index 1d76550..f272f24 100644
--- a/src/gth-browser.c
+++ b/src/gth-browser.c
@@ -36,7 +36,7 @@
#include "catalog-list.h"
#include "comments.h"
#include "dlg-bookmarks.h"
-#include "dlg-categories.h"
+#include "dlg-tags.h"
#include "dlg-comment.h"
#include "dlg-file-utils.h"
#include "dlg-image-prop.h"
@@ -877,8 +877,8 @@ window_update_sensitivity (GthBrowser *browser)
set_action_sensitive (browser, "Edit_EditComment", sel_not_null);
set_action_sensitive (browser, "ToolBar_EditComment", sel_not_null);
- set_action_sensitive (browser, "Edit_EditCategories", sel_not_null);
- set_action_sensitive (browser, "ToolBar_EditCategories", sel_not_null);
+ set_action_sensitive (browser, "Edit_EditTags", sel_not_null);
+ set_action_sensitive (browser, "ToolBar_EditTags", sel_not_null);
set_action_sensitive (browser, "Edit_AddToCatalog", sel_not_null);
set_action_sensitive (browser, "Edit_RemoveFromCatalog", viewing_catalog && sel_not_null);
@@ -1954,7 +1954,7 @@ file_selection_changed_cb (GtkWidget *widget,
sel_change_update_cb,
browser);
- gth_window_update_comment_categories_dlg (GTH_WINDOW (browser));
+ gth_window_update_comment_tags_dlg (GTH_WINDOW (browser));
return TRUE;
}
@@ -3089,11 +3089,11 @@ key_press_cb (GtkWidget *widget,
gth_window_edit_comment (GTH_WINDOW (browser));
return TRUE;
- /* Edit keywords */
+ /* Edit tags */
case GDK_k:
if (! sel_not_null)
break;
- gth_window_edit_categories (GTH_WINDOW (browser));
+ gth_window_edit_tags (GTH_WINDOW (browser));
return TRUE;
/* gimp hotkey */
@@ -7036,7 +7036,7 @@ gth_browser_construct (GthBrowser *browser,
browser);
priv->cnxn_id[i++] = eel_gconf_notification_add (
- PREF_SHOW_CATEGORIES,
+ PREF_SHOW_TAGS,
pref_view_mode_changed,
browser);
diff --git a/src/gth-category-selection-dialog.c b/src/gth-category-selection-dialog.c
deleted file mode 100644
index 904e04e..0000000
--- a/src/gth-category-selection-dialog.c
+++ /dev/null
@@ -1,479 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-/*
- * GThumb
- *
- * Copyright (C) 2007 The Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
- */
-
-
-#include <config.h>
-#include <string.h>
-
-#include <glib/gi18n.h>
-#include <gtk/gtk.h>
-#include <glade/glade.h>
-#include "typedefs.h"
-#include "glib-utils.h"
-#include "file-utils.h"
-#include "bookmarks.h"
-#include "gth-category-selection-dialog.h"
-
-enum {
- RESPONSE,
- LAST_SIGNAL
-};
-
-
-enum {
- C_USE_CATEGORY_COLUMN,
- C_CATEGORY_COLUMN,
- C_NUM_COLUMNS
-};
-
-
-#define CATEGORY_SEPARATOR_C ';'
-#define CATEGORY_SEPARATOR_STR ";"
-#define SEARCH_GLADE_FILE "gthumb_search.glade"
-#define DEFAULT_DIALOG_WIDTH 540
-#define DEFAULT_DIALOG_HEIGHT 480
-
-
-struct _GthCategorySelectionPrivate
-{
- char *categories;
- gboolean match_all;
- gboolean ok_clicked;
-
- GladeXML *gui;
-
- GtkWidget *dialog;
- GtkWidget *c_categories_entry;
- GtkWidget *c_categories_treeview;
- GtkWidget *c_ok_button;
- GtkWidget *c_cancel_button;
- GtkWidget *s_at_least_one_cat_radiobutton;
- GtkWidget *s_all_cat_radiobutton;
-
- GtkListStore *c_categories_list_model;
-};
-
-
-static GObjectClass *parent_class = NULL;
-static guint signals[LAST_SIGNAL] = { 0 };
-
-
-static void
-gth_category_selection_finalize (GObject *object)
-{
- GthCategorySelection *category_sel;
-
- category_sel = GTH_CATEGORY_SELECTION (object);
-
- if (category_sel->priv != NULL) {
-
- if (category_sel->priv->dialog != NULL)
- g_signal_handlers_disconnect_by_data (category_sel->priv->dialog, category_sel);
-
- g_free (category_sel->priv->categories);
- category_sel->priv->categories = NULL;
-
- if (category_sel->priv->gui != NULL) {
- g_object_unref (category_sel->priv->gui);
- category_sel->priv->gui = NULL;
- }
-
- g_free (category_sel->priv);
- category_sel->priv = NULL;
- }
-
- G_OBJECT_CLASS (parent_class)->finalize (object);
-}
-
-
-static void
-gth_category_selection_class_init (GthCategorySelectionClass *class)
-{
- GObjectClass *object_class;
-
- parent_class = g_type_class_peek_parent (class);
- object_class = (GObjectClass*) class;
-
- object_class->finalize = gth_category_selection_finalize;
-
- signals[RESPONSE] =
- g_signal_new ("response",
- G_TYPE_FROM_CLASS (class),
- G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GthCategorySelectionClass, response),
- NULL, NULL,
- g_cclosure_marshal_VOID__INT,
- G_TYPE_NONE,
- 1, G_TYPE_INT);
-}
-
-
-static void
-gth_category_selection_init (GthCategorySelection *category_sel)
-{
- category_sel->priv = g_new0 (GthCategorySelectionPrivate, 1);
-}
-
-
-static void
-update_category_entry (GthCategorySelection *category_sel)
-{
- GthCategorySelectionPrivate *priv = category_sel->priv;
- GtkTreeIter iter;
- GtkTreeModel *model = GTK_TREE_MODEL (priv->c_categories_list_model);
- GString *categories;
-
- if (! gtk_tree_model_get_iter_first (model, &iter)) {
- gtk_entry_set_text (GTK_ENTRY (priv->c_categories_entry), "");
- return;
- }
-
- categories = g_string_new (NULL);
- do {
- gboolean use_category;
- gtk_tree_model_get (model, &iter, C_USE_CATEGORY_COLUMN, &use_category, -1);
- if (use_category) {
- char *category_name;
-
- gtk_tree_model_get (model, &iter,
- C_CATEGORY_COLUMN, &category_name,
- -1);
- if (categories->len > 0)
- categories = g_string_append (categories, CATEGORY_SEPARATOR_STR " ");
- categories = g_string_append (categories, category_name);
- g_free (category_name);
- }
- } while (gtk_tree_model_iter_next (model, &iter));
-
- gtk_entry_set_text (GTK_ENTRY (priv->c_categories_entry), categories->str);
- g_string_free (categories, TRUE);
-}
-
-
-static GList *
-get_categories_from_entry (GthCategorySelection *category_sel)
-{
- GthCategorySelectionPrivate *priv = category_sel->priv;
- GList *cat_list = NULL;
- const char *utf8_text;
- char **categories;
- int i;
-
- utf8_text = gtk_entry_get_text (GTK_ENTRY (priv->c_categories_entry));
- if (utf8_text == NULL)
- return NULL;
-
- categories = _g_utf8_strsplit (utf8_text, CATEGORY_SEPARATOR_C);
-
- for (i = 0; categories[i] != NULL; i++) {
- char *s;
-
- s = _g_utf8_strstrip (categories[i]);
-
- if (s != NULL)
- cat_list = g_list_prepend (cat_list, s);
- }
- g_strfreev (categories);
-
- return g_list_reverse (cat_list);
-}
-
-
-static void
-add_saved_categories (GthCategorySelection *category_sel,
- GList *cat_list)
-{
- GthCategorySelectionPrivate *priv = category_sel->priv;
- Bookmarks *categories;
- GList *scan;
-
- categories = bookmarks_new (RC_CATEGORIES_FILE);
- bookmarks_load_from_disk (categories);
-
- for (scan = categories->list; scan; scan = scan->next) {
- GtkTreeIter iter;
- GList *scan2;
- gboolean found = FALSE;
- char *category1 = scan->data;
-
- for (scan2 = cat_list; scan2 && !found; scan2 = scan2->next) {
- char *category2 = scan2->data;
- if (strcmp (category1, category2) == 0)
- found = TRUE;
- }
-
- if (found)
- continue;
-
- gtk_list_store_append (priv->c_categories_list_model, &iter);
-
- gtk_list_store_set (priv->c_categories_list_model, &iter,
- C_USE_CATEGORY_COLUMN, FALSE,
- C_CATEGORY_COLUMN, category1,
- -1);
- }
-
- bookmarks_free (categories);
-}
-
-
-static void
-update_list_from_entry (GthCategorySelection *category_sel)
-{
- GthCategorySelectionPrivate *priv = category_sel->priv;
- GList *categories = NULL;
- GList *scan;
-
- categories = get_categories_from_entry (category_sel);
-
- gtk_list_store_clear (priv->c_categories_list_model);
- for (scan = categories; scan; scan = scan->next) {
- char *category = scan->data;
- GtkTreeIter iter;
-
- gtk_list_store_append (priv->c_categories_list_model, &iter);
-
- gtk_list_store_set (priv->c_categories_list_model, &iter,
- C_USE_CATEGORY_COLUMN, TRUE,
- C_CATEGORY_COLUMN, category,
- -1);
- }
- add_saved_categories (category_sel, categories);
- path_list_free (categories);
-}
-
-
-static void
-use_category_toggled (GtkCellRendererToggle *cell,
- gchar *path_string,
- gpointer callback_data)
-{
- GthCategorySelection *category_sel = callback_data;
- GthCategorySelectionPrivate *priv = category_sel->priv;
- GtkTreeModel *model = GTK_TREE_MODEL (priv->c_categories_list_model);
- GtkTreeIter iter;
- GtkTreePath *path = gtk_tree_path_new_from_string (path_string);
- gboolean value;
-
- gtk_tree_model_get_iter (model, &iter, path);
- gtk_tree_model_get (model, &iter, C_USE_CATEGORY_COLUMN, &value, -1);
-
- value = !value;
- gtk_list_store_set (GTK_LIST_STORE (model), &iter, C_USE_CATEGORY_COLUMN, value, -1);
-
- gtk_tree_path_free (path);
- update_category_entry (category_sel);
-}
-
-
-static void
-choose_categories_ok_cb (GtkWidget *widget,
- GthCategorySelection *category_sel)
-{
- GthCategorySelectionPrivate *priv = category_sel->priv;
-
- priv->ok_clicked = TRUE;
-
- g_free (priv->categories);
- priv->categories = g_strdup (gtk_entry_get_text (GTK_ENTRY (priv->c_categories_entry)));
- priv->match_all = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (priv->s_all_cat_radiobutton));
-
- gtk_widget_destroy (priv->dialog);
- priv->dialog = NULL;
-
- g_signal_emit (category_sel, signals[RESPONSE], 0, GTK_RESPONSE_OK);
-}
-
-
-static gboolean
-categories_dialog__destroy_cb (GtkWidget *widget,
- GthCategorySelection *category_sel)
-{
- category_sel->priv->dialog = NULL;
-
- return FALSE;
-
- if (! category_sel->priv->ok_clicked) {
- g_object_ref (category_sel);
- g_signal_emit (category_sel, signals[RESPONSE], 0, GTK_RESPONSE_CANCEL);
- g_object_unref (category_sel);
- }
-}
-
-
-static void
-gth_category_selection_construct (GthCategorySelection *category_sel,
- GtkWindow *parent,
- const char *categories,
- gboolean match_all)
-{
- GthCategorySelectionPrivate *priv;
- GtkCellRenderer *renderer;
- GtkTreeViewColumn *column;
-
- priv = category_sel->priv;
-
- priv->gui = glade_xml_new (GTHUMB_GLADEDIR "/" SEARCH_GLADE_FILE,
- NULL,
- NULL);
- if (! priv->gui) {
- g_warning ("Could not find " SEARCH_GLADE_FILE "\n");
- return;
- }
-
- if (categories != NULL)
- priv->categories = g_strdup (categories);
- priv->match_all = match_all;
-
- /* Get the widgets. */
-
- priv->dialog = glade_xml_get_widget (priv->gui, "categories_dialog");
- priv->c_categories_entry = glade_xml_get_widget (priv->gui, "c_categories_entry");
- priv->c_categories_treeview = glade_xml_get_widget (priv->gui, "c_categories_treeview");
- priv->c_ok_button = glade_xml_get_widget (priv->gui, "c_ok_button");
- priv->c_cancel_button = glade_xml_get_widget (priv->gui, "c_cancel_button");
- priv->s_at_least_one_cat_radiobutton = glade_xml_get_widget (priv->gui, "s_at_least_one_cat_radiobutton");
- priv->s_all_cat_radiobutton = glade_xml_get_widget (priv->gui, "s_all_cat_radiobutton");
-
- /* Set widgets data. */
-
- priv->c_categories_list_model = gtk_list_store_new (C_NUM_COLUMNS,
- G_TYPE_BOOLEAN,
- G_TYPE_STRING);
- gtk_tree_view_set_model (GTK_TREE_VIEW (priv->c_categories_treeview),
- GTK_TREE_MODEL (priv->c_categories_list_model));
- g_object_unref (priv->c_categories_list_model);
- gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (priv->c_categories_treeview), FALSE);
-
- renderer = gtk_cell_renderer_toggle_new ();
- g_signal_connect (G_OBJECT (renderer),
- "toggled",
- G_CALLBACK (use_category_toggled),
- category_sel);
- gtk_tree_view_insert_column_with_attributes (GTK_TREE_VIEW (priv->c_categories_treeview),
- -1, "Use",
- renderer,
- "active", C_USE_CATEGORY_COLUMN,
- NULL);
-
- renderer = gtk_cell_renderer_text_new ();
- column = gtk_tree_view_column_new_with_attributes ("",
- renderer,
- "text", C_CATEGORY_COLUMN,
- NULL);
-
- gtk_tree_view_column_set_sort_column_id (column, 0);
- gtk_tree_view_append_column (GTK_TREE_VIEW (priv->c_categories_treeview),
- column);
-
- gtk_tree_sortable_set_sort_column_id (GTK_TREE_SORTABLE (priv->c_categories_list_model), C_CATEGORY_COLUMN, GTK_SORT_ASCENDING);
-
- gtk_entry_set_text (GTK_ENTRY (priv->c_categories_entry), categories);
- update_list_from_entry (category_sel);
-
- if (priv->match_all)
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->s_all_cat_radiobutton), TRUE);
- else
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (priv->s_at_least_one_cat_radiobutton), TRUE);
-
- /* Set the signals handlers. */
-
- g_signal_connect (G_OBJECT (priv->dialog),
- "destroy",
- G_CALLBACK (categories_dialog__destroy_cb),
- category_sel);
- g_signal_connect (G_OBJECT (priv->c_ok_button),
- "clicked",
- G_CALLBACK (choose_categories_ok_cb),
- category_sel);
- g_signal_connect_swapped (G_OBJECT (priv->c_cancel_button),
- "clicked",
- G_CALLBACK (gtk_widget_destroy),
- G_OBJECT (priv->dialog));
-
- /* Run dialog. */
-
- gtk_widget_grab_focus (priv->c_categories_treeview);
-
- if (parent != NULL) {
- gtk_window_set_transient_for (GTK_WINDOW (priv->dialog), parent);
- gtk_window_set_modal (GTK_WINDOW (priv->dialog), TRUE);
- }
-
- gtk_widget_show (priv->dialog);
-}
-
-
-GType
-gth_category_selection_get_type (void)
-{
- static GType type = 0;
-
- if (! type) {
- GTypeInfo type_info = {
- sizeof (GthCategorySelectionClass),
- NULL,
- NULL,
- (GClassInitFunc) gth_category_selection_class_init,
- NULL,
- NULL,
- sizeof (GthCategorySelection),
- 0,
- (GInstanceInitFunc) gth_category_selection_init
- };
-
- type = g_type_register_static (G_TYPE_OBJECT,
- "GthCategorySelection",
- &type_info,
- 0);
- }
-
- return type;
-}
-
-
-GthCategorySelection*
-gth_category_selection_new (GtkWindow *parent,
- const char *categories,
- gboolean match_all)
-{
- GthCategorySelection *csel;
-
- csel = GTH_CATEGORY_SELECTION (g_object_new (GTH_TYPE_CATEGORY_SELECTION, NULL));
- gth_category_selection_construct (csel, parent, categories, match_all);
-
- return csel;
-}
-
-
-char *
-gth_category_selection_get_categories (GthCategorySelection *csel)
-{
- return csel->priv->categories;
-}
-
-
-gboolean
-gth_category_selection_get_match_all (GthCategorySelection *csel)
-{
- return csel->priv->match_all;
-}
diff --git a/src/gth-category-selection-dialog.h b/src/gth-category-selection-dialog.h
deleted file mode 100644
index a97c72b..0000000
--- a/src/gth-category-selection-dialog.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
-
-/*
- * GThumb
- *
- * Copyright (C) 2007 The Free Software Foundation, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Street #330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef GTH_CATEGORY_SELECTION_DIALOG_H
-#define GTH_CATEGORY_SELECTION_DIALOG_H
-
-#include <gtk/gtk.h>
-
-#define GTH_TYPE_CATEGORY_SELECTION (gth_category_selection_get_type ())
-#define GTH_CATEGORY_SELECTION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), GTH_TYPE_CATEGORY_SELECTION, GthCategorySelection))
-#define GTH_CATEGORY_SELECTION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), GTH_TYPE_CATEGORY_SELECTION, GthCategorySelectionClass))
-#define GTH_IS_CATEGORY_SELECTION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTH_TYPE_CATEGORY_SELECTION))
-#define GTH_IS_CATEGORY_SELECTION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), GTH_TYPE_CATEGORY_SELECTION))
-#define GTH_CATEGORY_SELECTION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS((o), GTH_TYPE_CATEGORY_SELECTION, GthCategorySelectionClass))
-
-typedef struct _GthCategorySelection GthCategorySelection;
-typedef struct _GthCategorySelectionPrivate GthCategorySelectionPrivate;
-typedef struct _GthCategorySelectionClass GthCategorySelectionClass;
-
-struct _GthCategorySelection
-{
- GObject __parent;
- GthCategorySelectionPrivate *priv;
-};
-
-struct _GthCategorySelectionClass
-{
- GObjectClass __parent_class;
-
- /* -- Signals -- */
-
- void (* response) (GthCategorySelection *csel,
- GtkResponseType response);
-};
-
-GType gth_category_selection_get_type (void) G_GNUC_CONST;
-GthCategorySelection * gth_category_selection_new (GtkWindow *parent,
- const char *categories,
- gboolean match_all);
-char * gth_category_selection_get_categories (GthCategorySelection *csel);
-gboolean gth_category_selection_get_match_all (GthCategorySelection *csel);
-
-#endif /* GTH_CATEGORY_SELECTION_DIALOG_H */
diff --git a/src/gth-filter-bar.c b/src/gth-filter-bar.c
index 0f650b1..04bcafc 100644
--- a/src/gth-filter-bar.c
+++ b/src/gth-filter-bar.c
@@ -29,7 +29,7 @@
#include <gtk/gtk.h>
#include <libgnomeui/gnome-dateedit.h>
#include "gth-filter-bar.h"
-#include "gth-category-selection-dialog.h"
+#include "gth-tag-selection-dialog.h"
enum {
FILTER_TYPE_NONE,
@@ -60,12 +60,12 @@ struct _GthFilterBarPrivate
gboolean has_focus;
GtkWidget *text_entry;
GtkWidget *text_op_combo_box;
- GtkWidget *category_op_combo_box;
+ GtkWidget *tag_op_combo_box;
GtkWidget *date_op_combo_box;
GtkWidget *int_op_combo_box;
GtkWidget *size_combo_box;
GtkWidget *scope_combo_box;
- GtkWidget *choose_categories_button;
+ GtkWidget *choose_tags_button;
GtkWidget *date_edit;
GtkListStore *model;
};
@@ -189,7 +189,7 @@ GthOpData date_op_data[] = { { N_("is equal to"), GTH_TEST_OP_EQUAL, FALSE },
{ N_("is after"), GTH_TEST_OP_AFTER, FALSE } };
-GthOpData category_op_data[] = { { N_("is"), GTH_TEST_OP_CONTAINS, FALSE },
+GthOpData tag_op_data[] = { { N_("is"), GTH_TEST_OP_CONTAINS, FALSE },
{ N_("is not"), GTH_TEST_OP_CONTAINS, TRUE } };
static struct {
@@ -207,7 +207,7 @@ static struct {
{ N_("Place"), GTH_TEST_SCOPE_PLACE },
{ N_("Date"), GTH_TEST_SCOPE_DATE },
{ N_("Size"), GTH_TEST_SCOPE_SIZE },
- { N_("Category"), GTH_TEST_SCOPE_KEYWORDS },
+ { N_("Tag"), GTH_TEST_SCOPE_KEYWORDS },
{ N_("Text contains"), GTH_TEST_SCOPE_ALL } };
@@ -229,9 +229,9 @@ scope_combo_box_changed_cb (GtkComboBox *scope_combo_box,
-1);
if ((filter_type == FILTER_TYPE_SCOPE) && (scope_type == GTH_TEST_SCOPE_KEYWORDS))
- gtk_widget_show (filter_bar->priv->choose_categories_button);
+ gtk_widget_show (filter_bar->priv->choose_tags_button);
else
- gtk_widget_hide (filter_bar->priv->choose_categories_button);
+ gtk_widget_hide (filter_bar->priv->choose_tags_button);
if ((filter_type == FILTER_TYPE_ALL)
|| ((filter_type == FILTER_TYPE_SCOPE)
@@ -262,9 +262,9 @@ scope_combo_box_changed_cb (GtkComboBox *scope_combo_box,
}
if ((filter_type == FILTER_TYPE_SCOPE) && (scope_type == GTH_TEST_SCOPE_KEYWORDS))
- gtk_widget_show (filter_bar->priv->category_op_combo_box);
+ gtk_widget_show (filter_bar->priv->tag_op_combo_box);
else
- gtk_widget_hide (filter_bar->priv->category_op_combo_box);
+ gtk_widget_hide (filter_bar->priv->tag_op_combo_box);
if ((filter_type == FILTER_TYPE_ALL)
|| ((filter_type == FILTER_TYPE_SCOPE)
@@ -301,14 +301,14 @@ scope_combo_boxrow_separator_func (GtkTreeModel *model,
static void
-category_selection_response_cb (GthCategorySelection *csel,
- GtkResponseType response,
- GthFilterBar *filter_bar)
+tag_selection_response_cb (GthTagSelection *csel,
+ GtkResponseType response,
+ GthFilterBar *filter_bar)
{
if (response == GTK_RESPONSE_OK) {
gtk_entry_set_text (GTK_ENTRY (filter_bar->priv->text_entry),
- gth_category_selection_get_categories (csel));
- filter_bar->priv->match_all = gth_category_selection_get_match_all (csel);
+ gth_tag_selection_get_tags (csel));
+ filter_bar->priv->match_all = gth_tag_selection_get_match_all (csel);
gth_filter_bar_changed (filter_bar);
}
@@ -318,20 +318,20 @@ category_selection_response_cb (GthCategorySelection *csel,
static void
-choose_categories_button_clicked_cb (GtkButton *button,
+choose_tags_button_clicked_cb (GtkButton *button,
GthFilterBar *filter_bar)
{
- GthCategorySelection *csel;
+ GthTagSelection *csel;
GtkWidget *toplevel;
toplevel = gtk_widget_get_toplevel (GTK_WIDGET (filter_bar));
if (! GTK_WIDGET_TOPLEVEL (toplevel))
toplevel = NULL;
- csel = gth_category_selection_new (GTK_WINDOW (toplevel), gtk_entry_get_text (GTK_ENTRY (filter_bar->priv->text_entry)), filter_bar->priv->match_all);
+ csel = gth_tag_selection_new (GTK_WINDOW (toplevel), gtk_entry_get_text (GTK_ENTRY (filter_bar->priv->text_entry)), filter_bar->priv->match_all);
g_signal_connect (G_OBJECT (csel),
"response",
- G_CALLBACK (category_selection_response_cb),
+ G_CALLBACK (tag_selection_response_cb),
filter_bar);
}
@@ -365,12 +365,12 @@ gth_filter_bar_construct (GthFilterBar *filter_bar)
GTK_BOX (filter_bar)->spacing = 6;
gtk_container_set_border_width (GTK_CONTAINER (filter_bar), 2);
- /* choose category button */
+ /* choose tag button */
- filter_bar->priv->choose_categories_button = gtk_button_new_with_label ("...");
- g_signal_connect (G_OBJECT (filter_bar->priv->choose_categories_button),
+ filter_bar->priv->choose_tags_button = gtk_button_new_with_label ("...");
+ g_signal_connect (G_OBJECT (filter_bar->priv->choose_tags_button),
"clicked",
- G_CALLBACK (choose_categories_button_clicked_cb),
+ G_CALLBACK (choose_tags_button_clicked_cb),
filter_bar);
/* date edit */
@@ -430,13 +430,13 @@ gth_filter_bar_construct (GthFilterBar *filter_bar)
G_CALLBACK (date_op_combo_box_changed_cb),
filter_bar);
- /* category operation combo box */
+ /* tag operation combo box */
- filter_bar->priv->category_op_combo_box = gtk_combo_box_new_text ();
- for (i = 0; i < G_N_ELEMENTS (category_op_data); i++)
- gtk_combo_box_append_text (GTK_COMBO_BOX (filter_bar->priv->category_op_combo_box),
- _(category_op_data[i].name));
- gtk_combo_box_set_active (GTK_COMBO_BOX (filter_bar->priv->category_op_combo_box), 0);
+ filter_bar->priv->tag_op_combo_box = gtk_combo_box_new_text ();
+ for (i = 0; i < G_N_ELEMENTS (tag_op_data); i++)
+ gtk_combo_box_append_text (GTK_COMBO_BOX (filter_bar->priv->tag_op_combo_box),
+ _(tag_op_data[i].name));
+ gtk_combo_box_set_active (GTK_COMBO_BOX (filter_bar->priv->tag_op_combo_box), 0);
/* scope combo box */
@@ -548,9 +548,9 @@ gth_filter_bar_construct (GthFilterBar *filter_bar)
gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->text_op_combo_box, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->int_op_combo_box, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->date_op_combo_box, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->category_op_combo_box, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->tag_op_combo_box, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->text_entry, FALSE, FALSE, 0);
- gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->choose_categories_button, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->choose_tags_button, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->size_combo_box, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (filter_bar), filter_bar->priv->date_edit, FALSE, FALSE, 0);
gtk_box_pack_end (GTK_BOX (filter_bar), button, FALSE, FALSE, 0);
@@ -660,7 +660,7 @@ gth_filter_bar_get_filter (GthFilterBar *filter_bar)
test = gth_test_new_with_int (scope_type, op_data.op, op_data.negative, size);
break;
case GTH_TEST_SCOPE_KEYWORDS:
- op_data = category_op_data[gtk_combo_box_get_active (GTK_COMBO_BOX (filter_bar->priv->category_op_combo_box))];
+ op_data = tag_op_data[gtk_combo_box_get_active (GTK_COMBO_BOX (filter_bar->priv->tag_op_combo_box))];
if (filter_bar->priv->match_all)
op_data.op = GTH_TEST_OP_CONTAINS_ALL;
else
diff --git a/src/gth-fullscreen.c b/src/gth-fullscreen.c
index 731f934..d6a3712 100644
--- a/src/gth-fullscreen.c
+++ b/src/gth-fullscreen.c
@@ -931,7 +931,7 @@ show_comment_on_image (GthFullscreen *fullscreen)
keywords = NULL;
if (cdata != NULL) {
comment = comments_get_comment_as_string (cdata, "\n", " - ");
- keywords = comments_get_categories_as_string (cdata, ", ");
+ keywords = comments_get_tags_as_string (cdata, ", ");
comment_data_free (cdata);
}
@@ -1223,10 +1223,10 @@ viewer_key_press_cb (GtkWidget *widget,
gth_window_edit_comment (GTH_WINDOW (fullscreen));
break;
- /* Edit categories. */
+ /* Edit tags. */
case GDK_k:
_show_cursor__hide_comment (fullscreen);
- gth_window_edit_categories (window);
+ gth_window_edit_tags (window);
break;
/* View/Hide comment */
@@ -1925,8 +1925,8 @@ gth_fullscreen_class_init (GthFullscreenClass *class)
window_class->save_pixbuf = gth_fullscreen_save_pixbuf;
window_class->exec_pixbuf_op = gth_fullscreen_exec_pixbuf_op;
- window_class->set_categories_dlg = gth_fullscreen_set_categories_dlg;
- window_class->get_categories_dlg = gth_fullscreen_get_categories_dlg;
+ window_class->set_tags_dlg = gth_fullscreen_set_tags_dlg;
+ window_class->get_tags_dlg = gth_fullscreen_get_tags_dlg;
window_class->set_comment_dlg = gth_fullscreen_set_comment_dlg;
window_class->get_comment_dlg = gth_fullscreen_get_comment_dlg;
window_class->reload_current_image = gth_fullscreen_reload_current_image;
@@ -1940,7 +1940,7 @@ gth_fullscreen_class_init (GthFullscreenClass *class)
window_class->step_animation = gth_fullscreen_step_animation;
/*
window_class->edit_comment = gth_fullscreen_edit_comment;
- window_class->edit_categories = gth_fullscreen_edit_categories;
+ window_class->edit_tags = gth_fullscreen_edit_tags;
window_class->set_fullscreen = gth_fullscreen_set_fullscreen;
window_class->get_fullscreen = gth_fullscreen_get_fullscreen;
window_class->set_slideshow = gth_fullscreen_set_slideshow;
diff --git a/src/gth-viewer-ui.h b/src/gth-viewer-ui.h
index c14b8a0..d7038d6 100644
--- a/src/gth-viewer-ui.h
+++ b/src/gth-viewer-ui.h
@@ -52,7 +52,7 @@ static const gchar *viewer_window_ui_info =
" <menuitem action='Edit_Redo'/>"
" <separator name='sep01'/>"
" <menuitem action='Edit_EditComment'/>"
-" <menuitem action='Edit_EditCategories'/>"
+" <menuitem action='Edit_EditTags'/>"
" <separator/>"
" <menuitem action='Edit_AddToCatalog'/>"
" </menu>"
diff --git a/src/gth-viewer.c b/src/gth-viewer.c
index 7737667..4721ffe 100644
--- a/src/gth-viewer.c
+++ b/src/gth-viewer.c
@@ -32,7 +32,7 @@
#include "jpegutils/jpeg-data.h"
#include "comments.h"
#include "dlg-save-image.h"
-#include "dlg-categories.h"
+#include "dlg-tags.h"
#include "dlg-comment.h"
#include "file-data.h"
#include "file-utils.h"
@@ -1087,9 +1087,9 @@ viewer_key_press_cb (GtkWidget *widget,
gth_window_edit_comment (GTH_WINDOW (viewer));
return TRUE;
- /* Edit keywords */
+ /* Edit tags */
case GDK_k:
- gth_window_edit_categories (GTH_WINDOW (viewer));
+ gth_window_edit_tags (GTH_WINDOW (viewer));
return TRUE;
default:
diff --git a/src/gth-window-actions-callbacks.c b/src/gth-window-actions-callbacks.c
index 5814f14..4a8aee2 100644
--- a/src/gth-window-actions-callbacks.c
+++ b/src/gth-window-actions-callbacks.c
@@ -40,7 +40,7 @@
#include "dlg-brightness-contrast.h"
#include "dlg-hue-saturation.h"
#include "dlg-catalog.h"
-#include "dlg-categories.h"
+#include "dlg-tags.h"
#include "dlg-change-date.h"
#include "dlg-reset-exif.h"
#include "dlg-comment.h"
@@ -271,10 +271,10 @@ gth_window_activate_action_edit_edit_comment (GtkAction *action,
void
-gth_window_activate_action_edit_edit_categories (GtkAction *action,
- GthWindow *window)
+gth_window_activate_action_edit_edit_tags (GtkAction *action,
+ GthWindow *window)
{
- gth_window_edit_categories (window);
+ gth_window_edit_tags (window);
}
diff --git a/src/gth-window-actions-callbacks.h b/src/gth-window-actions-callbacks.h
index cd5afd5..6c39b4a 100644
--- a/src/gth-window-actions-callbacks.h
+++ b/src/gth-window-actions-callbacks.h
@@ -36,7 +36,7 @@ DEFINE_ACTION(gth_window_activate_action_file_save_as)
DEFINE_ACTION(gth_window_activate_action_file_revert)
DEFINE_ACTION(gth_window_activate_action_file_print)
DEFINE_ACTION(gth_window_activate_action_edit_edit_comment)
-DEFINE_ACTION(gth_window_activate_action_edit_edit_categories)
+DEFINE_ACTION(gth_window_activate_action_edit_edit_tags)
DEFINE_ACTION(gth_window_activate_action_edit_undo)
DEFINE_ACTION(gth_window_activate_action_edit_redo)
DEFINE_ACTION(gth_window_activate_action_alter_image_rotate90)
diff --git a/src/gth-window-actions-entries.h b/src/gth-window-actions-entries.h
index 71b3985..a69ae57 100644
--- a/src/gth-window-actions-entries.h
+++ b/src/gth-window-actions-entries.h
@@ -86,15 +86,15 @@ static GtkActionEntry gth_window_action_entries[] = {
N_("Add a comment to selected images"),
G_CALLBACK (gth_window_activate_action_edit_edit_comment) },
- { "Edit_EditCategories", GTK_STOCK_INDEX,
- N_("Ca_tegories..."), "",
- N_("Assign categories to selected images"),
- G_CALLBACK (gth_window_activate_action_edit_edit_categories) },
-
- { "ToolBar_EditCategories", GTK_STOCK_INDEX,
- N_("Ca_tegories"), NULL,
- N_("Assign categories to selected images"),
- G_CALLBACK (gth_window_activate_action_edit_edit_categories) },
+ { "Edit_EditTags", GTK_STOCK_INDEX,
+ N_("T_ags..."), "",
+ N_("Assign tags to selected images"),
+ G_CALLBACK (gth_window_activate_action_edit_edit_tags) },
+
+ { "ToolBar_EditTags", GTK_STOCK_INDEX,
+ N_("T_ags"), NULL,
+ N_("Assign tags to selected images"),
+ G_CALLBACK (gth_window_activate_action_edit_edit_tags) },
{ "Edit_Undo", GTK_STOCK_UNDO,
NULL, "<control>Z",
diff --git a/src/gth-window.c b/src/gth-window.c
index eab8014..96a08a1 100644
--- a/src/gth-window.c
+++ b/src/gth-window.c
@@ -26,7 +26,7 @@
#include "gth-image-history.h"
#include "gth-window.h"
#include "dlg-comment.h"
-#include "dlg-categories.h"
+#include "dlg-tags.h"
#include "main.h"
enum {
@@ -42,7 +42,7 @@ struct _GthWindowPrivateData {
GtkWidget *table;
GtkWidget *contents;
GtkWidget *comment_dlg;
- GtkWidget *categories_dlg;
+ GtkWidget *tags_dlg;
gboolean slideshow;
gboolean fullscreen;
GthImageHistory *history;
@@ -242,7 +242,7 @@ gth_window_init (GthWindow *window)
priv->contents = NULL;
priv->comment_dlg = NULL;
- priv->categories_dlg = NULL;
+ priv->tags_dlg = NULL;
priv->history = gth_image_history_new ();
window_list = g_list_prepend (window_list, window);
@@ -288,9 +288,9 @@ gth_window_close (GthWindow *window)
priv->comment_dlg = NULL;
}
- if (priv->categories_dlg != NULL) {
- dlg_categories_close (priv->categories_dlg);
- priv->categories_dlg = NULL;
+ if (priv->tags_dlg != NULL) {
+ dlg_tags_close (priv->tags_dlg);
+ priv->tags_dlg = NULL;
}
class->close (window);
@@ -510,17 +510,17 @@ gth_window_attach (GthWindow *window,
void
-gth_window_set_categories_dlg (GthWindow *window,
- GtkWidget *dialog)
+gth_window_set_tags_dlg (GthWindow *window,
+ GtkWidget *dialog)
{
- window->priv->categories_dlg = dialog;
+ window->priv->tags_dlg = dialog;
}
GtkWidget *
-gth_window_get_categories_dlg (GthWindow *window)
+gth_window_get_tags_dlg (GthWindow *window)
{
- return window->priv->categories_dlg;
+ return window->priv->tags_dlg;
}
@@ -540,15 +540,15 @@ gth_window_get_comment_dlg (GthWindow *window)
void
-gth_window_update_comment_categories_dlg (GthWindow *window)
+gth_window_update_comment_tags_dlg (GthWindow *window)
{
GthWindowPrivateData *priv = window->priv;
if (priv->comment_dlg != NULL)
dlg_comment_update (priv->comment_dlg);
- if (priv->categories_dlg != NULL)
- dlg_categories_update (priv->categories_dlg);
+ if (priv->tags_dlg != NULL)
+ dlg_tags_update (priv->tags_dlg);
}
@@ -622,14 +622,14 @@ gth_window_edit_comment (GthWindow *window)
void
-gth_window_edit_categories (GthWindow *window)
+gth_window_edit_tags (GthWindow *window)
{
GthWindowPrivateData *priv = window->priv;
- if (priv->categories_dlg == NULL)
- priv->categories_dlg = dlg_categories_new (window);
+ if (priv->tags_dlg == NULL)
+ priv->tags_dlg = dlg_tags_new (window);
else
- gtk_window_present (GTK_WINDOW (priv->categories_dlg));
+ gtk_window_present (GTK_WINDOW (priv->tags_dlg));
}
diff --git a/src/gth-window.h b/src/gth-window.h
index 23a734a..b021e7e 100644
--- a/src/gth-window.h
+++ b/src/gth-window.h
@@ -115,13 +115,13 @@ typedef enum {
void gth_window_attach (GthWindow *window,
GtkWidget *child,
GthWindowArea area);
-void gth_window_set_categories_dlg (GthWindow *window,
+void gth_window_set_tags_dlg (GthWindow *window,
GtkWidget *dialog);
-GtkWidget * gth_window_get_categories_dlg (GthWindow *window);
+GtkWidget * gth_window_get_tags_dlg (GthWindow *window);
void gth_window_set_comment_dlg (GthWindow *window,
GtkWidget *dialog);
GtkWidget * gth_window_get_comment_dlg (GthWindow *window);
-void gth_window_update_comment_categories_dlg (GthWindow *window);
+void gth_window_update_comment_tags_dlg (GthWindow *window);
void gth_window_reload_current_image (GthWindow *window);
void gth_window_update_current_image_metadata (GthWindow *window);
GList * gth_window_get_file_list_selection (GthWindow *window);
@@ -131,7 +131,7 @@ void gth_window_set_animation (GthWindow *window,
gboolean gth_window_get_animation (GthWindow *window);
void gth_window_step_animation (GthWindow *window);
void gth_window_edit_comment (GthWindow *window);
-void gth_window_edit_categories (GthWindow *window);
+void gth_window_edit_tags (GthWindow *window);
void gth_window_set_fullscreen (GthWindow *window,
gboolean value);
gboolean gth_window_get_fullscreen (GthWindow *window);
diff --git a/src/main.c b/src/main.c
index b7a1568..393864b 100644
--- a/src/main.c
+++ b/src/main.c
@@ -140,28 +140,28 @@ theme_changed_cb (GtkIconTheme *theme,
static void
-create_default_categories_if_needed (void)
+create_default_tags_if_needed (void)
{
- Bookmarks *categories;
- char *default_categories[] = { N_("Holidays"),
- N_("Temporary"),
- N_("Screenshots"),
- N_("Science"),
- N_("Favourite"),
- N_("Important"),
- N_("GNOME"),
- N_("Games"),
- N_("Party"),
- N_("Birthday"),
- N_("Astronomy"),
- N_("Family"),
- NULL };
+ Bookmarks *tags;
+ char *default_tags[] = { N_("Holidays"),
+ N_("Temporary"),
+ N_("Screenshots"),
+ N_("Science"),
+ N_("Favourite"),
+ N_("Important"),
+ N_("GNOME"),
+ N_("Games"),
+ N_("Party"),
+ N_("Birthday"),
+ N_("Astronomy"),
+ N_("Family"),
+ NULL };
int i;
char *path;
path = g_strconcat (g_get_home_dir (),
"/",
- RC_CATEGORIES_FILE,
+ RC_TAGS_FILE,
NULL);
if (path_is_file (path)) {
g_free (path);
@@ -169,11 +169,11 @@ create_default_categories_if_needed (void)
}
g_free (path);
- categories = bookmarks_new (RC_CATEGORIES_FILE);
- for (i = 0; default_categories[i] != NULL; i++)
- bookmarks_add (categories, _(default_categories[i]), TRUE, TRUE);
- bookmarks_write_to_disk (categories);
- bookmarks_free (categories);
+ tags = bookmarks_new (RC_TAGS_FILE);
+ for (i = 0; default_tags[i] != NULL; i++)
+ bookmarks_add (tags, _(default_tags[i]), TRUE, TRUE);
+ bookmarks_write_to_disk (tags);
+ bookmarks_free (tags);
}
@@ -417,7 +417,7 @@ initialize_data (void)
int i = 0;
convert_to_new_comment_system ();
- create_default_categories_if_needed ();
+ create_default_tags_if_needed ();
eel_gconf_monitor_add ("/apps/gthumb");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]