diff options
Diffstat (limited to 'src/gncpmount.c')
-rw-r--r-- | src/gncpmount.c | 45 |
1 files changed, 43 insertions, 2 deletions
diff --git a/src/gncpmount.c b/src/gncpmount.c index 2a98443..2fa0a32 100644 --- a/src/gncpmount.c +++ b/src/gncpmount.c @@ -5,7 +5,7 @@ #include "logo.xpm.h" -#define WIDTH 400 +#define WIDTH -1 #define HEIGHT -1 @@ -155,6 +155,32 @@ open_file () /** +* Save cmd_params to default file +*/ +static void +set_default () +{ + gchar *path = g_strconcat(g_get_home_dir(),"/.gncpmount", NULL); + gchar *filename = g_strconcat(path, "/default", NULL); + + + if (g_mkdir_with_parents(path,448) < 0) /* Octal - 700*/ + { + show_message(GTK_MESSAGE_ERROR,_("ERROR: Set as default"),"",_("Can't create directory: ~/.gncpmount"),""); + } + + save_gui_to_cmdparams(); + save_cmdparams_to_file (filename); + + show_message(GTK_MESSAGE_INFO,_("Set as default"),"",_("Current state of GUI was set as default."),""); + + g_free (path); + g_free (filename); +} + + + +/** * Create Save file dialog * and save cmd_params to file */ @@ -283,6 +309,8 @@ int main (int argc, char *argv[]) GdkPixbuf *xpm = NULL; + gchar *keyfile_default = g_strconcat(g_get_home_dir(),"/.gncpmount/default", NULL); + setlocale(LC_ALL, ""); bindtextdomain(PACKAGE, GNOMELOCALEDIR); textdomain(PACKAGE); @@ -330,11 +358,16 @@ int main (int argc, char *argv[]) g_signal_connect (GTK_OBJECT (menuitem), "activate", open_file, NULL); gtk_widget_show (menuitem); - menuitem = gtk_menu_item_new_with_mnemonic (_("_Save")); + menuitem = gtk_menu_item_new_with_mnemonic (_("_Save as..")); gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); g_signal_connect (GTK_OBJECT (menuitem), "activate", save_file, NULL); gtk_widget_show (menuitem); + menuitem = gtk_menu_item_new_with_mnemonic (_("_Set as default")); + gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); + g_signal_connect (GTK_OBJECT (menuitem), "activate", set_default, NULL); + gtk_widget_show (menuitem); + menuitem = gtk_separator_menu_item_new (); gtk_menu_shell_append(GTK_MENU_SHELL(submenu), menuitem); gtk_widget_show (menuitem); @@ -500,10 +533,18 @@ int main (int argc, char *argv[]) /* Fill in informations from cmd_params to widgets */ clear_cmdparams (); + + /* Try to load default settings */ + if (g_file_test(keyfile_default, G_FILE_TEST_EXISTS)) + load_cmdparams_from_file (keyfile_default); + + /* Set gui */ set_gui_from_cmdparams(); /* Enter the main loop */ gtk_widget_show_all (gui.win); gtk_main (); + + g_free(keyfile_default); return 0; } |