OpendTect  6.3
i_qsystemtrayicon.h
Go to the documentation of this file.
1 #ifndef i_qsystemtrayicon_h
2 #define i_qsystemtrayicon_h
3 
4 /*+
5 ________________________________________________________________________
6 
7  (C) dGB Beheer B.V.; (LICENSE) http://opendtect.org/OpendTect_license.txt
8  Author: Nanne Hemstra
9  Date: January 2010
10 ________________________________________________________________________
11 
12 -*/
13 
14 
15 #include "uisystemtrayicon.h"
16 
17 #include <QSystemTrayIcon>
18 
20 
24 QT_BEGIN_NAMESPACE
25 
26 class QSystemTrayIconMessenger : public QObject
27 {
28 Q_OBJECT
29 friend class uiSystemTrayIcon;
30 
31 protected:
32 
33 QSystemTrayIconMessenger( QSystemTrayIcon* sndr, uiSystemTrayIcon* receiver )
34  : sender_(sndr)
35  , receiver_(receiver)
36 {
37  connect( sndr, SIGNAL(activated(QSystemTrayIcon::ActivationReason)),
38  this, SLOT(activated(QSystemTrayIcon::ActivationReason)) );
39  connect( sndr, SIGNAL(messageClicked()), this, SLOT(messageClicked()) );
40 }
41 
42 
43 private:
44 
46  QSystemTrayIcon* sender_;
47 
48 
49 private slots:
50 
52 { receiver_->messageClicked.trigger( *receiver_ ); }
53 
54 void activated( QSystemTrayIcon::ActivationReason reason )
55 {
56  if ( reason == QSystemTrayIcon::Context )
57  receiver_->rightClicked.trigger( *receiver_ );
58  else if ( reason == QSystemTrayIcon::DoubleClick )
59  receiver_->doubleClicked.trigger( *receiver_ );
60  else if ( reason == QSystemTrayIcon::Trigger )
61  receiver_->clicked.trigger( *receiver_ );
62  else if ( reason == QSystemTrayIcon::MiddleClick )
63  receiver_->middleClicked.trigger( *receiver_ );
64 }
65 
66 };
67 
68 QT_END_NAMESPACE
69 
70 #endif
QSystemTrayIcon * sender_
Definition: i_qsystemtrayicon.h:46
QSystemTrayIconMessenger(QSystemTrayIcon *sndr, uiSystemTrayIcon *receiver)
Definition: i_qsystemtrayicon.h:33
void activated(QSystemTrayIcon::ActivationReason reason)
Definition: i_qsystemtrayicon.h:54
void trigger()
Definition: notify.h:128
Notifier< uiSystemTrayIcon > clicked
Definition: uisystemtrayicon.h:37
Notifier< uiSystemTrayIcon > doubleClicked
Definition: uisystemtrayicon.h:40
void messageClicked()
Definition: i_qsystemtrayicon.h:51
Definition: uisystemtrayicon.h:23
Helper class for uiSystemTrayIcon to relay Qt&#39;s messages.
Definition: i_qsystemtrayicon.h:26
Notifier< uiSystemTrayIcon > middleClicked
Definition: uisystemtrayicon.h:39
Notifier< uiSystemTrayIcon > messageClicked
Definition: uisystemtrayicon.h:36
Notifier< uiSystemTrayIcon > rightClicked
Definition: uisystemtrayicon.h:38
uiSystemTrayIcon * receiver_
Definition: i_qsystemtrayicon.h:45

Generated at for the OpendTect seismic interpretation project. Copyright (C): dGB Beheer B. V. 2017