ocarina/ocarina/chooser.cpp

27 lines
570 B
C++

#include <ocarina/gtk.h>
#include <ocarina/chooser.h>
string ocarina_choose_file()
{
GtkWidget *chooser = gtk_file_chooser_dialog_new(
"Open File",
NULL,
GTK_FILE_CHOOSER_ACTION_OPEN,
GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
NULL);
char *c_file;
string filename = "";
if ( gtk_dialog_run(GTK_DIALOG(chooser)) == GTK_RESPONSE_ACCEPT) {
c_file = gtk_file_chooser_get_filename(
GTK_FILE_CHOOSER(chooser));
filename = c_file;
g_free(c_file);
}
gtk_widget_destroy(chooser);
return filename;
}