Beispiel #1
0
void menu_inspect(GtkTreeSelection *selection)
{
	ScpTreeStore *store;
	GtkTreeIter iter;
	const char *name;

	scp_tree_selection_get_selected(selection, &store, &iter);
	scp_tree_store_get(store, &iter, COLUMN_NAME, &name, -1);
	inspect_add(name);
}
Beispiel #2
0
void menu_modify(GtkTreeSelection *selection, const MenuItem *menu_item)
{
	ScpTreeStore *store;
	GtkTreeIter iter;
	const gchar *name;
	const char *value;
	gint hb_mode;

	scp_tree_selection_get_selected(selection, &store, &iter);
	scp_tree_store_get(store, &iter, COLUMN_NAME, &name, COLUMN_VALUE, &value, COLUMN_HB_MODE,
		&hb_mode, -1);
	menu_evaluate_modify(name, value, _("Modify"), hb_mode, menu_item ? MR_MODIFY : MR_MODSTR,
		"07");
}
Beispiel #3
0
void view_seek_selected(GtkTreeSelection *selection, gboolean focus, SeekerType seeker)
{
	ScpTreeStore *store;
	GtkTreeIter iter;

	if (scp_tree_selection_get_selected(selection, &store, &iter))
	{
		const char *file;
		gint line;

		scp_tree_store_get(store, &iter, COLUMN_FILE, &file, COLUMN_LINE, &line, -1);

		if (file)
			utils_seek(file, line, focus, seeker);
	}
}
Beispiel #4
0
void menu_mode_update(GtkTreeSelection *selection, gint new_mode, gboolean hbit)
{
	ScpTreeStore *store;
	GtkTreeIter iter;
	const char *name;

	scp_tree_selection_get_selected(selection, &store, &iter);
	scp_tree_store_get(store, &iter, COLUMN_NAME, &name, -1);
	menu_mode_update_iter(store, &iter, new_mode, hbit);
	parse_mode_update(name, hbit ? MODE_HBIT : MODE_MEMBER, new_mode);

	if (hbit)
	{
		char *reverse = parse_mode_reentry(name);

		if (store_find(store, &iter, COLUMN_NAME, reverse))
			menu_mode_update_iter(store, &iter, new_mode, TRUE);
		g_free(reverse);
	}
}
Beispiel #5
0
void menu_copy(GtkTreeSelection *selection, const MenuItem *menu_item)
{
	ScpTreeStore *store;
	GtkTreeIter iter;
	const gchar *name, *display;
	const char *value;
	GString *string;

	scp_tree_selection_get_selected(selection, &store, &iter);
	scp_tree_store_get(store, &iter, COLUMN_NAME, &name, COLUMN_DISPLAY, &display,
		COLUMN_VALUE, &value, -1);
	string = g_string_new(name);

	if (value)
		g_string_append_printf(string, " = %s", display);

	gtk_clipboard_set_text(gtk_widget_get_clipboard(menu_item->widget,
		GDK_SELECTION_CLIPBOARD), string->str, string->len);

	g_string_free(string, TRUE);
}