Fill the name entry with the description, not the name field
2002-02-17 Bradford Hovinen <hovinen@ximian.com> * mime-category-edit-dialog.c (fill_dialog): Fill the name entry with the description, not the name field * mime-types-model.c (mime_types_model_get_value): Use description field when returning the description column for a category * mime-type-info.c (mime_type_info_set_category_name): Accept pointer to category description and pass that to get_category (mime_category_info_new): Initialize description; accept pointer to description (get_category): Accept a pointer to the description and initialize the category with that as well if necessary (get_category_description): Implement. Copy from get_category_name, but use the translated description name * mime-type-info.h (struct _MimeCategoryInfo): Add description field; holds the translated name * mime-type-info.c (mime_category_info_get_full_description): Implement. Copy from mime_category_info_get_full_name, but use description field rather than name field (mime_type_info_get_category_name): Use _get_full_description rather than _get_full_name
This commit is contained in:
parent
b2ef3b3089
commit
0018db8569
6 changed files with 99 additions and 14 deletions
|
@ -1,3 +1,29 @@
|
||||||
|
2002-02-17 Bradford Hovinen <hovinen@ximian.com>
|
||||||
|
|
||||||
|
* mime-category-edit-dialog.c (fill_dialog): Fill the name entry
|
||||||
|
with the description, not the name field
|
||||||
|
|
||||||
|
* mime-types-model.c (mime_types_model_get_value): Use description
|
||||||
|
field when returning the description column for a category
|
||||||
|
|
||||||
|
* mime-type-info.c (mime_type_info_set_category_name): Accept
|
||||||
|
pointer to category description and pass that to get_category
|
||||||
|
(mime_category_info_new): Initialize description; accept pointer
|
||||||
|
to description
|
||||||
|
(get_category): Accept a pointer to the description and initialize
|
||||||
|
the category with that as well if necessary
|
||||||
|
(get_category_description): Implement. Copy from
|
||||||
|
get_category_name, but use the translated description name
|
||||||
|
|
||||||
|
* mime-type-info.h (struct _MimeCategoryInfo): Add description
|
||||||
|
field; holds the translated name
|
||||||
|
|
||||||
|
* mime-type-info.c (mime_category_info_get_full_description):
|
||||||
|
Implement. Copy from mime_category_info_get_full_name, but use
|
||||||
|
description field rather than name field
|
||||||
|
(mime_type_info_get_category_name): Use _get_full_description
|
||||||
|
rather than _get_full_name
|
||||||
|
|
||||||
2002-02-04 Lauris Kaplinski <lauris@ximian.com>
|
2002-02-04 Lauris Kaplinski <lauris@ximian.com>
|
||||||
|
|
||||||
* service-edit-dialog.c (setup_add_dialog): Use gtk_menu_shell_append
|
* service-edit-dialog.c (setup_add_dialog): Use gtk_menu_shell_append
|
||||||
|
|
|
@ -292,7 +292,7 @@ fill_dialog (MimeCategoryEditDialog *dialog)
|
||||||
{
|
{
|
||||||
mime_category_info_load_all (dialog->p->info);
|
mime_category_info_load_all (dialog->p->info);
|
||||||
|
|
||||||
gtk_entry_set_text (GTK_ENTRY (WID ("name_entry")), dialog->p->info->name);
|
gtk_entry_set_text (GTK_ENTRY (WID ("name_entry")), dialog->p->info->description);
|
||||||
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (WID ("use_category_toggle")), dialog->p->info->use_parent_category);
|
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (WID ("use_category_toggle")), dialog->p->info->use_parent_category);
|
||||||
|
|
||||||
if (dialog->p->info->entry.parent->type == MODEL_ENTRY_NONE)
|
if (dialog->p->info->entry.parent->type == MODEL_ENTRY_NONE)
|
||||||
|
|
|
@ -642,7 +642,7 @@ store_data (MimeEditDialog *dialog)
|
||||||
tmp1 = gtk_entry_get_text (GTK_ENTRY (WID ("category_entry")));
|
tmp1 = gtk_entry_get_text (GTK_ENTRY (WID ("category_entry")));
|
||||||
if (strcmp (tmp, tmp1)) {
|
if (strcmp (tmp, tmp1)) {
|
||||||
cat_changed = TRUE;
|
cat_changed = TRUE;
|
||||||
mime_type_info_set_category_name (dialog->p->info, tmp1, dialog->p->model);
|
mime_type_info_set_category_name (dialog->p->info, tmp1, tmp1, dialog->p->model);
|
||||||
}
|
}
|
||||||
g_free (tmp);
|
g_free (tmp);
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,7 @@
|
||||||
#include "mime-types-model.h"
|
#include "mime-types-model.h"
|
||||||
|
|
||||||
static const gchar *get_category_name (const gchar *mime_type);
|
static const gchar *get_category_name (const gchar *mime_type);
|
||||||
|
static const gchar *get_category_description (const gchar *mime_type);
|
||||||
static GSList *get_lang_list (void);
|
static GSList *get_lang_list (void);
|
||||||
static gchar *form_extensions_string (const MimeTypeInfo *info,
|
static gchar *form_extensions_string (const MimeTypeInfo *info,
|
||||||
gchar *sep,
|
gchar *sep,
|
||||||
|
@ -51,6 +52,7 @@ static void get_icon_pixbuf (MimeTypeInfo *info,
|
||||||
gboolean want_large);
|
gboolean want_large);
|
||||||
|
|
||||||
static MimeCategoryInfo *get_category (const gchar *category_name,
|
static MimeCategoryInfo *get_category (const gchar *category_name,
|
||||||
|
const gchar *category_desc,
|
||||||
GtkTreeModel *model);
|
GtkTreeModel *model);
|
||||||
|
|
||||||
|
|
||||||
|
@ -79,7 +81,7 @@ mime_type_info_new (const gchar *mime_type, GtkTreeModel *model)
|
||||||
if (mime_type != NULL) {
|
if (mime_type != NULL) {
|
||||||
info->mime_type = g_strdup (mime_type);
|
info->mime_type = g_strdup (mime_type);
|
||||||
|
|
||||||
mime_type_info_set_category_name (info, get_category_name (mime_type), model);
|
mime_type_info_set_category_name (info, get_category_name (mime_type), get_category_description (mime_type), model);
|
||||||
} else {
|
} else {
|
||||||
info->entry.parent = get_model_entries (model);
|
info->entry.parent = get_model_entries (model);
|
||||||
}
|
}
|
||||||
|
@ -212,7 +214,7 @@ mime_type_info_get_file_extensions_pretty_string (MimeTypeInfo *info)
|
||||||
gchar *
|
gchar *
|
||||||
mime_type_info_get_category_name (const MimeTypeInfo *info)
|
mime_type_info_get_category_name (const MimeTypeInfo *info)
|
||||||
{
|
{
|
||||||
return mime_category_info_get_full_name (MIME_CATEGORY_INFO (info->entry.parent));
|
return mime_category_info_get_full_description (MIME_CATEGORY_INFO (info->entry.parent));
|
||||||
}
|
}
|
||||||
|
|
||||||
gboolean
|
gboolean
|
||||||
|
@ -232,13 +234,13 @@ mime_type_info_using_custom_app (const MimeTypeInfo *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
mime_type_info_set_category_name (const MimeTypeInfo *info, const gchar *category_name, GtkTreeModel *model)
|
mime_type_info_set_category_name (const MimeTypeInfo *info, const gchar *category_name, const gchar *category_desc, GtkTreeModel *model)
|
||||||
{
|
{
|
||||||
if (MODEL_ENTRY (info)->parent != NULL)
|
if (MODEL_ENTRY (info)->parent != NULL)
|
||||||
model_entry_remove_child (MODEL_ENTRY (info)->parent, MODEL_ENTRY (info), model);
|
model_entry_remove_child (MODEL_ENTRY (info)->parent, MODEL_ENTRY (info), model);
|
||||||
|
|
||||||
if (category_name != NULL) {
|
if (category_name != NULL) {
|
||||||
MODEL_ENTRY (info)->parent = MODEL_ENTRY (get_category (category_name, model));
|
MODEL_ENTRY (info)->parent = MODEL_ENTRY (get_category (category_name, category_desc, model));
|
||||||
|
|
||||||
if (MODEL_ENTRY (info)->parent != NULL)
|
if (MODEL_ENTRY (info)->parent != NULL)
|
||||||
model_entry_insert_child (MODEL_ENTRY (info)->parent, MODEL_ENTRY (info), model);
|
model_entry_insert_child (MODEL_ENTRY (info)->parent, MODEL_ENTRY (info), model);
|
||||||
|
@ -327,7 +329,7 @@ mime_type_info_free (MimeTypeInfo *info)
|
||||||
}
|
}
|
||||||
|
|
||||||
MimeCategoryInfo *
|
MimeCategoryInfo *
|
||||||
mime_category_info_new (MimeCategoryInfo *parent, const gchar *name, GtkTreeModel *model)
|
mime_category_info_new (MimeCategoryInfo *parent, const gchar *name, const gchar *description, GtkTreeModel *model)
|
||||||
{
|
{
|
||||||
MimeCategoryInfo *info;
|
MimeCategoryInfo *info;
|
||||||
|
|
||||||
|
@ -335,6 +337,7 @@ mime_category_info_new (MimeCategoryInfo *parent, const gchar *name, GtkTreeMode
|
||||||
MODEL_ENTRY (info)->type = MODEL_ENTRY_CATEGORY;
|
MODEL_ENTRY (info)->type = MODEL_ENTRY_CATEGORY;
|
||||||
|
|
||||||
info->name = g_strdup (name);
|
info->name = g_strdup (name);
|
||||||
|
info->description = g_strdup (description);
|
||||||
|
|
||||||
if (parent != NULL)
|
if (parent != NULL)
|
||||||
MODEL_ENTRY (info)->parent = MODEL_ENTRY (parent);
|
MODEL_ENTRY (info)->parent = MODEL_ENTRY (parent);
|
||||||
|
@ -639,6 +642,25 @@ mime_category_info_get_full_name (MimeCategoryInfo *info)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
gchar *
|
||||||
|
mime_category_info_get_full_description (MimeCategoryInfo *info)
|
||||||
|
{
|
||||||
|
GString *string;
|
||||||
|
ModelEntry *tmp;
|
||||||
|
gchar *ret;
|
||||||
|
|
||||||
|
string = g_string_new ("");
|
||||||
|
|
||||||
|
for (tmp = MODEL_ENTRY (info); tmp != NULL && tmp->type != MODEL_ENTRY_NONE; tmp = tmp->parent) {
|
||||||
|
g_string_prepend (string, MIME_CATEGORY_INFO (tmp)->description);
|
||||||
|
g_string_prepend (string, "/");
|
||||||
|
}
|
||||||
|
|
||||||
|
ret = g_strdup ((*string->str == '\0') ? string->str : string->str + 1);
|
||||||
|
g_string_free (string, TRUE);
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
char *
|
char *
|
||||||
mime_type_get_pretty_name_for_server (Bonobo_ServerInfo *server)
|
mime_type_get_pretty_name_for_server (Bonobo_ServerInfo *server)
|
||||||
{
|
{
|
||||||
|
@ -728,6 +750,25 @@ get_category_name (const gchar *mime_type)
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static const gchar *
|
||||||
|
get_category_description (const gchar *mime_type)
|
||||||
|
{
|
||||||
|
const gchar *path;
|
||||||
|
|
||||||
|
path = gnome_vfs_mime_get_value (mime_type, "category");
|
||||||
|
|
||||||
|
if (path != NULL)
|
||||||
|
return g_strdup (path);
|
||||||
|
else if (!strncmp (mime_type, "image/", strlen ("image/")))
|
||||||
|
return _("Images");
|
||||||
|
else if (!strncmp (mime_type, "video/", strlen ("video/")))
|
||||||
|
return _("Video");
|
||||||
|
else if (!strncmp (mime_type, "audio/", strlen ("audio/")))
|
||||||
|
return _("Audio");
|
||||||
|
else
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
static GSList *
|
static GSList *
|
||||||
get_lang_list (void)
|
get_lang_list (void)
|
||||||
{
|
{
|
||||||
|
@ -813,16 +854,25 @@ get_icon_pixbuf (MimeTypeInfo *info, const gchar *icon_path, gboolean want_large
|
||||||
}
|
}
|
||||||
|
|
||||||
static MimeCategoryInfo *
|
static MimeCategoryInfo *
|
||||||
get_category (const gchar *category_name, GtkTreeModel *model)
|
get_category (const gchar *category_name, const gchar *category_desc, GtkTreeModel *model)
|
||||||
{
|
{
|
||||||
ModelEntry *current, *child;
|
ModelEntry *current, *child;
|
||||||
gchar **categories;
|
gchar **categories = NULL, **desc_categories = NULL;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (category_name == NULL)
|
if (category_name == NULL && category_desc == NULL)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
categories = g_strsplit (category_name, "/", -1);
|
if (category_name != NULL)
|
||||||
|
categories = g_strsplit (category_name, "/", -1);
|
||||||
|
|
||||||
|
if (category_desc != NULL)
|
||||||
|
desc_categories = g_strsplit (category_desc, "/", -1);
|
||||||
|
|
||||||
|
if (category_name == NULL)
|
||||||
|
categories = desc_categories;
|
||||||
|
else if (category_desc == NULL)
|
||||||
|
desc_categories = categories;
|
||||||
|
|
||||||
current = get_model_entries (model);
|
current = get_model_entries (model);
|
||||||
|
|
||||||
|
@ -831,12 +881,16 @@ get_category (const gchar *category_name, GtkTreeModel *model)
|
||||||
if (child->type != MODEL_ENTRY_CATEGORY)
|
if (child->type != MODEL_ENTRY_CATEGORY)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (!strcmp (MIME_CATEGORY_INFO (child)->name, categories[i]))
|
if (!strcmp ((category_name == NULL) ?
|
||||||
|
MIME_CATEGORY_INFO (child)->description :
|
||||||
|
MIME_CATEGORY_INFO (child)->name,
|
||||||
|
categories[i]))
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (child == NULL) {
|
if (child == NULL) {
|
||||||
child = MODEL_ENTRY (mime_category_info_new (MIME_CATEGORY_INFO (current), categories[i], model));
|
child = MODEL_ENTRY (mime_category_info_new (MIME_CATEGORY_INFO (current), categories[i],
|
||||||
|
desc_categories[i], model));
|
||||||
model_entry_insert_child (MODEL_ENTRY (child)->parent, MODEL_ENTRY (child), model);
|
model_entry_insert_child (MODEL_ENTRY (child)->parent, MODEL_ENTRY (child), model);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -844,6 +898,7 @@ get_category (const gchar *category_name, GtkTreeModel *model)
|
||||||
}
|
}
|
||||||
|
|
||||||
g_strfreev (categories);
|
g_strfreev (categories);
|
||||||
|
g_strfreev (desc_categories);
|
||||||
|
|
||||||
return MIME_CATEGORY_INFO (current);
|
return MIME_CATEGORY_INFO (current);
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,6 +65,7 @@ struct _MimeCategoryInfo
|
||||||
ModelEntry entry;
|
ModelEntry entry;
|
||||||
|
|
||||||
gchar *name;
|
gchar *name;
|
||||||
|
gchar *description;
|
||||||
GnomeVFSMimeApplication *default_action;
|
GnomeVFSMimeApplication *default_action;
|
||||||
|
|
||||||
gboolean use_parent_category;
|
gboolean use_parent_category;
|
||||||
|
@ -94,12 +95,14 @@ gboolean mime_type_info_using_custom_app (const MimeTypeInfo *info);
|
||||||
|
|
||||||
void mime_type_info_set_category_name (const MimeTypeInfo *info,
|
void mime_type_info_set_category_name (const MimeTypeInfo *info,
|
||||||
const gchar *category_name,
|
const gchar *category_name,
|
||||||
|
const gchar *category_desc,
|
||||||
GtkTreeModel *model);
|
GtkTreeModel *model);
|
||||||
void mime_type_info_set_file_extensions (MimeTypeInfo *info,
|
void mime_type_info_set_file_extensions (MimeTypeInfo *info,
|
||||||
GList *list);
|
GList *list);
|
||||||
|
|
||||||
MimeCategoryInfo *mime_category_info_new (MimeCategoryInfo *parent,
|
MimeCategoryInfo *mime_category_info_new (MimeCategoryInfo *parent,
|
||||||
const gchar *name,
|
const gchar *name,
|
||||||
|
const gchar *description,
|
||||||
GtkTreeModel *model);
|
GtkTreeModel *model);
|
||||||
void mime_category_info_load_all (MimeCategoryInfo *category);
|
void mime_category_info_load_all (MimeCategoryInfo *category);
|
||||||
gboolean mime_category_info_using_custom_app (const MimeCategoryInfo *category);
|
gboolean mime_category_info_using_custom_app (const MimeCategoryInfo *category);
|
||||||
|
@ -108,6 +111,7 @@ void mime_category_info_update (MimeCategoryInfo *info);
|
||||||
|
|
||||||
GList *mime_category_info_find_apps (MimeCategoryInfo *info);
|
GList *mime_category_info_find_apps (MimeCategoryInfo *info);
|
||||||
gchar *mime_category_info_get_full_name (MimeCategoryInfo *info);
|
gchar *mime_category_info_get_full_name (MimeCategoryInfo *info);
|
||||||
|
gchar *mime_category_info_get_full_description (MimeCategoryInfo *info);
|
||||||
|
|
||||||
gchar *mime_type_get_pretty_name_for_server (Bonobo_ServerInfo *server);
|
gchar *mime_type_get_pretty_name_for_server (Bonobo_ServerInfo *server);
|
||||||
|
|
||||||
|
|
|
@ -409,7 +409,7 @@ mime_types_model_get_value (GtkTreeModel *tree_model, GtkTreeIter *iter, gint co
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODEL_ENTRY_CATEGORY:
|
case MODEL_ENTRY_CATEGORY:
|
||||||
g_value_set_static_string (value, _(MIME_CATEGORY_INFO (entry)->name));
|
g_value_set_static_string (value, MIME_CATEGORY_INFO (entry)->description);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case MODEL_ENTRY_SERVICE:
|
case MODEL_ENTRY_SERVICE:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue