~noskcaj/ubuntu/saucy/sflphone/merge-1.2.3-2

1.1.9 by Mark Purcell
Import upstream version 1.2.2
1
/***************************************************************************
1.1.10 by Mark Purcell
Import upstream version 1.2.3
2
 *   Copyright (C) 2012-2013 by Savoir-Faire Linux                         *
1.1.9 by Mark Purcell
Import upstream version 1.2.2
3
 *   Author : Emmanuel Lepage Valle <emmanuel.lepage@savoirfairelinux.com >*
4
 *                                                                         *
5
 *   This program is free software; you can redistribute it and/or modify  *
6
 *   it under the terms of the GNU General Public License as published by  *
7
 *   the Free Software Foundation; either version 3 of the License, or     *
8
 *   (at your option) any later version.                                   *
9
 *                                                                         *
10
 *   This program is distributed in the hope that it will be useful,       *
11
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
12
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
13
 *   GNU General Public License for more details.                          *
14
 *                                                                         *
15
 *   You should have received a copy of the GNU General Public License     *
16
 *   along with this program.  If not, see <http://www.gnu.org/licenses/>. *
17
 **************************************************************************/
18
#ifndef CALL_VIEW_OVERLAY_H
19
#define CALL_VIEW_OVERLAY_H
20
21
//Qt
22
#include <QtGui/QToolButton>
23
24
//Base
25
#include <QtGui/QWidget>
26
#include <QtCore/QHash>
27
#include "lib/sflphone_const.h"
28
29
//Qt
30
class QSvgRenderer;
31
class QToolButton;
32
33
//KDE
34
35
//SFLPhone
36
class ExtendedAction;
37
38
class ObserverToolButton : public QToolButton
39
{
40
   Q_OBJECT
41
public:
1.1.10 by Mark Purcell
Import upstream version 1.2.3
42
   explicit ObserverToolButton(QWidget* parent = nullptr) : QToolButton(parent){}
43
public Q_SLOTS:
1.1.9 by Mark Purcell
Import upstream version 1.2.2
44
   void setNewText(const QString& text) {
45
      setText(text);
46
   }
47
};
48
49
enum ActionButton {
50
   PICKUP   = 0,
51
   HOLD     = 1,
52
   UNHOLD   = 2,
53
   HANGUP   = 3,
54
   MUTE     = 4,
55
   TRANSFER = 5,
56
   RECORD   = 6,
57
   REFUSE   = 7,
58
};
59
60
class CallViewOverlayToolbar : public QWidget
61
{
62
   Q_OBJECT
63
public:
1.1.10 by Mark Purcell
Import upstream version 1.2.3
64
   explicit CallViewOverlayToolbar(QWidget* parent = nullptr);
1.1.9 by Mark Purcell
Import upstream version 1.2.2
65
66
private:
67
   //Attributes
68
   QSvgRenderer* m_pRightRender;
69
   QSvgRenderer* m_pLeftRender ;
70
71
   //Buttons
1.1.10 by Mark Purcell
Import upstream version 1.2.3
72
   ObserverToolButton* m_pHold    ;
73
   ObserverToolButton* m_pUnhold  ;
74
   ObserverToolButton* m_pMute    ;
75
   ObserverToolButton* m_pPickup  ;
76
   ObserverToolButton* m_pHangup  ;
1.1.9 by Mark Purcell
Import upstream version 1.2.2
77
   ObserverToolButton* m_pTransfer;
1.1.10 by Mark Purcell
Import upstream version 1.2.3
78
   ObserverToolButton* m_pRecord  ;
79
   ObserverToolButton* m_pRefuse  ;
1.1.9 by Mark Purcell
Import upstream version 1.2.2
80
81
   QHash<int,ObserverToolButton*> m_hButtons;
82
83
   //Helpers
84
   ObserverToolButton* createButton(ExtendedAction* action);
85
1.1.10 by Mark Purcell
Import upstream version 1.2.3
86
public Q_SLOTS:
1.1.9 by Mark Purcell
Import upstream version 1.2.2
87
   void updateState(call_state state);
88
89
protected:
1.1.10 by Mark Purcell
Import upstream version 1.2.3
90
   void resizeEvent( QResizeEvent* event);
91
   void paintEvent ( QPaintEvent*  event);
92
   void hideEvent  ( QHideEvent*   event);
93
   void showEvent  ( QShowEvent*   event);
1.1.9 by Mark Purcell
Import upstream version 1.2.2
94
1.1.10 by Mark Purcell
Import upstream version 1.2.3
95
Q_SIGNALS:
1.1.9 by Mark Purcell
Import upstream version 1.2.2
96
   void visibilityChanged(bool);
97
98
};
99
1.1.10 by Mark Purcell
Import upstream version 1.2.3
100
#endif