52 QQueue<VP1ExternalRequest>* rq,
53 bool *blockallmessages,
54 QList<QString>* messages_blockedsenders,
55 QList<VP1ExternalRequest>* messages_blockedexactmessages,
59 : QDialog(parent),
m_d(new
Imp(
r))
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;
70 m_d->pushButton_allclear = ui.pushButton_allclear;
71 m_d->pushButton_senderclear = ui.pushButton_senderclear;
72 m_d->pushButton_messageclear = ui.pushButton_messageclear;
74 m_d->lcdNumber_pending = ui.lcdNumber_pending;
75 m_d->lcdNumber_pendingsender = ui.lcdNumber_pendingsender;
76 m_d->lcdNumber_pendingexactsame = ui.lcdNumber_pendingexactsame;
79 connect(ui.pushButton_allclear,SIGNAL(clicked()),
this,SLOT(
request_allclear()));
80 connect(ui.pushButton_allblock,SIGNAL(clicked()),
this,SLOT(
request_allblock()));
86 connect(ui.pushButton_showtab_gothere,SIGNAL(clicked()),
this,SLOT(
request_gothere()));
88 ui.textBrowser_message->setText(
m_d->request.message());
89 ui.label_header->setText(ui.label_header->text().replace(
"SENDERPLACEHOLDER",
m_d->request.sender()));
91 ui.widget_showtab->hide();
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();
97 ui.pushButton_showtab_gothere->hide();
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()));
103 if (
m_d->channelmanager->channelWithBasenameIsLoaded(
m_d->request.actioninfo())) {
104 ui.label_showtaberror->hide();
106 ui.label_showtaberror->setText(ui.label_showtaberror->text().replace(
"tab",
"channel"));
107 ui.pushButton_showtab_gothere->hide();
111 assert(0&&
"This should never happen unless you did not hardcode all action types!");
134 m_d->lcdNumber_pending->display(
m_d->requestqueue->count());
137 if (er.sender()==
m_d->request.sender())
140 m_d->lcdNumber_pendingsender->display(nsender);
143 if (
m_d->request==er)
146 m_d->lcdNumber_pendingexactsame->display(nequal);
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);
VP1IncomingMessageDialog(const VP1ExternalRequest &, QQueue< VP1ExternalRequest > *, bool *blockallmessages, QList< QString > *messages_blockedsenders, QList< VP1ExternalRequest > *_messages_blockedexactmessages, VP1TabManager *, VP1ChannelManager *, QWidget *parent=0)