OSDN Git Service

>>877
authorikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Wed, 9 Jun 2004 14:35:05 +0000 (14:35 +0000)
committerikemo <ikemo@56b19765-1e22-0410-a548-a0f45d66c51a>
Wed, 9 Jun 2004 14:35:05 +0000 (14:35 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/kita/kita/trunk@1156 56b19765-1e22-0410-a548-a0f45d66c51a

kita/src/kita.cpp
kita/src/kita.h
kita/src/kitaui.rc

index 3e72c73..5bf43a4 100644 (file)
@@ -49,6 +49,7 @@
 #include <kstdaccel.h>
 #include <kaction.h>
 #include <kstdaction.h>
+#include <kshortcut.h>
 #include <qlayout.h>
 
 KitaMainWindow::KitaMainWindow()
@@ -104,6 +105,9 @@ KitaMainWindow::KitaMainWindow()
     connect( signalCollection, SIGNAL( openBoardRequested( const QString&, bool ) ),
              m_subjectTab, SLOT( loadBoard( const QString&, bool ) ) );
 
+    connect( signalCollection, SIGNAL( openBoardRequested( const QString&, bool ) ),
+             SLOT( openBoardRequested( const QString&, bool ) ) );
+
     connect( m_subjectTab, SIGNAL( showThreadRequested( const QString&, bool ) ),
              m_threadTab, SLOT( showThread( const QString&, bool ) ) );
 
@@ -134,9 +138,9 @@ KitaMainWindow::KitaMainWindow()
     connect( m_urlLine, SIGNAL( returnPressed() ),
              SLOT( slotURLLine() ) );
 
-    QPopupMenu* popup = static_cast<QPopupMenu *>( factory() ->container( "window", this ) );
-    connect( popup, SIGNAL( aboutToShow() ),
-             SLOT( windowMenuAboutToShow() ) );
+    //QPopupMenu* popup = static_cast<QPopupMenu *>( factory() ->container( "window", this ) );
+    //connect( popup, SIGNAL( aboutToShow() ),
+    //         SLOT( windowMenuAboutToShow() ) );
 
     QPopupMenu* settingsPopup = static_cast<QPopupMenu *>( factory() ->container( "settings", this ) );
     connect( settingsPopup, SIGNAL( aboutToShow() ),
@@ -144,6 +148,7 @@ KitaMainWindow::KitaMainWindow()
 
     m_boardView->loadBoardList();
     m_boardView->setFocus();
+    m_boardListAction->activate();
     m_subjectListAction->activate(); // dummy code
 }
 
@@ -252,6 +257,15 @@ void KitaMainWindow::setupActions()
                  actionCollection(),
                  "reset_win" );
 
+    m_toggleViewAction = new KAction(
+        i18n( "&Toggle subject view and thread view" ),
+        KShortcut(Qt::Key_F7),
+        this,
+        SLOT( windowToggleView() ),
+        actionCollection(),
+        "window_toggle_view" );
+
+
     createGUI();
     factory()->addClient(m_threadTab);
 }
@@ -448,10 +462,22 @@ void KitaMainWindow::showSubject()
         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;
+    kdDebug() << QString( "toggle target: %1" ).arg( w->name() ) << endl;
+    w->makeDockVisible();
+    w->getWidget()->setFocus();
+}
+
 void KitaMainWindow::windowMenuAboutToShow()
 {
-    m_boardListAction->setChecked( m_boardDock->isVisible() );
-    m_subjectListAction->setChecked( m_subjectDock->isVisible() );
+    //m_boardListAction->setChecked( m_boardDock->isVisible() );
+    //m_subjectListAction->setChecked( m_subjectDock->isVisible() );
+    //m_toggleViewAction->setEnabled(m_subjectDock->dockSite() & KDockWidget::DockCenter);
 }
 
 void KitaMainWindow::windowCloseTab()
@@ -511,11 +537,15 @@ void KitaMainWindow::setupView()
     m_subjectTab = new KitaSubjectTabWidget( m_subjectDock );
     m_subjectDock->setWidget( m_subjectTab );
     m_subjectDock->setDockSite( KDockWidget::DockNone );
