15#include "gtk2_gui_p.h"
20#include <gwenhywfar/inherit.h>
21#include <gwenhywfar/debug.h>
22#include <gwenhywfar/gui_be.h>
23#include <gwenhywfar/i18n.h>
25#include <gwenhywfar/text.h>
26#include <gwenhywfar/mdigest.h>
27#include <gwenhywfar/debug.h>
30#define I18N(msg) GWEN_I18N_Translate(PACKAGE, msg)
127 gtk_widget_show_all(g);
148 gtk_widget_hide_all(g);
205 if (!(caption && *caption))
206 caption=
I18N(
"Open File");
207 dialog=gtk_file_chooser_dialog_new(caption,
209 GTK_FILE_CHOOSER_ACTION_OPEN,
210 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
211 GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
213 if (folder && *folder)
214 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), folder);
215 if (fileName && *fileName)
216 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), fileName);
218 if (gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_ACCEPT) {
221 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
225 gtk_widget_destroy(dialog);
229 gtk_widget_destroy(dialog);
237 if (!(caption && *caption))
238 caption=
I18N(
"Save File");
239 dialog=gtk_file_chooser_dialog_new(caption,
241 GTK_FILE_CHOOSER_ACTION_SAVE,
242 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
243 GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
245 gtk_file_chooser_set_do_overwrite_confirmation(GTK_FILE_CHOOSER(dialog), TRUE);
246 if (folder && *folder)
247 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER(dialog), folder);
248 if (fileName && *fileName)
249 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), fileName);
251 if (gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_ACCEPT) {
254 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
258 gtk_widget_destroy(dialog);
262 gtk_widget_destroy(dialog);
270 if (!(caption && *caption))
271 caption=
I18N(
"Select Folder");
272 dialog=gtk_file_chooser_dialog_new(caption,
274 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
275 GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
276 GTK_STOCK_OPEN, GTK_RESPONSE_ACCEPT,
278 if (gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_ACCEPT) {
281 filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
285 gtk_widget_destroy(dialog);
289 gtk_widget_destroy(dialog);
void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
#define DBG_INFO(dbg_logger, format, args...)
#define DBG_ERROR(dbg_logger, format, args...)
int GWEN_Dialog_EmitSignalToAll(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender)
struct GWEN_DIALOG GWEN_DIALOG
@ GWEN_DialogEvent_TypeInit
@ GWEN_DialogEvent_TypeFini
#define GWEN_ERROR_INVALID
#define GWEN_ERROR_USER_ABORTED
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
GWENHYWFAR_CB int GTK2_Gui_RunDialog(GWEN_UNUSED GWEN_GUI *gui, GWEN_DIALOG *dlg, int untilEnd)
GWENHYWFAR_CB int GTK2_Gui_ExecDialog(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
GWENHYWFAR_CB int GTK2_Gui_CloseDialog(GWEN_UNUSED GWEN_GUI *gui, GWEN_DIALOG *dlg)
GWEN_GUI * Gtk2_Gui_new()
GWENHYWFAR_CB int GTK2_Gui_OpenDialog(GWEN_UNUSED GWEN_GUI *gui, GWEN_DIALOG *dlg, GWEN_UNUSED uint32_t guiid)
GWENHYWFAR_CB void Gtk2_Gui_FreeData(GWEN_UNUSED void *bp, void *p)
GWENHYWFAR_CB int GTK2_Gui_GetFileName(GWEN_UNUSED GWEN_GUI *gui, const char *caption, GWEN_GUI_FILENAME_TYPE fnt, GWEN_UNUSED uint32_t flags, GWEN_UNUSED const char *patterns, GWEN_BUFFER *pathBuffer, GWEN_UNUSED uint32_t guiid)
void Gtk2Gui_Dialog_Unextend(GWEN_DIALOG *dlg)
GtkWidget * Gtk2Gui_Dialog_GetMainWidget(const GWEN_DIALOG *dlg)
int GTK2_Gui_Dialog_Run(GWEN_DIALOG *dlg, int untilEnd)
void Gtk2Gui_Dialog_Extend(GWEN_DIALOG *dlg)
int Gtk2Gui_Dialog_Setup(GWEN_DIALOG *dlg, GWEN_UNUSED GtkWidget *parentWindow)
GWEN_GUI * GWEN_Gui_new(void)
void GWEN_Gui_AddFlags(GWEN_GUI *gui, uint32_t fl)
@ GWEN_Gui_FileNameType_OpenDirectory
@ GWEN_Gui_FileNameType_SaveFileName
@ GWEN_Gui_FileNameType_OpenFileName
#define GWEN_GUI_FLAGS_DIALOGSUPPORTED
GWENHYWFAR_API GWEN_GUI_RUN_DIALOG_FN GWEN_Gui_SetRunDialogFn(GWEN_GUI *gui, GWEN_GUI_RUN_DIALOG_FN f)
GWENHYWFAR_API void GWEN_Gui_UseDialogs(GWEN_GUI *gui)
GWENHYWFAR_API GWEN_GUI_EXEC_DIALOG_FN GWEN_Gui_SetExecDialogFn(GWEN_GUI *gui, GWEN_GUI_EXEC_DIALOG_FN f)
GWENHYWFAR_API GWEN_GUI_GET_FILENAME_FN GWEN_Gui_SetGetFileNameFn(GWEN_GUI *gui, GWEN_GUI_GET_FILENAME_FN f)
GWENHYWFAR_API GWEN_GUI_CLOSE_DIALOG_FN GWEN_Gui_SetCloseDialogFn(GWEN_GUI *gui, GWEN_GUI_CLOSE_DIALOG_FN f)
GWENHYWFAR_API GWEN_GUI_OPEN_DIALOG_FN GWEN_Gui_SetOpenDialogFn(GWEN_GUI *gui, GWEN_GUI_OPEN_DIALOG_FN f)
#define GWEN_DIR_SEPARATOR
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
#define GWEN_INHERIT(bt, t)
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)