ATLAS Offline Software
Loading...
Searching...
No Matches
VP1IncomingMessageDialog Class Reference

#include <VP1IncomingMessageDialog.h>

Inheritance diagram for VP1IncomingMessageDialog:
Collaboration diagram for VP1IncomingMessageDialog:

Classes

class  Imp

Public Member Functions

 VP1IncomingMessageDialog (const VP1ExternalRequest &, QQueue< VP1ExternalRequest > *, bool *blockallmessages, QList< QString > *messages_blockedsenders, QList< VP1ExternalRequest > *_messages_blockedexactmessages, VP1TabManager *, VP1ChannelManager *, QWidget *parent=0)
virtual ~VP1IncomingMessageDialog ()
void updatependinginfo ()

Protected Slots

void request_gothere ()
void request_allclear ()
void request_allblock ()
void request_senderclear ()
void request_senderblock ()
void request_messageblock ()
void request_messageclear ()

Private Attributes

Impm_d

Detailed Description

Definition at line 27 of file VP1IncomingMessageDialog.h.

Constructor & Destructor Documentation

◆ VP1IncomingMessageDialog()

VP1IncomingMessageDialog::VP1IncomingMessageDialog ( const VP1ExternalRequest & r,
QQueue< VP1ExternalRequest > * rq,
bool * blockallmessages,
QList< QString > * messages_blockedsenders,
QList< VP1ExternalRequest > * _messages_blockedexactmessages,
VP1TabManager * tm,
VP1ChannelManager * cm,
QWidget * parent = 0 )

Definition at line 51 of file VP1IncomingMessageDialog.cxx.

59 : QDialog(parent), m_d(new Imp(r))
60{
61 m_d->tabmanager= tm;
62 m_d->channelmanager= cm;
63 m_d->requestqueue = rq;
64 m_d->blockallmessages=blockallmessages;
65 m_d->messages_blockedsenders=messages_blockedsenders;
66 m_d->messages_blockedexactmessages=messages_blockedexactmessages;
67 Ui::VP1IncomingMessageForm ui;
68 ui.setupUi(this);
69
70 m_d->pushButton_allclear = ui.pushButton_allclear;
71 m_d->pushButton_senderclear = ui.pushButton_senderclear;
72 m_d->pushButton_messageclear = ui.pushButton_messageclear;
73
74 m_d->lcdNumber_pending = ui.lcdNumber_pending;
75 m_d->lcdNumber_pendingsender = ui.lcdNumber_pendingsender;
76 m_d->lcdNumber_pendingexactsame = ui.lcdNumber_pendingexactsame;
78
79 connect(ui.pushButton_allclear,SIGNAL(clicked()),this,SLOT(request_allclear()));
80 connect(ui.pushButton_allblock,SIGNAL(clicked()),this,SLOT(request_allblock()));
81 connect(ui.pushButton_senderclear,SIGNAL(clicked()),this,SLOT(request_senderclear()));
82 connect(ui.pushButton_senderblock,SIGNAL(clicked()),this,SLOT(request_senderblock()));
83 connect(ui.pushButton_messageblock,SIGNAL(clicked()),this,SLOT(request_messageblock()));
84 connect(ui.pushButton_messageclear,SIGNAL(clicked()),this,SLOT(request_messageclear()));
85
86 connect(ui.pushButton_showtab_gothere,SIGNAL(clicked()),this,SLOT(request_gothere()));
87
88 ui.textBrowser_message->setText(m_d->request.message());
89 ui.label_header->setText(ui.label_header->text().replace("SENDERPLACEHOLDER",m_d->request.sender()));
90 if (m_d->request.action()==VP1ExternalRequest::SHOWMESSAGE) {
91 ui.widget_showtab->hide();
92 } else if (m_d->request.action()==VP1ExternalRequest::SHOWTAB) {
93 ui.label_showtab->setText(ui.label_showtab->text().replace("DUMMYTABNAME",m_d->request.actioninfo()));
94 if (m_d->tabmanager->hasTab(m_d->request.actioninfo())) {
95 ui.label_showtaberror->hide();
96 } else {
97 ui.pushButton_showtab_gothere->hide();
98 }
99 } else if (m_d->request.action()==VP1ExternalRequest::SHOWCHANNEL) {
100 ui.label_showtab->setText(ui.label_showtab->text().replace("tab","channel"));
101 ui.label_showtab->setText(ui.label_showtab->text().replace("DUMMYTABNAME",m_d->request.actioninfo()));
102
103 if (m_d->channelmanager->channelWithBasenameIsLoaded(m_d->request.actioninfo())) {
104 ui.label_showtaberror->hide();
105 } else {
106 ui.label_showtaberror->setText(ui.label_showtaberror->text().replace("tab","channel"));
107 ui.pushButton_showtab_gothere->hide();
108 }
109
110 } else {
111 assert(0&&"This should never happen unless you did not hardcode all action types!");
112 }
113}
int r
Definition globals.cxx:22