+    connect( m_subjectDock, SIGNAL( headerCloseButtonClicked() ), SLOT( closeSubjectView() ) );
+    connect( m_subjectDock, SIGNAL( iMBeingClosed() ), SLOT( closeSubjectView() ) );
 
     m_boardDock = createDockWidget( "board", 0L, 0L, i18n( "board" ), i18n( "board" ) );
     m_boardView = new KitaBoardView( m_boardDock );
     m_boardDock->setWidget( m_boardView );
     m_boardDock->setDockSite( KDockWidget::DockNone );
+    connect( m_boardDock, SIGNAL( headerCloseButtonClicked() ), SLOT( closeBoardView() ) );
+    connect( m_boardDock, SIGNAL( iMBeingClosed() ), SLOT( closeBoardView() ) );
 
     setView( m_mainDock );
     setMainDockWidget( m_mainDock );
@@ -527,6 +557,16 @@ void KitaMainWindow::setupView()
     KitaNavi::createKitaNavi(this,m_threadTab);
 }
 
+void KitaMainWindow::closeSubjectView()
+{
+    m_subjectListAction->setChecked( FALSE );
+}
+
+void KitaMainWindow::closeBoardView()
+{
+   m_boardListAction->setChecked( FALSE );
+}
+
 void KitaMainWindow::slotOpenURLRequest( const KURL& url, const KParts::URLArgs& )
 { 
     QRegExp regexp( "http://([^/]*)/([^/]*)/dat/(.*)\\.dat" );
@@ -805,9 +845,16 @@ void KitaMainWindow::saveAboneWordList()
     }    
 }
 
+void KitaMainWindow::openBoardRequested( const QString& datURL, bool newTab)
+{
+    if ( m_subjectListAction->isChecked() )
+        m_subjectDock->makeDockVisible();
+}
+
 void KitaMainWindow::slotThread( const Kita::Thread* thread )
 {
     setCaption( thread->name() + QString( " (%1)" ).arg( thread->resNum() ) );
+    m_mainDock->makeDockVisible();
 }
 
 void KitaMainWindow::slotEditCopy()
index 9410b81..e67a256 100644 (file)
@@ -97,6 +97,7 @@ private slots:
     void newToolbarConfig();
     void windowShowBoardlist();
     void windowShowSubjectlist();
+    void windowToggleView();
     void windowMenuAboutToShow();
     void windowCloseTab();
     void settingsMenuAboutToShow();
@@ -104,6 +105,8 @@ private slots:
     void resetWindows();
     void hideSubject();
     void showSubject();
+    void closeSubjectView();
+    void closeBoardView();
 
     void changeStatusbar( const QString& text );
     void changeCaption( const QString& text );
@@ -115,6 +118,7 @@ private slots:
     void setUrl( const KURL& url );
     void bookmark( const QString& datURL, bool on );
     void slotThread( const Kita::Thread* thread );
+    void openBoardRequested( const QString& datURL, bool newTab);
 
 private:
     KitaThreadTabWidget* m_threadTab;
@@ -127,6 +131,7 @@ private:
     KToggleAction *m_statusbarAction;
     KToggleAction *m_boardListAction;
     KToggleAction* m_subjectListAction;
+    KAction* m_toggleViewAction;
 
     KDockWidget* m_mainDock;
     KDockWidget* m_boardDock;
index 3ffe6a6..8611d8d 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
-<kpartgui name="kita" version="1">
+<kpartgui name="kita" version="2">
 <MenuBar>
   <!--<Menu name="custom"><text>C&amp;ustom</text>
     <Action name="custom_action" />
@@ -13,6 +13,7 @@
   <Menu name="window"><text>&amp;Window</text>
     <Action name="window_show_board_list" />
     <Action name="window_show_subject_list" />
+    <Action name="window_toggle_view" />
     <Action name="reset_win" />
     <Action name="close_tab" />
   </Menu>