summaryrefslogtreecommitdiffabout
path: root/microkde/kio
Side-by-side diff
Diffstat (limited to 'microkde/kio') (more/less context) (show whitespace changes)
-rw-r--r--microkde/kio/kfile/kurlrequester.cpp5
-rw-r--r--microkde/kio/kfile/kurlrequester.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/microkde/kio/kfile/kurlrequester.cpp b/microkde/kio/kfile/kurlrequester.cpp
index 991c8be..ca94570 100644
--- a/microkde/kio/kfile/kurlrequester.cpp
+++ b/microkde/kio/kfile/kurlrequester.cpp
@@ -211,7 +211,7 @@ void KURLRequester::init()
{
myFileDialog = 0L;
myShowLocalProt = false;
-
+ mPathIsDir = false;
if (/*US !d->combo && */ !d->edit )
d->edit = new KLineEdit( this, "KURLRequester::KLineEdit" );
@@ -272,6 +272,9 @@ void KURLRequester::slotOpenDialog()
KURL u( url() );
//QString fn = u.url();
QString fn = d->edit->text();
+ if ( mPathIsDir )
+ fn = KFileDialog::getExistingDirectory ( fn, "", this );
+ else
fn = KFileDialog::getSaveFileName( fn, "", this );
if ( fn == "" )
diff --git a/microkde/kio/kfile/kurlrequester.h b/microkde/kio/kfile/kurlrequester.h
index 3253dd5..faa3326 100644
--- a/microkde/kio/kfile/kurlrequester.h
+++ b/microkde/kio/kfile/kurlrequester.h
@@ -105,6 +105,7 @@ public:
* @see KFileDialog::setMode()
*/
void setMode( unsigned int m );
+ void setPathIsDir( ) {mPathIsDir = true;}
/**
* Sets the filter for the file dialog.
@@ -234,6 +235,7 @@ private:
KURLDragPushButton * myButton;
bool myShowLocalProt;
mutable KFileDialog * myFileDialog;
+ bool mPathIsDir;
protected slots: