+ connect(&session_, SIGNAL(trigger_event(util::Timestamp)), view_,
+ SLOT(trigger_event(util::Timestamp)));
+
+ // Setup view_ events
+ connect(view_, SIGNAL(sticky_scrolling_changed(bool)), this,
+ SLOT(sticky_scrolling_changed(bool)));
+ connect(view_, SIGNAL(always_zoom_to_fit_changed(bool)), this,
+ SLOT(always_zoom_to_fit_changed(bool)));
+
+}
+
+void MainWindow::select_init_device()
+{
+ QSettings settings;
+ map<string, string> dev_info;
+ list<string> key_list;
+
+ // Re-select last used device if possible.
+ settings.beginGroup("Device");
+ key_list.push_back("vendor");
+ key_list.push_back("model");
+ key_list.push_back("version");
+ key_list.push_back("serial_num");
+ key_list.push_back("connection_id");
+
+ for (string key : key_list) {
+ const QString k = QString::fromStdString(key);
+ if (!settings.contains(k))
+ continue;
+
+ 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);
+ select_device(device);
+ update_device_list();
+
+ settings.endGroup();