author | zautrix <zautrix> | 2005-06-18 18:03:50 (UTC) |
---|---|---|
committer | zautrix <zautrix> | 2005-06-18 18:03:50 (UTC) |
commit | 3d86c369e8b48b340e4093b034f1347defea876b (patch) (unidiff) | |
tree | 50becb886d75770ce35108f4f97837b6b9d5664f | |
parent | 45c93de5a458e7ca0c293eebe504a9d949cc045c (diff) | |
download | kdepimpi-3d86c369e8b48b340e4093b034f1347defea876b.zip kdepimpi-3d86c369e8b48b340e4093b034f1347defea876b.tar.gz kdepimpi-3d86c369e8b48b340e4093b034f1347defea876b.tar.bz2 |
file dialog fixes
-rw-r--r-- | microkde/ofileselector_p.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/microkde/ofileselector_p.cpp b/microkde/ofileselector_p.cpp index e2af32b..488dee2 100644 --- a/microkde/ofileselector_p.cpp +++ b/microkde/ofileselector_p.cpp | |||
@@ -112,106 +112,107 @@ void ODocumentFileView::reread() { | |||
112 | if (!m_selector) | 112 | if (!m_selector) |
113 | return; | 113 | return; |
114 | 114 | ||
115 | m_selector->setNewVisible( showNew() ); | 115 | m_selector->setNewVisible( showNew() ); |
116 | m_selector->setCloseVisible( showClose() ); | 116 | m_selector->setCloseVisible( showClose() ); |
117 | m_selector->filter = currentMimeType().join(";"); | 117 | m_selector->filter = currentMimeType().join(";"); |
118 | m_selector->reread(); | 118 | m_selector->reread(); |
119 | } | 119 | } |
120 | int ODocumentFileView::fileCount()const { | 120 | int ODocumentFileView::fileCount()const { |
121 | if (!m_selector) | 121 | if (!m_selector) |
122 | return -1; | 122 | return -1; |
123 | 123 | ||
124 | return m_selector->fileCount(); | 124 | return m_selector->fileCount(); |
125 | } | 125 | } |
126 | 126 | ||
127 | DocLnk ODocumentFileView::selectedDocument()const { | 127 | DocLnk ODocumentFileView::selectedDocument()const { |
128 | if (!m_selector) | 128 | if (!m_selector) |
129 | return DocLnk(); | 129 | return DocLnk(); |
130 | DocLnk lnk = *m_selector->selected(); | 130 | DocLnk lnk = *m_selector->selected(); |
131 | return lnk; | 131 | return lnk; |
132 | } | 132 | } |
133 | 133 | ||
134 | QWidget* ODocumentFileView::widget( QWidget* parent ) { | 134 | QWidget* ODocumentFileView::widget( QWidget* parent ) { |
135 | if (!m_selector ) { | 135 | if (!m_selector ) { |
136 | m_selector = new FileSelector(currentMimeType().join(";"), parent, "fileselector", showNew(), showClose() ); | 136 | m_selector = new FileSelector(currentMimeType().join(";"), parent, "fileselector", showNew(), showClose() ); |
137 | QObject::connect(m_selector, SIGNAL(fileSelected( const DocLnk& ) ), | 137 | QObject::connect(m_selector, SIGNAL(fileSelected( const DocLnk& ) ), |
138 | selector(), SLOT(slotDocLnkBridge(const DocLnk&) ) ); | 138 | selector(), SLOT(slotDocLnkBridge(const DocLnk&) ) ); |
139 | QObject::connect(m_selector, SIGNAL(closeMe() ), | 139 | QObject::connect(m_selector, SIGNAL(closeMe() ), |
140 | selector(), SIGNAL(closeMe() ) ); | 140 | selector(), SIGNAL(closeMe() ) ); |
141 | QObject::connect(m_selector, SIGNAL(newSelected(const DocLnk& ) ), | 141 | QObject::connect(m_selector, SIGNAL(newSelected(const DocLnk& ) ), |
142 | selector(), SIGNAL(newSelected(const DocLnk& ) ) ); | 142 | selector(), SIGNAL(newSelected(const DocLnk& ) ) ); |
143 | } | 143 | } |
144 | 144 | ||
145 | return m_selector; | 145 | return m_selector; |
146 | } | 146 | } |
147 | 147 | ||
148 | /* | 148 | /* |
149 | * This is the file system view used | 149 | * This is the file system view used |
150 | * we use a QListView + QListViewItems for it | 150 | * we use a QListView + QListViewItems for it |
151 | */ | 151 | */ |
152 | 152 | ||
153 | OFileSelectorItem::OFileSelectorItem( QListView* view, const QPixmap& pixmap, | 153 | OFileSelectorItem::OFileSelectorItem( QListView* view, const QPixmap& pixmap, |
154 | const QString& path, const QString& date, | 154 | const QString& path, const QString& date, |
155 | const QString& size, const QString& dir, | 155 | const QString& size, const QString& dir, |
156 | bool isLocked, bool isDir ) | 156 | bool isLocked, bool isDir ) |
157 | : QListViewItem( view ) | 157 | : QListViewItem( view ) |
158 | { | 158 | { |
159 | 159 | ||
160 | QString kind; | 160 | QString kind = "dir";; |
161 | QString _path = path; | 161 | QString _path = path; |
162 | if ( isDir ) | 162 | if ( !isDir ){ |
163 | kind = "dir"; | 163 | int arrow = path.findRev( "." ,-1); |
164 | else | 164 | if (arrow > 0 ) { |
165 | kind = "file"; | 165 | kind = path.mid(arrow+1); |
166 | } | ||
167 | } | ||
166 | setPixmap(0, pixmap ); | 168 | setPixmap(0, pixmap ); |
167 | int arrow = path.find( "->" ); | 169 | int arrow = path.find( "->" ); |
168 | if (arrow > 0 ) { | 170 | if (arrow > 0 ) { |
169 | kind += path.mid( arrow ); | ||
170 | _path = path.left(arrow); | 171 | _path = path.left(arrow); |
171 | } | 172 | } |
172 | setText(1, _path ); | 173 | setText(1, _path ); |
173 | setText(2, size ); | 174 | setText(2, size ); |
174 | setText(3, date ); | 175 | setText(3, date ); |
175 | setText(4, kind ); | 176 | setText(4, kind ); |
176 | m_isDir = isDir; | 177 | m_isDir = isDir; |
177 | m_dir = dir; | 178 | m_dir = dir; |
178 | m_locked = isLocked; | 179 | m_locked = isLocked; |
179 | } | 180 | } |
180 | OFileSelectorItem::~OFileSelectorItem() { | 181 | OFileSelectorItem::~OFileSelectorItem() { |
181 | 182 | ||
182 | } | 183 | } |
183 | bool OFileSelectorItem::isLocked()const { | 184 | bool OFileSelectorItem::isLocked()const { |
184 | return m_locked; | 185 | return m_locked; |
185 | } | 186 | } |
186 | QString OFileSelectorItem::directory()const { | 187 | QString OFileSelectorItem::directory()const { |
187 | return m_dir; | 188 | return m_dir; |
188 | } | 189 | } |
189 | bool OFileSelectorItem::isDir()const { | 190 | bool OFileSelectorItem::isDir()const { |
190 | return m_isDir; | 191 | return m_isDir; |
191 | } | 192 | } |
192 | QString OFileSelectorItem::path()const { | 193 | QString OFileSelectorItem::path()const { |
193 | return text( 1 ); | 194 | return text( 1 ); |
194 | } | 195 | } |
195 | QString OFileSelectorItem::key( int id, bool )const { | 196 | QString OFileSelectorItem::key( int id, bool )const { |
196 | QString ke; | 197 | QString ke; |
197 | if( id == 0 || id == 1 ){ // name | 198 | if( id == 0 || id == 1 ){ // name |
198 | if( m_isDir ){ | 199 | if( m_isDir ){ |
199 | ke.append("0" ); | 200 | ke.append("0" ); |
200 | ke.append( text(1) ); | 201 | ke.append( text(1) ); |
201 | }else{ | 202 | }else{ |
202 | ke.append("1" ); | 203 | ke.append("1" ); |
203 | ke.append( text(1) ); | 204 | ke.append( text(1) ); |
204 | } | 205 | } |
205 | return ke; | 206 | return ke; |
206 | } else if ( id == 2 ) { | 207 | } else if ( id == 2 ) { |
207 | QString sort = "00000000"; | 208 | QString sort = "00000000"; |
208 | sort = sort.left( 9-text( 2 ).length()) + text( 2 ); | 209 | sort = sort.left( 9-text( 2 ).length()) + text( 2 ); |
209 | return sort; | 210 | return sort; |
210 | 211 | ||
211 | } else | 212 | } else |
212 | return text( id ); | 213 | return text( id ); |
213 | 214 | ||
214 | } | 215 | } |
215 | 216 | ||
216 | OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& startDir, | 217 | OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& startDir, |
217 | OFileSelector* sel) | 218 | OFileSelector* sel) |
@@ -246,99 +247,99 @@ OFileViewFileListView::OFileViewFileListView( QWidget* parent, const QString& st | |||
246 | 247 | ||
247 | btn = new QToolButton( box ); | 248 | btn = new QToolButton( box ); |
248 | btn->setIconSet( Resource::loadPixmap("DocsIcon") ); | 249 | btn->setIconSet( Resource::loadPixmap("DocsIcon") ); |
249 | connect(btn, SIGNAL(clicked() ), | 250 | connect(btn, SIGNAL(clicked() ), |
250 | this, SLOT(cdDoc() ) ); | 251 | this, SLOT(cdDoc() ) ); |
251 | 252 | ||
252 | m_btnNew = new QToolButton( box ); | 253 | m_btnNew = new QToolButton( box ); |
253 | m_btnNew->setIconSet( Resource::loadPixmap("new") ); | 254 | m_btnNew->setIconSet( Resource::loadPixmap("new") ); |
254 | connect(m_btnNew, SIGNAL(clicked() ), | 255 | connect(m_btnNew, SIGNAL(clicked() ), |
255 | this, SLOT(slotNew() ) ); | 256 | this, SLOT(slotNew() ) ); |
256 | 257 | ||
257 | 258 | ||
258 | m_btnClose = new QToolButton( box ); | 259 | m_btnClose = new QToolButton( box ); |
259 | m_btnClose->setIconSet( Resource::loadPixmap("close") ); | 260 | m_btnClose->setIconSet( Resource::loadPixmap("close") ); |
260 | connect(m_btnClose, SIGNAL(clicked() ), | 261 | connect(m_btnClose, SIGNAL(clicked() ), |
261 | selector(), SIGNAL(closeMe() ) ); | 262 | selector(), SIGNAL(closeMe() ) ); |
262 | 263 | ||
263 | btn = new QToolButton( box ); | 264 | btn = new QToolButton( box ); |
264 | btn->setIconSet( Resource::loadPixmap("cardmon/pcmcia") ); | 265 | btn->setIconSet( Resource::loadPixmap("cardmon/pcmcia") ); |
265 | 266 | ||
266 | /* let's fill device parts */ | 267 | /* let's fill device parts */ |
267 | QPopupMenu* pop = new QPopupMenu(this); | 268 | QPopupMenu* pop = new QPopupMenu(this); |
268 | connect(pop, SIGNAL( activated(int) ), | 269 | connect(pop, SIGNAL( activated(int) ), |
269 | this, SLOT(slotFSActivated(int) ) ); | 270 | this, SLOT(slotFSActivated(int) ) ); |
270 | 271 | ||
271 | StorageInfo storage; | 272 | StorageInfo storage; |
272 | const QList<FileSystem> &fs = storage.fileSystems(); | 273 | const QList<FileSystem> &fs = storage.fileSystems(); |
273 | QListIterator<FileSystem> it(fs); | 274 | QListIterator<FileSystem> it(fs); |
274 | for ( ; it.current(); ++it ) { | 275 | for ( ; it.current(); ++it ) { |
275 | const QString disk = (*it)->name(); | 276 | const QString disk = (*it)->name(); |
276 | const QString path = (*it)->path(); | 277 | const QString path = (*it)->path(); |
277 | m_dev.insert( disk, path ); | 278 | m_dev.insert( disk, path ); |
278 | pop->insertItem( disk ); | 279 | pop->insertItem( disk ); |
279 | } | 280 | } |
280 | m_fsPop = pop; | 281 | m_fsPop = pop; |
281 | 282 | ||
282 | 283 | ||
283 | btn->setPopup( pop ); | 284 | btn->setPopup( pop ); |
284 | btn->setPopupDelay ( 0 ); | 285 | btn->setPopupDelay ( 0 ); |
285 | lay->addWidget( box ); | 286 | lay->addWidget( box ); |
286 | 287 | ||
287 | m_view = new QListView( this ); | 288 | m_view = new QListView( this ); |
288 | 289 | ||
289 | m_view->installEventFilter(this); | 290 | m_view->installEventFilter(this); |
290 | 291 | ||
291 | QPEApplication::setStylusOperation( m_view->viewport(), | 292 | QPEApplication::setStylusOperation( m_view->viewport(), |
292 | QPEApplication::RightOnHold); | 293 | QPEApplication::RightOnHold); |
293 | m_view->addColumn(" " ); | 294 | m_view->addColumn(" " ); |
294 | m_view->addColumn(i18n("Name"), 135 ); | 295 | m_view->addColumn(i18n("Name"), 150 ); |
295 | m_view->addColumn(i18n("Size"), -1 ); | 296 | m_view->addColumn(i18n("Size"), -1 ); |
296 | m_view->addColumn(i18n("Date"), 60 ); | 297 | m_view->addColumn(i18n("Date"), -1 ); |
297 | m_view->addColumn(i18n("Mime Type"), -1 ); | 298 | m_view->addColumn(i18n("Mime Type"), -1 ); |
298 | 299 | ||
299 | 300 | ||
300 | m_view->setSorting( 1 ); | 301 | m_view->setSorting( 1 ); |
301 | m_view->setAllColumnsShowFocus( TRUE ); | 302 | m_view->setAllColumnsShowFocus( TRUE ); |
302 | 303 | ||
303 | lay->addWidget( m_view, 1000 ); | 304 | lay->addWidget( m_view, 1000 ); |
304 | connectSlots(); | 305 | connectSlots(); |
305 | } | 306 | } |
306 | OFileViewFileListView::~OFileViewFileListView() { | 307 | OFileViewFileListView::~OFileViewFileListView() { |
307 | } | 308 | } |
308 | void OFileViewFileListView::slotNew() { | 309 | void OFileViewFileListView::slotNew() { |
309 | DocLnk lnk; | 310 | DocLnk lnk; |
310 | emit selector()->newSelected( lnk ); | 311 | emit selector()->newSelected( lnk ); |
311 | } | 312 | } |
312 | OFileSelectorItem* OFileViewFileListView::currentItem()const{ | 313 | OFileSelectorItem* OFileViewFileListView::currentItem()const{ |
313 | QListViewItem* item = m_view->currentItem(); | 314 | QListViewItem* item = m_view->currentItem(); |
314 | if (!item ) | 315 | if (!item ) |
315 | return 0l; | 316 | return 0l; |
316 | 317 | ||
317 | return static_cast<OFileSelectorItem*>(item); | 318 | return static_cast<OFileSelectorItem*>(item); |
318 | } | 319 | } |
319 | void OFileViewFileListView::reread( bool all ) { | 320 | void OFileViewFileListView::reread( bool all ) { |
320 | m_view->clear(); | 321 | m_view->clear(); |
321 | 322 | ||
322 | if (selector()->showClose() ) | 323 | if (selector()->showClose() ) |
323 | m_btnClose->show(); | 324 | m_btnClose->show(); |
324 | else | 325 | else |
325 | m_btnClose->hide(); | 326 | m_btnClose->hide(); |
326 | 327 | ||
327 | if (selector()->showNew() ) | 328 | if (selector()->showNew() ) |
328 | m_btnNew->show(); | 329 | m_btnNew->show(); |
329 | else | 330 | else |
330 | m_btnNew->hide(); | 331 | m_btnNew->hide(); |
331 | 332 | ||
332 | m_mimes = selector()->currentMimeType(); | 333 | m_mimes = selector()->currentMimeType(); |
333 | m_all = all; | 334 | m_all = all; |
334 | 335 | ||
335 | QDir dir( m_currentDir ); | 336 | QDir dir( m_currentDir ); |
336 | if (!dir.exists() ) | 337 | if (!dir.exists() ) |
337 | return; | 338 | return; |
338 | topLevelWidget()->setCaption( dir.path() ); | 339 | topLevelWidget()->setCaption( dir.path() ); |
339 | dir.setSorting( QDir::Name | QDir::DirsFirst | QDir::Reversed ); | 340 | dir.setSorting( QDir::Name | QDir::DirsFirst | QDir::Reversed ); |
340 | int filter; | 341 | int filter; |
341 | if (m_all ) | 342 | if (m_all ) |
342 | filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All; | 343 | filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All; |
343 | else | 344 | else |
344 | filter = QDir::Files | QDir::Dirs | QDir::All; | 345 | filter = QDir::Files | QDir::Dirs | QDir::All; |