webappmanager
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PalmSystem.h
Go to the documentation of this file.
1 
2 #ifndef PALMSYSTEM_H_
3 #define PALMSYSTEM_H_
4 
5 #include <QObject>
6 #include <QVariantMap>
7 #include <QString>
8 
9 #include "Event.h"
10 
11 class QWebFrame;
12 class SysMgrWebBridge;
13 
14 class PalmSystem : public QObject
15 {
16  Q_OBJECT
17 
18  // properties exposed to javascript
19  Q_PROPERTY(QString launchParams READ launchParams)
20  Q_PROPERTY(bool hasAlphaHole READ hasAlphaHole WRITE setHasAlphaHole)
21  Q_PROPERTY(QString locale READ locale)
22  Q_PROPERTY(QString localeRegion READ localeRegion)
23  Q_PROPERTY(QString timeFormat READ timeFormat)
24  Q_PROPERTY(QString timeZone READ timeZone)
25  Q_PROPERTY(bool isMinimal READ isMinimal)
26  Q_PROPERTY(QString identifier READ identifier)
27  Q_PROPERTY(QString version READ version)
28  Q_PROPERTY(QString screenOrientation READ screenOrientation)
31  Q_PROPERTY(QString videoOrientation READ videoOrientation)
32  Q_PROPERTY(QString deviceInfo READ deviceInfo)
33  Q_PROPERTY(bool isActivated READ isActivated)
34  Q_PROPERTY(int activityId READ activityId)
35  Q_PROPERTY(QString phoneRegion READ phoneRegion)
36 
37 public:
38  PalmSystem(SysMgrWebBridge* bridge = 0);
39 
40  void setLaunchParams(const QString& params);
41 
42 public:
43  // methods exposed to javascript
44  Q_INVOKABLE QString getIdentifier();
45  Q_INVOKABLE QString addBannerMessage(const QString& msg, const QString& params,
46  const QString& icon = "", const QString& soundClass = "",
47  const QString& soundFile = "", int duration = -1, bool doNotSuppress = false);
48  Q_INVOKABLE void removeBannerMessage(const QString& msgId);
49  Q_INVOKABLE void clearBannerMessages();
50  Q_INVOKABLE void playSoundNotification(const QString& soundClass, const QString& soundFile = "",
51  int duration = -1, bool wakeUpScreen = false);
52  Q_INVOKABLE void simulateMouseClick(int pageX, int pageY, bool pressed);
53  Q_INVOKABLE void paste();
54  Q_INVOKABLE void copiedToClipboard();
55  Q_INVOKABLE void pastedFromClipboard();
56  Q_INVOKABLE void setWindowOrientation(const QString& orientation);
57 // Q_INVOKABLE QString runTextIndexer(const QString& src, const QVariantMap& fields);
58  Q_INVOKABLE QString encrypt(const QString& key, const QString& str);
59  Q_INVOKABLE QString decrypt(const QString& key, const QString& str);
60  Q_INVOKABLE void shutdown();
61  Q_INVOKABLE void markFirstUseDone();
62  Q_INVOKABLE void enableFullScreenMode(bool enable);
63  Q_INVOKABLE void activate();
64  Q_INVOKABLE void deactivate();
65  Q_INVOKABLE void stagePreparing();
66  Q_INVOKABLE void stageReady();
67  Q_INVOKABLE void setAlertSound(const QString& soundClass, const QString& soundFile = "");
68  Q_INVOKABLE void receivePageUpDownInLandscape(bool enable);
69  Q_INVOKABLE void show();
70  Q_INVOKABLE void hide();
71  Q_INVOKABLE void enableDockMode(bool enable);
72  Q_INVOKABLE QString getLocalizedString(const QString& str);
73  Q_INVOKABLE QString addNewContentIndicator();
74  Q_INVOKABLE void removeNewContentIndicator(const QString& requestId);
75  Q_INVOKABLE void runAnimationLoop(const QVariantMap& domObj, const QString& onStep,
76  const QString& onComplete, const QString& curve, qreal duration,
77  qreal start, qreal end);
78  Q_INVOKABLE void setActiveBannerWindowWidth();
79  Q_INVOKABLE void cancelVibrations();
80  Q_INVOKABLE void setWindowProperties(const QVariantMap& properties);
81  Q_INVOKABLE bool addActiveCallBanner(const QString& icon, const QString& message, quint32 timeStart);
82  Q_INVOKABLE void removeActiveCallBanner();
83  Q_INVOKABLE bool updateActiveCallBanner(const QString& icon, const QString& message, quint32 timeStart);
84  Q_INVOKABLE void applyLaunchFeedback(int offsetX, int offsetY);
85  Q_INVOKABLE void launcherReady();
86  Q_INVOKABLE QString getDeviceKeys(int key);
87  Q_INVOKABLE void repaint();
88  Q_INVOKABLE void hideSpellingWidget();
89  Q_INVOKABLE void printFrame(const QString& frameName, int lpsJobId, int widthPx,
90  int heightPx, int printDpi, bool landscape, bool reverseOrder = false);
91  Q_INVOKABLE void editorFocused(bool focused, int fieldType, int fieldActions);
92  Q_INVOKABLE void allowResizeOnPositiveSpaceChange(bool allowResize);
93  Q_INVOKABLE void keepAlive(bool keep);
94  Q_INVOKABLE void useSimulatedMouseClicks(bool uses);
95  Q_INVOKABLE void handleTapAndHoldEvent(int pageX, int pageY);
96  Q_INVOKABLE void setManualKeyboardEnabled(bool enabled);
97  Q_INVOKABLE void keyboardShow(int fieldType);
98  Q_INVOKABLE void keyboardHide();
99  Q_INVOKABLE QVariant getResource(QVariant a, QVariant b);
100 protected:
101  // read properties
102  QString launchParams() const;
103  bool hasAlphaHole() const;
104  QString locale() const;
105  QString localeRegion() const;
106  QString timeFormat() const;
107  QString timeZone() const;
108  bool isMinimal() const;
109  QString identifier() const;
110  QString version() const;
111  QString screenOrientation() const;
112  QString windowOrientation() const;
113  QString specifiedWindowOrientation() const;
114  QString videoOrientation() const;
115  QString deviceInfo() const;
116  bool isActivated() const;
117  int activityId() const;
118  QString phoneRegion() const;
119 
120 protected:
121  // write properties
122  void setHasAlphaHole(bool newAlpha);
124 
125 private:
126  static QString nameForOrientation(Event::Orientation o);
127 
128 private:
129  SysMgrWebBridge* m_bridge;
130  QString m_launchParams;
131  bool m_hasAlphaHole; // TODO: is this property obsolete?
132  QString m_windowOrientation; // TODO: remove once implemented
133  QString m_specifiedWindowOrientation;
134 };
135 
136 #endif