OSDN Git Service

a958e36c1f9581dbd6c70a7c92aec5ccb421466b
[kita/kita.git] / kita / src / mainwindow.h
1 /***************************************************************************
2 *   Copyright (C) 2004 by Kita Developers                                 *
3 *   ikemo@users.sourceforge.jp                                            *
4 *                                                                         *
5 *   This program is free software; you can redistribute it and/or modify  *
6 *   it under the terms of the GNU General Public License as published by  *
7 *   the Free Software Foundation; either version 2 of the License, or     *
8 *   (at your option) any later version.                                   *
9 ***************************************************************************/
10
11 #ifndef _KITA_H_
12 #define _KITA_H_
13
14 #ifdef HAVE_CONFIG_H
15 #include <config.h>
16 #endif
17
18 #include <kapplication.h>
19 #include <kparts/dockmainwindow.h>
20
21 class KPrinter;
22 class KToggleAction;
23 class KURL;
24 class KLineEdit;
25
26 class KitaBBSDock;
27 class KitaBBSTabWidget;
28 class KitaBoardTabWidget;
29 class KitaBoardDock;
30 class KitaThreadDock;
31 class KitaThreadTabWidget;
32 class KitaWriteDock;
33 class KitaWriteTabWidget;
34
35 namespace KParts
36 {
37     class URLArgs;
38     class Part;
39 }
40
41 /**
42  * This class serves as the main window for Kita.  It handles the
43  * menus, toolbars, and status bars.
44  *
45  * @short Main window class
46  * @author $AUTHOR <$EMAIL>
47  * @version $APP_VERSION
48  */
49
50 class KitaMainWindow : public KDockMainWindow
51 {
52     Q_OBJECT
53 public:
54     KitaMainWindow();
55     virtual ~KitaMainWindow();
56
57     void load( const KURL& url );
58     void slotSetMainStatusbar( const QString& statusStr );
59     void setUrl( const KURL& url );
60     void bookmark( const QString& datURL, bool on );
61
62 private slots:
63     void closeSubjectView();
64     void login();
65     void newToolbarConfig();
66     void optionsShowToolbar();
67     void optionsShowStatusbar();
68     void optionsConfigureKeys();
69     void optionsConfigureToolbars();
70     void optionsPreferences();
71     void settingsMenuAboutToShow();
72     void setFont( const QFont& font );
73     void windowToggleView();
74
75     void slotCheckBoardToggleAction( bool check );
76     void slotCheckSubjectToggleAction( bool check );
77     void slotCheckWriteToggleAction( bool check );
78     void slotEditCopy();
79     void slotOpenURLRequest( const KURL& url, const KParts::URLArgs& );
80     void slotOpenURLRequestExt( const KURL& url, const QString mimetype = QString::null );
81     void slotURLLine();
82
83 private:
84     KLineEdit* m_urlLine;
85
86     KToggleAction *m_toolbarAction;
87     KToggleAction *m_statusbarAction;
88     KToggleAction *m_boardListAction;
89     KToggleAction* m_subjectListAction;
90     KToggleAction* m_showWriteDockAction;
91     KAction* m_toggleViewAction;
92
93     KDockWidget* m_dummyDock; /* dummy MainDockWidget */
94     KitaBBSDock* m_bbsDock;
95     KitaBoardDock* m_boardDock;
96     KitaThreadDock* m_threadDock;
97     KitaWriteDock* m_writeDock;
98
99     KitaThreadTabWidget* m_threadTab;
100     KitaBBSTabWidget* m_bbsTab;
101     KitaBoardTabWidget* m_boardTab;
102     KitaWriteTabWidget* m_writeTab;
103
104     void setupActions();
105     void setupView();
106     void loadCache();
107     void saveCache();
108     void loadFavorites();
109     void saveFavorites();
110     void loadFavoriteBoards();
111     void saveFavoriteBoards();
112     void loadCompletion();
113     void loadStyleSheet();
114     void saveStyleSheet();
115     void loadAsciiArt();
116     void loadAboneIDList();
117     void loadAboneNameList();
118     void loadAboneWordList();
119
120 signals:
121     void favoritesUpdated();
122 };
123
124 #endif // _KITA_H_