static void
edit_im (GtkTreeView *tree, MSymbol lang, MSymbol name)
{
- GtkWidget *dialog, *label;
+ GtkWidget *dialog, *frame, *table;
+ GtkTooltips *tip = gtk_tooltips_new ();
gint response;
+ MPlist *plist;
dialog = (gtk_dialog_new_with_buttons
- (_("Edit"),
+ (msymbol_name (name),
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (tree))),
GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
_("Default"), 0,
GTK_STOCK_REVERT_TO_SAVED, GTK_RESPONSE_NO,
- GTK_STOCK_EDIT, GTK_RESPONSE_YES,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
NULL));
- label = gtk_label_new (msymbol_name (name));
- gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), label);
- gtk_widget_show_all (dialog);
- response = gtk_dialog_run (GTK_DIALOG (dialog));
- if (response != GTK_RESPONSE_CANCEL
- && lang == Mt && (name == Mnil || name == msymbol ("unicode")))
- {
- MSymbol variable = msymbol (name == Mnil ? "candidates-group-size"
- : "prompt");
-
- if (response == GTK_RESPONSE_NO)
- {
- minput_config_variable (lang, name, variable, NULL);
- }
- else if (response == 0)
- {
- MPlist *plist = mplist ();
- minput_config_variable (lang, name, variable, plist);
- m17n_object_unref (plist);
- }
- else
- {
- MPlist *plist = mplist ();
+ frame = gtk_frame_new (_("Variables"));
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), frame,
+ FALSE, FALSE, 0);
+ create_variable_entries (frame, tip, lang, name);
- if (name == Mnil)
- {
- mplist_add (plist, Minteger, (void *) 3);
- }
- else
- {
- MText *mt = mtext_from_data (">>", 2, MTEXT_FORMAT_US_ASCII);
- mplist_add (plist, Mtext, mt);
- m17n_object_unref (mt);
- }
- minput_config_variable (lang, name, variable, plist);
- m17n_object_unref (plist);
- }
- }
+ frame = gtk_frame_new (_("Commands"));
+ gtk_box_pack_start (GTK_BOX (GTK_DIALOG (dialog)->vbox), frame,
+ FALSE, FALSE, 0);
+ create_command_entries (frame, tip, lang, name);
+ gtk_widget_show_all (dialog);
+ response = gtk_dialog_run (GTK_DIALOG (dialog));
+ if (response == 0)
+ printf ("Default\n");
+ else if (response == GTK_RESPONSE_NO)
+ printf ("GTK_RESPONSE_NO\n");
+ else if (response == GTK_RESPONSE_CANCEL)
+ printf ("GTK_RESPONSE_CANCEL\n");
gtk_widget_destroy (dialog);
}