First successful authentication, yeah! :)
This commit is contained in:
parent
bd59896896
commit
6b68d8a276
6 changed files with 119 additions and 64 deletions
|
@ -18,11 +18,48 @@
|
||||||
*/
|
*/
|
||||||
import QtQuick 2.2
|
import QtQuick 2.2
|
||||||
import Sailfish.Silica 1.0
|
import Sailfish.Silica 1.0
|
||||||
|
import WerkWolf.Fernschreiber 1.0
|
||||||
|
|
||||||
Page {
|
Page {
|
||||||
id: initializationPage
|
id: initializationPage
|
||||||
allowedOrientations: Orientation.All
|
allowedOrientations: Orientation.All
|
||||||
|
|
||||||
|
property bool loading: true
|
||||||
|
property int authorizationState: TelegramAPI.Closed
|
||||||
|
|
||||||
|
BusyLabel {
|
||||||
|
text: qsTr("Loading...")
|
||||||
|
running: initializationPage.loading
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
initializationPage.authorizationState = tdLibWrapper.getAuthorizationState();
|
||||||
|
initializationPage.loading = false;
|
||||||
|
if (initializationPage.authorizationState === TelegramAPI.WaitCode) {
|
||||||
|
welcomeFlickable.visible = false;
|
||||||
|
enterPinColumn.visible = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Connections {
|
||||||
|
target: tdLibWrapper
|
||||||
|
onAuthorizationStateChanged: {
|
||||||
|
switch (authorizationState) {
|
||||||
|
case TelegramAPI.WaitCode:
|
||||||
|
initializationPage.loading = false;
|
||||||
|
enterPinColumn.visible = true;
|
||||||
|
break;
|
||||||
|
case TelegramAPI.AuthorizationReady:
|
||||||
|
overviewPage.loading = false;
|
||||||
|
pageStack.clear();
|
||||||
|
pageStack.push(Qt.resolvedUrl("../pages/OverviewPage.qml"));
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
// Nothing ;)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
y: ( parent.height - ( errorInfoLabel.height + fernschreiberErrorImage.height + errorOkButton.height + ( 3 * Theme.paddingSmall ) ) ) / 2
|
y: ( parent.height - ( errorInfoLabel.height + fernschreiberErrorImage.height + errorOkButton.height + ( 3 * Theme.paddingSmall ) ) ) / 2
|
||||||
width: parent.width
|
width: parent.width
|
||||||
|
@ -87,7 +124,7 @@ Page {
|
||||||
InfoLabel {
|
InfoLabel {
|
||||||
id: enterPinLabel
|
id: enterPinLabel
|
||||||
font.pixelSize: Theme.fontSizeLarge
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
text: qsTr("Please enter the PIN that you received:")
|
text: qsTr("Please enter the code that you received:")
|
||||||
}
|
}
|
||||||
|
|
||||||
TextField {
|
TextField {
|
||||||
|
@ -108,8 +145,9 @@ Page {
|
||||||
horizontalCenter: parent.horizontalCenter
|
horizontalCenter: parent.horizontalCenter
|
||||||
}
|
}
|
||||||
onClicked: {
|
onClicked: {
|
||||||
//accountModel.enterPin(enterPinField.text)
|
initializationPage.loading = true;
|
||||||
enterPinColumn.visible = false;
|
enterPinColumn.visible = false;
|
||||||
|
tdLibWrapper.setAuthenticationCode(enterPinField.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,12 +176,12 @@ Page {
|
||||||
InfoLabel {
|
InfoLabel {
|
||||||
id: linkingErrorInfoLabel
|
id: linkingErrorInfoLabel
|
||||||
font.pixelSize: Theme.fontSizeLarge
|
font.pixelSize: Theme.fontSizeLarge
|
||||||
text: qsTr("Unable to authenticate you with the entered PIN.")
|
text: qsTr("Unable to authenticate you with the entered code.")
|
||||||
}
|
}
|
||||||
|
|
||||||
Button {
|
Button {
|
||||||
id: enterPinAgainButton
|
id: enterPinAgainButton
|
||||||
text: qsTr("Enter PIN again")
|
text: qsTr("Enter code again")
|
||||||
anchors {
|
anchors {
|
||||||
horizontalCenter: parent.horizontalCenter
|
horizontalCenter: parent.horizontalCenter
|
||||||
}
|
}
|
||||||
|
@ -169,38 +207,12 @@ Page {
|
||||||
SilicaFlickable {
|
SilicaFlickable {
|
||||||
id: welcomeFlickable
|
id: welcomeFlickable
|
||||||
anchors.fill: parent
|
anchors.fill: parent
|
||||||
contentHeight: column.height
|
contentHeight: welcomeColumn.height
|
||||||
Behavior on opacity { NumberAnimation {} }
|
Behavior on opacity { NumberAnimation {} }
|
||||||
opacity: visible ? 1 : 0
|
opacity: visible ? 1 : 0
|
||||||
|
|
||||||
// Connections {
|
|
||||||
// target: accountModel
|
|
||||||
// onPinRequestSuccessful: {
|
|
||||||
// console.log("URL: " + url)
|
|
||||||
// Qt.openUrlExternally(url)
|
|
||||||
// welcomeFlickable.visible = false
|
|
||||||
// enterPinColumn.visible = true
|
|
||||||
// }
|
|
||||||
// onPinRequestError: {
|
|
||||||
// errorInfoLabel.text = errorMessage
|
|
||||||
// welcomeFlickable.visible = false
|
|
||||||
// pinErrorColumn.visible = true
|
|
||||||
// console.log("Error Message: " + errorMessage)
|
|
||||||
// }
|
|
||||||
// onLinkingSuccessful: {
|
|
||||||
// console.log("Linking successful, moving on to my tweets...")
|
|
||||||
// pageStack.clear()
|
|
||||||
// pageStack.push(overviewPage)
|
|
||||||
// }
|
|
||||||
// onLinkingFailed: {
|
|
||||||
// enterPinColumn.visible = false
|
|
||||||
// linkingErrorColumn.visible = true
|
|
||||||
// console.log("Linking error, proceeding to error page!")
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
Column {
|
Column {
|
||||||
id: column
|
id: welcomeColumn
|
||||||
width: parent.width
|
width: parent.width
|
||||||
spacing: Theme.paddingLarge
|
spacing: Theme.paddingLarge
|
||||||
|
|
||||||
|
@ -246,6 +258,8 @@ Page {
|
||||||
}
|
}
|
||||||
enabled: phoneNumberTextField.text.match(/\+[1-9][0-9]{4,}/g)
|
enabled: phoneNumberTextField.text.match(/\+[1-9][0-9]{4,}/g)
|
||||||
onClicked: {
|
onClicked: {
|
||||||
|
initializationPage.loading = true;
|
||||||
|
welcomeFlickable.visible = false;
|
||||||
tdLibWrapper.setAuthenticationPhoneNumber(phoneNumberTextField.text);
|
tdLibWrapper.setAuthenticationPhoneNumber(phoneNumberTextField.text);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,8 @@ Page {
|
||||||
allowedOrientations: Orientation.All
|
allowedOrientations: Orientation.All
|
||||||
|
|
||||||
property bool loading: true;
|
property bool loading: true;
|
||||||
|
property int authorizationState: TelegramAPI.Closed
|
||||||
|
property int connectionState: TelegramAPI.WaitingForNetwork
|
||||||
|
|
||||||
BusyLabel {
|
BusyLabel {
|
||||||
text: qsTr("Loading...")
|
text: qsTr("Loading...")
|
||||||
|
@ -44,10 +46,31 @@ Page {
|
||||||
pageStack.clear();
|
pageStack.clear();
|
||||||
pageStack.push(Qt.resolvedUrl("../pages/InitializationPage.qml"));
|
pageStack.push(Qt.resolvedUrl("../pages/InitializationPage.qml"));
|
||||||
break;
|
break;
|
||||||
|
case TelegramAPI.WaitCode:
|
||||||
|
overviewPage.loading = false;
|
||||||
|
pageStack.clear();
|
||||||
|
pageStack.push(Qt.resolvedUrl("../pages/InitializationPage.qml"));
|
||||||
|
break;
|
||||||
|
case TelegramAPI.AuthorizationReady:
|
||||||
|
overviewPage.loading = false;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
// Nothing ;)
|
// Nothing ;)
|
||||||
}
|
}
|
||||||
|
overviewPage.authorizationState = authorizationState;
|
||||||
}
|
}
|
||||||
|
onConnectionStateChanged: {
|
||||||
|
overviewPage.connectionState = connectionState;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
Component.onCompleted: {
|
||||||
|
overviewPage.authorizationState = tdLibWrapper.getAuthorizationState();
|
||||||
|
if (overviewPage.authorizationState === TelegramAPI.AuthorizationReady) {
|
||||||
|
overviewPage.loading = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
overviewPage.connectionState = tdLibWrapper.getConnectionState();
|
||||||
}
|
}
|
||||||
|
|
||||||
SilicaFlickable {
|
SilicaFlickable {
|
||||||
|
|
|
@ -89,6 +89,15 @@ void TDLibWrapper::setAuthenticationPhoneNumber(const QString &phoneNumber)
|
||||||
this->sendRequest(requestObject);
|
this->sendRequest(requestObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TDLibWrapper::setAuthenticationCode(const QString &authenticationCode)
|
||||||
|
{
|
||||||
|
qDebug() << "[TDLibWrapper] Set authentication code " << authenticationCode;
|
||||||
|
QVariantMap requestObject;
|
||||||
|
requestObject.insert("@type", "checkAuthenticationCode");
|
||||||
|
requestObject.insert("code", authenticationCode);
|
||||||
|
this->sendRequest(requestObject);
|
||||||
|
}
|
||||||
|
|
||||||
void TDLibWrapper::handleVersionDetected(const QString &version)
|
void TDLibWrapper::handleVersionDetected(const QString &version)
|
||||||
{
|
{
|
||||||
this->version = version;
|
this->version = version;
|
||||||
|
|
|
@ -63,6 +63,7 @@ public:
|
||||||
Q_INVOKABLE TDLibWrapper::AuthorizationState getAuthorizationState();
|
Q_INVOKABLE TDLibWrapper::AuthorizationState getAuthorizationState();
|
||||||
Q_INVOKABLE TDLibWrapper::ConnectionState getConnectionState();
|
Q_INVOKABLE TDLibWrapper::ConnectionState getConnectionState();
|
||||||
Q_INVOKABLE void setAuthenticationPhoneNumber(const QString &phoneNumber);
|
Q_INVOKABLE void setAuthenticationPhoneNumber(const QString &phoneNumber);
|
||||||
|
Q_INVOKABLE void setAuthenticationCode(const QString &authenticationCode);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void versionDetected(const QString &version);
|
void versionDetected(const QString &version);
|
||||||
|
|
|
@ -66,22 +66,6 @@
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Please enter the PIN that you received:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Unable to authenticate you with the entered PIN.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Enter PIN again</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Restart authentication</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Welcome to Fernschreiber!</source>
|
<source>Welcome to Fernschreiber!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -94,6 +78,26 @@
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Please enter the code that you received:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unable to authenticate you with the entered code.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Enter code again</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Restart authentication</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>OverviewPage</name>
|
<name>OverviewPage</name>
|
||||||
|
|
|
@ -66,22 +66,6 @@
|
||||||
<source>OK</source>
|
<source>OK</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
<message>
|
|
||||||
<source>Please enter the PIN that you received:</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Unable to authenticate you with the entered PIN.</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Enter PIN again</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
|
||||||
<source>Restart authentication</source>
|
|
||||||
<translation type="unfinished"></translation>
|
|
||||||
</message>
|
|
||||||
<message>
|
<message>
|
||||||
<source>Welcome to Fernschreiber!</source>
|
<source>Welcome to Fernschreiber!</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
|
@ -94,6 +78,26 @@
|
||||||
<source>Continue</source>
|
<source>Continue</source>
|
||||||
<translation type="unfinished"></translation>
|
<translation type="unfinished"></translation>
|
||||||
</message>
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Please enter the code that you received:</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Loading...</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Unable to authenticate you with the entered code.</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Enter code again</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
|
<message>
|
||||||
|
<source>Restart authentication</source>
|
||||||
|
<translation type="unfinished"></translation>
|
||||||
|
</message>
|
||||||
</context>
|
</context>
|
||||||
<context>
|
<context>
|
||||||
<name>OverviewPage</name>
|
<name>OverviewPage</name>
|
||||||
|
|
Loading…
Reference in a new issue