X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;ds=sidebyside;f=main.cpp;h=d0ca64a2483a85fb7cdac23c5a7170c1c3f02d34;hb=f7449c50675c7e9cc152bb367b3850f3c6310228;hp=61ec03a840243be3dd11f4654d8c9f6fa76b6590;hpb=e3c79b07a04a6621e7f3d8d36c1afac5ef7d0db5;p=pulseview.git
diff --git a/main.cpp b/main.cpp
index 61ec03a..d0ca64a 100644
--- a/main.cpp
+++ b/main.cpp
@@ -14,20 +14,20 @@
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+ * along with this program; if not, see .
*/
#ifdef ENABLE_DECODE
#include /* First, so we avoid a _POSIX_C_SOURCE warning. */
#endif
-#include
+#include
#include
#include
#include
+#include
#ifdef ENABLE_SIGNALS
#include "signalhandler.hpp"
@@ -38,17 +38,22 @@
#include "pv/mainwindow.hpp"
#ifdef ANDROID
#include
+#include "android/assetreader.hpp"
#include "android/loghandler.hpp"
#endif
#include "config.h"
#ifdef _WIN32
-// The static qsvg lib is required for SVG graphics/icons (on Windows).
#include
-Q_IMPORT_PLUGIN(qsvg)
+Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin)
+Q_IMPORT_PLUGIN(QSvgPlugin)
#endif
+using std::exception;
+using std::shared_ptr;
+using std::string;
+
void usage()
{
fprintf(stdout,
@@ -69,25 +74,26 @@ void usage()
int main(int argc, char *argv[])
{
int ret = 0;
- std::shared_ptr context;
- std::string open_file, open_file_format;
+ shared_ptr context;
+ string open_file, open_file_format;
Application a(argc, argv);
#ifdef ANDROID
srau_init_environment();
pv::AndroidLogHandler::install_callbacks();
+ pv::AndroidAssetReader asset_reader;
#endif
// Parse arguments
- while (1) {
+ while (true) {
static const struct option long_options[] = {
- {"help", no_argument, 0, 'h'},
- {"version", no_argument, 0, 'V'},
- {"loglevel", required_argument, 0, 'l'},
- {"input-file", required_argument, 0, 'i'},
- {"input-format", required_argument, 0, 'I'},
- {0, 0, 0, 0}
+ {"help", no_argument, nullptr, 'h'},
+ {"version", no_argument, nullptr, 'V'},
+ {"loglevel", required_argument, nullptr, 'l'},
+ {"input-file", required_argument, nullptr, 'i'},
+ {"input-format", required_argument, nullptr, 'I'},
+ {nullptr, 0, nullptr, 0}
};
const int c = getopt_long(argc, argv,
@@ -115,6 +121,11 @@ int main(int argc, char *argv[])
srd_log_loglevel_set(loglevel);
#endif
+ if (loglevel >= 5) {
+ const QSettings settings;
+ qDebug() << "Settings:" << settings.fileName()
+ << "format" << settings.format();
+ }
break;
}
@@ -128,14 +139,19 @@ int main(int argc, char *argv[])
}
}
- if (argc != optind) {
- fprintf(stderr, "Unexpected argument: %s\n", argv[optind]);
+ if (argc - optind > 1) {
+ fprintf(stderr, "Only one file can be opened.\n");
return 1;
}
+ if (argc - optind == 1)
+ open_file = argv[argc - 1];
+
// Initialise libsigrok
context = sigrok::Context::create();
-
+#ifdef ANDROID
+ context->set_resource_reader(&asset_reader);
+#endif
do {
#ifdef ENABLE_DECODE
@@ -159,7 +175,7 @@ int main(int argc, char *argv[])
w.show();
#ifdef ENABLE_SIGNALS
- if(SignalHandler::prepare_signals()) {
+ if (SignalHandler::prepare_signals()) {
SignalHandler *const handler =
new SignalHandler(&w);
QObject::connect(handler,
@@ -177,7 +193,7 @@ int main(int argc, char *argv[])
// Run the application
ret = a.exec();
- } catch(std::exception e) {
+ } catch (exception e) {
qDebug() << e.what();
}
@@ -186,7 +202,7 @@ int main(int argc, char *argv[])
srd_exit();
#endif
- } while (0);
+ } while (false);
return ret;
}