minput_config_command (current_lang, current_name, current_command, \
(plist))
+static void
+mtext__cat_str (MText *mt, char *str)
+{
+ while (*str)
+ {
+ mtext_cat_char (mt, (int) *str);
+ str++;
+ }
+}
+
static unsigned modifier_state = 0;
static MPlist *entry_keyseq;
static MSymbol current_lang, current_name, current_command;
{
MPlist *keyseq, *pl;
gint n;
- gchar buf[1024];
+ MText *mt = mtext ();
gtk_tree_model_get (model, iter, 0, &keyseq, -1);
- for (pl = keyseq, n = 0;
+ for (pl = keyseq;
pl && mplist_key (pl) == Msymbol;
pl = mplist_next (pl))
- n += strlen (msymbol_name ((MSymbol) mplist_value (pl))) + 1;
- if (n < sizeof (buf))
{
- buf[0] = '\0';
- for (pl = keyseq;
- pl && mplist_key (pl) == Msymbol;
- pl = mplist_next (pl))
- {
- strcat (buf, msymbol_name ((MSymbol) mplist_value (pl)));
- strcat (buf, " ");
- }
- g_object_set (renderer, "foreground-set", FALSE, NULL);
- }
- else
- {
- g_snprintf (buf, sizeof (buf), _("Too long to display"));
- g_object_set (renderer, "foreground", "Red", "foreground-set", TRUE,
- NULL);
+ mtext__cat_str (mt, msymbol_name ((MSymbol) mplist_value (pl)));
+ mtext_cat_char (mt, ' ');
}
- g_object_set (renderer, "text", buf, NULL);
+ g_object_set (renderer, "text", mtext_data (mt, NULL, NULL, NULL, NULL),
+ NULL);
+ m17n_object_unref (mt);
}
static void *
create_deleting_section (struct BindingWidgets *bw)
{
GtkListStore *store;
- GtkWidget *scrolled, *hbox, *vbox;
+ GtkWidget *label, *scrolled, *hbox, *vbox;
GtkTreeViewColumn *column;
GtkCellRenderer *renderer;
GtkTreeIter iter;
GtkTreeSelection *selection;
MPlist *pl;
+ label = gtk_label_new (_("Current key bindings:"));
+
store = gtk_list_store_new (1, G_TYPE_POINTER);
bw->view = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
g_object_unref (G_OBJECT (store));
+ gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (bw->view), FALSE);
update_binding_store (bw->view);
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW(bw->view));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
bw->view);
column = gtk_tree_view_column_new ();
- gtk_tree_view_column_set_title (column, _("Current Key Bindings"));
gtk_tree_view_append_column (GTK_TREE_VIEW (bw->view), column);
renderer = gtk_cell_renderer_text_new ();
vbox = gtk_vbox_new (FALSE, 6);
gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
+ hbox = gtk_hbox_new (FALSE, 6);
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 6);
+ gtk_container_add (GTK_CONTAINER (vbox), hbox);
+
gtk_container_add (GTK_CONTAINER (vbox), scrolled);
hbox = gtk_hbutton_box_new ();
{
GtkTreeModel *model;
GtkTreeIter iter;
- GtkWidget *dialog, *vbox;
+ GtkWidget *dialog, *vbox, *hbox;
struct BindingWidgets bw;
gchar *command;
dialog = (gtk_dialog_new_with_buttons
(command,
GTK_WINDOW (gtk_widget_get_toplevel (GTK_WIDGET (parent))),
- GTK_DIALOG_DESTROY_WITH_PARENT,
- GTK_STOCK_CLOSE, GTK_RESPONSE_CLOSE,
+ GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+ GTK_STOCK_OK, GTK_RESPONSE_OK,
NULL));
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox),
- create_adding_section (&bw));
+ create_deleting_section (&bw));
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox),
- create_deleting_section (&bw));
+ create_adding_section (&bw));
+ vbox = gtk_vbox_new (FALSE, 6);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 6);
+ hbox = gtk_hbox_new (FALSE, 6);
bw.status = gtk_label_new (NULL);
- vbox = gtk_vbox_new (FALSE, 12);
- gtk_container_add (GTK_CONTAINER (vbox), bw.status);
+ gtk_box_pack_start (GTK_BOX (hbox), bw.status, FALSE, FALSE, 6);
+ gtk_container_add (GTK_CONTAINER (vbox), hbox);
gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), vbox);
update_widgets (&bw);