Added Input Methods menu
parent
667d853637
commit
99052db422
|
@ -76,33 +76,6 @@ action_info_free (ActionInfo *info)
|
|||
}
|
||||
|
||||
|
||||
static gboolean
|
||||
set_action_accel (G_GNUC_UNUSED MooActionGroup *group,
|
||||
MooAction *action,
|
||||
gpointer data)
|
||||
{
|
||||
if (!action->dead && data)
|
||||
{
|
||||
const char *accel_path;
|
||||
accel_path = moo_action_make_accel_path (data, action->id);
|
||||
_moo_action_set_accel_path (action, accel_path);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
void
|
||||
_moo_edit_set_action_accels (MooEdit *edit,
|
||||
MooEditWindow *window)
|
||||
{
|
||||
char *window_id;
|
||||
window_id = moo_window_get_id (MOO_WINDOW (window));
|
||||
moo_action_group_foreach (edit->priv->actions,
|
||||
set_action_accel, window_id);
|
||||
g_free (window_id);
|
||||
}
|
||||
|
||||
|
||||
static void
|
||||
moo_edit_add_action (MooEdit *edit,
|
||||
MooAction *action)
|
||||
|
|
|
@ -29,8 +29,6 @@ extern GSList *_moo_edit_instances;
|
|||
void _moo_edit_add_class_actions (MooEdit *edit);
|
||||
void _moo_edit_check_actions (MooEdit *edit);
|
||||
void _moo_edit_class_init_actions (MooEditClass *klass);
|
||||
void _moo_edit_set_action_accels (MooEdit *edit,
|
||||
MooEditWindow *window);
|
||||
|
||||
void _moo_edit_do_popup (MooEdit *edit,
|
||||
GdkEventButton *event);
|
||||
|
|
|
@ -1711,12 +1711,33 @@ _moo_edit_do_popup (MooEdit *edit,
|
|||
|
||||
if (!edit->priv->menu)
|
||||
{
|
||||
gboolean show_im_menu = TRUE;
|
||||
|
||||
window = moo_edit_get_window (edit);
|
||||
edit->priv->menu =
|
||||
moo_ui_xml_create_widget (xml, MOO_UI_MENU, "Editor/Popup",
|
||||
moo_edit_get_actions (edit),
|
||||
window ? MOO_WINDOW(window)->accel_group : NULL);
|
||||
gtk_object_sink (g_object_ref (edit->priv->menu));
|
||||
|
||||
if (show_im_menu)
|
||||
{
|
||||
GtkWidget *item, *submenu;
|
||||
|
||||
item = gtk_separator_menu_item_new ();
|
||||
gtk_widget_show (item);
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (edit->priv->menu), item);
|
||||
|
||||
item = gtk_menu_item_new_with_label ("Input Methods");
|
||||
gtk_widget_show (item);
|
||||
|
||||
submenu = gtk_menu_new ();
|
||||
gtk_menu_item_set_submenu (GTK_MENU_ITEM (item), submenu);
|
||||
gtk_menu_shell_append (GTK_MENU_SHELL (edit->priv->menu), item);
|
||||
|
||||
gtk_im_multicontext_append_menuitems (GTK_IM_MULTICONTEXT (GTK_TEXT_VIEW (edit)->im_context),
|
||||
GTK_MENU_SHELL (submenu));
|
||||
}
|
||||
}
|
||||
|
||||
g_return_if_fail (edit->priv->menu != NULL);
|
||||
|
|
Loading…
Reference in New Issue