author | mickeyl <mickeyl> | 2004-03-01 17:36:09 (UTC) |
---|---|---|
committer | mickeyl <mickeyl> | 2004-03-01 17:36:09 (UTC) |
commit | 5f6f3f7d9356e24ac5284b7ccc10a75451ea94ee (patch) (side-by-side diff) | |
tree | 3a1149a6afa188b9c51b86357edd0981d9c97f4c /libslcompat/slfileselector.h | |
parent | 796de538b7b7bc7c3e2af3e8dd081000c21569ac (diff) | |
download | opie-5f6f3f7d9356e24ac5284b7ccc10a75451ea94ee.zip opie-5f6f3f7d9356e24ac5284b7ccc10a75451ea94ee.tar.gz opie-5f6f3f7d9356e24ac5284b7ccc10a75451ea94ee.tar.bz2 |
some header files and glue to compile japanese apps
pretty much work in progress - maybe someone wants to finish
Diffstat (limited to 'libslcompat/slfileselector.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | libslcompat/slfileselector.h | 414 |
1 files changed, 414 insertions, 0 deletions
diff --git a/libslcompat/slfileselector.h b/libslcompat/slfileselector.h new file mode 100644 index 0000000..35fd11b --- a/dev/null +++ b/libslcompat/slfileselector.h @@ -0,0 +1,414 @@ +/* + * Copyright (C) 2002 SHARP CORPORATION All rights reserved. + */ +#ifndef _SLFILESELECTOR_H_INCLUDED +#define _SLFILESELECTOR_H_INCLUDED + +#include <opie2/ofileselector.h> +using namespace Opie; +#include <qhbox.h> +#include <qvbox.h> +#include <qlistview.h> +#include <qiconview.h> +#include <qtoolbutton.h> +#include <qfileinfo.h> +#include <qtableview.h> +#include <qwidgetstack.h> +#include <qvaluelist.h> + +#include <qpe/applnk.h> +#include <qpe/mimetype.h> +#include <sl/slmisc.h> + +class QComboBox; +class SlFileItemType; +class QCopChannel; + +struct SlFileListItemPrivate; +class SlFileListItem +{ +public: + SlFileListItem(const QFileInfo&,const MimeType&); + ~SlFileListItem(); + const QFileInfo &file() const; + const MimeType &mimeType() const; + const QString getItemIconFilePath() const; + const QString name() const; + void setName(const QString&); + const QString sortKey() const; + void setSortKey(const QString&); + QPixmap pixmap() const; + QPixmap bigPixmap() const; + const QString dateString() const; + const QString typeString() const; + const QString bytesString() const; + void setDevice(); + bool isDevice() const; + enum ColumnItem { + Name = 1, + Type, + Date, + Bytes, + Custom = 100 + }; +private: + SlFileListItemPrivate *p; + SlFileListItem(const SlFileListItem&); +}; + +typedef QValueList<SlFileListItem*> SlFileList; +typedef QValueList<SlFileListItem::ColumnItem> SlFileListColumnConf; + +class SlFileListViewItem; + +struct SlFileListViewPrivate; +class SlFileListView : public QListView +{ + Q_OBJECT + +public: + SlFileListView(QWidget*, const char*); + ~SlFileListView(); + void createFileList(SlFileList&); + int fileCount() const; + void updateItem(SlFileListViewItem*); + void createItem(SlFileListItem*); + void deleteItem(const QString&); + void deleteItem(SlFileListViewItem*); + SlFileListViewItem* searchItem(const QString&); + SlFileListColumnConf columnConf(); + void setColumnConf(SlFileListColumnConf&); + void updateColumn(); + static const QString columnItemName(SlFileListItem::ColumnItem); + static const SlFileListColumnConf columnItemList(); + + //virtual void takeItem( SlFileListViewItem * ); + + SlMisc::SlListColumnInfos columnWidthInfos(); + +protected: + //void keyPressEvent( QKeyEvent *e ); + +signals: + void keyPressed(QKeyEvent *e,bool &isAccepted); + +protected slots: + +private: + friend class SlFileSelector; + SlFileListViewPrivate *p; + SlFileListView(const SlFileListView&); +}; + +class SlFileIconViewItem; + +struct SlFileIconViewPrivate; +class SlFileIconView : public QIconView +{ + Q_OBJECT + +public: + SlFileIconView(QWidget*, const char*); + ~SlFileIconView(); + void createFileList(SlFileList&); + int fileCount() const; + void updateItem(SlFileIconViewItem*); + void createItem(SlFileListItem*); + void deleteItem(const QString&); + void deleteItem(SlFileIconViewItem*); + SlFileIconViewItem* searchItem(const QString&); + void setSorting(int column,bool ascending); + int sortColumn() const; + void repaintItemsForce(); + SlFileListColumnConf columnConf(); + void setColumnConf(SlFileListColumnConf&); + + //virtual void takeItem( SlFileIconViewItem * ); + +protected: + //void keyPressEvent( QKeyEvent *e ); + +protected slots: + +signals: + void keyPressed(QKeyEvent *e,bool &isAccepted); + +private: + friend class SlFileSelector; + SlFileIconViewPrivate *p; + SlFileIconView(const SlFileIconView&); +}; + +class SlFileSelectorFilter : public QObject +{ +public: + SlFileSelectorFilter(QWidget *parent,const char *name=0); + ~SlFileSelectorFilter(); + + virtual bool isAddToList(QFileInfo&) const = 0; +private: + SlFileSelectorFilter(const SlFileSelectorFilter&); +}; + +typedef QList<MimeType> SlFileMimeTypeList; + +struct SlFileSelectorPrivate; +class SlFileSelector : public OFileSelector /*QVBox*/ +{ + Q_OBJECT + +public: + + + enum SlFileSelectorViewType { + + ListView = 1, + + IconView + }; + + + enum SlFileOverwirteMode { + + Overwrite = 1, + + NewName, + + Error + }; + SlFileSelector(const QString &dirPath, + const QString &mimefilter, + QWidget *parent, + const char *name); + SlFileSelector(const QString ¤tFileName, + SlFileSelectorViewType type, + const QString &mimeFilter, + SlFileListColumnConf &items, + int sortColumn,bool sortAscending, + SlFileSelectorFilter *filter=NULL, + bool isRecursive=FALSE, + QWidget *parent=NULL, + const char *name=NULL, + WFlags f=0); + SlFileSelector(QWidget *parent=NULL,const char *name=NULL,WFlags f=0); + virtual ~SlFileSelector(); + void createFileList(); + void createFileList(QDir&); + int fileCount() const; + const QFileInfo* selected(); + void modifyItem(QFileInfo*,bool); + void createItem(QString&); + void deleteItem(const QString&); + void deleteItem(); + void updateItem(const QString&); + SlFileListItem* searchItem(const QString&); + void setSelected(); + void setSelected(const QString&); + void ensureItemVisible(); + SlFileListItem* selectedItem(); + bool setSelectedNext(bool); + bool setSelectedPrev(bool); + const QString currentDir(); + void setSorting(int,bool); + int sortColumn() const; + bool ascending() const; + SlFileSelectorViewType viewType(); + void setColumnItem(SlFileListColumnConf&); + void setViewType(SlFileSelectorViewType); + void setListView(); + void setIconView(); + int columnWidth(int); + void setColumnWidth(int,int); + static const QString columnItemName(SlFileListItem::ColumnItem); + static const SlFileListColumnConf columnItemList(); + + int columns() const; + + bool upDir(); + bool isTopDir(); + + void setCurrentFile(const QString&); + const QString currentFile(bool isReal=FALSE); + static bool copyFile(const QString&,const QString&, + SlFileOverwirteMode m=Error, + QString *resultName=NULL); + + static bool copyFileCreateDir(const QString &srcName, + const QString &dstName, + SlFileOverwirteMode m=Error, + QString *resultName=NULL); + static bool moveFile(const QString&,const QString&, + SlFileOverwirteMode m=Error, + QString *resultName=NULL); + static QString getCopyFileName(const QString&); + + const QStringList& recent() const; + void setRecent(const QStringList&); + + + void setRecent(const QStringList&,bool isReplace); + void setRecentEnabled(bool); + + const QStringList& history() const; + void setHistory(const QStringList&); + + + void setHistory(const QStringList&,bool isReplace); + bool isHistoryBackAvailable() const; + bool isHistoryForwardAvailable() const; + bool historyBack(); + bool historyForward(); + QPopupMenu *backHistoryPopupMenu() const; + QPopupMenu *forwardHistoryPopupMenu() const; + void setColumnConf(SlFileListColumnConf&); + + void sendFileUpdateMessage(const QString&); + void updateView(); + void recreateIcon(); + void focusToNext(); + void focusToPrev(); + bool rename(); + bool newfolder(); + bool del(); + bool duplicate(); + bool cut(); + bool copy(); + bool paste(); + void setMimeFilter(const QString &); + void clearTmpFolder(); + + void setRecursive(bool,bool); + bool recursive() const; + void setFilter(SlFileSelectorFilter *); + SlFileSelectorFilter *filter(); + bool isEnablePaste(); + + static bool deleteFile(const QString&); + static bool deleteDir(const QDir&); + static bool copyDir(const QString &srcName,const QString &dstName, + SlFileOverwirteMode m=Error); + static bool moveDir(const QString&,const QString&, + SlFileOverwirteMode m=Error); + static QString getCopyDirName(const QString &); + static bool makeDir(const QString &path); + + static uint size(const QString &fName); + static uint fileFree(const QString &fName); + + + + enum DesktopMode { + + HideDesktop = 1, + + ShowAll, + + FileTab + }; + void setDesktopMode(DesktopMode mode); + void setEnabledSystemChannel(bool); + void showUpDirBtn(bool); + void showWritableFile(bool); + + + void setEnableSD(bool); + void setEnableCF(bool); + bool getEnableSD(); + bool getEnableCF(); + + + + + void sendKeyPressEvent( QKeyEvent *e ); + + void setScale(int scale); + int scale() const; + + SlMisc::SlListColumnInfos columnWidthInfos(); + + + + enum FocusMode { + + Auto = 1, + + ByTab, + + ByCommand + }; + void setFocusMode(FocusMode mode); + + void adjustContentsSize(); + + static void updateFile(const QString &filename); + + bool delFile(const QString &mymsg); + + bool isIncludedFile(const QString &filename); + +signals: + + + void selectionChanged(const QFileInfo &file,bool isDevice); + + + void fileSelected(const QFileInfo &file); + + + void dirOpened(const QDir &dir); + + + void enabledPaste(bool); + + + void columnWidthChanged(int column,int oldSize,int newSize); + + + void itemRightPressed(const QFileInfo &file,const QPoint &pos); + + + void selectionLost(); + + + //void keyPressed(QKeyEvent *e,bool &isAccepted); +/* +private slots: + void fileClicked(QListViewItem *); + void fileClicked(QIconViewItem *); + void selectionChanged(QListViewItem *); + void selectionChanged(QIconViewItem *); + void dMenuChanged(int); + void changeDirectory(int,bool isImmediate=TRUE); + void hMenuSelected(int); + void cardMessage( const QCString &, const QByteArray &); + void systemMessage( const QCString &, const QByteArray &); + void headerClicked(int); + void asyncHMenuSelected(); + void asyncDMenuChanged(); + void rightPressed(QIconViewItem *,const QPoint&); + void rightPressed(QListViewItem *,const QPoint&,int); + void upDirClicked(); + void slotKeyPressed(QKeyEvent *e,bool &isAccepted); +*/ +protected: + void focusInEvent(QFocusEvent*); + void show(); + void keyPressEvent( QKeyEvent *e ); + +private: + void openDirInside(QDir&); + void createMyPda(); + void init(); + SlFileSelectorPrivate *p; + SlFileSelector(const SlFileSelector&); + ulong focusWidgets() const; + QWidget* nextFocus(QWidget *,bool) const; + bool focusToTheWidget(QWidget *); +}; + +#endif + + + + + |