/*
- * Copyright (C) 2009-2011 Andy Spencer <andy753421@gmail.com>
+ * Copyright (C) 2009-2012 Andy Spencer <andy753421@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
RadarSite *site = _site;
if (site->message) {
g_warning("RadarSite: update_end - %s", site->message);
- _gtk_bin_set_child(GTK_BIN(site->config),
- gtk_label_new(site->message));
+ const char *fmt = "http://forecast.weather.gov/product.php?site=NWS&product=FTM&format=TXT&issuedby=%s";
+ char *uri = g_strdup_printf(fmt, site->city->code+1);
+ GtkWidget *box = gtk_vbox_new(TRUE, 0);
+ GtkWidget *msg = gtk_label_new(site->message);
+ GtkWidget *btn = gtk_link_button_new_with_label(uri, "View Radar Status");
+ gtk_box_pack_start(GTK_BOX(box), msg, TRUE, TRUE, 0);
+ gtk_box_pack_start(GTK_BOX(box), btn, TRUE, TRUE, 0);
+ _gtk_bin_set_child(GTK_BIN(site->config), box);
+ g_free(uri);
} else {
_gtk_bin_set_child(GTK_BIN(site->config),
aweather_level2_get_config(site->level2));
tile->coords.w = 1.0/ CONUS_HEIGHT;
tile->coords.s = tile->coords.n + CONUS_HEIGHT / 2048.0;
tile->coords.e = tile->coords.w + (CONUS_WIDTH/2) / 2048.0;
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
- glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
+ glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP_TO_EDGE);
glFlush();
g_free(clear);
}
{
g_debug("GritsPluginRadar: dispose");
GritsPluginRadar *self = GRITS_PLUGIN_RADAR(gobject);
- g_signal_handler_disconnect(self->config, self->tab_id);
- grits_viewer_remove(self->viewer, GRITS_OBJECT(self->hud));
- radar_conus_free(self->conus);
+ if (self->viewer) {
+ GritsViewer *viewer = self->viewer;
+ self->viewer = NULL;
+ g_signal_handler_disconnect(self->config, self->tab_id);
+ grits_viewer_remove(viewer, GRITS_OBJECT(self->hud));
+ radar_conus_free(self->conus);
+ }
/* Drop references */
G_OBJECT_CLASS(grits_plugin_radar_parent_class)->dispose(gobject);
}