ImportCsvDialog::ImportCsvDialog(const QString& filename, DBBrowserDB* db, QWidget* parent) : QDialog(parent), ui(new Ui::ImportCsvDialog), csvFilename(filename), pdb(db) { ui->setupUi(this); // Get the actual file name out of the provided path and use it as the default table name for import QFileInfo file(filename); ui->editName->setText(file.baseName()); // Create a list of all available encodings and create an auto completion list from them QStringList encodingList; foreach(QString enc, QTextCodec::availableCodecs()) encodingList.push_back(enc); encodingCompleter = new QCompleter(encodingList, this); encodingCompleter->setCaseSensitivity(Qt::CaseInsensitive); ui->editCustomEncoding->setCompleter(encodingCompleter); // Load last used settings and apply them QSettings settings(QApplication::organizationName(), QApplication::organizationName()); ui->checkboxHeader->setChecked(settings.value("importcsv/firstrowheader", false).toBool()); ui->checkBoxTrimFields->setChecked(settings.value("importcsv/trimfields", true).toBool()); setSeparatorChar(QChar(settings.value("importcsv/separator", ',').toInt())); setQuoteChar(QChar(settings.value("importcsv/quotecharacter", '"').toInt())); setEncoding(settings.value("importcsv/encoding", "UTF-8").toString()); // Initialise user interface checkInput(); updatePreview(); }
ImportCsvDialog::ImportCsvDialog(const QString& filename, DBBrowserDB* db, QWidget* parent) : QDialog(parent), ui(new Ui::ImportCsvDialog), csvFilename(filename), pdb(db) { ui->setupUi(this); QStringList encodingList; foreach(QString enc, QTextCodec::availableCodecs()) encodingList.push_back(enc); encodingCompleter = new QCompleter(encodingList, this); encodingCompleter->setCaseSensitivity(Qt::CaseInsensitive); ui->editCustomEncoding->setCompleter(encodingCompleter); QSettings settings(QApplication::organizationName(), QApplication::organizationName()); ui->checkboxHeader->setChecked(settings.value("importcsv/firstrowheader", false).toBool()); ui->checkBoxTrimFields->setChecked(settings.value("importcsv/trimfields", true).toBool()); setSeparatorChar(QChar(settings.value("importcsv/separator", 44).toInt())); setQuoteChar(QChar(settings.value("importcsv/quotecharacter", 34).toInt())); setEncoding(settings.value("importcsv/encoding", "UTF-8").toString()); checkInput(); updatePreview(); }
ExportCsvDialog::ExportCsvDialog(DBBrowserDB* db, QWidget* parent, const QString& query, const QString& selection) : QDialog(parent), ui(new Ui::ExportCsvDialog), pdb(db), m_sQuery(query) { // Create UI ui->setupUi(this); // Retrieve the saved dialog preferences bool firstRow = PreferencesDialog::getSettingsValue("exportcsv", "firstrowheader").toBool(); int separatorChar = PreferencesDialog::getSettingsValue("exportcsv", "separator").toInt(); int quoteChar = PreferencesDialog::getSettingsValue("exportcsv", "quotecharacter").toInt(); QString newLineString = PreferencesDialog::getSettingsValue("exportcsv", "newlinecharacters").toString(); // Set the widget values using the retrieved preferences ui->checkHeader->setChecked(firstRow); setSeparatorChar(separatorChar); setQuoteChar(quoteChar); setNewLineString(newLineString); // Update the visible/hidden status of the "Other" line edit fields showCustomCharEdits(); // If a SQL query was specified hide the table combo box. If not fill it with tables to export if(query.isEmpty()) { // Get list of tables to export objectMap objects = pdb->getBrowsableObjects(); for(objectMap::ConstIterator i=objects.begin();i!=objects.end();++i) { ui->listTables->addItem(new QListWidgetItem(QIcon(QString(":icons/%1").arg(i.value().gettype())), i.value().getname())); } // Sort list of tables and select the table specified in the selection parameter or alternatively the first one ui->listTables->model()->sort(0); if(selection.isEmpty()) { ui->listTables->setCurrentItem(ui->listTables->item(0)); } else { QList<QListWidgetItem*> items = ui->listTables->findItems(selection, Qt::MatchExactly); ui->listTables->setCurrentItem(items.at(0)); } } else { // Hide table combo box ui->labelTable->setVisible(false); ui->listTables->setVisible(false); resize(minimumSize()); } }
ExportCsvDialog::ExportCsvDialog(DBBrowserDB* db, QWidget* parent, const QString& query, const QString& selection) : QDialog(parent), ui(new Ui::ExportCsvDialog), pdb(db), m_sQuery(query) { // Create UI ui->setupUi(this); QSettings settings(QApplication::organizationName(), QApplication::organizationName()); ui->checkHeader->setChecked(settings.value("exportcsv/firstrowheader", true).toBool()); setSeparatorChar(QChar(settings.value("exportcsv/separator", ',').toInt())); setQuoteChar(QChar(settings.value("exportcsv/quotecharacter", '"').toInt())); showCustomCharEdits(); // If a SQL query was specified hide the table combo box. If not fill it with tables to export if(query.isEmpty()) { // Get list of tables to export objectMap objects = pdb->getBrowsableObjects(); for(objectMap::ConstIterator i=objects.begin();i!=objects.end();++i) { ui->listTables->addItem(new QListWidgetItem(QIcon(QString(":icons/%1").arg(i.value().gettype())), i.value().getname())); } // Sort list of tables and select the table specified in the selection parameter or alternatively the first one ui->listTables->model()->sort(0); if(selection.isEmpty()) { ui->listTables->setCurrentItem(ui->listTables->item(0)); } else { QList<QListWidgetItem*> items = ui->listTables->findItems(selection, Qt::MatchExactly); ui->listTables->setCurrentItem(items.at(0)); } } else { // Hide table combo box ui->labelTable->setVisible(false); ui->listTables->setVisible(false); resize(minimumSize()); } }
ExportDataDialog::ExportDataDialog(DBBrowserDB* db, ExportFormats format, QWidget* parent, const QString& query, const QString& selection) : QDialog(parent), ui(new Ui::ExportDataDialog), pdb(db), m_format(format), m_sQuery(query) { // Create UI ui->setupUi(this); // Show different option widgets depending on the export format ui->stackFormat->setCurrentIndex(format); // Retrieve the saved dialog preferences ui->checkHeader->setChecked(Settings::getSettingsValue("exportcsv", "firstrowheader").toBool()); setSeparatorChar(Settings::getSettingsValue("exportcsv", "separator").toInt()); setQuoteChar(Settings::getSettingsValue("exportcsv", "quotecharacter").toInt()); setNewLineString(Settings::getSettingsValue("exportcsv", "newlinecharacters").toString()); ui->checkPrettyPrint->setChecked(Settings::getSettingsValue("exportjson", "prettyprint").toBool()); // Update the visible/hidden status of the "Other" line edit fields showCustomCharEdits(); // If a SQL query was specified hide the table combo box. If not fill it with tables to export if(query.isEmpty()) { // Get list of tables to export objectMap objects = pdb->getBrowsableObjects(); foreach(const DBBrowserObject& obj, objects) ui->listTables->addItem(new QListWidgetItem(QIcon(QString(":icons/%1").arg(obj.gettype())), obj.getname())); // Sort list of tables and select the table specified in the selection parameter or alternatively the first one ui->listTables->model()->sort(0); if(selection.isEmpty()) { ui->listTables->setCurrentItem(ui->listTables->item(0)); } else { QList<QListWidgetItem*> items = ui->listTables->findItems(selection, Qt::MatchExactly); if(!items.isEmpty()) ui->listTables->setCurrentItem(items.first()); } } else {