📄 qfileiconview.h
字号:
/****************************************************************************** $Id: qt/qfileiconview.h 3.3.6 edited Aug 31 2005 $**** Copyright (C) 1992-2005 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 QTFILEICONVIEW_H#define QTFILEICONVIEW_H#define Q_OS_UNIX#include <qiconset.h>#include <qstring.h>#include <qfileinfo.h>#include <qdir.h>#include <qtimer.h>#include <qiconview.h>class QtFileIconView;class QDragObject;class QResizeEvent;/***************************************************************************** * * Class QtFileIconDrag * *****************************************************************************/class QtFileIconDrag : public QIconDrag{ Q_OBJECTpublic: QtFileIconDrag( QWidget * dragSource, const char* name = 0 ); const char* format( int i ) const; QByteArray encodedData( const char* mime ) const; static bool canDecode( QMimeSource* e ); void append( const QIconDragItem &item, const QRect &pr, const QRect &tr, const QString &url );private: QStringList urls;};/***************************************************************************** * * Class QtFileIconView * *****************************************************************************/class QtFileIconViewItem;class QIconViewItem;class QtFileIconView : public QIconView{ Q_OBJECTpublic: QtFileIconView( const QString &dir, QWidget *parent = 0, const char *name = 0 ); enum ViewMode { Large, Small }; void setViewMode( ViewMode m ); ViewMode viewMode() const { return vm; } void setOpenItem( QtFileIconViewItem *i ) { openItem = i; } QStringList cpyCutList; bool cpyCutFlag;public slots: void setDirectory( const QString &dir ); void setDirectory( const QDir &dir ); void slotPreCpyCut(); void slotCopy(); void slotPaste( const QString &dir ); void slotCut(); void slotDel(); void newDirectory(); QDir currentDir();signals: void directoryChanged( const QString & ); void startReadDir( int dirs ); void readNextDir(); void readDirDone(); void enableUp(); void disableUp(); void enableMkdir(); void disableMkdir(); void enablePaste(); void disablePaste(); void resetListDir( const QString & );protected slots: void itemDoubleClicked( QIconViewItem *i ); void slotDropped( QDropEvent *e, const QValueList<QIconDragItem> & ); void viewLarge(); void viewSmall(); void viewBottom(); void viewRight(); void flowEast(); void flowSouth(); void itemTextTruncate(); void itemTextWordWrap(); void sortAscending(); void sortDescending(); void arrangeItemsInGrid() { QIconView::arrangeItemsInGrid( TRUE ); } void slotRightPressed( QIconViewItem *item ); void openFolder();protected: void readDir( const QDir &dir ); virtual QDragObject *dragObject(); virtual void keyPressEvent( QKeyEvent *e ); QDir viewDir; int newFolderNum; QSize sz; QPixmap pix; ViewMode vm; QtFileIconViewItem *openItem;};/***************************************************************************** * * Class QtFileIconViewItem * *****************************************************************************/class QtFileIconViewItem : public QIconViewItem{ friend class QtFileIconView;public: enum ItemType { File = 0, Dir, Link }; QtFileIconViewItem( QtFileIconView *parent, QFileInfo *fi ); virtual ~QtFileIconViewItem(); ItemType type() const { return itemType; } QString filename() const { return itemFileName; } virtual bool acceptDrop( const QMimeSource *e ) const; virtual void setText( const QString &text ); virtual QPixmap *pixmap() const; virtual void dragEntered(); virtual void dragLeft(); void viewModeChanged( QtFileIconView::ViewMode m ); void paintItem( QPainter *p, const QColorGroup &cg );protected: virtual void dropped( QDropEvent *e, const QValueList<QIconDragItem> & ); QString itemFileName; QFileInfo *itemFileInfo; ItemType itemType; bool checkSetText; QTimer timer; QtFileIconView::ViewMode vm; };#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -