diff options
author | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
---|---|---|
committer | toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da> | 2009-11-25 17:56:58 +0000 |
commit | 460c52653ab0dcca6f19a4f492ed2c5e4e963ab0 (patch) | |
tree | 67208f7c145782a7e90b123b982ca78d88cc2c87 /akregator/src/mainwindow.h | |
download | tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.tar.gz tdepim-460c52653ab0dcca6f19a4f492ed2c5e4e963ab0.zip |
Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
BUG:215923
git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdepim@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Diffstat (limited to 'akregator/src/mainwindow.h')
-rw-r--r-- | akregator/src/mainwindow.h | 151 |
1 files changed, 151 insertions, 0 deletions
diff --git a/akregator/src/mainwindow.h b/akregator/src/mainwindow.h new file mode 100644 index 000000000..c88b08174 --- /dev/null +++ b/akregator/src/mainwindow.h @@ -0,0 +1,151 @@ +/* + This file is part of Akregator. + + Copyright (C) 2004 Stanislav Karchebny <Stanislav.Karchebny@kdemail.net> + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + + As a special exception, permission is given to link this program + with any edition of Qt, and distribute the resulting executable, + without including the source code for Qt in the source distribution. +*/ + +#ifndef _AKREGATOR_H_ +#define _AKREGATOR_H_ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <kapplication.h> +#include <kparts/mainwindow.h> +#include <kparts/browserinterface.h> +#include <kparts/browserextension.h> +#include <kio/job.h> + +class KActionCollection; +class KToggleAction; +class KSqueezedTextLabel; +class KProgress; +class KParts::BrowserExtension; +class KParts::PartManager; + +namespace KPIM +{ + class StatusbarProgressWidget; +} + +namespace Akregator +{ + +class Part; +class MainWindow; + +class BrowserInterface : public KParts::BrowserInterface +{ + Q_OBJECT + +public: + BrowserInterface(Akregator::MainWindow *shell, const char *name ); + +private: + Akregator::MainWindow *m_shell; +}; + + +/** + * This is the application "Shell". It has a menubar, toolbar, and + * statusbar but relies on the "Part" to do all the real work. + * + * @short Application Shell + */ +class MainWindow : public KParts::MainWindow +{ + Q_OBJECT +public: + + MainWindow(); + virtual ~MainWindow(); + + /** + * Creates the progress widget in the status bar and the ProgressDialog + * and connects them. + */ + void setupProgressWidgets(); + + virtual void setCaption(const QString &); + + /** + Loads the part + @return Whether the part has been successfully created or not. + */ + bool loadPart(); + +public slots: + void slotClearStatusText(); + void slotSetStatusBarText(const QString &c); + +protected: + /** + * This method is called when it is time for the app to save its + * properties for session management purposes. + */ + void saveProperties(KConfig *); + + /** + * This method is called when this app is restored. The KConfig + * object points to the session management config file that was saved + * with @ref saveProperties + */ + void readProperties(KConfig *); + /** + * Reimplemented to save settings + */ + virtual bool queryExit(); + + /** + * Reimplemented to say if app will be running in system tray if necessary + */ + virtual bool queryClose(); + +protected slots: + + void slotQuit(); + +private: + + void setupActions(); + void connectActionCollection(KActionCollection *coll); + + KParts::BrowserExtension *browserExtension(KParts::ReadOnlyPart *p); + +private slots: + + void optionsConfigureKeys(); + void optionsConfigureToolbars(); + + void applyNewToolbarConfig(); + +private: + BrowserInterface *m_browserIface; + + Akregator::Part *m_part; + KPIM::StatusbarProgressWidget *m_progressBar; + KSqueezedTextLabel *m_statusLabel; +}; + +} // namespace Akregator + +#endif // _AKREGATOR_H_ |