}
}
+#if ! GTK_CHECK_VERSION(3,0,0)
static void xdg_open(GtkWidget *widget, const gchar *link, gpointer user_data)
{
gchar *argv[] = {"xdg-open", (gchar*)link, NULL};
g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, NULL);
}
+#endif
static void on_log_level_changed(GtkSpinButton *spinner, AWeatherGui *self)
{
{
#ifdef MAC_INTEGRATION
GtkWidget *menu = aweather_gui_get_widget(gui, "main_menu");
- GtkOSXApplication *app = g_object_new(GTK_TYPE_OSX_APPLICATION, NULL);
+ GtkosxApplication *app = g_object_new(GTKOSX_TYPE_APPLICATION, NULL);
gtk_widget_hide(menu);
- gtk_osxapplication_set_menu_bar(app, GTK_MENU_SHELL(menu));
- gtk_osxapplication_set_use_quartz_accelerators(app, TRUE);
- gtk_osxapplication_ready(app);
- //gtk_osxapplication_sync_menubar(app)
+ gtkosx_application_set_menu_bar(app, GTK_MENU_SHELL(menu));
+ gtkosx_application_set_use_quartz_accelerators(app, TRUE);
+ gtkosx_application_ready(app);
+ //gtkosx_application_sync_menubar(app)
#endif
}
/* Init */
GError *error = NULL;
- gdk_threads_init();
if (!gtk_init_with_args(&argc, &argv, "aweather", entries, NULL, &error)) {
g_print("%s\n", error->message);
g_error_free(error);
}
/* Use external handler for link buttons */
+#if ! GTK_CHECK_VERSION(3,0,0)
gtk_link_button_set_uri_hook((GtkLinkButtonUriFunc)xdg_open, NULL, NULL);
gtk_about_dialog_set_url_hook((GtkAboutDialogActivateLinkFunc)xdg_open, NULL, NULL);
gtk_about_dialog_set_email_hook((GtkAboutDialogActivateLinkFunc)xdg_open, NULL, NULL);
+#endif
/* Setup debug level for aweather_gui_new */
g_log_set_handler(NULL, G_LOG_LEVEL_MASK, log_func, NULL);
log_levels = int2log(opt_debug >= 0 ? opt_debug : debug);
/* Set up AWeather */
- gdk_threads_enter();
/* Pre-load some types for gtkbuilder */
GRITS_TYPE_OPENGL;
AWEATHER_TYPE_GUI;
set_toggle_action(gui, "fullscreen", fullscreen); // Resest widget hiding
setup_mac(gui); // done after show_all
gtk_main();
- gdk_threads_leave();
- gdk_display_close(gdk_display_get_default());
+ //gdk_display_close(gdk_display_get_default());
return 0;
}