23 #ifndef KONTACT_MAINWINDOW_H
24 #define KONTACT_MAINWINDOW_H
28 #include <KontactInterface/Core>
31 class StatusbarProgressWidget;
34 namespace KontactInterface {
41 class KSqueezedTextLabel;
58 Q_CLASSINFO(
"D-Bus Interface",
"org.kde.kontact.KontactInterface" )
65 void setInitialActivePluginModule(
const QString & );
67 static bool pluginActionWeightLessThan(
const QAction *left,
const QAction *right );
68 static bool pluginWeightLessThan(
const KontactInterface::Plugin *left,
69 const KontactInterface::Plugin *right );
72 virtual void selectPlugin( KontactInterface::Plugin *plugin );
73 Q_SCRIPTABLE
virtual void selectPlugin(
const QString &pluginName );
74 void slotActionTriggered();
81 void slotActivePartChanged( KParts::Part *part );
82 void slotPreferences();
83 void slotNewClicked();
84 void slotSyncClicked();
87 void slotShowTipOnStart();
88 void slotNewToolbarConfig();
89 void slotShowIntroduction();
90 void showAboutDialog();
91 void slotShowStatusMsg(
const QString & );
92 void activateInitialPluginModule();
93 void slotOpenUrl(
const KUrl &url );
94 void slotOpenUrl(
const QUrl &url );
98 void initAboutScreen();
101 void waitForKSycoca();
103 bool isPluginLoaded(
const KPluginInfo & );
104 KontactInterface::Plugin *pluginFromInfo(
const KPluginInfo & );
106 void unloadPlugins();
107 void updateShortcuts();
108 bool removePlugin(
const KPluginInfo & );
109 void addPlugin( KontactInterface::Plugin *plugin );
110 void partLoaded( KontactInterface::Plugin *plugin, KParts::ReadOnlyPart *part );
112 void showTip(
bool );
113 virtual bool queryClose();
114 virtual void readProperties(
const KConfigGroup &config );
115 virtual void saveProperties( KConfigGroup &config );
116 void paintAboutScreen(
const QString &msg );
117 static QString introductionString();
118 KToolBar *findToolBar(
const char *name );
121 void pluginsChanged();
123 void configureShortcuts();
124 void configureToolbars();
125 void slotShowHideSideBar();
130 QSplitter *mSplitter;
132 KActionMenu *mNewActions;
133 KActionMenu *mSyncActions;
135 QStackedWidget *mPartsStack;
136 KontactInterface::Plugin *mCurrentPlugin;
137 KParts::PartManager *mPartManager;
142 KWebView *mIntroPart;
144 KSqueezedTextLabel *mStatusMsgLabel;
147 QString mInitialActiveModule;
149 QMap<QString, QPointer<QWidget> > mFocusWidgets;
150 QMap<KontactInterface::Plugin *, KAction *> mPluginAction;
154 bool mSyncActionsEnabled;
159 Q_DECLARE_METATYPE( KontactInterface::Plugin * )
virtual PluginList pluginList() const
QList< QAction * > ActionPluginList
QList< KontactInterface::Plugin * > PluginList