Exemplo n.º 1
0
/*
static void cb_mark_set(GtkTextBuffer *buffer, GtkTextIter *iter, GtkTextMark *mark)
{
	if (gtk_text_mark_get_name(mark))
{g_print(gtk_text_mark_get_name(mark));
}else g_print("|");
		menu_sensitivity_from_selection_bound(
			gtk_text_buffer_get_selection_bounds(buffer, NULL, NULL));
}
*/
static void cb_mark_changed(GtkTextBuffer *buffer)
{
	menu_sensitivity_from_selection_bound(
		gtk_text_buffer_get_selection_bounds(buffer, NULL, NULL));
}
Exemplo n.º 2
0
GtkUIManager *create_menu_bar(GtkWidget *window)
{
	GtkUIManager *ifactory;
#if 0
	gboolean flag_emacs = FALSE;

	gchar *key_theme = NULL;
	GtkSettings *settings = gtk_settings_get_default();
	if (settings) {
		g_object_get(settings, "gtk-key-theme-name", &key_theme, NULL);
		if (key_theme) {
			if (!g_ascii_strcasecmp(key_theme, "Emacs"))
				flag_emacs = TRUE;
			g_free(key_theme);
		}
	}
#endif

	ifactory = gtk_ui_manager_new();
	GtkActionGroup *actions = gtk_action_group_new("Actions");
	gtk_action_group_set_translate_func(actions, menu_translate, NULL, NULL);
	gtk_action_group_add_actions(actions, menu_items, nmenu_items, NULL);
	gtk_action_group_add_toggle_actions (actions, toggle_entries, n_toggle_entries, NULL);
	gtk_ui_manager_insert_action_group(ifactory, actions, 0);
	g_object_unref(actions);
	gtk_ui_manager_add_ui_from_string(ifactory, ui_info, -1, NULL);
	gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);

	/* hidden keybinds */
	gtk_accel_group_connect(
		accel_group, GDK_W, GDK_CONTROL_MASK, 0,
		g_cclosure_new_swap(G_CALLBACK(on_file_close), NULL, NULL));
	gtk_accel_group_connect(
		accel_group, GDK_T, GDK_CONTROL_MASK, 0,
		g_cclosure_new_swap(G_CALLBACK(on_option_always_on_top), NULL, NULL));
	gtk_widget_add_accelerator(
		gtk_ui_manager_get_widget(ifactory, "/M/Edit/Redo"),
		"activate", accel_group, GDK_Y, GDK_CONTROL_MASK, 0);
	gtk_widget_add_accelerator(
		gtk_ui_manager_get_widget(ifactory, "/M/Search/FindNext"),
		"activate", accel_group, GDK_F3, 0, 0);
	gtk_widget_add_accelerator(
		gtk_ui_manager_get_widget(ifactory, "/M/Search/FindPrevious"),
		"activate", accel_group, GDK_F3, GDK_SHIFT_MASK, 0);
	gtk_widget_add_accelerator(
		gtk_ui_manager_get_widget(ifactory, "/M/Search/Replace"),
		"activate", accel_group, GDK_R, GDK_CONTROL_MASK, 0);

	/* initialize sensitivities */
	gtk_widget_set_sensitive(
		gtk_ui_manager_get_widget(ifactory, "/M/Search/FindNext"),
		FALSE);
	gtk_widget_set_sensitive(
		gtk_ui_manager_get_widget(ifactory, "/M/Search/FindPrevious"),
		FALSE);

	menu_item_save   = gtk_ui_manager_get_widget(ifactory, "/M/File/Save");
	menu_item_cut    = gtk_ui_manager_get_widget(ifactory, "/M/Edit/Cut");
	menu_item_copy   = gtk_ui_manager_get_widget(ifactory, "/M/Edit/Copy");
	menu_item_paste  = gtk_ui_manager_get_widget(ifactory, "/M/Edit/Paste");
	menu_item_delete = gtk_ui_manager_get_widget(ifactory, "/M/Edit/Delete");
	menu_sensitivity_from_selection_bound(FALSE);

	return ifactory;
}