void SqlEditor::actionSave_As_triggered() { emit showSqlScriptResult(""); QString newFile = QFileDialog::getSaveFileName(this, tr("Save SQL Script"), QDir::currentPath(), tr("SQL file (*.sql);;All Files (*)")); if (newFile.isNull()) return; m_fileName = newFile; setFileWatcher(newFile); saveFile(); }
void MainWindow::addToResentFiles(QString filename) { recentFile = filename; setFileWatcher(filename); updateTitle(); QSettings settings(QSettings::IniFormat, QSettings::UserScope, SETTING_ORGANIZATION, SETTING_APPLICATION); QStringList files = settings.value("recentFileList").toStringList(); files.removeAll(filename); files.prepend(filename); while (files.size() > MaxRecentFiles) files.removeLast(); settings.setValue("recentFileList", files); updateRecentFileActions(); }
void SqlEditor::open(const QString & newFile) { QFile f(newFile); if (!f.open(QIODevice::ReadOnly | QIODevice::Text)) { QMessageBox::warning(this, tr("Open SQL Script"), tr("Cannot open file %1").arg(newFile)); return; } canceled = false; int prgTmp = 0; progress = new QProgressDialog(tr("Opening: %1").arg(newFile), tr("Abort"), 0, f.size(), this); connect(progress, SIGNAL(canceled()), this, SLOT(cancel())); progress->setWindowModality(Qt::WindowModal); progress->setMinimumDuration(1000); ui.sqlTextEdit->clear(); QTextStream in(&f); QString line; QStringList strList; while (!in.atEnd()) { line = in.readLine(); strList.append(line); prgTmp += line.length(); if (!setProgress(prgTmp)) { strList.clear(); break; } } f.close(); m_fileName = newFile; setFileWatcher(newFile); progress->setLabelText(tr("Formatting the text. Please wait.")); ui.sqlTextEdit->append(strList.join("\n")); ui.sqlTextEdit->setModified(false); delete progress; progress = 0; }
void SqlEditor::saveFile() { QFile f(m_fileName); if (!f.open(QIODevice::WriteOnly | QIODevice::Text)) { QMessageBox::warning(this, tr("Save SQL Script"), tr("Cannot write into file %1").arg(m_fileName)); } else { // required for Win delete(m_fileWatcher); m_fileWatcher = 0; QTextStream out(&f); out << ui.sqlTextEdit->text(); f.close(); ui.sqlTextEdit->setModified(false); setFileWatcher(m_fileName); } }