📄 dirview.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 + -