Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
djpiper28 committed Nov 7, 2022
2 parents f28d9a5 + 9ba77d3 commit d02ff1c
Show file tree
Hide file tree
Showing 8 changed files with 97 additions and 44 deletions.
2 changes: 1 addition & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -266,7 +266,7 @@ set(FFI_TESTING_SOURCES
./tests_ffi/test_round_ffi.h
./tests_ffi/test_round_ffi.cpp)

set(LIBS)
set(LIBS "ssl")
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/scripts/cmake)

# Squire Core (Rust)
Expand Down
88 changes: 47 additions & 41 deletions SquireDesktop_en_GB.ts
Original file line number Diff line number Diff line change
Expand Up @@ -650,183 +650,189 @@
<name>RoundViewWidget</name>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="14"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="283"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="292"/>
<source>Form</source>
<translation type="unfinished">Form</translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="28"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="284"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="293"/>
<source>Match #0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="51"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="285"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="294"/>
<source>Round Status</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="83"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="286"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="150"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="295"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="151"/>
<source>Time Extensions</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="95"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="287"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="296"/>
<source> minutes</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="108"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="288"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="117"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="297"/>
<source>Give Extension</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="129"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="289"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="138"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="298"/>
<source>Draws</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="202"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="292"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="211"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="301"/>
<source>Confirm Match</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="212"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="293"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="222"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="302"/>
<source>Reset Results</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="223"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="294"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="233"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="303"/>
<source>Save Results</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="175"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="290"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="184"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="299"/>
<source>Players in Round</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="191"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="291"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="200"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="300"/>
<source>Kill Match</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.ui" line="244"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="295"/>
<location filename="src/ui/tournament/roundviewwidget.ui" line="254"/>
<location filename="build/SquireDesktop_autogen/include/ui_roundviewwidget.h" line="304"/>
<source>Time Left in Round</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="64"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="65"/>
<source>Match #</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="66"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="67"/>
<source>0</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="82"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="83"/>
<source>No Match Selected</source>
<oldsource>No Round Selected</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="83"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="84"/>
<source>Match #--</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="93"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="94"/>
<source>Match is in progress</source>
<oldsource>Round is in progress</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="96"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="97"/>
<source>Match is waiting results certification</source>
<oldsource>Round is waiting results certification</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="99"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="100"/>
<source>Match has been finished and, results are confirmed</source>
<oldsource>Round has been finished and, results are confirmed</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="102"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="103"/>
<source>Match has been deleted</source>
<oldsource>Round has been deleted</oldsource>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="153"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="154"/>
<source>Match has ended</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="160"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="161"/>
<source>+</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="162"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="163"/>
<source>Minutes Extension</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="185"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="186"/>
<source>Left in Match</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="257"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="258"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="259"/>
<source>Cannot save draws</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="244"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="310"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="311"/>
<source>Cannot extend round </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="245"/>
<source>Cannot save results for - </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="246"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="247"/>
<source>Aborting: Cannot save results for - </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="271"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="272"/>
<source>Cannot confirm all results in match.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="272"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="273"/>
<source>Cannot confirm all result for player </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="283"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="284"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="285"/>
<source>Are you sure you want to kill round </source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="297"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="298"/>
<location filename="src/ui/tournament/roundviewwidget.cpp" line="299"/>
<source>Cannot kill round </source>
<translation type="unfinished"></translation>
</message>
Expand Down
13 changes: 13 additions & 0 deletions src/model/abstract_tournament.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,19 @@ bool Tournament::killRound(Round round)
return r;
}

bool Tournament::timeExtendRound(Round round, size_t ext)
{
squire_core::sc_AdminId laid = this->aid();
bool r = rid_time_extend(round.id(), this->tid, laid, ext);
emit onRoundsChanged(this->rounds());
this->save();

if (!r) {
lprintf(LOG_ERROR, "Cannot extend round\n");
}
return r;
}

