source: SMSSender/common/gui/ui/iclosepreventabledialog.cpp @ 342:bdf193a5051e

separation-frontend-backend
Last change on this file since 342:bdf193a5051e was 316:16f8e7f93ca4, checked in by Sämy Zehnder <saemy.zehnder@…>, 6 years ago
  • Adds the copyright header to each file and updates the development period.
File size: 1.5 KB
Line 
1/*
2  smssender - A frontend for fast and easy SMS sending over different gateways.
3  Copyright (C) 2007-2014, gorrión. See http://smssender.gorrion.ch
4
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  GNU General Public License for more details.
14
15  You should have received a copy of the GNU General Public License
16  along with this program.  If not, see <http://www.gnu.org/licenses/>.
17*/
18#include "iclosepreventabledialog.h"
19
20#include <QCloseEvent>
21
22IClosePreventableDialog::IClosePreventableDialog(QWidget* parent)
23    : QDialog(parent)
24    , m_preventCount(0)
25{
26}
27
28void IClosePreventableDialog::preventClose() {
29    ++m_preventCount;
30}
31void IClosePreventableDialog::allowClose() {
32    if (m_preventCount == 0) {
33        if (m_closeRequested) {
34            QDialog::done(m_closeResult);
35        }
36        return;
37    }
38
39    --m_preventCount;
40}
41
42void IClosePreventableDialog::done(int closeResult) {
43    if (m_preventCount > 0) {
44        m_closeRequested = true;
45        m_closeResult = closeResult;
46
47        emit closeRequested(closeResult);
48    } else {
49        QDialog::done(closeResult);
50    }
51}
Note: See TracBrowser for help on using the repository browser.