◆ ~VP1IncomingMessageDialog()

VP1IncomingMessageDialog::~VP1IncomingMessageDialog ( )
virtual

Definition at line 116 of file VP1IncomingMessageDialog.cxx.

117{
118 delete m_d; m_d=0;
119}

Member Function Documentation

◆ request_allblock

void VP1IncomingMessageDialog::request_allblock ( )
protectedslot

Definition at line 162 of file VP1IncomingMessageDialog.cxx.

163{
164 int ret = QMessageBox::question(this, "VP1 - Block all incoming messages?",
165 "This will block all incoming messages to the application.\nProceed?",
166 QMessageBox::Ok | QMessageBox::Cancel, QMessageBox::Cancel );
167 if (ret!=QMessageBox::Ok)
168 return;
169 *(m_d->blockallmessages)=true;
171}

◆ request_allclear

void VP1IncomingMessageDialog::request_allclear ( )
protectedslot

Definition at line 155 of file VP1IncomingMessageDialog.cxx.

156{
157 m_d->requestqueue->clear();
159}

◆ request_gothere

void VP1IncomingMessageDialog::request_gothere ( )
protectedslot

Definition at line 122 of file VP1IncomingMessageDialog.cxx.

123{
124 if (m_d->request.action()==VP1ExternalRequest::SHOWTAB) {
125 m_d->tabmanager->showTab(m_d->request.actioninfo());
126 } else if (m_d->request.action()==VP1ExternalRequest::SHOWCHANNEL) {
127 m_d->tabmanager->showFirstChannelWithGivenBasename(m_d->request.actioninfo());
128 }
129}

◆ request_messageblock

void VP1IncomingMessageDialog::request_messageblock ( )
protectedslot

Definition at line 209 of file VP1IncomingMessageDialog.cxx.

210{
211 *(m_d->messages_blockedexactmessages)<<m_d->request;
213}

◆ request_messageclear

void VP1IncomingMessageDialog::request_messageclear ( )
protectedslot

Definition at line 195 of file VP1IncomingMessageDialog.cxx.

196{
197 QList<VP1ExternalRequest> tmp;
198 for (const VP1ExternalRequest& er : *(m_d->requestqueue)) {
199 if (!tmp.contains(er)&&er==m_d->request)
200 tmp<<er;
201 }
202 for (const VP1ExternalRequest& er : tmp) {
203 m_d->requestqueue->removeAll(er);
204 }
206}

◆ request_senderblock

void VP1IncomingMessageDialog::request_senderblock ( )
protectedslot

Definition at line 188 of file VP1IncomingMessageDialog.cxx.

189{
190 *(m_d->messages_blockedsenders)<<m_d->request.sender();
192}

◆ request_senderclear

void VP1IncomingMessageDialog::request_senderclear ( )
protectedslot

Definition at line 174 of file VP1IncomingMessageDialog.cxx.

175{
176 QList<VP1ExternalRequest> tmp;
177 for (const VP1ExternalRequest& er : *(m_d->requestqueue)) {
178 if (!tmp.contains(er)&&er.sender()==m_d->request.sender())
179 tmp<<er;
180 }
181 for (const VP1ExternalRequest& er : tmp) {
182 m_d->requestqueue->removeAll (er);
183 }
185}

◆ updatependinginfo()

void VP1IncomingMessageDialog::updatependinginfo ( )

Definition at line 132 of file VP1IncomingMessageDialog.cxx.

133{
134 m_d->lcdNumber_pending->display(m_d->requestqueue->count());
135 int nsender(0);
136 for (const VP1ExternalRequest& er : *(m_d->requestqueue)) {
137 if (er.sender()==m_d->request.sender())
138 ++nsender;
139 }
140 m_d->lcdNumber_pendingsender->display(nsender);
141 int nequal(0);
142 for (const VP1ExternalRequest& er : *(m_d->requestqueue)) {
143 if (m_d->request==er)
144 ++nequal;
145 }
146 m_d->lcdNumber_pendingexactsame->display(nequal);
147
148
149 m_d->pushButton_allclear->setEnabled(m_d->requestqueue->count()>0);
150 m_d->pushButton_senderclear->setEnabled(nsender>0);
151 m_d->pushButton_messageclear->setEnabled(nequal>0);
152}

Member Data Documentation

◆ m_d

Imp* VP1IncomingMessageDialog::m_d
private

Definition at line 55 of file VP1IncomingMessageDialog.h.


The documentation for this class was generated from the following files: