Made QColor wrapper class so that Servatrice will compile without QtGui

This commit is contained in:
Max-Wilhelm Bruker 2010-10-09 18:50:06 +02:00
parent ee0a010add
commit b1d8c7bda0
19 changed files with 226 additions and 184 deletions

View file

@ -64,6 +64,7 @@ HEADERS += src/counter.h \
src/localserver.h \
src/localserverinterface.h \
src/localclient.h \
../common/color.h \
../common/serializable_item.h \
../common/decklist.h \
../common/protocol.h \

View file

@ -956,7 +956,7 @@ void Player::addZone(CardZone *z)
Counter *Player::addCounter(ServerInfo_Counter *counter)
{
return addCounter(counter->getId(), counter->getName(), counter->getColor(), counter->getRadius(), counter->getCount());
return addCounter(counter->getId(), counter->getName(), counter->getColor().getQColor(), counter->getRadius(), counter->getCount());
}
Counter *Player::addCounter(int counterId, const QString &name, QColor color, int radius, int value)
@ -1010,9 +1010,9 @@ ArrowItem *Player::addArrow(ServerInfo_Arrow *arrow)
return 0;
if (targetCard)
return addArrow(arrow->getId(), startCard, targetCard, arrow->getColor());
return addArrow(arrow->getId(), startCard, targetCard, arrow->getColor().getQColor());
else
return addArrow(arrow->getId(), startCard, targetPlayer->getPlayerTarget(), arrow->getColor());
return addArrow(arrow->getId(), startCard, targetPlayer->getPlayerTarget(), arrow->getColor().getQColor());
}
ArrowItem *Player::addArrow(int arrowId, CardItem *startCard, ArrowTarget *targetItem, const QColor &color)

View file

