]> sigrok.org Git - pulseview.git/blob - pv/dialogs/decoder.cpp
afb5852db729cf2b184b590cd6e48d42f7e9dc9e
[pulseview.git] / pv / dialogs / decoder.cpp
1 /*
2  * This file is part of the PulseView project.
3  *
4  * Copyright (C) 2012 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, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
19  */
20
21 extern "C" {
22 #include <libsigrokdecode/libsigrokdecode.h>
23 }
24
25 #include "decoder.h"
26
27 namespace pv {
28 namespace dialogs {
29
30 Decoder::Decoder(QWidget *parent, const srd_decoder *decoder) :
31         QDialog(parent),
32         _decoder(decoder),
33         _layout(this),
34         _form(this),
35         _form_layout(&_form),
36         _heading(this),
37         _button_box(QDialogButtonBox::Ok | QDialogButtonBox::Cancel,
38                 Qt::Horizontal, this)
39 {
40         setWindowTitle(tr("Configure %1").arg(decoder->name));
41
42         _heading.setText(tr("<h3>%1</h3>%2")
43                 .arg(decoder->longname)
44                 .arg(decoder->desc));
45
46         connect(&_button_box, SIGNAL(accepted()), this, SLOT(accept()));
47         connect(&_button_box, SIGNAL(rejected()), this, SLOT(reject()));
48
49         _form.setLayout(&_form_layout);
50
51         setLayout(&_layout);
52         _layout.addWidget(&_heading);
53         _layout.addWidget(&_form);
54         _layout.addWidget(&_button_box);
55 }
56
57 } // namespace dialogs
58 } // namespace pv