X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=main.cpp;h=ce7db5fadcc2a18a05d567a0ac284cfe7065595f;hp=d0ca64a2483a85fb7cdac23c5a7170c1c3f02d34;hb=22fc985bc6b8a745232179bb9e6aa5538a679aa7;hpb=0bd39c0c6fcf31063fca364bfdb23d3d40914ba1 diff --git a/main.cpp b/main.cpp index d0ca64a2..ce7db5fa 100644 --- a/main.cpp +++ b/main.cpp @@ -58,7 +58,7 @@ void usage() { fprintf(stdout, "Usage:\n" - " %s [OPTION…] — %s\n" + " %s [OPTIONS] [FILE]\n" "\n" "Help Options:\n" " -h, -?, --help Show help option\n" @@ -68,7 +68,8 @@ void usage() " -l, --loglevel Set libsigrok/libsigrokdecode loglevel\n" " -i, --input-file Load input from file\n" " -I, --input-format Input format\n" - "\n", PV_BIN_NAME, PV_DESCRIPTION); + " -c, --clean Don't restore previous sessions on startup\n" + "\n", PV_BIN_NAME); } int main(int argc, char *argv[]) @@ -76,6 +77,7 @@ int main(int argc, char *argv[]) int ret = 0; shared_ptr context; string open_file, open_file_format; + bool restore_sessions = true; Application a(argc, argv); @@ -93,11 +95,12 @@ int main(int argc, char *argv[]) {"loglevel", required_argument, nullptr, 'l'}, {"input-file", required_argument, nullptr, 'i'}, {"input-format", required_argument, nullptr, 'I'}, + {"clean", no_argument, nullptr, 'c'}, {nullptr, 0, nullptr, 0} }; const int c = getopt_long(argc, argv, - "l:Vh?i:I:", long_options, nullptr); + "l:Vhc?i:I:", long_options, nullptr); if (c == -1) break; @@ -136,6 +139,10 @@ int main(int argc, char *argv[]) case 'I': open_file_format = optarg; break; + + case 'c': + restore_sessions = false; + break; } } @@ -170,10 +177,17 @@ int main(int argc, char *argv[]) pv::DeviceManager device_manager(context); // Initialise the main window - pv::MainWindow w(device_manager, - open_file, open_file_format); + pv::MainWindow w(device_manager); w.show(); + if (restore_sessions) + w.restore_sessions(); + + if (!open_file.empty()) + w.add_session_with_file(open_file, open_file_format); + else + w.add_default_session(); + #ifdef ENABLE_SIGNALS if (SignalHandler::prepare_signals()) { SignalHandler *const handler =