swift
marginsinput.cpp
1 // SPDX-FileCopyrightText: Copyright (C) 2016 swift Project Community / Contributors
2 // SPDX-License-Identifier: GPL-3.0-or-later OR LicenseRef-swift-pilot-client-1
3 
4 #include "marginsinput.h"
5 
6 #include <QIntValidator>
7 
8 #include "ui_marginsinput.h"
9 
10 #include "gui/stylesheetutility.h"
11 
12 namespace swift::gui::components
13 {
14  CMarginsInput::CMarginsInput(QWidget *parent) : QFrame(parent), ui(new Ui::CMarginsInput)
15  {
16  ui->setupUi(this);
17  connect(ui->pb_Ok, &QPushButton::clicked, this, &CMarginsInput::confirmed);
18  connect(ui->le_Bottom, &QLineEdit::returnPressed, this, &CMarginsInput::confirmed);
19  connect(ui->le_Left, &QLineEdit::returnPressed, this, &CMarginsInput::confirmed);
20  connect(ui->le_Right, &QLineEdit::returnPressed, this, &CMarginsInput::confirmed);
21  connect(ui->le_Top, &QLineEdit::returnPressed, this, &CMarginsInput::confirmed);
22 
23  QIntValidator *v = new QIntValidator(0, 100, this);
24  ui->le_Bottom->setValidator(v);
25  ui->le_Left->setValidator(v);
26  ui->le_Right->setValidator(v);
27  ui->le_Top->setValidator(v);
28  this->setMargins(QMargins());
29  }
30 
32 
33  void CMarginsInput::setMargins(const QMargins &margins)
34  {
35  ui->le_Left->setText(QString::number(margins.left()));
36  ui->le_Right->setText(QString::number(margins.right()));
37  ui->le_Top->setText(QString::number(margins.top()));
38  ui->le_Bottom->setText(QString::number(margins.bottom()));
39  }
40 
41  QMargins CMarginsInput::getMargins() const
42  {
43  int t = 0, b = 0, l = 0, r = 0;
44  const QString sl(ui->le_Left->text().trimmed());
45  const QString st(ui->le_Top->text().trimmed());
46  const QString sr(ui->le_Right->text().trimmed());
47  const QString sb(ui->le_Bottom->text().trimmed());
48  bool ok = false;
49  l = sl.toInt(&ok);
50  l = ok ? l : 0;
51  r = sr.toInt(&ok);
52  r = ok ? r : 0;
53  b = sb.toInt(&ok);
54  b = ok ? b : 0;
55  t = st.toInt(&ok);
56  t = ok ? t : 0;
57  const QMargins m(l, t, r, b);
58  return m;
59  }
60 
61  void CMarginsInput::confirmed()
62  {
63  const QMargins m(this->getMargins());
64  emit this->changedMargins(m);
65  }
66 
67 } // namespace swift::gui::components
Widget alows to enter margins.
Definition: marginsinput.h:24
void setMargins(const QMargins &margins)
Set margins.
QMargins getMargins() const
Current values of margins.
void changedMargins(const QMargins &margins)
Margins changed.
CMarginsInput(QWidget *parent=nullptr)
Constructor.
High level reusable GUI components.
Definition: aboutdialog.cpp:13