author | zecke <zecke> | 2002-10-06 15:40:28 (UTC) |
---|---|---|
committer | zecke <zecke> | 2002-10-06 15:40:28 (UTC) |
commit | 8d3e63d01c9a37dfd27f3b6bd9429c8a0274d90f (patch) (side-by-side diff) | |
tree | fb73b4dd7035b56fd7271a689e80bc2c2067c719 | |
parent | 24393565a48df6bb65516c25c124280724af9a75 (diff) | |
download | opie-8d3e63d01c9a37dfd27f3b6bd9429c8a0274d90f.zip opie-8d3e63d01c9a37dfd27f3b6bd9429c8a0274d90f.tar.gz opie-8d3e63d01c9a37dfd27f3b6bd9429c8a0274d90f.tar.bz2 |
As promised here is the switching
It's working as expected
I'll clean up it a bit fix some UI bugs
and then put it into the libopie.pro
-rw-r--r-- | libopie/ofileselector/ofileselector.cpp | 102 | ||||
-rw-r--r-- | libopie/ofileselector/ofileselector.h | 8 |
2 files changed, 95 insertions, 15 deletions
diff --git a/libopie/ofileselector/ofileselector.cpp b/libopie/ofileselector/ofileselector.cpp index 91a510f..7f38f5b 100644 --- a/libopie/ofileselector/ofileselector.cpp +++ b/libopie/ofileselector/ofileselector.cpp @@ -322,103 +322,97 @@ int OFileSelector::fileCount() case Normal: count = m_select->fileCount(); break; case Extended: case ExtendedAll: default: count = currentView()->fileCount(); break; } return count; } DocLnk OFileSelector::selectedDocument() const { DocLnk lnk; switch( m_selector ){ case Normal:{ lnk = m_select->selectedDocument(); break; } case Extended: case ExtendedAll: default: lnk = DocLnk( selectedName() ); break; } return lnk; } QValueList<DocLnk> OFileSelector::selectedDocuments() const { QValueList<DocLnk> docs; docs.append( selectedDocument() ); return docs; } // slots internal void OFileSelector::slotOk() { emit ok(); } void OFileSelector::slotCancel() { emit cancel(); } /* switch the views */ void OFileSelector::slotViewCheck(const QString &sel) { - if( sel == tr("Documents" ) ){ - initializeOldSelector(); - m_selector = Normal; - - }else { -; - } + setView( sel ); } QString OFileSelector::currentMimeType() const{ QString mime; QString currentText; if (m_shChooser && m_mimeCheck ) currentText = m_mimeCheck->currentText(); qWarning("CurrentText" + currentText ); if (tr("All") == currentText ) return QString::null; else if (currentText.isEmpty() ) { ; }else { QMap<QString, QStringList>::ConstIterator it; it = m_mimetypes.find( currentText ); if ( it != m_mimetypes.end() ) { mime = it.data().join(";"); }else{ mime = currentText; } } return mime; } void OFileSelector::slotMimeCheck(const QString &mime) { if( m_selector == Normal ){ initializeOldSelector(); updateMimes(); updateMimeCheck(); m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) ); }else{ // others qWarning("Mime %s", mime.latin1() ); if(m_shChooser ){ qWarning("Current Text %s", m_mimeCheck->currentText().latin1() ); //m_mimeCheck->setCurrentItem(indexByString( m_mimeCheck, mime) ); } reparse(); } } /* * Ok if a non dir gets inserted into this combobox * we need to change it * QFileInfo and dirPath will give us the right Dir */ void OFileSelector::slotLocationActivated(const QString &file) { @@ -429,97 +423,96 @@ void OFileSelector::slotLocationActivated(const QString &file) cd(info.dirPath( TRUE ) ); //absolute else cd(name ); reparse(); } void OFileSelector::slotInsertLocationPath(const QString ¤tPath, int count) { QStringList pathList; bool underDog = FALSE; for(int i=0;i<count;i++) { pathList << m_location->text(i); if( m_location->text(i) == currentPath) underDog = TRUE; } if( !underDog) { m_location->clear(); if( currentPath.left(2)=="//") pathList.append( currentPath.right(currentPath.length()-1) ); else pathList.append( currentPath ); m_location->insertStringList( pathList,-1); } } /* * Do not crash anymore * don't try to change dir to a file */ void OFileSelector::locationComboChanged() { QFileInfo info( m_location->lineEdit()->text() ); qWarning("info %s %s", info.dirPath(true).latin1(), m_location->lineEdit()->text().latin1() ); if (info.isFile() ) cd(info.dirPath(TRUE) ); //absolute path else cd( m_location->lineEdit()->text() ); reparse(); } void OFileSelector::init() { initFactory(); m_lay = new QVBoxLayout( this ); m_lay->setSpacing(0 ); /* take care of the main view... */ initToolbar(); /* initialize the file lister */ - initLister(); if( m_selector == Normal ){ QString mime; if (!m_autoMime) { if (!m_mimetypes.isEmpty() ) { QMap<QString, QStringList>::Iterator it; it = m_mimetypes.begin(); // cause we're in the init mime = it.data().join(";"); } } initializeOldSelector(); }else{ initializeView(); } if( m_shLne ) // the LineEdit with the current FileName initializeName(); if( m_shPerm ) // the Permission QCheckBox initializePerm(); if( m_shChooser ) // the Chooser for the view and Mimetypes initializeChooser(); if( m_shYesNo ) // the Yes No button row initializeYes( ); if (m_selector != Normal ) reparse(); } void OFileSelector::updateMimes() { if( m_autoMime ){ m_mimetypes.clear(); m_mimetypes.insert( tr("All"), QString::null ); if( m_selector == Normal ){ DocLnkSet set; Global::findDocuments(&set, QString::null ); QListIterator<DocLnk> dit( set.children() ); for( ; dit.current(); ++dit ){ if( !m_mimetypes.contains( (*dit)->type() ) ) m_mimetypes.insert( (*dit)->type(), (*dit)->type() ); } }// else done in reparse } } void OFileSelector::initVars() { if( m_mimetypes.isEmpty() ) @@ -603,175 +596,172 @@ void OFileSelector::initializeYes() * */ if( m_boxOk == 0 ){ m_boxOk = new QHBox( this ); m_ok = new QPushButton( tr("&Save"),m_boxOk , "save" ); m_cancel = new QPushButton( tr("C&ancel"), m_boxOk, "cancel" ); //m_boxOk->addWidget( m_ok ); //m_boxOk->addWidget( m_cancel ); m_boxOk->setMargin( 5 ); m_boxOk->setSpacing( 10 ); m_lay->addWidget( m_boxOk, 0 ); connect( m_ok, SIGNAL( clicked() ), this, SLOT(slotOk() ) ); connect( m_cancel, SIGNAL( clicked() ), this, SLOT( slotCancel() ) ); } } /* * OK m_mimeCheck is a QComboBox we now want to fill * out that combobox * if automime we need to update the mimetypes */ void OFileSelector::updateMimeCheck() { m_mimeCheck->clear(); if (m_autoMime ) { //m_mimeCheck->insertItem( tr("All") ); updateMimes(); } QMap<QString, QStringList>::Iterator it; for (it = m_mimetypes.begin(); it != m_mimetypes.end(); ++it ) { m_mimeCheck->insertItem( it.key() ); } } void OFileSelector::initializeChooser() { if( m_boxView == 0 ){ m_boxView = new QHBox( this ); m_viewCheck = new QComboBox( m_boxView, "view check"); m_mimeCheck = new QComboBox( m_boxView, "mime check"); m_boxView->setSpacing( 8 ); m_lay->addWidget(m_boxView, 0 ); updateMimeCheck(); + fillList(); connect( m_viewCheck, SIGNAL( activated(const QString & ) ), this, SLOT( slotViewCheck(const QString & ) ) ); connect( m_mimeCheck, SIGNAL( activated(const QString & ) ), this, SLOT( slotMimeCheck( const QString & ) ) ); } } /* generate the buttons for the toolbar */ void OFileSelector::initToolbar() { m_mainView = new OFileSelectorMain( this ); /* now generate the tool bar */ qWarning( "toolbar" ); m_pseudo = new QWidget( m_mainView, "Pseudo Widget" ); m_pseudoLayout = new QVBoxLayout( m_pseudo ); m_boxToolbar = new QHBox( m_pseudo ); m_boxToolbar->setSpacing( 0 ); // tool bar members now m_location = new QComboBox( m_boxToolbar ); m_location->setEditable( TRUE ); m_location->setDuplicatesEnabled( FALSE ); connect( m_location, SIGNAL(activated(const QString& ) ), this, SLOT(slotLocationActivated(const QString& )) ); connect( m_location->lineEdit(), SIGNAL(returnPressed() ) , this, SLOT(locationComboChanged() ) ); // UP Button m_up = new QPushButton( Resource::loadIconSet("up"), QString::null, m_boxToolbar, "cdUpButton" ); m_up->setFixedSize( QSize(20, 20 ) ); connect( m_up, SIGNAL( clicked() ), this, SLOT(cdUP() ) ); m_up->setFlat( TRUE ); // Home Button m_homeButton = new QPushButton(Resource::loadIconSet("home"), QString::null, m_boxToolbar ); m_homeButton->setFixedSize( QSize(20, 20 ) ); connect(m_homeButton, SIGNAL(clicked() ), this, SLOT(slotHome() ) ); m_homeButton->setFlat( TRUE ); // Documents Button m_docButton = new QPushButton( Resource::loadIconSet("DocsIcon"), QString::null, m_boxToolbar, "docsButton" ); m_docButton->setFixedSize( QSize(20, 20 ) ); m_docButton->setFlat( true ); connect( m_docButton, SIGNAL(clicked() ), this, SLOT(slotDoc() ) ); // close button m_close = new QPushButton( Resource::loadIconSet( "close"), "", m_boxToolbar ); connect( m_close, SIGNAL(clicked() ), this, SIGNAL(closeMe() ) ); m_close->setFixedSize( 20, 20 ); m_boxToolbar->setFixedHeight( 20 ); m_pseudoLayout->addWidget(m_boxToolbar ); /* init the locations */ initLocations(); if( !m_shTool ){ m_location->hide( ); m_up->hide( ); m_homeButton->hide( ); m_docButton->hide( ); } if(!m_shClose ) m_close->hide(); m_mainView->setToolbar( m_pseudo ); m_lay->addWidget( m_mainView, 100 ); } -/* initialize the OLocalLister */ -void OFileSelector::initLister() { - m_lister = new OLocalLister(this); -} /* put default locations into the bar */ void OFileSelector::initLocations () { // let;s fill the Location ComboBox StorageInfo storage; const QList<FileSystem> &fs = storage.fileSystems(); QListIterator<FileSystem> it ( fs ); for( ; it.current(); ++it ){ const QString disk = (*it)->name(); const QString path = (*it)->path(); m_location->insertItem(path+ "<-"+disk ); } int count = m_location->count(); m_location->insertItem( m_currentDir ); m_location->setCurrentItem( count ); } void OFileSelector::initializePerm() { if( m_checkPerm == 0 ){ m_checkPerm = new QCheckBox(tr("Set Permission"), this, "perm"); m_checkPerm->setChecked( false ); m_lay->addWidget( m_checkPerm ); } } void OFileSelector::initPics() { m_pixmaps = new QMap<QString,QPixmap>; QPixmap pm = Resource::loadPixmap( "folder" ); QPixmap lnk = Resource::loadPixmap( "opie/symlink" ); QPainter painter( &pm ); painter.drawPixmap( pm.width()-lnk.width(), pm.height()-lnk.height(), lnk ); pm.setMask( pm.createHeuristicMask( FALSE ) ); m_pixmaps->insert("dirsymlink", pm ); QPixmap pm2 = Resource::loadPixmap( "lockedfolder" ); QPainter pen(&pm2 ); pen.drawPixmap(pm2.width()-lnk.width(), pm2.height()-lnk.height(), lnk ); pm2.setMask( pm2.createHeuristicMask( FALSE ) ); m_pixmaps->insert("symlinkedlocked", pm2 ); } // if a mime complies with the m_mimeCheck->currentItem bool OFileSelector::compliesMime( const QString &path, const QString &mime ) { if( mime == "All" ) return true; MimeType type( path ); @@ -894,131 +884,217 @@ void OFileSelector::slotNavigate( ) void OFileSelector::reparse() { if( m_selector == Normal ) return; currentView()->clear(); if( m_shChooser) qWarning("reparse %s", m_mimeCheck->currentText().latin1() ); QString currentMimeType; // let's update the mimetype if( m_autoMime ){ m_mimetypes.clear(); // ok we can change mimetype so we need to be able to give a selection if( m_shChooser ) { currentMimeType = m_mimeCheck->currentText(); m_mimeCheck->clear(); // let's find possible mimetypes m_mimetypes = currentLister()->mimeTypes( m_currentDir ); // add them to the chooser updateMimeCheck(); m_mimeCheck->setCurrentItem( indexByString( m_mimeCheck, currentMimeType ) ); currentMimeType = m_mimeCheck->currentText(); } }else { // no autoMime // let the mimetype be set from out side the m_mimeCheck FEATURE if( m_shChooser ) currentMimeType = m_mimeCheck->currentText(); } // now we got our mimetypes we can add the files currentLister()->reparse( m_currentDir ); /* we're done with adding let's sort */ currentView()->sort(); if( m_shTool ){ m_location->insertItem( m_currentDir ); } // reenable painting and updates } - +/* switch lister to @param lister */ +void OFileSelector::setLister(const QString& lister) { + QStringList listerList = factory()->lister(); + + if (listerList.contains(lister) ) { + delete (OLister*) m_lister; + m_lister = factory()->lister( lister, this ); + }else if (!m_lister ) { + /* + * if we do not have a lister + * we need to take the default one + */ + m_lister = new OLocalLister(this); + } + m_listerName = lister; +} +void OFileSelector::setView( const QString& lis ) { + qWarning("setView "); + fillList(); + if ( lis == tr("Documents") ) { + m_selector = Normal; + delete m_lister; + delete m_fileView; + m_lister = 0l; + m_fileView = 0l; + initializeOldSelector(); + }else { + QString list; + + delete m_lister; + delete m_fileView; + delete m_select; + m_lister =0l; + m_fileView = 0l; + m_select = 0l; + if ( lis.startsWith("All") ) { + m_selector = ExtendedAll; + list = lis.mid(4 ).stripWhiteSpace(); + } else{ + list = lis; + m_selector = Extended; + } + setLister(m_listerName); + m_fileView = factory()->view( list, this, m_mainView ); + m_mainView->setWidget( m_fileView->widget() ); + reparse(); + } +} /* * the factory */ void OFileSelector::initFactory() { m_fileFactory = new OFileFactory(); m_fileFactory->addLister(tr("Files"), newLocalLister ); m_fileFactory->addView(tr("List View"), newFileListView ); /* the factory is just a dummy */ m_fileFactory->addView(tr("Documents"), newFileListView ); } +void OFileSelector::fillList() { + qWarning("fill list"); + if (!m_viewCheck ) + return; + + m_viewCheck->clear(); + QStringList list = factory()->views(); + qWarning("views: " + list.join(";") ); + for (QStringList::Iterator it = list.begin(); it != list.end(); ++it ) { + qWarning( (*it) ); + if ( (*it) == tr("Documents") ) { + m_viewCheck->insertItem( (*it) ); + }else{ + m_viewCheck->insertItem( (*it) ); + m_viewCheck->insertItem( tr("All ") + (*it) ); + } + } +} +OFileFactory* OFileSelector::factory() { + return m_fileFactory; +} OFileView* OFileSelector::currentView() { return m_fileView; } OFileView* OFileSelector::currentView() const{ return m_fileView; } int OFileSelector::filter() { int filter; if ( m_selector == ExtendedAll ) filter = QDir::Files | QDir::Dirs | QDir::Hidden | QDir::All; else filter = QDir::Files | QDir::Dirs | QDir::All ; return filter; } int OFileSelector::sorting() { int sort; if (m_case ) sort = ( QDir::IgnoreCase | QDir::Name | QDir::DirsFirst | QDir::Reversed ); else sort = ( QDir::Name | QDir::DirsFirst | QDir::Reversed ); return sort; } void OFileSelector::internFileSelected( const QString& s) { emit fileSelected( s ); } void OFileSelector::internFileSelected( const DocLnk& d ) { emit fileSelected( d ); } void OFileSelector::internContextMenu() { emit contextMenu(); } void OFileSelector::internChangedDir( const QString& s) { emit dirSelected( s ); cd(s ); } void OFileSelector::internChangedDir( const QDir& s) { emit dirSelected( s ); } QPixmap OFileSelector::pixmap( const QString& s ) { return (*m_pixmaps)[s]; } OLister* OFileSelector::currentLister()const { return m_lister; } void OFileSelector::initializeOldSelector() { qWarning("initializeOldSelector"); delete m_select; // we need to initialize but keep the selected mimetype /* we default not to show close and new buttons */ QString mime = currentMimeType(); qWarning("MimeType " + mime ); m_select = new FileSelector( mime , m_mainView, "fileselector", FALSE, FALSE); m_select->setCategorySelectVisible( FALSE ); m_select->setTypeComboVisible( FALSE ); connect(m_select, SIGNAL(fileSelected( const DocLnk & ) ), this, SLOT( slotFileBridgeSelected(const DocLnk & ) ) ); connect(m_select, SIGNAL(closeMe() ), this, SIGNAL(closeMe() ) ); //connect to close me and other signals as well m_mainView->setWidget( m_select ); } +/* + * initialize the listview + * we will call fillList + * setLister + * with QString::null to get the default + * setView with either Files or All Files + * depending on Extended + */ +void OFileSelector::initializeView() { + setLister(QString::null); + fillList(); + if (m_selector == Extended ) { + setView( tr("Files") ); + }else{ + setView( tr("All Files") ); + } +} + diff --git a/libopie/ofileselector/ofileselector.h b/libopie/ofileselector/ofileselector.h index 3e834fb..76c3ced 100644 --- a/libopie/ofileselector/ofileselector.h +++ b/libopie/ofileselector/ofileselector.h @@ -1,87 +1,88 @@ /* This is based on code and ideas of L. J. Potter ljp@llornkcor.com Thanks a lot =. This file is part of the OPIE Project .=l. Copyright (c) 2002 Holger Freyther <zecke@handhelds.org> .>+-= _;:, .> :=|. This library is free software; you can .> <`_, > . <= redistribute it and/or modify it under :`=1 )Y*s>-.-- : the terms of the GNU Library General Public .="- .-=="i, .._ License as published by the Free Software - . .-<_> .<> Foundation; either version 2 of the License, ._= =} : or (at your option) any later version. .%`+i> _;_. .i_,=:_. -<s. This library is distributed in the hope that + . -:. = it will be useful, but WITHOUT ANY WARRANTY; : .. .:, . . . without even the implied warranty of =_ + =;=|` MERCHANTABILITY or FITNESS FOR A _.=:. : :=>`: PARTICULAR PURPOSE. See the GNU ..}^=.= = ; Library General Public License for more ++= -. .` .: details. : = ...= . :.=- -. .:....=;==+<; You should have received a copy of the GNU -_. . . )=. = Library General Public License along with -- :-=` this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef opiefileselector_h #define opiefileselector_h #include <qpe/fileselector.h> #include <qdir.h> +#include <qguardedptr.h> #include <qwidget.h> #include <qstring.h> #include <qpixmap.h> #include <qstringlist.h> #include <qmap.h> #include <qvaluelist.h> #include <qpe/applnk.h> #include <qlistview.h> /** This is OPIEs FileDialog Widget. You can use it * as a dropin replacement of the fileselector and * or use any of the new features. * This is also a complete FileSave and FileLoad widget * If you look for a Dialog check OFileDialog * */ class DocLnk; class QCheckBox; class QComboBox; class QPushButton; class QGridLayout; class QLineEdit; class QLabel; class QWidgetStack; class QHBoxLayout; class QVBoxLayout; class QPopupMenu; class QFileInfo; class QHBox; class OFileView; class OLister; class OFileSelectorMain; class OFileFactory; // /* the mimetypes one name and a list of mimetypes */ typedef QMap< QString, QStringList> MimeTypes; /** * FIXME later */ struct OPopupMenuFactory { OPopupMenuFactory() {} }; @@ -186,96 +187,98 @@ class OFileSelector : public QWidget { bool isYesCancelVisible()const { return m_shYesNo; }; /** * set Yes/Cancel visible */ void setYesCancelVisible( bool show ); /** * set the toolbar visible */ void setToolbarVisible( bool show ); /** * set the permissionBar to be visible */ void setPermissionBarVisible( bool show ); /** * set the lineedit for file entering visible */ void setLineEditVisible(bool show) ; /** * set the chooser is visible */ void setChooserVisible( bool chooser ); /** * The permissionCheckbox * */ QCheckBox* permissionCheckbox(); /** * setPermission */ bool setPermission() const; /** * set ther permission to bool */ void setPermissionChecked( bool check ); /** * set the Selector Mode */ void setMode( int ); + void setLister( const QString& name ); + void setView( const QString& all ); /** * whether or not to show dirs */ bool showDirs()const { return m_dir; } /** * setShowDirs */ void setShowDirs(bool ); /** * set CaseSensetive */ bool isCaseSensetive()const { return m_case; } /** * set if to be case sensetive */ void setCaseSensetive(bool caSe ); /** * @return if to show files */ bool showFiles()const { return m_files; }; /** * set if files should be shown */ void setShowFiles(bool ); /** * change dir to path */ bool cd(const QString &path ); /** * return the mode of the fileselector */ int mode()const { return m_mode; }; /** * return the selector */ int selector()const { return m_selector; }; /** * set the Selector @@ -332,157 +335,158 @@ class OFileSelector : public QWidget { /** * fileCount */ int fileCount(); DocLnk selectedDocument()const; QValueList<DocLnk> selectedDocuments()const; OFileView* currentView(); OFileView* currentView()const; OLister* currentLister()const; OFileFactory* factory(); int filter(); int sorting(); QPixmap pixmap( const QString& ); /* our tool bar */ QWidget* toolBar(); signals: void fileSelected( const DocLnk & ); void fileSelected( const QString & ); void dirSelected(const QString &dir ); void dirSelected( const QDir& ); void closeMe(); void ok(); void cancel(); void contextMenu(); private slots: void slotOk(); void slotCancel(); void slotViewCheck(const QString & ); void slotMimeCheck(const QString & ); void slotLocationActivated(const QString & ); void slotInsertLocationPath(const QString &, int); void locationComboChanged(); private: void init(); void updateMimes(); private: OFileFactory* m_fileFactory; OFileSelectorMain* m_mainView; OLister* m_lister; + QString m_listerName; OFileView* m_fileView; FileSelector* m_select; int m_mode, m_selector; QComboBox *m_location, *m_mimeCheck, *m_viewCheck; QPushButton *m_homeButton, *m_docButton, *m_hideButton, *m_ok, *m_cancel; QPushButton *m_reread, *m_up, *m_new, *m_close; QListView *m_View; QCheckBox *m_checkPerm; QWidget *m_pseudo; QVBoxLayout *m_pseudoLayout; QString m_currentDir; QString m_name; QMap<QString, QStringList> m_mimetypes; QVBoxLayout *m_lay; QGridLayout *m_Oselector; QHBox *m_boxToolbar; QHBox *m_boxOk; QHBox *m_boxName; QHBox *m_boxView; QLineEdit *m_edit; QLabel *m_fnLabel; bool m_shClose : 1; bool m_shNew : 1; bool m_shTool : 1; bool m_shPerm : 1; bool m_shLne : 1; bool m_shChooser : 1; bool m_shYesNo : 1; bool m_boCheckPerm : 1; bool m_autoMime : 1; bool m_case : 1; bool m_dir : 1; bool m_files : 1; bool m_showPopup : 1; bool m_showHidden : 1; void initVars(); void delItems(); void initializeName(); void initializeYes(); void initializeChooser(); void initializePerm(); void initPics(); bool compliesMime(const QString &path, const QString &mime); bool compliesMime(const QString& mime ); /** * Updates the QComboBox with the current mimetypes */ void updateMimeCheck(); void initializeOldSelector(); - void initLister(); void initToolbar(); void initLocations(); - void initializeView() {}; // FIXME + void initializeView(); // FIXME + void fillList(); void initFactory(); /** * Returns the current mimetype */ QString currentMimeType()const; class OFileSelectorPrivate; OFileSelectorPrivate *d; static QMap<QString,QPixmap> *m_pixmaps; private slots: void slotFileSelected(const QString & ); // not really meant to be a slot void slotFileBridgeSelected( const DocLnk & ); // listview above // popup below virtual void slotDelete(); virtual void cdUP(); virtual void slotHome(); virtual void slotDoc(); virtual void slotNavigate( ); /* for OLister */ private: /* for OFileView */ private: void internFileSelected( const QString& ); void internFileSelected( const DocLnk& ); void internContextMenu(); void internChangedDir( const QString& ); void internChangedDir( const QDir& ) ; }; #endif |