X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=gtk-gui.c;h=a20954dd6e7fdaabd0bc7f150a5ab3609a347e61;hb=53ecd2025d00e844fbfb84b5765d975e1e8942be;hp=acaa9c4f6a2510d3a57d265550fcb77b6a296d37;hpb=565736a471e9ba66cbc68ce76c90d5e0c2fa57cf;p=ext%2Fsubsurface.git diff --git a/gtk-gui.c b/gtk-gui.c index acaa9c4..a20954d 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "dive.h" #include "divelist.h" @@ -22,7 +23,6 @@ GtkWidget *error_label; GtkWidget *vpane, *hpane; int error_count; -#define DIVELIST_DEFAULT_FONT "Sans 8" const char *divelist_font; struct units output_units; @@ -107,9 +107,9 @@ static void file_open(GtkWidget *w, gpointer data) gtk_file_chooser_set_filter(GTK_FILE_CHOOSER(dialog), filter); if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) { - GSList *filenames; + GSList *filenames, *fn_glist; char *filename; - filenames = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); + filenames = fn_glist = gtk_file_chooser_get_filenames(GTK_FILE_CHOOSER(dialog)); GError *error = NULL; while(filenames != NULL) { @@ -125,7 +125,7 @@ static void file_open(GtkWidget *w, gpointer data) g_free(filename); filenames = g_slist_next(filenames); } - g_slist_free(filenames); + g_slist_free(fn_glist); report_dives(FALSE); } gtk_widget_destroy(dialog); @@ -681,9 +681,6 @@ void init_ui(int *argcp, char ***argvp) divelist_font = subsurface_get_conf("divelist_font", PREF_STRING); - if (!divelist_font) - divelist_font = DIVELIST_DEFAULT_FONT; - error_info_bar = NULL; win = gtk_window_new(GTK_WINDOW_TOPLEVEL); g_set_application_name ("subsurface"); @@ -698,8 +695,11 @@ void init_ui(int *argcp, char ***argvp) gtk_window_set_default_icon_name ("subsurface"); } } - if (need_icon) - gtk_window_set_icon_from_file(GTK_WINDOW(win), subsurface_icon_name(), NULL); + if (need_icon) { + const char *icon_name = subsurface_icon_name(); + if (!access(icon_name, R_OK)) + gtk_window_set_icon_from_file(GTK_WINDOW(win), icon_name, NULL); + } g_signal_connect(G_OBJECT(win), "delete-event", G_CALLBACK(on_delete), NULL); g_signal_connect(G_OBJECT(win), "destroy", G_CALLBACK(on_destroy), NULL); main_window = win; @@ -709,7 +709,8 @@ void init_ui(int *argcp, char ***argvp) main_vbox = vbox; menubar = get_menubar_menu(win); - gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, FALSE, 0); + + subsurface_ui_setup(settings, menubar, vbox); vpane = gtk_vpaned_new(); gtk_box_pack_start(GTK_BOX(vbox), vpane, TRUE, TRUE, 3);