@ -27,47 +27,47 @@
<context>
<name>AppearanceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="241"/>
<location filename="../src/dlg_settings.cpp" line="255"/>
<source>Zone background pictures</source>
<translation>Hintergrundbilder für Kartenzonen</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="242"/>
<location filename="../src/dlg_settings.cpp" line="256"/>
<source>Path to hand background:</source>
<translation>Hintergrundbild für die Hand:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="243"/>
<location filename="../src/dlg_settings.cpp" line="257"/>
<source>Path to table background:</source>
<translation>Hintergrundbild für das Spielfeld:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="244"/>
<location filename="../src/dlg_settings.cpp" line="258"/>
<source>Path to player info background:</source>
<translation>Hintergrundbild für den Spielerbereich:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="245"/>
<location filename="../src/dlg_settings.cpp" line="259"/>
<source>Path to picture of card back:</source>
<translation>Pfad zum Bild der Kartenrückseite:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="247"/>
<location filename="../src/dlg_settings.cpp" line="261"/>
<source>Hand layout</source>
<translation>Kartenhand</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="248"/>
<location filename="../src/dlg_settings.cpp" line="262"/>
<source>Display hand horizontally (wastes space)</source>
<translation>Hand horizonal anzeigen (verschwendet Platz)</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="250"/>
<location filename="../src/dlg_settings.cpp" line="264"/>
<source>Table grid layout</source>
<translation>Spielfeldraster</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="251"/>
<location filename="../src/dlg_settings.cpp" line="265"/>
<source>Economical layout</source>
<translation>Platzsparende Anordnung</translation>
</message>
@ -76,17 +76,17 @@
<translation type="obsolete">Platzsparende Anordnung</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="253"/>
<location filename="../src/dlg_settings.cpp" line="267"/>
<source>Zone view layout</source>
<translation>Aussehen des Zonenbetrachters</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="254"/>
<location filename="../src/dlg_settings.cpp" line="268"/>
<source>Sort by name</source>
<translation>nach Namen sortieren</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="255"/>
<location filename="../src/dlg_settings.cpp" line="269"/>
<source>Sort by type</source>
<translation>nach Kartentypen sortieren</translation>
</message>
@ -95,10 +95,10 @@
<translation type="obsolete">standardmäßig alphabetisch sortieren</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="260"/>
<location filename="../src/dlg_settings.cpp" line="270"/>
<location filename="../src/dlg_settings.cpp" line="280"/>
<location filename="../src/dlg_settings.cpp" line="290"/>
<location filename="../src/dlg_settings.cpp" line="296"/>
<location filename="../src/dlg_settings.cpp" line="312"/>
<location filename="../src/dlg_settings.cpp" line="328"/>
<source>Choose path</source>
<translation>Pfad auswählen</translation>
</message>
@ -858,54 +858,66 @@
<context>
<name>DlgSettings</name>
<message>
<location filename="../src/dlg_settings.cpp" line="489"/>
<location filename="../src/dlg_settings.cpp" line="492"/>
<location filename="../src/dlg_settings.cpp" line="495"/>
<location filename="../src/dlg_settings.cpp" line="527"/>
<location filename="../src/dlg_settings.cpp" line="532"/>
<location filename="../src/dlg_settings.cpp" line="537"/>
<source>Error</source>
<translation>Fehler</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="489"/>
<source>Your card database is invalid. Please check if the path is set correctly.</source>
<translation>Ihre Kartendatenbank ist ungültig. Bitte überprüfen Sie, ob der Pfad korrekt gesetzt ist.</translation>
<translation type="obsolete">Ihre Kartendatenbank ist ungültig. Bitte überprüfen Sie, ob der Pfad korrekt gesetzt ist.</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="492"/>
<source>The path to your deck directory is invalid.</source>
<translation>Der Pfad zum Deckverzeichnis ist ungültig.</translation>
<translation type="obsolete">Der Pfad zum Deckverzeichnis ist ungültig.</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="495"/>
<source>The path to your card pictures directory is invalid.</source>
<translation>Der Pfad zum Kartenbilderverzeichnis ist ungültig.</translation>
<translation type="obsolete">Der Pfad zum Kartenbilderverzeichnis ist ungültig.</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="503"/>
<location filename="../src/dlg_settings.cpp" line="527"/>
<source>Your card database is invalid. Would you like to go back and set the correct path?</source>
<translation>Ihre Kartendatenbank ist ungültig. Möchten Sie zurückgehen und den korrekten Pfad einstellen?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="532"/>
<source>The path to your deck directory is invalid. Would you like to go back and set the correct path?</source>
<translation>Der Pfad zu Ihrem Deckordner ist ungültig. Möchten Sie zurückgehen und den korrekten Pfad einstellen?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="537"/>
<source>The path to your card pictures directory is invalid. Would you like to go back and set the correct path?</source>
<translation>Der Pfad zu Ihrem Kartenbilderordner ist ungültig. Möchten Sie zurückgehen und den korrekten Pfad einstellen?</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="546"/>
<source>Settings</source>
<translation>Einstellungen</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="505"/>
<location filename="../src/dlg_settings.cpp" line="548"/>
<source>General</source>
<translation>Allgemeines</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="506"/>
<location filename="../src/dlg_settings.cpp" line="549"/>
<source>Appearance</source>
<translation>Erscheinungsbild</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="507"/>
<location filename="../src/dlg_settings.cpp" line="550"/>
<source>User interface</source>
<translation>Bedienung</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="508"/>
<location filename="../src/dlg_settings.cpp" line="551"/>
<source>Messages</source>
<translation>Nachrichten</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="510"/>
<location filename="../src/dlg_settings.cpp" line="553"/>
<source>&amp;Close</source>
<translation>S&amp;chließen</translation>
</message>
@ -2190,12 +2202,12 @@
<context>
<name>MessagesSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="392"/>
<location filename="../src/dlg_settings.cpp" line="430"/>
<source>&amp;Add</source>
<translation>&amp;Hinzufügen</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="393"/>
<location filename="../src/dlg_settings.cpp" line="431"/>
<source>&amp;Remove</source>
<translation>&amp;Entfernen</translation>
</message>
@ -2208,12 +2220,12 @@
<translation type="obsolete">Entfernen</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="375"/>
<location filename="../src/dlg_settings.cpp" line="413"/>
<source>Add message</source>
<translation>Nachricht hinzufügen</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="375"/>
<location filename="../src/dlg_settings.cpp" line="413"/>
<source>Message:</source>
<translation>Nachricht:</translation>
</message>
@ -2757,27 +2769,27 @@
<context>
<name>QObject</name>
<message>
<location filename="../../common/decklist.cpp" line="79"/>
<location filename="../../common/decklist.cpp" line="78"/>
<source>Maindeck</source>
<translation>Hauptdeck</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="81"/>
<location filename="../../common/decklist.cpp" line="80"/>
<source>Sideboard</source>
<translation>Sideboard</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="229"/>
<location filename="../../common/decklist.cpp" line="228"/>
<source>Cockatrice decks (*.cod)</source>
<translation>Cockatrice Decks (*.cod)</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="230"/>
<location filename="../../common/decklist.cpp" line="229"/>
<source>Plain text decks (*.dec *.mwDeck)</source>
<translation>Text Decks (*.dec *.mwDeck)</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="231"/>
<location filename="../../common/decklist.cpp" line="230"/>
<source>All files (*.*)</source>
<translation>Alle Dateien (*.*)</translation>
</message>
@ -3077,22 +3089,22 @@ Bitte geben Sie einen Namen ein:</translation>
<context>
<name>UserInterfaceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="329"/>
<location filename="../src/dlg_settings.cpp" line="367"/>
<source>General interface settings</source>
<translation>Allgemeine Bedienung</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="330"/>
<location filename="../src/dlg_settings.cpp" line="368"/>
<source>&amp;Double-click cards to play them (instead of single-click)</source>
<translation>Karten durch &amp;Doppelklick ausspielen (statt Einzelklick)</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="331"/>
<location filename="../src/dlg_settings.cpp" line="369"/>
<source>Animation settings</source>
<translation>Animationseinstellungen</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="332"/>
<location filename="../src/dlg_settings.cpp" line="370"/>
<source>&amp;Tap/untap animation</source>
<translation>Animiertes &amp;Tappen/Enttappen</translation>
</message>

