• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • tdeio/tdefile
 

tdeio/tdefile

  • tdeio
  • tdefile
tdefiledetailview.cpp
1/* This file is part of the KDE libraries
2 Copyright (C) 1997 Stephan Kulow <coolo@kde.org>
3 2000, 2001 Carsten Pfeiffer <pfeiffer@kde.org>
4
5 This library is free software; you can redistribute it and/or
6 modify it under the terms of the GNU Library General Public
7 License as published by the Free Software Foundation; either
8 version 2 of the License, or (at your option) any later version.
9
10 This library is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 Library General Public License for more details.
14
15 You should have received a copy of the GNU Library General Public License
16 along with this library; see the file COPYING.LIB. If not, write to
17 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.
19*/
20
21#include <tqevent.h>
22#include <tqkeycode.h>
23#include <tqheader.h>
24#include <tqpainter.h>
25#include <tqpixmap.h>
26
27#include <tdeapplication.h>
28#include <tdefileitem.h>
29#include <tdeglobal.h>
30#include <tdeglobalsettings.h>
31#include <kiconloader.h>
32#include <kicontheme.h>
33#include <tdelocale.h>
34#include <kdebug.h>
35#include <kurldrag.h>
36
37#include "tdefiledetailview.h"
38#include "config-tdefile.h"
39
40#define COL_NAME 0
41#define COL_SIZE 1
42#define COL_DATE 2
43#define COL_PERM 3
44#define COL_OWNER 4
45#define COL_GROUP 5
46
47class KFileDetailView::KFileDetailViewPrivate
48{
49public:
50 KFileDetailViewPrivate() : dropItem(0)
51 { }
52
53 KFileListViewItem *dropItem;
54 TQTimer autoOpenTimer;
55};
56
57KFileDetailView::KFileDetailView(TQWidget *parent, const char *name)
58 : TDEListView(parent, name), KFileView(), d(new KFileDetailViewPrivate())
59{
60 // this is always the static section, not the index depending on column order
61 m_sortingCol = COL_NAME;
62 m_blockSortingSignal = false;
63 setViewName( i18n("Detailed View") );
64
65 addColumn( i18n( "Name" ) );
66 addColumn( i18n( "Size" ) );
67 addColumn( i18n( "Date" ) );
68 addColumn( i18n( "Permissions" ) );
69 addColumn( i18n( "Owner" ) );
70 addColumn( i18n( "Group" ) );
71 setShowSortIndicator( true );
72 setAllColumnsShowFocus( true );
73 setDragEnabled(true);
74
75 connect( header(), TQ_SIGNAL( clicked(int)),
76 TQ_SLOT(slotSortingChanged(int) ));
77
78
79 connect( this, TQ_SIGNAL( returnPressed(TQListViewItem *) ),
80 TQ_SLOT( slotActivate( TQListViewItem *) ) );
81
82 connect( this, TQ_SIGNAL( clicked(TQListViewItem *, const TQPoint&, int)),
83 TQ_SLOT( selected( TQListViewItem *) ) );
84 connect( this, TQ_SIGNAL( doubleClicked(TQListViewItem *, const TQPoint&, int)),
85 TQ_SLOT( slotActivate( TQListViewItem *) ) );
86
87 connect( this, TQ_SIGNAL(contextMenuRequested( TQListViewItem *,
88 const TQPoint &, int )),
89 this, TQ_SLOT( slotActivateMenu( TQListViewItem *, const TQPoint& )));
90
91 KFile::SelectionMode sm = KFileView::selectionMode();
92 switch ( sm ) {
93 case KFile::Multi:
94 TQListView::setSelectionMode( TQListView::Multi );
95 break;
96 case KFile::Extended:
97 TQListView::setSelectionMode( TQListView::Extended );
98 break;
99 case KFile::NoSelection:
100 TQListView::setSelectionMode( TQListView::NoSelection );
101 break;
102 default: // fall through
103 case KFile::Single:
104 TQListView::setSelectionMode( TQListView::Single );
105 break;
106 }
107
108 // for highlighting
109 if ( sm == KFile::Multi || sm == KFile::Extended )
110 connect( this, TQ_SIGNAL( selectionChanged() ),
111 TQ_SLOT( slotSelectionChanged() ));
112 else
113 connect( this, TQ_SIGNAL( selectionChanged( TQListViewItem * ) ),
114 TQ_SLOT( highlighted( TQListViewItem * ) ));
115
116 // DND
117 connect( &(d->autoOpenTimer), TQ_SIGNAL( timeout() ),
118 this, TQ_SLOT( slotAutoOpen() ));
119
120 setSorting( sorting() );
121
122 m_resolver =
123 new KMimeTypeResolver<KFileListViewItem,KFileDetailView>( this );
124}
125
126KFileDetailView::~KFileDetailView()
127{
128 delete m_resolver;
129 delete d;
130}
131
132void KFileDetailView::readConfig( TDEConfig *config, const TQString& group )
133{
134 restoreLayout( config, group );
135}
136
137void KFileDetailView::writeConfig( TDEConfig *config, const TQString& group )
138{
139 saveLayout( config, group );
140}
141
142void KFileDetailView::setSelected( const KFileItem *info, bool enable )
143{
144 if ( !info )
145 return;
146
147 // we can only hope that this casts works
148 KFileListViewItem *item = (KFileListViewItem*)info->extraData( this );
149
150 if ( item )
151 TDEListView::setSelected( item, enable );
152}
153
154void KFileDetailView::setCurrentItem( const KFileItem *item )
155{
156 if ( !item )
157 return;
158 KFileListViewItem *it = (KFileListViewItem*) item->extraData( this );
159 if ( it )
160 TDEListView::setCurrentItem( it );
161}
162
163KFileItem * KFileDetailView::currentFileItem() const
164{
165 KFileListViewItem *current = static_cast<KFileListViewItem*>( currentItem() );
166 if ( current )
167 return current->fileInfo();
168
169 return 0L;
170}
171
172void KFileDetailView::clearSelection()
173{
174 TDEListView::clearSelection();
175}
176
177void KFileDetailView::selectAll()
178{
179 if (KFileView::selectionMode() == KFile::NoSelection ||
180 KFileView::selectionMode() == KFile::Single)
181 return;
182
183 TDEListView::selectAll( true );
184}
185
186void KFileDetailView::invertSelection()
187{
188 TDEListView::invertSelection();
189}
190
191void KFileDetailView::slotActivateMenu (TQListViewItem *item,const TQPoint& pos )
192{
193 if ( !item ) {
194 sig->activateMenu( 0, pos );
195 return;
196 }
197 KFileListViewItem *i = (KFileListViewItem*) item;
198 sig->activateMenu( i->fileInfo(), pos );
199}
200
201void KFileDetailView::clearView()
202{
203 m_resolver->m_lstPendingMimeIconItems.clear();
204 TDEListView::clear();
205}
206
207void KFileDetailView::insertItem( KFileItem *i )
208{
209 KFileView::insertItem( i );
210
211 KFileListViewItem *item = new KFileListViewItem( (TQListView*) this, i );
212
213 setSortingKey( item, i );
214
215 i->setExtraData( this, item );
216
217 if ( !i->isMimeTypeKnown() )
218 m_resolver->m_lstPendingMimeIconItems.append( item );
219}
220
221void KFileDetailView::slotActivate( TQListViewItem *item )
222{
223 if ( !item )
224 return;
225
226 const KFileItem *fi = ( (KFileListViewItem*)item )->fileInfo();
227 if ( fi )
228 sig->activate( fi );
229}
230
231void KFileDetailView::selected( TQListViewItem *item )
232{
233 if ( !item )
234 return;
235
236 if ( TDEGlobalSettings::singleClick() ) {
237 const KFileItem *fi = ( (KFileListViewItem*)item )->fileInfo();
238 if ( fi && (fi->isDir() || !onlyDoubleClickSelectsFiles()) )
239 sig->activate( fi );
240 }
241}
242
243void KFileDetailView::highlighted( TQListViewItem *item )
244{
245 if ( !item )
246 return;
247
248 const KFileItem *fi = ( (KFileListViewItem*)item )->fileInfo();
249 if ( fi )
250 sig->highlightFile( fi );
251}
252
253
254void KFileDetailView::setSelectionMode( KFile::SelectionMode sm )
255{
256 disconnect( this, TQ_SIGNAL( selectionChanged() ));
257 disconnect( this, TQ_SIGNAL( selectionChanged( TQListViewItem * ) ));
258
259 KFileView::setSelectionMode( sm );
260
261 switch ( KFileView::selectionMode() ) {
262 case KFile::Multi:
263 TQListView::setSelectionMode( TQListView::Multi );
264 break;
265 case KFile::Extended:
266 TQListView::setSelectionMode( TQListView::Extended );
267 break;
268 case KFile::NoSelection:
269 TQListView::setSelectionMode( TQListView::NoSelection );
270 break;
271 default: // fall through
272 case KFile::Single:
273 TQListView::setSelectionMode( TQListView::Single );
274 break;
275 }
276
277 if ( sm == KFile::Multi || sm == KFile::Extended )
278 connect( this, TQ_SIGNAL( selectionChanged() ),
279 TQ_SLOT( slotSelectionChanged() ));
280 else
281 connect( this, TQ_SIGNAL( selectionChanged( TQListViewItem * )),
282 TQ_SLOT( highlighted( TQListViewItem * )));
283}
284
285bool KFileDetailView::isSelected( const KFileItem *i ) const
286{
287 if ( !i )
288 return false;
289
290 KFileListViewItem *item = (KFileListViewItem*) i->extraData( this );
291 return (item && item->isSelected());
292}
293
294
295void KFileDetailView::updateView( bool b )
296{
297 if ( !b )
298 return;
299
300 TQListViewItemIterator it( (TQListView*)this );
301 for ( ; it.current(); ++it ) {
302 KFileListViewItem *item=static_cast<KFileListViewItem *>(it.current());
303 item->setPixmap( 0, item->fileInfo()->pixmap(TDEIcon::SizeSmall) );
304 }
305}
306
307void KFileDetailView::updateView( const KFileItem *i )
308{
309 if ( !i )
310 return;
311
312 KFileListViewItem *item = (KFileListViewItem*) i->extraData( this );
313 if ( !item )
314 return;
315
316 item->init();
317 setSortingKey( item, i );
318
319 //item->repaint(); // only repaints if visible
320}
321
322void KFileDetailView::setSortingKey( KFileListViewItem *item,
323 const KFileItem *i )
324{
325 // see also setSorting()
326 TQDir::SortSpec spec = KFileView::sorting();
327
328 if ( spec & TQDir::Time )
329 item->setKey( sortingKey( i->time( TDEIO::UDS_MODIFICATION_TIME ),
330 i->isDir(), spec ));
331 else if ( spec & TQDir::Size )
332 item->setKey( sortingKey( i->size(), i->isDir(), spec ));
333
334 else // Name or Unsorted
335 item->setKey( sortingKey( i->text(), i->isDir(), spec ));
336}
337
338
339void KFileDetailView::removeItem( const KFileItem *i )
340{
341 if ( !i )
342 return;
343
344 KFileListViewItem *item = (KFileListViewItem*) i->extraData( this );
345 m_resolver->m_lstPendingMimeIconItems.remove( item );
346 delete item;
347
348 KFileView::removeItem( i );
349}
350
351void KFileDetailView::slotSortingChanged( int col )
352{
353 // col is the section here, not the index!
354
355 TQDir::SortSpec sort = sorting();
356 int sortSpec = -1;
357 bool reversed = (col == m_sortingCol) && (sort & TQDir::Reversed) == 0;
358 m_sortingCol = col;
359
360 switch( col ) {
361 case COL_NAME:
362 sortSpec = ((sort & ~TQDir::SortByMask) | TQDir::Name);
363 break;
364 case COL_SIZE:
365 sortSpec = ((sort & ~TQDir::SortByMask) | TQDir::Size);
366 break;
367 case COL_DATE:
368 sortSpec = ((sort & ~TQDir::SortByMask) | TQDir::Time);
369 break;
370
371 // the following columns have no equivalent in TQDir, so we set it
372 // to TQDir::Unsorted and remember the column (m_sortingCol)
373 case COL_OWNER:
374 case COL_GROUP:
375 case COL_PERM:
376 // grmbl, TQDir::Unsorted == SortByMask.
377 sortSpec = (sort & ~TQDir::SortByMask);// | TQDir::Unsorted;
378 break;
379 default:
380 break;
381 }
382
383 if ( reversed )
384 sortSpec |= TQDir::Reversed;
385 else
386 sortSpec &= ~TQDir::Reversed;
387
388 if ( sort & TQDir::IgnoreCase )
389 sortSpec |= TQDir::IgnoreCase;
390 else
391 sortSpec &= ~TQDir::IgnoreCase;
392
393
394 KFileView::setSorting( static_cast<TQDir::SortSpec>( sortSpec ) );
395
396 KFileItem *item;
397 KFileItemListIterator it( *items() );
398
399 if ( sortSpec & TQDir::Time ) {
400 for ( ; (item = it.current()); ++it )
401 viewItem(item)->setKey( sortingKey( item->time( TDEIO::UDS_MODIFICATION_TIME ), item->isDir(), sortSpec ));
402 }
403
404 else if ( sortSpec & TQDir::Size ) {
405 for ( ; (item = it.current()); ++it )
406 viewItem(item)->setKey( sortingKey( item->size(), item->isDir(),
407 sortSpec ));
408 }
409 else { // Name or Unsorted -> use column text
410 for ( ; (item = it.current()); ++it ) {
411 KFileListViewItem *i = viewItem( item );
412 i->setKey( sortingKey( i->text(m_sortingCol), item->isDir(),
413 sortSpec ));
414 }
415 }
416
417 TDEListView::setSorting( m_sortingCol, !reversed );
418 TDEListView::sort();
419
420 if ( !m_blockSortingSignal )
421 sig->changeSorting( static_cast<TQDir::SortSpec>( sortSpec ) );
422}
423
424
425void KFileDetailView::setSorting( TQDir::SortSpec spec )
426{
427 int col = 0;
428 if ( spec & TQDir::Time )
429 col = COL_DATE;
430 else if ( spec & TQDir::Size )
431 col = COL_SIZE;
432 else if ( spec & TQDir::Unsorted )
433 col = m_sortingCol;
434 else
435 col = COL_NAME;
436
437 // inversed, because slotSortingChanged will reverse it
438 if ( spec & TQDir::Reversed )
439 spec = (TQDir::SortSpec) (spec & ~TQDir::Reversed);
440 else
441 spec = (TQDir::SortSpec) (spec | TQDir::Reversed);
442
443 m_sortingCol = col;
444 KFileView::setSorting( (TQDir::SortSpec) spec );
445
446
447 // don't emit sortingChanged() when called via setSorting()
448 m_blockSortingSignal = true; // can't use blockSignals()
449 slotSortingChanged( col );
450 m_blockSortingSignal = false;
451}
452
453void KFileDetailView::ensureItemVisible( const KFileItem *i )
454{
455 if ( !i )
456 return;
457
458 KFileListViewItem *item = (KFileListViewItem*) i->extraData( this );
459
460 if ( item )
461 TDEListView::ensureItemVisible( item );
462}
463
464// we're in multiselection mode
465void KFileDetailView::slotSelectionChanged()
466{
467 sig->highlightFile( 0L );
468}
469
470KFileItem * KFileDetailView::firstFileItem() const
471{
472 KFileListViewItem *item = static_cast<KFileListViewItem*>( firstChild() );
473 if ( item )
474 return item->fileInfo();
475 return 0L;
476}
477
478KFileItem * KFileDetailView::nextItem( const KFileItem *fileItem ) const
479{
480 if ( fileItem ) {
481 KFileListViewItem *item = viewItem( fileItem );
482 if ( item && item->itemBelow() )
483 return ((KFileListViewItem*) item->itemBelow())->fileInfo();
484 else
485 return 0L;
486 }
487 else
488 return firstFileItem();
489}
490
491KFileItem * KFileDetailView::prevItem( const KFileItem *fileItem ) const
492{
493 if ( fileItem ) {
494 KFileListViewItem *item = viewItem( fileItem );
495 if ( item && item->itemAbove() )
496 return ((KFileListViewItem*) item->itemAbove())->fileInfo();
497 else
498 return 0L;
499 }
500 else
501 return firstFileItem();
502}
503
504void KFileDetailView::keyPressEvent( TQKeyEvent *e )
505{
506 TDEListView::keyPressEvent( e );
507
508 if ( e->key() == Key_Return || e->key() == Key_Enter ) {
509 if ( e->state() & ControlButton )
510 e->ignore();
511 else
512 e->accept();
513 }
514}
515
516//
517// mimetype determination on demand
518//
519void KFileDetailView::mimeTypeDeterminationFinished()
520{
521 // anything to do?
522}
523
524void KFileDetailView::determineIcon( KFileListViewItem *item )
525{
526 (void) item->fileInfo()->determineMimeType();
527 updateView( item->fileInfo() );
528}
529
530void KFileDetailView::listingCompleted()
531{
532 m_resolver->start();
533}
534
535TQDragObject *KFileDetailView::dragObject()
536{
537 // create a list of the URL:s that we want to drag
538 KURL::List urls;
539 KFileItemListIterator it( * KFileView::selectedItems() );
540 for ( ; it.current(); ++it ){
541 urls.append( (*it)->url() );
542 }
543 TQPixmap pixmap;
544 if( urls.count() > 1 )
545 pixmap = DesktopIcon( "application-vnd.tde.tdemultiple", TDEIcon::SizeSmall );
546 if( pixmap.isNull() )
547 pixmap = currentFileItem()->pixmap( TDEIcon::SizeSmall );
548
549 TQPoint hotspot;
550 hotspot.setX( pixmap.width() / 2 );
551 hotspot.setY( pixmap.height() / 2 );
552 TQDragObject* myDragObject = new KURLDrag( urls, widget() );
553 myDragObject->setPixmap( pixmap, hotspot );
554 return myDragObject;
555}
556
557void KFileDetailView::slotAutoOpen()
558{
559 d->autoOpenTimer.stop();
560 if( !d->dropItem )
561 return;
562
563 KFileItem *fileItem = d->dropItem->fileInfo();
564 if (!fileItem)
565 return;
566
567 if( fileItem->isFile() )
568 return;
569
570 if ( fileItem->isDir() || fileItem->isLink())
571 sig->activate( fileItem );
572}
573
574bool KFileDetailView::acceptDrag(TQDropEvent* e) const
575{
576 return KURLDrag::canDecode( e ) &&
577 (e->source()!= const_cast<KFileDetailView*>(this)) &&
578 ( e->action() == TQDropEvent::Copy
579 || e->action() == TQDropEvent::Move
580 || e->action() == TQDropEvent::Link );
581}
582
583void KFileDetailView::contentsDragEnterEvent( TQDragEnterEvent *e )
584{
585 if ( ! acceptDrag( e ) ) { // can we decode this ?
586 e->ignore(); // No
587 return;
588 }
589 e->acceptAction(); // Yes
590
591 if ((dropOptions() & AutoOpenDirs) == 0)
592 return;
593
594 KFileListViewItem *item = dynamic_cast<KFileListViewItem*>(itemAt( contentsToViewport( e->pos() ) ));
595 if ( item ) { // are we over an item ?
596 d->dropItem = item;
597 d->autoOpenTimer.start( autoOpenDelay() ); // restart timer
598 }
599 else
600 {
601 d->dropItem = 0;
602 d->autoOpenTimer.stop();
603 }
604}
605
606void KFileDetailView::contentsDragMoveEvent( TQDragMoveEvent *e )
607{
608 if ( ! acceptDrag( e ) ) { // can we decode this ?
609 e->ignore(); // No
610 return;
611 }
612 e->acceptAction(); // Yes
613
614 if ((dropOptions() & AutoOpenDirs) == 0)
615 return;
616
617 KFileListViewItem *item = dynamic_cast<KFileListViewItem*>(itemAt( contentsToViewport( e->pos() ) ));
618 if ( item ) { // are we over an item ?
619 if (d->dropItem != item)
620 {
621 d->dropItem = item;
622 d->autoOpenTimer.start( autoOpenDelay() ); // restart timer
623 }
624 }
625 else
626 {
627 d->dropItem = 0;
628 d->autoOpenTimer.stop();
629 }
630}
631
632void KFileDetailView::contentsDragLeaveEvent( TQDragLeaveEvent * )
633{
634 d->dropItem = 0;
635 d->autoOpenTimer.stop();
636}
637
638void KFileDetailView::contentsDropEvent( TQDropEvent *e )
639{
640 d->dropItem = 0;
641 d->autoOpenTimer.stop();
642
643 if ( ! acceptDrag( e ) ) { // can we decode this ?
644 e->ignore(); // No
645 return;
646 }
647 e->acceptAction(); // Yes
648
649 KFileListViewItem *item = dynamic_cast<KFileListViewItem*>(itemAt( contentsToViewport( e->pos() ) ));
650 KFileItem * fileItem = 0;
651 if (item)
652 fileItem = item->fileInfo();
653
654 emit dropped(e, fileItem);
655
656 KURL::List urls;
657 if (KURLDrag::decode( e, urls ) && !urls.isEmpty())
658 {
659 emit dropped(e, urls, fileItem ? fileItem->url() : KURL());
660 sig->dropURLs(fileItem, e, urls);
661 }
662}
663
664
666
667
668void KFileListViewItem::init()
669{
670 KFileListViewItem::setPixmap( COL_NAME, inf->pixmap(TDEIcon::SizeSmall));
671
672 setText( COL_NAME, inf->text() );
673 setText( COL_SIZE, TDEGlobal::locale()->formatNumber( inf->size(), 0));
674 setText( COL_DATE, inf->timeString() );
675 setText( COL_PERM, inf->permissionsString() );
676 setText( COL_OWNER, inf->user() );
677 setText( COL_GROUP, inf->group() );
678}
679
680
681void KFileDetailView::virtual_hook( int id, void* data )
682{ TDEListView::virtual_hook( id, data );
683 KFileView::virtual_hook( id, data ); }
684
685#include "tdefiledetailview.moc"
KFileDetailView
A list-view capable of showing KFileItem'.
Definition: tdefiledetailview.h:109
KFileDetailView::setCurrentItem
virtual void setCurrentItem(const KFileItem *)
Reimplement this to set item the current item in the view, e.g.
Definition: tdefiledetailview.cpp:154
KFileDetailView::isSelected
virtual bool isSelected(const KFileItem *i) const
Definition: tdefiledetailview.cpp:285
KFileDetailView::selectAll
virtual void selectAll()
Selects all items.
Definition: tdefiledetailview.cpp:177
KFileDetailView::insertItem
virtual void insertItem(KFileItem *i)
The derived view must implement this function to add the file in the widget.
Definition: tdefiledetailview.cpp:207
KFileDetailView::ensureItemVisible
void ensureItemVisible(const KFileItem *)
pure virtual function, that should be implemented to make item i visible, i.e.
Definition: tdefiledetailview.cpp:453
KFileDetailView::listingCompleted
virtual void listingCompleted()
This hook is called when all items of the currently listed directory are listed and inserted into the...
Definition: tdefiledetailview.cpp:530
KFileDetailView::setSelected
virtual void setSelected(const KFileItem *, bool)
Tells the view that it should highlight the item.
Definition: tdefiledetailview.cpp:142
KFileDetailView::clearView
virtual void clearView()
pure virtual function, that should be implemented to clear the view.
Definition: tdefiledetailview.cpp:201
KFileDetailView::invertSelection
virtual void invertSelection()
Inverts the current selection, i.e.
Definition: tdefiledetailview.cpp:186
KFileDetailView::clearSelection
virtual void clearSelection()
Clears any selection, unhighlights everything.
Definition: tdefiledetailview.cpp:172
KFileDetailView::updateView
virtual void updateView(bool)
does a repaint of the view.
Definition: tdefiledetailview.cpp:295
KFileDetailView::setSorting
virtual void setSorting(TQDir::SortSpec)
Sets the sorting order of the view.
Definition: tdefiledetailview.cpp:425
KFileDetailView::removeItem
virtual void removeItem(const KFileItem *)
Removes an item from the list; has to be implemented by the view.
Definition: tdefiledetailview.cpp:339
KFileDetailView::currentFileItem
virtual KFileItem * currentFileItem() const
Definition: tdefiledetailview.cpp:163
KFileDetailView::dropped
void dropped(TQDropEvent *event, KFileItem *fileItem)
The user dropped something.
KFileDetailView::widget
virtual TQWidget * widget()
a pure virtual function to get a TQWidget, that can be added to other widgets.
Definition: tdefiledetailview.h:116
KFileListViewItem
An item for the listiew, that has a reference to its corresponding KFileItem.
Definition: tdefiledetailview.h:37
KFileListViewItem::init
void init()
Definition: tdefiledetailview.cpp:668
KFileListViewItem::fileInfo
KFileItem * fileInfo() const
Definition: tdefiledetailview.h:68
KFileViewSignaler::activate
void activate(const KFileItem *item)
Call this method when an item is selected (depends on single click / double click configuration).
Definition: tdefileview.h:45
KFileViewSignaler::highlightFile
void highlightFile(const KFileItem *i)
emits the highlighted signal for item.
Definition: tdefileview.h:55
KFileView
This class defines an interface to all file views.
Definition: tdefileview.h:97
KFileView::onlyDoubleClickSelectsFiles
bool onlyDoubleClickSelectsFiles() const
Definition: tdefileview.h:329
KFileView::insertItem
virtual void insertItem(KFileItem *i)
The derived view must implement this function to add the file in the widget.
Definition: tdefileview.cpp:147
KFileView::items
const KFileItemList * items() const
Definition: tdefileview.cpp:283
KFileView::selectedItems
const KFileItemList * selectedItems() const
Definition: tdefileview.cpp:296
KFileView::sorting
TQDir::SortSpec sorting() const
Returns the sorting order of the internal list.
Definition: tdefileview.h:176
KFileView::dropOptions
int dropOptions()
Returns the DND options in effect.
Definition: tdefileview.cpp:407
KFileView::removeItem
virtual void removeItem(const KFileItem *item)
Removes an item from the list; has to be implemented by the view.
Definition: tdefileview.cpp:346
KFileView::setSorting
virtual void setSorting(TQDir::SortSpec sort)
Sets the sorting order of the view.
Definition: tdefileview.cpp:151
KFileView::sortingKey
static TQString sortingKey(const TQString &value, bool isDir, int sortSpec)
This method calculates a TQString from the given parameters, that is suitable for sorting with e....
Definition: tdefileview.cpp:380

tdeio/tdefile

Skip menu "tdeio/tdefile"
  • Main Page
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

tdeio/tdefile

Skip menu "tdeio/tdefile"
  • arts
  • dcop
  • dnssd
  • interfaces
  •   kspeech
  •     interface
  •     library
  •   tdetexteditor
  • kate
  • kded
  • kdoctools
  • kimgio
  • kjs
  • libtdemid
  • libtdescreensaver
  • tdeabc
  • tdecmshell
  • tdecore
  • tdefx
  • tdehtml
  • tdeinit
  • tdeio
  •   bookmarks
  •   httpfilter
  •   kpasswdserver
  •   kssl
  •   tdefile
  •   tdeio
  •   tdeioexec
  • tdeioslave
  •   http
  • tdemdi
  •   tdemdi
  • tdenewstuff
  • tdeparts
  • tdeprint
  • tderandr
  • tderesources
  • tdespell2
  • tdesu
  • tdeui
  • tdeunittest
  • tdeutils
  • tdewallet
Generated for tdeio/tdefile by doxygen 1.9.4
This website is maintained by Timothy Pearson.