-rw-r--r-- | libopie2/opieui/fileselector/ofiledialog.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/libopie2/opieui/fileselector/ofiledialog.cpp b/libopie2/opieui/fileselector/ofiledialog.cpp index 65648ce..92d4271 100644 --- a/libopie2/opieui/fileselector/ofiledialog.cpp +++ b/libopie2/opieui/fileselector/ofiledialog.cpp @@ -133,117 +133,126 @@ QString OFileDialog::fileName()const return file->selectedName(); } /** * return a DocLnk to the current file */ DocLnk OFileDialog::selectedDocument()const { return file->selectedDocument(); } /** * This opens up a filedialog in Open mode * * @param selector the Selector Mode * @param startDir Where to start from * @param file A proposed filename * @param mimes A list of MimeTypes * @param wid the parent * @param caption of the dialog if QString::null tr("Open") will be used * @return the fileName or QString::null */ QString OFileDialog::getOpenFileName(int selector, const QString &_startDir, const QString &file, const MimeTypes &mimes, QWidget *wid, const QString &caption ) { QString ret; QString startDir = _startDir; if (startDir.isEmpty() ) startDir = lastUsedDir( "FileDialog-OPEN" ); OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption, wid, OFileSelector::Open, selector, startDir, file, mimes); if( QPEApplication::execDialog(&dlg ) ) { ret = dlg.fileName(); saveLastDir( "FileDialog-OPEN", ret ); } return ret; } /** * This opens up a file dialog in save mode * @see getOpenFileName */ QString OFileDialog::getSaveFileName(int selector, const QString &_startDir, const QString &file, const MimeTypes &mimes, QWidget *wid, const QString &caption ) { QString ret; QString startDir = _startDir; if (startDir.isEmpty() ) startDir = lastUsedDir( "FileDialog-SAVE" ); OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption, wid, OFileSelector::Save, selector, startDir, file, mimes); + + /* + * For the save mode we do not want a file to be written + * if the user just clicked on it + * #1522 + */ + dlg.disconnect( dlg.file, SIGNAL(fileSelected(const QString&)) ); + dlg.disconnect( dlg.file, SIGNAL(ok()) ); + if( QPEApplication::execDialog(&dlg) ) { ret = dlg.fileName(); saveLastDir( "FileDialog-SAVE", ret ); } return ret; } /** * This opens up a filedialog in select directory mode * * @param selector the Selector Mode * @param startDir Where to start from * @param wid the parent * @param caption of the dialog if QString::null tr("Open") will be used * @return the directoryName or QString::null */ QString OFileDialog::getDirectory(int selector, const QString &_startDir, QWidget *wid, const QString &caption ) { QString ret; QString startDir = _startDir; if ( startDir.isEmpty() ) startDir = lastUsedDir( "FileDialog-SELECTDIR" ); OFileDialog dlg( caption.isEmpty() ? tr( "Select Directory" ) : caption, wid, OFileSelector::DirectorySelector, selector, startDir ); if ( QPEApplication::execDialog(&dlg) ) { ret = dlg.fileName(); saveLastDir( "FileDialog-SELECTDIR", ret ); } return ret; } void OFileDialog::slotFileSelected(const QString & ) { accept(); } void OFileDialog::slotSelectorOk( ) { accept(); } void OFileDialog::slotDirSelected(const QString &dir ) { setCaption( dir ); } |