-rw-r--r-- | microkde/kio/kfile/kurlrequester.cpp | 5 | ||||
-rw-r--r-- | microkde/kio/kfile/kurlrequester.h | 2 |
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 | |||
@@ -208,13 +208,13 @@ KURLRequester::~KURLRequester() | |||
208 | 208 | ||
209 | 209 | ||
210 | void KURLRequester::init() | 210 | void KURLRequester::init() |
211 | { | 211 | { |
212 | myFileDialog = 0L; | 212 | myFileDialog = 0L; |
213 | myShowLocalProt = false; | 213 | myShowLocalProt = false; |
214 | 214 | mPathIsDir = false; | |
215 | if (/*US !d->combo && */ !d->edit ) | 215 | if (/*US !d->combo && */ !d->edit ) |
216 | d->edit = new KLineEdit( this, "KURLRequester::KLineEdit" ); | 216 | d->edit = new KLineEdit( this, "KURLRequester::KLineEdit" ); |
217 | 217 | ||
218 | myButton = new KURLDragPushButton( this, "kfile button"); | 218 | myButton = new KURLDragPushButton( this, "kfile button"); |
219 | QIconSet iconSet = SmallIconSet("fileopen"); | 219 | QIconSet iconSet = SmallIconSet("fileopen"); |
220 | QPixmap pixMap = iconSet.pixmap( QIconSet::Small, QIconSet::Normal ); | 220 | QPixmap pixMap = iconSet.pixmap( QIconSet::Small, QIconSet::Normal ); |
@@ -269,12 +269,15 @@ void KURLRequester::slotOpenDialog() | |||
269 | emit openFileDialog( this ); | 269 | emit openFileDialog( this ); |
270 | 270 | ||
271 | //US use our special KFIleDialog instead | 271 | //US use our special KFIleDialog instead |
272 | KURL u( url() ); | 272 | KURL u( url() ); |
273 | //QString fn = u.url(); | 273 | //QString fn = u.url(); |
274 | QString fn = d->edit->text(); | 274 | QString fn = d->edit->text(); |
275 | if ( mPathIsDir ) | ||
276 | fn = KFileDialog::getExistingDirectory ( fn, "", this ); | ||
277 | else | ||
275 | fn = KFileDialog::getSaveFileName( fn, "", this ); | 278 | fn = KFileDialog::getSaveFileName( fn, "", this ); |
276 | 279 | ||
277 | if ( fn == "" ) | 280 | if ( fn == "" ) |
278 | return; | 281 | return; |
279 | 282 | ||
280 | setURL( fn ); | 283 | setURL( 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 | |||
@@ -102,12 +102,13 @@ public: | |||
102 | * Sets the mode of the file dialog. | 102 | * Sets the mode of the file dialog. |
103 | * Note: you can only select one file with the filedialog, | 103 | * Note: you can only select one file with the filedialog, |
104 | * so KFile::Files doesn't make much sense. | 104 | * so KFile::Files doesn't make much sense. |
105 | * @see KFileDialog::setMode() | 105 | * @see KFileDialog::setMode() |
106 | */ | 106 | */ |
107 | void setMode( unsigned int m ); | 107 | void setMode( unsigned int m ); |
108 | void setPathIsDir( ) {mPathIsDir = true;} | ||
108 | 109 | ||
109 | /** | 110 | /** |
110 | * Sets the filter for the file dialog. | 111 | * Sets the filter for the file dialog. |
111 | * @see KFileDialog::setFilter() | 112 | * @see KFileDialog::setFilter() |
112 | */ | 113 | */ |
113 | void setFilter( const QString& filter ); | 114 | void setFilter( const QString& filter ); |
@@ -231,12 +232,13 @@ protected: | |||
231 | 232 | ||
232 | 233 | ||
233 | private: | 234 | private: |
234 | KURLDragPushButton * myButton; | 235 | KURLDragPushButton * myButton; |
235 | bool myShowLocalProt; | 236 | bool myShowLocalProt; |
236 | mutable KFileDialog * myFileDialog; | 237 | mutable KFileDialog * myFileDialog; |
238 | bool mPathIsDir; | ||
237 | 239 | ||
238 | 240 | ||
239 | protected slots: | 241 | protected slots: |
240 | /** | 242 | /** |
241 | * Called when the button is pressed to open the filedialog. | 243 | * Called when the button is pressed to open the filedialog. |
242 | * Also called when @ref KStdAccel::Open (default is Ctrl-O) is pressed. | 244 | * Also called when @ref KStdAccel::Open (default is Ctrl-O) is pressed. |