korganizer Library API Documentation

korganizer.h

00001 /*
00002     This file is part of KOrganizer.
00003 
00004     Copyright (c) 1997, 1998, 1999
00005     Preston Brown (preston.brown@yale.edu)
00006     Fester Zigterman (F.J.F.ZigtermanRustenburg@student.utwente.nl)
00007     Ian Dawes (iadawes@globalserve.net)
00008     Laszlo Boloni (boloni@cs.purdue.edu)
00009 
00010     Copyright (c) 2000-2003 Cornelius Schumacher <schumacher@kde.org>
00011 
00012     This program is free software; you can redistribute it and/or modify
00013     it under the terms of the GNU General Public License as published by
00014     the Free Software Foundation; either version 2 of the License, or
00015     (at your option) any later version.
00016 
00017     This program is distributed in the hope that it will be useful,
00018     but WITHOUT ANY WARRANTY; without even the implied warranty of
00019     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00020     GNU General Public License for more details.
00021 
00022     You should have received a copy of the GNU General Public License
00023     along with this program; if not, write to the Free Software
00024     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00025 
00026     As a special exception, permission is given to link this program
00027     with any edition of Qt, and distribute the resulting executable,
00028     without including the source code for Qt in the source distribution.
00029 */
00030 #ifndef KORGANIZER_H
00031 #define KORGANIZER_H
00032 
00033 #include <kurl.h>
00034 
00035 #include <korganizer/mainwindow.h>
00036 #include <korganizer/part.h>
00037 #include <kparts/mainwindow.h>
00038 
00039 class KTempFile;
00040 class KRecentFilesAction;
00041 class KOWindowList;
00042 class KToggleAction;
00043 class KProcess;
00044 class KONewStuff;
00045 class ActionManager;
00046 class CalendarView;
00047 
00048 namespace KCal { class CalendarResources; }
00049 
00050 using namespace KCal;
00051 
00052 // Workaround for moc workaround for visual c++ 6.0 sucking
00053 typedef KOrg::MainWindow KOrgMainWindow;
00054 typedef KParts::MainWindow KPartsMainWindow;
00055 
00064 class KOrganizer : public KPartsMainWindow, public KOrgMainWindow
00065 {
00066     Q_OBJECT
00067   public:
00075     KOrganizer( const char *name = 0 );
00076     virtual ~KOrganizer();
00077 
00078     void init( bool hasDocument );
00079 
00080     KOrg::CalendarViewBase *view() const;
00081     ActionManager *actionManager() { return mActionManager; }
00082 
00087     bool openURL( const KURL &url, bool merge = false );
00089     bool saveURL();
00091     bool saveAsURL( const KURL & kurl );
00093     KURL getCurrentURL() const;
00094 
00095     virtual KXMLGUIFactory *mainGuiFactory() { return factory(); }
00096     virtual KXMLGUIClient *mainGuiClient() { return this; }
00097     virtual QWidget *topLevelWidget() { return this; }
00098 
00099   public slots:
00101     void showStatusMessage( const QString & );
00102 
00103   protected slots:
00104 
00108     void readSettings();
00109 
00111     void writeSettings();
00112 
00114     void configureToolbars();
00115 
00116     void toggleStatusBar();
00117 
00118     void statusBarPressed( int );
00119 
00121     void setTitle();
00122 
00123     void setNumIncoming( int );
00124     void setNumOutgoing( int );
00125 
00126     void newMainWindow( const KURL & );
00127 
00128     void configureKeyBindings();
00129 
00130   protected:
00131     void initActions();
00132 //    void initViews();
00133 
00135     bool queryClose();
00136     bool queryExit();
00137 
00138     /* Session management */
00139     void saveProperties( KConfig * );
00140     void readProperties( KConfig * );
00141 
00142   private:
00143     CalendarView *mCalendarView;  // Main view widget
00144     KOrg::Part::List mParts; // List of parts loaded
00145 
00146     KToggleAction *mStatusBarAction;
00147 
00148     // status bar ids
00149     enum { ID_HISTORY, ID_GENERAL, ID_ACTIVE, ID_MESSAGES_IN, ID_MESSAGES_OUT };
00150     ActionManager *mActionManager;
00151 };
00152 
00153 #endif
KDE Logo
This file is part of the documentation for korganizer Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Apr 4 04:49:28 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003