X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=main.c;h=af1348986b8aac1a18470051254988d112fd74e5;hb=2044dabc81062c22c7f95a2e0e57f931cee0205f;hp=7cc1fce14c2d286af65b2f1d6ee789b9ee14cae3;hpb=8e95ded57bdbaa66ba1c2ec25c55a56d53bce943;p=ext%2Fsubsurface.git diff --git a/main.c b/main.c index 7cc1fce..af13489 100644 --- a/main.c +++ b/main.c @@ -5,33 +5,6 @@ #include "dive.h" #include "display.h" -static void show_dive(int nr, struct dive *dive) -{ - int i; - struct tm *tm; - - tm = gmtime(&dive->when); - - printf("At %02d:%02d:%02d %04d-%02d-%02d (%d ft max, %d minutes)\n", - tm->tm_hour, tm->tm_min, tm->tm_sec, - tm->tm_year+1900, tm->tm_mon+1, tm->tm_mday, - to_feet(dive->maxdepth), dive->duration.seconds / 60); - - if (!verbose) - return; - - for (i = 0; i < dive->samples; i++) { - struct sample *s = dive->sample + i; - - printf("%4d:%02d: %3d ft, %2d C, %4d PSI\n", - s->time.seconds / 60, - s->time.seconds % 60, - to_feet(s->depth), - to_C(s->temperature), - to_PSI(s->tankpressure)); - } -} - static int sortfn(const void *_a, const void *_b) { const struct dive *a = *(void **)_a; @@ -74,42 +47,11 @@ static void on_destroy(GtkWidget* w, gpointer data) gtk_main_quit(); } -static GtkTreeModel *fill_dive_list(void) -{ - int i; - GtkListStore *store; - GtkTreeIter iter; - - store = gtk_list_store_new(1, G_TYPE_STRING); - - for (i = 0; i < dive_table.nr; i++) { - struct dive *dive = dive_table.dives[i]; +static GtkWidget *dive_profile; - gtk_list_store_append(store, &iter); - gtk_list_store_set(store, &iter, - 0, dive->name, - -1); - } - - return GTK_TREE_MODEL(store); -} - -static GtkWidget *create_dive_list(void) +void repaint_dive(void) { - GtkWidget *list; - GtkCellRenderer *renderer; - GtkTreeModel *model; - - list = gtk_tree_view_new(); - - renderer = gtk_cell_renderer_text_new(); - gtk_tree_view_insert_column_with_attributes(GTK_TREE_VIEW(list), - -1, "Dive", renderer, "text", 0, NULL); - - model = fill_dive_list(); - gtk_tree_view_set_model(GTK_TREE_VIEW(list), model); - g_object_unref(model); - return list; + gtk_widget_queue_draw(dive_profile); } int main(int argc, char **argv) @@ -118,7 +60,6 @@ int main(int argc, char **argv) GtkWidget *win; GtkWidget *divelist; GtkWidget *vbox; - GtkWidget *scrolled_window; GtkWidget *frame; parse_xml_init(); @@ -146,23 +87,14 @@ int main(int argc, char **argv) gtk_container_add(GTK_CONTAINER(win), vbox); gtk_widget_show(vbox); - /* Scrolled window for the list goes into the vbox.. */ - scrolled_window=gtk_scrolled_window_new(NULL, NULL); - gtk_widget_set_usize(scrolled_window, 150, 350); - gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC); - gtk_container_add(GTK_CONTAINER(vbox), scrolled_window); - gtk_widget_show(scrolled_window); + /* Create the atual divelist */ + divelist = create_dive_list(); + gtk_container_add(GTK_CONTAINER(vbox), divelist); /* Frame for dive profile */ frame = dive_profile_frame(); - gtk_container_add(GTK_CONTAINER(vbox), frame); - - /* Create the atual divelist */ - divelist = create_dive_list(); - - /* .. and connect it to the scrolled window */ - gtk_container_add(GTK_CONTAINER(scrolled_window), divelist); + dive_profile = frame; gtk_widget_set_app_paintable(win, TRUE); gtk_widget_show_all(win);