summaryrefslogtreecommitdiffstats
path: root/src/gncpmount.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/gncpmount.c')
-rw-r--r--src/gncpmount.c45
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;
}