From 51ff9c34ed0979b7f23281b55a036b651522c3c4 Mon Sep 17 00:00:00 2001 From: Stefan Brand Date: Mon, 4 Jan 2021 20:30:05 +0100 Subject: [PATCH] Version 1.9.0 Added Search Functionality (contributed by Jyri-Petteri Paloposki) Updated Finnish Translation (contributed by Jyri-Petteri Paloposki) --- README.md | 5 +- qml/harbour-sailotp.qml | 2 +- qml/pages/AddOTP.qml | 1 + qml/pages/MainView.qml | 68 +++++++++----- rpm/harbour-sailotp.changes | 4 + rpm/harbour-sailotp.yaml | 2 +- translations/harbour-sailotp-de.ts | 27 +++--- translations/harbour-sailotp-es.ts | 27 +++--- translations/harbour-sailotp-fi.ts | 122 +++++++++++++------------- translations/harbour-sailotp-fr.ts | 27 +++--- translations/harbour-sailotp-it.ts | 27 +++--- translations/harbour-sailotp-nl.ts | 27 +++--- translations/harbour-sailotp-pt_BR.ts | 27 +++--- translations/harbour-sailotp-ru.ts | 27 +++--- translations/harbour-sailotp-sv.ts | 27 +++--- translations/harbour-sailotp-zh_CN.ts | 27 +++--- translations/harbour-sailotp.ts | 27 +++--- 17 files changed, 279 insertions(+), 195 deletions(-) diff --git a/README.md b/README.md index eeadf4f..0fac4d3 100644 --- a/README.md +++ b/README.md @@ -33,7 +33,7 @@ or write an email to sailfish _AT_ seiichiro0185.org SailOTP is licensed under a 3-Clause BSD-License. See COPYING for details. -## Accnowledgements +## Acknowledgements SailOTP uses the SHA-1 and HMAC-Implementation from @@ -58,10 +58,9 @@ The qrencode library is used for QRCode-encoding existing tokens for export to o The following people have contributed to translating SailOTP: * Chinese: BirdZhang - * Finnish: Johan Heikkilä (hevanaa) + * Finnish: Johan Heikkilä (hevanaa), Jyri-Petteri Paloposki (ZeiP) * French: Romain Tartière (smortex) * Italian: Tichy - * Dutch: JSEHV * Russian: moorchegue * Spanish: p4moedo * Swedish: Åke Engelbrektson (eson57) diff --git a/qml/harbour-sailotp.qml b/qml/harbour-sailotp.qml index 74d2173..4e7f960 100644 --- a/qml/harbour-sailotp.qml +++ b/qml/harbour-sailotp.qml @@ -65,7 +65,7 @@ ApplicationWindow // Add an entry to the list function appendOTP(title, secret, type, counter, fav, len, diff) { - listModel.append({"secret": secret, "title": title, "fav": fav, "type": type, "counter": counter, "len": len, "diff": diff, "otp": "------"}); + listModel.append({"secret": secret, "title": title, "fav": fav, "type": type, "counter": counter, "len": len, "diff": diff, "otp": "------", "itemVisible": true}); } // Set the OTP shown on the Cover diff --git a/qml/pages/AddOTP.qml b/qml/pages/AddOTP.qml index c07d7a2..0c52984 100644 --- a/qml/pages/AddOTP.qml +++ b/qml/pages/AddOTP.qml @@ -130,6 +130,7 @@ Dialog { validator: RegExpValidator { regExp: /^(?:[A-Za-z2-7]{8})*(?:[A-Za-z2-7]{2}|[A-Za-z2-7]{4}|[A-Za-z2-7]{5}|[A-Za-z2-7]{7})?$/ } inputMethodHints: Qt.ImhNoPredictiveText horizontalAlignment: TextInput.AlignLeft + EnterKey.enabled: text.length > 15 EnterKey.iconSource: "image://theme/icon-m-enter-next" EnterKey.onClicked: otpLen.focus = true diff --git a/qml/pages/MainView.qml b/qml/pages/MainView.qml index 16f077a..577a39a 100644 --- a/qml/pages/MainView.qml +++ b/qml/pages/MainView.qml @@ -130,35 +130,63 @@ Page { hintText: qsTr("Pull down to add a OTP") } - header: Row { - height: Theme.itemSizeSmall + header: Column { width: parent.width - ProgressBar { - id: updateProgress - anchors.top: parent.top - // Hack to get the Progress Bar in roughly the same spot on Light and Dark Ambiances - anchors.topMargin: Theme.colorScheme === 0 ? Theme.paddingLarge * 1.1 : Theme.paddingSmall * 0.6 + height: headerRow.height + searchRow.height + Row { + id: headerRow height: Theme.itemSizeSmall - width: parent.width * 0.65 - maximumValue: 29 - value: 29 - seconds_global - // Only show when there are enries - visible: appWin.listModel.count + width: parent.width + ProgressBar { + id: updateProgress + // Hack to get the Progress Bar in roughly the same spot on Light and Dark Ambiances + anchors.topMargin: Theme.colorScheme === 0 ? Theme.paddingLarge * 1.1 : Theme.paddingSmall * 0.6 + height: Theme.itemSizeSmall + width: parent.width * 0.65 + maximumValue: 29 + value: 29 - seconds_global + // Only show when there are enries + visible: appWin.listModel.count + } + PageHeader { + id: header + anchors.top: parent.top + height: Theme.itemSizeSmall + width: parent.width * 0.35 + title: "SailOTP" + } } - PageHeader { - id: header - anchors.top: parent.top - height: Theme.itemSizeSmall - width: parent.width * 0.35 - title: "SailOTP" + Row { + id: searchRow + width: parent.width + TextField { + id: searchField + font.pixelSize: Theme.fontSizeMedium + width: parent.width - clearIcon.width + EnterKey.enabled: false + inputMethodHints: Qt.ImhNoPredictiveText // Qt.ImhPreferUppercase | Qt.ImhNoAutoUppercase + placeholderText: qsTr("Search") + onTextChanged: { + for (var i = 0; i < appWin.listModel.count; i++) { + appWin.listModel.get(i).itemVisible = appWin.listModel.get(i).title.toString().toLowerCase().indexOf(searchField.text.toLowerCase()) > -1 + } + } + } + IconButton { + id: clearIcon + icon.source: "image://theme/icon-m-backspace" + onClicked: searchField.text = "" + enabled: searchField.text.length > 0 + } } } delegate: ListItem { id: otpListItem menu: otpContextMenu - contentHeight: Theme.itemSizeMedium + contentHeight: visible ? Theme.itemSizeMedium : 0 width: parent.width + visible: itemVisible function remove() { // Show 5s countdown, then delete from DB and List @@ -237,7 +265,7 @@ Page { } } - // Show an update button on HTOP-Type Tokens + // Show an update button on HOTP type tokens IconButton { icon.source: "image://theme/icon-m-refresh" anchors.right: parent.right diff --git a/rpm/harbour-sailotp.changes b/rpm/harbour-sailotp.changes index d4661dc..996df04 100644 --- a/rpm/harbour-sailotp.changes +++ b/rpm/harbour-sailotp.changes @@ -1,3 +1,7 @@ +* Mon Jan 04 2021 Stefan Brand 1.9.0-1 +- Add Search Functionality (conbtributed by Jyri-Petteri Paloposki) +- Updated Finnish Translation (contributed by Jyri-Petteri Paloposki) + * Sun Mar 03 2019 Stefan Brand 1.8.1-1 - Translation Updates diff --git a/rpm/harbour-sailotp.yaml b/rpm/harbour-sailotp.yaml index b3a7d3e..85ff0a5 100644 --- a/rpm/harbour-sailotp.yaml +++ b/rpm/harbour-sailotp.yaml @@ -1,6 +1,6 @@ Name: harbour-sailotp Summary: SailOTP -Version: 1.8.2 +Version: 1.9.0 Release: 1 Group: Security URL: https://github.com/seiichiro0185/sailotp/ diff --git a/translations/harbour-sailotp-de.ts b/translations/harbour-sailotp-de.ts index dce1836..2dcc3d4 100644 --- a/translations/harbour-sailotp-de.ts +++ b/translations/harbour-sailotp-de.ts @@ -281,49 +281,54 @@ Lizenz: BSD (3-Klausel) Nach unten ziehen zum Hinzufügen - + + Search + Suchen + + + Deleting Lösche - - + + Token for Token für - - + + copied to clipboard in die Zwischenablage kopiert - + Copy to Clipboard In die Zwischenablage - + Show Token as QR-Code Als QR-Code Zeigen - + Move up Nach oben - + Move down Nach unten - + Edit Bearbeiten - + Delete Löschen diff --git a/translations/harbour-sailotp-es.ts b/translations/harbour-sailotp-es.ts index 706480b..2010a29 100644 --- a/translations/harbour-sailotp-es.ts +++ b/translations/harbour-sailotp-es.ts @@ -281,49 +281,54 @@ Licencia: BSD (de 3 cláusulas) Tire hacia abajo para añadir tokens OTP - + + Search + + + + Deleting Borrando - - + + Token for Token para - - + + copied to clipboard copiado al portapapeles - + Copy to Clipboard Copiar al portapapeles - + Show Token as QR-Code Mostrar código QR - + Move up Ascender - + Move down Descender - + Edit Editar - + Delete Borrar diff --git a/translations/harbour-sailotp-fi.ts b/translations/harbour-sailotp-fi.ts index 6115dea..2556d2e 100644 --- a/translations/harbour-sailotp-fi.ts +++ b/translations/harbour-sailotp-fi.ts @@ -7,30 +7,30 @@ A Simple Sailfish OTP Generator (RFC 6238/4226 compatible) - Yksinkertainen Sailfish OTP-generaattori -(RFC 6238/4226-yhteensopiva) + Yksinkertainen OTP- eli kertasalasanasovellus Sailfishille +(RFC 6238-/4226-yhteensopiva) Copyright: Stefan Brand License: BSD (3-clause) Copyright: Stefan Brand -Lisenssi: BSD (3-clause) +Lisenssi: BSD (3 lausekkeen) SailOTP uses the following third party libs: - SailOTP käyttää seuraavat kolmannen osapuolen kirjastot: + SailOTP käyttää seuraavia kolmannen osapuolen kirjastoja: Contributors: - Avustajat: + Projektiin osallistuneet: Support - tuki + Tuki @@ -49,7 +49,7 @@ Lisenssi: BSD (3-clause) Can't create QR-Code from incomplete settings! - QR-koodin luonti epäonnistui puutteellisten asetuksien takia! + QR-koodia ei voida luoda puutteellisten asetuksien takia! @@ -74,7 +74,7 @@ Lisenssi: BSD (3-clause) Counter-based (HOTP) - Laskentapohjainen (HOTP) + Laskuripohjainen (HOTP) @@ -89,7 +89,7 @@ Lisenssi: BSD (3-clause) Title for the OTP - OTP:n nimi + Kertasalasanan nimi @@ -109,7 +109,7 @@ Lisenssi: BSD (3-clause) Length of the Token - Tunnuksen pituus + Kertasalasanan pituus @@ -120,7 +120,7 @@ Lisenssi: BSD (3-clause) Next Counter Value - Seuraava laskenta-arvo + Laskurin seuraava arvo @@ -133,24 +133,24 @@ Lisenssi: BSD (3-clause) File already exists, choose "Overwrite existing" to overwrite it. - Tiedosto on jo olemassa. Korvaa vanha tiedosto valitsemalla "Ylikirjoita". + Tiedosto on jo olemassa. Voit korvata vanhan tiedoston valitsemalla Ylikirjoita tiedosto. Given file does not exist! - Tiedosto ei ole olemassa! + Tiedostoa ei ole olemassa! Export - Eksportoi + Vie Import - Importoi + Tuo @@ -160,17 +160,17 @@ Lisenssi: BSD (3-clause) File to import - Importoitava tiedosto + Tuotava tiedosto File to export - Eksportoitava tiedosto + Vietävä tiedosto Overwrite existing - Ylikirjoita + Ylikirjoita tiedosto @@ -195,53 +195,52 @@ Lisenssi: BSD (3-clause) Repeated Password for the file - Tiedoston salasana uudelleen + Tiedoston salasanan vahvistus Here you can Import Tokens from a file. Put in the file location and the password you used on export. Pull left to start the import. - Voit importata tunnuksia tiedostosta. Anna tiedoston polku ja salasana jonka annoit eksportoitaessa. Pyyhkäise vasemmalle aloittaaksesi importin. + Voit tuoda tunnuksia tiedostosta. Anna tiedoston polku sekä salasana, jonka annoit vientiä tehdessäsi. Pyyhkäise vasemmalle aloittaaksesi tuonnin. Here you can export Tokens to a file. The exported file will be encrypted with AES-256-CBC and Base64 encoded. Choose a strong password, the file will contain the secrets used to generate the Tokens for your accounts. Pull left to start the export. - Voit eksportoida tunnukset tiedostoon. Eksportoitu tiedosto enkryptataan AES-256-CBC- ja Base64-salauksella. Valitse vahva salasana, koska tiedostosta voidaan kääntää tiliesi tunnukset. Pyyhkäise vasemmalle aloittaaksesi eksportin. + Voit viedä tunnukset tiedostoon. Vientitiedosto salataan AES-256-CBC-salauksella ja koodataan Base64-koodauksella. Valitse vahva salasana, koska tiedosto sisältää käyttäjätiliesi tunnukset. Pyyhkäise vasemmalle aloittaaksesi viennin. To view the content of the export file outside of SailOTP use the following openssl command: - Translated using Google Translate - Jos haluat tarkastella vientitiedoston sisältöä SailOTP: n ulkopuolella, käytä seuraavaa openssl-komentoa: + Jos haluat tarkastella vientitiedoston sisältöä SailOTP:n ulkopuolella, käytä seuraavaa OpenSSL-komentoa: Error writing to file - Virhe tiedoston kirjoituksessa + Virhe kirjoitettaessa tiedostoa Token Database exported to - Tunnus-tietokanta eksportoitu polkuun + Tunnustietokanta viety tiedostoon Could not encrypt tokens. Error: - Tunnuksia ei voitu enkryptata. Virhe: + Tunnusten salaaminen epäonnistui. Virhe: Could not read tokens from Database - Tunnuksia ei voitu lukea tietokannasta + Tunnusten lukeminen tietokannasta epäonnistui Tokens imported from - Tunnukset importoitu polusta + Tunnukset tuotu tiedostosta Unable to decrypt file, did you use the right password? - Tiedoston dekryptaus epäonnistui. Oliko salasana oikea? + Tiedoston salauksen purkaminen epäonnistui. Tarkista salasana. @@ -264,7 +263,7 @@ Lisenssi: BSD (3-clause) Export / Import - Eksportoi / Importoi + Vie / Tuo @@ -274,57 +273,62 @@ Lisenssi: BSD (3-clause) Nothing here - Tyhjä + Tyhjää täynnä Pull down to add a OTP - Vedä alaspäin lisääksesi OTP:n + Vedä alaspäin lisätäksesi kertasalasanatunnuksen - + + Search + + + + Deleting - Poistaa + Poistetaan - - + + Token for - Tunnus + Kertasalasana palveluun - - + + copied to clipboard - kopioitu leikepöydälle + on kopioitu leikepöydälle - + Copy to Clipboard Kopioi leikepöydälle - + Show Token as QR-Code - Näytä QR-koodi + Näytä kertasalasana QR-koodina - + Move up - Siirrä ylös + Siirrä ylöspäin - + Move down - Siirrä alas + Siirrä alaspäin - + Edit Muokkaa - + Delete Poista @@ -334,7 +338,7 @@ Lisenssi: BSD (3-clause) Can't create QR-Code from an empty String - QR-koodia ei voi luoda tyhjällä merkkijonolla + QR-koodia ei voi luoda tyhjästä merkkijonosta @@ -342,7 +346,7 @@ Lisenssi: BSD (3-clause) Can't access temporary directory - Pääsy temp-hakemistoon on estetty + Ei pääsyä väliaikaishakemistoon @@ -352,22 +356,22 @@ Lisenssi: BSD (3-clause) Scan Code - Skannaa koodi + Lue koodi Scanning... - Skannataan... + Etsitään… No valid Token data found. - Voimassa olevaa tunnustietoa ei löytynyt. + Kelvollista tunnustietoa ei löytynyt. Tap the picture to start / stop scanning. Pull down to add Token manually. - Käynnistä / lopeta skannaus painamalla kuvaa. Vedä alaspäin lisääksesi tunnuksen käsin. + Käynnistä / lopeta koodin etsiminen kuvasta näpäyttämällä kuvaa. Vetämällä alaspäin voit lisätä tunnuksen käsin. @@ -380,19 +384,17 @@ Lisenssi: BSD (3-clause) Behaviour - Käytös + Käyttöliittymä Show Token as QR on Tap - Google Translate - Näytä tunnus QR-muodossa Napauta + Avaa kertasalasana napautettaessa QR-koodina Hide Tokens and Reveal on Tap - Google Translate - Piilota tokenit ja paljastaa koskettamalla + Näytä kertasalasanat vasta napautettaessa diff --git a/translations/harbour-sailotp-fr.ts b/translations/harbour-sailotp-fr.ts index 0d279ab..469af15 100644 --- a/translations/harbour-sailotp-fr.ts +++ b/translations/harbour-sailotp-fr.ts @@ -281,49 +281,54 @@ Licence : BSD (3 clauses) Glissez vers le bas pour ajouter un OTP - + + Search + + + + Deleting Suppression - - + + Token for OTP pour - - + + copied to clipboard copié dans le presse-papier - + Copy to Clipboard Copier dans le presse-papier - + Show Token as QR-Code Afficher le code QR - + Move up Déplacer vers le haut - + Move down Déplacer vers le bas - + Edit Modifier - + Delete Supprimer diff --git a/translations/harbour-sailotp-it.ts b/translations/harbour-sailotp-it.ts index ad3d74e..8989250 100644 --- a/translations/harbour-sailotp-it.ts +++ b/translations/harbour-sailotp-it.ts @@ -281,49 +281,54 @@ Licenza: BSD (3-clause) Trascina giù per aggiungere una OTP - + + Search + + + + Deleting Cancellazione - - + + Token for Token per - - + + copied to clipboard copiato negli appunti - + Copy to Clipboard Copia negli appunti - + Show Token as QR-Code Mostra Codice QR - + Move up >Sposta su - + Move down Sposta giù - + Edit Modifica - + Delete Cancella diff --git a/translations/harbour-sailotp-nl.ts b/translations/harbour-sailotp-nl.ts index b7795a1..79d26cb 100644 --- a/translations/harbour-sailotp-nl.ts +++ b/translations/harbour-sailotp-nl.ts @@ -281,49 +281,54 @@ Licentie: BSD (3-clause) Veeg naar beneden om een OTP toe te voegen - + + Search + + + + Deleting Wissen - - + + Token for Token voor - - + + copied to clipboard gekopieerd naar het klembord - + Copy to Clipboard Kopieer naar klembord - + Show Token as QR-Code Geeft token als QR-code weer - + Move up Verplaats naar boven - + Move down Verplaats naar beneden - + Edit Wijzig - + Delete Verwijder diff --git a/translations/harbour-sailotp-pt_BR.ts b/translations/harbour-sailotp-pt_BR.ts index a264b83..b713be2 100644 --- a/translations/harbour-sailotp-pt_BR.ts +++ b/translations/harbour-sailotp-pt_BR.ts @@ -280,49 +280,54 @@ Licença: BSD (3-clause) Puxe para baixo para adicionar um OTP - + + Search + + + + Deleting Apagando - - + + Token for Token para - - + + copied to clipboard copiado para a área de transferência - + Copy to Clipboard Copiar para área de transferência - + Show Token as QR-Code Mostrar código QR - + Move up Mover para cima - + Move down Mover para baixo - + Edit Editar - + Delete Apagar diff --git a/translations/harbour-sailotp-ru.ts b/translations/harbour-sailotp-ru.ts index b643fe9..294e6c4 100644 --- a/translations/harbour-sailotp-ru.ts +++ b/translations/harbour-sailotp-ru.ts @@ -282,49 +282,54 @@ License: BSD (3-clause) Потяните вниз чтобы добавить OTP - + + Search + + + + Deleting Удаление - - + + Token for Токен для - - + + copied to clipboard скопирован в буфер обмена - + Copy to Clipboard Скопировать в буфер обмена - + Show Token as QR-Code Показать QR-код - + Move up Передвинуть вниз - + Move down Передвинуть вверх - + Edit Редактировать - + Delete Удалить diff --git a/translations/harbour-sailotp-sv.ts b/translations/harbour-sailotp-sv.ts index f265b5c..b14c6c2 100644 --- a/translations/harbour-sailotp-sv.ts +++ b/translations/harbour-sailotp-sv.ts @@ -281,49 +281,54 @@ Licens: BSD (3-clause) Dra neråt för att lägga till en OTP - + + Search + + + + Deleting Tar bort - - + + Token for Token för - - + + copied to clipboard kopierad till urklipp - + Copy to Clipboard Kopiera till Urklipp - + Show Token as QR-Code Visa token som QR-kod - + Move up Flytta upp - + Move down Flytta ner - + Edit Redigera - + Delete Ta bort diff --git a/translations/harbour-sailotp-zh_CN.ts b/translations/harbour-sailotp-zh_CN.ts index e34e1c3..e607888 100644 --- a/translations/harbour-sailotp-zh_CN.ts +++ b/translations/harbour-sailotp-zh_CN.ts @@ -280,49 +280,54 @@ License: BSD (3-clause) 下拉添加一个OTP - + + Search + + + + Deleting 删除中 - - + + Token for 令牌 - - + + copied to clipboard 已复制到剪切板 - + Copy to Clipboard 复制到剪贴板 - + Show Token as QR-Code 显示二维码 - + Move up 向上 - + Move down 向下 - + Edit 编辑 - + Delete 删除 diff --git a/translations/harbour-sailotp.ts b/translations/harbour-sailotp.ts index 2b1f760..e099db7 100644 --- a/translations/harbour-sailotp.ts +++ b/translations/harbour-sailotp.ts @@ -279,49 +279,54 @@ License: BSD (3-clause) - + + Search + + + + Deleting - - + + Token for - - + + copied to clipboard - + Copy to Clipboard - + Show Token as QR-Code - + Move up - + Move down - + Edit - + Delete