20#include "importoptionsdlg.h"
21#include <widget/kexicharencodingcombobox.h>
26#include <tqtextcodec.h>
27#include <tqcheckbox.h>
29#include <tdeapplication.h>
35#include <kiconloader.h>
39OptionsDialog::OptionsDialog(
const TQString& databaseFile,
const TQString& selectedEncoding, TQWidget* parent )
42 i18n(
"Advanced Import Options" ),
46 "KexiMigration::OptionsDialog",
51 setIcon(DesktopIcon(
"configure"));
52 TQGridLayout *lyr =
new TQGridLayout( plainPage(), 4, 3, KDialogBase::marginHint(),
53 KDialogBase::spacingHint());
56 m_encodingComboBox->setSizePolicy(TQSizePolicy::Minimum, TQSizePolicy::Minimum);
57 lyr->addWidget( m_encodingComboBox, 1, 1 );
58 TQLabel* lbl =
new TQLabel(
59 i18n(
"<h3>Text encoding for Microsoft Access database</h3>\n"
60 "<p>Database file \"%1\" appears to be created by a version of Microsoft Access older than 2000.</p>"
61 "<p>In order to properly import national characters, you may need to choose a proper text encoding "
62 "if the database was created on a computer with a different character set.</p>")
63 .arg(TQDir::convertSeparators(databaseFile)), plainPage());
64 lbl->setAlignment( TQt::AlignAuto | TQt::WordBreak );
65 lbl->setSizePolicy(TQSizePolicy::Minimum, TQSizePolicy::Fixed);
66 lyr->addMultiCellWidget( lbl, 0, 0, 0, 2 );
68 TQLabel* lbl2 =
new TQLabel( m_encodingComboBox, i18n(
"Text encoding:"), plainPage());
69 lyr->addWidget( lbl2, 1, 0 );
71 m_chkAlwaysUseThisEncoding =
new TQCheckBox(
72 i18n(
"Always use this encoding in similar situations"), plainPage());
73 lyr->addMultiCellWidget( m_chkAlwaysUseThisEncoding, 2, 2, 1,2 );
75 lyr->addItem(
new TQSpacerItem( 20, 111, TQSizePolicy::Minimum, TQSizePolicy::Expanding ), 3, 1 );
76 lyr->addItem(
new TQSpacerItem( 121, 20, TQSizePolicy::Expanding, TQSizePolicy::Minimum ), 1, 2 );
79 kapp->config()->setGroup(
"ImportExport");
80 TQString defaultEncodingForMSAccessFiles = kapp->config()->readEntry(
"DefaultEncodingForMSAccessFiles");
81 if (!defaultEncodingForMSAccessFiles.isEmpty()) {
82 m_encodingComboBox->setSelectedEncoding(defaultEncodingForMSAccessFiles);
83 m_chkAlwaysUseThisEncoding->setChecked(
true);
87 m_encodingComboBox->setFocus();
90OptionsDialog::~OptionsDialog()
94KexiCharacterEncodingComboBox* OptionsDialog::encodingComboBox()
const
96 return m_encodingComboBox;
99void OptionsDialog::accept()
101 kapp->config()->setGroup(
"ImportExport");
102 if (m_chkAlwaysUseThisEncoding->isChecked())
103 kapp->config()->writeEntry(
"defaultEncodingForMSAccessFiles",
104 m_encodingComboBox->selectedEncoding());
106 kapp->config()->deleteEntry(
"defaultEncodingForMSAccessFiles");
108 KDialogBase::accept();
111#include "importoptionsdlg.moc"
Combobox widget providing a list of possible character encodings.
Framework for importing databases into native KexiDB databases.