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
4fac0e5b
Commit
4fac0e5b
authored
Nov 22, 2009
by
Max-Wilhelm Bruker
Browse files
remote deck loading finished
parent
cf21528a
Changes
14
Hide whitespace changes
Inline
Side-by-side
cockatrice/cockatrice.pro
View file @
4fac0e5b
...
@@ -25,7 +25,7 @@ HEADERS += src/counter.h \
...
@@ -25,7 +25,7 @@ HEADERS += src/counter.h \
src
/
gameview
.
h
\
src
/
gameview
.
h
\
src
/
deck_picturecacher
.
h
\
src
/
deck_picturecacher
.
h
\
src
/
decklistmodel
.
h
\
src
/
decklistmodel
.
h
\
src
/
dlg_
startgame
.
h
\
src
/
dlg_
load_remote_deck
.
h
\
src
/
cardinfowidget
.
h
\
src
/
cardinfowidget
.
h
\
src
/
messagelogwidget
.
h
\
src
/
messagelogwidget
.
h
\
src
/
zoneviewzone
.
h
\
src
/
zoneviewzone
.
h
\
...
@@ -47,6 +47,7 @@ HEADERS += src/counter.h \
...
@@ -47,6 +47,7 @@ HEADERS += src/counter.h \
src
/
tab_game
.
h
\
src
/
tab_game
.
h
\
src
/
tab_deck_storage
.
h
\
src
/
tab_deck_storage
.
h
\
src
/
tab_supervisor
.
h
\
src
/
tab_supervisor
.
h
\
src
/
remotedecklist_treewidget
.
h
\
src
/
deckview
.
h
\
src
/
deckview
.
h
\
..
/
common
/
decklist
.
h
\
..
/
common
/
decklist
.
h
\
..
/
common
/
protocol
.
h
\
..
/
common
/
protocol
.
h
\
...
@@ -72,7 +73,7 @@ SOURCES += src/counter.cpp \
...
@@ -72,7 +73,7 @@ SOURCES += src/counter.cpp \
src
/
gameview
.
cpp
\
src
/
gameview
.
cpp
\
src
/
deck_picturecacher
.
cpp
\
src
/
deck_picturecacher
.
cpp
\
src
/
decklistmodel
.
cpp
\
src
/
decklistmodel
.
cpp
\
src
/
dlg_
startgame
.
cpp
\
src
/
dlg_
load_remote_deck
.
cpp
\
src
/
cardinfowidget
.
cpp
\
src
/
cardinfowidget
.
cpp
\
src
/
messagelogwidget
.
cpp
\
src
/
messagelogwidget
.
cpp
\
src
/
zoneviewzone
.
cpp
\
src
/
zoneviewzone
.
cpp
\
...
@@ -94,6 +95,7 @@ SOURCES += src/counter.cpp \
...
@@ -94,6 +95,7 @@ SOURCES += src/counter.cpp \
src
/
tab_game
.
cpp
\
src
/
tab_game
.
cpp
\
src
/
tab_deck_storage
.
cpp
\
src
/
tab_deck_storage
.
cpp
\
src
/
tab_supervisor
.
cpp
\
src
/
tab_supervisor
.
cpp
\
src
/
remotedecklist_treewidget
.
cpp
\
src
/
deckview
.
cpp
\
src
/
deckview
.
cpp
\
..
/
common
/
decklist
.
cpp
\
..
/
common
/
decklist
.
cpp
\
..
/
common
/
protocol
.
cpp
\
..
/
common
/
protocol
.
cpp
\
...
...
cockatrice/src/dlg_load_remote_deck.cpp
0 → 100644
View file @
4fac0e5b
#include
<QPushButton>
#include
<QHBoxLayout>
#include
<QVBoxLayout>
#include
"remotedecklist_treewidget.h"
#include
"dlg_load_remote_deck.h"
#include
"main.h"
DlgLoadRemoteDeck
::
DlgLoadRemoteDeck
(
Client
*
_client
,
QWidget
*
parent
)
:
QDialog
(
parent
),
client
(
_client
)
{
dirView
=
new
RemoteDeckList_TreeWidget
(
client
);
okButton
=
new
QPushButton
(
tr
(
"O&K"
));
okButton
->
setDefault
(
true
);
okButton
->
setAutoDefault
(
true
);
okButton
->
setEnabled
(
false
);
cancelButton
=
new
QPushButton
(
tr
(
"&Cancel"
));
QHBoxLayout
*
buttonLayout
=
new
QHBoxLayout
;
buttonLayout
->
addStretch
();
buttonLayout
->
addWidget
(
okButton
);
buttonLayout
->
addWidget
(
cancelButton
);
QVBoxLayout
*
mainLayout
=
new
QVBoxLayout
;
mainLayout
->
addWidget
(
dirView
);
mainLayout
->
addLayout
(
buttonLayout
);
setLayout
(
mainLayout
);
setWindowTitle
(
tr
(
"Load deck"
));
setMinimumWidth
(
sizeHint
().
width
());
resize
(
300
,
500
);
connect
(
dirView
,
SIGNAL
(
currentItemChanged
(
QTreeWidgetItem
*
,
QTreeWidgetItem
*
)),
this
,
SLOT
(
currentItemChanged
(
QTreeWidgetItem
*
,
QTreeWidgetItem
*
)));
connect
(
okButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
accept
()));
connect
(
cancelButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
reject
()));
}
void
DlgLoadRemoteDeck
::
currentItemChanged
(
QTreeWidgetItem
*
current
,
QTreeWidgetItem
*
/*previous*/
)
{
if
(
!
current
)
okButton
->
setEnabled
(
false
);
else
if
(
current
->
type
()
==
TWIDeckType
)
okButton
->
setEnabled
(
true
);
else
okButton
->
setEnabled
(
false
);
}
int
DlgLoadRemoteDeck
::
getDeckId
()
const
{
return
dirView
->
currentItem
()
->
data
(
1
,
Qt
::
DisplayRole
).
toInt
();
}
cockatrice/src/dlg_load_remote_deck.h
0 → 100644
View file @
4fac0e5b
#ifndef DLG_STARTGAME_H
#define DLG_STARTGAME_H
#include
<QDialog>
class
RemoteDeckList_TreeWidget
;
class
QTreeWidgetItem
;
class
Client
;
class
QPushButton
;
class
DlgLoadRemoteDeck
:
public
QDialog
{
Q_OBJECT
private:
Client
*
client
;
RemoteDeckList_TreeWidget
*
dirView
;
QPushButton
*
okButton
,
*
cancelButton
;
private
slots
:
void
currentItemChanged
(
QTreeWidgetItem
*
current
,
QTreeWidgetItem
*
previous
);
public:
DlgLoadRemoteDeck
(
Client
*
_client
,
QWidget
*
parent
=
0
);
int
getDeckId
()
const
;
};
#endif
cockatrice/src/dlg_startgame.cpp
deleted
100644 → 0
View file @
cf21528a
#include
<QtGui>
#include
<QFileDialog>
#include
"dlg_startgame.h"
#include
"decklistmodel.h"
#include
"carddatabase.h"
#include
"main.h"
DlgStartGame
::
DlgStartGame
(
QWidget
*
parent
)
:
QDialog
(
parent
)
{
deckView
=
new
QTreeView
;
deckModel
=
new
DeckListModel
(
this
);
deckView
->
setModel
(
deckModel
);
deckView
->
setUniformRowHeights
(
true
);
loadButton
=
new
QPushButton
(
tr
(
"&Load..."
));
okButton
=
new
QPushButton
(
tr
(
"&OK"
));
okButton
->
setDefault
(
true
);
QHBoxLayout
*
buttonLayout
=
new
QHBoxLayout
;
buttonLayout
->
addWidget
(
loadButton
);
buttonLayout
->
addStretch
();
buttonLayout
->
addWidget
(
okButton
);
QVBoxLayout
*
mainLayout
=
new
QVBoxLayout
;
mainLayout
->
addWidget
(
deckView
);
mainLayout
->
addLayout
(
buttonLayout
);
setLayout
(
mainLayout
);
setWindowTitle
(
tr
(
"Start game"
));
setMinimumWidth
(
sizeHint
().
width
());
resize
(
300
,
500
);
connect
(
loadButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
actLoad
()));
connect
(
okButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
accept
()));
}
void
DlgStartGame
::
actLoad
()
{
// if (!deckModel->getDeckList()->loadDialog(this))
// return;
deckView
->
reset
();
deckModel
->
sort
(
1
);
deckView
->
expandAll
();
deckView
->
resizeColumnToContents
(
0
);
emit
newDeckLoaded
(
getDeckList
());
}
QStringList
DlgStartGame
::
getDeckList
()
const
{
QStringList
result
;
DeckList
*
deckList
=
deckModel
->
getDeckList
();
for
(
int
i
=
0
;
i
<
deckList
->
getRoot
()
->
size
();
i
++
)
{
InnerDecklistNode
*
node
=
dynamic_cast
<
InnerDecklistNode
*>
(
deckList
->
getRoot
()
->
at
(
i
));
for
(
int
j
=
0
;
j
<
node
->
size
();
j
++
)
{
DecklistCardNode
*
card
=
dynamic_cast
<
DecklistCardNode
*>
(
node
->
at
(
j
));
for
(
int
k
=
0
;
k
<
card
->
getNumber
();
k
++
)
result
<<
QString
(
"%1%2"
).
arg
(
node
->
getName
()
==
"side"
?
"SB: "
:
""
).
arg
(
card
->
getName
());
}
}
return
result
;
}
cockatrice/src/dlg_startgame.h
deleted
100644 → 0
View file @
cf21528a
#ifndef DLG_STARTGAME_H
#define DLG_STARTGAME_H
#include
<QDialog>
class
QTreeView
;
class
QPushButton
;
class
CardDatabase
;
class
DeckListModel
;
class
DlgStartGame
:
public
QDialog
{
Q_OBJECT
public:
DlgStartGame
(
QWidget
*
parent
=
0
);
QStringList
getDeckList
()
const
;
signals:
void
newDeckLoaded
(
const
QStringList
&
cards
);
private
slots
:
void
actLoad
();
private:
QTreeView
*
deckView
;
DeckListModel
*
deckModel
;
QPushButton
*
loadButton
,
*
okButton
;
};
#endif
cockatrice/src/game.cpp
View file @
4fac0e5b
...
@@ -8,7 +8,6 @@
...
@@ -8,7 +8,6 @@
#include
"tablezone.h"
#include
"tablezone.h"
#include
"handzone.h"
#include
"handzone.h"
#include
"carddatabase.h"
#include
"carddatabase.h"
#include
"dlg_startgame.h"
#include
"counter.h"
#include
"counter.h"
#include
"gamescene.h"
#include
"gamescene.h"
#include
"player.h"
#include
"player.h"
...
@@ -80,10 +79,6 @@ Game::Game(Client *_client, GameScene *_scene, QMenuBar *menuBar, QObject *paren
...
@@ -80,10 +79,6 @@ Game::Game(Client *_client, GameScene *_scene, QMenuBar *menuBar, QObject *paren
connect
(
i
.
key
(),
SIGNAL
(
triggered
()),
this
,
SLOT
(
cardMenuAction
()));
connect
(
i
.
key
(),
SIGNAL
(
triggered
()),
this
,
SLOT
(
cardMenuAction
()));
}
}
dlgStartGame
=
new
DlgStartGame
;
connect
(
dlgStartGame
,
SIGNAL
(
newDeckLoaded
(
const
QStringList
&
)),
client
,
SLOT
(
submitDeck
(
const
QStringList
&
)));
connect
(
dlgStartGame
,
SIGNAL
(
finished
(
int
)),
this
,
SLOT
(
readyStart
()));
retranslateUi
();
retranslateUi
();
}
}
...
@@ -259,7 +254,7 @@ void Game::readyStart()
...
@@ -259,7 +254,7 @@ void Game::readyStart()
void
Game
::
restartGameDialog
()
void
Game
::
restartGameDialog
()
{
{
dlgStartGame
->
show
();
//
dlgStartGame->show();
}
}
/*
/*
void Game::gameEvent(const ServerEventData &msg)
void Game::gameEvent(const ServerEventData &msg)
...
...
cockatrice/src/game.h
View file @
4fac0e5b
...
@@ -11,7 +11,6 @@
...
@@ -11,7 +11,6 @@
class
GameScene
;
class
GameScene
;
class
Player
;
class
Player
;
class
CardDatabase
;
class
CardDatabase
;
class
DlgStartGame
;
class
CardItem
;
class
CardItem
;
class
QMenuBar
;
class
QMenuBar
;
class
CardZone
;
class
CardZone
;
...
@@ -28,7 +27,6 @@ private:
...
@@ -28,7 +27,6 @@ private:
QAction
*
aTap
,
*
aUntap
,
*
aDoesntUntap
,
*
aFlip
,
*
aAddCounter
,
*
aRemoveCounter
,
*
aSetCounters
,
QAction
*
aTap
,
*
aUntap
,
*
aDoesntUntap
,
*
aFlip
,
*
aAddCounter
,
*
aRemoveCounter
,
*
aSetCounters
,
*
aMoveToTopLibrary
,
*
aMoveToBottomLibrary
,
*
aMoveToGraveyard
,
*
aMoveToExile
,
*
aMoveToTopLibrary
,
*
aMoveToBottomLibrary
,
*
aMoveToGraveyard
,
*
aMoveToExile
,
*
aNextPhase
,
*
aNextTurn
,
*
aRemoveLocalArrows
;
*
aNextPhase
,
*
aNextTurn
,
*
aRemoveLocalArrows
;
DlgStartGame
*
dlgStartGame
;
Client
*
client
;
Client
*
client
;
GameScene
*
scene
;
GameScene
*
scene
;
...
...
cockatrice/src/remotedecklist_treewidget.cpp
0 → 100644
View file @
4fac0e5b
#include
<QFileIconProvider>
#include
<QHeaderView>
#include
"remotedecklist_treewidget.h"
#include
"protocol_items.h"
#include
"client.h"
RemoteDeckList_TreeWidget
::
RemoteDeckList_TreeWidget
(
Client
*
_client
,
QWidget
*
parent
)
:
QTreeWidget
(
parent
),
client
(
_client
)
{
header
()
->
setResizeMode
(
QHeaderView
::
ResizeToContents
);
setColumnCount
(
3
);
refreshTree
();
retranslateUi
();
}
void
RemoteDeckList_TreeWidget
::
retranslateUi
()
{
headerItem
()
->
setText
(
0
,
tr
(
"Name"
));
headerItem
()
->
setText
(
1
,
tr
(
"ID"
));
headerItem
()
->
setText
(
2
,
tr
(
"Upload time"
));
headerItem
()
->
setTextAlignment
(
1
,
Qt
::
AlignRight
);
}
void
RemoteDeckList_TreeWidget
::
addFileToTree
(
DeckList_File
*
file
,
QTreeWidgetItem
*
parent
)
{
QFileIconProvider
fip
;
QTreeWidgetItem
*
newDeck
=
new
QTreeWidgetItem
(
TWIDeckType
);
newDeck
->
setIcon
(
0
,
fip
.
icon
(
QFileIconProvider
::
File
));
newDeck
->
setData
(
0
,
Qt
::
DisplayRole
,
file
->
getName
());
newDeck
->
setData
(
1
,
Qt
::
DisplayRole
,
file
->
getId
());
newDeck
->
setTextAlignment
(
1
,
Qt
::
AlignRight
);
newDeck
->
setData
(
2
,
Qt
::
DisplayRole
,
file
->
getUploadTime
());
parent
->
addChild
(
newDeck
);
}
void
RemoteDeckList_TreeWidget
::
addFolderToTree
(
DeckList_Directory
*
folder
,
QTreeWidgetItem
*
parent
)
{
QFileIconProvider
fip
;
QTreeWidgetItem
*
newItem
=
new
QTreeWidgetItem
(
TWIFolderType
);
newItem
->
setIcon
(
0
,
fip
.
icon
(
QFileIconProvider
::
Folder
));
newItem
->
setText
(
0
,
parent
?
folder
->
getName
()
:
"/"
);
if
(
parent
)
{
parent
->
addChild
(
newItem
);
QString
path
=
parent
->
data
(
0
,
Qt
::
UserRole
).
toString
();
if
(
path
.
isEmpty
())
newItem
->
setData
(
0
,
Qt
::
UserRole
,
folder
->
getName
());
else
newItem
->
setData
(
0
,
Qt
::
UserRole
,
path
+
"/"
+
folder
->
getName
());
}
else
{
addTopLevelItem
(
newItem
);
newItem
->
setData
(
0
,
Qt
::
UserRole
,
QString
());
}
for
(
int
i
=
0
;
i
<
folder
->
size
();
++
i
)
{
DeckList_Directory
*
subFolder
=
dynamic_cast
<
DeckList_Directory
*>
(
folder
->
at
(
i
));
if
(
subFolder
)
addFolderToTree
(
subFolder
,
newItem
);
else
addFileToTree
(
dynamic_cast
<
DeckList_File
*>
(
folder
->
at
(
i
)),
newItem
);
}
}
void
RemoteDeckList_TreeWidget
::
refreshTree
()
{
Command_DeckList
*
command
=
new
Command_DeckList
;
connect
(
command
,
SIGNAL
(
finished
(
ProtocolResponse
*
)),
this
,
SLOT
(
deckListFinished
(
ProtocolResponse
*
)));
client
->
sendCommand
(
command
);
}
void
RemoteDeckList_TreeWidget
::
deckListFinished
(
ProtocolResponse
*
r
)
{
Response_DeckList
*
resp
=
qobject_cast
<
Response_DeckList
*>
(
r
);
if
(
!
resp
)
return
;
clear
();
addFolderToTree
(
resp
->
getRoot
(),
0
);
expandAll
();
}
cockatrice/src/remotedecklist_treewidget.h
0 → 100644
View file @
4fac0e5b
#ifndef REMOTEDECKLIST_TREEWIDGET_H
#define REMOTEDECKLIST_TREEWIDGET_H
#include
<QTreeWidget>
class
ProtocolResponse
;
class
Client
;
class
DeckList_File
;
class
DeckList_Directory
;
enum
{
TWIFolderType
=
QTreeWidgetItem
::
UserType
+
1
,
TWIDeckType
=
QTreeWidgetItem
::
UserType
+
2
};
class
RemoteDeckList_TreeWidget
:
public
QTreeWidget
{
Q_OBJECT
private:
Client
*
client
;
private
slots
:
void
deckListFinished
(
ProtocolResponse
*
r
);
public:
RemoteDeckList_TreeWidget
(
Client
*
_client
,
QWidget
*
parent
=
0
);
void
retranslateUi
();
void
addFileToTree
(
DeckList_File
*
file
,
QTreeWidgetItem
*
parent
);
void
addFolderToTree
(
DeckList_Directory
*
folder
,
QTreeWidgetItem
*
parent
);
void
refreshTree
();
};
#endif
cockatrice/src/tab_deck_storage.cpp
View file @
4fac0e5b
#include
<QtGui>
#include
<QtGui>
#include
<QDebug>
#include
<QDebug>
#include
"tab_deck_storage.h"
#include
"tab_deck_storage.h"
#include
"remotedecklist_treewidget.h"
#include
"client.h"
#include
"client.h"
#include
"decklist.h"
#include
"decklist.h"
#include
"protocol_items.h"
#include
"protocol_items.h"
enum
{
TWIFolderType
=
QTreeWidgetItem
::
UserType
+
1
,
TWIDeckType
=
QTreeWidgetItem
::
UserType
+
2
};
TabDeckStorage
::
TabDeckStorage
(
Client
*
_client
)
TabDeckStorage
::
TabDeckStorage
(
Client
*
_client
)
:
QWidget
(),
client
(
_client
)
:
QWidget
(),
client
(
_client
)
{
{
...
@@ -47,9 +46,7 @@ TabDeckStorage::TabDeckStorage(Client *_client)
...
@@ -47,9 +46,7 @@ TabDeckStorage::TabDeckStorage(Client *_client)
rightToolBarLayout
->
addWidget
(
rightToolBar
);
rightToolBarLayout
->
addWidget
(
rightToolBar
);
rightToolBarLayout
->
addStretch
();
rightToolBarLayout
->
addStretch
();
serverDirView
=
new
QTreeWidget
;
serverDirView
=
new
RemoteDeckList_TreeWidget
(
client
);
serverDirView
->
header
()
->
setResizeMode
(
QHeaderView
::
ResizeToContents
);
serverDirView
->
setColumnCount
(
3
);
QVBoxLayout
*
rightVbox
=
new
QVBoxLayout
;
QVBoxLayout
*
rightVbox
=
new
QVBoxLayout
;
rightVbox
->
addWidget
(
serverDirView
);
rightVbox
->
addWidget
(
serverDirView
);
...
@@ -81,8 +78,6 @@ TabDeckStorage::TabDeckStorage(Client *_client)
...
@@ -81,8 +78,6 @@ TabDeckStorage::TabDeckStorage(Client *_client)
retranslateUi
();
retranslateUi
();
setLayout
(
hbox
);
setLayout
(
hbox
);
refreshServerList
();
}
}
void
TabDeckStorage
::
retranslateUi
()
void
TabDeckStorage
::
retranslateUi
()
...
@@ -94,71 +89,8 @@ void TabDeckStorage::retranslateUi()
...
@@ -94,71 +89,8 @@ void TabDeckStorage::retranslateUi()
aDownload
->
setText
(
tr
(
"Download deck"
));
aDownload
->
setText
(
tr
(
"Download deck"
));
aNewFolder
->
setText
(
tr
(
"New folder"
));
aNewFolder
->
setText
(
tr
(
"New folder"
));
aDelete
->
setText
(
tr
(
"Delete"
));
aDelete
->
setText
(
tr
(
"Delete"
));
QTreeWidgetItem
*
header
=
serverDirView
->
headerItem
();
serverDirView
->
retranslateUi
();
header
->
setText
(
0
,
tr
(
"Name"
));
header
->
setText
(
1
,
tr
(
"ID"
));
header
->
setText
(
2
,
tr
(
"Upload time"
));
header
->
setTextAlignment
(
1
,
Qt
::
AlignRight
);
}
void
TabDeckStorage
::
refreshServerList
()
{
Command_DeckList
*
command
=
new
Command_DeckList
;
connect
(
command
,
SIGNAL
(
finished
(
ProtocolResponse
*
)),
this
,
SLOT
(
deckListFinished
(
ProtocolResponse
*
)));
client
->
sendCommand
(
command
);
}
void
TabDeckStorage
::
addFileToTree
(
DeckList_File
*
file
,
QTreeWidgetItem
*
parent
)
{
QFileIconProvider
fip
;
QTreeWidgetItem
*
newDeck
=
new
QTreeWidgetItem
(
TWIDeckType
);
newDeck
->
setIcon
(
0
,
fip
.
icon
(
QFileIconProvider
::
File
));
newDeck
->
setData
(
0
,
Qt
::
DisplayRole
,
file
->
getName
());
newDeck
->
setData
(
1
,
Qt
::
DisplayRole
,
file
->
getId
());
newDeck
->
setTextAlignment
(
1
,
Qt
::
AlignRight
);
newDeck
->
setData
(
2
,
Qt
::
DisplayRole
,
file
->
getUploadTime
());
parent
->
addChild
(
newDeck
);
}
void
TabDeckStorage
::
populateDeckList
(
DeckList_Directory
*
folder
,
QTreeWidgetItem
*
parent
)
{
QFileIconProvider
fip
;
QTreeWidgetItem
*
newItem
=
new
QTreeWidgetItem
(
TWIFolderType
);
newItem
->
setIcon
(
0
,
fip
.
icon
(
QFileIconProvider
::
Folder
));
newItem
->
setText
(
0
,
parent
?
folder
->
getName
()
:
"/"
);
if
(
parent
)
{
parent
->
addChild
(
newItem
);
QString
path
=
parent
->
data
(
0
,
Qt
::
UserRole
).
toString
();
if
(
path
.
isEmpty
())
newItem
->
setData
(
0
,
Qt
::
UserRole
,
folder
->
getName
());
else
newItem
->
setData
(
0
,
Qt
::
UserRole
,
path
+
"/"
+
folder
->
getName
());
}
else
{
serverDirView
->
addTopLevelItem
(
newItem
);
newItem
->
setData
(
0
,
Qt
::
UserRole
,
QString
());
}
for
(
int
i
=
0
;
i
<
folder
->
size
();
++
i
)
{
DeckList_Directory
*
subFolder
=
dynamic_cast
<
DeckList_Directory
*>
(
folder
->
at
(
i
));
if
(
subFolder
)
populateDeckList
(
subFolder
,
newItem
);
else
addFileToTree
(
dynamic_cast
<
DeckList_File
*>
(
folder
->
at
(
i
)),
newItem
);
}
}
void
TabDeckStorage
::
deckListFinished
(
ProtocolResponse
*
r
)
{
Response_DeckList
*
resp
=
qobject_cast
<
Response_DeckList
*>
(
r
);
if
(
!
resp
)
return
;
serverDirView
->
clear
();
populateDeckList
(
resp
->
getRoot
(),
0
);
serverDirView
->
expandAll
();
}
}
void
TabDeckStorage
::
actUpload
()
void
TabDeckStorage
::
actUpload
()
...
@@ -194,7 +126,7 @@ void TabDeckStorage::uploadFinished(ProtocolResponse *r)
...
@@ -194,7 +126,7 @@ void TabDeckStorage::uploadFinished(ProtocolResponse *r)
QTreeWidgetItemIterator
it
(
serverDirView
);
QTreeWidgetItemIterator
it
(
serverDirView
);
while
(
*
it
)
{
while
(
*
it
)
{
if
((
*
it
)
->
data
(
0
,
Qt
::
UserRole
)
==
cmd
->
getPath
())
{
if
((
*
it
)
->
data
(
0
,
Qt
::
UserRole
)
==
cmd
->
getPath
())
{
addFileToTree
(
resp
->
getFile
(),
*
it
);
serverDirView
->
addFileToTree
(
resp
->
getFile
(),
*
it
);
break
;
break
;
}
}
++
it
;
++
it
;
...
...
cockatrice/src/tab_deck_storage.h
View file @
4fac0e5b
...
@@ -13,6 +13,7 @@ class QTreeWidget;
...
@@ -13,6 +13,7 @@ class QTreeWidget;
class
QTreeWidgetItem
;
class
QTreeWidgetItem
;
class
QGroupBox
;
class
QGroupBox
;
class
ProtocolResponse
;
class
ProtocolResponse
;
class
RemoteDeckList_TreeWidget
;
class
TabDeckStorage
:
public
QWidget
{
class
TabDeckStorage
:
public
QWidget
{
Q_OBJECT
Q_OBJECT
...
@@ -22,16 +23,11 @@ private:
...
@@ -22,16 +23,11 @@ private:
QFileSystemModel
*
localDirModel
;
QFileSystemModel
*
localDirModel
;
QSortFilterProxyModel
*
sortFilter
;
QSortFilterProxyModel
*
sortFilter
;
QToolBar
*
leftToolBar
,
*
rightToolBar
;
QToolBar
*
leftToolBar
,
*
rightToolBar
;
Q
TreeWidget
*
serverDirView
;
RemoteDeckList_
TreeWidget
*
serverDirView
;
QGroupBox
*
leftGroupBox
,
*
rightGroupBox
;
QGroupBox
*
leftGroupBox
,
*
rightGroupBox
;
QAction
*
aUpload
,
*
aDownload
,
*
aNewFolder
,
*
aDelete
;
QAction
*
aUpload
,
*
aDownload
,
*
aNewFolder
,
*
aDelete
;
void
addFileToTree
(
DeckList_File
*
file
,
QTreeWidgetItem
*
parent
);
void
populateDeckList
(
DeckList_Directory
*
folder
,
QTreeWidgetItem
*
parent
);
void
refreshServerList
();
private
slots
:
private
slots
:
void
deckListFinished
(
ProtocolResponse
*
r
);
void
actUpload
();
void
actUpload
();
void
uploadFinished
(
ProtocolResponse
*
r
);
void
uploadFinished
(
ProtocolResponse
*
r
);
...
...
cockatrice/src/tab_game.cpp
View file @
4fac0e5b
...
@@ -14,6 +14,7 @@
...
@@ -14,6 +14,7 @@
#include
"decklist.h"
#include
"decklist.h"
#include
"deck_picturecacher.h"
#include
"deck_picturecacher.h"
#include
"protocol_items.h"
#include
"protocol_items.h"
#include
"dlg_load_remote_deck.h"
#include
"main.h"
#include
"main.h"
TabGame
::
TabGame
(
Client
*
_client
,
int
_gameId
)
TabGame
::
TabGame
(
Client
*
_client
,
int
_gameId
)
...
@@ -26,10 +27,12 @@ TabGame::TabGame(Client *_client, int _gameId)
...
@@ -26,10 +27,12 @@ TabGame::TabGame(Client *_client, int _gameId)
loadLocalButton
=
new
QPushButton
;
loadLocalButton
=
new
QPushButton
;
loadRemoteButton
=
new
QPushButton
;
loadRemoteButton
=
new
QPushButton
;
readyStartButton
=
new
QPushButton
;
QHBoxLayout
*
buttonHBox
=
new
QHBoxLayout
;
QHBoxLayout
*
buttonHBox
=
new
QHBoxLayout
;
buttonHBox
->
addWidget
(
loadLocalButton
);
buttonHBox
->
addWidget
(
loadLocalButton
);
buttonHBox
->
addWidget
(
loadRemoteButton
);
buttonHBox
->
addWidget
(
loadRemoteButton
);
buttonHBox
->
addWidget
(
readyStartButton
);
buttonHBox
->
addStretch
();
buttonHBox
->
addStretch
();
deckView
=
new
DeckView
;
deckView
=
new
DeckView
;
QVBoxLayout
*
deckViewLayout
=
new
QVBoxLayout
;
QVBoxLayout
*
deckViewLayout
=
new
QVBoxLayout
;
...
@@ -66,6 +69,7 @@ TabGame::TabGame(Client *_client, int _gameId)
...
@@ -66,6 +69,7 @@ TabGame::TabGame(Client *_client, int _gameId)
connect
(
loadLocalButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
loadLocalDeck
()));
connect
(
loadLocalButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
loadLocalDeck
()));
connect
(
loadRemoteButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
loadRemoteDeck
()));
connect
(
loadRemoteButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
loadRemoteDeck
()));
connect
(
readyStartButton
,
SIGNAL
(
clicked
()),
this
,
SLOT
(
readyStart
()));
connect
(
sayEdit
,
SIGNAL
(
returnPressed
()),
this
,
SLOT
(
actSay
()));
connect
(
sayEdit
,
SIGNAL
(
returnPressed
()),
this
,
SLOT
(
actSay
()));
...
@@ -93,6 +97,7 @@ void TabGame::retranslateUi()
...
@@ -93,6 +97,7 @@ void TabGame::retranslateUi()
{
{
loadLocalButton
->
setText
(
tr
(
"Load &local deck"
));
loadLocalButton
->
setText
(
tr
(
"Load &local deck"
));
loadRemoteButton
->
setText
(
tr
(
"Load deck from &server"
));
loadRemoteButton
->
setText
(
tr
(
"Load deck from &server"
));
readyStartButton
->
setText
(
tr
(
"&Start game"
));
sayLabel
->
setText
(
tr
(
"&Say:"
));
sayLabel
->
setText
(
tr
(
"&Say:"
));
cardInfo
->
retranslateUi
();
cardInfo
->
retranslateUi
();
// if (game)
// if (game)
...
@@ -132,7 +137,12 @@ void TabGame::loadLocalDeck()
...
@@ -132,7 +137,12 @@ void TabGame::loadLocalDeck()
void
TabGame
::
loadRemoteDeck
()
void
TabGame
::
loadRemoteDeck
()
{
{
DlgLoadRemoteDeck
dlg
(
client
);
if
(
dlg
.
exec
())
{
Command_DeckSelect
*
cmd
=
new
Command_DeckSelect
(
gameId
,
0
,
dlg
.
getDeckId
());
connect
(
cmd
,
SIGNAL
(
finished
(
ProtocolResponse
*
)),
this
,
SLOT
(
deckSelectFinished
(
ProtocolResponse
*
)));
client
->
sendCommand
(
cmd
);
}
}
}
void
TabGame
::
deckSelectFinished
(
ProtocolResponse
*
r
)
void
TabGame
::
deckSelectFinished
(
ProtocolResponse
*
r
)
...
@@ -146,3 +156,8 @@ void TabGame::deckSelectFinished(ProtocolResponse *r)
...
@@ -146,3 +156,8 @@ void TabGame::deckSelectFinished(ProtocolResponse *r)
Deck_PictureCacher
::
cachePictures
(
resp
->
getDeck
(),
this
);
Deck_PictureCacher
::
cachePictures
(
resp
->
getDeck
(),
this
);
deckView
->
setDeck
(
resp
->
getDeck
());
deckView
->
setDeck
(
resp
->
getDeck
());
}
}
void
TabGame
::
readyStart
()
{
client
->
sendCommand
(
new
Command_ReadyStart
(
gameId
));
}
cockatrice/src/tab_game.h
View file @
4fac0e5b
...
@@ -26,7 +26,7 @@ private:
...
@@ -26,7 +26,7 @@ private:
Client
*
client
;
Client
*
client
;
int
gameId
;
int
gameId
;
QPushButton
*
loadLocalButton
,
*
loadRemoteButton
;
QPushButton
*
loadLocalButton
,
*
loadRemoteButton
,
*
readyStartButton
;
CardInfoWidget
*
cardInfo
;
CardInfoWidget
*
cardInfo
;
MessageLogWidget
*
messageLog
;
MessageLogWidget
*
messageLog
;
QLabel
*
sayLabel
;
QLabel
*
sayLabel
;
...
@@ -41,6 +41,7 @@ private:
...
@@ -41,6 +41,7 @@ private:
private
slots
:
private
slots
:
void
loadLocalDeck
();
void
loadLocalDeck
();
void
loadRemoteDeck
();
void
loadRemoteDeck
();
void
readyStart
();
void
deckSelectFinished
(
ProtocolResponse
*
r
);
void
deckSelectFinished
(
ProtocolResponse
*
r
);
public:
public:
TabGame
(
Client
*
_client
,
int
_gameId
);
TabGame
(
Client
*
_client
,
int
_gameId
);
...
...
common/protocol.h
View file @
4fac0e5b
...
@@ -257,7 +257,11 @@ public:
...
@@ -257,7 +257,11 @@ public:
GameEvent
(
const
QString
&
_eventName
,
int
_gameId
,
int
_playerId
);
GameEvent
(
const
QString
&
_eventName
,
int
_gameId
,
int
_playerId
);
int
getGameId
()
const
{
return
gameId
;
}
int
getGameId
()
const
{
return
gameId
;
}
int
getPlayerId
()
const
{
return
playerId
;
}
int
getPlayerId
()
const
{
return
playerId
;
}
void
setGameId
(
int
_gameId
)
{
gameId
=
_gameId
;
}
void
setGameId
(
int
_gameId
)
{
gameId
=
_gameId
;
setParameter
(
"game_id"
,
gameId
);
}
};
};
class
ChatEvent
:
public
ProtocolItem
{
class
ChatEvent
:
public
ProtocolItem
{
...
...
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