X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fmainwindow.cpp;h=a20f12a6712a087522ab45d6d770e0fba668fe03;hp=d13c8e197e3bfc917cd0ec697fbdfe72c54a2947;hb=d8d053b6e51abf651ca31d0d4822035c06fb7f9b;hpb=8ad61f4071a69445a6917d214b6592878447ddb1 diff --git a/pv/mainwindow.cpp b/pv/mainwindow.cpp index d13c8e1..a20f12a 100644 --- a/pv/mainwindow.cpp +++ b/pv/mainwindow.cpp @@ -70,7 +70,7 @@ const QString MainWindow::WindowTitle = tr("PulseView"); MainWindow::MainWindow(DeviceManager &device_manager, string open_file_name, string open_file_format, - QWidget *parent) : + bool restore_sessions, QWidget *parent) : QMainWindow(parent), device_manager_(device_manager), session_selector_(this), @@ -92,7 +92,7 @@ MainWindow::MainWindow(DeviceManager &device_manager, bind(&MainWindow::on_settingViewShowAnalogMinorGrid_changed, this, _1)); setup_ui(); - restore_ui_settings(); + restore_ui_settings(restore_sessions); if (!open_file_name.empty()) { shared_ptr session = add_session(); @@ -188,6 +188,7 @@ shared_ptr MainWindow::add_view(const QString &title, dock_main->setCentralWidget(v.get()); dock->setWidget(dock_main); + dock->setContextMenuPolicy(Qt::PreventContextMenu); dock->setFeatures(QDockWidget::DockWidgetMovable | QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetClosable); @@ -374,8 +375,8 @@ void MainWindow::setup_ui() run_stop_shortcut_->setAutoRepeat(false); settings_button_ = new QToolButton(); - settings_button_->setIcon(QIcon::fromTheme("configure", - QIcon(":/icons/configure.png"))); + settings_button_->setIcon(QIcon::fromTheme("preferences-system", + QIcon(":/icons/preferences-system.png"))); settings_button_->setToolTip(tr("Settings")); settings_button_->setAutoRaise(true); @@ -454,10 +455,9 @@ void MainWindow::save_ui_settings() settings.setValue("sessions", id); } -void MainWindow::restore_ui_settings() +void MainWindow::restore_ui_settings(bool restore_sessions) { QSettings settings; - int i, session_count; settings.beginGroup("MainWindow"); @@ -469,13 +469,17 @@ void MainWindow::restore_ui_settings() settings.endGroup(); - session_count = settings.value("sessions", 0).toInt(); + if (restore_sessions) { + int i, session_count; - for (i = 0; i < session_count; i++) { - settings.beginGroup("Session" + QString::number(i)); - shared_ptr session = add_session(); - session->restore_settings(settings); - settings.endGroup(); + session_count = settings.value("sessions", 0).toInt(); + + for (i = 0; i < session_count; i++) { + settings.beginGroup("Session" + QString::number(i)); + shared_ptr session = add_session(); + session->restore_settings(settings); + settings.endGroup(); + } } } @@ -720,7 +724,8 @@ void MainWindow::on_tab_close_requested(int index) { shared_ptr session = get_tab_session(index); - assert(session); + if (!session) + return; if (session->data_saved() || (QMessageBox::question(this, tr("Confirmation"), tr("This session contains unsaved data. Close it anyway?"),