[moserial] Use ComboBox with text field for device selection.
- From: Michael J. Chudobiak <mjc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [moserial] Use ComboBox with text field for device selection.
- Date: Sat, 16 Jan 2021 13:47:24 +0000 (UTC)
commit 78e3a1352dd86fc06646b20fbeb3578f76577d03
Author: Mictronics <github mictronics de>
Date: Sun Apr 26 21:46:45 2020 +0200
Use ComboBox with text field for device selection.
data/ui/settings_dialog.ui | 31 +++++++++++++++++++++----------
src/SettingsDialog.vala | 20 +++++++-------------
2 files changed, 28 insertions(+), 23 deletions(-)
---
diff --git a/data/ui/settings_dialog.ui b/data/ui/settings_dialog.ui
index 31ce0af..5d40ab7 100644
--- a/data/ui/settings_dialog.ui
+++ b/data/ui/settings_dialog.ui
@@ -180,16 +180,6 @@
<property name="top_attach">1</property>
</packing>
</child>
- <child>
- <object class="GtkComboBox" id="settings_device">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="top_attach">0</property>
- </packing>
- </child>
<child>
<object class="GtkCheckButton" id="settings_local_echo">
<property name="label" translatable="yes">Echo received data</property>
@@ -300,6 +290,27 @@
<property name="top_attach">7</property>
</packing>
</child>
+ <child>
+ <object class="GtkComboBox" id="settings_device">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="has_entry">True</property>
+ <property name="entry_text_column">0</property>
+ <property name="id_column">0</property>
+ <child internal-child="entry">
+ <object class="GtkEntry" id="settings_device_input">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="primary_icon_activatable">False</property>
+ <property name="secondary_icon_activatable">False</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="top_attach">0</property>
+ </packing>
+ </child>
</object>
<packing>
<property name="expand">True</property>
diff --git a/src/SettingsDialog.vala b/src/SettingsDialog.vala
index f6fea1b..3523b7d 100644
--- a/src/SettingsDialog.vala
+++ b/src/SettingsDialog.vala
@@ -39,15 +39,17 @@ public class moserial.SettingsDialog : GLib.Object {
private ComboBox accessModeCombo;
private CheckButton localEcho;
private Gtk.ListStore deviceModel;
+ private Gtk.Entry deviceInput;
public signal void updateSettings (Settings settings);
- public SettingsDialog(Window parent) {
+ public SettingsDialog (Window parent) {
var builder = new Gtk.Builder.from_resource (Config.UIROOT + "settings_dialog.ui");
dialog = (Dialog) builder.get_object ("settings_dialog");
- dialog.set_transient_for(parent);
+ dialog.set_transient_for (parent);
cancelButton = (Button) builder.get_object ("settings_cancel_button");
okButton = (Button) builder.get_object ("settings_ok_button");
+ deviceInput = (Gtk.Entry)builder.get_object ("settings_device_input");
baudRateCombo = (ComboBox) builder.get_object ("settings_baud_rate");
MoUtils.populateComboBox (baudRateCombo, Settings.BaudRateItems);
@@ -202,18 +204,10 @@ public class moserial.SettingsDialog : GLib.Object {
Settings.AccessMode accessMode;
bool pLocalEcho;
- TreeModel t;
- TreeIter iter;
- bool success;
-
- t = deviceCombo.get_model ();
- success = deviceCombo.get_active_iter (out iter);
- if (success) {
- Value str_data;
- t.get_value (iter, 0, out str_data);
- device = str_data.get_string ();
- } else {
+ if (deviceInput.get_text_length () == 0) {
device = Settings.DEFAULT_DEVICEFILE;
+ } else {
+ device = deviceInput.get_text ();
}
baudRate = int.parse (Settings.BaudRateItems[baudRateCombo.get_active ()]);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]