View file

@ -4,70 +4,70 @@
<context>
<name>AppearanceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="241"/>
<location filename="../src/dlg_settings.cpp" line="255"/>
<source>Zone background pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="242"/>
<location filename="../src/dlg_settings.cpp" line="256"/>
<source>Path to hand background:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="243"/>
<location filename="../src/dlg_settings.cpp" line="257"/>
<source>Path to table background:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="244"/>
<location filename="../src/dlg_settings.cpp" line="258"/>
<source>Path to player info background:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="245"/>
<location filename="../src/dlg_settings.cpp" line="259"/>
<source>Path to picture of card back:</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="247"/>
<location filename="../src/dlg_settings.cpp" line="261"/>
<source>Hand layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="248"/>
<location filename="../src/dlg_settings.cpp" line="262"/>
<source>Display hand horizontally (wastes space)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="250"/>
<location filename="../src/dlg_settings.cpp" line="264"/>
<source>Table grid layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="251"/>
<location filename="../src/dlg_settings.cpp" line="265"/>
<source>Economical layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="253"/>
<location filename="../src/dlg_settings.cpp" line="267"/>
<source>Zone view layout</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="254"/>
<location filename="../src/dlg_settings.cpp" line="268"/>
<source>Sort by name</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="255"/>
<location filename="../src/dlg_settings.cpp" line="269"/>
<source>Sort by type</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="260"/>
<location filename="../src/dlg_settings.cpp" line="270"/>
<location filename="../src/dlg_settings.cpp" line="280"/>
<location filename="../src/dlg_settings.cpp" line="290"/>
<location filename="../src/dlg_settings.cpp" line="296"/>
<location filename="../src/dlg_settings.cpp" line="312"/>
<location filename="../src/dlg_settings.cpp" line="328"/>
<source>Choose path</source>
<translation type="unfinished"></translation>
</message>
@ -735,54 +735,54 @@
<context>
<name>DlgSettings</name>
<message>
<location filename="../src/dlg_settings.cpp" line="489"/>
<location filename="../src/dlg_settings.cpp" line="492"/>
<location filename="../src/dlg_settings.cpp" line="495"/>
<location filename="../src/dlg_settings.cpp" line="527"/>
<location filename="../src/dlg_settings.cpp" line="532"/>
<location filename="../src/dlg_settings.cpp" line="537"/>
<source>Error</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="489"/>
<source>Your card database is invalid. Please check if the path is set correctly.</source>
<location filename="../src/dlg_settings.cpp" line="527"/>
<source>Your card database is invalid. Would you like to go back and set the correct path?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="492"/>
<source>The path to your deck directory is invalid.</source>
<location filename="../src/dlg_settings.cpp" line="532"/>
<source>The path to your deck directory is invalid. Would you like to go back and set the correct path?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="495"/>
<source>The path to your card pictures directory is invalid.</source>
<location filename="../src/dlg_settings.cpp" line="537"/>
<source>The path to your card pictures directory is invalid. Would you like to go back and set the correct path?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="503"/>
<location filename="../src/dlg_settings.cpp" line="546"/>
<source>Settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="505"/>
<location filename="../src/dlg_settings.cpp" line="548"/>
<source>General</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="506"/>
<location filename="../src/dlg_settings.cpp" line="549"/>
<source>Appearance</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="507"/>
<location filename="../src/dlg_settings.cpp" line="550"/>
<source>User interface</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="508"/>
<location filename="../src/dlg_settings.cpp" line="551"/>
<source>Messages</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="510"/>
<location filename="../src/dlg_settings.cpp" line="553"/>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
</message>
@ -1489,22 +1489,22 @@
<context>
<name>MessagesSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="392"/>
<location filename="../src/dlg_settings.cpp" line="430"/>
<source>&amp;Add</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="393"/>
<location filename="../src/dlg_settings.cpp" line="431"/>
<source>&amp;Remove</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="375"/>
<location filename="../src/dlg_settings.cpp" line="413"/>
<source>Add message</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="375"/>
<location filename="../src/dlg_settings.cpp" line="413"/>
<source>Message:</source>
<translation type="unfinished"></translation>
</message>
@ -1876,27 +1876,27 @@
<context>
<name>QObject</name>
<message>
<location filename="../../common/decklist.cpp" line="79"/>
<location filename="../../common/decklist.cpp" line="78"/>
<source>Maindeck</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="81"/>
<location filename="../../common/decklist.cpp" line="80"/>
<source>Sideboard</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="229"/>
<location filename="../../common/decklist.cpp" line="228"/>
<source>Cockatrice decks (*.cod)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="230"/>
<location filename="../../common/decklist.cpp" line="229"/>
<source>Plain text decks (*.dec *.mwDeck)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="231"/>
<location filename="../../common/decklist.cpp" line="230"/>
<source>All files (*.*)</source>
<translation type="unfinished"></translation>
</message>
@ -2152,22 +2152,22 @@ Please enter a name:</source>
<context>
<name>UserInterfaceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="329"/>
<location filename="../src/dlg_settings.cpp" line="367"/>
<source>General interface settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="330"/>
<location filename="../src/dlg_settings.cpp" line="368"/>
<source>&amp;Double-click cards to play them (instead of single-click)</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="331"/>
<location filename="../src/dlg_settings.cpp" line="369"/>
<source>Animation settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="332"/>
<location filename="../src/dlg_settings.cpp" line="370"/>
<source>&amp;Tap/untap animation</source>
<translation type="unfinished"></translation>
</message>

