Fixed basic API calls (not visible in UI yet)
This commit is contained in:
parent
79ed971afe
commit
6ff59f1971
7 changed files with 151 additions and 111 deletions
|
@ -24,7 +24,7 @@ ApplicationWindow
|
|||
path: "/apps/harbour-nextcloudnotes"
|
||||
|
||||
property bool initialized: false
|
||||
property var accounts: value("accounts", [], Array)
|
||||
property var accountList: value("accountList", [], Array)
|
||||
property string currentAccount: value("currentAccount", "", String)
|
||||
property int autoSyncInterval: value("autoSyncInterval", 0, Number)
|
||||
property int previewLineCount: value("previewLineCount", 4, Number)
|
||||
|
@ -34,10 +34,6 @@ ApplicationWindow
|
|||
property bool useMonoFont: value("useMonoFont", false, Boolean)
|
||||
property bool useCapitalX: value("useCapitalX", false, Boolean)
|
||||
|
||||
onCurrentAccountChanged: {
|
||||
console.log("Current account: " + currentAccount)
|
||||
}
|
||||
|
||||
onSortByChanged: {
|
||||
if (sortBy == "none") Notes.model.invalidate()
|
||||
}
|
||||
|
@ -47,9 +43,9 @@ ApplicationWindow
|
|||
|
||||
function createAccount(username, password, url, name) {
|
||||
var hash = accountHash.hash(username, url)
|
||||
var tmpaccounts = accounts
|
||||
var tmpaccounts = accountList
|
||||
tmpaccounts.push(hash)
|
||||
accounts = tmpaccounts
|
||||
accountList = tmpaccounts
|
||||
|
||||
tmpAccount.path = appSettings.path + "/accounts/" + hash
|
||||
tmpAccount.url = url
|
||||
|
@ -64,13 +60,18 @@ ApplicationWindow
|
|||
Nextcloud.deleteAppPassword(appSettings.value("accounts/" + hash + "/password"),
|
||||
appSettings.value("accounts/" + hash + "/username"),
|
||||
appSettings.value("accounts/" + hash + "/url"))
|
||||
var tmpaccounts = accounts
|
||||
var tmpaccounts = accountList
|
||||
tmpaccounts.pop(hash)
|
||||
accounts = tmpaccounts
|
||||
accountList = tmpaccounts
|
||||
|
||||
tmpAccount.path = appSettings.path + "/accounts/" + hash
|
||||
tmpAccount.clear()
|
||||
currentAccount = accounts[-1]
|
||||
if (accountList[-1]) {
|
||||
currentAccount = accountList[-1]
|
||||
}
|
||||
else {
|
||||
currentAccount = ""
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -78,7 +79,10 @@ ApplicationWindow
|
|||
id: account
|
||||
Connections {
|
||||
target: appSettings
|
||||
onCurrentAccountChanged: account.path = appSettings.path + "/accounts/" + appSettings.currentAccount
|
||||
onCurrentAccountChanged: {
|
||||
account.path = appSettings.path + "/accounts/" + appSettings.currentAccount
|
||||
console.log("Current account: " + account.username + "@" + account.url)
|
||||
}
|
||||
}
|
||||
|
||||
property url url: value("url", "", String)
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
import QtQuick 2.2
|
||||
import Sailfish.Silica 1.0
|
||||
import harbour.nextcloudapi 1.0
|
||||
import harbour.nextcloudapi.notes 1.0
|
||||
|
||||
Page {
|
||||
id: page
|
||||
|
||||
onStatusChanged: {
|
||||
if (status === PageStatus.Activating) {
|
||||
if (appSettings.accounts.length <= 0) {
|
||||
if (appSettings.accountList.length <= 0) {
|
||||
addAccountHint.restart()
|
||||
}
|
||||
else {
|
||||
|
@ -35,13 +36,13 @@ Page {
|
|||
text: qsTr("Add note")
|
||||
visible: appSettings.currentAccount !== ""
|
||||
enabled: Nextcloud.networkAccessible
|
||||
onClicked: Nextcloud.createNote( { 'content': "", 'modified': new Date().valueOf() / 1000 } )
|
||||
onClicked: Notes.createNote( { 'content': "", 'modified': new Date().valueOf() / 1000 } )
|
||||
}
|
||||
MenuItem {
|
||||
text: Nextcloud.networkAccessible && !Nextcloud.busy ? qsTr("Reload") : qsTr("Updating...")
|
||||
visible: appSettings.currentAccount !== ""
|
||||
enabled: Nextcloud.networkAccessible && !Nextcloud.busy
|
||||
onClicked: Nextcloud.getAllNotes()
|
||||
onClicked: Notes.getAllNotes()
|
||||
}
|
||||
MenuLabel {
|
||||
visible: appSettings.currentAccount !== ""
|
||||
|
@ -227,7 +228,7 @@ Page {
|
|||
|
||||
ViewPlaceholder {
|
||||
id: noLoginPlaceholder
|
||||
enabled: appSettings.accounts.length <= 0
|
||||
enabled: appSettings.accountList.length <= 0
|
||||
text: qsTr("No account yet")
|
||||
hintText: qsTr("Got to the settings to add an account")
|
||||
}
|
||||
|
|
|
@ -32,7 +32,7 @@ Page {
|
|||
}
|
||||
Label {
|
||||
id: noAccountsLabel
|
||||
visible: appSettings.accounts.length <= 0
|
||||
visible: appSettings.accountList.length <= 0
|
||||
text: qsTr("No Nextcloud account yet")
|
||||
font.pixelSize: Theme.fontSizeLarge
|
||||
color: Theme.secondaryHighlightColor
|
||||
|
@ -43,7 +43,7 @@ Page {
|
|||
}
|
||||
Repeater {
|
||||
id: accountRepeater
|
||||
model: appSettings.accounts
|
||||
model: appSettings.accountList
|
||||
|
||||
delegate: ListItem {
|
||||
id: accountListItem
|
||||
|
@ -53,15 +53,17 @@ Page {
|
|||
ConfigurationGroup {
|
||||
id: settingsAccount
|
||||
path: appSettings.path + "/accounts/" + modelData
|
||||
onPathChanged: console.log(path)
|
||||
Component.onCompleted: {
|
||||
accountTextSwitch.text = value("name", qsTr("Account %1").arg(index+1))
|
||||
accountTextSwitch.description = value("username") + "@" + value("url")
|
||||
}
|
||||
property url url: value("url", "", String)
|
||||
property string username: value("username", "", String)
|
||||
property string passowrd: value("password", "", String)
|
||||
property string name: value("name", qsTr("Account %1").arg(index+1), String)
|
||||
property var update: value("update", new Date(0), Date)
|
||||
}
|
||||
|
||||
TextSwitch {
|
||||
id: accountTextSwitch
|
||||
text: settingsAccount.name
|
||||
description: settingsAccount.username + "@" + settingsAccount.url
|
||||
automaticCheck: false
|
||||
checked: modelData === appSettings.currentAccount
|
||||
onClicked: {
|
||||
|
|
|
@ -13,9 +13,9 @@ class AbstractNextcloudApp : public QObject {
|
|||
|
||||
public:
|
||||
AbstractNextcloudApp(QObject *parent = nullptr, QString name = QString(), NextcloudApi* api = nullptr) : QObject(parent), m_appName(name), m_api(api) {
|
||||
connect(this, SIGNAL(capabilitiesChanged(QJsonObject*)), this, SLOT(updateCapabilities(QJsonObject*)));
|
||||
//connect(this, SIGNAL(capabilitiesChanged(QJsonObject*)), this, SLOT(updateCapabilities(QJsonObject*)));
|
||||
connect(m_api, SIGNAL(capabilitiesChanged(QJsonObject*)), this, SLOT(updateApiCapabilities(QJsonObject*)));
|
||||
connect(this, SIGNAL(replyReceived(QNetworkReply*)), this, SLOT(updateReply(QNetworkReply*)));
|
||||
//connect(this, SIGNAL(replyReceived(QNetworkReply*)), this, SLOT(updateReply(QNetworkReply*)));
|
||||
connect(m_api, SIGNAL(apiFinished(QNetworkReply*)), this, SLOT(updateApiReply(QNetworkReply*)));
|
||||
}
|
||||
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
NotesApp::NotesApp(QObject *parent, NextcloudApi* api)
|
||||
: AbstractNextcloudApp(parent, "notes", api) {
|
||||
m_notesProxy.setSourceModel(&m_notesModel);
|
||||
connect(this, SIGNAL(capabilitiesChanged(QJsonObject*)), this, SLOT(updateCapabilities(QJsonObject*)));
|
||||
connect(this, SIGNAL(replyReceived(QNetworkReply*)), this, SLOT(updateReply(QNetworkReply*)));
|
||||
}
|
||||
|
||||
// QML singleton
|
||||
|
@ -41,12 +43,28 @@ bool NotesApp::getAllNotes(const QStringList& exclude) {
|
|||
QUrlQuery query;
|
||||
if (!exclude.isEmpty())
|
||||
query.addQueryItem(EXCLUDE_QUERY, exclude.join(","));
|
||||
return m_api->get(NOTES_APP_ENDPOINT, query);
|
||||
QNetworkReply* reply = m_api->get(QString(NOTES_APP_ENDPOINT).append("/notes"), query);
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
m_replies << reply;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
reply->deleteLater();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool NotesApp::getNote(const int id) {
|
||||
qDebug() << "Getting note: " << id;
|
||||
return m_api->get(NOTES_APP_ENDPOINT + QString("/%1").arg(id));
|
||||
QNetworkReply* reply = m_api->get(QString(NOTES_APP_ENDPOINT).append("/notes/%1").arg(id));
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
m_replies << reply;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
reply->deleteLater();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool NotesApp::createNote(const QJsonObject& note, bool local) {
|
||||
|
@ -56,7 +74,15 @@ bool NotesApp::createNote(const QJsonObject& note, bool local) {
|
|||
m_notes.append(value);
|
||||
}
|
||||
if (!local) {
|
||||
return m_api->post(NOTES_APP_ENDPOINT, QJsonDocument(note).toJson());
|
||||
QNetworkReply* reply = m_api->post(QString(NOTES_APP_ENDPOINT).append("/notes"), QJsonDocument(note).toJson());
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
m_replies << reply;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
reply->deleteLater();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
@ -85,7 +111,15 @@ bool NotesApp::updateNote(const int id, const QJsonObject& note, bool local) {
|
|||
}
|
||||
}
|
||||
if (!local) {
|
||||
return m_api->put(NOTES_APP_ENDPOINT + QString("/%1").arg(id), QJsonDocument(note).toJson());
|
||||
QNetworkReply* reply = m_api->put(QString(NOTES_APP_ENDPOINT).append("/notes/%1").arg(id), QJsonDocument(note).toJson());
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
m_replies << reply;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
reply->deleteLater();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
@ -102,7 +136,15 @@ bool NotesApp::deleteNote(const int id, bool local) {
|
|||
}
|
||||
}
|
||||
if (!local) {
|
||||
return m_api->del(NOTES_APP_ENDPOINT + QString("/%1").arg(id));
|
||||
QNetworkReply* reply = m_api->del(QString(NOTES_APP_ENDPOINT).append("/notes/%1").arg(id));
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
m_replies << reply;
|
||||
return true;
|
||||
}
|
||||
else {
|
||||
reply->deleteLater();
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return done;
|
||||
}
|
||||
|
@ -112,7 +154,9 @@ void NotesApp::updateReply(QNetworkReply* reply) {
|
|||
qDebug() << reply->error() << reply->errorString();
|
||||
|
||||
QByteArray data = reply->readAll();
|
||||
//qDebug() << data;
|
||||
QJsonDocument json = QJsonDocument::fromJson(data);
|
||||
qDebug() << json;
|
||||
if (json.isObject()) {
|
||||
QJsonObject obj = json.object();
|
||||
updateNote(obj.value("id").toInt(), obj, true);
|
||||
|
|
|
@ -351,9 +351,6 @@ void NextcloudApi::replyFinished(QNetworkReply* reply) {
|
|||
qDebug() << reply->error() << reply->errorString();
|
||||
|
||||
qDebug() << reply->url().toDisplayString();
|
||||
QByteArray data = reply->readAll();
|
||||
QJsonDocument json = QJsonDocument::fromJson(data);
|
||||
//qDebug() << data;
|
||||
|
||||
switch (reply->error()) {
|
||||
case QNetworkReply::NoError:
|
||||
|
@ -362,34 +359,32 @@ void NextcloudApi::replyFinished(QNetworkReply* reply) {
|
|||
case QNetworkAccessManager::GetOperation:
|
||||
if (reply->url().toString().endsWith(STATUS_ENDPOINT)) {
|
||||
qDebug() << "Nextcloud status.php";
|
||||
updateStatus(json.object());
|
||||
updateStatus(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else if (reply->url().toString().endsWith(GET_APPPASSWORD_ENDPOINT)) {
|
||||
qDebug() << "App password received";
|
||||
updateAppPassword(json.object());
|
||||
updateAppPassword(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else if (reply->url().toString().contains(QString(USER_METADATA_ENDPOINT).remove(QRegExp("/%[0-9]")))) {
|
||||
qDebug() << "User metadata for" << reply->url().toString().split('/').last() << "received";
|
||||
updateUserMeta(json.object());
|
||||
updateUserMeta(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else if (reply->url().toString().endsWith(LIST_USERS_ENDPOINT)) {
|
||||
qDebug() << "User list received";
|
||||
updateUserList(json.object());
|
||||
updateUserList(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else if (reply->url().toString().endsWith(CAPABILITIES_ENDPOINT)) {
|
||||
qDebug() << "Capabilites received";
|
||||
updateCapabilities(json.object());
|
||||
updateCapabilities(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else if (reply->url().toString().endsWith(USER_NOTIFICATION_ENDPOINT)) {
|
||||
qDebug() << "Notifications are not yet implemented!";
|
||||
qDebug() << json.object().value("ocs").toObject().value("data").toArray();
|
||||
qDebug() << QJsonDocument::fromJson(reply->readAll()).object().value("ocs").toObject().value("data").toArray();
|
||||
}
|
||||
else {
|
||||
qDebug() << "GET reply received";
|
||||
break;
|
||||
}
|
||||
m_replies.removeOne(reply);
|
||||
reply->deleteLater();
|
||||
break;
|
||||
case QNetworkAccessManager::PutOperation:
|
||||
if (reply->url().toString().endsWith(DIRECT_DOWNLOAD_ENDPOINT)) {
|
||||
|
@ -399,43 +394,37 @@ void NextcloudApi::replyFinished(QNetworkReply* reply) {
|
|||
qDebug() << "PUT reply received";
|
||||
break;
|
||||
}
|
||||
m_replies.removeOne(reply);
|
||||
reply->deleteLater();
|
||||
break;
|
||||
case QNetworkAccessManager::PostOperation:
|
||||
if (reply->url().toString().endsWith(LOGIN_FLOWV2_ENDPOINT)) {
|
||||
qDebug() << "Login Flow v2 initiated.";
|
||||
updateLoginFlow(json.object());
|
||||
updateLoginFlow(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else if (reply->url() == m_pollUrl) {
|
||||
qDebug() << "Login Flow v2 finished.";
|
||||
updateLoginCredentials(json.object());
|
||||
updateLoginCredentials(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else {
|
||||
qDebug() << "POST reply received";
|
||||
break;
|
||||
}
|
||||
m_replies.removeOne(reply);
|
||||
reply->deleteLater();
|
||||
break;
|
||||
case QNetworkAccessManager::DeleteOperation:
|
||||
if (reply->url().toString().endsWith(DEL_APPPASSWORD_ENDPOINT)) {
|
||||
deleteAppPassword(json.object());
|
||||
deleteAppPassword(QJsonDocument::fromJson(reply->readAll()).object());
|
||||
}
|
||||
else {
|
||||
qDebug() << "DELETE reply received";
|
||||
break;
|
||||
}
|
||||
m_replies.removeOne(reply);
|
||||
reply->deleteLater();
|
||||
break;
|
||||
default:
|
||||
qDebug() << "Unknown reply received:" << reply->operation() << reply->url();
|
||||
m_replies.removeOne(reply);
|
||||
reply->deleteLater();
|
||||
break;
|
||||
}
|
||||
emit apiFinished(reply);
|
||||
m_replies.removeOne(reply);
|
||||
reply->deleteLater();
|
||||
break;
|
||||
case QNetworkReply::AuthenticationRequiredError:
|
||||
qDebug() << reply->errorString();
|
||||
|
|
|
@ -407,97 +407,97 @@
|
|||
<context>
|
||||
<name>NotesPage</name>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="31"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="32"/>
|
||||
<source>Settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="35"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="36"/>
|
||||
<source>Add note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="41"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="42"/>
|
||||
<source>Reload</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="41"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="42"/>
|
||||
<source>Updating...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="48"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="49"/>
|
||||
<source>Last update</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="51"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="52"/>
|
||||
<source>never</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="61"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="62"/>
|
||||
<source>Nextcloud Notes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="190"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="191"/>
|
||||
<source>Modified</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="193"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="194"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="195"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="196"/>
|
||||
<source>Deleting note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="225"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="226"/>
|
||||
<source>Loading notes...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="231"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="232"/>
|
||||
<source>No account yet</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="232"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="233"/>
|
||||
<source>Got to the settings to add an account</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="238"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="239"/>
|
||||
<source>No notes yet</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="239"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="240"/>
|
||||
<source>Pull down to add a note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="245"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="246"/>
|
||||
<source>No result</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="246"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="247"/>
|
||||
<source>Try another query</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="252"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="253"/>
|
||||
<source>An error occurred</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="263"/>
|
||||
<location filename="../qml/pages/NotesPage.qml" line="264"/>
|
||||
<source>Open the settings to configure your Nextcloud accounts</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -525,182 +525,182 @@
|
|||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="58"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="59"/>
|
||||
<source>Account %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="74"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="76"/>
|
||||
<source>Edit</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="80"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="82"/>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="82"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="84"/>
|
||||
<source>Deleting account</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="92"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="94"/>
|
||||
<source>Add account</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="100"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="102"/>
|
||||
<source>Synchronization</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="104"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="106"/>
|
||||
<source>Auto-Sync</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="105"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="107"/>
|
||||
<source>Periodically pull notes from the server</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="112"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="114"/>
|
||||
<source>Disabled</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="112"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="114"/>
|
||||
<source>every</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="114"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="116"/>
|
||||
<source>Minutes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="115"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="117"/>
|
||||
<source>Seconds</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="138"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="140"/>
|
||||
<source>The Answer is 42</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="139"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="141"/>
|
||||
<source>Congratulation you found the Answer to the Ultimate Question of Life, The Universe, and Everything!</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="147"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="149"/>
|
||||
<source>Appearance</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="155"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="157"/>
|
||||
<source>No sorting</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="179"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="181"/>
|
||||
<source>Favorites on top</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="180"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="182"/>
|
||||
<source>Show notes marked as favorite above the others</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="218"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="220"/>
|
||||
<source>Reset</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="221"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="223"/>
|
||||
<source>Reset app settings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="223"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="225"/>
|
||||
<source>Cleared app data</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="226"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="228"/>
|
||||
<source>Resetting the app wipes all application data from the device! This includes offline synced notes, app settings and accounts.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="152"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="154"/>
|
||||
<source>Last edited</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="153"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="155"/>
|
||||
<source>Category</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="154"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="156"/>
|
||||
<source>Title alphabetically</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="157"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="159"/>
|
||||
<source>Sort notes by</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="158"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="160"/>
|
||||
<source>This will also change how the notes are grouped</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="185"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="187"/>
|
||||
<source>Show separator</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="186"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="188"/>
|
||||
<source>Show a separator line between the notes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="196"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="198"/>
|
||||
<source>lines</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="197"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="199"/>
|
||||
<source>Number of lines in the preview</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="202"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="204"/>
|
||||
<source>Editing</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="205"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="207"/>
|
||||
<source>Monospaced font</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="206"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="208"/>
|
||||
<source>Use a monospeced font to edit a note</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="211"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="213"/>
|
||||
<source>Capital 'X' in checkboxes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="212"/>
|
||||
<location filename="../qml/pages/SettingsPage.qml" line="214"/>
|
||||
<source>For interoperability with other apps such as Joplin</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
@ -912,27 +912,27 @@ You can also use other markdown syntax inside them.</source>
|
|||
<context>
|
||||
<name>harbour-nextcloudnotes</name>
|
||||
<message>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="111"/>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="115"/>
|
||||
<source>Notes</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="112"/>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="116"/>
|
||||
<source>Offline</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="113"/>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="117"/>
|
||||
<source>Synced</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="127"/>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="131"/>
|
||||
<source>API error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="120"/>
|
||||
<location filename="../qml/harbour-nextcloudnotes.qml" line="124"/>
|
||||
<source>File error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
|
|
Loading…
Reference in a new issue