~ubuntu-branches/ubuntu/wily/sflphone/wily

« back to all changes in this revision

Viewing changes to kde/src/widgets/callviewoverlaytoolbar.h

  • Committer: Package Import Robot
  • Author(s): Mark Purcell
  • Date: 2014-01-28 18:23:36 UTC
  • mfrom: (1.1.11)
  • mto: This revision was merged to the branch mainline in revision 24.
  • Revision ID: package-import@ubuntu.com-20140128182336-3xenud1kbnwmf3mz
* New upstream release 
  - Fixes "New Upstream Release" (Closes: #735846)
  - Fixes "Ringtone does not stop" (Closes: #727164)
  - Fixes "[sflphone-kde] crash on startup" (Closes: #718178)
  - Fixes "sflphone GUI crashes when call is hung up" (Closes: #736583)
* Build-Depends: ensure GnuTLS 2.6
  - libucommon-dev (>= 6.0.7-1.1), libccrtp-dev (>= 2.0.6-3)
  - Fixes "FTBFS Build-Depends libgnutls{26,28}-dev" (Closes: #722040)
* Fix "boost 1.49 is going away" unversioned Build-Depends: (Closes: #736746)
* Add Build-Depends: libsndfile-dev, nepomuk-core-dev

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/***************************************************************************
2
 
 *   Copyright (C) 2012-2013 by Savoir-Faire Linux                         *
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:
42
 
   explicit ObserverToolButton(QWidget* parent = nullptr) : QToolButton(parent){}
43
 
public Q_SLOTS:
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:
64
 
   explicit CallViewOverlayToolbar(QWidget* parent = nullptr);
65
 
 
66
 
private:
67
 
   //Attributes
68
 
   QSvgRenderer* m_pRightRender;
69
 
   QSvgRenderer* m_pLeftRender ;
70
 
 
71
 
   //Buttons
72
 
   ObserverToolButton* m_pHold    ;
73
 
   ObserverToolButton* m_pUnhold  ;
74
 
   ObserverToolButton* m_pMute    ;
75
 
   ObserverToolButton* m_pPickup  ;
76
 
   ObserverToolButton* m_pHangup  ;
77
 
   ObserverToolButton* m_pTransfer;
78
 
   ObserverToolButton* m_pRecord  ;
79
 
   ObserverToolButton* m_pRefuse  ;
80
 
 
81
 
   QHash<int,ObserverToolButton*> m_hButtons;
82
 
 
83
 
   //Helpers
84
 
   ObserverToolButton* createButton(ExtendedAction* action);
85
 
 
86
 
public Q_SLOTS:
87
 
   void updateState(call_state state);
88
 
 
89
 
protected:
90
 
   void resizeEvent( QResizeEvent* event);
91
 
   void paintEvent ( QPaintEvent*  event);
92
 
   void hideEvent  ( QHideEvent*   event);
93
 
   void showEvent  ( QShowEvent*   event);
94
 
 
95
 
Q_SIGNALS:
96
 
   void visibilityChanged(bool);
97
 
 
98
 
};
99
 
 
100
 
#endif