File: invatedialog.cpp

package info (click to toggle)
psi-plugins 1.5-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 4,368 kB
  • sloc: cpp: 42,063; xml: 714; ansic: 84; makefile: 61; sh: 12
file content (109 lines) | stat: -rw-r--r-- 2,601 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
/*
* invitedialog.cpp - plugin
* Copyright (C) 2010  Evgeny Khryukin, liuch
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*
*/

#include "invatedialog.h"

using namespace GomokuGame;

InvateDialog::InvateDialog(int account, const QString jid, const QStringList resources, QWidget *parent) :
    QDialog(parent),
    ui(new Ui::InvateDialog),
    accepted(false),
    myAcc(account),
    jid_(jid)
{
	setAttribute(Qt::WA_DeleteOnClose);
	ui->setupUi(this);
	ui->leJid->setText(jid_);
	ui->cbResource->addItems(resources);
	adjustSize();
}

InvateDialog::~InvateDialog()
{
	delete ui;
}

void InvateDialog::acceptBlack()
{
	emit acceptGame(myAcc, jid_ + "/" + ui->cbResource->currentText(), "black");
	accepted = true;
	accept();
	close();
}

void InvateDialog::acceptWhite()
{
	emit acceptGame(myAcc, jid_ + "/" + ui->cbResource->currentText(), "white");
	accepted = true;
	accept();
	close();
}

void InvateDialog::closeEvent(QCloseEvent *event)
{
	if (!accepted) {
		reject();
		emit rejectGame(myAcc, jid_);
	}
	event->accept();
}

// ----------------------------------------

InvitationDialog::InvitationDialog(int account, QString jid, QString color, QString id, QWidget *parent)
	:  QDialog(parent),
	accepted_(false),
	account_(account),
	id_(id)
{
	setAttribute(Qt::WA_DeleteOnClose);
	setModal(false);
	ui_.setupUi(this);

	if(color == "white")
		color = tr("white");
	else
		color = tr("black");

	ui_.lbl_text->setText(tr("Player %1 invites you \nto play gomoku. He wants to play %2.")
			      .arg(jid).arg(color));

	connect(ui_.pb_accept, SIGNAL(clicked()), this, SLOT(buttonPressed()));
	connect(ui_.pb_reject, SIGNAL(clicked()), this, SLOT(close()));

	adjustSize();
	setFixedSize(size());
}

void InvitationDialog::buttonPressed()
{
	emit accepted(account_, id_);
	accepted_ = true;
	close();
}

void InvitationDialog::closeEvent(QCloseEvent *e)
{
	if(!accepted_)
		emit rejected(account_, id_);
	e->accept();
	close();
}