X-Git-Url: http://git.maemo.org/git/?p=browser-switch;a=blobdiff_plain;f=config-ui%2Fbrowser-switchboard-cp.c;h=7096b5cd9c6840014f551f586c87fadecbfd2d5a;hp=66c9bdbe8d0bcb26ec1800c0b120b92986223607;hb=2d7b367a0e7c6a3bd7f8653d67568e2c7e9cd22a;hpb=1b1cc9b9c6169778dd2fdf9e1f1e3ec172d8657d diff --git a/config-ui/browser-switchboard-cp.c b/config-ui/browser-switchboard-cp.c index 66c9bdb..7096b5c 100644 --- a/config-ui/browser-switchboard-cp.c +++ b/config-ui/browser-switchboard-cp.c @@ -29,6 +29,7 @@ #include #include #include +#include #include #include #include @@ -152,9 +153,19 @@ static void save_config(void) { int other_browser_cmd_seen = 0; struct swb_config_line line; - /* Put together the path to the new config file and the tempfile */ + /* If CONFIGFILE_DIR doesn't exist already, try to create it */ if (!(homedir = getenv("HOME"))) homedir = DEFAULT_HOMEDIR; + len = strlen(homedir) + strlen(CONFIGFILE_DIR) + 1; + if (!(newfile = calloc(len, sizeof(char)))) + return; + snprintf(newfile, len, "%s%s", homedir, CONFIGFILE_DIR); + if (access(newfile, F_OK) == -1 && errno == ENOENT) { + mkdir(newfile, 0750); + } + free(newfile); + + /* Put together the path to the new config file and the tempfile */ len = strlen(homedir) + strlen(CONFIGFILE_LOC) + 1; if (!(newfile = calloc(len, sizeof(char)))) return; @@ -285,7 +296,8 @@ static GtkDialog *swb_config_dialog(void) { GtkWidget *okbutton, *cancelbutton; dialog = gtk_dialog_new(); - gtk_widget_set_size_request(GTK_WIDGET(dialog), 580, 240); + /* Doesn't seem to be necessary? + gtk_widget_set_size_request(GTK_WIDGET(dialog), 580, 180); */ gtk_window_set_title (GTK_WINDOW(dialog), "Browser Switchboard"); gtk_window_set_type_hint (GTK_WINDOW(dialog), GDK_WINDOW_TYPE_HINT_DIALOG); @@ -294,7 +306,6 @@ static GtkDialog *swb_config_dialog(void) { /* Config options */ options_table = gtk_table_new(3, 2, FALSE); gtk_table_set_row_spacings(GTK_TABLE(options_table), 10); - gtk_table_set_col_spacings(GTK_TABLE(options_table), 10); gtk_box_pack_start(GTK_BOX(dialog_vbox), options_table, FALSE, FALSE, 0); cw.default_browser_combo = gtk_combo_box_new_text(); @@ -311,11 +322,13 @@ static GtkDialog *swb_config_dialog(void) { 0, 1, 0, 1, GTK_FILL, GTK_FILL|GTK_EXPAND, - 0, 0); - gtk_table_attach_defaults(GTK_TABLE(options_table), + 5, 0); + gtk_table_attach(GTK_TABLE(options_table), cw.default_browser_combo, 1, 2, - 0, 1); + 0, 1, + GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, + 5, 0); gtk_table_set_row_spacing(GTK_TABLE(options_table), 0, 5); cw.other_browser_cmd_entry = gtk_entry_new(); @@ -327,19 +340,22 @@ static GtkDialog *swb_config_dialog(void) { cw.other_browser_cmd_entry_label, 0, 1, 1, 2, - 0, GTK_FILL|GTK_EXPAND, - 0, 0); - gtk_table_attach_defaults(GTK_TABLE(options_table), + GTK_FILL, GTK_FILL|GTK_EXPAND, + 5, 0); + gtk_table_attach(GTK_TABLE(options_table), cw.other_browser_cmd_entry, 1, 2, - 1, 2); + 1, 2, + GTK_FILL|GTK_EXPAND, GTK_FILL|GTK_EXPAND, + 5, 0); cw.continuous_mode_check = gtk_check_button_new_with_label("Run browser launcher continuously in the background"); - gtk_table_attach_defaults(GTK_TABLE(options_table), + gtk_table_attach(GTK_TABLE(options_table), cw.continuous_mode_check, 0, 2, - 2, 3); - + 2, 3, + 0, GTK_FILL|GTK_EXPAND, + 5, 5); /* Dialog buttons */ action_area = GTK_DIALOG(dialog)->action_area;