bool Tournament::dropPlayer(Player p)
{
squire_core::sc_AdminId laid = this->aid();
Expand Down
1 change: 1 addition & 0 deletions src/model/abstract_tournament.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ class Tournament : public QObject
bool recordDraws(Round round, int draws);
bool confirmPlayer(Round round, Player p);
bool killRound(Round round);
bool timeExtendRound(Round round, size_t ext);
std::vector<PlayerScore> standings();

// Respects Translations, this is a GUI method
Expand Down
12 changes: 12 additions & 0 deletions src/ui/tournament/roundviewwidget.cpp
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@ RoundViewWidget::RoundViewWidget(Tournament *tourn, QWidget *parent) :
connect(ui->resetResults, &QPushButton::clicked, this, &RoundViewWidget::displayRound);
connect(ui->confirmMatch, &QPushButton::clicked, this, &RoundViewWidget::confirmMatch);
connect(ui->killMatch, &QPushButton::clicked, this, &RoundViewWidget::confirmKill);
connect(ui->extendTime, &QPushButton::clicked, this, &RoundViewWidget::timeExtend);
}

RoundViewWidget::~RoundViewWidget()
Expand Down Expand Up @@ -300,3 +301,14 @@ void RoundViewWidget::kill()
}
}

void RoundViewWidget::timeExtend()
{
// The ui offers extensions in minutes, the ffi does seconds.
bool r = this->tourn->timeExtendRound(this->round, ui->timeExtensionEdit->value() * 60);
if (!r) {
QMessageBox msg;
msg.setWindowTitle(tr("Cannot extend round ") + QString::number(this->round.match_number()));
msg.setText(tr("Cannot extend round ") + QString::number(this->round.match_number()));
msg.exec();
}
}
1 change: 1 addition & 0 deletions src/ui/tournament/roundviewwidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ public slots:
void onResultsSave();
void confirmMatch();
void confirmKill();
void timeExtend();
void kill();
protected:
void changeEvent(QEvent *e);
Expand Down
12 changes: 11 additions & 1 deletion src/ui/tournament/roundviewwidget.ui
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,15 @@
<property name="suffix">
<string> minutes</string>
</property>
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999</number>
</property>
<property name="value">
<number>15</number>
</property>
</widget>
</item>
<item>
Expand Down Expand Up @@ -202,7 +211,8 @@
<string>Confirm Match</string>
</property>
<property name="icon">
<iconset theme="go-jump"/>
<iconset theme="go-jump">
<normaloff>.</normaloff>.</iconset>
</property>
</widget>
</item>
Expand Down
12 changes: 11 additions & 1 deletion tests_ffi/test_round_ffi.cpp
100755 → 100644
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
#define TEST_NUM_MIN_DECKS (TEST_NUM_GAME_SIZE + 1)
#define TEST_NUM_MAX_DECKS (TEST_NUM_MIN_DECKS + 1)
#define TEST_BOOL true
#define TIME_EXT 100

#define DRAWS 10
#define WINS(i) i
Expand Down Expand Up @@ -67,7 +68,7 @@ static int test_round_getters()

std::vector<Player> players = rounds[0].players();
ASSERT(players.size() > 0);
ASSERT(players.size() % t->game_size());
ASSERT(players.size() % t->game_size() == 0);
for (Player player : players) {
ASSERT(!is_null_id(player.id()._0));
ASSERT(player.name() != "");
Expand All @@ -78,7 +79,16 @@ static int test_round_getters()

ASSERT(rounds[0].time_left() > 0);
ASSERT(rounds[0].duration() > 0);

ASSERT(rounds[0].time_left() <= rounds[0].duration());
long rtime_left = rounds[0].time_left();
ASSERT(t->timeExtendRound(rounds[0], TIME_EXT));
ASSERT(abs(rtime_left - rounds[0].time_left()) <= TIME_EXT);
ASSERT(rtime_left != rounds[0].time_left());

ASSERT(rounds[0].time_left() > 0);
ASSERT(rounds[0].duration() > 0);

ASSERT(rounds[0].match_number() == 0);
ASSERT(memcmp(rounds[0].tourn_id()._0, t->id()._0, sizeof(t->id()._0)) == 0);
ASSERT(rounds[0].status() == squire_core::sc_RoundStatus::Open);
Expand Down

0 comments on commit d02ff1c

Please sign in to comment.