Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
64185e17
Commit
64185e17
authored
Jun 26, 2009
by
Max-Wilhelm Bruker
Browse files
Merge branch 'master' of
ssh://brukie@cockatrice.git.sourceforge.net/gitroot/cockatrice
parents
33cc7a88
7f0f6c62
Changes
9
Hide whitespace changes
Inline
Side-by-side
cockatrice/cockatrice.pro
View file @
64185e17
...
...
@@ -15,5 +15,5 @@ QT += network
#
QTPLUGIN
+=
qjpeg
#
Input
HEADERS
+=
src
/
counter
.
h
src
/
gameselector
.
h
src
/
dlg_creategame
.
h
src
/
dlg_connect
.
h
src
/
gamesmodel
.
h
src
/
client
.
h
src
/
window_main
.
h
src
/
servergame
.
h
src
/
servereventdata
.
h
src
/
zonelist
.
h
src
/
cardzone
.
h
src
/
player
.
h
src
/
cardlist
.
h
src
/
carditem
.
h
src
/
tablezone
.
h
src
/
handzone
.
h
src
/
playerlist
.
h
src
/
game
.
h
src
/
carddatabase
.
h
src
/
gameview
.
h
src
/
decklistmodel
.
h
src
/
dlg_startgame
.
h
src
/
cardinfowidget
.
h
src
/
messagelogwidget
.
h
src
/
serverzonecard
.
h
src
/
zoneviewzone
.
h
src
/
zoneviewwidget
.
h
src
/
libraryzone
.
h
src
/
pilezone
.
h
src
/
carddragitem
.
h
src
/
zoneviewlayout
.
h
src
/
playerarea
.
h
src
/
carddatabasemodel
.
h
src
/
window_deckeditor
.
h
src
/
decklist
.
h
setsmodel
.
h
src
/
window_sets
.
h
SOURCES
+=
src
/
counter
.
cpp
src
/
gameselector
.
cpp
src
/
dlg_creategame
.
cpp
src
/
dlg_connect
.
cpp
src
/
client
.
cpp
src
/
main
.
cpp
src
/
window_main
.
cpp
src
/
servereventdata
.
cpp
src
/
gamesmodel
.
cpp
src
/
player
.
cpp
src
/
cardzone
.
cpp
src
/
zonelist
.
cpp
src
/
cardlist
.
cpp
src
/
carditem
.
cpp
src
/
tablezone
.
cpp
src
/
handzone
.
cpp
src
/
playerlist
.
cpp
src
/
game
.
cpp
src
/
carddatabase
.
cpp
src
/
gameview
.
cpp
src
/
decklistmodel
.
cpp
src
/
dlg_startgame
.
cpp
src
/
cardinfowidget
.
cpp
src
/
messagelogwidget
.
cpp
src
/
zoneviewzone
.
cpp
src
/
zoneviewwidget
.
cpp
src
/
libraryzone
.
cpp
src
/
pilezone
.
cpp
src
/
carddragitem
.
cpp
src
/
zoneviewlayout
.
cpp
src
/
playerarea
.
cpp
src
/
carddatabasemodel
.
cpp
src
/
window_deckeditor
.
cpp
src
/
decklist
.
cpp
src
/
setsmodel
.
cpp
src
/
window_sets
.
cpp
HEADERS
+=
src
/
counter
.
h
src
/
gameselector
.
h
src
/
dlg_creategame
.
h
src
/
dlg_connect
.
h
src
/
gamesmodel
.
h
src
/
client
.
h
src
/
window_main
.
h
src
/
servergame
.
h
src
/
servereventdata
.
h
src
/
zonelist
.
h
src
/
cardzone
.
h
src
/
player
.
h
src
/
cardlist
.
h
src
/
carditem
.
h
src
/
tablezone
.
h
src
/
handzone
.
h
src
/
playerlist
.
h
src
/
game
.
h
src
/
carddatabase
.
h
src
/
gameview
.
h
src
/
decklistmodel
.
h
src
/
dlg_startgame
.
h
src
/
cardinfowidget
.
h
src
/
messagelogwidget
.
h
src
/
serverzonecard
.
h
src
/
zoneviewzone
.
h
src
/
zoneviewwidget
.
h
src
/
libraryzone
.
h
src
/
pilezone
.
h
src
/
carddragitem
.
h
src
/
zoneviewlayout
.
h
src
/
playerarea
.
h
src
/
carddatabasemodel
.
h
src
/
window_deckeditor
.
h
src
/
decklist
.
h
setsmodel
.
h
src
/
window_sets
.
h
src
/
dlg_editmessages
.
h
SOURCES
+=
src
/
counter
.
cpp
src
/
gameselector
.
cpp
src
/
dlg_creategame
.
cpp
src
/
dlg_connect
.
cpp
src
/
client
.
cpp
src
/
main
.
cpp
src
/
window_main
.
cpp
src
/
servereventdata
.
cpp
src
/
gamesmodel
.
cpp
src
/
player
.
cpp
src
/
cardzone
.
cpp
src
/
zonelist
.
cpp
src
/
cardlist
.
cpp
src
/
carditem
.
cpp
src
/
tablezone
.
cpp
src
/
handzone
.
cpp
src
/
playerlist
.
cpp
src
/
game
.
cpp
src
/
carddatabase
.
cpp
src
/
gameview
.
cpp
src
/
decklistmodel
.
cpp
src
/
dlg_startgame
.
cpp
src
/
cardinfowidget
.
cpp
src
/
messagelogwidget
.
cpp
src
/
zoneviewzone
.
cpp
src
/
zoneviewwidget
.
cpp
src
/
libraryzone
.
cpp
src
/
pilezone
.
cpp
src
/
carddragitem
.
cpp
src
/
zoneviewlayout
.
cpp
src
/
playerarea
.
cpp
src
/
carddatabasemodel
.
cpp
src
/
window_deckeditor
.
cpp
src
/
decklist
.
cpp
src
/
setsmodel
.
cpp
src
/
window_sets
.
cpp
src
/
dlg_editmessages
.
cpp
cockatrice/src/dlg_editmessages.cpp
0 → 100644
View file @
64185e17
#include
<QtGui>
#include
"dlg_editmessages.h"
DlgEditMessages
::
DlgEditMessages
(
QWidget
*
parent
)
:
QDialog
(
parent
)
{
aAdd
=
new
QAction
(
tr
(
"Add"
),
this
);
connect
(
aAdd
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actAdd
()));
aRemove
=
new
QAction
(
tr
(
"Remove"
),
this
);
connect
(
aRemove
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actRemove
()));
messageList
=
new
QListWidget
;
QToolBar
*
messageToolBar
=
new
QToolBar
;
messageToolBar
->
setOrientation
(
Qt
::
Vertical
);
messageToolBar
->
addAction
(
aAdd
);
messageToolBar
->
addAction
(
aRemove
);
QSettings
settings
;
settings
.
beginGroup
(
"messages"
);
int
count
=
settings
.
value
(
"count"
,
0
).
toInt
();
for
(
int
i
=
0
;
i
<
count
;
i
++
)
messageList
->
addItem
(
settings
.
value
(
QString
(
"msg%1"
).
arg
(
i
)).
toString
());
QHBoxLayout
*
listLayout
=
new
QHBoxLayout
;
listLayout
->
addWidget
(
messageList
);
listLayout
->
addWidget
(
messageToolBar
);
cancelButton
=
new
QPushButton
(
tr
(
"&Cancel"
));
okButton
=
new
QPushButton
(
tr
(
"O&K"
));
okButton
->
setAutoDefault
(
true
);
QHBoxLayout
*
buttonLayout
=
new
QHBoxLayout
;
buttonLayout
->
addStretch
();
buttonLayout
->
addWidget
(
cancelButton
);
buttonLayout
->
addWidget
(
okButton
);
QVBoxLayout
*
mainLayout
=
new
QVBoxLayout
;
mainLayout
->
addLayout
(
listLayout
);
mainLayout
->
addLayout
(
buttonLayout
);
setLayout
(
mainLayout
);
setWindowTitle
(
tr
(
"Edit messages"
));
setMinimumWidth
(
sizeHint
().
width
());
resize
(
300
,
300
);
connect
(
cancelButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
reject
()));
connect
(
okButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
accept
()));
}
void
DlgEditMessages
::
storeSettings
()
{
QSettings
settings
;
settings
.
beginGroup
(
"messages"
);
settings
.
setValue
(
"count"
,
messageList
->
count
());
for
(
int
i
=
0
;
i
<
messageList
->
count
();
i
++
)
settings
.
setValue
(
QString
(
"msg%1"
).
arg
(
i
),
messageList
->
item
(
i
)
->
text
());
}
void
DlgEditMessages
::
actAdd
()
{
bool
ok
;
QString
msg
=
QInputDialog
::
getText
(
this
,
tr
(
"Add message"
),
QString
(
"Message:"
),
QLineEdit
::
Normal
,
QString
(),
&
ok
);
if
(
ok
)
{
messageList
->
addItem
(
msg
);
storeSettings
();
}
}
void
DlgEditMessages
::
actRemove
()
{
if
(
messageList
->
currentItem
())
{
delete
messageList
->
takeItem
(
messageList
->
currentRow
());
storeSettings
();
}
}
cockatrice/src/dlg_editmessages.h
0 → 100644
View file @
64185e17
#ifndef DLG_EDITMESSAGES_H
#define DLG_EDITMESSAGES_H
#include
<QDialog>
class
QListWidget
;
class
QPushButton
;
class
DlgEditMessages
:
public
QDialog
{
Q_OBJECT
public:
DlgEditMessages
(
QWidget
*
parent
=
0
);
private
slots
:
void
actAdd
();
void
actRemove
();
private:
QListWidget
*
messageList
;
QAction
*
aAdd
,
*
aRemove
;
QPushButton
*
cancelButton
,
*
okButton
;
void
storeSettings
();
};
#endif
cockatrice/src/game.cpp
View file @
64185e17
#include
<QGraphicsScene>
#include
<QMenu>
#include
<QMessageBox>
#include
<QSettings>
#include
"serverplayer.h"
#include
"game.h"
#include
"servereventdata.h"
...
...
@@ -9,6 +10,7 @@
#include
"handzone.h"
#include
"carddatabase.h"
#include
"dlg_startgame.h"
#include
"dlg_editmessages.h"
#include
"playerarea.h"
#include
"counter.h"
...
...
@@ -51,6 +53,9 @@ Game::Game(CardDatabase *_db, Client *_client, QGraphicsScene *_scene, QMenu *_a
aCreateToken
=
new
QAction
(
tr
(
"&Create token..."
),
this
);
aCreateToken
->
setShortcut
(
tr
(
"Ctrl+T"
));
connect
(
aCreateToken
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actCreateToken
()));
aEditMessages
=
new
QAction
(
tr
(
"&Edit messages..."
),
this
);
connect
(
aEditMessages
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actEditMessages
()));
actionsMenu
->
addAction
(
aUntapAll
);
actionsMenu
->
addSeparator
();
...
...
@@ -64,6 +69,9 @@ Game::Game(CardDatabase *_db, Client *_client, QGraphicsScene *_scene, QMenu *_a
actionsMenu
->
addAction
(
aRollDice
);
actionsMenu
->
addSeparator
();
actionsMenu
->
addAction
(
aCreateToken
);
actionsMenu
->
addSeparator
();
sayMenu
=
actionsMenu
->
addMenu
(
tr
(
"S&ay"
));
initSayMenu
();
aTap
=
new
QAction
(
tr
(
"&Tap"
),
this
);
connect
(
aTap
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actTap
()));
...
...
@@ -108,6 +116,32 @@ Game::~Game()
}
}
void
Game
::
initSayMenu
()
{
sayMenu
->
clear
();
sayMenu
->
addAction
(
aEditMessages
);
sayMenu
->
addSeparator
();
QSettings
settings
;
settings
.
beginGroup
(
"messages"
);
int
count
=
settings
.
value
(
"count"
,
0
).
toInt
();
for
(
int
i
=
0
;
i
<
count
;
i
++
)
{
QAction
*
newAction
=
new
QAction
(
settings
.
value
(
QString
(
"msg%1"
).
arg
(
i
)).
toString
(),
this
);
QString
shortcut
;
switch
(
i
)
{
case
0
:
shortcut
=
tr
(
"F5"
);
break
;
case
1
:
shortcut
=
tr
(
"F6"
);
break
;
case
2
:
shortcut
=
tr
(
"F7"
);
break
;
case
3
:
shortcut
=
tr
(
"F8"
);
break
;
case
4
:
shortcut
=
tr
(
"F9"
);
break
;
case
5
:
shortcut
=
tr
(
"F10"
);
break
;
}
newAction
->
setShortcut
(
shortcut
);
connect
(
newAction
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actSayMessage
()));
sayMenu
->
addAction
(
newAction
);
}
}
Player
*
Game
::
addPlayer
(
int
playerId
,
const
QString
&
playerName
,
QPointF
base
,
bool
local
)
{
Player
*
newPlayer
=
new
Player
(
playerName
,
playerId
,
base
,
local
,
db
,
client
,
scene
);
...
...
@@ -295,6 +329,13 @@ void Game::actCreateToken()
client
->
createToken
(
"table"
,
cardname
,
QString
(),
0
,
0
);
}
void
Game
::
actEditMessages
()
{
DlgEditMessages
dlg
;
if
(
dlg
.
exec
())
initSayMenu
();
}
void
Game
::
showCardMenu
(
QPoint
p
)
{
cardMenu
->
exec
(
p
);
...
...
@@ -396,3 +437,9 @@ void Game::actRearrange()
client
->
moveCard
(
temp
->
getId
(),
zoneName
,
zoneName
,
x
,
y
);
}
}
void
Game
::
actSayMessage
()
{
QAction
*
a
=
qobject_cast
<
QAction
*>
(
sender
());
client
->
say
(
a
->
text
());
}
cockatrice/src/game.h
View file @
64185e17
...
...
@@ -14,9 +14,9 @@ class DlgStartGame;
class
Game
:
public
QObject
{
Q_OBJECT
private:
QMenu
*
actionsMenu
,
*
cardMenu
;
QMenu
*
actionsMenu
,
*
sayMenu
,
*
cardMenu
;
QAction
*
aTap
,
*
aUntap
,
*
aDoesntUntap
,
*
aFlip
,
*
aAddCounter
,
*
aRemoveCounter
,
*
aSetCounters
,
*
aRearrange
,
*
aUntapAll
,
*
aDecLife
,
*
aIncLife
,
*
aSetLife
,
*
aShuffle
,
*
aDraw
,
*
aDrawCards
,
*
aRollDice
,
*
aCreateToken
;
*
aUntapAll
,
*
aDecLife
,
*
aIncLife
,
*
aSetLife
,
*
aShuffle
,
*
aDraw
,
*
aDrawCards
,
*
aRollDice
,
*
aCreateToken
,
*
aEditMessages
;
DlgStartGame
*
dlgStartGame
;
CardDatabase
*
db
;
...
...
@@ -26,6 +26,7 @@ private:
Player
*
localPlayer
;
bool
started
;
Player
*
addPlayer
(
int
playerId
,
const
QString
&
playerName
,
QPointF
base
,
bool
local
);
void
initSayMenu
();
private
slots
:
void
actUntapAll
();
void
actIncLife
();
...
...
@@ -36,6 +37,7 @@ private slots:
void
actDrawCards
();
void
actRollDice
();
void
actCreateToken
();
void
actEditMessages
();
void
showCardMenu
(
QPoint
p
);
void
actTap
();
...
...
@@ -46,6 +48,8 @@ private slots:
void
actRemoveCounter
();
void
actSetCounters
();
void
actRearrange
();
void
actSayMessage
();
void
gameEvent
(
const
ServerEventData
&
msg
);
void
playerListReceived
(
QList
<
ServerPlayer
*>
playerList
);
...
...
cockatrice/src/gameselector.cpp
View file @
64185e17
...
...
@@ -9,7 +9,7 @@ GameSelector::GameSelector(Client *_client, QWidget *parent)
gameListModel
=
new
GamesModel
(
this
);
gameListView
->
setModel
(
gameListModel
);
createButton
=
new
QPushButton
(
tr
(
"
&
Create"
));
createButton
=
new
QPushButton
(
tr
(
"C
&
reate"
));
joinButton
=
new
QPushButton
(
tr
(
"&Join"
));
QHBoxLayout
*
buttonLayout
=
new
QHBoxLayout
;
buttonLayout
->
addStretch
();
...
...
cockatrice/src/player.cpp
View file @
64185e17
...
...
@@ -21,14 +21,14 @@ Player::Player(const QString &_name, int _id, QPointF _base, bool _local, CardDa
aViewLibrary
=
new
QAction
(
tr
(
"&View library"
),
this
);
if
(
local
)
aViewLibrary
->
setShortcut
(
tr
(
"F
5
"
));
aViewLibrary
->
setShortcut
(
tr
(
"F
3
"
));
connect
(
aViewLibrary
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actViewLibrary
()));
aViewTopCards
=
new
QAction
(
tr
(
"View &top cards of library..."
),
this
);
connect
(
aViewTopCards
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actViewTopCards
()));
aViewGraveyard
=
new
QAction
(
tr
(
"&View graveyard"
),
this
);
if
(
local
)
aViewGraveyard
->
setShortcut
(
tr
(
"F
6
"
));
aViewGraveyard
->
setShortcut
(
tr
(
"F
4
"
));
connect
(
aViewGraveyard
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actViewGraveyard
()));
aViewRfg
=
new
QAction
(
tr
(
"&View removed cards"
),
this
);
...
...
cockatrice/src/window_main.cpp
View file @
64185e17
...
...
@@ -60,6 +60,7 @@ void MainWindow::statusChanged(ProtocolStatus _status)
break
;
case
StatusDisconnected
:
if
(
game
)
{
zoneLayout
->
clear
();
delete
game
;
game
=
0
;
}
...
...
@@ -72,6 +73,14 @@ void MainWindow::statusChanged(ProtocolStatus _status)
aDisconnect
->
setEnabled
(
true
);
break
;
case
StatusIdle
:
{
if
(
game
)
{
zoneLayout
->
clear
();
delete
game
;
game
=
0
;
}
aRestartGame
->
setEnabled
(
false
);
aLeaveGame
->
setEnabled
(
false
);
GameSelector
*
gameSelector
=
new
GameSelector
(
client
);
viewLayout
->
insertWidget
(
0
,
gameSelector
);
}
...
...
@@ -104,12 +113,7 @@ void MainWindow::actRestartGame()
void
MainWindow
::
actLeaveGame
()
{
zoneLayout
->
clear
();
client
->
leaveGame
();
delete
game
;
game
=
0
;
aRestartGame
->
setEnabled
(
false
);
aLeaveGame
->
setEnabled
(
false
);
}
void
MainWindow
::
actDeckEditor
()
...
...
@@ -140,15 +144,11 @@ void MainWindow::updateSceneSize()
view
->
fitInView
(
scene
->
sceneRect
(),
Qt
::
KeepAspectRatio
);
}
void
MainWindow
::
textChanged
(
const
QString
&
text
)
{
sayButton
->
setEnabled
(
!
text
.
isEmpty
());
}
// Knöpfe
void
MainWindow
::
buttonSay
()
void
MainWindow
::
actSay
()
{
if
(
sayEdit
->
text
().
isEmpty
())
return
;
client
->
say
(
sayEdit
->
text
());
sayEdit
->
clear
();
}
...
...
@@ -190,7 +190,7 @@ void MainWindow::createActions()
aDeckEditor
=
new
QAction
(
tr
(
"&Deck editor"
),
this
);
connect
(
aDeckEditor
,
SIGNAL
(
triggered
()),
this
,
SLOT
(
actDeckEditor
()));
aFullScreen
=
new
QAction
(
tr
(
"&Full screen"
),
this
);
aFullScreen
->
setShortcut
(
tr
(
"F
4
"
));
aFullScreen
->
setShortcut
(
tr
(
"
Ctrl+
F"
));
aFullScreen
->
setCheckable
(
true
);
connect
(
aFullScreen
,
SIGNAL
(
toggled
(
bool
)),
this
,
SLOT
(
actFullScreen
(
bool
)));
aExit
=
new
QAction
(
tr
(
"&Exit"
),
this
);
...
...
@@ -244,13 +244,13 @@ MainWindow::MainWindow(QWidget *parent)
cardInfo
=
new
CardInfoWidget
(
db
);
messageLog
=
new
MessageLogWidget
;
QLabel
*
sayLabel
=
new
QLabel
(
tr
(
"&Say:"
));
sayEdit
=
new
QLineEdit
;
sayButton
=
new
QPushButton
(
tr
(
"&Say"
));
sayButton
->
setEnabled
(
false
);
sayLabel
->
setBuddy
(
sayEdit
);
QHBoxLayout
*
hLayout
=
new
QHBoxLayout
;
hLayout
->
addWidget
(
sayLabel
);
hLayout
->
addWidget
(
sayEdit
);
hLayout
->
addWidget
(
sayButton
);
QVBoxLayout
*
verticalLayout
=
new
QVBoxLayout
;
verticalLayout
->
addWidget
(
cardInfo
);
...
...
@@ -268,9 +268,7 @@ MainWindow::MainWindow(QWidget *parent)
centralWidget
->
setLayout
(
mainLayout
);
setCentralWidget
(
centralWidget
);
connect
(
sayEdit
,
SIGNAL
(
returnPressed
()),
sayButton
,
SLOT
(
click
()));
connect
(
sayEdit
,
SIGNAL
(
textChanged
(
const
QString
&
)),
this
,
SLOT
(
textChanged
(
const
QString
&
)));
connect
(
sayButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
buttonSay
()));
connect
(
sayEdit
,
SIGNAL
(
returnPressed
()),
this
,
SLOT
(
actSay
()));
client
=
new
Client
(
this
);
connect
(
client
,
SIGNAL
(
serverTimeout
()),
this
,
SLOT
(
serverTimeout
()));
...
...
cockatrice/src/window_main.h
View file @
64185e17
...
...
@@ -48,8 +48,7 @@ private slots:
void
playerIdReceived
(
int
id
,
QString
name
);
void
serverTimeout
();
void
textChanged
(
const
QString
&
text
);
void
buttonSay
();
void
actSay
();
void
actConnect
();
void
actDisconnect
();
...
...
@@ -74,7 +73,6 @@ private:
CardInfoWidget
*
cardInfo
;
MessageLogWidget
*
messageLog
;
QLineEdit
*
sayEdit
;
QPushButton
*
sayButton
;
Client
*
client
;
QGraphicsScene
*
scene
;
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment