summaryrefslogtreecommitdiff
path: root/libopie2/opiepim/ui/opimmainwindow.h
Side-by-side diff
Diffstat (limited to 'libopie2/opiepim/ui/opimmainwindow.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie2/opiepim/ui/opimmainwindow.h65
1 files changed, 60 insertions, 5 deletions
diff --git a/libopie2/opiepim/ui/opimmainwindow.h b/libopie2/opiepim/ui/opimmainwindow.h
index abad630..4aed8b8 100644
--- a/libopie2/opiepim/ui/opimmainwindow.h
+++ b/libopie2/opiepim/ui/opimmainwindow.h
@@ -26,17 +26,24 @@
Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef OPIE_PIM_MAINWINDOW_H
#define OPIE_PIM_MAINWINDOW_H
+#include <opie2/opimrecord.h>
+
+#include <qpe/categories.h>
+#include <qpe/config.h>
+
#include <qmainwindow.h>
-#include <opie2/opimrecord.h>
+class QAction;
+class QActionGroup;
class QCopChannel;
class QDateTime;
+class QPopupMenu;
namespace Opie {
/**
* This is a common Opie PIM MainWindow
* it takes care of the QCOP internals
* and implements some functions
@@ -53,14 +60,18 @@ namespace Opie {
class OPimMainWindow : public QMainWindow {
Q_OBJECT
public:
enum TransPort { BlueTooth=0,
IrDa };
- OPimMainWindow( const QString& service, QWidget *parent = 0, const char* name = 0,
- WFlags f = WType_TopLevel);
+ OPimMainWindow( const QString &serviceName,
+ const QString &appName = QString::null,
+ const QString &catName = QString::null,
+ const QString &itemName = QString::null,
+ const QString &configName = QString::null,
+ QWidget *parent = 0l, const char* name = 0l, WFlags f = WType_TopLevel );
virtual ~OPimMainWindow();
protected slots:
/*
* called when a setDocument
@@ -87,43 +98,87 @@ protected slots:
virtual void add( const OPimRecord& ) = 0;
virtual void doAlarm( const QDateTime&, int uid );
QCopChannel* channel();
+ /** UI-related slots */
+ virtual void slotItemNew() = 0;
+ virtual void slotItemEdit() = 0;
+ virtual void slotItemDuplicate() = 0;
+ virtual void slotItemDelete() = 0;
+ virtual void slotItemBeam() = 0;
+ virtual void slotItemFind() = 0;
+ virtual void slotConfigure() = 0;
+
protected:
/**
* start to play soundAlarm()
* @param count How many times the alarm is played
*/
- void startAlarm(int count = 10);
+ void startAlarm( int count = 10 );
void killAlarm();
void timerEvent( QTimerEvent* );
+ /** UI-related functions */
+ QPopupMenu *itemContextMenu();
+
+ void insertItemMenuItems( QActionGroup *items );
+ void insertViewMenuItems( QActionGroup *items );
+
+ void setViewCategory( const QString &category );
+ void reloadCategories();
+
private slots:
void appMessage( const QCString&, const QByteArray& );
void setDocument( const QString& );
-
+ /** UI-related slots */
+ void slotViewCategory( QAction *category );
+
private:
class Private;
Private* d;
int m_rtti;
QCopChannel* m_channel;
QString m_service;
QCString m_str;
OPimRecord* m_fallBack;
int m_alarmCount;
int m_playedCount;
int m_timerId;
+
+ QString m_appName; // Name of application for title bar
+ QString m_catGroupName; // Name of category group
+ Config m_config; // Configuration settings file
+
+ // Menu bar data
+ QPopupMenu *m_itemContextMenu; // Pointer to context-sensitive menu
+ QPopupMenu *m_itemMenu; // Pointer to item menu
+ QPopupMenu *m_viewMenu; // Pointer to view menu
+ QActionGroup *m_itemMenuGroup1; // Action group containing default items in Item menu
+ QActionGroup *m_itemMenuGroup2; // Action group containing default items in Item menu
+ QActionGroup *m_viewMenuAppGroup; // Action group containing application items in View menu
+ QActionGroup *m_viewMenuGroup; // Action group containing default items in View menu
+ QActionGroup *m_viewMenuCategories; // Pointer to action group containing categories in View menu
+ QAction *m_itemEditAction; // Edit current item action
+ QAction *m_itemDuplicateAction; // Duplicate current item action
+ QAction *m_itemDeleteAction; // Delete current item action
+
/* I would love to do this as a template
* but can't think of a right way
* because I need signal and slots -zecke
*/
virtual OPimRecord* record( int rtti, const QByteArray& ) ;
int service();
+
+ /** UI-related functions */
+ void initBars( const QString &itemName = tr( "Item" ) );
+
+signals:
+ void categorySelected( const QString &cat );
};
}
#endif