View file

@ -4,47 +4,47 @@
<context>
<name>AppearanceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="241"/>
<location filename="../src/dlg_settings.cpp" line="255"/>
<source>Zone background pictures</source>
<translation>Imagenes de la zona de fondo</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="242"/>
<location filename="../src/dlg_settings.cpp" line="256"/>
<source>Path to hand background:</source>
<translation>Ruta a la imagen de fondo de la mano:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="243"/>
<location filename="../src/dlg_settings.cpp" line="257"/>
<source>Path to table background:</source>
<translation>Ruta a la imagen de fondo de la mesa:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="244"/>
<location filename="../src/dlg_settings.cpp" line="258"/>
<source>Path to player info background:</source>
<translation>Ruta a la imagen de fondo de la información del jugador:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="245"/>
<location filename="../src/dlg_settings.cpp" line="259"/>
<source>Path to picture of card back:</source>
<translation>Ruta al reverso de las cartas:</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="247"/>
<location filename="../src/dlg_settings.cpp" line="261"/>
<source>Hand layout</source>
<translation>Disposición de la mano</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="248"/>
<location filename="../src/dlg_settings.cpp" line="262"/>
<source>Display hand horizontally (wastes space)</source>
<translation>Mostrar la mano horizontalmente (desperdicia espacio)</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="250"/>
<location filename="../src/dlg_settings.cpp" line="264"/>
<source>Table grid layout</source>
<translation>Disposición de la rejilla de la mesa</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="251"/>
<location filename="../src/dlg_settings.cpp" line="265"/>
<source>Economical layout</source>
<translation type="unfinished"></translation>
</message>
@ -53,25 +53,25 @@
<translation type="obsolete">Disposición económica</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="253"/>
<location filename="../src/dlg_settings.cpp" line="267"/>
<source>Zone view layout</source>
<translation>Distribución de la zona de visionado</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="254"/>
<location filename="../src/dlg_settings.cpp" line="268"/>
<source>Sort by name</source>
<translation>Ordenar por nombre</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="255"/>
<location filename="../src/dlg_settings.cpp" line="269"/>
<source>Sort by type</source>
<translation>Ordenar por tipo</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="260"/>
<location filename="../src/dlg_settings.cpp" line="270"/>
<location filename="../src/dlg_settings.cpp" line="280"/>
<location filename="../src/dlg_settings.cpp" line="290"/>
<location filename="../src/dlg_settings.cpp" line="296"/>
<location filename="../src/dlg_settings.cpp" line="312"/>
<location filename="../src/dlg_settings.cpp" line="328"/>
<source>Choose path</source>
<translation>Elija ruta</translation>
</message>
@ -739,54 +739,66 @@
<context>
<name>DlgSettings</name>
<message>
<location filename="../src/dlg_settings.cpp" line="489"/>
<location filename="../src/dlg_settings.cpp" line="492"/>
<location filename="../src/dlg_settings.cpp" line="495"/>
<location filename="../src/dlg_settings.cpp" line="527"/>
<location filename="../src/dlg_settings.cpp" line="532"/>
<location filename="../src/dlg_settings.cpp" line="537"/>
<source>Error</source>
<translation>Error</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="489"/>
<source>Your card database is invalid. Please check if the path is set correctly.</source>
<translation>Tu base de datos de cartas es invalida. Por favor, comprueba si la ruta está asignada correctamente.</translation>
<translation type="obsolete">Tu base de datos de cartas es invalida. Por favor, comprueba si la ruta está asignada correctamente.</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="492"/>
<source>The path to your deck directory is invalid.</source>
<translation>La ruta a tu directorio de mazos es invalida.</translation>
<translation type="obsolete">La ruta a tu directorio de mazos es invalida.</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="495"/>
<source>The path to your card pictures directory is invalid.</source>
<translation>La ruta a tu directorio de imagenes de las cartas es invalida.</translation>
<translation type="obsolete">La ruta a tu directorio de imagenes de las cartas es invalida.</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="503"/>
<location filename="../src/dlg_settings.cpp" line="527"/>
<source>Your card database is invalid. Would you like to go back and set the correct path?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="532"/>
<source>The path to your deck directory is invalid. Would you like to go back and set the correct path?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="537"/>
<source>The path to your card pictures directory is invalid. Would you like to go back and set the correct path?</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="546"/>
<source>Settings</source>
<translation>Preferencias</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="505"/>
<location filename="../src/dlg_settings.cpp" line="548"/>
<source>General</source>
<translation>General</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="506"/>
<location filename="../src/dlg_settings.cpp" line="549"/>
<source>Appearance</source>
<translation>Apariencia</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="507"/>
<location filename="../src/dlg_settings.cpp" line="550"/>
<source>User interface</source>
<translation>Interfaz de usuario</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="508"/>
<location filename="../src/dlg_settings.cpp" line="551"/>
<source>Messages</source>
<translation>Mensajes</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="510"/>
<location filename="../src/dlg_settings.cpp" line="553"/>
<source>&amp;Close</source>
<translation>&amp;Cerrar</translation>
</message>
@ -1493,22 +1505,22 @@
<context>
<name>MessagesSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="392"/>
<location filename="../src/dlg_settings.cpp" line="430"/>
<source>&amp;Add</source>
<translation>&amp;Añadir</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="393"/>
<location filename="../src/dlg_settings.cpp" line="431"/>
<source>&amp;Remove</source>
<translation>&amp;Quitar</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="375"/>
<location filename="../src/dlg_settings.cpp" line="413"/>
<source>Add message</source>
<translation>Añadir mensaje</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="375"/>
<location filename="../src/dlg_settings.cpp" line="413"/>
<source>Message:</source>
<translation>Mensaje:</translation>
</message>
@ -1892,27 +1904,27 @@
<context>
<name>QObject</name>
<message>
<location filename="../../common/decklist.cpp" line="79"/>
<location filename="../../common/decklist.cpp" line="78"/>
<source>Maindeck</source>
<translation>Mazo principal</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="81"/>
<location filename="../../common/decklist.cpp" line="80"/>
<source>Sideboard</source>
<translation>Reserva</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="229"/>
<location filename="../../common/decklist.cpp" line="228"/>
<source>Cockatrice decks (*.cod)</source>
<translation>Mazos de Cockatrice (*.cod)</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="230"/>
<location filename="../../common/decklist.cpp" line="229"/>
<source>Plain text decks (*.dec *.mwDeck)</source>
<translation>Archivos de texto plano (*.dec *.mwDeck)</translation>
</message>
<message>
<location filename="../../common/decklist.cpp" line="231"/>
<location filename="../../common/decklist.cpp" line="230"/>
<source>All files (*.*)</source>
<translation>Todos los archivos (*.*)</translation>
</message>
@ -2169,22 +2181,22 @@ Por favor, introduzca un nombre:</translation>
<context>
<name>UserInterfaceSettingsPage</name>
<message>
<location filename="../src/dlg_settings.cpp" line="329"/>
<location filename="../src/dlg_settings.cpp" line="367"/>
<source>General interface settings</source>
<translation>Preferencias generales de la interfaz</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="330"/>
<location filename="../src/dlg_settings.cpp" line="368"/>
<source>&amp;Double-click cards to play them (instead of single-click)</source>
<translation>&amp;Doble click en las cartas para jugarlas (en lugar de un solo click)</translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="331"/>
<location filename="../src/dlg_settings.cpp" line="369"/>
<source>Animation settings</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/dlg_settings.cpp" line="332"/>
<location filename="../src/dlg_settings.cpp" line="370"/>
<source>&amp;Tap/untap animation</source>
<translation type="unfinished"></translation>
</message>

