void MainWindow::select_device(shared_ptr<devices::Device> device)
{
try {
- session_.set_device(device);
+ if (device)
+ session_.set_device(device);
+ else
+ session_.set_default_device();
} catch(const QString &e) {
QMessageBox msg(this);
msg.setText(e);
map<string, string> dev_info;
list<string> key_list;
- string value;
settings.beginGroup("MainWindow");
key_list.push_back("connection_id");
for (string key : key_list) {
- if (!settings.contains(QString::fromUtf8(key.c_str())))
+ const QString k = QString::fromStdString(key);
+ if (!settings.contains(k))
continue;
- value = settings.value(QString::fromUtf8(key.c_str())).toString().toStdString();
-
- if (value.size() > 0)
+ const string value = settings.value(k).toString().toStdString();
+ if (!value.empty())
dev_info.insert(std::make_pair(key, value));
}
const shared_ptr<devices::HardwareDevice> device =
device_manager_.find_device_from_info(dev_info);
- if (device) {
- select_device(device);
- update_device_list();
- }
+ select_device(device);
+ update_device_list();
settings.endGroup();
}