diff --git a/harbour-nextcloudnotes.desktop b/harbour-nextcloudnotes.desktop index 17099d7..be19a2e 100644 --- a/harbour-nextcloudnotes.desktop +++ b/harbour-nextcloudnotes.desktop @@ -10,4 +10,4 @@ Name=Notes # Remember to comment out the following line, if you do not want to use # a different app name in German locale (de). Name[de]=Notizen -Name[de_DE]=Notizen +Name[sv]=Anteckningar diff --git a/harbour-nextcloudnotes.pro b/harbour-nextcloudnotes.pro index e66d78a..19193b4 100644 --- a/harbour-nextcloudnotes.pro +++ b/harbour-nextcloudnotes.pro @@ -16,11 +16,12 @@ CONFIG += sailfishapp DEFINES += APP_VERSION=\\\"$$VERSION\\\" -SOURCES += src/harbour-nextcloudnotes.cpp \ +SOURCES += src/harbour-nextcloudnotes.cpp DISTFILES += qml/harbour-nextcloudnotes.qml \ qml/cover/CoverPage.qml \ rpm/harbour-nextcloudnotes.changes.run.in \ + rpm/harbour-nextcloudnotes.changes \ rpm/harbour-nextcloudnotes.spec \ rpm/harbour-nextcloudnotes.yaml \ translations/*.ts \ @@ -33,7 +34,6 @@ DISTFILES += qml/harbour-nextcloudnotes.qml \ qml/pages/AboutPage.qml \ qml/pages/UnencryptedDialog.qml \ qml/pages/NotesApi.qml \ - rpm/harbour-nextcloudnotes.changes \ qml/pages/MITLicense.qml \ qml/pages/GPLLicense.qml @@ -47,6 +47,7 @@ CONFIG += sailfishapp_i18n # planning to localize your app, remember to comment out the # following TRANSLATIONS line. And also do not forget to # modify the localized app name in the the .desktop file. -TRANSLATIONS += translations/harbour-nextcloudnotes-de.ts +TRANSLATIONS += translations/harbour-nextcloudnotes-de.ts \ + translations/harbour-nextcloudnotes-sv.ts HEADERS += diff --git a/qml/pages/AboutPage.qml b/qml/pages/AboutPage.qml index cc29a3e..11283d7 100644 --- a/qml/pages/AboutPage.qml +++ b/qml/pages/AboutPage.qml @@ -17,6 +17,14 @@ Page { title: qsTr("About") } + Label { + id: debugModeLabel + x: Theme.horizontalPageMargin + width: parent.width - 2*x + visible: debug + text: "

" + qsTr("The app is running in DEBUG mode!") + "

" + } + /*DetailItem { label: qsTr("Name") value: Qt.application.name @@ -29,7 +37,11 @@ Page { id: nextcloudnotesLabel x: Theme.horizontalPageMargin width: parent.width - 2*x - text: qsTr("

This app is released under the MIT license.

The source code is available on GitHub.

") + text: "

" + qsTr("This app is released under the MIT license.") + "

" + + //: Pre-Showdown Github link + "

" + qsTr("The source code is available on") + " GitHub" + + //: Post-Showdown Github link + qsTr(".") + "

" } Button { @@ -46,7 +58,11 @@ Page { id: showdownLabel x: Theme.horizontalPageMargin width: parent.width - 2*x - text: qsTr("

This app uses ShowdownJS v1.9 to convert Markdown to HTML.

Showdown 1.x is released under GPL 2.0.

") + //: Pre-Showdown Github link + text: "

" + qsTr("This app uses") + " ShowdownJS v1.9 " + + //: Post-Showdown Github link + qsTr("to convert Markdown to HTML.") + "

" + + "

" + qsTr("Showdown 1.x is released under GPL 2.0.") + "