27
common/color.h Normal file
View file

@ -0,0 +1,27 @@
#ifndef COLOR_H
#define COLOR_H
#ifdef QT_GUI_LIB
#include <QColor>
#endif
class Color {
private:
int value;
public:
Color(int _value = 0) : value(_value) { }
Color(int r, int g, int b) : value(r * 65536 + g * 256 + b) { }
int getValue() const { return value; }
#ifdef QT_GUI_LIB
Color(const QColor &_color)
{
value = _color.red() * 65536 + _color.green() * 256 + _color.blue();
}
QColor getQColor() const
{
return QColor(value / 65536, (value % 65536) / 256, value % 256);
}
#endif
};
#endif

View file

@ -1,5 +1,4 @@
#include <QFile>
#include <QFileDialog>
#include <QTextStream>
#include <QXmlStreamReader>
#include <QXmlStreamWriter>

View file

@ -5,6 +5,7 @@
#include <QVector>
#include <QPair>
#include <QObject>
#include <QStringList>
#include "serializable_item.h"
class CardDatabase;

View file

@ -113,7 +113,7 @@ QList<ServerInfo_Card *> ServerInfo_Zone::getCardList() const
return result;
}
ServerInfo_Counter::ServerInfo_Counter(int _id, const QString &_name, const QColor &_color, int _radius, int _count)
ServerInfo_Counter::ServerInfo_Counter(int _id, const QString &_name, const Color &_color, int _radius, int _count)
: SerializableItem_Map("counter")
{
insertItem(new SerializableItem_Int("id", _id));
@ -123,7 +123,7 @@ ServerInfo_Counter::ServerInfo_Counter(int _id, const QString &_name, const QCol
insertItem(new SerializableItem_Int("count", _count));
}
ServerInfo_Arrow::ServerInfo_Arrow(int _id, int _startPlayerId, const QString &_startZone, int _startCardId, int _targetPlayerId, const QString &_targetZone, int _targetCardId, const QColor &_color)
ServerInfo_Arrow::ServerInfo_Arrow(int _id, int _startPlayerId, const QString &_startZone, int _startCardId, int _targetPlayerId, const QString &_targetZone, int _targetCardId, const Color &_color)
: SerializableItem_Map("arrow")
{
insertItem(new SerializableItem_Int("id", _id));

View file

@ -2,9 +2,9 @@
#define PROTOCOL_DATASTRUCTURES_H
#include <QString>
#include <QColor>
#include <QDateTime>
#include "serializable_item.h"
#include "color.h"
class DeckList;
@ -107,18 +107,18 @@ public:
class ServerInfo_Counter : public SerializableItem_Map {
public:
ServerInfo_Counter(int _id = -1, const QString &_name = QString(), const QColor &_color = QColor(), int _radius = -1, int _count = -1);
ServerInfo_Counter(int _id = -1, const QString &_name = QString(), const Color &_color = Color(), int _radius = -1, int _count = -1);
static SerializableItem *newItem() { return new ServerInfo_Counter; }
int getId() const { return static_cast<SerializableItem_Int *>(itemMap.value("id"))->getData(); }
QString getName() const { return static_cast<SerializableItem_String *>(itemMap.value("name"))->getData(); }
QColor getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); }
Color getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); }
int getRadius() const { return static_cast<SerializableItem_Int *>(itemMap.value("radius"))->getData(); }
int getCount() const { return static_cast<SerializableItem_Int *>(itemMap.value("count"))->getData(); }
};
class ServerInfo_Arrow : public SerializableItem_Map {
public:
ServerInfo_Arrow(int _id = -1, int _startPlayerId = -1, const QString &_startZone = QString(), int _startCardId = -1, int _targetPlayerId = -1, const QString &_targetZone = QString(), int _targetCardId = -1, const QColor &_color = QColor());
ServerInfo_Arrow(int _id = -1, int _startPlayerId = -1, const QString &_startZone = QString(), int _startCardId = -1, int _targetPlayerId = -1, const QString &_targetZone = QString(), int _targetCardId = -1, const Color &_color = Color());
static SerializableItem *newItem() { return new ServerInfo_Arrow; }
int getId() const { return static_cast<SerializableItem_Int *>(itemMap.value("id"))->getData(); }
int getStartPlayerId() const { return static_cast<SerializableItem_Int *>(itemMap.value("start_player_id"))->getData(); }
@ -127,7 +127,7 @@ public:
int getTargetPlayerId() const { return static_cast<SerializableItem_Int *>(itemMap.value("target_player_id"))->getData(); }
QString getTargetZone() const { return static_cast<SerializableItem_String *>(itemMap.value("target_zone"))->getData(); }
int getTargetCardId() const { return static_cast<SerializableItem_Int *>(itemMap.value("target_card_id"))->getData(); }
QColor getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); }
Color getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); }
};
class ServerInfo_PlayerProperties : public SerializableItem_Map {

View file

@ -152,7 +152,7 @@ Command_CreateToken::Command_CreateToken(int _gameId, const QString &_zone, cons
insertItem(new SerializableItem_Int("x", _x));
insertItem(new SerializableItem_Int("y", _y));
}
Command_CreateArrow::Command_CreateArrow(int _gameId, int _startPlayerId, const QString &_startZone, int _startCardId, int _targetPlayerId, const QString &_targetZone, int _targetCardId, const QColor &_color)
Command_CreateArrow::Command_CreateArrow(int _gameId, int _startPlayerId, const QString &_startZone, int _startCardId, int _targetPlayerId, const QString &_targetZone, int _targetCardId, const Color &_color)
: GameCommand("create_arrow", _gameId)
{
insertItem(new SerializableItem_Int("start_player_id", _startPlayerId));
@ -207,7 +207,7 @@ Command_IncCounter::Command_IncCounter(int _gameId, int _counterId, int _delta)
insertItem(new SerializableItem_Int("counter_id", _counterId));
insertItem(new SerializableItem_Int("delta", _delta));
}
Command_CreateCounter::Command_CreateCounter(int _gameId, const QString &_counterName, const QColor &_color, int _radius, int _value)
Command_CreateCounter::Command_CreateCounter(int _gameId, const QString &_counterName, const Color &_color, int _radius, int _value)
: GameCommand("create_counter", _gameId)
{
insertItem(new SerializableItem_String("counter_name", _counterName));

View file

@ -235,14 +235,14 @@ public:
class Command_CreateArrow : public GameCommand {
Q_OBJECT
public:
Command_CreateArrow(int _gameId = -1, int _startPlayerId = -1, const QString &_startZone = QString(), int _startCardId = -1, int _targetPlayerId = -1, const QString &_targetZone = QString(), int _targetCardId = -1, const QColor &_color = QColor());
Command_CreateArrow(int _gameId = -1, int _startPlayerId = -1, const QString &_startZone = QString(), int _startCardId = -1, int _targetPlayerId = -1, const QString &_targetZone = QString(), int _targetCardId = -1, const Color &_color = Color());
int getStartPlayerId() const { return static_cast<SerializableItem_Int *>(itemMap.value("start_player_id"))->getData(); };
QString getStartZone() const { return static_cast<SerializableItem_String *>(itemMap.value("start_zone"))->getData(); };
int getStartCardId() const { return static_cast<SerializableItem_Int *>(itemMap.value("start_card_id"))->getData(); };
int getTargetPlayerId() const { return static_cast<SerializableItem_Int *>(itemMap.value("target_player_id"))->getData(); };
QString getTargetZone() const { return static_cast<SerializableItem_String *>(itemMap.value("target_zone"))->getData(); };
int getTargetCardId() const { return static_cast<SerializableItem_Int *>(itemMap.value("target_card_id"))->getData(); };
QColor getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); };
Color getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); };
static SerializableItem *newItem() { return new Command_CreateArrow; }
int getItemId() const { return ItemId_Command_CreateArrow; }
};
@ -314,9 +314,9 @@ public:
class Command_CreateCounter : public GameCommand {
Q_OBJECT
public:
Command_CreateCounter(int _gameId = -1, const QString &_counterName = QString(), const QColor &_color = QColor(), int _radius = -1, int _value = -1);
Command_CreateCounter(int _gameId = -1, const QString &_counterName = QString(), const Color &_color = Color(), int _radius = -1, int _value = -1);
QString getCounterName() const { return static_cast<SerializableItem_String *>(itemMap.value("counter_name"))->getData(); };
QColor getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); };
Color getColor() const { return static_cast<SerializableItem_Color *>(itemMap.value("color"))->getData(); };
int getRadius() const { return static_cast<SerializableItem_Int *>(itemMap.value("radius"))->getData(); };
int getValue() const { return static_cast<SerializableItem_Int *>(itemMap.value("value"))->getData(); };
static SerializableItem *newItem() { return new Command_CreateCounter; }

View file

@ -109,9 +109,9 @@ while (<file>) {
$constructorCode .= "\tinsertItem(new SerializableItem_Int(\"$value\", _$prettyVarName));\n";
$getFunctionCode .= "\t$dataType get$prettyVarName2() const { return static_cast<SerializableItem_Int *>(itemMap.value(\"$value\"))->getData(); };\n";
} elsif ($key eq 'c') {
$dataType = 'QColor';
$constructorParamsH .= "const QColor &_$prettyVarName = QColor()";
$constructorParamsCpp .= "const QColor &_$prettyVarName";
$dataType = 'Color';
$constructorParamsH .= "const Color &_$prettyVarName = Color()";
$constructorParamsCpp .= "const Color &_$prettyVarName";
$constructorCode .= "\tinsertItem(new SerializableItem_Color(\"$value\", _$prettyVarName));\n";
$getFunctionCode .= "\t$dataType get$prettyVarName2() const { return static_cast<SerializableItem_Color *>(itemMap.value(\"$value\"))->getData(); };\n";
}

View file

@ -116,29 +116,19 @@ void SerializableItem_Bool::writeElement(QXmlStreamWriter *xml)
xml->writeCharacters(data ? "1" : "0");
}
int SerializableItem_Color::colorToInt(const QColor &color) const
{
return color.red() * 65536 + color.green() * 256 + color.blue();
}
QColor SerializableItem_Color::colorFromInt(int colorValue) const
{
return QColor(colorValue / 65536, (colorValue % 65536) / 256, colorValue % 256);
}
bool SerializableItem_Color::readElement(QXmlStreamReader *xml)
{
if (xml->isCharacters() && !xml->isWhitespace()) {
bool ok;
int colorValue = xml->text().toString().toInt(&ok);
data = ok ? colorFromInt(colorValue) : Qt::black;
data = ok ? Color(colorValue) : Color();
}
return SerializableItem::readElement(xml);
}
void SerializableItem_Color::writeElement(QXmlStreamWriter *xml)
{
xml->writeCharacters(QString::number(colorToInt(data)));
xml->writeCharacters(QString::number(data.getValue()));
}
bool SerializableItem_DateTime::readElement(QXmlStreamReader *xml)

