20#include "kexicsvimportoptionsdlg.h"
21#include <widget/kexicharencodingcombobox.h>
25#include <tqtextcodec.h>
26#include <tqcheckbox.h>
28#include <tdeapplication.h>
35KexiCSVImportOptions::KexiCSVImportOptions()
37 kapp->config()->setGroup(
"ImportExport");
38 encoding = kapp->config()->readEntry(
"DefaultEncodingForImportingCSVFiles");
39 if (encoding.isEmpty()) {
40 encoding = TQString::fromLatin1(TDEGlobal::locale()->encoding());
41 defaultEncodingExplicitySet =
false;
44 defaultEncodingExplicitySet =
true;
46 stripWhiteSpaceInTextValuesChecked
47 = kapp->config()->readBoolEntry(
"StripBlanksOffOfTextValuesWhenImportingCSVFiles",
true);
50KexiCSVImportOptions::~KexiCSVImportOptions()
56 return defaultEncodingExplicitySet==opt.defaultEncodingExplicitySet
57 && stripWhiteSpaceInTextValuesChecked==opt.stripWhiteSpaceInTextValuesChecked
58 && encoding==opt.encoding;
63 return !( *
this==opt );
68KexiCSVImportOptionsDialog::KexiCSVImportOptionsDialog(
72 i18n(
"CSV Import Options" ),
76 "KexiCSVImportOptionsDialog",
81 TQGridLayout *lyr =
new TQGridLayout( plainPage(), 5, 3,
82 KDialogBase::marginHint(), KDialogBase::spacingHint());
85 lyr->addWidget( m_encodingComboBox, 0, 1 );
87 TQLabel* lbl =
new TQLabel( m_encodingComboBox, i18n(
"Text encoding:"), plainPage());
88 lyr->addWidget( lbl, 0, 0 );
90 lyr->addItem(
new TQSpacerItem( 20, KDialogBase::spacingHint(), TQSizePolicy::Fixed, TQSizePolicy::Fixed ), 2, 1 );
91 lyr->addItem(
new TQSpacerItem( 121, KDialogBase::spacingHint(), TQSizePolicy::Expanding, TQSizePolicy::Minimum ), 0, 2 );
93 m_chkAlwaysUseThisEncoding =
new TQCheckBox(
94 i18n(
"Always use this encoding when importing CSV data files"), plainPage());
95 lyr->addWidget( m_chkAlwaysUseThisEncoding, 1, 1 );
97 m_chkStripWhiteSpaceInTextValues =
new TQCheckBox(
98 i18n(
"Strip leading and trailing blanks off of text values"), plainPage());
99 lyr->addWidget( m_chkStripWhiteSpaceInTextValues, 3, 1 );
100 lyr->addItem(
new TQSpacerItem( 20, KDialogBase::spacingHint(), TQSizePolicy::Minimum, TQSizePolicy::Expanding ), 4, 1 );
103 if (options.defaultEncodingExplicitySet) {
104 m_encodingComboBox->setSelectedEncoding(options.encoding);
105 m_chkAlwaysUseThisEncoding->setChecked(
true);
107 m_chkStripWhiteSpaceInTextValues->setChecked(options.stripWhiteSpaceInTextValuesChecked);
110 m_encodingComboBox->setFocus();
113KexiCSVImportOptionsDialog::~KexiCSVImportOptionsDialog()
119 KexiCSVImportOptions opt;
120 opt.encoding = m_encodingComboBox->selectedEncoding();
121 opt.stripWhiteSpaceInTextValuesChecked = m_chkStripWhiteSpaceInTextValues->isChecked();
125void KexiCSVImportOptionsDialog::accept()
127 kapp->config()->setGroup(
"ImportExport");
128 if (m_chkAlwaysUseThisEncoding->isChecked())
129 kapp->config()->writeEntry(
"DefaultEncodingForImportingCSVFiles",
130 m_encodingComboBox->selectedEncoding());
132 kapp->config()->deleteEntry(
"DefaultEncodingForImportingCSVFiles");
134 kapp->config()->writeEntry(
"StripBlanksOffOfTextValuesWhenImportingCSVFiles",
135 m_chkStripWhiteSpaceInTextValues->isChecked());
137 KDialogBase::accept();
140#include "kexicsvimportoptionsdlg.moc"
Combobox widget providing a list of possible character encodings.