#include "libkita/favoritethreads.h"
#include "libkita/kita_misc.h"
#include "libkita/kitaconfig.h"
+#include "libkita/signalcollection.h"
#include <qdragobject.h>
#include <qtextcodec.h>
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 );
}
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()
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* ) ),
}
}
-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();
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();
using namespace Kita;
-static Kita::SignalCollection* instance = 0;
+SignalCollection* SignalCollection::instance = 0;
SignalCollection::SignalCollection()
{}
{}
SignalCollection* SignalCollection::getInstance()
-{}
+{
+ if ( instance == 0 ) {
+ instance = new SignalCollection();
+ }
+ return instance;
+}
#include "signalcollection.moc"
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::URLArgs& args = KParts::URLArgs() );
};
}
#include "libkita/thread.h"
#include "libkita/access.h"
+#include "libkita/signalcollection.h"
enum {
ID_COPY_Link,
{
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;
signals:
void setLocationBarURL( const QString &url );
+ void openURLRequest( const KURL& url, const KParts::URLArgs& args = KParts::URLArgs() );
};
#endif
#include "libkita/datmanager.h"
#include "libkita/parsemisc.h"
#include "libkita/board.h"
+#include "libkita/signalcollection.h"
#define MAX_LABEL_LENGTH 60
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& ) ),