View file

@ -6,8 +6,8 @@
#include <QMap>
#include <QList>
#include <QHash>
#include <QColor>
#include <QDateTime>
#include "color.h"
class QXmlStreamReader;
class QXmlStreamWriter;
@ -111,17 +111,15 @@ public:
class SerializableItem_Color : public SerializableItem {
private:
QColor data;
int colorToInt(const QColor &color) const;
QColor colorFromInt(int colorValue) const;
Color data;
protected:
bool readElement(QXmlStreamReader *xml);
void writeElement(QXmlStreamWriter *xml);
public:
SerializableItem_Color(const QString &_itemType, const QColor &_data)
SerializableItem_Color(const QString &_itemType, const Color &_data)
: SerializableItem(_itemType), data(_data) { }
const QColor &getData() { return data; }
void setData(const QColor &_data) { data = _data; }
const Color &getData() { return data; }
void setData(const Color &_data) { data = _data; }
};
class SerializableItem_DateTime : public SerializableItem {

View file

@ -1,7 +1,7 @@
#ifndef SERVER_ARROW_H
#define SERVER_ARROW_H
#include <QColor>
#include "color.h"
class Server_Card;
class Server_ArrowTarget;
@ -11,14 +11,14 @@ private:
int id;
Server_Card *startCard;
Server_ArrowTarget *targetItem;
QColor color;
Color color;
public:
Server_Arrow(int _id, Server_Card *_startCard, Server_ArrowTarget *_targetItem, const QColor &_color)
Server_Arrow(int _id, Server_Card *_startCard, Server_ArrowTarget *_targetItem, const Color &_color)
: id(_id), startCard(_startCard), targetItem(_targetItem), color(_color) { }
int getId() const { return id; }
Server_Card *getStartCard() const { return startCard; }
Server_ArrowTarget *getTargetItem() const { return targetItem; }
QColor getColor() const { return color; }
const Color &getColor() const { return color; }
};
#endif

