mirror of
https://github.com/QuasarApp/Snake.git
synced 2025-05-11 00:49:45 +00:00
Revert "remove qt grafical effects"
This reverts commit 26017ccbead02ec958274121c77c1a85f9f9577b.
This commit is contained in:
parent
26017ccbea
commit
9c0283fbef
src/ClientLib
SnakeProject.qrc
SnakeProjectModule
About.qmlAboutPage.qmlBasePopUp.qmlFrameView.qmlGraphicItem.qmlImageView.qmlLeftBoxSideBar.qmlLeftSideBar.qmlLoginView.qmlMainMenu.qmlMainMenuButton.qmlMetrix.qmlPagePopUp.qmlPropertyView.qmlScene.qmlSelectLevelScene.qmlSettingsView.qmlSideBar.qmlSnakeItem.qmlSnakeProject.qmlTextInput.qmlUserView.qml
languages
submodules
@ -10,6 +10,7 @@
|
||||
<file>SnakeProjectModule/ImageView.qml</file>
|
||||
<file>SnakeProjectModule/LeftBoxSideBar.qml</file>
|
||||
<file>SnakeProjectModule/LeftSideBar.qml</file>
|
||||
<file>SnakeProjectModule/LoginView.qml</file>
|
||||
<file>SnakeProjectModule/MainMenu.qml</file>
|
||||
<file>SnakeProjectModule/MainMenuButton.qml</file>
|
||||
<file>SnakeProjectModule/Metrix.qml</file>
|
||||
|
@ -1,6 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Page {
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Item {
|
||||
clip: true
|
||||
|
@ -1,7 +1,8 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.11
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.12
|
||||
|
||||
Dialog {
|
||||
id : basePopup
|
||||
@ -17,6 +18,26 @@ Dialog {
|
||||
|
||||
property int closeInterval: 15000;
|
||||
property int margin : 0
|
||||
property color backgroundColor: Material.background
|
||||
|
||||
background: Item {
|
||||
id: bacground
|
||||
|
||||
Rectangle{
|
||||
anchors.fill: parent
|
||||
id: backCorner
|
||||
color: backgroundColor
|
||||
radius: metrix.mm
|
||||
}
|
||||
|
||||
DropShadow {
|
||||
anchors.fill: parent
|
||||
source: backCorner
|
||||
color: "#80000000"
|
||||
verticalOffset: 10
|
||||
samples: 30
|
||||
}
|
||||
}
|
||||
|
||||
function _show() {
|
||||
|
||||
|
@ -1,7 +1,8 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.12
|
||||
|
||||
Frame {
|
||||
id: frameVew
|
||||
|
@ -1,4 +1,4 @@
|
||||
import QtQuick
|
||||
import QtQuick 2.9
|
||||
|
||||
Rectangle {
|
||||
id: graphicItem
|
||||
|
@ -1,7 +1,8 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.12
|
||||
|
||||
Item {
|
||||
id: imageView
|
||||
@ -26,6 +27,37 @@ Item {
|
||||
anchors.fill: parent
|
||||
}
|
||||
|
||||
DropShadow {
|
||||
anchors.fill: img
|
||||
horizontalOffset: (hold)? 20: (hovered)? 10: 5
|
||||
verticalOffset: (hold)? 20: (hovered)? 10: 5
|
||||
radius: 8.0
|
||||
samples: 17
|
||||
Behavior on horizontalOffset {
|
||||
|
||||
ColorAnimation {
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
|
||||
Behavior on verticalOffset {
|
||||
|
||||
ColorAnimation {
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Behavior on color {
|
||||
|
||||
ColorAnimation {
|
||||
duration: 200
|
||||
}
|
||||
}
|
||||
color: (hold)? "#80000000": (hovered)? "#60000000": "#40000000"
|
||||
source: img
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
|
@ -1,4 +1,4 @@
|
||||
import QtQuick
|
||||
import QtQuick 2.0
|
||||
|
||||
LeftSideBar {
|
||||
resizeHeight: true;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
SideBar {
|
||||
id: leftSideBar
|
||||
|
301
src/ClientLib/SnakeProjectModule/LoginView.qml
Normal file
301
src/ClientLib/SnakeProjectModule/LoginView.qml
Normal file
@ -0,0 +1,301 @@
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.12
|
||||
|
||||
Item {
|
||||
id: element
|
||||
|
||||
property int loginStatus : 0
|
||||
|
||||
readonly property int currentView: tabBar.currentIndex
|
||||
readonly property var resultEnum: [
|
||||
qsTr("Success"), // 0
|
||||
qsTr("Password must be at least 8 characters"), // 1
|
||||
qsTr("Name must be at least 1 characters"), // 2
|
||||
qsTr("Passwords must match"), // 3
|
||||
|
||||
qsTr("The letter must match the pattern 'X@xxxx.xxx'") // 4
|
||||
|
||||
]
|
||||
|
||||
signal sigNewUser(var gmail, var password);
|
||||
signal sigLogin(var gmail, var password);
|
||||
signal toOffline();
|
||||
|
||||
|
||||
function _checkLogin() {
|
||||
const pass = loginPass.text;
|
||||
const email = loginEmail.text;
|
||||
|
||||
if (pass.length < 8) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (email.search(/[a-z\-A-Z0-9_]+@[a-z\-A-Z0-9_]+\.[a-z\-A-Z0-9_]+/) < 0) {
|
||||
return 4;
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
function _checkRegister () {
|
||||
const pass = registerPassword.text;
|
||||
const pass2 = registerPassword2.text;
|
||||
|
||||
const email = registerEmail.text;
|
||||
|
||||
if (pass.length < 8) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (pass !== pass2) {
|
||||
return 3;
|
||||
}
|
||||
|
||||
if (email.search(/[a-z\-A-Z0-9_]+@[a-z\-A-Z0-9_]+\.[a-z\-A-Z0-9_]+/) < 0) {
|
||||
return 4;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
function checkData(isregisterForm) {
|
||||
if (isregisterForm) {
|
||||
return _checkRegister();
|
||||
}
|
||||
|
||||
return _checkLogin();
|
||||
}
|
||||
|
||||
SwipeView {
|
||||
id: swipeView
|
||||
anchors.bottom: bottons.top
|
||||
anchors.top: tabBar.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
||||
clip: true
|
||||
|
||||
currentIndex: tabBar.currentIndex
|
||||
|
||||
Item {
|
||||
id: loginPage
|
||||
|
||||
GridLayout {
|
||||
id: columnLayout
|
||||
anchors.fill: parent
|
||||
columns: 2
|
||||
rows: 2
|
||||
Label {
|
||||
text: qsTr("Email")
|
||||
}
|
||||
|
||||
TextField {
|
||||
id: loginEmail
|
||||
placeholderText: "Enter Your Email"
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
|
||||
Label {
|
||||
text: qsTr("Passsword")
|
||||
}
|
||||
TextField {
|
||||
id: loginPass
|
||||
placeholderText: qsTr("Enter Your passsword")
|
||||
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||||
|
||||
echoMode: TextInput.Password
|
||||
cursorVisible: true
|
||||
Layout.fillWidth: true
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
Item {
|
||||
id: rigisterPage
|
||||
GridLayout {
|
||||
|
||||
anchors.fill: parent
|
||||
|
||||
columns: 2
|
||||
rows: 3
|
||||
|
||||
Label {
|
||||
text: qsTr("Email")
|
||||
}
|
||||
TextField {
|
||||
id: registerEmail;
|
||||
placeholderText: qsTr("Enter Your Email")
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||||
Layout.fillWidth: true
|
||||
|
||||
}
|
||||
|
||||
Label {
|
||||
text: qsTr("Password")
|
||||
}
|
||||
TextField {
|
||||
id: registerPassword;
|
||||
|
||||
placeholderText: qsTr("Enter Your passsword")
|
||||
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||||
Layout.fillWidth: true
|
||||
echoMode: TextInput.Password
|
||||
cursorVisible: true
|
||||
}
|
||||
|
||||
Label {
|
||||
text: qsTr("Repeat password")
|
||||
}
|
||||
TextField {
|
||||
id: registerPassword2;
|
||||
|
||||
placeholderText: qsTr("Enter Your passsword again")
|
||||
|
||||
Layout.alignment: Qt.AlignHCenter | Qt.AlignVCenter
|
||||
Layout.fillWidth: true
|
||||
echoMode: TextInput.Password
|
||||
cursorVisible: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
TabBar {
|
||||
id: tabBar
|
||||
anchors.top: parent.top
|
||||
anchors.topMargin: 0
|
||||
anchors.left: parent.left
|
||||
anchors.leftMargin: 0
|
||||
anchors.right: parent.right
|
||||
anchors.rightMargin: 0
|
||||
|
||||
TabButton {
|
||||
id: login
|
||||
text: qsTr("Sign in")
|
||||
checkable: false
|
||||
}
|
||||
|
||||
TabButton {
|
||||
id: register
|
||||
text: qsTr("Sign Up")
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout {
|
||||
id : bottons
|
||||
Button {
|
||||
text: qsTr("Cancel")
|
||||
|
||||
onClicked: {
|
||||
Qt.quit()
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Item {
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Button {
|
||||
text: tabBar.currentItem.text
|
||||
|
||||
onClicked: {
|
||||
|
||||
const messageIndex = checkData(tabBar.currentIndex);
|
||||
if (messageIndex === 0) {
|
||||
|
||||
if (tabBar.currentIndex) {
|
||||
// register request
|
||||
sigNewUser(registerEmail.text, registerPassword);
|
||||
} else {
|
||||
//login request
|
||||
sigLogin(loginEmail.text, loginPass.text);
|
||||
}
|
||||
} else {
|
||||
|
||||
notificationService.setNotify(qsTr("Error"),
|
||||
resultEnum[messageIndex],
|
||||
"",
|
||||
2);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
}
|
||||
|
||||
onLoginStatusChanged: {
|
||||
if (loginStatus === 2)
|
||||
busy._show();
|
||||
else {
|
||||
busy.close();
|
||||
}
|
||||
}
|
||||
|
||||
PagePopUp {
|
||||
id: busy
|
||||
modal: true
|
||||
autoClose: false;
|
||||
clickClose: false;
|
||||
BusyIndicator {
|
||||
running: true
|
||||
anchors.fill: parent
|
||||
}
|
||||
height: 2 * metrix.controlPtMaterial
|
||||
width: height
|
||||
|
||||
}
|
||||
|
||||
|
||||
FrameView {
|
||||
visible: loginStatus === 4
|
||||
anchors.fill: parent
|
||||
translucent: false
|
||||
showBorder: false
|
||||
ColumnLayout {
|
||||
anchors.fill: parent
|
||||
|
||||
Label {
|
||||
text: qsTr("You need connect to server");
|
||||
font.pixelSize: metrix.controlPtMaterial;
|
||||
wrapMode: Text.WordWrap
|
||||
horizontalAlignment: Text.AlignHCenter
|
||||
verticalAlignment: Text.AlignVCenter
|
||||
|
||||
Layout.fillHeight: true
|
||||
Layout.fillWidth: true
|
||||
|
||||
}
|
||||
|
||||
Button {
|
||||
text: qsTr("Use OfflineMode");
|
||||
Layout.alignment: Qt.AlignHCenter
|
||||
|
||||
onClicked: {
|
||||
toOffline();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
/*##^## Designer {
|
||||
D{i:0;autoSize:true;height:480;width:640}D{i:3;anchors_height:100;anchors_width:100;anchors_x:228;anchors_y:63}
|
||||
D{i:1;anchors_height:200;anchors_width:200;anchors_x:205;anchors_y:53}D{i:11;anchors_width:240;anchors_x:226;anchors_y:21}
|
||||
}
|
||||
##^##*/
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Item {
|
||||
id: item1
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Button {
|
||||
id: exit
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick 2.0
|
||||
import QtQuick.Window 2.12
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Controls 2.3
|
||||
|
||||
Item {
|
||||
readonly property int pointCount: 100;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.11
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
BasePopUp {
|
||||
id: pagePopUp
|
||||
|
@ -1,7 +1,8 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.12
|
||||
|
||||
Item {
|
||||
id: properyView
|
||||
@ -40,6 +41,17 @@ Item {
|
||||
}
|
||||
}
|
||||
|
||||
DropShadow {
|
||||
anchors.fill: background
|
||||
horizontalOffset: 2
|
||||
verticalOffset: 2
|
||||
radius: 8.0
|
||||
samples: 17
|
||||
|
||||
color: "#80000000";
|
||||
source: background
|
||||
}
|
||||
|
||||
MouseArea {
|
||||
anchors.fill: parent
|
||||
hoverEnabled: true
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.11
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Item {
|
||||
id: scene;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.9
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Item {
|
||||
id: item1
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
Item {
|
||||
id: settingsView
|
||||
|
@ -1,6 +1,6 @@
|
||||
import QtQuick
|
||||
|
||||
import QtQuick.Controls
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
FrameView {
|
||||
id: sideBar
|
||||
@ -20,8 +20,8 @@ FrameView {
|
||||
property var source: null
|
||||
property var header: null
|
||||
|
||||
readonly property bool openFinished: openHeight === height && openWidth === width;
|
||||
readonly property bool closeFinished: closedHeight === height && closedWidth === width;
|
||||
readonly property bool openFinished: openHeight === height && openWidth == width;
|
||||
readonly property bool closeFinished: closedHeight === height && closedWidth == width;
|
||||
|
||||
function show() {
|
||||
if (resizeWidth && !(chainAnimation && resizeHeight))
|
||||
|
@ -1,4 +1,4 @@
|
||||
import QtQuick
|
||||
import QtQuick 2.9
|
||||
|
||||
GraphicItem {
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
import QtQuick
|
||||
import QtQuick.Window
|
||||
import QtQuick.Controls
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Window 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
|
||||
import NotifyModule
|
||||
import NotifyModule 1.0
|
||||
|
||||
ApplicationWindow {
|
||||
id: mainWindow;
|
||||
@ -11,6 +11,11 @@ ApplicationWindow {
|
||||
height: 480;
|
||||
title: qsTr("SnakeOnTheRoad");
|
||||
|
||||
// Component.onCompleted: {
|
||||
// mainWindow.showFullScreen();
|
||||
// }
|
||||
|
||||
|
||||
Metrix {id: metrix}
|
||||
|
||||
Scene {
|
||||
|
@ -1,7 +1,7 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.11
|
||||
import QtQuick.Controls 2.3
|
||||
import QtQuick.Controls.Material 2.0
|
||||
import QtQuick.Layouts 1.3
|
||||
|
||||
|
||||
Item {
|
||||
|
@ -1,6 +1,8 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
import QtQuick 2.12
|
||||
import QtQuick.Controls.Material 2.12
|
||||
import QtQuick.Controls 2.12
|
||||
import QtQuick.Layouts 1.3
|
||||
import QtGraphicalEffects 1.12
|
||||
|
||||
|
||||
Flickable {
|
||||
|
@ -26,6 +26,81 @@
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LoginView</name>
|
||||
<message>
|
||||
<source>Success</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password must be at least 8 characters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name must be at least 1 characters</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passwords must match</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The letter must match the pattern 'X@xxxx.xxx'</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Email</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Passsword</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter Your passsword</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter Your Email</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Password</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Repeat password</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter Your passsword again</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign in</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sign Up</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You need connect to server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Use OfflineMode</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>MainMenu</name>
|
||||
<message>
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit 9a0b4d57742823e9ebb134381bfe9f7c89409682
|
||||
Subproject commit 69e823353284a1bba33569072428ea44d1a0e332
|
Loading…
x
Reference in New Issue
Block a user