#include <kstdaccel.h>
#include <kaction.h>
#include <kstdaction.h>
+#include <kshortcut.h>
#include <qlayout.h>
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 ) ) );
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() ),
m_boardView->loadBoardList();
m_boardView->setFocus();
+ m_boardListAction->activate();
m_subjectListAction->activate(); // dummy code
}
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);
}
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()
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 );
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" );
}
}
+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()
void newToolbarConfig();
void windowShowBoardlist();
void windowShowSubjectlist();
+ void windowToggleView();
void windowMenuAboutToShow();
void windowCloseTab();
void settingsMenuAboutToShow();
void resetWindows();
void hideSubject();
void showSubject();
+ void closeSubjectView();
+ void closeBoardView();
void changeStatusbar( const QString& text );
void changeCaption( const QString& text );
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;
KToggleAction *m_statusbarAction;
KToggleAction *m_boardListAction;
KToggleAction* m_subjectListAction;
+ KAction* m_toggleViewAction;
KDockWidget* m_mainDock;
KDockWidget* m_boardDock;