summaryrefslogtreecommitdiff
authorzecke <zecke>2005-02-06 11:25:40 (UTC)
committer zecke <zecke>2005-02-06 11:25:40 (UTC)
commit27847dffc089bb8c89d09e7f9277c43c7590b8b8 (patch) (unidiff)
tree6a09299b5a2f1ddde4d33b9aaffa349e3a453d61
parent1b23cd056974e3c96cc1232259c113184084530e (diff)
downloadopie-27847dffc089bb8c89d09e7f9277c43c7590b8b8.zip
opie-27847dffc089bb8c89d09e7f9277c43c7590b8b8.tar.gz
opie-27847dffc089bb8c89d09e7f9277c43c7590b8b8.tar.bz2
For saving we do not want to use the file just selected. The user needs
to click ok when saving. This is a fix for #1522 as well
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
@@ -133,117 +133,126 @@ QString OFileDialog::fileName()const
133 return file->selectedName(); 133 return file->selectedName();
134} 134}
135 135
136/** 136/**
137 * return a DocLnk to the current file 137 * return a DocLnk to the current file
138 */ 138 */
139DocLnk OFileDialog::selectedDocument()const 139DocLnk OFileDialog::selectedDocument()const
140{ 140{
141 return file->selectedDocument(); 141 return file->selectedDocument();
142} 142}
143 143
144/** 144/**
145 * This opens up a filedialog in Open mode 145 * This opens up a filedialog in Open mode
146 * 146 *
147 * @param selector the Selector Mode 147 * @param selector the Selector Mode
148 * @param startDir Where to start from 148 * @param startDir Where to start from
149 * @param file A proposed filename 149 * @param file A proposed filename
150 * @param mimes A list of MimeTypes 150 * @param mimes A list of MimeTypes
151 * @param wid the parent 151 * @param wid the parent
152 * @param caption of the dialog if QString::null tr("Open") will be used 152 * @param caption of the dialog if QString::null tr("Open") will be used
153 * @return the fileName or QString::null 153 * @return the fileName or QString::null
154 */ 154 */
155QString OFileDialog::getOpenFileName(int selector, 155QString OFileDialog::getOpenFileName(int selector,
156 const QString &_startDir, 156 const QString &_startDir,
157 const QString &file, 157 const QString &file,
158 const MimeTypes &mimes, 158 const MimeTypes &mimes,
159 QWidget *wid, 159 QWidget *wid,
160 const QString &caption ) 160 const QString &caption )
161{ 161{
162 QString ret; 162 QString ret;
163 QString startDir = _startDir; 163 QString startDir = _startDir;
164 if (startDir.isEmpty() ) 164 if (startDir.isEmpty() )
165 startDir = lastUsedDir( "FileDialog-OPEN" ); 165 startDir = lastUsedDir( "FileDialog-OPEN" );
166 166
167 167
168 OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption, 168 OFileDialog dlg( caption.isEmpty() ? tr("Open") : caption,
169 wid, OFileSelector::Open, selector, startDir, file, mimes); 169 wid, OFileSelector::Open, selector, startDir, file, mimes);
170 if( QPEApplication::execDialog(&dlg ) ) 170 if( QPEApplication::execDialog(&dlg ) )
171 { 171 {
172 ret = dlg.fileName(); 172 ret = dlg.fileName();
173 saveLastDir( "FileDialog-OPEN", ret ); 173 saveLastDir( "FileDialog-OPEN", ret );
174 } 174 }
175 175
176 return ret; 176 return ret;
177} 177}
178 178
179/** 179/**
180 * This opens up a file dialog in save mode 180 * This opens up a file dialog in save mode
181 * @see getOpenFileName 181 * @see getOpenFileName
182 */ 182 */
183QString OFileDialog::getSaveFileName(int selector, 183QString OFileDialog::getSaveFileName(int selector,
184 const QString &_startDir, 184 const QString &_startDir,
185 const QString &file, 185 const QString &file,
186 const MimeTypes &mimes, 186 const MimeTypes &mimes,
187 QWidget *wid, 187 QWidget *wid,
188 const QString &caption ) 188 const QString &caption )
189{ 189{
190 QString ret; 190 QString ret;
191 QString startDir = _startDir; 191 QString startDir = _startDir;
192 if (startDir.isEmpty() ) 192 if (startDir.isEmpty() )
193 startDir = lastUsedDir( "FileDialog-SAVE" ); 193 startDir = lastUsedDir( "FileDialog-SAVE" );
194 194
195 OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption, 195 OFileDialog dlg( caption.isEmpty() ? tr("Save") : caption,
196 wid, OFileSelector::Save, selector, startDir, file, mimes); 196 wid, OFileSelector::Save, selector, startDir, file, mimes);
197
198 /*
199 * For the save mode we do not want a file to be written
200 * if the user just clicked on it
201 * #1522
202 */
203 dlg.disconnect( dlg.file, SIGNAL(fileSelected(const QString&)) );
204 dlg.disconnect( dlg.file, SIGNAL(ok()) );
205
197 if( QPEApplication::execDialog(&dlg) ) 206 if( QPEApplication::execDialog(&dlg) )
198 { 207 {
199 ret = dlg.fileName(); 208 ret = dlg.fileName();
200 saveLastDir( "FileDialog-SAVE", ret ); 209 saveLastDir( "FileDialog-SAVE", ret );
201 } 210 }
202 211
203 return ret; 212 return ret;
204} 213}
205 214
206/** 215/**
207 * This opens up a filedialog in select directory mode 216 * This opens up a filedialog in select directory mode
208 * 217 *
209 * @param selector the Selector Mode 218 * @param selector the Selector Mode
210 * @param startDir Where to start from 219 * @param startDir Where to start from
211 * @param wid the parent 220 * @param wid the parent
212 * @param caption of the dialog if QString::null tr("Open") will be used 221 * @param caption of the dialog if QString::null tr("Open") will be used
213 * @return the directoryName or QString::null 222 * @return the directoryName or QString::null
214 */ 223 */
215QString OFileDialog::getDirectory(int selector, 224QString OFileDialog::getDirectory(int selector,
216 const QString &_startDir, 225 const QString &_startDir,
217 QWidget *wid, 226 QWidget *wid,
218 const QString &caption ) 227 const QString &caption )
219{ 228{
220 QString ret; 229 QString ret;
221 QString startDir = _startDir; 230 QString startDir = _startDir;
222 if ( startDir.isEmpty() ) 231 if ( startDir.isEmpty() )
223 startDir = lastUsedDir( "FileDialog-SELECTDIR" ); 232 startDir = lastUsedDir( "FileDialog-SELECTDIR" );
224 233
225 OFileDialog dlg( caption.isEmpty() ? tr( "Select Directory" ) : caption, 234 OFileDialog dlg( caption.isEmpty() ? tr( "Select Directory" ) : caption,
226 wid, OFileSelector::DirectorySelector, selector, startDir ); 235 wid, OFileSelector::DirectorySelector, selector, startDir );
227 236
228 if ( QPEApplication::execDialog(&dlg) ) 237 if ( QPEApplication::execDialog(&dlg) )
229 { 238 {
230 ret = dlg.fileName(); 239 ret = dlg.fileName();
231 saveLastDir( "FileDialog-SELECTDIR", ret ); 240 saveLastDir( "FileDialog-SELECTDIR", ret );
232 } 241 }
233 return ret; 242 return ret;
234} 243}
235 244
236void OFileDialog::slotFileSelected(const QString & ) 245void OFileDialog::slotFileSelected(const QString & )
237{ 246{
238 accept(); 247 accept();
239} 248}
240 249
241void OFileDialog::slotSelectorOk( ) 250void OFileDialog::slotSelectorOk( )
242{ 251{
243 accept(); 252 accept();
244} 253}
245 254
246void OFileDialog::slotDirSelected(const QString &dir ) 255void OFileDialog::slotDirSelected(const QString &dir )
247{ 256{
248 setCaption( dir ); 257 setCaption( dir );
249} 258}