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
@@ -29,11 +29,18 @@
#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 {
/**
@@ -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 );
};
}