ui review

This commit is contained in:
Jody Goldberg 2002-07-10 21:45:45 +00:00
parent 143608b99a
commit 7bb012af08
6 changed files with 52 additions and 39 deletions

View file

@ -48,7 +48,7 @@ add_mime_cb (GtkButton *button, GladeXML *dialog)
{ {
GtkTreeView *treeview; GtkTreeView *treeview;
GtkTreeModel *model; GtkTreeModel *model;
GObject *add_dialog; GtkWidget *add_dialog;
treeview = GTK_TREE_VIEW (WID ("mime_types_tree")); treeview = GTK_TREE_VIEW (WID ("mime_types_tree"));
model = gtk_tree_view_get_model (treeview); model = gtk_tree_view_get_model (treeview);
@ -63,7 +63,7 @@ add_service_cb (GtkButton *button, GladeXML *dialog)
{ {
GtkTreeView *treeview; GtkTreeView *treeview;
GtkTreeModel *model; GtkTreeModel *model;
GObject *add_dialog; GtkWidget *add_dialog;
treeview = GTK_TREE_VIEW (WID ("mime_types_tree")); treeview = GTK_TREE_VIEW (WID ("mime_types_tree"));
model = gtk_tree_view_get_model (treeview); model = gtk_tree_view_get_model (treeview);
@ -71,7 +71,7 @@ add_service_cb (GtkButton *button, GladeXML *dialog)
add_dialog = service_add_dialog_new (model); add_dialog = service_add_dialog_new (model);
} }
static GObject * static GtkWidget *
launch_edit_dialog (GtkTreeModel *model, GtkTreeIter *iter) launch_edit_dialog (GtkTreeModel *model, GtkTreeIter *iter)
{ {
ModelEntry *entry; ModelEntry *entry;
@ -211,11 +211,13 @@ create_dialog (void)
/* Icon/description column */ /* Icon/description column */
column = gtk_tree_view_column_new (); column = gtk_tree_view_column_new ();
gtk_tree_view_column_set_resizable (column, TRUE);
gtk_tree_view_column_set_title (column, _("Description"));
renderer = gtk_cell_renderer_pixbuf_new (); renderer = gtk_cell_renderer_pixbuf_new ();
gtk_tree_view_column_pack_start (column, renderer, FALSE); gtk_tree_view_column_pack_start (column, renderer, FALSE);
gtk_tree_view_column_set_attributes gtk_tree_view_column_set_attributes
(column, renderer, "pixbuf", MODEL_COLUMN_ICON, NULL); (column, renderer, "pixbuf", MODEL_COLUMN_ICON, NULL);
/* Description column */ /* Description column */
renderer = gtk_cell_renderer_text_new (); renderer = gtk_cell_renderer_text_new ();
@ -226,16 +228,20 @@ create_dialog (void)
"search_column", MODEL_COLUMN_DESCRIPTION, "search_column", MODEL_COLUMN_DESCRIPTION,
NULL); NULL);
gtk_tree_view_column_set_title (column, _("Description"));
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column); gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
gtk_tree_view_set_expander_column (GTK_TREE_VIEW (treeview), column); gtk_tree_view_set_expander_column (GTK_TREE_VIEW (treeview), column);
/* Extensions column */ /* Extensions column */
column = gtk_tree_view_column_new ();
gtk_tree_view_column_set_resizable (column, TRUE);
gtk_tree_view_column_set_title (column, _("Extensions"));
renderer = gtk_cell_renderer_text_new (); renderer = gtk_cell_renderer_text_new ();
gtk_tree_view_insert_column_with_attributes gtk_tree_view_column_pack_start (column, renderer, TRUE);
(GTK_TREE_VIEW (treeview), -1, _("Extensions"), renderer, gtk_tree_view_column_set_attributes
"text", MODEL_COLUMN_FILE_EXT, (column, renderer, "text", MODEL_COLUMN_FILE_EXT, NULL);
NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (treeview), column);
gtk_widget_set_sensitive (WID ("edit_button"), FALSE); gtk_widget_set_sensitive (WID ("edit_button"), FALSE);
gtk_widget_set_sensitive (WID ("remove_button"), FALSE); gtk_widget_set_sensitive (WID ("remove_button"), FALSE);
@ -271,8 +277,7 @@ main (int argc, char **argv)
char const *mime_type = NULL; char const *mime_type = NULL;
char const *file_name = NULL; char const *file_name = NULL;
GtkTreeModel *model; GtkTreeModel *model;
MimeTypeInfo *info = NULL; GtkWidget *mime_dialog;
GObject *mime_dialog;
GnomeProgram *program; GnomeProgram *program;
poptContext popt_ctxt = 0; poptContext popt_ctxt = 0;
@ -299,18 +304,23 @@ main (int argc, char **argv)
if (mime_type == NULL) { if (mime_type == NULL) {
GladeXML *dialog = create_dialog (); GladeXML *dialog = create_dialog ();
gtk_widget_show_all (WID ("main_dialog")); gtk_dialog_set_default_response (GTK_DIALOG (WID ("main_dialog")), GTK_RESPONSE_CLOSE);
mime_dialog = WID ("main_dialog");
} else { } else {
MimeTypeInfo *info = NULL;
model = GTK_TREE_MODEL (mime_types_model_new (FALSE)); model = GTK_TREE_MODEL (mime_types_model_new (FALSE));
if (strcmp (GNOME_VFS_MIME_TYPE_UNKNOWN, mime_type)) { if (strcmp (GNOME_VFS_MIME_TYPE_UNKNOWN, mime_type)) {
info = mime_type_info_new (mime_type, model); info = mime_type_info_new (mime_type, model);
mime_dialog = mime_edit_dialog_new (model, info); mime_dialog = mime_edit_dialog_new (model, info);
} else { } else
mime_dialog = mime_add_dialog_new (model, NULL, file_name); mime_dialog = mime_add_dialog_new (model, NULL, file_name);
} g_signal_connect (G_OBJECT (mime_dialog),
g_signal_connect (mime_dialog, "done", (GCallback) dialog_done_cb, info); "done", (GCallback) dialog_done_cb, info);
} }
capplet_set_icon (mime_dialog, "gnome-ccmime.png");
gtk_widget_show_all (mime_dialog);
gtk_main (); gtk_main ();
return 0; return 0;

View file

@ -5,7 +5,7 @@
<requires lib="gnome" /> <requires lib="gnome" />
<widget class="GtkDialog" id="main_dialog"> <widget class="GtkDialog" id="main_dialog">
<property name="title" translatable="yes">File types and Internet Services</property> <property name="title" translatable="yes">File Types and Programs</property>
<property name="type">GTK_WINDOW_TOPLEVEL</property> <property name="type">GTK_WINDOW_TOPLEVEL</property>
<property name="modal">no</property> <property name="modal">no</property>
<property name="default_width">500</property> <property name="default_width">500</property>
@ -165,7 +165,7 @@
<widget class="GtkButton" id="remove_button"> <widget class="GtkButton" id="remove_button">
<property name="can_default">yes</property> <property name="can_default">yes</property>
<property name="can_focus">yes</property> <property name="can_focus">yes</property>
<property name="label" translatable="yes">_Remove</property> <property name="label" translatable="yes">_Delete</property>
<property name="use_underline">yes</property> <property name="use_underline">yes</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="relief">GTK_RELIEF_NORMAL</property>
<property name="visible">yes</property> <property name="visible">yes</property>
@ -487,7 +487,7 @@
<widget class="GtkButton" id="remove_ext_button"> <widget class="GtkButton" id="remove_ext_button">
<property name="can_default">yes</property> <property name="can_default">yes</property>
<property name="can_focus">yes</property> <property name="can_focus">yes</property>
<property name="label" translatable="yes">_Remove</property> <property name="label" translatable="yes">_Delete</property>
<property name="use_underline">yes</property> <property name="use_underline">yes</property>
<property name="relief">GTK_RELIEF_NORMAL</property> <property name="relief">GTK_RELIEF_NORMAL</property>
<property name="visible">yes</property> <property name="visible">yes</property>

View file

@ -288,7 +288,7 @@ mime_edit_dialog_set_prop (GObject *object, guint prop_id, const GValue *value,
mime_edit_dialog->p->model); mime_edit_dialog->p->model);
setup_add_dialog (mime_edit_dialog); setup_add_dialog (mime_edit_dialog);
gtk_window_set_title (GTK_WINDOW (mime_edit_dialog->p->dialog_win), gtk_window_set_title (GTK_WINDOW (mime_edit_dialog->p->dialog_win),
(_("Add file type"))); (_("Add File Type")));
gtk_widget_show_all (mime_edit_dialog->p->dialog_win); gtk_widget_show_all (mime_edit_dialog->p->dialog_win);
} }
@ -363,16 +363,17 @@ mime_edit_dialog_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object); G_OBJECT_CLASS (parent_class)->finalize (object);
} }
GObject * GtkWidget *
mime_edit_dialog_new (GtkTreeModel *model, MimeTypeInfo *info) mime_edit_dialog_new (GtkTreeModel *model, MimeTypeInfo *info)
{ {
return g_object_new (mime_edit_dialog_get_type (), GObject *res = g_object_new (mime_edit_dialog_get_type (),
"model", model, "model", model,
"mime-type-info", info, "mime-type-info", info,
NULL); NULL);
return GTK_WIDGET (res);
} }
GObject * GtkWidget *
mime_add_dialog_new (GtkTreeModel *model, GtkWindow *parent, mime_add_dialog_new (GtkTreeModel *model, GtkWindow *parent,
char const *file_name) char const *file_name)
{ {
@ -408,7 +409,7 @@ mime_add_dialog_new (GtkTreeModel *model, GtkWindow *parent,
} }
} }
return dialog; return GTK_WIDGET (dialog);
} }
static void static void
@ -812,14 +813,14 @@ validate_data (MimeEditDialog *dialog)
if (strchr (mime_type, ' ') || !strchr (mime_type, '/')) { if (strchr (mime_type, ' ') || !strchr (mime_type, '/')) {
err_dialog = gtk_message_dialog_new ( err_dialog = gtk_message_dialog_new (
GTK_WINDOW (dialog->p->dialog_win), GTK_WINDOW (dialog->p->dialog_win),
GTK_DIALOG_MODAL, GTK_MESSAGE_ERROR, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
GTK_BUTTONS_CANCEL, GTK_BUTTONS_CANCEL,
_("Please enter a valid MIME type. It should be of the form " _("Please enter a valid MIME type. It should be of the form "
"class/type and may not contain any spaces.")); "class/type and may not contain any spaces."));
} else if (dialog->p->is_add && gnome_vfs_mime_type_is_known (mime_type)) { } else if (dialog->p->is_add && gnome_vfs_mime_type_is_known (mime_type)) {
err_dialog = gtk_message_dialog_new ( err_dialog = gtk_message_dialog_new (
GTK_WINDOW (dialog->p->dialog_win), GTK_WINDOW (dialog->p->dialog_win),
GTK_DIALOG_MODAL, GTK_MESSAGE_QUESTION, GTK_DIALOG_DESTROY_WITH_PARENT, GTK_MESSAGE_ERROR,
GTK_BUTTONS_OK_CANCEL, GTK_BUTTONS_OK_CANCEL,
_("A MIME type with that name already exists, overwrite ?.")); _("A MIME type with that name already exists, overwrite ?."));
} }

