OSDN Git Service

refactoring.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 4 Jun 2004 16:29:48 +0000 (16:29 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Fri, 4 Jun 2004 16:29:48 +0000 (16:29 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1125 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/kita.cpp
kita/src/kitathreadtabwidget.cpp
kita/src/kitathreadtabwidget.h
kita/src/libkita/signalcollection.cpp
kita/src/libkita/signalcollection.h
kita/src/part/kitahtmlpart.cpp
kita/src/part/kitahtmlpart.h
kita/src/part/kitathreadview.cpp

index 1f50258..32904f0 100644 (file)
@@ -23,6 +23,7 @@
 #include "libkita/favoritethreads.h"
 #include "libkita/kita_misc.h"
 #include "libkita/kitaconfig.h"
+#include "libkita/signalcollection.h"
 
 #include <qdragobject.h>
 #include <qtextcodec.h>
@@ -505,7 +506,7 @@ void KitaMainWindow::setupView()
     m_mainDock->setWidget( m_threadTab );
     m_mainDock->setDockSite( KDockWidget::DockFullSite );
     m_mainDock->setEnableDocking( KDockWidget::DockNone );
-    connect( m_threadTab, SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ),
+    connect( Kita::SignalCollection::getInstance(), SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ),
              SLOT( slotOpenURLRequest( const KURL&, const KParts::URLArgs& ) ) );
     QLayout *ql = static_cast<QWidget*>( m_mainDock ) ->layout();
     ql->setResizeMode( QLayout::FreeResize );
@@ -532,8 +533,14 @@ void KitaMainWindow::setupView()
 }
 
 void KitaMainWindow::slotOpenURLRequest( const KURL& url, const KParts::URLArgs& )
-{
-    new KRun( url );
+{ 
+    QRegExp regexp( "http://([^/]*)/([^/]*)/dat/(.*)\\.dat" );
+    if ( regexp.search( url.url() ) == -1 ) {
+        new KRun( url );
+    } else {
+        Kita::Thread* thread = Kita::Thread::getByURL( url.url() );
+        m_threadTab->showThread( thread->datURL(), true );
+    }
 }
 
 void KitaMainWindow::loadCache()
index 38c4b40..c66edf0 100644 (file)
@@ -137,8 +137,6 @@ KitaThreadView* KitaThreadTabWidget::createView()
 
 void KitaThreadTabWidget::connectSignals( KitaThreadView* view )
 {
-    connect( view, SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ),
-             this, SLOT( slotOpenURLRequest( const KURL&, const KParts::URLArgs& ) ) );
     connect( view, SIGNAL( signalChangeStatusbar( const QString& ) ),
              this, SIGNAL( signalChangeStatusbar( const QString& ) ) );
     connect( view, SIGNAL( thread( const Kita::Thread* ) ),
@@ -195,18 +193,6 @@ void KitaThreadTabWidget::deleteView( KitaThreadView* view )
     }
 }
 
-void KitaThreadTabWidget::slotOpenURLRequest( const KURL& url, const KParts::URLArgs& args )
-{
-    // TODO: ¥¹¥ì¤ÎURL¤«¤É¤¦¤«¤â¤Ã¤È¸·Ì©¤Ê¥Á¥§¥Ã¥¯¤ò¤¹¤ë¤³¤È
-    QRegExp regexp( "http://([^/]*)/([^/]*)/dat/(.*)\\.dat" );
-    if ( regexp.search( url.url() ) == -1 ) {
-        emit openURLRequest( url, args );
-    } else {
-        Kita::Thread* thread = Kita::Thread::getByURL( url.url() );
-        showThread( thread->datURL(), true );
-    }
-}
-
 void KitaThreadTabWidget::focusSearchCombo()
 {
     static_cast<KitaThreadView *>( currentPage() ) ->focusSearchCombo();
index 4077919..f004a83 100644 (file)
@@ -54,11 +54,9 @@ private:
     KitaThreadView* findView( const QString& threadURL );
 
 private slots:
-    void slotOpenURLRequest( const KURL& url, const KParts::URLArgs& args = KParts::URLArgs() );
     void slotThread( const Kita::Thread* );
 
 signals:
-    void openURLRequest( const KURL& url, const KParts::URLArgs &args = KParts::URLArgs() );
     void signalChangeStatusbar( const QString& );
     void thread( const Kita::Thread* );
     void writeSucceeded();
index e8eecb5..b33b000 100644 (file)
@@ -11,7 +11,7 @@
 
 using namespace Kita;
 
-static Kita::SignalCollection* instance = 0;
+SignalCollection* SignalCollection::instance = 0;
 
 SignalCollection::SignalCollection()
 {}
@@ -20,6 +20,11 @@ SignalCollection::~SignalCollection()
 {}
 
 SignalCollection* SignalCollection::getInstance()
-{}
+{
+    if ( instance == 0 ) {
+        instance = new SignalCollection();
+    }
+    return instance;
+}
 
 #include "signalcollection.moc"
index 55c9537..e27bf62 100644 (file)
@@ -23,13 +23,16 @@ namespace Kita
     class SignalCollection : public QObject
     {
         Q_OBJECT
+        
+        static SignalCollection* instance;
+        
         SignalCollection();
         ~SignalCollection();
     public:
         static SignalCollection* getInstance();
     
     signals:
-        void openURLRequest( const KURL& url, const KParts::URLArgs &args = KParts::URLArgs() );
+        void openURLRequest( const KURL& url, const KParts::URLArgsargs = KParts::URLArgs() );
     };
 
 }
index b292da3..d9ccf40 100644 (file)
@@ -26,6 +26,7 @@
 
 #include "libkita/thread.h"
 #include "libkita/access.h"
+#include "libkita/signalcollection.h"
 
 enum {
     ID_COPY_Link,
@@ -51,7 +52,10 @@ KitaHTMLPart::KitaHTMLPart( QWidget* parent, const char* name )
 {
     connect( this, SIGNAL( popupMenu( const QString&, const QPoint& ) ),
              SLOT( slotPopupMenu( const QString&, const QPoint& ) ) );
+    connect( this, SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ),
+             SignalCollection::getInstance(), SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ) );
 
+             
     m_popupMenu = new KPopupMenu( view() );
     m_domtree = NULL;
     m_threadView = NULL;
index be614bb..8b6331f 100644 (file)
@@ -73,6 +73,7 @@ private slots:
 
 signals:
     void setLocationBarURL( const QString &url );
+    void openURLRequest( const KURL& url, const KParts::URLArgs& args = KParts::URLArgs() );
 };
 
 #endif
index ff8e9e8..f927de9 100644 (file)
@@ -61,6 +61,7 @@
 #include "libkita/datmanager.h"
 #include "libkita/parsemisc.h"
 #include "libkita/board.h"
+#include "libkita/signalcollection.h"
 
 #define MAX_LABEL_LENGTH 60
 
@@ -132,6 +133,8 @@ KitaThreadView::KitaThreadView( QWidget* parent, const char* name )
     KParts::BrowserExtension* ext = m_threadPart->browserExtension();
     connect( ext, SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ),
              SLOT( slotOpenURLRequest( const KURL&, const KParts::URLArgs& ) ) );
+    connect( this, SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ),
+             Kita::SignalCollection::getInstance(), SIGNAL( openURLRequest( const KURL&, const KParts::URLArgs& ) ) );
     connect( ext, SIGNAL( createNewWindow ( const KURL&, const KParts::URLArgs& ) ),
              SIGNAL( createNewWindow ( const KURL&, const KParts::URLArgs& ) ) );
     connect( ext, SIGNAL( setLocationBarURL( const QString& ) ),