gfio: make empty graph show grid lines, not "No good data"
[fio.git] / gfio.c
diff --git a/gfio.c b/gfio.c
index 833cd93daef2883e462fad5ae6fbc4f3a7db1286..b1caa6780d51c21d17ddc1cecb0e33ed83a6d42c 100644 (file)
--- a/gfio.c
+++ b/gfio.c
@@ -121,6 +121,18 @@ struct gfio_client {
        GtkWidget *disk_util_frame;
 };
 
+static void add_invisible_data(struct graph *g)
+{
+       /*
+        * This puts some invisible data into a graph so that it will
+        * initially have some grid lines instead of "No good data"
+        */
+       graph_add_label(g, "invisible");
+       graph_set_color(g, "invisible", INVISIBLE_COLOR, 0.0, 0.7);
+       graph_add_xy_data(g, "invisible", 0.0, 0.0);
+       graph_add_xy_data(g, "invisible", 1.0, 100.0);
+}
+
 static void setup_iops_graph(struct gui *ui)
 {
        if (ui->iops_graph)
@@ -134,6 +146,7 @@ static void setup_iops_graph(struct gui *ui)
        graph_add_label(ui->iops_graph, "Write IOPS");
        graph_set_color(ui->iops_graph, "Read IOPS", 0.7, 0.0, 0.0);
        graph_set_color(ui->iops_graph, "Write IOPS", 0.0, 0.0, 0.7);
+       add_invisible_data(ui->iops_graph);
 }
 
 static void setup_bandwidth_graph(struct gui *ui)
@@ -149,6 +162,7 @@ static void setup_bandwidth_graph(struct gui *ui)
        graph_add_label(ui->bandwidth_graph, "Write Bandwidth");
        graph_set_color(ui->bandwidth_graph, "Read Bandwidth", 0.7, 0.0, 0.0);
        graph_set_color(ui->bandwidth_graph, "Write Bandwidth", 0.0, 0.0, 0.7);
+       add_invisible_data(ui->bandwidth_graph);
 }
 
 static void clear_ui_info(struct gui *ui)
@@ -1727,16 +1741,43 @@ static void preferences(GtkWidget *w, gpointer data)
 
 static void about_dialog(GtkWidget *w, gpointer data)
 {
+       const char *authors[] = {
+               "Jens Axboe <axboe@kernel.dk>",
+               "Stephen Carmeron <stephenmcameron@gmail.com>",
+               NULL
+       };
+       const char *license[] = {
+               "Fio is free software; you can redistribute it and/or modify "
+               "it under the terms of the GNU General Public License as published by "
+               "the Free Software Foundation; either version 2 of the License, or "
+               "(at your option) any later version.\n",
+               "Fio is distributed in the hope that it will be useful, "
+               "but WITHOUT ANY WARRANTY; without even the implied warranty of "
+               "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the "
+               "GNU General Public License for more details.\n",
+               "You should have received a copy of the GNU General Public License "
+               "along with Fio; if not, write to the Free Software Foundation, Inc., "
+               "51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA\n"
+       };
+       char *license_trans;
+
+       license_trans = g_strconcat(license[0], "\n", license[1], "\n",
+                                    license[2], "\n", NULL);
+
        gtk_show_about_dialog(NULL,
                "program-name", "gfio",
                "comments", "Gtk2 UI for fio",
-               "license", "GPLv2",
+               "license", license_trans,
+               "website", "http://git.kernel.dk/?p=fio.git;a=summary",
+               "authors", authors,
                "version", fio_version_string,
-               "copyright", "Jens Axboe <axboe@kernel.dk> 2012",
+               "copyright", "© 2012 Jens Axboe <axboe@kernel.dk>",
                "logo-icon-name", "fio",
                /* Must be last: */
-               NULL, NULL,
+               "wrap-license", TRUE,
                NULL);
+
+       g_free (license_trans);
 }
 
 static GtkActionEntry menu_items[] = {
@@ -1800,6 +1841,7 @@ static void init_ui(int *argc, char **argv[], struct gui *ui)
        GtkSettings *settings;
        GtkUIManager *uimanager;
        GtkWidget *menu, *probe, *probe_frame, *probe_box;
+       GdkColor white;
 
        memset(ui, 0, sizeof(*ui));
 
@@ -1885,9 +1927,11 @@ static void init_ui(int *argc, char **argv[], struct gui *ui)
        /*
         * Set up a drawing area and IOPS and bandwidth graphs
         */
+       gdk_color_parse("white", &white);
        ui->drawing_area = gtk_drawing_area_new();
        gtk_widget_set_size_request(GTK_WIDGET(ui->drawing_area), 
                        DRAWING_AREA_XDIM, DRAWING_AREA_YDIM);
+       gtk_widget_modify_bg(ui->drawing_area, GTK_STATE_NORMAL, &white);
        g_signal_connect(G_OBJECT(ui->drawing_area), "expose_event",
                                G_CALLBACK (on_expose_drawing_area), ui);
        ui->scrolled_window = gtk_scrolled_window_new(NULL, NULL);