View file

@ -52,12 +52,12 @@ struct _MimeEditDialogClass
void (*done) (MimeEditDialog *dialog, gboolean ok); void (*done) (MimeEditDialog *dialog, gboolean ok);
}; };
GType mime_edit_dialog_get_type (void); GType mime_edit_dialog_get_type (void);
GObject *mime_edit_dialog_new (GtkTreeModel *model, GtkWidget *mime_edit_dialog_new (GtkTreeModel *model,
MimeTypeInfo *info); MimeTypeInfo *info);
GObject *mime_add_dialog_new (GtkTreeModel *model, GtkWindow *parent, GtkWidget *mime_add_dialog_new (GtkTreeModel *model, GtkWindow *parent,
char const *file_name); char const *file_name);
void mime_edit_dialog_get_app (GladeXML *glade, char const *mime_type, void mime_edit_dialog_get_app (GladeXML *glade, char const *mime_type,
GnomeVFSMimeApplication **current); GnomeVFSMimeApplication **current);

View file

@ -222,7 +222,7 @@ service_edit_dialog_set_prop (GObject *object, guint prop_id, const GValue *valu
dialog->p->info = service_info_new (NULL, NULL); dialog->p->info = service_info_new (NULL, NULL);
setup_add_dialog (dialog); setup_add_dialog (dialog);
gtk_window_set_title (GTK_WINDOW (dialog->p->dialog_win), gtk_window_set_title (GTK_WINDOW (dialog->p->dialog_win),
(_("Add service"))); (_("Add Service")));
gtk_widget_show_all (dialog->p->dialog_win); gtk_widget_show_all (dialog->p->dialog_win);
} }
@ -301,22 +301,24 @@ service_edit_dialog_finalize (GObject *object)
G_OBJECT_CLASS (parent_class)->finalize (object); G_OBJECT_CLASS (parent_class)->finalize (object);
} }
GObject * GtkWidget *
service_edit_dialog_new (GtkTreeModel *model, ServiceInfo *info) service_edit_dialog_new (GtkTreeModel *model, ServiceInfo *info)
{ {
return g_object_new (service_edit_dialog_get_type (), GObject *res = g_object_new (service_edit_dialog_get_type (),
"model", model, "model", model,
"service-info", info, "service-info", info,
NULL); NULL);
return GTK_WIDGET (res);
} }
GObject * GtkWidget *
service_add_dialog_new (GtkTreeModel *model) service_add_dialog_new (GtkTreeModel *model)
{ {
return g_object_new (service_edit_dialog_get_type (), GObject *res = g_object_new (service_edit_dialog_get_type (),
"model", model, "model", model,
"is-add", TRUE, "is-add", TRUE,
NULL); NULL);
return GTK_WIDGET (res);
} }
static void static void

View file

@ -52,9 +52,9 @@ struct _ServiceEditDialogClass
GType service_edit_dialog_get_type (void); GType service_edit_dialog_get_type (void);
GObject *service_edit_dialog_new (GtkTreeModel *model, GtkWidget *service_edit_dialog_new (GtkTreeModel *model,
ServiceInfo *info); ServiceInfo *info);
GObject *service_add_dialog_new (GtkTreeModel *model); GtkWidget *service_add_dialog_new (GtkTreeModel *model);
G_END_DECLS G_END_DECLS