]> git.tdb.fi Git - ext/subsurface.git/blobdiff - gtk-gui.c
Update Mares IconHd parsing to current libdivecomputer interface
[ext/subsurface.git] / gtk-gui.c
index 7eb85cf806a1b5478429375eefd34d602d4c2dca..519bca50743991b1339d2d37f740cb493a158d4f 100644 (file)
--- 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: