From: Rafi Y. <ya...@us...> - 2005-08-10 03:17:35
|
Update of /cvsroot/krusader/krusader_kde3/krusader/KViewer In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2849/krusader/KViewer Modified Files: krviewer.cpp krviewer.h panelviewer.cpp panelviewer.h Log Message: View modes are back. so is the hex viewer... Index: krviewer.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.cpp,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** krviewer.cpp 6 Aug 2005 19:04:33 -0000 1.32 --- krviewer.cpp 8 Aug 2005 22:23:49 -0000 1.33 *************** *** 81,90 **** viewerMenu = new QPopupMenu( this ); ! // viewerMenu->insertItem( i18n( "&Generic viewer" ), this, SLOT( viewGeneric() ), CTRL + Key_G, 1 ); ! // viewerMenu->insertItem( i18n( "&Text viewer" ), this, SLOT( viewText() ), CTRL + Key_T, 2 ); ! // viewerMenu->insertItem( i18n( "&Hex viewer" ), this, SLOT( viewHex() ), CTRL + Key_H, 3 ); ! // viewerMenu->insertSeparator(); ! // viewerMenu->insertItem( i18n( "Text &editor" ), this, SLOT( editText() ), CTRL + Key_E, 4 ); ! // viewerMenu->insertSeparator(); viewerMenu->insertItem( i18n( "&Close current tab" ), this, SLOT( tabCloseRequest() ), Key_Escape ); viewerMenu->insertItem( i18n( "&Quit" ), this, SLOT( close() ), Key_F10 ); --- 81,90 ---- viewerMenu = new QPopupMenu( this ); ! viewerMenu->insertItem( i18n( "&Generic viewer" ), this, SLOT( viewGeneric() ), CTRL + Key_G, 1 ); ! viewerMenu->insertItem( i18n( "&Text viewer" ), this, SLOT( viewText() ), CTRL + Key_T, 2 ); ! viewerMenu->insertItem( i18n( "&Hex viewer" ), this, SLOT( viewHex() ), CTRL + Key_H, 3 ); ! viewerMenu->insertSeparator(); ! viewerMenu->insertItem( i18n( "Text &editor" ), this, SLOT( editText() ), CTRL + Key_E, 4 ); ! viewerMenu->insertSeparator(); viewerMenu->insertItem( i18n( "&Close current tab" ), this, SLOT( tabCloseRequest() ), Key_Escape ); viewerMenu->insertItem( i18n( "&Quit" ), this, SLOT( close() ), Key_F10 ); *************** *** 142,150 **** PanelViewerBase* viewWidget = new PanelViewer(&viewer->tabBar); ! viewer->addTab(viewWidget,url,"Viewing"); } ! void KrViewer::edit( KURL url, bool ) { krConfig->setGroup( "General" ); QString edit = krConfig->readEntry( "Editor", _Editor ); --- 142,151 ---- PanelViewerBase* viewWidget = new PanelViewer(&viewer->tabBar); ! KParts::Part* part = viewWidget->openURL(url); ! viewer->addTab(viewWidget,"Viewing",part); } ! void KrViewer::edit( KURL url ) { krConfig->setGroup( "General" ); QString edit = krConfig->readEntry( "Editor", _Editor ); *************** *** 162,173 **** } - // KIO::StatJob* statJob = KIO::stat( url, false ); - // connect( statJob, SIGNAL( result( KIO::Job* ) ), this, SLOT( slotStatResult( KIO::Job* ) ) ); - // busy = true; - // while ( busy ) qApp->processEvents(); - // if( !entry.isEmpty() ) { - // KFileItem file( entry, url ); - // } - if( !viewer ){ viewer = new KrViewer( krApp ); --- 163,166 ---- *************** *** 179,193 **** PanelViewerBase* editWidget = new PanelEditor(&viewer->tabBar); ! viewer->addTab(editWidget,url,QString("Editing")); } ! void KrViewer::addTab(PanelViewerBase* pvb, KURL& url, QString msg){ setCaption( msg+": " + url.prettyURL() ); - KParts::Part* part = pvb->openURL(url); - - if( !part ) return; - manager.addPart( part, this ); manager.setActivePart( part ); --- 172,185 ---- PanelViewerBase* editWidget = new PanelEditor(&viewer->tabBar); ! KParts::Part* part = editWidget->openURL(url,PanelViewerBase::Text); ! viewer->addTab(editWidget,QString("Editing"),part); } ! void KrViewer::addTab(PanelViewerBase* pvb, QString msg ,KParts::Part* part){ ! if( !part ) return; + KURL url = pvb->url(); setCaption( msg+": " + url.prettyURL() ); manager.addPart( part, this ); manager.setActivePart( part ); *************** *** 233,236 **** --- 225,265 ---- } + void KrViewer::viewGeneric(){ + PanelViewerBase* pvb = viewerDict[tabBar.currentPageIndex()]; + if( !pvb ) return; + + PanelViewerBase* viewerWidget = new PanelViewer(&tabBar); + KParts::Part* part = viewerWidget->openURL(pvb->url(),PanelViewerBase::Generic); + viewer->addTab(viewerWidget,QString("Viewing"),part); + } + + void KrViewer::viewText(){ + PanelViewerBase* pvb = viewerDict[tabBar.currentPageIndex()]; + if( !pvb ) return; + + PanelViewerBase* viewerWidget = new PanelViewer(&tabBar); + KParts::Part* part = viewerWidget->openURL(pvb->url(),PanelViewerBase::Text); + viewer->addTab(viewerWidget,QString("Viewing"),part); + } + + void KrViewer::viewHex(){ + PanelViewerBase* pvb = viewerDict[tabBar.currentPageIndex()]; + if( !pvb ) return; + + PanelViewerBase* viewerWidget = new PanelViewer(&tabBar); + KParts::Part* part = viewerWidget->openURL(pvb->url(),PanelViewerBase::Hex); + viewer->addTab(viewerWidget,QString("Viewing"),part); + } + + void KrViewer::editText(){ + PanelViewerBase* pvb = viewerDict[tabBar.currentPageIndex()]; + if( !pvb ) return; + + PanelViewerBase* editWidget = new PanelEditor(&tabBar); + KParts::Part* part = editWidget->openURL(pvb->url(),PanelViewerBase::Text); + viewer->addTab(editWidget,QString("Editing"),part); + } + + #if 0 bool KrViewer::editGeneric( QString mimetype, KURL _url ) { Index: panelviewer.cpp =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/panelviewer.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** panelviewer.cpp 6 Aug 2005 19:04:33 -0000 1.3 --- panelviewer.cpp 8 Aug 2005 22:23:49 -0000 1.4 *************** *** 49,62 **** } ! KParts::ReadOnlyPart* PanelViewer::openURL( const KURL &url ) { closeURL(); curl = url; ! cmimetype = KMimeType::findByURL( curl ) ->name(); ! cpart = ( *mimes ) [ cmimetype ]; ! if ( !cpart ) cpart = getPart( cmimetype ); if ( !cpart ) cpart = getPart( "text/plain" ); if ( !cpart ) cpart = getPart( "all/allfiles" ); if ( cpart ) { - mimes->insert( cmimetype, cpart ); addWidget( cpart->widget() ); raiseWidget( cpart->widget() ); --- 49,73 ---- } ! KParts::ReadOnlyPart* PanelViewer::openURL( const KURL &url, Mode mode ) { closeURL(); curl = url; ! ! if( mode == Generic ){ ! cmimetype = KMimeType::findByURL( curl ) ->name(); ! cpart = ( *mimes ) [ cmimetype ]; ! if ( !cpart ){ ! cpart = getPart( cmimetype ); ! mimes->insert( cmimetype, cpart ); ! } ! } ! ! if( mode == Hex ){ ! if ( !cpart ) cpart = getHexPart(); ! } ! if ( !cpart ) cpart = getPart( "text/plain" ); if ( !cpart ) cpart = getPart( "all/allfiles" ); + if ( cpart ) { addWidget( cpart->widget() ); raiseWidget( cpart->widget() ); *************** *** 75,79 **** } ! KParts::ReadOnlyPart *PanelViewer::getPart( QString mimetype ) { KParts::ReadOnlyPart * part = 0L; KLibFactory *factory = 0; --- 86,90 ---- } ! KParts::ReadOnlyPart* PanelViewer::getPart( QString mimetype ) { KParts::ReadOnlyPart * part = 0L; KLibFactory *factory = 0; *************** *** 106,109 **** --- 117,132 ---- } + KParts::ReadOnlyPart* PanelViewer::getHexPart(){ + KParts::ReadOnlyPart * part = 0L; + + KLibFactory * factory = KLibLoader::self() ->factory( "libkhexedit2part" ); + if ( factory ) { + // Create the part + part = ( KParts::ReadOnlyPart * ) factory->create( this, "hexedit2part","KParts::ReadOnlyPart" ); + } + + return part; + } + /* ----==={ PanelEditor }===---- */ *************** *** 116,129 **** } ! KParts::ReadOnlyPart* PanelEditor::openURL( const KURL &url ) { closeURL(); curl = url; ! cmimetype = KMimeType::findByURL( curl ) ->name(); ! cpart = ( *mimes ) [ cmimetype ]; ! if ( !cpart ) cpart = getPart( cmimetype ); if ( !cpart ) cpart = getPart( "text/plain" ); if ( !cpart ) cpart = getPart( "all/allfiles" ); if ( cpart ) { - mimes->insert( cmimetype, cpart ); addWidget( cpart->widget() ); raiseWidget( cpart->widget() ); --- 139,159 ---- } ! KParts::ReadOnlyPart* PanelEditor::openURL( const KURL &url, Mode mode ) { closeURL(); curl = url; ! ! if( mode == Generic ){ ! cmimetype = KMimeType::findByURL( curl ) ->name(); ! cpart = ( *mimes ) [ cmimetype ]; ! if ( !cpart ){ ! cpart = getPart( cmimetype ); ! mimes->insert( cmimetype, cpart ); ! } ! } ! if ( !cpart ) cpart = getPart( "text/plain" ); if ( !cpart ) cpart = getPart( "all/allfiles" ); + if ( cpart ) { addWidget( cpart->widget() ); raiseWidget( cpart->widget() ); Index: panelviewer.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/panelviewer.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** panelviewer.h 6 Aug 2005 19:04:34 -0000 1.4 --- panelviewer.h 8 Aug 2005 22:23:49 -0000 1.5 *************** *** 12,23 **** class PanelViewerBase: public QWidgetStack { Q_OBJECT - public slots: - virtual KParts::ReadOnlyPart* openURL( const KURL& ){ return 0;} - virtual bool closeURL(){ return false; } - - signals: - void openURLRequest( const KURL &url ); - public: PanelViewerBase( QWidget *parent = 0 ); virtual ~PanelViewerBase(); --- 12,18 ---- class PanelViewerBase: public QWidgetStack { Q_OBJECT public: + enum Mode{Generic,Text,Hex}; + PanelViewerBase( QWidget *parent = 0 ); virtual ~PanelViewerBase(); *************** *** 25,28 **** --- 20,30 ---- inline KParts::ReadOnlyPart* part() const { return cpart; } + public slots: + virtual KParts::ReadOnlyPart* openURL( const KURL&, Mode=Generic ){ return 0;} + virtual bool closeURL(){ return false; } + + signals: + void openURLRequest( const KURL &url ); + protected: QDict<KParts::ReadOnlyPart> *mimes; *************** *** 38,42 **** Q_OBJECT public slots: ! KParts::ReadOnlyPart* openURL( const KURL &url ); bool closeURL(); --- 40,44 ---- Q_OBJECT public slots: ! KParts::ReadOnlyPart* openURL( const KURL &url, Mode mode=Generic ); bool closeURL(); *************** *** 47,50 **** --- 49,53 ---- protected: KParts::ReadOnlyPart *getPart( QString mimetype ); + KParts::ReadOnlyPart* getHexPart(); }; *************** *** 52,56 **** Q_OBJECT public slots: ! KParts::ReadOnlyPart* openURL( const KURL &url ); bool closeURL(); void slotStatResult( KIO::Job* job ); --- 55,59 ---- Q_OBJECT public slots: ! KParts::ReadOnlyPart* openURL( const KURL &url, Mode mode=Generic ); bool closeURL(); void slotStatResult( KIO::Job* job ); *************** *** 61,65 **** protected: ! KParts::ReadWritePart *getPart( QString mimetype ); bool busy; --- 64,68 ---- protected: ! KParts::ReadWritePart* getPart( QString mimetype ); bool busy; Index: krviewer.h =================================================================== RCS file: /cvsroot/krusader/krusader_kde3/krusader/KViewer/krviewer.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** krviewer.h 6 Aug 2005 19:04:33 -0000 1.13 --- krviewer.h 8 Aug 2005 22:23:49 -0000 1.14 *************** *** 28,31 **** --- 28,32 ---- #include <ktabwidget.h> + /** *@author Shie Erlich & Rafi Yanai *************** *** 39,43 **** public: static void view( KURL url ); ! static void edit( KURL url, bool create = false ); --- 40,44 ---- public: static void view( KURL url ); ! static void edit( KURL url ); *************** *** 45,48 **** --- 46,55 ---- void keyPressEvent( QKeyEvent *e ); void createGUI( KParts::Part* ); + + void viewGeneric(); + void viewText(); + void viewHex(); + void editText(); + void tabChanged(QWidget* w); void tabCloseRequest(QWidget *w); *************** *** 56,60 **** KrViewer( QWidget *parent = 0, const char *name = 0 ); ~KrViewer(); ! void addTab(PanelViewerBase* pvb, KURL& url, QString msg); KParts::PartManager manager; --- 63,67 ---- KrViewer( QWidget *parent = 0, const char *name = 0 ); ~KrViewer(); ! void addTab(PanelViewerBase* pvb, QString msg, KParts::Part* part); KParts::PartManager manager; |