the mime-type capplet should be ready for prime-time...
Hopefully it'll work for most people.
Этот коммит содержится в:
родитель
aa13eb006f
Коммит
9e562aae41
@ -6,7 +6,9 @@ INCLUDES = -I. -I$(srcdir) \
|
||||
|
||||
bin_PROGRAMS = mime-type-capplet
|
||||
|
||||
mime_type_capplet_SOURCES = mime-type-capplet.c mime-data.c edit-window.c mime-info.c
|
||||
mime_type_capplet_SOURCES = mime-type-capplet.c\
|
||||
mime-data.h mime-data.c edit-window.c\
|
||||
edit-window.h mime-info.c mime-info.h
|
||||
|
||||
mime_type_capplet_LDADD = ../../control-center/libcapplet.la \
|
||||
$(GNOME_LIBDIR) $(ORB_LIBS) \
|
||||
|
@ -8,15 +8,16 @@ typedef struct {
|
||||
GtkWidget *window;
|
||||
GtkWidget *icon_entry;
|
||||
GtkWidget *mime_type;
|
||||
GtkWidget *ext_tag_label;
|
||||
GtkWidget *regexp1_tag_label;
|
||||
GtkWidget *regexp2_tag_label;
|
||||
GtkWidget *ext_label;
|
||||
GtkWidget *regexp1_label;
|
||||
GtkWidget *regexp2_label;
|
||||
GtkWidget *open_entry;
|
||||
GtkWidget *edit_entry;
|
||||
GtkWidget *view_entry;
|
||||
GtkWidget *open_cbox;
|
||||
GtkWidget *edit_cbox;
|
||||
GtkWidget *view_cbox;
|
||||
MimeInfo *mi;
|
||||
} edit_window;
|
||||
static edit_window *main_win = NULL;
|
||||
static gboolean changing = TRUE;
|
||||
@ -38,7 +39,6 @@ apply_entry_change (GtkWidget *entry, gchar *key, MimeInfo *mi)
|
||||
{
|
||||
gchar *buf;
|
||||
gchar *text;
|
||||
|
||||
/* buf is the value that existed before when we
|
||||
* started the capplet */
|
||||
buf = local_mime_get_value (mi->mime_type, key);
|
||||
@ -67,9 +67,18 @@ apply_entry_change (GtkWidget *entry, gchar *key, MimeInfo *mi)
|
||||
static void
|
||||
apply_changes (MimeInfo *mi)
|
||||
{
|
||||
apply_entry_change (main_win->open_entry, "open", mi);
|
||||
apply_entry_change (main_win->view_entry, "view", mi);
|
||||
apply_entry_change (main_win->edit_entry, "edit", mi);
|
||||
apply_entry_change (gnome_icon_entry_gtk_entry (GNOME_ICON_ENTRY (main_win->icon_entry)),
|
||||
"icon-filename", mi);
|
||||
apply_entry_change (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->open_entry)),
|
||||
"open", mi);
|
||||
apply_entry_change (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->view_entry)),
|
||||
"view", mi);
|
||||
apply_entry_change (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->edit_entry)),
|
||||
"edit", mi);
|
||||
}
|
||||
static void
|
||||
browse_callback (GtkWidget *widget, gpointer data)
|
||||
{
|
||||
}
|
||||
static void
|
||||
initialize_main_win ()
|
||||
@ -94,6 +103,10 @@ initialize_main_win ()
|
||||
main_win->icon_entry = gnome_icon_entry_new ("mime_icon_entry", _("Select an icon..."));
|
||||
align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
|
||||
gtk_container_add (GTK_CONTAINER (align), main_win->icon_entry);
|
||||
gtk_signal_connect (GTK_OBJECT (gnome_icon_entry_gtk_entry (GNOME_ICON_ENTRY (main_win->icon_entry))),
|
||||
"changed",
|
||||
entry_changed,
|
||||
NULL);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), align, FALSE, FALSE, 0);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
|
||||
@ -101,38 +114,40 @@ initialize_main_win ()
|
||||
main_win->mime_type = gtk_label_new ("");
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->mime_type, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), gtk_hseparator_new (), FALSE, FALSE, 0);
|
||||
|
||||
/* extension/regexp */
|
||||
vbox2 = gtk_vbox_new (FALSE, GNOME_PAD_SMALL);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), vbox2, FALSE, FALSE, 0);
|
||||
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
|
||||
main_win->ext_label = gtk_label_new ("");
|
||||
main_win->ext_tag_label = gtk_label_new (_("Extension: "));
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Extension: ")),
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->ext_tag_label,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->ext_label, FALSE, FALSE, 0);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
|
||||
main_win->regexp1_label = gtk_label_new ("");
|
||||
main_win->regexp1_tag_label = gtk_label_new (_("First Regular Expresion: "));
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("First Regular Expresion: ")),
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp1_tag_label,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp1_label, FALSE, FALSE, 0);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
|
||||
main_win->regexp2_label = gtk_label_new ("");
|
||||
main_win->regexp2_tag_label = gtk_label_new (_("Second Regular Expresion: "));
|
||||
gtk_box_pack_start (GTK_BOX (vbox2), hbox, FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), gtk_label_new (_("Second Regular Expresion: ")),
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp2_tag_label,
|
||||
FALSE, FALSE, 0);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), main_win->regexp2_label, FALSE, FALSE, 0);
|
||||
|
||||
/* Actions box */
|
||||
frame = gtk_frame_new (_("Mime-Type Actions"));
|
||||
gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
|
||||
table = gtk_table_new (8, 3, FALSE);
|
||||
table = gtk_table_new (3, 2, FALSE);
|
||||
gtk_table_set_row_spacings (GTK_TABLE (table), GNOME_PAD_SMALL);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (table), GNOME_PAD_SMALL/2);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (table), GNOME_PAD_SMALL);
|
||||
gtk_container_add (GTK_CONTAINER (frame), table);
|
||||
label = gtk_label_new (_("Open"));
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||
@ -140,8 +155,8 @@ initialize_main_win ()
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
label,
|
||||
0, 1, 0, 1);
|
||||
main_win->open_entry = gtk_entry_new ();
|
||||
gtk_signal_connect (GTK_OBJECT (main_win->open_entry),
|
||||
main_win->open_entry = gnome_file_entry_new ("MIME_CAPPLET_OPEN", _("Select a file..."));
|
||||
gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->open_entry))),
|
||||
"changed",
|
||||
entry_changed,
|
||||
NULL);
|
||||
@ -149,69 +164,42 @@ initialize_main_win ()
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
main_win->open_entry,
|
||||
1, 2, 0, 1);
|
||||
button = gtk_button_new_with_label ("Browse...");
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
button,
|
||||
2, 3, 0, 1);
|
||||
|
||||
main_win->open_cbox = gtk_check_button_new_with_label (_("Use default Open action"));
|
||||
/* gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
main_win->open_cbox,
|
||||
0, 2, 1, 2);*/
|
||||
|
||||
label = gtk_label_new (_("View"));
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||
gtk_misc_set_padding (GTK_MISC (label), 2, 0);
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
label,
|
||||
0, 1, 3, 4);
|
||||
main_win->view_entry = gtk_entry_new ();
|
||||
gtk_signal_connect (GTK_OBJECT (main_win->view_entry),
|
||||
0, 1, 1, 2);
|
||||
|
||||
main_win->view_entry = gnome_file_entry_new ("MIME_CAPPLET_VIEW", _("Select a file..."));
|
||||
gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->view_entry))),
|
||||
"changed",
|
||||
entry_changed,
|
||||
NULL);
|
||||
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
main_win->view_entry,
|
||||
1, 2, 3, 4);
|
||||
button = gtk_button_new_with_label ("Browse...");
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
button,
|
||||
2, 3, 3, 4);
|
||||
|
||||
main_win->open_cbox = gtk_check_button_new_with_label (_("Use default View action"));
|
||||
/* gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
main_win->open_cbox,
|
||||
0, 2, 4, 5);*/
|
||||
1, 2, 1, 2);
|
||||
label = gtk_label_new (_("Edit"));
|
||||
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
|
||||
gtk_misc_set_padding (GTK_MISC (label), 2, 0);
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
label,
|
||||
0, 1, 6, 7);
|
||||
main_win->edit_entry = gtk_entry_new ();
|
||||
gtk_signal_connect (GTK_OBJECT (main_win->edit_entry),
|
||||
0, 1, 2, 3);
|
||||
main_win->edit_entry = gnome_file_entry_new ("MIME_CAPPLET_EDIT", _("Select a file..."));
|
||||
gtk_signal_connect (GTK_OBJECT (gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (main_win->edit_entry))),
|
||||
"changed",
|
||||
entry_changed,
|
||||
NULL);
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
main_win->edit_entry,
|
||||
1, 2, 6, 7);
|
||||
button = gtk_button_new_with_label ("Browse...");
|
||||
gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
button,
|
||||
2, 3, 6, 7);
|
||||
|
||||
main_win->edit_cbox = gtk_check_button_new_with_label (_("Use default Edit action"));
|
||||
/* gtk_table_attach_defaults (GTK_TABLE (table),
|
||||
main_win->edit_cbox,
|
||||
0, 2, 7, 8);*/
|
||||
1, 2, 2, 3);
|
||||
}
|
||||
|
||||
static void
|
||||
setup_entry (gchar *key, GtkWidget *entry, MimeInfo *mi)
|
||||
setup_entry (gchar *key, GtkWidget *g_entry, MimeInfo *mi)
|
||||
{
|
||||
gchar *buf;
|
||||
GtkWidget *entry = gnome_file_entry_gtk_entry (GNOME_FILE_ENTRY (g_entry));
|
||||
buf = local_mime_get_value (mi->mime_type, key);
|
||||
if (buf == NULL)
|
||||
buf = gnome_mime_get_value (mi->mime_type, key);
|
||||
@ -221,20 +209,24 @@ setup_entry (gchar *key, GtkWidget *entry, MimeInfo *mi)
|
||||
gtk_entry_set_text (GTK_ENTRY (entry), "");
|
||||
}
|
||||
void
|
||||
launch_edit_window (MimeInfo *mi)
|
||||
initialize_main_win_vals ()
|
||||
{
|
||||
gint size;
|
||||
|
||||
changing = TRUE;
|
||||
if (main_win == NULL)
|
||||
initialize_main_win ();
|
||||
MimeInfo *mi = main_win->mi;
|
||||
gchar *title;
|
||||
if (mi == NULL)
|
||||
return;
|
||||
/* now we fill in the fields with the mi stuff. */
|
||||
changing = TRUE;
|
||||
gtk_label_set_text (GTK_LABEL (main_win->mime_type), mi->mime_type);
|
||||
gnome_icon_entry_set_icon (GNOME_ICON_ENTRY (main_win->icon_entry),
|
||||
gnome_mime_get_value (mi->mime_type,
|
||||
"icon-filename"));
|
||||
|
||||
gtk_widget_show_all (GNOME_DIALOG (main_win->window)->vbox);
|
||||
/* we initialize everything */
|
||||
title = g_strconcat ("Set actions for ", mi->mime_type, NULL);
|
||||
gtk_window_set_title (GTK_WINDOW (main_win->window), title);
|
||||
g_free (title);
|
||||
if (mi->ext[0]) {
|
||||
GString *extension;
|
||||
extension = g_string_new (mi->ext_readable[0]);
|
||||
@ -248,32 +240,57 @@ launch_edit_window (MimeInfo *mi)
|
||||
} else if (mi->ext[1])
|
||||
gtk_label_set_text (GTK_LABEL (main_win->ext_label),
|
||||
mi->ext_readable[1]);
|
||||
else
|
||||
gtk_label_set_text (GTK_LABEL (main_win->ext_label),
|
||||
_("<No extention>"));
|
||||
else {
|
||||
gtk_widget_hide (main_win->ext_label);
|
||||
gtk_widget_hide (main_win->ext_tag_label);
|
||||
}
|
||||
if (mi->regex_readable[0])
|
||||
gtk_label_set_text (GTK_LABEL (main_win->regexp1_label),
|
||||
mi->regex_readable[0]);
|
||||
else
|
||||
gtk_label_set_text (GTK_LABEL (main_win->regexp1_label),
|
||||
_("<No Regular Expression>"));
|
||||
else {
|
||||
gtk_widget_hide (main_win->regexp1_label);
|
||||
gtk_widget_hide (main_win->regexp1_tag_label);
|
||||
}
|
||||
if (mi->regex_readable[1])
|
||||
gtk_label_set_text (GTK_LABEL (main_win->regexp2_label),
|
||||
mi->regex_readable[1]);
|
||||
else
|
||||
gtk_label_set_text (GTK_LABEL (main_win->regexp2_label),
|
||||
_("<No Regular Expression>"));
|
||||
else {
|
||||
gtk_widget_hide (main_win->regexp2_label);
|
||||
gtk_widget_hide (main_win->regexp2_tag_label);
|
||||
}
|
||||
/* initialize the entries */
|
||||
setup_entry ("open", main_win->open_entry, mi);
|
||||
setup_entry ("view", main_win->view_entry, mi);
|
||||
setup_entry ("edit", main_win->edit_entry, mi);
|
||||
|
||||
changing = FALSE;
|
||||
|
||||
gtk_widget_show_all (GNOME_DIALOG (main_win->window)->vbox);
|
||||
}
|
||||
void
|
||||
launch_edit_window (MimeInfo *mi)
|
||||
{
|
||||
gint size;
|
||||
|
||||
if (main_win == NULL)
|
||||
initialize_main_win ();
|
||||
main_win->mi = mi;
|
||||
initialize_main_win_vals ();
|
||||
|
||||
if ((gnome_dialog_run (GNOME_DIALOG (main_win->window))) == 0) {
|
||||
apply_changes (mi);
|
||||
}
|
||||
main_win->mi = NULL;
|
||||
gtk_widget_hide (main_win->window);
|
||||
}
|
||||
|
||||
void
|
||||
hide_edit_window ()
|
||||
{
|
||||
if (main_win && main_win->mi && main_win->window)
|
||||
gtk_widget_hide (main_win->window);
|
||||
}
|
||||
void
|
||||
show_edit_window ()
|
||||
{
|
||||
if (main_win && main_win->mi && main_win->window)
|
||||
gtk_widget_show (main_win->window);
|
||||
}
|
||||
|
@ -8,5 +8,8 @@
|
||||
#include "mime-data.h"
|
||||
|
||||
void launch_edit_window (MimeInfo *mi);
|
||||
|
||||
void initialize_main_win_vals ();
|
||||
void hide_edit_window ();
|
||||
void show_edit_window ();
|
||||
void edit_clicked ();
|
||||
#endif
|
||||
|
@ -22,6 +22,8 @@ static char *get_priority (char *def, int *priority);
|
||||
/* Global variables */
|
||||
static char *current_lang;
|
||||
static GHashTable *mime_types = NULL;
|
||||
static GtkWidget *clist = NULL;
|
||||
|
||||
/* Initialization functions */
|
||||
static char *
|
||||
get_priority (char *def, int *priority)
|
||||
@ -208,7 +210,7 @@ mime_load_from_dir (const char *mime_info_dir, gboolean system_dir)
|
||||
closedir (dir);
|
||||
}
|
||||
static void
|
||||
add_mime_vals_to_clist (gchar *mime_type, gpointer mi, gpointer clist)
|
||||
add_mime_vals_to_clist (gchar *mime_type, gpointer mi, gpointer cl)
|
||||
{
|
||||
/* we also finalize the MimeInfo structure here, now that we're done
|
||||
* loading it */
|
||||
@ -249,8 +251,8 @@ add_mime_vals_to_clist (gchar *mime_type, gpointer mi, gpointer clist)
|
||||
text[0] = ((MimeInfo *) mi)->mime_type;
|
||||
text[1] = extension->str;
|
||||
|
||||
row = gtk_clist_insert (GTK_CLIST (clist), 1, text);
|
||||
gtk_clist_set_row_data (GTK_CLIST (clist), row, mi);
|
||||
row = gtk_clist_insert (GTK_CLIST (cl), 1, text);
|
||||
gtk_clist_set_row_data (GTK_CLIST (cl), row, mi);
|
||||
g_string_free (extension, TRUE);
|
||||
}
|
||||
|
||||
@ -272,14 +274,18 @@ void
|
||||
edit_clicked ()
|
||||
{
|
||||
MimeInfo *mi;
|
||||
|
||||
/*mi = (MimeInfo *) gtk_clist_get_row_data (GTK_CLIST (widget), row);*/
|
||||
gint row;
|
||||
|
||||
if (GTK_CLIST (clist)->selection)
|
||||
row = GINT_TO_POINTER ((GTK_CLIST (clist)->selection)->data);
|
||||
mi = (MimeInfo *) gtk_clist_get_row_data (GTK_CLIST (clist), row);
|
||||
if (mi)
|
||||
launch_edit_window (mi);
|
||||
}
|
||||
|
||||
GtkWidget *
|
||||
get_mime_clist ()
|
||||
{
|
||||
GtkWidget *clist;
|
||||
GtkWidget *retval;
|
||||
gchar *titles[2];
|
||||
|
||||
@ -294,10 +300,12 @@ get_mime_clist ()
|
||||
"select_row",
|
||||
GTK_SIGNAL_FUNC (selected_row_callback),
|
||||
NULL);
|
||||
gtk_clist_set_selection_mode (GTK_CLIST (clist), GTK_SELECTION_BROWSE);
|
||||
gtk_clist_set_auto_sort (GTK_CLIST (clist), TRUE);
|
||||
g_hash_table_foreach (mime_types, (GHFunc) add_mime_vals_to_clist, clist);
|
||||
if (clist)
|
||||
g_hash_table_foreach (mime_types, (GHFunc) add_mime_vals_to_clist, clist);
|
||||
gtk_clist_columns_autosize (GTK_CLIST (clist));
|
||||
|
||||
gtk_clist_select_row (GTK_CLIST (clist), 0, 0);
|
||||
gtk_container_add (GTK_CONTAINER (retval), clist);
|
||||
return retval;
|
||||
}
|
||||
|
@ -12,7 +12,7 @@
|
||||
#include <ctype.h>
|
||||
#include "mime-data.h"
|
||||
#include "mime-info.h"
|
||||
|
||||
#include "edit-window.h"
|
||||
/* Prototypes */
|
||||
static void try_callback ();
|
||||
static void revert_callback ();
|
||||
@ -24,28 +24,29 @@ GtkWidget *capplet;
|
||||
static void
|
||||
try_callback ()
|
||||
{
|
||||
g_print ("testing...\n");
|
||||
write_user_keys ();
|
||||
}
|
||||
static void
|
||||
revert_callback ()
|
||||
{
|
||||
|
||||
write_initial_keys ();
|
||||
discard_mime_info ();
|
||||
initialize_main_win_vals ();
|
||||
}
|
||||
static void
|
||||
ok_callback ()
|
||||
{
|
||||
|
||||
write_user_keys ();
|
||||
}
|
||||
static void
|
||||
cancel_callback ()
|
||||
{
|
||||
|
||||
write_initial_keys ();
|
||||
}
|
||||
static void
|
||||
help_callback ()
|
||||
{
|
||||
|
||||
/* Sigh... empty as always */
|
||||
}
|
||||
static void
|
||||
init_mime_capplet ()
|
||||
@ -60,13 +61,11 @@ init_mime_capplet ()
|
||||
gtk_box_pack_start (GTK_BOX (vbox), get_mime_clist (), TRUE, TRUE, 0);
|
||||
hbox = gtk_hbox_new (FALSE, GNOME_PAD_SMALL);
|
||||
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
|
||||
button = gtk_button_new_with_label (_("Remove"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
button = gtk_button_new_with_label (_("Add"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
button = gtk_button_new_with_label (_("Edit"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), button, FALSE, FALSE, 0);
|
||||
gtk_widget_show_all (capplet);
|
||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
||||
edit_clicked, NULL);
|
||||
gtk_widget_show_all (capplet);
|
||||
gtk_signal_connect(GTK_OBJECT(capplet), "try",
|
||||
GTK_SIGNAL_FUNC(try_callback), NULL);
|
||||
gtk_signal_connect(GTK_OBJECT(capplet), "revert",
|
||||
@ -75,6 +74,10 @@ init_mime_capplet ()
|
||||
GTK_SIGNAL_FUNC(ok_callback), NULL);
|
||||
gtk_signal_connect(GTK_OBJECT(capplet), "cancel",
|
||||
GTK_SIGNAL_FUNC(cancel_callback), NULL);
|
||||
gtk_signal_connect(GTK_OBJECT(capplet), "page_hidden",
|
||||
GTK_SIGNAL_FUNC(hide_edit_window), NULL);
|
||||
gtk_signal_connect(GTK_OBJECT(capplet), "page_shown",
|
||||
GTK_SIGNAL_FUNC(show_edit_window), NULL);
|
||||
gtk_signal_connect(GTK_OBJECT(capplet), "help",
|
||||
GTK_SIGNAL_FUNC(help_callback), NULL);
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user