-rw-r--r-- | libopie2/opieui/fileselector/ofileselector.cpp | 72 | ||||
-rw-r--r-- | libopie2/opieui/fileselector/ofileselector.h | 60 |
2 files changed, 131 insertions, 1 deletions
diff --git a/libopie2/opieui/fileselector/ofileselector.cpp b/libopie2/opieui/fileselector/ofileselector.cpp index 71d765c..600daff 100644 --- a/libopie2/opieui/fileselector/ofileselector.cpp +++ b/libopie2/opieui/fileselector/ofileselector.cpp @@ -808,12 +808,41 @@ QWidget* OFileViewFileSystem::widget( QWidget* parent ) void OFileViewFileSystem::activate( const QString& str) { m_all = (str != QObject::tr("Files") ); } /* Selector */ +/** + * @short new and complete c'tor + * + * Create a OFileSelector to let the user select a file. It can + * either be used to open a file, select a save name in a dir or + * as a dropin for the FileSelector. + * + * <pre> + * QMap<QString, QStringList> mimeTypes; + * QStringList types; + * types << "text@slash* "; + * types << "audio@slash*"; + * mimeTypes.insert( tr("Audio and Text"), types ); + * mimeTypes.insert( tr("All"), "*@slash*); + * + * now you could create your fileselector + * </pre> + * + * + * @param parent the parent of this widget + * @param mode The mode from the enum Mode (Open,Save,FILESELECTOR) + * @param sel The selector to be used + * @param dirName The name of the dir to start int + * @param fileName The fileName placed in the fileselector lineedit + * @param mimetypes The MimeType map of used mimetypes + * @param showNew Show a New Button. Most likely to be used in the FileSelector view. + * @param showClose Show a Close Button. Most likely to be used in FileSelector view. + * + */ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel, const QString& dirName, const QString& fileName, const MimeTypes& mimetypes, bool showNew, bool showClose) :QWidget( parent, "OFileSelector" ) { @@ -849,12 +878,16 @@ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel, break; } slotViewChange( str ); } + +/** + * This a convience c'tor to just substitute the use of FileSelector + */ OFileSelector::OFileSelector( const QString& mimeFilter, QWidget* parent, const char* name, bool showNew, bool showClose ) : QWidget( parent, name ) { m_current = 0; m_shNew = showNew; @@ -955,47 +988,79 @@ void OFileSelector::initViews() /* see above why add both */ OFileViewInterface* in = new OFileViewFileSystem( this ); m_views.insert( QObject::tr("Files"), in ); m_views.insert( QObject::tr("All Files"), in ); } +/** + * d'tor + */ OFileSelector::~OFileSelector() { } + + +/** + * Convience function for the fileselector + * make sure to delete the DocLnk + * + * @see DocLnk + * @todo remove in ODP + */ const DocLnk* OFileSelector::selected() { DocLnk* lnk = new DocLnk( currentView()->selectedDocument() ); return lnk; } +/** + * + * @return the name of the selected file + */ QString OFileSelector::selectedName()const { return currentView()->selectedName(); } + +/** + * @return the selected path + */ QString OFileSelector::selectedPath()const { return currentView()->selectedPath(); } +/** + * @return the directory name + */ QString OFileSelector::directory()const { return currentView()->directory(); } +/** + * @return a DocLnk for the selected document + */ DocLnk OFileSelector::selectedDocument()const { return currentView()->selectedDocument(); } +/** + * @return the number of items for the current view + */ int OFileSelector::fileCount()const { return currentView()->fileCount(); } +/** + * @return reparse the file content + */ void OFileSelector::reread() { return currentView()->reread(); } OFileViewInterface* OFileSelector::currentView()const @@ -1015,17 +1080,24 @@ bool OFileSelector::showClose()const MimeTypes OFileSelector::mimeTypes()const { return m_mimeType; } +/** + * @return the Mode of the OFileSelector + */ int OFileSelector::mode()const { return m_mode; } + +/** + * @return the Selector of the OFileSelector + */ int OFileSelector::selector()const { return m_selector; } QStringList OFileSelector::currentMimeType()const diff --git a/libopie2/opieui/fileselector/ofileselector.h b/libopie2/opieui/fileselector/ofileselector.h index 7abe8b7..7fa657b 100644 --- a/libopie2/opieui/fileselector/ofileselector.h +++ b/libopie2/opieui/fileselector/ofileselector.h @@ -55,21 +55,45 @@ typedef QMap<QString, QStringList> MimeTypes; namespace Opie { class OFileViewInterface; class OFileViewFileListView; + +/** + * @short a dropin replacement for the FileSelector + * + * This class is first used insert the OFileDialog. + * It supports multiple view and mimetype filtering for now. + * + * @see OFileDialog + * @see FileSelector + * @author zecke + * @version 0.1 + */ class OFileSelector : public QWidget { Q_OBJECT friend class Opie::OFileViewInterface; friend class Opie::OFileViewFileListView; public: + /** + * The Mode of the Fileselector + * Open = Open A File + * Save = Save a File + * FILESELECTOR = As A GUI in a screen to select a file + */ enum Mode { Open=1, Save=2, FileSelector=4, OPEN=1, SAVE=2, FILESELECTOR=4 }; // enum OldMode { OPEN=1, SAVE=2, FILESELECTOR = 4 }; + /** + * Normal = The old FileSelector + * Extended = Dir View + * ExtendedAll = Dir View with all hidden files + * Default = What the vendor considers best + */ enum Selector { Normal = 0, Extended=1, ExtendedAll =2, Default=3, NORMAL=0,EXTENDED=1, EXTENDED_ALL =2, DEFAULT=3 }; // enum OldSelector { NORMAL = 0, EXTENDED =1, EXTENDED_ALL = 2}; OFileSelector(QWidget* parent, int mode, int selector, const QString& dirName, const QString& fileName, @@ -91,23 +115,57 @@ public: int fileCount()const; void reread(); int mode()const; int selector()const; - + /** + * Set the Icon visible + * @param b Show or Hide the New Button + */ void setNewVisible( bool b ); + + /** + * Set the Icon visible + */ void setCloseVisible( bool b ); + + /** + * Set the Name Line visible + */ void setNameVisible( bool b ); signals: + /** + * dirSelected is emitted whenever changed into a different dir + */ void dirSelected( const QString& ); + + /** + * fileSelected is emitted when a file is selected + * it uses a DocLnk as parameter + */ void fileSelected( const DocLnk& ); + + /** + * fileSelected is emitted when a file is selected + * the complete path is a parameter + */ void fileSelected( const QString& ); + + /** + * Create a new File with a DocLnk + */ void newSelected( const DocLnk& ); + void closeMe(); + + /** + * Ok is emitted on a Qt::Key_Return or Q::Key_Enter + * in the line edit + */ void ok(); void cancel(); /* used by the ViewInterface */ private: bool showNew()const; |