OSDN Git Service

>>970, active subject tab when delete all thread tabs.
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sat, 10 Jul 2004 11:46:26 +0000 (11:46 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Sat, 10 Jul 2004 11:46:26 +0000 (11:46 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1234 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/kita.cpp
kita/src/kita.h
kita/src/kitasubjecttabwidget.cpp
kita/src/kitasubjecttabwidget.h
kita/src/kitasubjectview.cpp
kita/src/kitasubjectview.h
kita/src/kitathreadtabwidget.cpp
kita/src/kitathreadtabwidget.h
kita/src/libkita/signalcollection.h

index 7da9983..dabc8fe 100644 (file)
@@ -111,9 +111,12 @@ KitaMainWindow::KitaMainWindow()
     connect( signalCollection, SIGNAL( setMainURLLine( const KURL& ) ),
              SLOT( setUrl( const KURL& ) ) );
 
-    connect( signalCollection, SIGNAL( openBoardRequested( const QString&, bool ) ),
-             SLOT( switchSubjectView( const QString&, bool ) ) );
+    connect( signalCollection, SIGNAL( switchSubjectView() ),
+             SLOT( slotSwitchSubjectView() ));
 
+    connect( this, SIGNAL( switchSubjectView() ),
+            signalCollection, SIGNAL( switchSubjectView() ));
+    
     connect( m_subjectTab, SIGNAL( showThreadRequested( const QString&, bool ) ),
              SLOT( switchThreadView( const QString&, bool ) ) );
 
@@ -123,15 +126,9 @@ KitaMainWindow::KitaMainWindow()
     connect( signalCollection, SIGNAL( writeSucceeded() ),
              SLOT( slotWriteSucceeded() ) );
 
-    connect( m_threadTab, SIGNAL( sigHideSubject() ),
-             SLOT( hideSubject() ) );
-
     connect( m_threadTab->manager(), SIGNAL( activePartChanged( KParts::Part* ) ),
              SLOT( createGUI( KParts::Part* ) ) );
 
-    connect( m_boardView, SIGNAL( sigShowSubject() ),
-             SLOT( showSubject() ) );
-
     connect( m_subjectTab, SIGNAL( loadBoardCompleted( const KURL& ) ),
              SLOT( setUrl( const KURL& ) ) );
 
@@ -304,7 +301,6 @@ void KitaMainWindow::writeConfig( KConfig* config )
     config->writeEntry( "ThreadFont", KitaConfig::threadFont() );
     config->writeEntry( "ShowMailAddress", KitaConfig::showMailAddress() );
     config->writeEntry( "MarkTime", KitaConfig::MarkTime() );
-    config->writeEntry( "ViewMode", KitaConfig::viewMode() );
     config->writeEntry( "SortOrder", KitaConfig::sortOrder() );
     config->writeEntry( "AlwaysUseTab", KitaConfig::alwaysUseTab() );
     config->writeEntry( "ShowAA", KitaConfig::showAA() );
@@ -504,30 +500,20 @@ void KitaMainWindow::resetWindows()
     m_subjectDock->manualDock( m_mainDock, KDockWidget::DockTop, 30 );
 }
 
-void KitaMainWindow::hideSubject()
-{
-    if ( KitaConfig::viewMode() != KitaConfig::View_2pane ) return ;
-    if ( !m_subjectDock->isDockBackPossible() )
-        if ( m_subjectDock->mayBeHide() )
-            m_subjectListAction->activate();
-}
-
-void KitaMainWindow::showSubject()
-{
-    if ( KitaConfig::viewMode() != KitaConfig::View_2pane ) return ;
-    if ( m_subjectDock->mayBeShow() )
-        m_subjectListAction->activate();
-}
 
 void KitaMainWindow::windowToggleView()
 {
     //FIXME: m_subjectDock->dockSite() & KDockWidget::DockCenter != 0 °Ê³°¤Î¤È¤­¤Ï¤É¤¦¤¹¤ë¡©
     kdDebug() << "Do toggle" << endl;
-    if ( !m_subjectListAction->isChecked() || (m_subjectDock->dockSite() & KDockWidget::DockCenter == 0) ) return;
-    KDockWidget *w = m_subjectDock->isVisible() ? m_mainDock : m_subjectDock;
+    if ( !m_subjectListAction->isChecked() ) return;
+    if( !m_subjectDock->isVisible()
+       || !m_subjectDock->isActiveWindow() ) emit switchSubjectView();
+    else{
+    KDockWidget *w = m_mainDock;
     kdDebug() << QString( "toggle target: %1" ).arg( w->name() ) << endl;
     w->makeDockVisible();
     w->getWidget()->setFocus();
+    }
 }
 
 void KitaMainWindow::windowMenuAboutToShow()
@@ -949,7 +935,7 @@ void KitaMainWindow::saveAboneWordList()
     }
 }
 
-void KitaMainWindow::switchSubjectView( const QString&, bool )
+void KitaMainWindow::slotSwitchSubjectView()
 {
     if ( m_subjectListAction->isChecked() )
         m_subjectDock->makeDockVisible();
index 0470160..bde92da 100644 (file)
@@ -101,8 +101,6 @@ private slots:
     void settingsMenuAboutToShow();
     void slotEditCopy();
     void resetWindows();
-    void hideSubject();
-    void showSubject();
     void closeSubjectView();
     void closeBoardView();
 
@@ -115,7 +113,7 @@ private slots:
     void bookmark( const QString& datURL, bool on );
     void slotSetMainCaption( const QString& captionStr );
     void slotIsKitaActive();
-    void switchSubjectView( const QString&, bool );
+    void slotSwitchSubjectView();
     void switchThreadView( const QString&, bool );
 
 private:
@@ -160,6 +158,7 @@ private:
     void isKitaActive();
     void kitaIsActive();
     void favoritesUpdated();
+    void switchSubjectView();
 };
 
 #endif // _KITA_H_