View file

@ -21,21 +21,21 @@
#define SERVER_COUNTER_H
#include <QString>
#include <QColor>
#include "color.h"
class Server_Counter {
protected:
int id;
QString name;
QColor color;
Color color;
int radius;
int count;
public:
Server_Counter(int _id, const QString &_name, const QColor &_color, int _radius, int _count = 0) : id(_id), name(_name), color(_color), radius(_radius), count(_count) { }
Server_Counter(int _id, const QString &_name, const Color &_color, int _radius, int _count = 0) : id(_id), name(_name), color(_color), radius(_radius), count(_count) { }
~Server_Counter() { }
int getId() const { return id; }
QString getName() const { return name; }
QColor getColor() const { return color; }
Color getColor() const { return color; }
int getRadius() const { return radius; }
int getCount() const { return count; }
void setCount(int _count) { count = _count; }

View file

@ -67,14 +67,14 @@ void Server_Player::setupZones()
addZone(new Server_CardZone(this, "grave", false, PublicZone));
addZone(new Server_CardZone(this, "rfg", false, PublicZone));
addCounter(new Server_Counter(0, "life", Qt::white, 25, 20));
addCounter(new Server_Counter(1, "w", QColor(255, 255, 150), 20, 0));
addCounter(new Server_Counter(2, "u", QColor(150, 150, 255), 20, 0));
addCounter(new Server_Counter(3, "b", QColor(150, 150, 150), 20, 0));
addCounter(new Server_Counter(4, "r", QColor(250, 150, 150), 20, 0));
addCounter(new Server_Counter(5, "g", QColor(150, 255, 150), 20, 0));
addCounter(new Server_Counter(6, "x", QColor(255, 255, 255), 20, 0));
addCounter(new Server_Counter(7, "storm", QColor(255, 255, 255), 20, 0));
addCounter(new Server_Counter(0, "life", Color(255, 255, 255), 25, 20));
addCounter(new Server_Counter(1, "w", Color(255, 255, 150), 20, 0));
addCounter(new Server_Counter(2, "u", Color(150, 150, 255), 20, 0));
addCounter(new Server_Counter(3, "b", Color(150, 150, 150), 20, 0));
addCounter(new Server_Counter(4, "r", Color(250, 150, 150), 20, 0));
addCounter(new Server_Counter(5, "g", Color(150, 255, 150), 20, 0));
addCounter(new Server_Counter(6, "x", Color(255, 255, 255), 20, 0));
addCounter(new Server_Counter(7, "storm", Color(255, 255, 255), 20, 0));
initialCards = 7;

View file

@ -11,9 +11,11 @@ OBJECTS_DIR = build
CONFIG += qt debug
QT += network sql
QT -= gui
HEADERS += src/servatrice.h \
src/serversocketinterface.h \
../common/color.h \
../common/serializable_item.h \
../common/decklist.h \
../common/protocol.h \