summaryrefslogtreecommitdiff
authorzecke <zecke>2004-02-07 09:58:31 (UTC)
committer zecke <zecke>2004-02-07 09:58:31 (UTC)
commita41eba9e8404fb6321097e86736e23fbce4ead7a (patch) (unidiff)
treebae6341fa67fdbccaf21e470fa8bb5f13a9460af
parentd4a72f6f428cb764330f07e9499ef9a4795b8228 (diff)
downloadopie-a41eba9e8404fb6321097e86736e23fbce4ead7a.zip
opie-a41eba9e8404fb6321097e86736e23fbce4ead7a.tar.gz
opie-a41eba9e8404fb6321097e86736e23fbce4ead7a.tar.bz2
Forward port the recent API docu of the FileSelector
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.cpp72
-rw-r--r--libopie2/opieui/fileselector/ofileselector.h60
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
@@ -806,16 +806,45 @@ QWidget* OFileViewFileSystem::widget( QWidget* parent )
806} 806}
807 807
808void OFileViewFileSystem::activate( const QString& str) 808void OFileViewFileSystem::activate( const QString& str)
809{ 809{
810 m_all = (str != QObject::tr("Files") ); 810 m_all = (str != QObject::tr("Files") );
811} 811}
812 812
813/* Selector */ 813/* Selector */
814/**
815 * @short new and complete c'tor
816 *
817 * Create a OFileSelector to let the user select a file. It can
818 * either be used to open a file, select a save name in a dir or
819 * as a dropin for the FileSelector.
820 *
821 * <pre>
822 * QMap<QString, QStringList> mimeTypes;
823 * QStringList types;
824 * types << "text@slash* ";
825 * types << "audio@slash*";
826 * mimeTypes.insert( tr("Audio and Text"), types );
827 * mimeTypes.insert( tr("All"), "*@slash*);
828 *
829 * now you could create your fileselector
830 * </pre>
831 *
832 *
833 * @param parent the parent of this widget
834 * @param mode The mode from the enum Mode (Open,Save,FILESELECTOR)
835 * @param sel The selector to be used
836 * @param dirName The name of the dir to start int
837 * @param fileName The fileName placed in the fileselector lineedit
838 * @param mimetypes The MimeType map of used mimetypes
839 * @param showNew Show a New Button. Most likely to be used in the FileSelector view.
840 * @param showClose Show a Close Button. Most likely to be used in FileSelector view.
841 *
842 */
814OFileSelector::OFileSelector( QWidget* parent, int mode, int sel, 843OFileSelector::OFileSelector( QWidget* parent, int mode, int sel,
815 const QString& dirName, const QString& fileName, 844 const QString& dirName, const QString& fileName,
816 const MimeTypes& mimetypes, 845 const MimeTypes& mimetypes,
817 bool showNew, bool showClose) 846 bool showNew, bool showClose)
818 :QWidget( parent, "OFileSelector" ) 847 :QWidget( parent, "OFileSelector" )
819{ 848{
820 m_current = 0; 849 m_current = 0;
821 m_shNew = showNew; 850 m_shNew = showNew;
@@ -847,16 +876,20 @@ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel,
847 str = QObject::tr("All Files"); 876 str = QObject::tr("All Files");
848 m_cmbView->setCurrentItem( 2 ); 877 m_cmbView->setCurrentItem( 2 );
849 break; 878 break;
850 } 879 }
851 slotViewChange( str ); 880 slotViewChange( str );
852 881
853} 882}
854 883
884
885/**
886 * This a convience c'tor to just substitute the use of FileSelector
887 */
855OFileSelector::OFileSelector( const QString& mimeFilter, QWidget* parent, const char* name, 888OFileSelector::OFileSelector( const QString& mimeFilter, QWidget* parent, const char* name,
856 bool showNew, bool showClose ) 889 bool showNew, bool showClose )
857 : QWidget( parent, name ) 890 : QWidget( parent, name )
858{ 891{
859 m_current = 0; 892 m_current = 0;
860 m_shNew = showNew; 893 m_shNew = showNew;
861 m_shClose = showClose; 894 m_shClose = showClose;
862 m_startDir = QPEApplication::documentDir(); 895 m_startDir = QPEApplication::documentDir();
@@ -953,51 +986,83 @@ void OFileSelector::initViews()
953 m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) ); 986 m_views.insert( QObject::tr("Documents"), new ODocumentFileView(this) );
954 987
955 /* see above why add both */ 988 /* see above why add both */
956 OFileViewInterface* in = new OFileViewFileSystem( this ); 989 OFileViewInterface* in = new OFileViewFileSystem( this );
957 m_views.insert( QObject::tr("Files"), in ); 990 m_views.insert( QObject::tr("Files"), in );
958 m_views.insert( QObject::tr("All Files"), in ); 991 m_views.insert( QObject::tr("All Files"), in );
959} 992}
960 993
994/**
995 * d'tor
996 */
961OFileSelector::~OFileSelector() 997OFileSelector::~OFileSelector()
962{ 998{
963} 999}
964 1000
1001
1002
1003/**
1004 * Convience function for the fileselector
1005 * make sure to delete the DocLnk
1006 *
1007 * @see DocLnk
1008 * @todo remove in ODP
1009 */
965const DocLnk* OFileSelector::selected() 1010const DocLnk* OFileSelector::selected()
966{ 1011{
967 DocLnk* lnk = new DocLnk( currentView()->selectedDocument() ); 1012 DocLnk* lnk = new DocLnk( currentView()->selectedDocument() );
968 return lnk; 1013 return lnk;
969} 1014}
970 1015
1016/**
1017 *
1018 * @return the name of the selected file
1019 */
971QString OFileSelector::selectedName()const 1020QString OFileSelector::selectedName()const
972{ 1021{
973 return currentView()->selectedName(); 1022 return currentView()->selectedName();
974} 1023}
975 1024
1025
1026/**
1027 * @return the selected path
1028 */
976QString OFileSelector::selectedPath()const 1029QString OFileSelector::selectedPath()const
977{ 1030{
978 return currentView()->selectedPath(); 1031 return currentView()->selectedPath();
979} 1032}
980 1033
1034/**
1035 * @return the directory name
1036 */
981QString OFileSelector::directory()const 1037QString OFileSelector::directory()const
982{ 1038{
983 return currentView()->directory(); 1039 return currentView()->directory();
984} 1040}
985 1041
1042/**
1043 * @return a DocLnk for the selected document
1044 */
986DocLnk OFileSelector::selectedDocument()const 1045DocLnk OFileSelector::selectedDocument()const
987{ 1046{
988 return currentView()->selectedDocument(); 1047 return currentView()->selectedDocument();
989} 1048}
990 1049
1050/**
1051 * @return the number of items for the current view
1052 */
991int OFileSelector::fileCount()const 1053int OFileSelector::fileCount()const
992{ 1054{
993 return currentView()->fileCount(); 1055 return currentView()->fileCount();
994} 1056}
995 1057
1058/**
1059 * @return reparse the file content
1060 */
996void OFileSelector::reread() 1061void OFileSelector::reread()
997{ 1062{
998 return currentView()->reread(); 1063 return currentView()->reread();
999} 1064}
1000 1065
1001OFileViewInterface* OFileSelector::currentView()const 1066OFileViewInterface* OFileSelector::currentView()const
1002{ 1067{
1003 return m_current; 1068 return m_current;
@@ -1013,21 +1078,28 @@ bool OFileSelector::showClose()const
1013 return m_shClose; 1078 return m_shClose;
1014} 1079}
1015 1080
1016MimeTypes OFileSelector::mimeTypes()const 1081MimeTypes OFileSelector::mimeTypes()const
1017{ 1082{
1018 return m_mimeType; 1083 return m_mimeType;
1019} 1084}
1020 1085
1086/**
1087 * @return the Mode of the OFileSelector
1088 */
1021int OFileSelector::mode()const 1089int OFileSelector::mode()const
1022{ 1090{
1023 return m_mode; 1091 return m_mode;
1024} 1092}
1025 1093
1094
1095/**
1096 * @return the Selector of the OFileSelector
1097 */
1026int OFileSelector::selector()const 1098int OFileSelector::selector()const
1027{ 1099{
1028 return m_selector; 1100 return m_selector;
1029} 1101}
1030 1102
1031QStringList OFileSelector::currentMimeType()const 1103QStringList OFileSelector::currentMimeType()const
1032{ 1104{
1033 return m_mimeType[m_cmbMime->currentText()]; 1105 return m_mimeType[m_cmbMime->currentText()];
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
@@ -53,25 +53,49 @@ class QHBox;
53typedef QMap<QString, QStringList> MimeTypes; 53typedef QMap<QString, QStringList> MimeTypes;
54 54
55namespace Opie 55namespace Opie
56{ 56{
57 57
58class OFileViewInterface; 58class OFileViewInterface;
59class OFileViewFileListView; 59class OFileViewFileListView;
60 60
61
62/**
63 * @short a dropin replacement for the FileSelector
64 *
65 * This class is first used insert the OFileDialog.
66 * It supports multiple view and mimetype filtering for now.
67 *
68 * @see OFileDialog
69 * @see FileSelector
70 * @author zecke
71 * @version 0.1
72 */
61class OFileSelector : public QWidget 73class OFileSelector : public QWidget
62{ 74{
63 Q_OBJECT 75 Q_OBJECT
64 friend class Opie::OFileViewInterface; 76 friend class Opie::OFileViewInterface;
65 friend class Opie::OFileViewFileListView; 77 friend class Opie::OFileViewFileListView;
66 78
67public: 79public:
80 /**
81 * The Mode of the Fileselector
82 * Open = Open A File
83 * Save = Save a File
84 * FILESELECTOR = As A GUI in a screen to select a file
85 */
68 enum Mode { Open=1, Save=2, FileSelector=4, OPEN=1, SAVE=2, FILESELECTOR=4 }; 86 enum Mode { Open=1, Save=2, FileSelector=4, OPEN=1, SAVE=2, FILESELECTOR=4 };
69 // enum OldMode { OPEN=1, SAVE=2, FILESELECTOR = 4 }; 87 // enum OldMode { OPEN=1, SAVE=2, FILESELECTOR = 4 };
88 /**
89 * Normal = The old FileSelector
90 * Extended = Dir View
91 * ExtendedAll = Dir View with all hidden files
92 * Default = What the vendor considers best
93 */
70 enum Selector { Normal = 0, Extended=1, ExtendedAll =2, Default=3, NORMAL=0,EXTENDED=1, EXTENDED_ALL =2, DEFAULT=3 }; 94 enum Selector { Normal = 0, Extended=1, ExtendedAll =2, Default=3, NORMAL=0,EXTENDED=1, EXTENDED_ALL =2, DEFAULT=3 };
71 // enum OldSelector { NORMAL = 0, EXTENDED =1, EXTENDED_ALL = 2}; 95 // enum OldSelector { NORMAL = 0, EXTENDED =1, EXTENDED_ALL = 2};
72 96
73 OFileSelector(QWidget* parent, int mode, int selector, 97 OFileSelector(QWidget* parent, int mode, int selector,
74 const QString& dirName, 98 const QString& dirName,
75 const QString& fileName, 99 const QString& fileName,
76 const MimeTypes& mimetypes = MimeTypes(), 100 const MimeTypes& mimetypes = MimeTypes(),
77 bool newVisible = FALSE, bool closeVisible = FALSE ); 101 bool newVisible = FALSE, bool closeVisible = FALSE );
@@ -89,27 +113,61 @@ public:
89 DocLnk selectedDocument()const; 113 DocLnk selectedDocument()const;
90 114
91 int fileCount()const; 115 int fileCount()const;
92 void reread(); 116 void reread();
93 117
94 int mode()const; 118 int mode()const;
95 int selector()const; 119 int selector()const;
96 120
97 121 /**
122 * Set the Icon visible
123 * @param b Show or Hide the New Button
124 */
98 void setNewVisible( bool b ); 125 void setNewVisible( bool b );
126
127 /**
128 * Set the Icon visible
129 */
99 void setCloseVisible( bool b ); 130 void setCloseVisible( bool b );
131
132 /**
133 * Set the Name Line visible
134 */
100 void setNameVisible( bool b ); 135 void setNameVisible( bool b );
101 136
102signals: 137signals:
138 /**
139 * dirSelected is emitted whenever changed into a different dir
140 */
103 void dirSelected( const QString& ); 141 void dirSelected( const QString& );
142
143 /**
144 * fileSelected is emitted when a file is selected
145 * it uses a DocLnk as parameter
146 */
104 void fileSelected( const DocLnk& ); 147 void fileSelected( const DocLnk& );
148
149 /**
150 * fileSelected is emitted when a file is selected
151 * the complete path is a parameter
152 */
105 void fileSelected( const QString& ); 153 void fileSelected( const QString& );
154
155 /**
156 * Create a new File with a DocLnk
157 */
106 void newSelected( const DocLnk& ); 158 void newSelected( const DocLnk& );
159
107 void closeMe(); 160 void closeMe();
161
162 /**
163 * Ok is emitted on a Qt::Key_Return or Q::Key_Enter
164 * in the line edit
165 */
108 void ok(); 166 void ok();
109 void cancel(); 167 void cancel();
110 168
111 /* used by the ViewInterface */ 169 /* used by the ViewInterface */
112private: 170private:
113 bool showNew()const; 171 bool showNew()const;
114 bool showClose()const; 172 bool showClose()const;
115 MimeTypes mimeTypes()const; 173 MimeTypes mimeTypes()const;