summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofiledialog.cpp9
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
@@ -173,48 +173,57 @@ QString OFileDialog::getOpenFileName(int selector,
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;