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 }