PulseView  unreleased development snapshot
A Qt-based sigrok GUI
storeprogress.hpp
Go to the documentation of this file.
1 /*
2  * This file is part of the PulseView project.
3  *
4  * Copyright (C) 2014 Joel Holdsworth <joel@airwebreathe.org.uk>
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef PULSEVIEW_PV_DIALOGS_STOREPROGRESS_HPP
21 #define PULSEVIEW_PV_DIALOGS_STOREPROGRESS_HPP
22 
23 #include <atomic>
24 #include <memory>
25 #include <set>
26 
27 #include <QProgressDialog>
28 
29 #include <pv/storesession.hpp>
30 
31 using std::atomic;
32 using std::map;
33 using std::pair;
34 using std::shared_ptr;
35 using std::string;
36 
37 namespace pv {
38 
39 class Session;
40 
41 namespace dialogs {
42 
44 {
45  Q_OBJECT
46 
47 public:
48  StoreProgress(const QString &file_name,
49  const shared_ptr<sigrok::OutputFormat> output_format,
50  const map<string, Glib::VariantBase> &options,
51  const pair<uint64_t, uint64_t> sample_range,
52  const Session &session, QWidget *parent = nullptr);
53 
54  virtual ~StoreProgress();
55 
56  void run();
57 
58 private:
59  void show_error();
60 
61  void closeEvent(QCloseEvent*);
62 
63 private Q_SLOTS:
64  void on_progress_updated();
65  void on_cancel();
66 
67 private:
69  atomic<bool> showing_error_;
70 };
71 
72 } // namespace dialogs
73 } // namespace pv
74 
75 #endif // PULSEVIEW_PV_DIALOGS_STOREPROGRESS_HPP
StoreProgress(const QString &file_name, const shared_ptr< sigrok::OutputFormat > output_format, const map< string, Glib::VariantBase > &options, const pair< uint64_t, uint64_t > sample_range, const Session &session, QWidget *parent=nullptr)
Mac OS X or Android For some we provide binary for others we provide installers and for others we provide AppImage containers that you can run without the need to install anything Check the the usual way to install PulseView is to install the packages provided by your distro s package manager sometimes only outdated packages are made available to you In that you have two options
Definition: installation.txt:2
void closeEvent(QCloseEvent *)