index fd5428f..f936cbc 100644 (file)
@@ -44,6 +44,10 @@ KitaSubjectTabWidget::KitaSubjectTabWidget( QWidget* parent, const char* name, W
              SLOT( deleteView( KitaSubjectView* ) ) );
     connect( signalCollection, SIGNAL( openBoardRequested( const QString&, bool ) ),
              SLOT( loadBoard( const QString&, bool ) ) );
+    connect( this, SIGNAL( switchSubjectView() ),
+             signalCollection, SIGNAL( switchSubjectView() ) );
+    connect( signalCollection, SIGNAL( switchSubjectView() ),
+            SLOT( slotSwitchSubjectView() ));
 }
 
 KitaSubjectTabWidget::~KitaSubjectTabWidget()
@@ -51,6 +55,7 @@ KitaSubjectTabWidget::~KitaSubjectTabWidget()
 
 void KitaSubjectTabWidget::loadBoard( const QString& boardURL, bool withNewTab )
 {
+    emit switchSubjectView();
     KitaSubjectView * view = findView( boardURL );
     QString boardName = Kita::Board::getName( boardURL );
     if ( view )
@@ -78,6 +83,12 @@ void KitaSubjectTabWidget::loadBoard( const QString& boardURL, bool withNewTab )
     showPage( m_latestView );
 }
 
+/* private slot */
+void KitaSubjectTabWidget::slotSwitchSubjectView()
+{
+    m_latestView->setFocusList();
+}
+
 void KitaSubjectTabWidget::connectSignals( Kita::ThreadListView* view )
 {
     connect( view, SIGNAL( showThreadRequested( const QString&, bool ) ),
@@ -110,6 +121,7 @@ void KitaSubjectTabWidget::slotCurrentChanged( QWidget* widget )
     else
     {
         m_latestView = static_cast<KitaSubjectView*>( widget );
+       m_latestView->setFocusList();
     }
 }
 
index 5d00834..ba7f1ad 100644 (file)
@@ -42,10 +42,12 @@ private:
 private slots:
     void slotCurrentChanged( QWidget* widget );
     void deleteView( KitaSubjectView* view );
+    void slotSwitchSubjectView();
 
 signals:
     void showThreadRequested( const QString&, bool withNewTab );
     void loadBoardCompleted( const KURL& );
+    void switchSubjectView();
 };
 
 namespace Kita
index e82402b..86b9ea0 100644 (file)
@@ -203,6 +203,15 @@ void KitaSubjectView::loadBoard( const QString& boardURL )
     UpdateKindLabel();
 }
 
+/* public */
+void KitaSubjectView::setFocusList()
+{
+    setActiveWindow();
+    topLevelWidget()->raise();
+    subjectList->setFocus();
+}
+
+
 void KitaSubjectView::UpdateKindLabel()
 {
     QString fmtstr;
index 8582298..3c15438 100644 (file)
@@ -32,6 +32,7 @@ public:
     ~KitaSubjectView();
     const QString boardURL();
     const QString boardName();
+    void setFocusList();
 
 public slots:
     void reloadSubject();
index c2346e6..5b445d7 100644 (file)
@@ -81,8 +81,6 @@ void KitaThreadTabWidget::showThread( const QString& url, bool withNewTab )
     }
     if( num == 0 ) num = Kita::DatManager::getKokoyonNum( datURL );
 
-    emit sigHideSubject();
-
     KitaThreadView * view = findView( Kita::DatManager::threadURL( datURL ) );
     if ( view ) {
         setCurrentPage( indexOf( view ) );
@@ -158,6 +156,8 @@ void KitaThreadTabWidget::connectSignals()
              signalCollection, SIGNAL( setMainStatusbar( const QString& ) ) );
     connect( this, SIGNAL( setMainCaption( const QString& ) ),
              signalCollection, SIGNAL( setMainCaption( const QString& ) ) );
+    connect( this, SIGNAL( switchSubjectView() ),
+             signalCollection, SIGNAL( switchSubjectView() ));
     connect( signalCollection, SIGNAL( updateThreadTab( const KURL& ) ),
              this, SLOT( slotUpdateThreadTab( const KURL& ) ) );
     connect( signalCollection, SIGNAL( closeCurrentThreadTab() ),
@@ -212,6 +212,7 @@ void KitaThreadTabWidget::deleteView( QWidget* v )
             showPage( view );
             emit setMainStatusbar( "" );
             emit setMainCaption( "" );
+           emit switchSubjectView();
         }
     }
 }
index 24bc04b..019d738 100644 (file)
@@ -67,7 +67,7 @@ protected:
 signals:
     void setMainStatusbar( const QString& );
     void setMainCaption( const QString& );
-    void sigHideSubject();
+    void switchSubjectView();
 };
 
 class KitaThreadTabBar : public QTabBar
index 08d7a3d..fa16f15 100644 (file)
@@ -34,9 +34,14 @@ namespace Kita
         void openURLRequest( const KURL& url, const KParts::URLArgs& args = KParts::URLArgs() );
         void writeSucceeded();
         void bookmarked( const QString& datURL, bool on );
-        void openBoardRequested( const QString& boardURL, bool withNewTab );
         void favoritesUpdated();
 
+       /* to: KitaMainWindow, KitaSubjectTabWidget */
+       void switchSubjectView();
+       
+       /* to : KitaSubjectTabWidget */
+        void openBoardRequested( const QString& boardURL, bool withNewTab );
+       
        /* to : KitaSubjectView, FavoriteListView */
        void updateSubjectTab( const KURL& url );