ImportDialog::ImportDialog(QWidget* parent) : QFileDialog(parent, WINDOW_NAME, DESKTOP_LOCATION, NULL), _importButton(IMPORT_BUTTON_NAME, this), _cancelButton(CANCEL_BUTTON_NAME, this), fileAccepted(false) { setOption(QFileDialog::DontUseNativeDialog, true); setFileMode(QFileDialog::ExistingFile); setViewMode(QFileDialog::Detail); #ifdef Q_OS_MAC QString cmdString = ("Command"); #else QString cmdString = ("Control"); #endif QLabel* infoLabel = new QLabel(QString(INFO_LABEL_TEXT).arg(cmdString)); infoLabel->setObjectName("infoLabel"); QGridLayout* gridLayout = (QGridLayout*) layout(); gridLayout->addWidget(infoLabel, 2, 0, 2, 1); gridLayout->addWidget(&_cancelButton, 2, 1, 2, 1); gridLayout->addWidget(&_importButton, 2, 2, 2, 1); setImportTypes(); setLayout(); connect(&_importButton, SIGNAL(pressed()), SLOT(import())); connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString))); connect(&_cancelButton, SIGNAL(pressed()), SLOT(close())); connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString))); }
ImportDialog::ImportDialog(QWidget *parent) : QFileDialog(parent, WINDOW_NAME, DESKTOP_LOCATION, IMPORT_FILE_TYPES), _importButton (IMPORT_BUTTON_NAME, this), _clipboardImportBox(IMPORT_TO_CLIPBOARD_CHECKBOX_STRING, this), _previewBox (PREVIEW_CHECKBOX_STRING, this), _previewBar (this), _glPreview (new GLWidget(this)) { setOption(QFileDialog::DontUseNativeDialog, true); setFileMode(QFileDialog::ExistingFile); setViewMode(QFileDialog::Detail); QGridLayout* gridLayout = (QGridLayout*) layout(); gridLayout->addWidget(&_importButton , 2, 2); gridLayout->addWidget(&_clipboardImportBox, 2, 3); gridLayout->addWidget(&_previewBox , 3, 3); gridLayout->addWidget(&_previewBar , 0, 3); gridLayout->addWidget(_glPreview , 1, 3); gridLayout->setColumnStretch(3, 1); _previewBar.setVisible(false); _previewBar.setRange(0, 100); _previewBar.setValue(0); connect(&_importButton, SIGNAL(pressed()), SLOT(import())); connect(&_previewBox, SIGNAL(toggled(bool)), SIGNAL(previewToggled(bool))); connect(&_previewBox, SIGNAL(toggled(bool)), SLOT(preview(bool))); connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString))); connect(&_glTimer, SIGNAL(timeout()), SLOT(timer())); }
bool MainWindow::saveNewFile() { QString fileName = QFileDialog::getSaveFileName(this, tr("Save as"), QString(), QString("*.vis")); if (fileName.isEmpty()) return false; if (!fileName.endsWith(".vis")) fileName += ".vis"; m_currentFile = fileName; return saveCurrentFile(); }
ImportDialog::ImportDialog(QWidget* parent) : QFileDialog(parent, WINDOW_NAME, DOWNLOAD_LOCATION, NULL), _progressBar(this), _importButton(IMPORT_BUTTON_NAME, this), _cancelButton(CANCEL_BUTTON_NAME, this), _mode(importMode) { setOption(QFileDialog::DontUseNativeDialog, true); setFileMode(QFileDialog::ExistingFile); setViewMode(QFileDialog::Detail); setImportTypes(); setLayout(); _progressBar.setRange(0, 100); connect(&_importButton, SIGNAL(pressed()), SLOT(accept())); connect(&_cancelButton, SIGNAL(pressed()), SIGNAL(canceled())); connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString))); }
bool MainWindow::handleUnsavedChanges() { switch (QMessageBox::question(this, tr("Unsaved changes"), tr("Save changes to file?"), QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel)) { case QMessageBox::Yes: if (!m_currentFile.isEmpty()) return saveCurrentFile(); else return saveNewFile(); case QMessageBox::No: return true; case QMessageBox::Cancel: return false; default: assert(0); } }
void MainWindow::slotSaveCurrentFile() { saveCurrentFile(); }