⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dirview.h

📁 给予QT的qps开源最新源码
💻 H
字号:
/****************************************************************************
 ** $Id: dirview.h 236 2006-11-12 10:20:24Z ztep $
 **
 ** Copyright (C) 1992-2000 Trolltech AS.  All rights reserved.
 **
 ** This file is part of an example program for Qt.  This example
 ** program may be used, distributed and modified without limitation.
 **
 ****************************************************************************/

#ifndef DIRVIEW_H
#define DIRVIEW_H

#include <qlistview.h>
#include <qstring.h>
#include <qfile.h>
#include <qfileinfo.h>
#include <qtimer.h>

class FileItem : QListViewItem
{
   // ----- METHODS -----
   public:
      FileItem(QListViewItem * parent, const QString &s1, const QString &s2 )
         : QListViewItem( parent, s1, s2 ), pix( 0 ) {}

      const QPixmap * pixmap(int i) const;
      void setPixmap(QPixmap * p);

   // ----- MEMBERS -----
   private:
      QPixmap * pix;
};

class Directory : public QListViewItem
{
   // ----- METHODS -----
   public:
      Directory(QListView * parent, const QString & filename);
      Directory(
            Directory * parent, const QString & filename, const QString & col2)
         : QListViewItem(parent, filename, col2), pix(0) {}
      Directory(Directory * parent, const QString & filename);

      QString text(int column) const;

      QString fullName();

      void setOpen(bool o);
      void setup();

      const QPixmap * pixmap(int i) const;
      void setPixmap(QPixmap * px);

   // ----- MEMBERS -----
   private:
      QFile f;
      Directory * p;
      bool readable;
      bool showDirsOnly;
      QPixmap * pix;
};

class DirectoryView : public QListView
{
   Q_OBJECT

   // ----- METHODS -----
   public:
      DirectoryView(QWidget * parent = 0, const char * name = 0, bool sdo = false);
      bool showDirsOnly() { return dirsOnly; }

   public slots:
      void setDir(const QString &);


   protected slots:
      void slotFolderSelected(QListViewItem *);
      void openFolder();

   protected:
      //void contentsDragEnterEvent( QDragEnterEvent *e );
      //void contentsDragMoveEvent( QDragMoveEvent *e );
      //void contentsDragLeaveEvent( QDragLeaveEvent *e );
      //void contentsDropEvent( QDropEvent *e );
      //void contentsMouseMoveEvent( QMouseEvent *e );
      void contentsMousePressEvent(QMouseEvent * e);
      void contentsMouseReleaseEvent(QMouseEvent * e);

   private:
      QString fullPath(QListViewItem * item);

   // ----- MEMBERS -----
   private:
      bool dirsOnly;
      QListViewItem * oldCurrent;
      QListViewItem * dropItem;
      QTimer * autoopen_timer;
      QPoint presspos;
      bool mousePressed;

   signals:
      void folderSelected(const QString &);
};

#endif // DIRVIEW_H

// end of file

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -