projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Prevent Ok being pressed when no device is selected
[pulseview.git]
/
pv
/
dialogs
/
connect.cpp
diff --git
a/pv/dialogs/connect.cpp
b/pv/dialogs/connect.cpp
index f7a75da0c6e081840ee9cd597c90a31d1605d4ac..51de735e00e1d5e24eb1ad6d5e0dab13ee877f15 100644
(file)
--- a/
pv/dialogs/connect.cpp
+++ b/
pv/dialogs/connect.cpp
@@
-70,6
+70,15
@@
Connect::Connect(QWidget *parent) :
_layout.addWidget(&_button_box);
}
_layout.addWidget(&_button_box);
}
+struct sr_dev_inst* Connect::get_selected_device() const
+{
+ const QListWidgetItem *const item = _device_list.currentItem();
+ if (!item)
+ return NULL;
+
+ return (sr_dev_inst*)item->data(Qt::UserRole).value<void*>();
+}
+
void Connect::populate_drivers()
{
const int *hwopts;
void Connect::populate_drivers()
{
const int *hwopts;
@@
-103,6
+112,7
@@
void Connect::unset_connection()
_device_list.clear();
_serial_device.hide();
_form_layout.labelForField(&_serial_device)->hide();
_device_list.clear();
_serial_device.hide();
_form_layout.labelForField(&_serial_device)->hide();
+ _button_box.button(QDialogButtonBox::Ok)->setDisabled(true);
}
void Connect::set_serial_connection()
}
void Connect::set_serial_connection()
@@
-150,11
+160,17
@@
void Connect::scan_pressed()
g_slist_length(sdi->probes));
}
g_slist_length(sdi->probes));
}
- _device_list.addItem(text);
+ QListWidgetItem *const item = new QListWidgetItem(text,
+ &_device_list);
+ item->setData(Qt::UserRole, qVariantFromValue((void*)sdi));
+ _device_list.addItem(item);
}
g_slist_free(devices);
g_slist_free_full(drvopts, (GDestroyNotify)free_drvopts);
}
g_slist_free(devices);
g_slist_free_full(drvopts, (GDestroyNotify)free_drvopts);
+
+ _device_list.setCurrentRow(0);
+ _button_box.button(QDialogButtonBox::Ok)->setDisabled(false);
}
void Connect::device_selected(int index)
}
void Connect::device_selected(int index)