From 9bc3bf7e6e8384d5cdd323d396155bf092028569 Mon Sep 17 00:00:00 2001 From: DreamSourceLab Date: Tue, 24 May 2016 10:03:28 +0800 Subject: [PATCH] Improve performance of protocol decoder --- DSView/dsapplication.cpp | 45 ++++++++++++++++++++++++++++++++++++++++ DSView/dsapplication.h | 37 +++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 DSView/dsapplication.cpp create mode 100644 DSView/dsapplication.h diff --git a/DSView/dsapplication.cpp b/DSView/dsapplication.cpp new file mode 100644 index 00000000..1a8df330 --- /dev/null +++ b/DSView/dsapplication.cpp @@ -0,0 +1,45 @@ +/* + * This file is part of the DSView project. + * DSView is based on PulseView. + * + * Copyright (C) 2016 DreamSourceLab + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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 + */ + +#include "dsapplication.h" + +#include + +DSApplication::DSApplication(int &argc, char **argv): + QApplication(argc, argv) +{ +} + +bool DSApplication::notify(QObject *receiver_, QEvent *event_) +{ + try { + return QApplication::notify(receiver_, event_); + } catch ( std::exception& e ) { + QMessageBox msg(NULL); + msg.setText("Application Error"); + msg.setInformativeText(e.what()); + msg.setStandardButtons(QMessageBox::Ok); + msg.setIcon(QMessageBox::Warning); + msg.exec(); + //QMessageBox::warning(NULL, "Application Error", e.what()) + return false; + } +} diff --git a/DSView/dsapplication.h b/DSView/dsapplication.h new file mode 100644 index 00000000..7e0b3922 --- /dev/null +++ b/DSView/dsapplication.h @@ -0,0 +1,37 @@ +/* + * This file is part of the DSView project. + * DSView is based on PulseView. + * + * Copyright (C) 2016 DreamSourceLab + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * 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 + */ + +#ifndef DSVIEW_DSAPPLICATION_H +#define DSVIEW_DSAPPLICATION_H + +#include +#include + +class DSApplication : public QApplication +{ +public: + DSApplication(int &argc, char ** argv); + // ~MyApplication(); +private: + bool notify(QObject *receiver_, QEvent *event_); +}; + +#endif // DSVIEW_DSAPPLICATION_H