15 #include "gtk3_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)
123 gtk_widget_show_all(g);
177 const char *patterns,
198 if (!(caption && *caption))
199 caption=
I18N(
"Open File");
200 dialog=gtk_file_chooser_dialog_new (caption,
202 GTK_FILE_CHOOSER_ACTION_OPEN,
203 "_Cancel", GTK_RESPONSE_CANCEL,
204 "_Open", GTK_RESPONSE_ACCEPT,
206 if (folder && *folder)
207 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (dialog), folder);
208 if (fileName && *fileName)
209 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), fileName);
211 if (gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_ACCEPT) {
214 filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
218 gtk_widget_destroy (dialog);
222 gtk_widget_destroy (dialog);
230 if (!(caption && *caption))
231 caption=
I18N(
"Save File");
232 dialog=gtk_file_chooser_dialog_new (caption,
234 GTK_FILE_CHOOSER_ACTION_SAVE,
235 "_Cancel", GTK_RESPONSE_CANCEL,
236 "_Open", GTK_RESPONSE_ACCEPT,
238 gtk_file_chooser_set_do_overwrite_confirmation (GTK_FILE_CHOOSER (dialog), TRUE);
239 if (folder && *folder)
240 gtk_file_chooser_set_current_folder(GTK_FILE_CHOOSER (dialog), folder);
241 if (fileName && *fileName)
242 gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), fileName);
244 if (gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_ACCEPT) {
247 filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
251 gtk_widget_destroy(dialog);
255 gtk_widget_destroy (dialog);
263 if (!(caption && *caption))
264 caption=
I18N(
"Select Folder");
265 dialog=gtk_file_chooser_dialog_new (caption,
267 GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER,
268 "_Cancel", GTK_RESPONSE_CANCEL,
269 "_Open", GTK_RESPONSE_ACCEPT,
271 if (gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_ACCEPT) {
274 filename = gtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));
278 gtk_widget_destroy (dialog);
282 gtk_widget_destroy (dialog);
GWEN_GUI_CLOSE_DIALOG_FN GWEN_Gui_SetCloseDialogFn(GWEN_GUI *gui, GWEN_GUI_CLOSE_DIALOG_FN f)
GWENHYWFAR_CB int GTK3_Gui_CloseDialog(GWEN_GUI *gui, GWEN_DIALOG *dlg)
char * GWEN_Buffer_GetStart(const GWEN_BUFFER *bf)
GtkWidget * Gtk3Gui_Dialog_GetMainWidget(const GWEN_DIALOG *dlg)
#define GWEN_ERROR_INVALID
uint32_t GWEN_Buffer_GetUsedBytes(const GWEN_BUFFER *bf)
GWENHYWFAR_CB int GTK3_Gui_RunDialog(GWEN_GUI *gui, GWEN_DIALOG *dlg, int untilEnd)
GWEN_GUI_GET_FILENAME_FN GWEN_Gui_SetGetFileNameFn(GWEN_GUI *gui, GWEN_GUI_GET_FILENAME_FN f)
GWENHYWFAR_CB int GTK3_Gui_ExecDialog(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
#define GWEN_FREE_OBJECT(varname)
void GWEN_Gui_AddFlags(GWEN_GUI *gui, uint32_t fl)
GWENHYWFAR_CB int GTK3_Gui_OpenDialog(GWEN_GUI *gui, GWEN_DIALOG *dlg, uint32_t guiid)
void Gtk3Gui_Dialog_Extend(GWEN_DIALOG *dlg)
struct GWEN_DIALOG GWEN_DIALOG
void GWEN_Buffer_Reset(GWEN_BUFFER *bf)
GWEN_GUI_RUN_DIALOG_FN GWEN_Gui_SetRunDialogFn(GWEN_GUI *gui, GWEN_GUI_RUN_DIALOG_FN f)
void Gtk3Gui_Dialog_Unextend(GWEN_DIALOG *dlg)
int Gtk3Gui_Dialog_Setup(GWEN_DIALOG *dlg, GtkWidget *parentWindow)
#define GWEN_NEW_OBJECT(typ, varname)
int GWEN_Dialog_EmitSignalToAll(GWEN_DIALOG *dlg, GWEN_DIALOG_EVENTTYPE t, const char *sender)
void GWEN_Gui_UseDialogs(GWEN_GUI *gui)
GWEN_GUI_OPEN_DIALOG_FN GWEN_Gui_SetOpenDialogFn(GWEN_GUI *gui, GWEN_GUI_OPEN_DIALOG_FN f)
#define GWEN_GUI_FLAGS_DIALOGSUPPORTED
struct GWEN_BUFFER GWEN_BUFFER
A dynamically resizeable text buffer.
#define DBG_ERROR(dbg_logger, format, args...)
GWEN_GUI * GWEN_Gui_new(void)
#define GWEN_DIR_SEPARATOR
#define DBG_INFO(dbg_logger, format, args...)
int GTK3_Gui_Dialog_Run(GWEN_DIALOG *dlg, int untilEnd)
#define GWEN_INHERIT(bt, t)
#define GWEN_ERROR_USER_ABORTED
GWEN_GUI * Gtk3_Gui_new()
#define GWEN_INHERIT_SETDATA(bt, t, element, data, fn)
GWENHYWFAR_CB void Gtk3_Gui_FreeData(void *bp, void *p)
GWEN_GUI_EXEC_DIALOG_FN GWEN_Gui_SetExecDialogFn(GWEN_GUI *gui, GWEN_GUI_EXEC_DIALOG_FN f)
GWENHYWFAR_CB int GTK3_Gui_GetFileName(GWEN_GUI *gui, const char *caption, GWEN_GUI_FILENAME_TYPE fnt, uint32_t flags, const char *patterns, GWEN_BUFFER *pathBuffer, uint32_t guiid)
int GWEN_Buffer_AppendString(GWEN_BUFFER *bf, const char *buffer)