mirror of
https://github.com/qgis/QGIS.git
synced 2025-10-17 00:09:36 -04:00
100 lines
3.9 KiB
C++
100 lines
3.9 KiB
C++
/***************************************************************************
|
|
qgsencodingfiledialog.cpp - File dialog which queries the encoding type
|
|
--------------------------------------
|
|
Date : 16-Feb-2005
|
|
Copyright : (C) 2005 by Marco Hugentobler
|
|
email : marco.hugentobler@autoform.ch
|
|
***************************************************************************
|
|
* *
|
|
* 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. *
|
|
* *
|
|
***************************************************************************/
|
|
|
|
#include "qgsencodingfiledialog.h"
|
|
#include <QComboBox>
|
|
#include <QLabel>
|
|
#include <QLayout>
|
|
#include <QTextCodec>
|
|
|
|
|
|
QgsEncodingFileDialog::QgsEncodingFileDialog(QWidget * parent,
|
|
const QString & caption, const QString & directory,
|
|
const QString & filter, const QString & encoding)
|
|
: QFileDialog(parent, caption, directory, filter)
|
|
{
|
|
mEncodingComboBox=new QComboBox(this);
|
|
QLabel* l=new QLabel(tr("Encoding:"),this);
|
|
layout()->addWidget(l);
|
|
layout()->addWidget(mEncodingComboBox);
|
|
mEncodingComboBox->insertItem("BIG5");
|
|
mEncodingComboBox->insertItem("BIG5-HKSCS");
|
|
mEncodingComboBox->insertItem("EUCJP");
|
|
mEncodingComboBox->insertItem("EUCKR");
|
|
mEncodingComboBox->insertItem("GB2312");
|
|
mEncodingComboBox->insertItem("GBK");
|
|
mEncodingComboBox->insertItem("GB18030");
|
|
mEncodingComboBox->insertItem("JIS7");
|
|
mEncodingComboBox->insertItem("SHIFT-JIS");
|
|
mEncodingComboBox->insertItem("TSCII");
|
|
mEncodingComboBox->insertItem("UTF-8");
|
|
mEncodingComboBox->insertItem("UTF-16");
|
|
mEncodingComboBox->insertItem("KOI8-R");
|
|
mEncodingComboBox->insertItem("KOI8-U");
|
|
mEncodingComboBox->insertItem("ISO8859-1");
|
|
mEncodingComboBox->insertItem("ISO8859-2");
|
|
mEncodingComboBox->insertItem("ISO8859-3");
|
|
mEncodingComboBox->insertItem("ISO8859-4");
|
|
mEncodingComboBox->insertItem("ISO8859-5");
|
|
mEncodingComboBox->insertItem("ISO8859-6");
|
|
mEncodingComboBox->insertItem("ISO8859-7");
|
|
mEncodingComboBox->insertItem("ISO8859-8");
|
|
mEncodingComboBox->insertItem("ISO8859-8-I");
|
|
mEncodingComboBox->insertItem("ISO8859-9");
|
|
mEncodingComboBox->insertItem("ISO8859-10");
|
|
mEncodingComboBox->insertItem("ISO8859-13");
|
|
mEncodingComboBox->insertItem("ISO8859-14");
|
|
mEncodingComboBox->insertItem("ISO8859-15");
|
|
mEncodingComboBox->insertItem("IBM 850");
|
|
mEncodingComboBox->insertItem("IBM 866");
|
|
mEncodingComboBox->insertItem("CP874");
|
|
mEncodingComboBox->insertItem("CP1250");
|
|
mEncodingComboBox->insertItem("CP1251");
|
|
mEncodingComboBox->insertItem("CP1252");
|
|
mEncodingComboBox->insertItem("CP1253");
|
|
mEncodingComboBox->insertItem("CP1254");
|
|
mEncodingComboBox->insertItem("CP1255");
|
|
mEncodingComboBox->insertItem("CP1256");
|
|
mEncodingComboBox->insertItem("CP1257");
|
|
mEncodingComboBox->insertItem("CP1258");
|
|
mEncodingComboBox->insertItem("Apple Roman");
|
|
mEncodingComboBox->insertItem("TIS-620");
|
|
if (encoding.isEmpty())
|
|
{
|
|
mEncodingComboBox->setCurrentText(QString(QTextCodec::codecForLocale()->name()));
|
|
}
|
|
else
|
|
{
|
|
mEncodingComboBox->setCurrentText(encoding);
|
|
}
|
|
|
|
// if this dialog is being invoked from QgisApp::findFiles_(), then we
|
|
// need to force selection of the first filter since that corresponds to
|
|
// the file name we're looking for; even if we're not here from
|
|
// findFiles_(), it won't hurt to force selection of the first file filter
|
|
selectFilter(filters().at(0));
|
|
|
|
}
|
|
|
|
QgsEncodingFileDialog::~QgsEncodingFileDialog()
|
|
{
|
|
|
|
}
|
|
|
|
QString QgsEncodingFileDialog::encoding() const
|
|
{
|
|
return mEncodingComboBox->currentText();
|
|
}
|