From 43f82d5c68e1d7a5b26f862c26a76253a85e7518 Mon Sep 17 00:00:00 2001 From: drw Date: Sun, 30 Jan 2005 00:30:47 +0000 Subject: First part of PIM app consistancy/consolidation - added menu/tool bar, app caption and context menu handling to OPimMainWindow --- (limited to 'libopie2/opiepim/ui/opimmainwindow.h') 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 @@ -29,11 +29,18 @@ #ifndef OPIE_PIM_MAINWINDOW_H #define OPIE_PIM_MAINWINDOW_H +#include + +#include +#include + #include -#include +class QAction; +class QActionGroup; class QCopChannel; class QDateTime; +class QPopupMenu; namespace Opie { /** @@ -56,8 +63,12 @@ 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(); @@ -90,20 +101,40 @@ protected slots: 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; @@ -116,12 +147,36 @@ private: 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 ); }; } -- cgit v0.9.0.2