KexiFileWidget::~KexiFileWidget() { kDebug() << d->recentDirClass; if (!d->recentDirClass.isEmpty()) { QString hf = highlightedFile(); KUrl dir; if (hf.isEmpty()) { dir = baseUrl(); } else { QFileInfo fi(hf); QString dirStr = fi.isDir() ? fi.absoluteFilePath() : fi.dir().absolutePath(); dir = KUrl::fromPath(dirStr); } kDebug() << dir; kDebug() << highlightedFile(); if (!dir.isEmpty()) KRecentDirs::add(d->recentDirClass, dir.url()); } delete d; }
KexiFileWidget::~KexiFileWidget() { kDebug() << d->recentDirClass; if (!d->recentDirClass.isEmpty()) { QString hf = highlightedFile(); KUrl dir; if (hf.isEmpty()) { dir = baseUrl(); } else { QFileInfo fi(hf); QString dirStr = fi.isDir() ? fi.absoluteFilePath() : fi.dir().absolutePath(); dir = KUrl::fromPath(dirStr); } kDebug() << dir; kDebug() << highlightedFile(); if (!dir.isEmpty()) KRecentDirs::add(d->recentDirClass, dir.url()); } delete d; //Qt4 #ifdef Q_WS_WIN // saveLastVisitedPath(currentFileName()); //#endif }
bool KexiFileWidget::checkSelectedFile() { kDebug() << "d->highlightedUrl: " << d->highlightedUrl; if (!locationEdit()->lineEdit()->text().isEmpty()) { kDebug() << locationEdit()->lineEdit()->text(); //kDebug() << locationEdit()->urls(); kDebug() << baseUrl(); d->highlightedUrl = baseUrl(); const QString firstUrl(locationEdit()->lineEdit()->text()); // FIXME: find first... if (QDir::isAbsolutePath(firstUrl)) d->highlightedUrl = KUrl::fromPath(firstUrl); else d->highlightedUrl.addPath(firstUrl); } kDebug() << "d->highlightedUrl: " << d->highlightedUrl; if (d->highlightedUrl.isEmpty()) { KMessageBox::error(this, i18n("Enter a filename.")); return false; } if (!currentFilter().isEmpty()) { if (d->mode & SavingFileBasedDB) { const QStringList filters( currentFilter().split(' ') ); QString path = highlightedFile(); kDebug()<< "filter:" << filters << "path:" << path; QString ext( QFileInfo(path).suffix() ); bool hasExtension = false; foreach (const QString& filter, filters) { const QString f( filter.trimmed() ); hasExtension = !f.mid(2).isEmpty() && ext==f.mid(2); if (hasExtension) break; } if (!hasExtension) { //no extension: add one QString defaultExtension( d->defaultExtension ); if (defaultExtension.isEmpty()) { defaultExtension = filters.first().trimmed().mid(2); //first one } path += (QLatin1String(".")+defaultExtension); kDebug() << "appended extension" << path; setSelection( path ); d->highlightedUrl = KUrl(path); } } } kDebug() << "KexiFileWidget::checkURL() path: " << d->highlightedUrl; // kDebug() << "KexiFileWidget::checkURL() fname: " << url.fileName(); //! @todo if ( url.isLocalFile() ) { QFileInfo fi(d->highlightedUrl.toLocalFile()); if (mode() & KFile::ExistingOnly) { if (!fi.exists()) { KMessageBox::error(this, "<qt>" + i18n("The file \"%1\" does not exist.", QDir::convertSeparators(d->highlightedUrl.toLocalFile()))); return false; } else if (mode() & KFile::File) { if (!fi.isFile()) { KMessageBox::error(this, "<qt>" + i18n("Enter a filename.")); return false; } else if (!fi.isReadable()) { KMessageBox::error(this, "<qt>" + i18n("The file \"%1\" is not readable.", QDir::convertSeparators(d->highlightedUrl.path()))); return false; } } } else if (d->confirmOverwrites && !askForOverwriting(d->highlightedUrl.path(), this)) { return false; } return true; }