X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=gtk-gui.c;h=519bca50743991b1339d2d37f740cb493a158d4f;hb=8eeeb97b853033acd8abfd65187d072a556270ef;hp=7eb85cf806a1b5478429375eefd34d602d4c2dca;hpb=c3a484419731e680e343153f9fd32ed9e2695747;p=ext%2Fsubsurface.git diff --git a/gtk-gui.c b/gtk-gui.c index 7eb85cf..519bca5 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -362,7 +362,7 @@ static void about_dialog(GtkWidget *w, gpointer data) "program-name", "SubSurface", "comments", "Half-arsed divelog software in C", "license", "GPLv2", - "version", "1.0", + "version", VERSION_STRING, "copyright", "Linus Torvalds 2011", /* Must be last: */ logo_property, logo, @@ -613,21 +613,23 @@ static void fill_computer_list(GtkListStore *store) } } -static GtkComboBox *dive_computer_selector(GtkWidget *dialog) +static GtkComboBox *dive_computer_selector(GtkWidget *vbox) { - GtkWidget *hbox, *combo_box, *vbox; + GtkWidget *hbox, *combo_box, *frame; GtkListStore *model; GtkCellRenderer *renderer; hbox = gtk_hbox_new(FALSE, 6); - vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3); model = gtk_list_store_new(2, G_TYPE_STRING, G_TYPE_INT); fill_computer_list(model); + frame = gtk_frame_new("Dive computer"); + gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, TRUE, 3); + combo_box = gtk_combo_box_new_with_model(GTK_TREE_MODEL(model)); - gtk_box_pack_start(GTK_BOX(hbox), combo_box, FALSE, TRUE, 3); + gtk_container_add(GTK_CONTAINER(frame), combo_box); renderer = gtk_cell_renderer_text_new(); gtk_cell_layout_pack_start(GTK_CELL_LAYOUT(combo_box), renderer, TRUE); @@ -636,13 +638,31 @@ static GtkComboBox *dive_computer_selector(GtkWidget *dialog) return GTK_COMBO_BOX(combo_box); } +static GtkEntry *dive_computer_device(GtkWidget *vbox) +{ + GtkWidget *hbox, *entry, *frame; + + hbox = gtk_hbox_new(FALSE, 6); + gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 3); + + frame = gtk_frame_new("Device name"); + gtk_box_pack_start(GTK_BOX(hbox), frame, FALSE, TRUE, 3); + + entry = gtk_entry_new(); + gtk_container_add(GTK_CONTAINER(frame), entry); + gtk_entry_set_text(GTK_ENTRY(entry), "/dev/ttyUSB0"); + + return GTK_ENTRY(entry); +} + void import_dialog(GtkWidget *w, gpointer data) { int result; GtkWidget *dialog, *hbox, *vbox; GtkComboBox *computer; + GtkEntry *device; device_data_t devicedata = { - .devname = "/dev/ttyUSB0", + .devname = NULL, }; dialog = gtk_dialog_new_with_buttons("Import from dive computer", @@ -652,10 +672,12 @@ void import_dialog(GtkWidget *w, gpointer data) GTK_STOCK_CANCEL, GTK_RESPONSE_REJECT, NULL); - computer = dive_computer_selector(dialog); + vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); + + computer = dive_computer_selector(vbox); + device = dive_computer_device(vbox); hbox = gtk_hbox_new(FALSE, 6); - vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 3); devicedata.progress.bar = gtk_progress_bar_new(); gtk_container_add(GTK_CONTAINER(hbox), devicedata.progress.bar); @@ -677,6 +699,7 @@ void import_dialog(GtkWidget *w, gpointer data) -1); devicedata.type = type; devicedata.name = comp; + devicedata.devname = gtk_entry_get_text(device); do_import(&devicedata); break; default: