• Skip to content
  • Skip to link menu
Trinity API Reference
  • Trinity API Reference
  • kio/kio
 

kio/kio

  • kio
  • kio
kfileitem.h
1 /* This file is part of the KDE project
2  Copyright (C) 1999 David Faure <faure@kde.org>
3 
4  This library is free software; you can redistribute it and/or
5  modify it under the terms of the GNU Library General Public
6  License as published by the Free Software Foundation; either
7  version 2 of the License, or (at your option) any later version.
8 
9  This library is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY; without even the implied warranty of
11  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12  Library General Public License for more details.
13 
14  You should have received a copy of the GNU Library General Public License
15  along with this library; see the file COPYING.LIB. If not, write to
16  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17  Boston, MA 02110-1301, USA.
18 */
19 
20 #ifndef __kfileitem_h__
21 #define __kfileitem_h__
22 
23 #include <tqstringlist.h>
24 #include <sys/stat.h>
25 
26 #include <tqptrlist.h>
27 #include <kio/global.h>
28 #include <kurl.h>
29 #include <kacl.h>
30 #include <kmimetype.h>
31 #include <kfilemetainfo.h>
32 
33 #define KFILEITEM_HAS_ISWRITABLE // only used in libkonq/konq_iconviewwidget.cc, will be removed for 3.4
34 
41 class KIO_EXPORT KFileItem
42 {
43 public:
44  enum { Unknown = (mode_t) - 1 };
45 
57  KFileItem( const KIO::UDSEntry& _entry, const KURL& _url,
58  bool _determineMimeTypeOnDemand = false,
59  bool _urlIsDirectory = false );
60 
74  KFileItem( mode_t _mode, mode_t _permissions, const KURL& _url,
75  bool _determineMimeTypeOnDemand = false );
76 
83  KFileItem( const KURL &url, const TQString &mimeType, mode_t mode );
84 
89  KFileItem( const KFileItem &item );
90 
95  virtual ~KFileItem();
96 
101  void refresh();
102 
107  void refreshMimeType();
108 
113  const KURL & url() const { return m_url; }
114 
120  void setURL( const KURL &url );
121 
128  void setName( const TQString &name );
129 
134  mode_t permissions() const { return m_permissions; }
135 
140  TQString permissionsString() const;
141 
147  bool hasExtendedACL() const;
148 
154  KACL ACL() const;
155 
161  KACL defaultACL() const;
162 
167  mode_t mode() const { return m_fileMode; }
168 
173  TQString user() const;
174 
179  TQString group() const;
180 
186  bool isLink() const { return m_bLink; }
187 
192  bool isDir() const;
193 
198  bool isFile() const { return !isDir(); }
199 
206  bool isReadable() const;
207 
215  bool isWritable() const;
216 
221  bool isHidden() const;
222 
227  TQString linkDest() const;
228 
235  TQString localPath() const;
236 
237  //FIXME KDE4 deprecate this in favor of size(bool &hasSize)
242  KIO::filesize_t size() const;
243 
249  KIO::filesize_t size(bool &hasSize) const;
250 
251  //FIXME KDE4 deprecate this in favor of time(unsigned int which, bool &hasSize)
258  time_t time( unsigned int which ) const;
259 
267  time_t time( unsigned int which, bool &hasTime ) const;
268 
276  TQString timeString( unsigned int which = KIO::UDS_MODIFICATION_TIME ) const;
277 
282  bool isLocalFile() const { return m_bIsLocalURL; }
283 
289  const TQString& text() const { return m_strText; }
290 
298  const TQString& name( bool lowerCase = false ) const {
299  if ( !lowerCase )
300  return m_strName;
301  else
302  if ( m_strLowerCaseName.isNull() )
303  m_strLowerCaseName = m_strName.lower();
304  return m_strLowerCaseName;
305  }
306 
313  TQString mimetype() const;
314 
321  KMimeType::Ptr determineMimeType();
322 
328  KMimeType::Ptr mimeTypePtr() const { return m_pMimeType; }
329 
330  bool isMimeTypeKnown() const;
336  TQString mimeComment();
337 
343  TQString iconName();
344 
353  TQPixmap pixmap( int _size, int _state=0 ) const;
354 
361  int overlays() const;
362 
368  TQString getStatusBarInfo();
369 
378  TQString getToolTipText(int maxcount = 6);
379 
386  bool acceptsDrops( );
387 
392  void run();
393 
399  const KIO::UDSEntry & entry() const { return m_entry; }
400 
405  bool isMarked() const { return m_bMarked; }
410  void mark() { m_bMarked = true; }
415  void unmark() { m_bMarked = false; }
416 
422  bool cmp( const KFileItem & item );
423 
457  virtual void setExtraData( const void *key, void *value );
458 
466  virtual const void * extraData( const void *key ) const;
467 
475  virtual void * extraData( const void *key );
476 
481  virtual void removeExtraData( const void *key );
482 
487  void setMetaInfo( const KFileMetaInfo & info );
488 
496  void setFileMode( mode_t m );
497 
503  void setMimeType( const TQString& mimetype );
504 
510  const KFileMetaInfo & metaInfo(bool autoget = true,
511  int what = KFileMetaInfo::Fastest) const;
512 
520  void assign( const KFileItem & item );
521 
539  void setUDSEntry( const KIO::UDSEntry& entry, const KURL& url,
540  bool determineMimeTypeOnDemand = false,
541  bool urlIsDirectory = false );
542 
546  KFileItem& operator=( const KFileItem& );
547 
552  KURL mostLocalURL(bool &local) const;
553 
555 
556 protected:
561  void init( bool _determineMimeTypeOnDemand );
562 
568  void readUDSEntry( bool _urlIsDirectory );
569 
573  TQString parsePermissions( mode_t perm ) const;
574 
575 private:
579  KIO::UDSEntry m_entry;
583  KURL m_url;
584 
588  TQString m_strName;
589 
594  TQString m_strText;
595 
599  mutable TQString m_user, m_group;
600 
604  mutable TQString m_strLowerCaseName;
605 
609  KMimeType::Ptr m_pMimeType;
610 
614  mode_t m_fileMode;
618  mode_t m_permissions;
619 
623  bool m_bMarked:1;
627  bool m_bLink:1;
631  bool m_bIsLocalURL:1;
632 
633  bool m_bMimeTypeKnown:1;
634 
635  // Auto: check leading dot.
636  enum { Auto, Hidden, Shown } m_hidden:3;
637 
638  // For special case like link to dirs over FTP
639  TQString m_guessedMimeType;
640  mutable TQString m_access;
641  TQMap<const void*, void*> m_extra;
642  mutable KFileMetaInfo m_metaInfo;
643 
644  enum { Modification = 0, Access = 1, Creation = 2, NumFlags = 3 };
645  mutable time_t m_time[3];
646  mutable KIO::filesize_t m_size;
647 
648 protected:
649  virtual void virtual_hook( int id, void* data );
650 private:
651  class KFileItemPrivate;
652  KFileItemPrivate * d;
653  KIO_EXPORT friend TQDataStream & operator<< ( TQDataStream & s, const KFileItem & a );
654  KIO_EXPORT friend TQDataStream & operator>> ( TQDataStream & s, KFileItem & a );
655 };
656 
660 typedef TQPtrList<KFileItem> KFileItemList;
661 
665 typedef TQPtrListIterator<KFileItem> KFileItemListIterator;
666 
667 KIO_EXPORT TQDataStream & operator<< ( TQDataStream & s, const KFileItem & a );
668 KIO_EXPORT TQDataStream & operator>> ( TQDataStream & s, KFileItem & a );
669 
670 
671 #endif

kio/kio

Skip menu "kio/kio"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kio/kio

Skip menu "kio/kio"
  • arts
  • dcop
  • dnssd
  • interfaces
  •     interface
  •     library
  •   kspeech
  •   ktexteditor
  • kabc
  • kate
  • kcmshell
  • kdecore
  • kded
  • kdefx
  • kdeprint
  • kdesu
  • kdeui
  • kdoctools
  • khtml
  • kimgio
  • kinit
  • kio
  •   bookmarks
  •   httpfilter
  •   kfile
  •   kio
  •   kioexec
  •   kpasswdserver
  •   kssl
  • kioslave
  •   http
  • kjs
  • kmdi
  •   kmdi
  • knewstuff
  • kparts
  • krandr
  • kresources
  • kspell2
  • kunittest
  • kutils
  • kwallet
  • libkmid
  • libkscreensaver
Generated for kio/kio by doxygen 1.8.3.1
This website is maintained by Timothy Pearson.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. |