File indexing completed on 2024-05-12 05:06:10

0001 /*
0002     SPDX-FileCopyrightText: 2002-2004 Kevin Tambascio <ktambascio@users.sourceforge.net>
0003     SPDX-FileCopyrightText: 2004-2010 Thomas Baumgart <tbaumgart@kde.org>
0004     SPDX-FileCopyrightText: 2017 Łukasz Wojniłowicz <lukasz.wojnilowicz@gmail.com>
0005     SPDX-License-Identifier: GPL-2.0-or-later
0006 */
0007 
0008 #include "kupdatestockpricedlg.h"
0009 
0010 // ----------------------------------------------------------------------------
0011 // QT Includes
0012 
0013 #include <QDate>
0014 #include <QPushButton>
0015 
0016 // ----------------------------------------------------------------------------
0017 // KDE Includes
0018 
0019 // ----------------------------------------------------------------------------
0020 // Project Includes
0021 
0022 #include "ui_kupdatestockpricedlg.h"
0023 
0024 #include "kmymoneycurrencyselector.h"
0025 
0026 KUpdateStockPriceDlg::KUpdateStockPriceDlg(QWidget* parent) :
0027     QDialog(parent),
0028     ui(new Ui::KUpdateStockPriceDlg)
0029 {
0030     ui->setupUi(this);
0031     setModal(true);
0032     ui->m_date->setDate(QDate::currentDate());
0033 
0034     connect(ui->m_security, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this, static_cast<void (KUpdateStockPriceDlg::*)(int)>(&KUpdateStockPriceDlg::slotCheckData));
0035     connect(ui->m_currency, static_cast<void (QComboBox::*)(int)>(&QComboBox::activated), this, static_cast<void (KUpdateStockPriceDlg::*)(int)>(&KUpdateStockPriceDlg::slotCheckData));
0036 
0037     // load initial values into the selection widgets
0038     ui->m_currency->update(QString());
0039     ui->m_security->update(QString());
0040 
0041     slotCheckData();
0042 }
0043 
0044 KUpdateStockPriceDlg::~KUpdateStockPriceDlg()
0045 {
0046     delete  ui;
0047 }
0048 
0049 int KUpdateStockPriceDlg::exec()
0050 {
0051     slotCheckData();
0052     return QDialog::exec();
0053 }
0054 
0055 QDate KUpdateStockPriceDlg::date() const
0056 {
0057     return ui->m_date->date();
0058 }
0059 
0060 void KUpdateStockPriceDlg::slotCheckData()
0061 {
0062     auto from = ui->m_security->security().id();
0063     auto to   = ui->m_currency->security().id();
0064 
0065     ui->m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(!from.isEmpty() && !to.isEmpty() && from != to);
0066 }
0067 
0068 void KUpdateStockPriceDlg::slotCheckData(int)
0069 {
0070     slotCheckData();
0071 }