" } Button { diff --git a/qml/pages/LoginDialog.qml b/qml/pages/LoginDialog.qml index 872ad4b..6d372a1 100644 --- a/qml/pages/LoginDialog.qml +++ b/qml/pages/LoginDialog.qml @@ -11,12 +11,14 @@ Dialog { ConfigurationGroup { id: account path: "/apps/harbour-nextcloudnotes/accounts/" + accountId - Component.onCompleted: { + /*Component.onCompleted: { nameField.text = value("name", "", String) serverField.text = value("server", "https://", String) usernameField.text = value("username", "", String) passwordField.text = value("password", "", String) - } + //unsecureConnectionTextSwitch.checked = value("unencryptedConnection", false, Boolean) + unencryptedConnectionTextSwitch.checked = value("allowUnencryptedConnection", false, Boolean) + }*/ } canAccept: (nameField.text.length > 0 && serverField.acceptableInput && usernameField.text.length > 0 && passwordField.text.length > 0) @@ -26,7 +28,7 @@ Dialog { account.setValue("username", usernameField.text) account.setValue("password", passwordField.text) //account.setValue("unsecureConnection", unsecureConnectionTextSwitch.checked) - //account.setValue("unencryptedConnection", unencryptedConnectionTextSwitch.checked) + account.setValue("allowUnencryptedConnection", unencryptedConnectionTextSwitch.checked) account.sync() api.uuid = accountId } @@ -69,13 +71,15 @@ Dialog { TextField { id: serverField + // regExp combined from https://stackoverflow.com/a/3809435 (EDIT: removed ? after https to force SSL) and https://www.regextester.com/22 + property var encryptedRegEx: /^https:\/\/(((www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b|((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))))([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/ + property var unencryptedRegEx : /^https?:\/\/(((www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b|((([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5]))))([-a-zA-Z0-9@:%_\+.~#?&//=]*)$/ width: parent.width text: account.value("server", "https://", String) placeholderText: qsTr("Nextcloud server") label: placeholderText + " " + qsTr("(starting with \"https://\")") inputMethodHints: Qt.ImhUrlCharactersOnly - // regExp from https://stackoverflow.com/a/3809435 (EDIT: removed ? after https to force SSL) - validator: RegExpValidator { regExp: /https:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&//=]*)/ } + validator: RegExpValidator { regExp: unencryptedConnectionTextSwitch.checked ? serverField.unencryptedRegEx : serverField.encryptedRegEx } errorHighlight: !acceptableInput// && focus === true EnterKey.enabled: acceptableInput EnterKey.iconSource: "image://theme/icon-m-enter-next" @@ -119,28 +123,20 @@ Dialog { } /*TextSwitch { id: unsecureConnectionTextSwitch - checked: appSettings.unsecureConnection - automaticCheck: true text: qsTr("Do not check certificates") description: qsTr("Enable this option to allow selfsigned certificates") - onCheckedChanged: { - if (checked) { - - } - else { - unencryptedConnection.checked = false - } - } - } + }*/ TextSwitch { id: unencryptedConnectionTextSwitch - enabled: unsecureConnectionTextSwitch.checked - checked: appSettings.unencryptedConnection automaticCheck: false - text: qsTr("Allow unencrypted connection") + text: qsTr("Allow unencrypted connections") description: qsTr("") + checked: account.value("allowUnencryptedConnection", false, Boolean) onClicked: { - if (!checked) { + if (checked) { + checked = false + } + else { var dialog = pageStack.push(Qt.resolvedUrl("UnencryptedDialog.qml")) dialog.accepted.connect(function() { checked = true @@ -149,10 +145,8 @@ Dialog { checked = false }) } - else - checked = false } - }*/ + } } } diff --git a/qml/pages/NotesApi.qml b/qml/pages/NotesApi.qml index b79f9d8..4b8021f 100644 --- a/qml/pages/NotesApi.qml +++ b/qml/pages/NotesApi.qml @@ -21,7 +21,6 @@ Item { property bool saveFile: false property bool busy: false property bool searchActive: false - property var apiReq: new XMLHttpRequest property int status: 204 property string statusText: "No Content" @@ -34,6 +33,7 @@ Item { } onUuidChanged: { + account.setValue("uuid", uuid) onUuidChanged: console.log("Account : " + uuid) account.path = "/apps/harbour-nextcloudnotes/accounts/" + uuid refreshConfig() @@ -42,6 +42,13 @@ Item { appSettings.currentAccount = uuid //getNotes() } + onNameChanged: account.setValue("name", name) + onServerChanged: account.setValue("server", server) + onUsernameChanged: account.setValue("username", username) + onPasswordChanged: account.setValue("password", password) + onUpdateChanged: account.setValue("update", update) + onUnsecureConnectionChanged: account.setValue("unsecureConnection", unsecureConnection) + onUnencryptedConnectionChanged: account.setValue("unencryptedConnection", unencryptedConnection) Connections { target: appSettings @@ -55,9 +62,6 @@ Item { } function refreshConfig() { - if (busy) { - apiReq.abort() - } account.sync() name = account.value("name", "", String) server = account.value("server", "", String) @@ -69,17 +73,7 @@ Item { unencryptedConnection = account.value("unencryptedConnection", false, Boolean) } - /*onUuidChanged: account.setValue("uuid", uuid) - onNameChanged: account.setValue("name", name) - onServerChanged: account.setValue("server", server) - onUsernameChanged: account.setValue("username", username) - onPasswordChanged: account.setValue("password", password) - onUpdateChanged: account.setValue("update", update) - onUnsecureConnectionChanged: account.setValue("unsecureConnection", unsecureConnection) - onUnencryptedConnectionChanged: account.setValue("unencryptedConnection", unencryptedConnection)*/ - function clear() { - apiReq.abort() modelData = [] model.clear() account.clear() @@ -96,11 +90,13 @@ Item { } console.log("Calling " + endpoint) + var apiReq = new XMLHttpRequest apiReq.open(method, endpoint, true) apiReq.setRequestHeader('User-Agent', 'SailfishOS/harbour-nextcloudnotes') apiReq.setRequestHeader('OCS-APIRequest', 'true') apiReq.setRequestHeader("Content-Type", "application/json") apiReq.setRequestHeader("Authorization", "Basic " + Qt.btoa(username + ":" + password)) + apiReq.withCredentials = true apiReq.onreadystatechange = function() { if (apiReq.readyState === XMLHttpRequest.DONE) { if (apiReq.status === 200) { diff --git a/qml/pages/UnencryptedDialog.qml b/qml/pages/UnencryptedDialog.qml index 66906ac..c5f49f8 100644 --- a/qml/pages/UnencryptedDialog.qml +++ b/qml/pages/UnencryptedDialog.qml @@ -4,7 +4,7 @@ import Sailfish.Silica 1.0 Dialog { id: unencryptedDialog - canAccept: textSwitch.checked + canAccept: understandTextSwitch.checked && ownRiskTextSwitch.checked SilicaFlickable { anchors.fill: parent @@ -22,12 +22,19 @@ Dialog { width: parent.width - 2*x wrapMode: Text.Wrap linkColor: Theme.highlightColor - text: qsTr("Your username and password will be transferred unencrypted over the network when you enable this option.
Do not accept unless you know exactly what you are doing!

