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

tdeio/tdefile

  • tdeio
  • tdefile
tdefilepreview.cpp
1/* This file is part of the KDE libraries
2 Copyright (C) 1998 Stephan Kulow <coolo@kde.org>
3 1998 Daniel Grana <grana@ie.iwi.unibe.ch>
4 2000 Werner Trobin <wtrobin@carinthia.com>
5
6 This library is free software; you can redistribute it and/or
7 modify it under the terms of the GNU Library General Public
8 License as published by the Free Software Foundation; either
9 version 2 of the License, or (at your option) any later version.
10
11 This library is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 Library General Public License for more details.
15
16 You should have received a copy of the GNU Library General Public License
17 along with this library; see the file COPYING.LIB. If not, write to
18 the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 Boston, MA 02110-1301, USA.
20*/
21
22#include <tdeaction.h>
23#include <tdefilepreview.h>
24#include <tdefilepreview.moc>
25#include <tdelocale.h>
26
27#include <tqlabel.h>
28
29#include "config-tdefile.h"
30
31KFilePreview::KFilePreview(KFileView *view, TQWidget *parent, const char *name)
32 : TQSplitter(parent, name), KFileView()
33{
34 if ( view )
35 init( view );
36 else
37 init( new KFileIconView( (TQSplitter*) this, "left" ));
38}
39
40
41KFilePreview::KFilePreview(TQWidget *parent, const char *name) :
42 TQSplitter(parent, name), KFileView()
43{
44 init( new KFileIconView((TQSplitter*)this, "left") );
45}
46
47KFilePreview::~KFilePreview()
48{
49 // Why copy the actions in the first place? --ellis, 13 Jan 02.
51 //for ( uint i = 0; i < left->actionCollection()->count(); i++ )
52 // actionCollection()->take( left->actionCollection()->action( i ));
53
54 // don't delete the preview, we can reuse it
55 // (it will get deleted by ~KDirOperator)
56 if ( preview && preview->parentWidget() == this ) {
57 preview->reparent(0L, 0, TQPoint(0, 0), false);
58 }
59}
60
61void KFilePreview::init( KFileView *view )
62{
63 setViewName( i18n("Preview") );
64
65 left = 0L;
66 setFileView( view );
67
68 preview = new TQWidget((TQSplitter*)this, "preview");
69 TQString tmp = i18n("No preview available.");
70 TQLabel *l = new TQLabel(tmp, preview);
71 l->setMinimumSize(l->sizeHint());
72 l->move(10, 5);
73 preview->setMinimumWidth(l->sizeHint().width()+20);
74 setResizeMode(preview, TQSplitter::KeepSize);
75
76 // Why copy the actions? --ellis, 13 Jan 02.
77 //for ( uint i = 0; i < view->actionCollection()->count(); i++ )
78 // actionCollection()->insert( view->actionCollection()->action( i ));
79}
80
81void KFilePreview::setFileView( KFileView *view )
82{
83 Q_ASSERT( view );
84
85 // Why copy the actions? --ellis, 13 Jan 02.
86 //if ( left ) { // remove any previous actions
87 // for ( uint i = 0; i < left->actionCollection()->count(); i++ )
88 // actionCollection()->take( left->actionCollection()->action( i ));
89 //}
90
91 delete left;
92 view->widget()->reparent( this, TQPoint(0,0) );
93 view->KFileView::setViewMode(All);
94 view->setParentView(this);
95 view->setSorting( sorting() );
96 left = view;
97
98 connect( left->signaler(), TQ_SIGNAL( fileHighlighted(const KFileItem*) ),
99 TQ_SLOT( slotHighlighted( const KFileItem * )));
100
101 // Why copy the actions? --ellis, 13 Jan 02.
102 //for ( uint i = 0; i < view->actionCollection()->count(); i++ )
103 // actionCollection()->insert( view->actionCollection()->action( i ));
104}
105
106// this url parameter is useless... it's the url of the current directory.
107// what for?
108void KFilePreview::setPreviewWidget(const TQWidget *w, const KURL &)
109{
110 left->setOnlyDoubleClickSelectsFiles( onlyDoubleClickSelectsFiles() );
111
112 if (w) {
113 connect(this, TQ_SIGNAL( showPreview(const KURL &) ),
114 w, TQ_SLOT( showPreview(const KURL &) ));
115 connect( this, TQ_SIGNAL( clearPreview() ),
116 w, TQ_SLOT( clearPreview() ));
117 }
118 else {
119 preview->hide();
120 return;
121 }
122
123 delete preview;
124 preview = const_cast<TQWidget*>(w);
125 preview->reparent((TQSplitter*)this, 0, TQPoint(0, 0), true);
126 preview->resize(preview->sizeHint());
127 preview->show();
128}
129
130void KFilePreview::insertItem(KFileItem *item)
131{
132 KFileView::insertItem( item );
133 left->insertItem(item);
134}
135
136void KFilePreview::setSorting( TQDir::SortSpec sort )
137{
138 left->setSorting( sort );
139 KFileView::setSorting( left->sorting() );
140}
141
142void KFilePreview::clearView()
143{
144 left->clearView();
145 emit clearPreview();
146}
147
148void KFilePreview::updateView(bool b)
149{
150 left->updateView(b);
151 if(preview)
152 preview->repaint(b);
153}
154
155void KFilePreview::updateView(const KFileItem *i)
156{
157 left->updateView(i);
158}
159
160void KFilePreview::removeItem(const KFileItem *i)
161{
162 if ( left->isSelected( i ) )
163 emit clearPreview();
164
165 left->removeItem(i);
166 KFileView::removeItem( i );
167}
168
169void KFilePreview::listingCompleted()
170{
171 left->listingCompleted();
172}
173
174void KFilePreview::clear()
175{
176 KFileView::clear();
177 left->KFileView::clear();
178}
179
180void KFilePreview::clearSelection()
181{
182 left->clearSelection();
183 emit clearPreview();
184}
185
186void KFilePreview::selectAll()
187{
188 left->selectAll();
189}
190
191void KFilePreview::invertSelection()
192{
193 left->invertSelection();
194}
195
196bool KFilePreview::isSelected( const KFileItem *i ) const
197{
198 return left->isSelected( i );
199}
200
201void KFilePreview::setSelectionMode(KFile::SelectionMode sm) {
202 left->setSelectionMode( sm );
203}
204
205void KFilePreview::setSelected(const KFileItem *item, bool enable) {
206 left->setSelected( item, enable );
207}
208
209void KFilePreview::setCurrentItem( const KFileItem *item )
210{
211 left->setCurrentItem( item );
212}
213
214KFileItem * KFilePreview::currentFileItem() const
215{
216 return left->currentFileItem();
217}
218
219void KFilePreview::slotHighlighted(const KFileItem* item)
220{
221 if ( item )
222 emit showPreview( item->url() );
223
224 else { // item = 0 -> multiselection mode
225 const KFileItemList *items = selectedItems();
226 if ( items->count() == 1 )
227 emit showPreview( items->getFirst()->url() );
228 else
229 emit clearPreview();
230 }
231
232 // the preview widget appears and takes some space of the left view,
233 // so we may have to scroll to make the current item visible
234 left->ensureItemVisible(item);
235 }
236
237void KFilePreview::ensureItemVisible(const KFileItem *item)
238{
239 left->ensureItemVisible(item);
240}
241
242KFileItem * KFilePreview::firstFileItem() const
243{
244 return left->firstFileItem();
245}
246
247KFileItem * KFilePreview::nextItem( const KFileItem *item ) const
248{
249 return left->nextItem( item );
250}
251
252KFileItem * KFilePreview::prevItem( const KFileItem *item ) const
253{
254 return left->prevItem( item );
255}
256
257TDEActionCollection * KFilePreview::actionCollection() const
258{
259 if ( left )
260 return left->actionCollection();
261 else {
262 kdWarning() << "KFilePreview::actionCollection(): called before setFileView()." << endl; //ellis
263 return KFileView::actionCollection();
264 }
265}
266
267void KFilePreview::readConfig( TDEConfig *config, const TQString& group )
268{
269 left->readConfig( config, group );
270}
271
272void KFilePreview::writeConfig( TDEConfig *config, const TQString& group )
273{
274 left->writeConfig( config, group );
275}
276
277void KFilePreview::virtual_hook( int id, void* data )
278{ KFileView::virtual_hook( id, data ); }
279
KFileIconView
An icon-view capable of showing KFileItem's.
Definition: tdefileiconview.h:83
KFilePreview::setCurrentItem
virtual void setCurrentItem(const KFileItem *)
Reimplement this to set item the current item in the view, e.g.
Definition: tdefilepreview.cpp:209
KFilePreview::selectAll
virtual void selectAll()
Selects all items.
Definition: tdefilepreview.cpp:186
KFilePreview::setFileView
void setFileView(KFileView *view)
Delets the current view and sets the view to the given view.
Definition: tdefilepreview.cpp:81
KFilePreview::setSelected
virtual void setSelected(const KFileItem *, bool)
Tells the view that it should highlight the item.
Definition: tdefilepreview.cpp:205
KFilePreview::listingCompleted
virtual void listingCompleted()
This hook is called when all items of the currently listed directory are listed and inserted into the...
Definition: tdefilepreview.cpp:169
KFilePreview::invertSelection
virtual void invertSelection()
Inverts the current selection, i.e.
Definition: tdefilepreview.cpp:191
KFilePreview::clearSelection
virtual void clearSelection()
Clears any selection, unhighlights everything.
Definition: tdefilepreview.cpp:180
KFilePreview::isSelected
virtual bool isSelected(const KFileItem *) const
Definition: tdefilepreview.cpp:196
KFilePreview::removeItem
virtual void removeItem(const KFileItem *)
Removes an item from the list; has to be implemented by the view.
Definition: tdefilepreview.cpp:160
KFilePreview::insertItem
virtual void insertItem(KFileItem *)
The derived view must implement this function to add the file in the widget.
Definition: tdefilepreview.cpp:130
KFilePreview::clear
virtual void clear()
Clears the view and all item lists.
Definition: tdefilepreview.cpp:174
KFilePreview::setSorting
virtual void setSorting(TQDir::SortSpec sort)
Sets the sorting order of the view.
Definition: tdefilepreview.cpp:136
KFilePreview::currentFileItem
virtual KFileItem * currentFileItem() const
Definition: tdefilepreview.cpp:214
KFilePreview::clearView
virtual void clearView()
pure virtual function, that should be implemented to clear the view.
Definition: tdefilepreview.cpp:142
KFilePreview::actionCollection
virtual TDEActionCollection * actionCollection() const
This overrides KFileView::actionCollection() by returning the actionCollection() of the KFileView (me...
Definition: tdefilepreview.cpp:257
KFilePreview::ensureItemVisible
void ensureItemVisible(const KFileItem *)
pure virtual function, that should be implemented to make item i visible, i.e.
Definition: tdefilepreview.cpp:237
KFilePreview::updateView
virtual void updateView(bool)
does a repaint of the view.
Definition: tdefilepreview.cpp:148
KFileView
This class defines an interface to all file views.
Definition: tdefileview.h:97
KFileView::clearSelection
virtual void clearSelection()=0
Clears any selection, unhighlights everything.
KFileView::onlyDoubleClickSelectsFiles
bool onlyDoubleClickSelectsFiles() const
Definition: tdefileview.h:329
KFileView::setViewName
void setViewName(const TQString &name)
Sets the name of the view, which could be displayed somewhere.
Definition: tdefileview.h:239
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::listingCompleted
virtual void listingCompleted()
This hook is called when all items of the currently listed directory are listed and inserted into the...
Definition: tdefileview.cpp:360
KFileView::items
const KFileItemList * items() const
Definition: tdefileview.cpp:283
KFileView::setCurrentItem
void setCurrentItem(const TQString &filename)
Sets filename the current item in the view, if available.
Definition: tdefileview.cpp:268
KFileView::setOnlyDoubleClickSelectsFiles
void setOnlyDoubleClickSelectsFiles(bool enable)
This is a KFileDialog specific hack: we want to select directories with single click,...
Definition: tdefileview.h:320
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::currentFileItem
virtual KFileItem * currentFileItem() const =0
KFileView::updateView
virtual void updateView(bool f=true)
does a repaint of the view.
Definition: tdefileview.cpp:259
KFileView::widget
virtual TQWidget * widget()=0
a pure virtual function to get a TQWidget, that can be added to other widgets.
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::ensureItemVisible
virtual void ensureItemVisible(const KFileItem *i)=0
pure virtual function, that should be implemented to make item i visible, i.e.
KFileView::setSorting
virtual void setSorting(TQDir::SortSpec sort)
Sets the sorting order of the view.
Definition: tdefileview.cpp:151
KFileView::actionCollection
virtual TDEActionCollection * actionCollection() const
Definition: tdefileview.cpp:365
KFileView::clear
virtual void clear()
Clears the view and all item lists.
Definition: tdefileview.cpp:156
KFileView::selectAll
virtual void selectAll()
Selects all items.
Definition: tdefileview.cpp:312
KFileView::setSelected
virtual void setSelected(const KFileItem *, bool enable)=0
Tells the view that it should highlight the item.
KFileView::isSelected
virtual bool isSelected(const KFileItem *) const =0
KFileView::clearView
virtual void clearView()=0
pure virtual function, that should be implemented to clear the view.
KFileView::invertSelection
virtual void invertSelection()
Inverts the current selection, i.e.
Definition: tdefileview.cpp:323

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.