summaryrefslogtreecommitdiff
path: root/libopie2/opieui/fileselector/ofileselector.cpp
Unidiff
Diffstat (limited to 'libopie2/opieui/fileselector/ofileselector.cpp') (more/less context) (show whitespace changes)
-rw-r--r--libopie2/opieui/fileselector/ofileselector.cpp72
1 files changed, 72 insertions, 0 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
@@ -802,24 +802,53 @@ QWidget* OFileViewFileSystem::widget( QWidget* parent )
802 { 802 {
803 m_view = new OFileViewFileListView( parent, startDirectory(), selector() ); 803 m_view = new OFileViewFileListView( parent, startDirectory(), selector() );
804 } 804 }
805 return m_view; 805 return m_view;
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;
822 m_shClose = showClose; 851 m_shClose = showClose;
823 m_mimeType = mimetypes; 852 m_mimeType = mimetypes;
824 m_startDir = dirName; 853 m_startDir = dirName;
825 854
@@ -843,24 +872,28 @@ OFileSelector::OFileSelector( QWidget* parent, int mode, int sel,
843 str = QObject::tr("Files"); 872 str = QObject::tr("Files");
844 m_cmbView->setCurrentItem( 1 ); 873 m_cmbView->setCurrentItem( 1 );
845 break; 874 break;
846 case ExtendedAll: 875 case ExtendedAll:
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();
863 896
864 if (!mimeFilter.isEmpty() ) 897 if (!mimeFilter.isEmpty() )
865 m_mimeType.insert(mimeFilter, QStringList::split(";", mimeFilter ) ); 898 m_mimeType.insert(mimeFilter, QStringList::split(";", mimeFilter ) );
866 899
@@ -949,59 +982,91 @@ void OFileSelector::initViews()
949 connect(m_cmbView, SIGNAL(activated( const QString& ) ), 982 connect(m_cmbView, SIGNAL(activated( const QString& ) ),
950 this, SLOT(slotViewChange( const QString& ) ) ); 983 this, SLOT(slotViewChange( const QString& ) ) );
951 984
952 985
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;
1004} 1069}
1005 1070
1006bool OFileSelector::showNew()const 1071bool OFileSelector::showNew()const
1007{ 1072{
@@ -1009,29 +1074,36 @@ bool OFileSelector::showNew()const
1009} 1074}
1010 1075
1011bool OFileSelector::showClose()const 1076bool OFileSelector::showClose()const
1012{ 1077{
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()];
1034} 1106}
1035 1107
1036void OFileSelector::slotMimeTypeChanged() 1108void OFileSelector::slotMimeTypeChanged()
1037{ 1109{