20#include "KWQtSqlMailMergeOpen.h"
21#include "KWQtSqlMailMergeOpen.moc"
27#include <kpushbutton.h>
28#include <klineeditdlg.h>
29#include <kiconloader.h>
30#include <tqsqldatabase.h>
31#include <tqguardedptr.h>
40KWQtSqlMailMergeOpen::KWQtSqlMailMergeOpen( TQWidget *parent, KWQtSqlSerialDataSourceBase *db_ )
41 :KDialogBase( Plain, i18n(
"Mail Merge - Setup Database Connection" ), Ok | Cancel, Ok, parent,
"", true ), db( db_ ){
42 (
new TQVBoxLayout(plainPage()))->setAutoAdd(
true);
43 setMainWidget(widget=
new KWQtSqlOpenWidget(plainPage()));
44 widget->drivers->insertStringList(TQSqlDatabase::drivers());
45 widget->hostname->setText(db->hostname);
46 widget->username->setText(db->username);
47 widget->port->setText(db->port);
48 widget->databasename->setText(db->databasename);
49 fillSavedProperties();
50 connect(
this,TQ_SIGNAL(okClicked()),
this,TQ_SLOT(handleOk()));
51 connect(widget->savedProperties,TQ_SIGNAL(activated(
const TQString&)),
52 this, TQ_SLOT(savedPropertiesChanged(
const TQString&)));
53 connect(widget->rememberButton,TQ_SIGNAL(clicked()),
54 this, TQ_SLOT(slotSave()));
57KWQtSqlMailMergeOpen::~KWQtSqlMailMergeOpen(){;}
59void KWQtSqlMailMergeOpen::savedPropertiesChanged(
const TQString& name)
61 if (name!=i18n(
"<not saved>"))
63 TDEConfig conf(
"kwmailmergerc");
64 conf.setGroup(
"KWSLTQTDB:"+name);
65 widget->hostname->setText(conf.readEntry(
"hostname",
""));
66 widget->username->setText(conf.readEntry(
"username",
""));
67 widget->port->setText(conf.readEntry(
"port",
""));
68 widget->databasename->setText(conf.readEntry(
"databasename",
""));
72 widget->hostname->setText(
"");
73 widget->username->setText(
"");
74 widget->port->setText(i18n(
"default"));
75 widget->databasename->setText(
"");
80void KWQtSqlMailMergeOpen::fillSavedProperties()
82 widget->savedProperties->clear();
83 widget->savedProperties->insertItem(i18n(
"<not saved>"));
85 TDEConfig conf(
"kwmailmergerc");
86 TQStringList list=conf.groupList();
87 for (TQStringList::Iterator it=list.begin();it!=list.end();++it)
89 if ((*it).startsWith(
"KWSLTQTDB:"))
90 widget->savedProperties->insertItem((*it).right((*it).length()-9));
94void KWQtSqlMailMergeOpen::slotSave()
98 value=KLineEditDlg::getText(i18n(
"Store Settings"),i18n(
"Name:"),
99 TQString(), &ok,
this);
100 if (!ok) kdDebug()<<
"Cancel was pressed"<<endl;
101 if (value.isEmpty()) kdDebug()<<
"Name value was empty"<<endl;
102 if ((ok) && (!value.isEmpty()))
104 TDEConfig conf(
"kwmailmergerc");
105 conf.setGroup(
"KWSLTQTDB:"+value);
106 conf.writeEntry(
"hostname",widget->hostname->text());
107 conf.writeEntry(
"username",widget->username->text());
108 conf.writeEntry(
"port",widget->port->text());
109 conf.writeEntry(
"databasename",widget->databasename->text());
111 fillSavedProperties();
112 widget->savedProperties->setCurrentText(value);
116void KWQtSqlMailMergeOpen::handleOk()
118 db->hostname=widget->hostname->text();
119 db->username=widget->username->text();
120 db->port=widget->port->text();
121 db->databasename=widget->databasename->text();
122 db->driver=widget->drivers->currentText();