From a12e6ec5597528fe77cbbdd9ac42308c3147f7d5 Mon Sep 17 00:00:00 2001 From: Lubos Dolezel Date: Mon, 8 Jun 2015 23:53:43 +0200 Subject: Added OSD with mute and hangup buttons (resolves #10) --- src/gui/osd.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 src/gui/osd.h (limited to 'src/gui/osd.h') diff --git a/src/gui/osd.h b/src/gui/osd.h new file mode 100644 index 0000000..3d26468 --- /dev/null +++ b/src/gui/osd.h @@ -0,0 +1,52 @@ +#ifndef OSD_H +#define OSD_H +#include +#include +#if 0 //QT_VERSION >= 0x050000 +# define OSD_VIEWCLASS QQuickView +# define QML_ITEMTYPE QQuickItem +#else +# define OSD_VIEWCLASS QDeclarativeView +# define QML_ITEMTYPE QDeclarativeItem +#endif + +// Must use forward declaration, otherwise build fails +// due to double QMetaTypeID definition (wtf). +// Hence I also cannot inherit from OSD_VIEWCLASS... +class OSD_VIEWCLASS; +class QML_ITEMTYPE; + +class OSD : public QObject +{ + Q_OBJECT +public: + OSD(QObject* parent = 0); + ~OSD(); + + void setCaller(const QString& text); + void setTime(const QString& timeText); + void setMuted(bool muted); + + void move(int x, int y); + void show(); + void hide(); + int width() const; + int height() const; + void setVisible(bool v) { if (v) show(); else hide(); } + +public slots: + void onHangupClicked(); + void onMuteClicked(); + +signals: + void hangupClicked(); + void muteClicked(); + +private: + OSD_VIEWCLASS* m_view; + QML_ITEMTYPE* m_caller; + QML_ITEMTYPE* m_time; + QML_ITEMTYPE* m_mute; +}; + +#endif // OSD_H -- cgit v1.2.3