File indexing completed on 2024-05-19 04:58:06

0001 /*
0002     This file is part of Choqok, the KDE micro-blogging client
0003 
0004     SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com>
0005 
0006     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0007 */
0008 
0009 #include "editaccountdialog.h"
0010 
0011 #include <QPushButton>
0012 #include <QVBoxLayout>
0013 
0014 #include <KConfigGroup>
0015 #include <KLocalizedString>
0016 #include <KMessageBox>
0017 
0018 #include "account.h"
0019 #include "accountmanager.h"
0020 #include "accountsdebug.h"
0021 #include "editaccountwidget.h"
0022 
0023 EditAccountDialog::EditAccountDialog(ChoqokEditAccountWidget *editWidget, QWidget *parent, Qt::WindowFlags flags)
0024     : QDialog(parent, flags), widget(editWidget)
0025 {
0026     if (!widget) {
0027         this->deleteLater();
0028         return;
0029     }
0030 
0031     setWindowTitle(i18n("Edit Account"));
0032 
0033     QVBoxLayout *mainLayout = new QVBoxLayout;
0034     setLayout(mainLayout);
0035     mainLayout->addWidget(widget);
0036 
0037     QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
0038     QPushButton *okButton = buttonBox->button(QDialogButtonBox::Ok);
0039     okButton->setDefault(true);
0040     okButton->setShortcut(Qt::CTRL | Qt::Key_Return);
0041     connect(buttonBox, &QDialogButtonBox::accepted, this, &EditAccountDialog::accept);
0042     connect(buttonBox, &QDialogButtonBox::rejected, this, &EditAccountDialog::reject);
0043     mainLayout->addWidget(buttonBox);
0044 }
0045 
0046 EditAccountDialog::~EditAccountDialog()
0047 {
0048 }
0049 
0050 void EditAccountDialog::accept()
0051 {
0052     qCDebug(CHOQOK);
0053     if (widget->validateData()) {
0054         if (widget->apply()) {
0055             QDialog::accept();
0056         }
0057     } else {
0058       KMessageBox::error(
0059           this, i18n("Cannot validate your input information.\nPlease check "
0060                      "the fields' data.\nMaybe a required field is empty?"));
0061     }
0062 }
0063 
0064 #include "moc_editaccountdialog.cpp"