X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=119ce0a791ba22a2aa1d6b1702a387fd6bef9caf;hp=a11d5286dd049c67627359e6aaeb196b7d0f5009;hb=ff83d98059f06ac8f57be080ab53e7095aa4748b;hpb=f23c46921d031dba4c96062164cc9f3ca3c4809c diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index a11d5286..119ce0a7 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -338,20 +338,26 @@ void MainWindow::add_default_session() shared_ptr session = add_session(); - map dev_info; - shared_ptr other_device, demo_device; - - // Use any available device that's not demo + // Check the list of available devices. Prefer the one that was + // found with user supplied scan specs (if applicable). Then try + // one of the auto detected devices that are not the demo device. + // Pick demo in the absence of "genuine" hardware devices. + shared_ptr user_device, other_device, demo_device; for (shared_ptr dev : device_manager_.devices()) { - if (dev->hardware_device()->driver()->name() == "demo") { + if (dev == device_manager_.user_spec_device()) { + user_device = dev; + } else if (dev->hardware_device()->driver()->name() == "demo") { demo_device = dev; } else { other_device = dev; } } - - // ...and if there isn't any, just use demo then - session->select_device(other_device ? other_device : demo_device); + if (user_device) + session->select_device(user_device); + else if (other_device) + session->select_device(other_device); + else + session->select_device(demo_device); } void MainWindow::save_sessions() @@ -403,7 +409,7 @@ void MainWindow::setup_ui() // Set the window icon QIcon icon; - icon.addFile(QString(":/icons/sigrok-logo-notext.png")); + icon.addFile(QString(":/icons/pulseview.png")); setWindowIcon(icon); view_sticky_scrolling_shortcut_ = new QShortcut(QKeySequence(Qt::Key_S), this, SLOT(on_view_sticky_scrolling_shortcut()));