diff options
Diffstat (limited to 'kmymoney2/dialogs/kgncpricesourcedlg.cpp')
-rw-r--r-- | kmymoney2/dialogs/kgncpricesourcedlg.cpp | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/kmymoney2/dialogs/kgncpricesourcedlg.cpp b/kmymoney2/dialogs/kgncpricesourcedlg.cpp new file mode 100644 index 0000000..2246e01 --- /dev/null +++ b/kmymoney2/dialogs/kgncpricesourcedlg.cpp @@ -0,0 +1,106 @@ +/*************************************************************************** + kgncpricesourcedlg.cpp + ------------------- + copyright : (C) 2005 by Ace Jones + author : Tony Bloomfield + email : tonybloom@users.sourceforge.net + ***************************************************************************/ + +/*************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + +// ---------------------------------------------------------------------------- +// QT Includes +#include <qlabel.h> +#include <qlistbox.h> +#include <qlineedit.h> +#include <qbuttongroup.h> +#include <qlayout.h> +#include <qapplication.h> + +// ---------------------------------------------------------------------------- +// KDE Includes +#include <kapplication.h> +#include <kurlrequester.h> +#include <ktextbrowser.h> +#include <klocale.h> + +// ---------------------------------------------------------------------------- +// Project Includes +#include "kgncpricesourcedlg.h" +#include "../converter/webpricequote.h" + +KGncPriceSourceDlg::KGncPriceSourceDlg(QWidget *parent, const char *name) + : KGncPriceSourceDlgDecl(parent, name) +{ +} +KGncPriceSourceDlg::KGncPriceSourceDlg(const QString &stockName, const QString &gncSource){ + // signals and slots connections + connect( buttonGroup5, SIGNAL( released(int) ), this, SLOT( buttonPressed(int) ) ); + connect( buttonHelp, SIGNAL( clicked() ), this, SLOT( slotHelp() ) ); + // initialize data fields + textStockName->setText (i18n ("Investment: %1").arg(stockName)); + textGncSource->setText (i18n ("Quote source: %1").arg(gncSource)); + listKnownSource->insertStringList (WebPriceQuote::quoteSources()); + lineUserSource->setText (gncSource); + checkAlwaysUse->setChecked(true); + buttonGroup5->setButton (0); + buttonPressed (0); + return; +} + +KGncPriceSourceDlg::~KGncPriceSourceDlg() +{ +} + +enum ButtonIds {NOSOURCE = 0, KMMSOURCE, USERSOURCE}; + +void KGncPriceSourceDlg::buttonPressed (int buttonId) { + m_currentButton = buttonId; + switch (m_currentButton) { + case NOSOURCE: + listKnownSource->clearSelection(); + listKnownSource->setEnabled (false); + lineUserSource->deselect(); + lineUserSource->setEnabled (false); + break; + case KMMSOURCE: + lineUserSource->deselect (); + lineUserSource->setEnabled (false); + listKnownSource->setEnabled (true); + listKnownSource->setFocus(); + listKnownSource->setSelected (0, true); + break; + case USERSOURCE: + listKnownSource->clearSelection(); + listKnownSource->setEnabled (false); + lineUserSource->setEnabled (true); + lineUserSource->selectAll(); + lineUserSource->setFocus (); + break; + } +} + +QString KGncPriceSourceDlg::selectedSource() const { + QString s; + switch (m_currentButton) { + case NOSOURCE: s = ""; break; + case KMMSOURCE: s = listKnownSource->currentText(); break; + case USERSOURCE: s = lineUserSource->text(); break; + } + return (s); +} + +void KGncPriceSourceDlg::slotHelp(void) +{ + kapp->invokeHelp ("details.impexp.gncquotes"); +} + +#include "kgncpricesourcedlg.moc" + |