void KexiImageContextMenu::saveAs() { QString origFilename, fileExtension; bool dataIsEmpty = false; emit aboutToSaveAsRequested(origFilename, fileExtension, dataIsEmpty); if (dataIsEmpty) { kdWarning() << "KexiImageContextMenu::saveAs(): no data!" << endl; return; } if (!origFilename.isEmpty()) origFilename = QString("/") + origFilename; if (fileExtension.isEmpty()) { // PNG data is the default fileExtension = "png"; } #ifdef Q_WS_WIN QString recentDir; QString fileName = QFileDialog::getSaveFileName( KFileDialog::getStartURL(":LastVisitedImagePath", recentDir).path() + origFilename, convertKFileDialogFilterToQFileDialogFilter(KImageIO::pattern(KImageIO::Writing)), this, 0, i18n("Save Image to File")); #else //! @todo add originalFileName! (requires access to KRecentDirs) QString fileName = KFileDialog::getSaveFileName( ":LastVisitedImagePath", KImageIO::pattern(KImageIO::Writing), this, i18n("Save Image to File")); #endif if (fileName.isEmpty()) return; if (QFileInfo(fileName).extension().isEmpty()) fileName += (QString(".")+fileExtension); kdDebug() << fileName << endl; KURL url; url.setPath( fileName ); #ifdef Q_WS_WIN //save last visited path if (url.isLocalFile()) KRecentDirs::add(":LastVisitedImagePath", url.directory()); #endif QFile f(fileName); if (f.exists() && KMessageBox::Yes != KMessageBox::warningYesNo(this, "<qt>"+i18n("File \"%1\" already exists." "<p>Do you want to replace it with a new one?") .arg(QDir::convertSeparators(fileName))+"</qt>",0, KGuiItem(i18n("&Replace")), KGuiItem(i18n("&Don't Replace")))) { return; } //! @todo use KURL? emit saveAsRequested(fileName); }
void KexiImageContextMenu::insertFromFile() { // QWidget *focusWidget = qApp->focusWidget(); #ifdef Q_WS_WIN QString recentDir; QString fileName = QFileDialog::getOpenFileName( KFileDialog::getStartURL(":LastVisitedImagePath", recentDir).path(), convertKFileDialogFilterToQFileDialogFilter(KImageIO::pattern(KImageIO::Reading)), this, 0, i18n("Insert Image From File")); KURL url; if (!fileName.isEmpty()) url.setPath( fileName ); #else KURL url( KFileDialog::getImageOpenURL( ":LastVisitedImagePath", this, i18n("Insert Image From File")) ); // QString fileName = url.isLocalFile() ? url.path() : url.prettyURL(); //! @todo download the file if remote, then set fileName properly #endif if (!url.isValid()) { //focus the app again because to avoid annoying the user with unfocused main window if (qApp->mainWidget()) { //focusWidget->raise(); //focusWidget->setFocus(); qApp->mainWidget()->raise(); } return; } kexipluginsdbg << "fname=" << url.prettyURL() << endl; #ifdef Q_WS_WIN //save last visited path // KURL url(fileName); if (url.isLocalFile()) KRecentDirs::add(":LastVisitedImagePath", url.directory()); #endif emit insertFromFileRequested(url); if (qApp->mainWidget()) { // focusWidget->raise(); // focusWidget->setFocus(); qApp->mainWidget()->raise(); } }
void KexiStartupFileDialogBase::setFilter(const QString& filter) { d->kde_filters = filter; int pos = d->kde_filters.find('/'); // Check for an un-escaped '/', if found // interpret as a MIME filter. if (pos > 0 && filter[pos - 1] != '\\') { QStringList filters = d->kde_filters.split(" "); setMimeFilter(filters); return; } Q3FileDialog::setFilters(convertKFileDialogFilterToQFileDialogFilter(filter)); //</js> //(js) ops->clearFilter(); //(js) filterWidget->setFilter(copy); //(js) ops->setNameFilter(filterWidget->currentFilter()); //(js) d->hasDefaultFilter = false; //(js) filterWidget->setEditable( true ); updateAutoSelectExtension(); }