Пример #1
0
int
board_load_dialog (window_board_t *win, int append)
{
	GtkWidget *dialog;

	dialog = gtk_file_chooser_dialog_new (_("Open File"),
			GTK_WINDOW (win->window),
			GTK_FILE_CHOOSER_ACTION_OPEN,
			GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
			GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
			NULL);
	add_filters (GTK_FILE_CHOOSER (dialog));

	if (win->filename) {
		char *cwd = g_path_get_dirname (win->filename);
		gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (dialog), cwd);
		g_free (cwd);
		gtk_file_chooser_set_filename (GTK_FILE_CHOOSER (dialog), win->filename);
	}

	int ret = 0;
	while (ret == 0) {
		if (gtk_dialog_run (GTK_DIALOG (dialog)) != GTK_RESPONSE_ACCEPT)
			break;
		char *filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
		ret = board_load_popup (win, append, filename);
		g_free (filename);
	}

	gtk_widget_destroy (dialog);
	return ret;
}
Пример #2
0
static void
jump_menu_select (GtkWidget *recentchooser, char *unused)
{
	char *filename = gtk_recent_chooser_get_current_uri (GTK_RECENT_CHOOSER (recentchooser));
	if (strncmp (filename, "file://", sizeof ("file://") - 1))
		return;
	board_load_popup (win, 0, filename + sizeof ("file://") - 1);
}