[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -2,6 +2,6 @@
<service name="tar_git">
<param name="url">https://github.com/monich/harbour-wordle.git</param>
<param name="branch">master</param>
- <param name="revision">7a2af6a</param>
+ <param name="revision">1a3a1b0</param>
</service>
</services>
\ No newline at end of file
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/harbour-wordle.pro
^
|
@@ -45,12 +45,14 @@
$${HARBOUR_LIB_INCLUDE}/HarbourDebug.h \
$${HARBOUR_LIB_INCLUDE}/HarbourDisplayBlanking.h \
$${HARBOUR_LIB_INCLUDE}/HarbourJson.h \
+ $${HARBOUR_LIB_INCLUDE}/HarbourSystemState.h \
$${HARBOUR_LIB_SRC}/HarbourMce.h
SOURCES += \
$${HARBOUR_LIB_SRC}/HarbourDisplayBlanking.cpp \
$${HARBOUR_LIB_SRC}/HarbourJson.cpp \
- $${HARBOUR_LIB_SRC}/HarbourMce.cpp
+ $${HARBOUR_LIB_SRC}/HarbourMce.cpp \
+ $${HARBOUR_LIB_SRC}/HarbourSystemState.cpp
HARBOUR_QML_COMPONENTS = \
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/qml/CoverPage.qml
^
|
@@ -2,6 +2,8 @@
import Sailfish.Silica 1.0
import harbour.wordle 1.0
+import "Utils.js" as Utils
+
CoverBackground {
id: cover
@@ -16,7 +18,7 @@
anchors {
top: parent.top
topMargin: Theme.paddingMedium
- bottom: board.top
+ bottom: column.top
bottomMargin: Theme.paddingMedium
}
horizontalAlignment: Text.AlignHCenter
@@ -29,17 +31,32 @@
}
}
- WordleBoard {
- id: board
+ Column {
+ id: column
x: Theme.paddingLarge
width: parent.width - 2 * x
+ spacing: Theme.paddingMedium
anchors {
bottom: parent.bottom
- bottomMargin: Theme.paddingLarge
+ bottomMargin: WordleSettings.showPlayTime ? Theme.paddingMedium : Theme.paddingLarge
+ }
+
+ WordleBoard {
+ id: board
+
+ width: parent.width
+ cellSize: Math.floor((width - spacing * (Wordle.WordLength - 1))/Wordle.WordLength)
+ model: game
+ spacing: Theme.paddingSmall
+ }
+
+ Label {
+ anchors.horizontalCenter: parent.horizontalCenter
+ font.pixelSize: Theme.fontSizeSmall
+ color: Theme.secondaryColor
+ text: visible ? Utils.formatPlayTime(wordle.secondsPlayed) : ""
+ visible: WordleSettings.showPlayTime
}
- cellSize: Math.floor((width - spacing * (Wordle.WordLength - 1))/Wordle.WordLength)
- model: game
- spacing: Theme.paddingSmall
}
}
|
[-]
[+]
|
Added |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/qml/Utils.js
^
|
@@ -0,0 +1,18 @@
+.pragma library
+
+function int2(i) {
+ return i < 10 ? ("0" + i) : i
+}
+
+function formatPlayTime(secs) {
+ if (secs >= 3600) {
+ var h = Math.floor(secs / 3600)
+ var m = Math.floor((secs % 3600) / 60)
+ return h + ":" + int2(m) + ":" + int2(secs % 60)
+ } else if (secs >= 60) {
+ var min = Math.floor(secs / 60)
+ return min + ":" + int2(secs % 60)
+ } else {
+ return "0:" + int2(secs % 60)
+ }
+}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/qml/WordleFrontPanel.qml
^
|
@@ -66,13 +66,14 @@
answer: showAnswer ? wordle.answer : ""
showAnswer: wordle.gameState === WordleGame.GameLost
enabled: !wordle.loading
+ secondsPlayed: wordle.secondsPlayed
}
HarbourIconTextButton {
+ y: header.y + header.titleCenterY - height/2
anchors {
right: parent.right
rightMargin: Theme.paddingMedium
- verticalCenter: header.verticalCenter
}
iconSource: "images/settings.svg"
onClicked: thisItem.flip()
@@ -83,7 +84,7 @@
width: parent.width - 2 * x
anchors {
top: header.bottom
- topMargin: Theme.paddingLarge
+ topMargin: Theme.paddingMedium
bottom: parent.bottom
bottomMargin: Theme.paddingLarge
}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/qml/WordleSettingsPanel.qml
^
|
@@ -119,8 +119,6 @@
}
TextSwitch {
- id: keepDisplayOnSwitch
-
width: parent.width
automaticCheck: false
checked: WordleSettings.keepDisplayOn
@@ -129,6 +127,29 @@
text: qsTrId("wordle-settings-keep_display_on")
onClicked: WordleSettings.keepDisplayOn = !WordleSettings.keepDisplayOn
}
+
+ TextSwitch {
+ width: parent.width
+ automaticCheck: false
+ checked: WordleSettings.showPlayTime
+ //: Text switch label
+ //% "Show timer"
+ text: qsTrId("wordle-settings-show_play_time")
+ onClicked: WordleSettings.showPlayTime = !WordleSettings.showPlayTime
+ }
+ }
+
+ Label {
+ anchors {
+ horizontalCenter: parent.horizontalCenter
+ bottom: parent.bottom
+ bottomMargin: Theme.paddingMedium
+ }
+ font.pixelSize: Theme.fontSizeExtraSmall
+ color: panelBorder.border.color
+ //: Small description label (app version)
+ //% "Version %1"
+ text: qsTrId("wordle-settings-version").arg("1.0.9")
}
}
}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/qml/main.qml
^
|
@@ -37,5 +37,8 @@
WordleGame {
id: game
language: WordleSettings.language
+ playing: gameState === WordleGame.GameInProgress &&
+ !HarbourSystemState.locked &&
+ !HarbourSystemState.displayOff
}
}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/src/WordleGame.cpp
^
|
@@ -50,7 +50,7 @@
// Strings and letters are lower case
#define MODEL_ROLES_(first,role,last) \
- role(Letter,letter) \
+ first(Letter,letter) \
last(State,state)
#define MODEL_ROLES(role) \
@@ -58,16 +58,56 @@
#define MODEL_ROLE(X) X##Role
+// s(SignalName,signalName)
+#define MODEL_SIGNALS(s) \
+ s(Language,language) \
+ s(Playing,playing) \
+ s(SecondsPlayed,secondsPlayed) \
+ s(StartTime,startTime) \
+ s(FinishTime,finishTime) \
+ s(Answer,answer) \
+ s(GameState,gameState) \
+ s(FullRows,fullRows) \
+ s(CanInputLetter,canInputLetter) \
+ s(CanDeleteLastLetter,canDeleteLastLetter) \
+ s(CanSubmitInput,canSubmitInput)
+ // languageChanged is a special case (it's not queued)
+
+#if HARBOUR_DEBUG
+QDebug
+operator<<(
+ QDebug aDebug,
+ WordleGame::GameState aState)
+{
+ switch (aState) {
+ case WordleGame::GameInProgress: return (aDebug << "GameInProgress");
+ case WordleGame::GameLost: return (aDebug << "GameLost");
+ case WordleGame::GameWon: return (aDebug << "GameWon");
+ }
+ return (aDebug << (int)aState);
+}
+#endif // HARBOUR_DEBUG
+
// ==========================================================================
// WordleGame::Private
// ==========================================================================
-class WordleGame::Private : public QObject
+class WordleGame::Private :
+ public QObject
{
Q_OBJECT
Q_DISABLE_COPY(Private)
public:
+ typedef void (WordleGame::*SignalEmitter)();
+ typedef uint SignalMask;
+ enum Signal {
+#define SIGNAL_ENUM_(Name,name) Signal##Name##Changed,
+ MODEL_SIGNALS(SIGNAL_ENUM_)
+#undef SIGNAL_ENUM_
+ SignalCount
+ };
+
enum Role {
#define FIRST(X,x) FirstRole = Qt::UserRole, MODEL_ROLE(X) = FirstRole,
#define ROLE(X,x) MODEL_ROLE(X),
@@ -78,62 +118,164 @@
#undef LAST
};
+ class State {
+ public:
+ State(Private* aPrivate);
+ void queueSignals(Private* aPrivate) const;
+ public:
+ const GameState iGameState;
+ const QDateTime iStartTime;
+ const QDateTime iFinishTime;
+ const QString iAnswer;
+ const int iSecondsPlayed;
+ const int iFullRows;
+ const bool iCanSubmitInput;
+ const bool iCanInputLetter;
+ const bool iCanDeleteLastLetter;
+ };
+
enum {
NumSlots = Wordle::WordLength * Wordle::MaxAttempts
};
+ static const QString DATE_TIME_FORMAT;
static const QString STATE_FILE;
static const QString STATE_KEY_ANSWER;
static const QString STATE_KEY_INPUT;
static const QString STATE_KEY_ATTEMPTS;
+ static const QString STATE_KEY_SECS_PLAYED;
+ static const QString STATE_KEY_TIME_START; // UTC
+ static const QString STATE_KEY_TIME_FINISH; // UTC
Private(WordleGame* aParent);
~Private();
WordleGame* parentGame();
- QString getLanguage();
- bool setLanguage(QString aLangCode);
- QStringList getKeypad();
+ void queueSignal(Signal);
+ bool signalQueued(Signal);
+ void emitQueuedSignals();
+ void setLanguage(const QString);
+ void setPlaying(bool);
+ void updatePlayTime();
+ GameState gameState();
+ bool canInputLetter();
+ bool canDeleteLastLetter();
+ bool canSubmitInput();
+ void newGame();
void saveState();
void readState();
void writeState();
- Wordle::LetterState letterState(const QString aWord, int aPos) const;
- void updateStateMap(const QString aWord);
+ Wordle::LetterState letterState(const QString, int) const;
+ void updateStateMap(const QString);
int letterCount() const;
+ static QString toString(const QDateTime);
+ static QDateTime dateTimeValue(const QVariantMap, const QString);
+
private Q_SLOTS:
void flushChanges();
+ void onPlayTimerExpired();
void onSaveTimerExpired();
public:
+ SignalMask iQueuedSignals;
+ Signal iFirstQueuedSignal;
WordleLanguage iLanguage;
+ QDateTime iStartTime;
+ QDateTime iFinishTime;
QString iAnswer;
QString iInput;
QStringList iAttempts;
int iLoading;
+ bool iPlaying;
+ int iSecondsPlayed;
+ int iSecondsPlayedThisTime;
+ qint64 iPlayingStarted; // msec since epoch
QMap<QChar,Wordle::LetterState> iStateMap;
+ QTimer* iPlayTimer;
QTimer* iSaveTimer;
QTimer* iHoldoffTimer;
QString iStateFile;
QDir iDataDir;
};
+const QString WordleGame::Private::DATE_TIME_FORMAT("yyyy-MM-dd hh:mm:ss");
const QString WordleGame::Private::STATE_FILE("state");
const QString WordleGame::Private::STATE_KEY_ANSWER("answer");
const QString WordleGame::Private::STATE_KEY_INPUT("input");
const QString WordleGame::Private::STATE_KEY_ATTEMPTS("attempts");
+const QString WordleGame::Private::STATE_KEY_SECS_PLAYED("t");
+const QString WordleGame::Private::STATE_KEY_TIME_START("t1");
+const QString WordleGame::Private::STATE_KEY_TIME_FINISH("t2");
+
+WordleGame::Private::State::State(Private* aPrivate) :
+ iGameState(aPrivate->gameState()),
+ iStartTime(aPrivate->iStartTime),
+ iFinishTime(aPrivate->iFinishTime),
+ iAnswer(aPrivate->iAnswer),
+ iSecondsPlayed(aPrivate->iSecondsPlayed + aPrivate->iSecondsPlayedThisTime),
+ iFullRows(aPrivate->iAttempts.count()),
+ iCanSubmitInput(aPrivate->canSubmitInput()),
+ iCanInputLetter(aPrivate->canInputLetter()),
+ iCanDeleteLastLetter(aPrivate->canDeleteLastLetter())
+{
+}
-WordleGame::Private::Private(WordleGame* aParent) :
+void
+WordleGame::Private::State::queueSignals(
+ Private* aPrivate) const
+{
+ if (!aPrivate->signalQueued(SignalGameStateChanged) &&
+ iGameState != aPrivate->gameState()) {
+ HDEBUG("Game state" << iGameState << "=>" << aPrivate->gameState());
+ aPrivate->queueSignal(SignalGameStateChanged);
+ }
+ if (!aPrivate->signalQueued(SignalStartTimeChanged) &&
+ iStartTime != aPrivate->iStartTime) {
+ aPrivate->queueSignal(SignalStartTimeChanged);
+ }
+ if (!aPrivate->signalQueued(SignalFinishTimeChanged) &&
+ iFinishTime != aPrivate->iFinishTime) {
+ aPrivate->queueSignal(SignalFinishTimeChanged);
+ }
+ if (iSecondsPlayed != (aPrivate->iSecondsPlayed + aPrivate->iSecondsPlayedThisTime)) {
+ aPrivate->queueSignal(SignalSecondsPlayedChanged);
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/src/WordleGame.h
^
|
@@ -39,16 +39,24 @@
#define WORDLE_GAME_H
#include <QAbstractListModel>
+#include <QDateTime>
+#include <QString>
+#include <QStringList>
-class WordleGame : public QAbstractListModel
+class WordleGame :
+ public QAbstractListModel
{
Q_OBJECT
- Q_PROPERTY(QString language READ getLanguage WRITE setLanguage NOTIFY languageChanged)
- Q_PROPERTY(QString answer READ getAnswer NOTIFY answerChanged)
- Q_PROPERTY(QStringList keypad READ getKeypad NOTIFY keypadChanged)
- Q_PROPERTY(bool loading READ isLoading NOTIFY loadingChanged)
- Q_PROPERTY(int gameState READ getGameState NOTIFY gameStateChanged)
- Q_PROPERTY(int fullRows READ getFullRows NOTIFY fullRowsChanged)
+ Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
+ Q_PROPERTY(QStringList keypad READ keypad NOTIFY languageChanged)
+ Q_PROPERTY(QDateTime startTime READ startTime NOTIFY finishTimeChanged)
+ Q_PROPERTY(QDateTime finishTime READ finishTime NOTIFY finishTimeChanged)
+ Q_PROPERTY(QString answer READ answer NOTIFY answerChanged)
+ Q_PROPERTY(bool playing READ playing WRITE setPlaying NOTIFY playingChanged)
+ Q_PROPERTY(bool loading READ loading NOTIFY loadingChanged)
+ Q_PROPERTY(int secondsPlayed READ secondsPlayed NOTIFY secondsPlayedChanged)
+ Q_PROPERTY(int gameState READ gameState NOTIFY gameStateChanged)
+ Q_PROPERTY(int fullRows READ fullRows NOTIFY fullRowsChanged)
Q_PROPERTY(bool canInputLetter READ canInputLetter NOTIFY canInputLetterChanged)
Q_PROPERTY(bool canDeleteLastLetter READ canDeleteLastLetter NOTIFY canDeleteLastLetterChanged)
Q_PROPERTY(bool canSubmitInput READ canSubmitInput NOTIFY canSubmitInputChanged)
@@ -64,20 +72,26 @@
explicit WordleGame(QObject* aParent = Q_NULLPTR);
~WordleGame();
- QString getLanguage() const;
- void setLanguage(QString aLanguageCode);
+ QString language() const;
+ void setLanguage(const QString);
- bool isLoading() const;
- QString getAnswer() const;
- QStringList getKeypad() const;
- GameState getGameState() const;
- int getFullRows() const;
+ bool playing() const;
+ void setPlaying(bool);
+
+ bool loading() const;
+ QDateTime startTime() const;
+ QDateTime finishTime() const;
+ QString answer() const;
+ QStringList keypad() const;
+ GameState gameState() const;
+ int secondsPlayed() const;
+ int fullRows() const;
bool canInputLetter() const;
bool canDeleteLastLetter() const;
bool canSubmitInput() const;
- Q_INVOKABLE int knownLetterState(QString aLetter);
- Q_INVOKABLE bool inputLetter(QString aLetter);
+ Q_INVOKABLE int knownLetterState(const QString);
+ Q_INVOKABLE bool inputLetter(const QString);
Q_INVOKABLE void deleteLastLetter();
Q_INVOKABLE bool submitInput();
Q_INVOKABLE void newGame();
@@ -88,16 +102,19 @@
QVariant data(const QModelIndex& aIndex, int aRole) const Q_DECL_OVERRIDE;
Q_SIGNALS:
- void inputSubmitted(QString word);
+ void startTimeChanged();
+ void finishTimeChanged();
void languageChanged();
void answerChanged();
- void keypadChanged();
+ void playingChanged();
void loadingChanged();
+ void secondsPlayedChanged();
void gameStateChanged();
void fullRowsChanged();
void canInputLetterChanged();
void canDeleteLastLetterChanged();
void canSubmitInputChanged();
+ void inputSubmitted(QString word);
private:
class Private;
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/src/WordleSettings.cpp
^
|
@@ -48,9 +48,11 @@
#define DCONF_KEY(x) "/apps/" APP_NAME "/" x
#define KEY_LANGUAGE DCONF_KEY("language")
#define KEY_KEEP_DISPLAY_ON DCONF_KEY("keepDisplayOn")
+#define KEY_SHOW_PLAY_TIME DCONF_KEY("showPlayTime")
#define DEFAULT_LANGUAGE Private::DEFAULT_LANGUAGE_CODE
#define DEFAULT_KEEP_DISPLAY_ON false
+#define DEFAULT_SHOW_PLAY_TIME true
// ==========================================================================
// WordleSettings::Private
@@ -61,31 +63,36 @@
public:
static const QString DEFAULT_LANGUAGE_CODE;
- Private(WordleSettings* aParent);
+ Private(WordleSettings*);
- const QString validateLanguage(const QString aLanguage);
- const QString language();
- void setLanguage(const QString aValue);
+ const QString validateLanguage(const QString);
+ void setLanguage(const QString);
+ QString language();
public:
const QList<WordleLanguage> iLanguages;
QString iDefaultLanguage;
MGConfItem* iLanguage;
MGConfItem* iKeepDisplayOn;
+ MGConfItem* iShowPlayTime;
};
const QString WordleSettings::Private::DEFAULT_LANGUAGE_CODE("en");
-WordleSettings::Private::Private(WordleSettings* aParent) :
+WordleSettings::Private::Private(
+ WordleSettings* aParent) :
iLanguages(WordleLanguage::availableLangiages()),
iDefaultLanguage(DEFAULT_LANGUAGE_CODE),
iLanguage(new MGConfItem(KEY_LANGUAGE, aParent)),
- iKeepDisplayOn(new MGConfItem(KEY_KEEP_DISPLAY_ON, aParent))
+ iKeepDisplayOn(new MGConfItem(KEY_KEEP_DISPLAY_ON, aParent)),
+ iShowPlayTime(new MGConfItem(KEY_SHOW_PLAY_TIME, aParent))
{
QObject::connect(iLanguage, SIGNAL(valueChanged()),
aParent, SIGNAL(languageChanged()));
QObject::connect(iKeepDisplayOn, SIGNAL(valueChanged()),
aParent, SIGNAL(keepDisplayOnChanged()));
+ QObject::connect(iShowPlayTime, SIGNAL(valueChanged()),
+ aParent, SIGNAL(showPlayTimeChanged()));
const QString language((QLocale().bcp47Name())); // e.g. "en-GB"
HDEBUG("System language" << language);
@@ -101,7 +108,9 @@
}
}
-const QString WordleSettings::Private::validateLanguage(const QString aLanguage)
+const QString
+WordleSettings::Private::validateLanguage(
+ const QString aLanguage)
{
const QString languageCode(aLanguage.toLower());
const int n = iLanguages.count();
@@ -114,12 +123,15 @@
return iDefaultLanguage;
}
-const QString WordleSettings::Private::language()
+QString
+WordleSettings::Private::language()
{
return validateLanguage(iLanguage->value(iDefaultLanguage).toString());
}
-void WordleSettings::Private::setLanguage(const QString aValue)
+void
+WordleSettings::Private::setLanguage(
+ const QString aValue)
{
iLanguage->set(validateLanguage(aValue));
}
@@ -128,7 +140,8 @@
// WordleSettings
// ==========================================================================
-WordleSettings::WordleSettings(QObject* aParent) :
+WordleSettings::WordleSettings(
+ QObject* aParent) :
QObject(aParent),
iPrivate(new Private(this))
{
@@ -140,29 +153,52 @@
}
// Callback for qmlRegisterSingletonType<WordleSettings>
-QObject* WordleSettings::createSingleton(QQmlEngine*, QJSEngine*)
+QObject*
+WordleSettings::createSingleton(
+ QQmlEngine*,
+ QJSEngine*)
{
return new WordleSettings;
}
-bool WordleSettings::keepDisplayOn() const
+QString
+WordleSettings::language() const
+{
+ return iPrivate->language();
+}
+
+void
+WordleSettings::setLanguage(
+ QString aValue)
+{
+ HDEBUG(aValue);
+ iPrivate->setLanguage(aValue);
+}
+
+bool
+WordleSettings::keepDisplayOn() const
{
return iPrivate->iKeepDisplayOn->value(DEFAULT_KEEP_DISPLAY_ON).toBool();
}
-void WordleSettings::setKeepDisplayOn(bool aValue)
+void
+WordleSettings::setKeepDisplayOn(
+ bool aValue)
{
HDEBUG(aValue);
iPrivate->iKeepDisplayOn->set(aValue);
}
-const QString WordleSettings::language() const
+bool
+WordleSettings::showPlayTime() const
{
- return iPrivate->language();
+ return iPrivate->iShowPlayTime->value(DEFAULT_SHOW_PLAY_TIME).toBool();
}
-void WordleSettings::setLanguage(const QString aValue)
+void
+WordleSettings::setShowPlayTime(
+ bool aValue)
{
HDEBUG(aValue);
- iPrivate->setLanguage(aValue);
+ iPrivate->iShowPlayTime->set(aValue);
}
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/src/WordleSettings.h
^
|
@@ -43,12 +43,14 @@
class QQmlEngine;
class QJSEngine;
-class WordleSettings : public QObject
+class WordleSettings :
+ public QObject
{
Q_OBJECT
Q_DISABLE_COPY(WordleSettings)
Q_PROPERTY(QString language READ language WRITE setLanguage NOTIFY languageChanged)
Q_PROPERTY(bool keepDisplayOn READ keepDisplayOn WRITE setKeepDisplayOn NOTIFY keepDisplayOnChanged)
+ Q_PROPERTY(bool showPlayTime READ showPlayTime WRITE setShowPlayTime NOTIFY showPlayTimeChanged)
public:
explicit WordleSettings(QObject* aParent = Q_NULLPTR);
@@ -57,15 +59,19 @@
// Callback for qmlRegisterSingletonType<WordleSettings>
static QObject* createSingleton(QQmlEngine*, QJSEngine*);
- const QString language() const;
- void setLanguage(const QString aValue);
+ QString language() const;
+ void setLanguage(const QString);
bool keepDisplayOn() const;
- void setKeepDisplayOn(bool aValue);
+ void setKeepDisplayOn(bool);
+
+ bool showPlayTime() const;
+ void setShowPlayTime(bool);
Q_SIGNALS:
void languageChanged();
void keepDisplayOnChanged();
+ void showPlayTimeChanged();
private:
class Private;
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/src/main.cpp
^
|
@@ -43,6 +43,7 @@
#include "HarbourDebug.h"
#include "HarbourDisplayBlanking.h"
+#include "HarbourSystemState.h"
#include <sailfishapp.h>
@@ -62,6 +63,7 @@
{
REGISTER_SINGLETON(Wordle, uri, v1, v2);
REGISTER_SINGLETON(WordleSettings, uri, v1, v2);
+ REGISTER_SINGLETON(HarbourSystemState, uri, v1, v2);
REGISTER_TYPE(WordleGame, uri, v1, v2);
REGISTER_TYPE(WordleLanguageModel, uri, v1, v2);
REGISTER_TYPE(HarbourDisplayBlanking, uri, v1, v2);
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle-fi.ts
^
|
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation type="unfinished">Pidä näyttö päällä pelaamisen aikana</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Näytä ajastin</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation>Versio %1</translation>
+ </message>
</context>
</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle-hu.ts
^
|
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation>Kijelző ébrentartása a játék ideje alatt</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Időzítő megjelenítése</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation type="unfinished">Verzió %1</translation>
+ </message>
</context>
</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle-pl.ts
^
|
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation>Nie wyłączaj wyświetlacza podczas gry</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Pokaż minutnik</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation>Wersja %1</translation>
+ </message>
</context>
</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle-pt.ts
^
|
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation>Manter tela acesa ao jogar</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Mostrar temporizador</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation type="unfinished">Versão %1</translation>
+ </message>
</context>
</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle-ru.ts
^
|
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation>Держать экран включенным во время игры</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation>Показывать таймер</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation>Версия %1</translation>
+ </message>
</context>
</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle-sv.ts
^
|
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation>Håll skärmen tänd under spel</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation type="unfinished">Visa timer</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation>Version %1</translation>
+ </message>
</context>
</TS>
|
[-]
[+]
|
Changed |
_service:tar_git:harbour-wordle-1.0.9.tar.gz/translations/harbour-wordle.ts
^
|
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
-<TS version="2.1">
+<TS version="2.1" language="en">
<context>
<name></name>
<message id="wordle-menu-new_game">
@@ -23,5 +23,15 @@
<extracomment>Text switch label</extracomment>
<translation>Keep display on while playing</translation>
</message>
+ <message id="wordle-settings-show_play_time">
+ <source>Show timer</source>
+ <extracomment>Text switch label</extracomment>
+ <translation>Show timer</translation>
+ </message>
+ <message id="wordle-settings-version">
+ <source>Version %1</source>
+ <extracomment>Small description label (app version)</extracomment>
+ <translation>Version %1</translation>
+ </message>
</context>
</TS>
|