More information...") + text: qsTr("" + qsTr("Your username and password will be transferred unencrypted over the network when you enable this option.") + "
" + qsTr("Do not accept unless you know exactly what you are doing!") + "

" + qsTr("More information...") + "") } TextSwitch { - id: textSwitch + id: understandTextSwitch text: qsTr("I do understand") + onCheckedChanged: if (!checked) ownRiskTextSwitch.checked = false + } + TextSwitch { + id: ownRiskTextSwitch + opacity: understandTextSwitch.checked ? 1.0 : 0.0 + Behavior on opacity { FadeAnimator {} } + text: qsTr("I use this option at my own risk") } } } diff --git a/rpm/harbour-nextcloudnotes.changes b/rpm/harbour-nextcloudnotes.changes index 8d5b3a8..919bb50 100644 --- a/rpm/harbour-nextcloudnotes.changes +++ b/rpm/harbour-nextcloudnotes.changes @@ -12,6 +12,14 @@ # * date Author's Name version-release # - Summary of changes +* Mon Dec 10 2018 Scharel Clemens 0.2-4 +- Added Swedish translation (Thanks to @eson57) +- Added German translation +- Allow unencrypted connections + +* Sat Dec 08 2018 Scharel Clemens 0.2-3 +- Implemented #27: Allow IPv4 as server address + * Thu Dec 06 2018 Scharel Clemens 0.2-2 - Fixed an issue where accounts get deleted when the dialog is aborted diff --git a/rpm/harbour-nextcloudnotes.spec b/rpm/harbour-nextcloudnotes.spec index e0f57f2..8c227df 100644 --- a/rpm/harbour-nextcloudnotes.spec +++ b/rpm/harbour-nextcloudnotes.spec @@ -14,7 +14,7 @@ Name: harbour-nextcloudnotes %{?qtc_builddir:%define _builddir %qtc_builddir} Summary: Nextcloud Notes Version: 0.2 -Release: 2 +Release: 4 Group: Qt/Qt License: LICENSE URL: http://example.org/ diff --git a/rpm/harbour-nextcloudnotes.yaml b/rpm/harbour-nextcloudnotes.yaml index 5768b28..1d527a3 100644 --- a/rpm/harbour-nextcloudnotes.yaml +++ b/rpm/harbour-nextcloudnotes.yaml @@ -1,7 +1,7 @@ Name: harbour-nextcloudnotes Summary: Nextcloud Notes Version: 0.2 -Release: 2 +Release: 4 # The contents of the Group field should be one of the groups listed here: # https://github.com/mer-tools/spectacle/blob/master/data/GROUPS Group: Qt/Qt diff --git a/src/harbour-nextcloudnotes.cpp b/src/harbour-nextcloudnotes.cpp index d08dc1f..8523ab0 100644 --- a/src/harbour-nextcloudnotes.cpp +++ b/src/harbour-nextcloudnotes.cpp @@ -15,6 +15,11 @@ int main(int argc, char *argv[]) QQuickView* view = SailfishApp::createView(); view->setSource(SailfishApp::pathTo("qml/harbour-nextcloudnotes.qml")); +#ifdef QT_DEBUG + view->rootContext()->setContextProperty("debug", QVariant(true)); +#else + view->rootContext()->setContextProperty("debug", QVariant(false)); +#endif view->show(); return app->exec(); diff --git a/translations/harbour-nextcloudnotes-de.ts b/translations/harbour-nextcloudnotes-de.ts index 223d9e8..040f3ff 100644 --- a/translations/harbour-nextcloudnotes-de.ts +++ b/translations/harbour-nextcloudnotes-de.ts @@ -1,15 +1,212 @@ - + - CoverPage + AboutPage - My Cover - Mein Cover + About + Über + + + The app is running in DEBUG mode! + Die App läuft im DEBUG Modus! + + + Notes + Notizen + + + The source code is available on + Pre-Showdown Github link + Der Quelltext ist auf + + + MIT License + MIT Lizenz + + + This app uses + Pre-Showdown Github link + Diese App verwendet + + + to convert Markdown to HTML. + Post-Showdown Github link + um Markton in HTML zu konvertieren. + + + Showdown 1.x is released under GPL 2.0. + Showdown 1.x wurde unter GPL 2.0 veröffentlicht. + + + GPL 2.0 License + GPL 2.0 Lizenz + + + Nextcloud Notes + Nextcloud Notizen + + + for Sailfish OS + für Sailfish OS + + + . + Post-Showdown Github link + verfügbar. + + + This app is released under the MIT license. + Diese App wurde unter der MIT Lizenz veröffentlicht. - FirstPage + CoverPage + + Notes + Notizen + + + + EditPage + + Reset + Zurücksetzen + + + Markdown syntax + Markdown Syntax + + + No category + Ohne Kategorie + + + Category + Kategorie + + + Modified + Geändert + + + + GPLLicense + + GPL 2.0 License + GPL 2.0 Lizenz + + + + LoginDialog + + Login + Verbinden + + + Save + Speichern + + + Account name + Kontoname + + + Nextcloud server + Nextcloud Server URL + + + (starting with "https://") + (beginnend mit "https://") + + + Username + Benutzername + + + Password + Passwort + + + Security + Sicherheit + + + <strong>CAUTION: Your password will be saved without any encryption on the device!</strong><br>Please consider creating a dedicated app password! Open your Nextcloud in a browser and go to <i>Settings</i> → <i>Security</i>. + <strong>ACHTUNG: Dein Password wird unverschlüsselt auf dem Gerät gespeichert!</strong><br>Erwäge ein eigenes App-Passwort zu erstellen! Öffne deine Nextcloud in einem Webbrowser und gehe zu <i>Einstellungen</i> --> <i>Sicherheit</i>. + + + Allow unencrypted connections + Unverschlüsselte Verbindungen zulassen + + + + + + + + MITLicense + + MIT License + MIT Lizenz + + + + NotePage + + Delete + Löschen + + + Reload + Neu laden + + + Updating... + Aktualisiere... + + + Last update + Zuletzt aktualisiert + + + never + noch nie + + + Edit + Bearbeiten + + + Notes + Notizen + + + No category + Ohne Kategorie + + + Category + Kategorie + + + Modified + Geändert + + + + NotesApi + + Today + Heute + + + Yesterday + Gestern + + + + NotesPage Settings Einstellungen @@ -18,32 +215,219 @@ Add note Neue Notiz + + Reload + Neu laden + + + Updating... + Aktualisiere... + Last update Zuletzt aktualisiert - Nextcloud Notes - Nextcloud Notizen + never + noch nie + + + Modified + Geändert Delete Löschen + + Deleting note + Lösche Notiz + + + No account yet + Noch kein Konto eingerichtet + + + Got to the settings to add an account + Öffne die EInstellungen um ein Benutzerkonto hinzuzufügen + No notes yet - Noch keine Notizen + Noch keine Notizen Pull down to add a note Herunterziehen um eine neue Notiz zu erzeugen + + No result + Keine Ergebnisse + + + Try another query + Versuche eine andere Suche + + + An error occurred + Es ist ein Fehler aufgetreten + + + Open the settings to configure your Nextcloud accounts + Passe deine Nextcloud Konten in den Einstellungen an + - harbour-nextcloudnotes + SettingsPage - never - noch nie + About + Über + + + Settings + Einstellungen + + + Accounts + Benutzerkonten + + + No Nextcloud account yet + Noch kein Nextcloud Konto eingerichtet + + + Unnamed account + Unbenanntes Konto + + + unknown + unbekannt + + + Edit + Bearbeiten + + + Delete + Löschen + + + Deleting account + Lösche Konto + + + Add account + Konto hinzufügen + + + Synchronization + Synchronisierung + + + Auto-Sync + Auto-Sync + + + Periodically pull notes from the server + Notizen regelmäßig abrufen + + + Disabled + Deaktiviert + + + every + alle + + + Minutes + Minuten + + + Seconds + Sekunden + + + Appearance + Aussehen + + + Last edited + Zuletzt bearbeitet + + + Category + Kategorie + + + Title alphabetically + Alphabetisch nach Titel + + + Sort notes by + Notizen sortieren nach + + + This will also change how the notes are grouped + Dies beeinflusst auch die Gruppierung + + + Show separator + Trennlinie einblenden + + + Show a separator line between the notes + Eine Trennlinie zwischen den Notizen anzeigen + + + lines + Zeilen + + + Number of lines in the preview + Anzahl der Zeiten in der Vorschau + + + Editing + Bearbeitung + + + Monospaced font + Nichtproportionale Schrift + + + Use a monospeced font to edit a note + Nichtproportionale Schrift beim Bearbeiten benutzen + + + Capital 'X' in checkboxes + Großes "X" in Kontrollkästchen + + + For interoperability with other apps such as Joplin + Kann für die Interoperabilität mit anderen Apps (z.B. Joplin) nützlich sein + + + + UnencryptedDialog + + Your username and password will be transferred unencrypted over the network when you enable this option. + Dein Benutzername und Passwort werden unverschlüsselt über das Netz übertragen wenn diese Option ausgewählt wurde. + + + Do not accept unless you know exactly what you are doing! + Fahre nicht fort, wenn du nicht genau weißt was du tust! + + + More information... + Mehr Informationen... + + + I do understand + Ich habe verstanden + + + I use this option at my own risk + Ich benutze diese Option auf eigene Gefahr diff --git a/translations/harbour-nextcloudnotes-sv.ts b/translations/harbour-nextcloudnotes-sv.ts index 5ae3e6a..498c117 100644 --- a/translations/harbour-nextcloudnotes-sv.ts +++ b/translations/harbour-nextcloudnotes-sv.ts @@ -19,22 +19,46 @@ Notes Anteckningar - - <p>This app is released under the MIT license.</p><p>The source code is available on <a href="https://github.com/scharel/harbour-nextcloudnotes">GitHub</a>.</p> - <p>Denna app är släppt under MIT-licensen.</p><p>Källkoden finns på <a href="https://github.com/scharel/harbour-nextcloudnotes">GitHub</a>.</p> - MIT License MIT License - - <p>This app uses <a href="https://github.com/showdownjs/showdown/tree/1.9.0">ShowdownJS v1.9</a> to convert Markdown to HTML.</p><p>Showdown 1.x is released under GPL 2.0.</p> - <p>Denna app använder <a href="https://github.com/showdownjs/showdown/tree/1.9.0">ShowdownJS v1.9</a> för att konvertera Markdown till HTML.</p><p>Showdown 1.x är släppt under GPL 2.0.</p> - GPL 2.0 License GPL 2.0 License + + The app is running in DEBUG mode! + Appen körs i DEBUG-läget! + + + The source code is available on + Pre-Showdown Github link + Källkoden finns på + + + This app uses + Pre-Showdown Github link + Denna app använder + + + to convert Markdown to HTML. + Post-Showdown Github link + för att konvertera Markdown till HTML. + + + Showdown 1.x is released under GPL 2.0. + Showdown 1.x är släppt under GPL 2.0. + + + . + Post-Showdown Github link + . + + + This app is released under the MIT license. + Denna app är släppt under MIT-licensen. + CoverPage @@ -115,6 +139,10 @@ Save Spara + + Allow unencrypted connections + Tillåt okrypterade anslutningar + MITLicense @@ -386,8 +414,20 @@ Jag förstår - <strong>Your username and password will be transferred unencrypted over the network when you enable this option.<br>Do not accept unless you know exactly what you are doing!</strong ><br><a href="https://github.com/nextcloud/notes/wiki/API-0.2">More information...</a> - <strong>Ditt användarnamn och lösenord överförs okrypterat över nätverket när du aktiverar det här alternativet.<br>Acceptera inte, såvida du inte vet exakt vad håller på med!</strong ><br><a href="https://github.com/nextcloud/notes/wiki/API-0.2">Mer information...</a> + I use this option at my own risk + Jag använder detta alternativ på egen risk + + + Do not accept unless you know exactly what you are doing! + Acceptera inte, såvida du inte vet exakt vad håller på med! + + + More information... + Mer information... + + + Your username and password will be transferred unencrypted over the network when you enable this option. + Ditt användarnamn och lösenord överförs okrypterat över nätverket när du aktiverar det här alternativet. diff --git a/translations/harbour-nextcloudnotes.ts b/translations/harbour-nextcloudnotes.ts index 5b113cb..aef2166 100644 --- a/translations/harbour-nextcloudnotes.ts +++ b/translations/harbour-nextcloudnotes.ts @@ -4,41 +4,79 @@ AboutPage + About - Nextcloud Notes - - - - for Sailfish OS + + The app is running in DEBUG mode! + Notes - <p>This app is released under the MIT license.</p><p>The source code is available on <a href="https://github.com/scharel/harbour-nextcloudnotes">GitHub</a>.</p> + + This app is released under the MIT license. + + The source code is available on + Pre-Showdown Github link + + + + + . + Post-Showdown Github link + + + + MIT License - <p>This app uses <a href="https://github.com/showdownjs/showdown/tree/1.9.0">ShowdownJS v1.9</a> to convert Markdown to HTML.</p><p>Showdown 1.x is released under GPL 2.0.</p> + + This app uses + Pre-Showdown Github link + + to convert Markdown to HTML. + Post-Showdown Github link + + + + + Showdown 1.x is released under GPL 2.0. + + + + GPL 2.0 License + + + Nextcloud Notes + + + + + for Sailfish OS + + CoverPage + Notes @@ -46,22 +84,27 @@ EditPage - Category - - - + Reset + Markdown syntax + No category + + Category + + + + Modified @@ -69,6 +112,7 @@ GPLLicense + GPL 2.0 License @@ -76,49 +120,65 @@ LoginDialog + Login - (starting with "https://") - - - - Username - - - - Nextcloud server + + Save + Account name - Security + + Nextcloud server - - - - - <strong>CAUTION: Your password will be saved without any encryption on the device!</strong><br>Please consider creating a dedicated app password! Open your Nextcloud in a browser and go to <i>Settings</i> → <i>Security</i>. + + (starting with "https://") + + Username + + + + Password - Save + + Security + + + <strong>CAUTION: Your password will be saved without any encryption on the device!</strong><br>Please consider creating a dedicated app password! Open your Nextcloud in a browser and go to <i>Settings</i> → <i>Security</i>. + + + + + Allow unencrypted connections + + + + + + + MITLicense + MIT License @@ -126,53 +186,65 @@ NotePage - Edit - - - - Notes - - - + Delete + Reload + Updating... + Last update + never - Modified + + Edit + + Notes + + + + + No category + + + + Category - No category + + Modified NotesApi + Today + Yesterday @@ -180,70 +252,87 @@ NotesPage + Settings + Add note + Reload + Updating... + Last update + never + Modified + Delete + Deleting note + No account yet + Got to the settings to add an account + No notes yet + Pull down to add a note + No result + Try another query + An error occurred + Open the settings to configure your Nextcloud accounts @@ -251,142 +340,191 @@ SettingsPage - Settings - - - - Accounts - - - + About + + Settings + + + + + Accounts + + + + No Nextcloud account yet - Add account - - - - Edit - - - + Unnamed account + + unknown + + + + + Edit + + + + Delete + Deleting account + + Add account + + + + Synchronization + Auto-Sync + Periodically pull notes from the server + Disabled - Minutes - - - - Seconds - - - - Appearance - - - - Show separator - - - - Show a separator line between the notes - - - - lines - - - + every - Category + + Minutes - Title alphabetically + + Seconds - Sort notes by + + Appearance + Last edited + + Category + + + + + Title alphabetically + + + + + Sort notes by + + + + This will also change how the notes are grouped + + Show separator + + + + + Show a separator line between the notes + + + + + lines + + + + Number of lines in the preview + Editing + Monospaced font + Use a monospeced font to edit a note + Capital 'X' in checkboxes + For interoperability with other apps such as Joplin - - unknown - - UnencryptedDialog + + Your username and password will be transferred unencrypted over the network when you enable this option. + + + + + Do not accept unless you know exactly what you are doing! + + + + + More information... + + + + I do understand - <strong>Your username and password will be transferred unencrypted over the network when you enable this option.<br>Do not accept unless you know exactly what you are doing!</strong ><br><a href="https://github.com/nextcloud/notes/wiki/API-0.2">More information...</a> + + I use this option at my own risk