2
For general Scribus (>=1.3.2) copyright and licensing information please refer
3
to the COPYING file provided with the program. Following this notice may exist
4
a copyright and/or license notice that predates the release of Scribus 1.3.2
5
for which a new license (GPL+exception) is in place.
9
#include "gtfiledialog.h"
11
#include "prefsmanager.h"
12
#include "prefscontext.h"
13
#include "prefsfile.h"
15
gtFileDialog::gtFileDialog(const QString& filters, const QStringList& importers, const QString& wdir)
20
fileWidget->setDirectory(wdir);
21
fileWidget->setFileMode(QFileDialog::ExistingFile);
22
fileWidget->setFilter(filters);
24
importerCombo->setToolTip( tr("Choose the importer to use"));
25
importerCombo->addItem( tr("Automatic"));
26
importerCombo->addItems(importers);
28
textOnlyCheckBox->setToolTip( tr("Import text without any formatting"));
30
QString tmp_txc[] = {"ISO 8859-1", "ISO 8859-2", "ISO 8859-3", "ISO 8859-4", "ISO 8859-5", "ISO 8859-6",
31
"ISO 8859-7", "ISO 8859-8", "ISO 8859-9", "ISO 8859-10", "ISO 8859-13", "ISO 8859-14",
32
"ISO 8859-15", "UTF-8", "UTF-16", "KOI8-R", "KOI8-U", "CP1250", "CP1251", "CP1252", "CP1253",
33
"CP1254", "CP1255", "CP1256", "CP1257", "Apple Roman"};
34
size_t array = sizeof(tmp_txc) / sizeof(*tmp_txc);
35
for (uint a = 0; a < array; ++a)
36
encodingCombo->addItem(tmp_txc[a]);
37
QString localEn = QTextCodec::codecForLocale()->name();
38
if (localEn == "ISO-10646-UCS-2")
41
for (int cc = 0; cc < encodingCombo->count(); ++cc)
43
if (encodingCombo->itemText(cc) == localEn)
45
encodingCombo->setCurrentIndex(cc);
52
encodingCombo->addItem(localEn);
53
encodingCombo->setCurrentIndex(encodingCombo->count()-1);
58
connect(fileWidget, SIGNAL(accepted()), this, SLOT(accept()));
59
connect(fileWidget, SIGNAL(rejected()), this, SLOT(reject()));
62
QString gtFileDialog::selectedFile()
64
return fileWidget->selectedFile();
67
void gtFileDialog::accept()
73
void gtFileDialog::loadSettings(void)
75
PrefsContext* context = PrefsManager::instance()->prefsFile->getContext("textimport_dialog");
76
if (context->contains("filter"))
78
QString filter = context->get("filter");
79
QStringList filters = fileWidget->filters();
80
if (!filter.isEmpty() && filters.contains(filter))
81
fileWidget->selectNameFilter(filter);
83
if (context->contains("importer"))
85
QString importer = context->get("importer");
86
int index = importerCombo->findText(importer);
88
importerCombo->setCurrentIndex(index);
90
if (context->contains("encoding"))
92
QString encoding = context->get("encoding");
93
int index = encodingCombo->findText(encoding);
95
encodingCombo->setCurrentIndex(index);
97
if (context->contains("textonly"))
99
bool textOnly = context->getBool("textonly");
100
textOnlyCheckBox->setChecked(textOnly);
104
void gtFileDialog::saveSettings(void)
106
PrefsContext* context = PrefsManager::instance()->prefsFile->getContext("textimport_dialog");
107
context->set("filter" , fileWidget->selectedFilter());
108
context->set("importer", importerCombo->currentText());
109
context->set("encoding", encodingCombo->currentText());
110
context->set("textonly", textOnlyCheckBox->isChecked());
113
gtFileDialog::~gtFileDialog()