summaryrefslogtreecommitdiffstats
path: root/gtk-gui.c
diff options
context:
space:
mode:
authorGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-09-26 09:44:27 -0700
committerGravatar Linus Torvalds <torvalds@linux-foundation.org>2011-09-26 09:44:27 -0700
commitda47ee401d0b0ee9d2aed10aa934831b8ed02b55 (patch)
treec62801d20d91898745be5da49d79ec7ce3d7f27c /gtk-gui.c
parentacca9b1804efc43b589d04b60682081b56afe7bc (diff)
downloadsubsurface-da47ee401d0b0ee9d2aed10aa934831b8ed02b55.tar.gz
Add a GtkEntry to allow editing of the device name
Ok, so some file chooser widget with a popup dialog would have been more professional, but I'm lazy. Plus I suspect the popup would look horrible when populated with /dev entries, and I don't think there is any sane filter function. So this works, and means that you don't *have* to recompile the whole program just because you have your dive computer on something else than a USB serial line. I suspect I should save the default name as a config variable too. Maybe a setting in the preferences dialog. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'gtk-gui.c')
-rw-r--r--gtk-gui.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/gtk-gui.c b/gtk-gui.c
index 5675e5d4a..e15c94424 100644
--- a/gtk-gui.c
+++ b/gtk-gui.c
@@ -638,13 +638,31 @@ static GtkComboBox *dive_computer_selector(GtkWidget *vbox)
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",
@@ -657,6 +675,7 @@ void import_dialog(GtkWidget *w, gpointer data)
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);
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 3);
@@ -680,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: