tRename project "harbour-safe" - sailfish-safe - Sailfish frontend for safe(1)
 (HTM) git clone git://git.z3bra.org/sailfish-safe.git
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 4f037ca1d4443945913e886ef6516282b125309a
 (DIR) parent c47b28af98cf0e370d42100ae736f71802f0cf50
 (HTM) Author: Willy Goiffon <contact@z3bra.org>
       Date:   Tue, 13 Jul 2021 17:08:15 +0200
       
       Rename project "harbour-safe"
       
       Diffstat:
         D harbour-passilic.desktop            |       8 --------
         D harbour-passilic.pro                |      82 -------------------------------
         A harbour-safe.desktop                |       6 ++++++
         A harbour-safe.pro                    |      82 +++++++++++++++++++++++++++++++
         R icons/108x108/harbour-passilic.png… |       0 
         R icons/128x128/harbour-passilic.png… |       0 
         R icons/172x172/harbour-passilic.png… |       0 
         R icons/86x86/harbour-passilic.png -… |       0 
         M qml/components/PasswordDelegate.qml |       2 +-
         D qml/harbour-passilic.qml            |      79 -------------------------------
         A qml/harbour-safe.qml                |      80 +++++++++++++++++++++++++++++++
         M qml/pages/AboutPage.qml             |       9 +++++----
         M qml/pages/NewPasswordDialog.qml     |       2 +-
         M qml/pages/PassphraseRequester.qml   |       9 ++++-----
         M qml/pages/PasswordListPage.qml      |       2 +-
         M qml/pages/SettingsPage.qml          |       2 +-
         D rpm/harbour-passilic.spec           |      80 -------------------------------
         A rpm/harbour-safe.spec               |      60 +++++++++++++++++++++++++++++++
         M src/imageprovider.cpp               |       1 +
         M src/imageprovider.h                 |       1 +
         M src/main.cpp                        |      19 ++++++++++---------
         M src/passwordfiltermodel.cpp         |       1 +
         M src/passwordfiltermodel.h           |       1 +
         M src/passwordgenerator.cpp           |       1 +
         M src/passwordgenerator.h             |       1 +
         M src/passwordprovider.cpp            |       1 +
         M src/passwordprovider.h              |       1 +
         M src/passwordsmodel.cpp              |       1 +
         M src/passwordsmodel.h                |       1 +
         M src/passwordsortproxymodel.cpp      |       1 +
         M src/passwordsortproxymodel.h        |       1 +
         M src/safe.cpp                        |      17 +++++++++++++++++
         M src/scopeguard.h                    |       1 +
         M src/settings.cpp                    |       9 +++++----
         M src/settings.h                      |       1 +
       
       35 files changed, 287 insertions(+), 275 deletions(-)
       ---
 (DIR) diff --git a/harbour-passilic.desktop b/harbour-passilic.desktop
       t@@ -1,8 +0,0 @@
       -[Desktop Entry]
       -Type=Application
       -X-Nemo-Application-Type=silica-qt5
       -Icon=harbour-passilic
       -Exec=harbour-passilic
       -Name=Passilic
       -
       -Name[cs]=Passilic
 (DIR) diff --git a/harbour-passilic.pro b/harbour-passilic.pro
       t@@ -1,82 +0,0 @@
       -TARGET = harbour-passilic
       -
       -CONFIG += sailfishapp
       -
       -QT += concurrent
       -
       -DEFINES += \
       -    QT_NO_CAST_FROM_ASCII \
       -    QT_NO_CAST_TO_ASCII \
       -    QT_STRICT_ITERATORS \
       -    QT_USE_QSTRINGBUILDER \
       -    QT_NO_URL_CAST_FROM_STRING \
       -    QT_NO_CAST_FROM_BYTEARRAY \
       -    QT_NO_SIGNALS_SLOTS_KEYWORDS
       -
       -
       -INCLUDEPATH += 3rdparty/kitemmodels/
       -
       -SOURCES += \
       -    src/gpg.cpp \
       -    src/safe.cpp \
       -    src/main.cpp \
       -    src/abbreviations.cpp \
       -    src/imageprovider.cpp \
       -    src/passwordfiltermodel.cpp \
       -    src/passwordprovider.cpp \
       -    src/passwordsmodel.cpp \
       -    src/passwordsortproxymodel.cpp \
       -    3rdparty/kitemmodels/kdescendantsproxymodel.cpp \
       -    src/settings.cpp \
       -    src/passwordgenerator.cpp
       -
       -
       -HEADERS += \
       -    src/abbreviations.h \
       -    src/gpg.h \
       -    src/safe.h \
       -    src/imageprovider.h \
       -    src/passwordfiltermodel.h \
       -    src/passwordprovider.h \
       -    src/passwordsmodel.h \
       -    src/passwordsortproxymodel.h \
       -    3rdparty/kitemmodels/kdescendantsproxymodel.h \
       -    src/settings.h \
       -    src/scopeguard.h \
       -    src/passwordgenerator.h
       -
       -DISTFILES += \
       -    qml/harbour-passilic.qml \
       -    qml/cover/CoverPage.qml \
       -    qml/pages/AboutPage.qml \
       -    qml/pages/PasswordListPage.qml \
       -    qml/pages/PassphraseRequester.qml \
       -    qml/components/GlobalPullDownMenu.qml \
       -    rpm/harbour-passilic.changes.in \
       -    rpm/harbour-passilic.changes.run.in \
       -    rpm/harbour-passilic.spec \
       -    rpm/harbour-passilic.yaml \
       -    translations/*.ts \
       -    harbour-passilic.desktop \
       -    qml/pages/SearchPage.qml \
       -    qml/components/PasswordDelegate.qml \
       -    qml/pages/SettingsPage.qml \
       -    qml/pages/NewPasswordDialog.qml \
       -    qml/pages/GeneratePasswordDialog.qml
       -
       -OTHER_FILES += \
       -    README.md
       -
       -SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172
       -
       -# to disable building translations every time, comment out the
       -# following CONFIG line
       -CONFIG += sailfishapp_i18n
       -
       -TRANSLATIONS += \
       -    translations/harbour-passilic.ts \
       -    translations/harbour-passilic-cs.ts \
       -    translations/harbour-passilic-fr.ts \
       -    translations/harbour-passilic-hr.ts \
       -    translations/harbour-passilic-sv.ts \
       -    translations/harbour-passilic-zh.ts
 (DIR) diff --git a/harbour-safe.desktop b/harbour-safe.desktop
       t@@ -0,0 +1,6 @@
       +[Desktop Entry]
       +Type=Application
       +X-Nemo-Application-Type=silica-qt5
       +Icon=harbour-safe
       +Exec=harbour-safe
       +Name=Safe
 (DIR) diff --git a/harbour-safe.pro b/harbour-safe.pro
       t@@ -0,0 +1,82 @@
       +TARGET = harbour-safe
       +
       +CONFIG += sailfishapp
       +
       +QT += concurrent
       +
       +DEFINES += \
       +    QT_NO_CAST_FROM_ASCII \
       +    QT_NO_CAST_TO_ASCII \
       +    QT_STRICT_ITERATORS \
       +    QT_USE_QSTRINGBUILDER \
       +    QT_NO_URL_CAST_FROM_STRING \
       +    QT_NO_CAST_FROM_BYTEARRAY \
       +    QT_NO_SIGNALS_SLOTS_KEYWORDS
       +
       +
       +INCLUDEPATH += 3rdparty/kitemmodels/
       +
       +SOURCES += \
       +    src/gpg.cpp \
       +    src/safe.cpp \
       +    src/main.cpp \
       +    src/abbreviations.cpp \
       +    src/imageprovider.cpp \
       +    src/passwordfiltermodel.cpp \
       +    src/passwordprovider.cpp \
       +    src/passwordsmodel.cpp \
       +    src/passwordsortproxymodel.cpp \
       +    3rdparty/kitemmodels/kdescendantsproxymodel.cpp \
       +    src/settings.cpp \
       +    src/passwordgenerator.cpp
       +
       +
       +HEADERS += \
       +    src/abbreviations.h \
       +    src/gpg.h \
       +    src/safe.h \
       +    src/imageprovider.h \
       +    src/passwordfiltermodel.h \
       +    src/passwordprovider.h \
       +    src/passwordsmodel.h \
       +    src/passwordsortproxymodel.h \
       +    3rdparty/kitemmodels/kdescendantsproxymodel.h \
       +    src/settings.h \
       +    src/scopeguard.h \
       +    src/passwordgenerator.h
       +
       +DISTFILES += \
       +    qml/harbour-safe.qml \
       +    qml/cover/CoverPage.qml \
       +    qml/pages/AboutPage.qml \
       +    qml/pages/PasswordListPage.qml \
       +    qml/pages/PassphraseRequester.qml \
       +    qml/components/GlobalPullDownMenu.qml \
       +    rpm/harbour-safe.changes.in \
       +    rpm/harbour-safe.changes.run.in \
       +    rpm/harbour-safe.spec \
       +    rpm/harbour-safe.yaml \
       +    translations/*.ts \
       +    harbour-safe.desktop \
       +    qml/pages/SearchPage.qml \
       +    qml/components/PasswordDelegate.qml \
       +    qml/pages/SettingsPage.qml \
       +    qml/pages/NewPasswordDialog.qml \
       +    qml/pages/GeneratePasswordDialog.qml
       +
       +OTHER_FILES += \
       +    README.md
       +
       +SAILFISHAPP_ICONS = 86x86 108x108 128x128 172x172
       +
       +# to disable building translations every time, comment out the
       +# following CONFIG line
       +CONFIG += sailfishapp_i18n
       +
       +TRANSLATIONS += \
       +    translations/harbour-passilic.ts \
       +    translations/harbour-passilic-cs.ts \
       +    translations/harbour-passilic-fr.ts \
       +    translations/harbour-passilic-hr.ts \
       +    translations/harbour-passilic-sv.ts \
       +    translations/harbour-passilic-zh.ts
 (DIR) diff --git a/icons/108x108/harbour-passilic.png b/icons/108x108/harbour-safe.png
       Binary files differ.
 (DIR) diff --git a/icons/128x128/harbour-passilic.png b/icons/128x128/harbour-safe.png
       Binary files differ.
 (DIR) diff --git a/icons/172x172/harbour-passilic.png b/icons/172x172/harbour-safe.png
       Binary files differ.
 (DIR) diff --git a/icons/86x86/harbour-passilic.png b/icons/86x86/harbour-safe.png
       Binary files differ.
 (DIR) diff --git a/qml/components/PasswordDelegate.qml b/qml/components/PasswordDelegate.qml
       t@@ -18,7 +18,7 @@
        import QtQuick 2.2
        import QtQml.Models 2.2
        import Sailfish.Silica 1.0
       -import harbour.passilic 1.0
       +import harbour.safe 0.1
        
        ListItem {
            id: listItem
 (DIR) diff --git a/qml/harbour-passilic.qml b/qml/harbour-passilic.qml
       t@@ -1,79 +0,0 @@
       -/*
       - *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       - *
       - *   This program is free software: you can redistribute it and/or modify
       - *   it under the terms of the GNU General Public License as published by
       - *   the Free Software Foundation, either version 3 of the License, or
       - *   (at your option) any later version.
       - *
       - *   This program is distributed in the hope that it will be useful,
       - *   but WITHOUT ANY WARRANTY; without even the implied warranty of
       - *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       - *   GNU General Public License for more details.
       - *
       - *   You should have received a copy of the GNU General Public License
       - *   along with this program.  If not, see <https://www.gnu.org/licenses/>.
       - */
       -
       -import QtQuick 2.0
       -import Sailfish.Silica 1.0
       -import "pages"
       -import harbour.passilic 1.0
       -
       -ApplicationWindow
       -{
       -    id: app
       -
       -    PasswordSortProxyModel {
       -        id: passwordsModel
       -
       -        dynamicSortFilter: true
       -        isSortLocaleAware: true
       -        sortCaseSensitivity: Qt.CaseInsensitive
       -
       -        sourceModel: PasswordsModel {}
       -    }
       -
       -    PasswordFilterModel {
       -        id: filterModel
       -
       -        sourceModel: passwordsModel
       -    }
       -
       -    Component {
       -        id: passphraseRequester
       -
       -        PassphraseRequester {}
       -    }
       -
       -    Component {
       -        id: searchPage
       -
       -        SearchPage {
       -            model: filterModel
       -        }
       -    }
       -
       -    Component {
       -        id: passwordsPage
       -
       -        PasswordListPage {
       -            model: passwordsModel
       -            onFolderSelected: {
       -                var newPage = passwordsPage.createObject(app, {
       -                        "rootIndex": index,
       -                        "currentPath": currentPath + "/" + name
       -                });
       -                app.pageStack.push(newPage)
       -            }
       -        }
       -    }
       -
       -    cover: Qt.resolvedUrl("cover/CoverPage.qml")
       -
       -    allowedOrientations: defaultAllowedOrientations
       -
       -    Component.onCompleted: {
       -        app.pageStack.push(passwordsPage.createObject(app));
       -    }
       -}
 (DIR) diff --git a/qml/harbour-safe.qml b/qml/harbour-safe.qml
       t@@ -0,0 +1,80 @@
       +/*
       + *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
       + *
       + *   This program is free software: you can redistribute it and/or modify
       + *   it under the terms of the GNU General Public License as published by
       + *   the Free Software Foundation, either version 3 of the License, or
       + *   (at your option) any later version.
       + *
       + *   This program is distributed in the hope that it will be useful,
       + *   but WITHOUT ANY WARRANTY; without even the implied warranty of
       + *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       + *   GNU General Public License for more details.
       + *
       + *   You should have received a copy of the GNU General Public License
       + *   along with this program.  If not, see <https://www.gnu.org/licenses/>.
       + */
       +
       +import QtQuick 2.0
       +import Sailfish.Silica 1.0
       +import "pages"
       +import harbour.safe 0.1
       +
       +ApplicationWindow
       +{
       +    id: app
       +
       +    PasswordSortProxyModel {
       +        id: passwordsModel
       +
       +        dynamicSortFilter: true
       +        isSortLocaleAware: true
       +        sortCaseSensitivity: Qt.CaseInsensitive
       +
       +        sourceModel: PasswordsModel {}
       +    }
       +
       +    PasswordFilterModel {
       +        id: filterModel
       +
       +        sourceModel: passwordsModel
       +    }
       +
       +    Component {
       +        id: passphraseRequester
       +
       +        PassphraseRequester {}
       +    }
       +
       +    Component {
       +        id: searchPage
       +
       +        SearchPage {
       +            model: filterModel
       +        }
       +    }
       +
       +    Component {
       +        id: passwordsPage
       +
       +        PasswordListPage {
       +            model: passwordsModel
       +            onFolderSelected: {
       +                var newPage = passwordsPage.createObject(app, {
       +                        "rootIndex": index,
       +                        "currentPath": currentPath + "/" + name
       +                });
       +                app.pageStack.push(newPage)
       +            }
       +        }
       +    }
       +
       +    cover: Qt.resolvedUrl("cover/CoverPage.qml")
       +
       +    allowedOrientations: defaultAllowedOrientations
       +
       +    Component.onCompleted: {
       +        app.pageStack.push(passwordsPage.createObject(app));
       +    }
       +}
 (DIR) diff --git a/qml/pages/AboutPage.qml b/qml/pages/AboutPage.qml
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
       t@@ -51,7 +52,7 @@ Page {
                        spacing: Theme.paddingMedium
        
                        Label {
       -                    text: qsTr("Passilic")
       +                    text: qsTr("Safe")
                            font.pixelSize: Theme.fontSizeExtraLarge
                        }
        
       t@@ -61,17 +62,17 @@ Page {
                        }
        
                        Label {
       -                    text: qsTr("Author: Daniel Vrátil")
       +                    text: qsTr("Author: Willy Goiffon")
                            font.pixelSize: Theme.fontSizeSmall
                        }
                    }
                }
        
                Label {
       -            readonly property string _url: "https://github.com/danvratil/harbour-passilic"
       +            readonly property string _url: "https://z3bra.org/safe"
        
                    textFormat: Text.RichText
       -            text: qsTr("Homepage: <a href=\"%1\">Github</a>").arg(_url)
       +            text: qsTr("Homepage: <a href=\"%1\">safe secret keeper</a>").arg(_url)
                    font.pixelSize: Theme.fontSizeSmall
                    linkColor: Theme.highlightColor
        
 (DIR) diff --git a/qml/pages/NewPasswordDialog.qml b/qml/pages/NewPasswordDialog.qml
       t@@ -18,7 +18,7 @@
        import QtQuick 2.2
        import QtQml.Models 2.2
        import Sailfish.Silica 1.0
       -import harbour.passilic 1.0
       +import harbour.safe 0.1
        
        Dialog {
            id: newPasswordDialog
 (DIR) diff --git a/qml/pages/PassphraseRequester.qml b/qml/pages/PassphraseRequester.qml
       t@@ -17,7 +17,7 @@
        
        import QtQuick 2.0
        import Sailfish.Silica 1.0
       -import harbour.passilic 1.0
       +import harbour.safe 0.1
        
        Dialog {
            id: dlg
       t@@ -39,12 +39,11 @@ Dialog {
                }
        
                focus: true
       -        placeholderText: "Key passphrase"
       +        placeholderText: "Master password"
                EnterKey.iconSource: "image://theme/icom-m-enter-accept"
                EnterKey.onClicked: dlg.accept()
       -
            }
        
       -    onRejected: requester.cancel()
       -    onAccepted: requester.setPassphrase(passwordField.text)
       +    onRejected: model.cancel()
       +    onAccepted: model.setPassphrase(passwordField.text)
        }
 (DIR) diff --git a/qml/pages/PasswordListPage.qml b/qml/pages/PasswordListPage.qml
       t@@ -18,7 +18,7 @@
        import QtQuick 2.2
        import QtQml.Models 2.2
        import Sailfish.Silica 1.0
       -import harbour.passilic 1.0
       +import harbour.safe 0.1
        import "../components"
        
        Page {
 (DIR) diff --git a/qml/pages/SettingsPage.qml b/qml/pages/SettingsPage.qml
       t@@ -18,7 +18,7 @@
        import QtQuick 2.0
        import Sailfish.Silica 1.0
        import QtQuick 2.0
       -import harbour.passilic 1.0
       +import harbour.safe 0.1
        
        Dialog {
            id: settingsDialog
 (DIR) diff --git a/rpm/harbour-passilic.spec b/rpm/harbour-passilic.spec
       t@@ -1,80 +0,0 @@
       -Name:       harbour-passilic
       -
       -%{!?qtc_qmake5:%define qtc_qmake5 %qmake5}
       -%{!?qtc_make:%define qtc_make make}
       -%{?qtc_builddir:%define _builddir %qtc_builddir}
       -
       -Summary:    A frontend for the Pass password manager
       -Version:    0.5
       -Release:    1
       -Group:      Applications/Productivity
       -License:    GPLv3 and LGPLv2+
       -URL:        https://github.com/danvratil/harbour-passilic
       -Source0:    %{name}-%{version}.tar.bz2
       -
       -
       -Requires:   sailfishsilica-qt5 >= 0.10.9
       -# gnupg2 is not an allowed dependency on Harbour, but it should be
       -# already pre-installed on SFOS, so no harm commenting it out here.
       -#Requires:   gnupg2
       -
       -BuildRequires:  pkgconfig(sailfishapp) >= 1.0.2
       -BuildRequires:  pkgconfig(Qt5Core)
       -BuildRequires:  pkgconfig(Qt5Qml)
       -BuildRequires:  pkgconfig(Qt5Quick)
       -BuildRequires:  desktop-file-utils
       -
       -%description
       -A frontend for the Pass password manager. Pass is a simple Unix password
       -manager where each password is stored GPG encrypted in a file. Passilic
       -allows you to easily browse the passwords. Tapping a passwords prompts
       -the "master key" (your GPG key passphrase) and copies the password into
       -clipboard. The password is automatically cleared from the clipboard
       -after 45 seconds.
       -
       -
       -%prep
       -%setup -q -n %{name}-%{version}
       -
       -%build
       -
       -%qtc_qmake5 DEFINES+=PASSILIC_VERSION=\\\\\\\"\"%{version}\\\\\\\"\"
       -%qtc_make %{?_smp_mflags}
       -
       -%install
       -rm -rf %{buildroot}
       -%qmake5_install
       -
       -desktop-file-install --delete-original \
       -  --dir %{buildroot}%{_datadir}/applications \
       -   %{buildroot}%{_datadir}/applications/*.desktop
       -
       -%files
       -%defattr(-,root,root,-)
       -%{_bindir}
       -%defattr(0666,root,root,-)
       -%{_datadir}/%{name}
       -%{_datadir}/applications/%{name}.desktop
       -%{_datadir}/icons/hicolor/*/apps/%{name}.png
       -
       -%changelog
       -* Mon Apr 19 2021 Daniel Vrátil <dvratil@kde.org> 0.5-1
       -- Fixed creating passwords from the app
       -
       -* Sat Dec 14 2019 Daniel Vrátil <dvratil@kde.org> 0.4-1
       -- Fixed support for gpg 2.0
       -- Added Swedish translation
       -
       -* Sun Feb 17 2019 Daniel Vrátil <dvratil@kde.org> 0.3-1
       -- Fix settings directory (use harbour-passilic)
       -- Added Czech translation
       -- Updated Chinese translation
       -
       -* Thu Feb 14 2019 Daniel Vrátil <dvratil@kde.org> 0.2-1
       -- Clear passwords on exit
       -- Automatically focus passphrase entry field
       -- Add Search page
       -- Make password timeout customizable
       -
       -* Mon Feb 04 2019 Daniel Vrátil <dvratil@kde.org> 0.1-1
       -- Initial release
 (DIR) diff --git a/rpm/harbour-safe.spec b/rpm/harbour-safe.spec
       t@@ -0,0 +1,60 @@
       +Name:       harbour-safe
       +
       +%{!?qtc_qmake5:%define qtc_qmake5 %qmake5}
       +%{!?qtc_make:%define qtc_make make}
       +%{?qtc_builddir:%define _builddir %qtc_builddir}
       +
       +Summary:    A frontend for the safe secret keeper
       +Version:    0.1
       +Release:    1
       +Group:      Applications/Productivity
       +License:    GPLv3 and LGPLv2+
       +URL:        https://z3bra.org/safe
       +Source0:    %{name}-%{version}.tar.bz2
       +
       +
       +Requires:   sailfishsilica-qt5 >= 0.10.9
       +# I'll package it someday
       +#Requires:   safe
       +
       +BuildRequires:  pkgconfig(sailfishapp) >= 1.0.2
       +BuildRequires:  pkgconfig(Qt5Core)
       +BuildRequires:  pkgconfig(Qt5Qml)
       +BuildRequires:  pkgconfig(Qt5Quick)
       +BuildRequires:  desktop-file-utils
       +
       +%description
       +A frontend for the safe secrete keeper. Secrets are encrypted and stored
       +on disk using a key derivated from your master password. An agent can
       +retain the key in memory so you don't have to type the password over
       +and over. The password is automatically cleared from the clipboard <M-h>D
       +after 45 seconds.
       +
       +
       +%prep
       +%setup -q -n %{name}-%{version}
       +
       +%build
       +
       +%qtc_qmake5 DEFINES+=SAFE_VERSION=\\\\\\\"\"%{version}\\\\\\\"\"
       +%qtc_make %{?_smp_mflags}
       +
       +%install
       +rm -rf %{buildroot}
       +%qmake5_install
       +
       +desktop-file-install --delete-original \
       +  --dir %{buildroot}%{_datadir}/applications \
       +   %{buildroot}%{_datadir}/applications/*.desktop
       +
       +%files
       +%defattr(-,root,root,-)
       +%{_bindir}
       +%defattr(0666,root,root,-)
       +%{_datadir}/%{name}
       +%{_datadir}/applications/%{name}.desktop
       +%{_datadir}/icons/hicolor/*/apps/%{name}.png
       +
       +%changelog
       +* Tue Jul 13 2021 Willy Goiffon <contact@z3bra.org> 0.1-1
       +- Initial release, based off Daniel Vrátil's harbour-passilic
 (DIR) diff --git a/src/imageprovider.cpp b/src/imageprovider.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
 (DIR) diff --git a/src/imageprovider.h b/src/imageprovider.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
 (DIR) diff --git a/src/main.cpp b/src/main.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
       t@@ -38,24 +39,24 @@ void addImageProvider(QQmlEngine *engine, const QString &id)
        int main(int argc, char *argv[])
        {
            QScopedPointer<QGuiApplication> app(SailfishApp::application(argc, argv));
       -    app->setApplicationDisplayName(QObject::tr("Passilic"));
       -    app->setApplicationName(QStringLiteral("passilic"));
       -    app->setApplicationVersion(QStringLiteral(PASSILIC_VERSION));
       -    app->setOrganizationName(QObject::tr("Daniel Vrátil"));
       +    app->setApplicationDisplayName(QObject::tr("Safe"));
       +    app->setApplicationName(QStringLiteral("safe"));
       +    app->setApplicationVersion(QStringLiteral(SAFE_VERSION));
       +    app->setOrganizationName(QObject::tr("Willy GOiffon"));
        
            QScopedPointer<QQuickView> view(SailfishApp::createView());
            const auto settingsGuard = scopeGuard([]() {
                Settings::destroy();
            });
        
       -    qmlRegisterType<PasswordsModel>("harbour.passilic", 1, 0, "PasswordsModel");
       -    qmlRegisterType<PasswordFilterModel>("harbour.passilic", 1, 0, "PasswordFilterModel");
       -    qmlRegisterType<PasswordSortProxyModel>("harbour.passilic", 1, 0, "PasswordSortProxyModel");
       -    qmlRegisterSingletonType<Settings>("harbour.passilic", 1, 0, "Settings",
       +    qmlRegisterType<PasswordsModel>("harbour.safe", 0, 1, "PasswordsModel");
       +    qmlRegisterType<PasswordFilterModel>("harbour.safe", 0, 1, "PasswordFilterModel");
       +    qmlRegisterType<PasswordSortProxyModel>("harbour.safe", 0, 1, "PasswordSortProxyModel");
       +    qmlRegisterSingletonType<Settings>("harbour.safe", 0, 1, "Settings",
                                               [](QQmlEngine *, QJSEngine *) -> QObject* {
                                                    return Settings::self();
                                               });
       -    qmlRegisterSingletonType<PasswordGenerator>("harbour.passilic", 1, 0, "PasswordGenerator",
       +    qmlRegisterSingletonType<PasswordGenerator>("harbour.safe", 0, 1, "PasswordGenerator",
                                                        [](QQmlEngine *, QJSEngine *) -> QObject* {
                                                            return new PasswordGenerator;
                                                        });
 (DIR) diff --git a/src/passwordfiltermodel.cpp b/src/passwordfiltermodel.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordfiltermodel.h b/src/passwordfiltermodel.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordgenerator.cpp b/src/passwordgenerator.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
 (DIR) diff --git a/src/passwordgenerator.h b/src/passwordgenerator.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
 (DIR) diff --git a/src/passwordprovider.cpp b/src/passwordprovider.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordprovider.h b/src/passwordprovider.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordsmodel.cpp b/src/passwordsmodel.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordsmodel.h b/src/passwordsmodel.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordsortproxymodel.cpp b/src/passwordsortproxymodel.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/passwordsortproxymodel.h b/src/passwordsortproxymodel.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2018  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software; you can redistribute it and/or modify
         *   it under the terms of the GNU Library General Public License as
 (DIR) diff --git a/src/safe.cpp b/src/safe.cpp
       t@@ -1,3 +1,20 @@
       +/*
       + *   Copyright (C) 2021  Willy Goiffon <contact@z3bra.org>
       + *
       + *   This program is free software: you can redistribute it and/or modify
       + *   it under the terms of the GNU General Public License as published by
       + *   the Free Software Foundation, either version 3 of the License, or
       + *   (at your option) any later version.
       + *
       + *   This program is distributed in the hope that it will be useful,
       + *   but WITHOUT ANY WARRANTY; without even the implied warranty of
       + *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       + *   GNU General Public License for more details.
       + *
       + *   You should have received a copy of the GNU General Public License
       + *   along with this program.  If not, see <https://www.gnu.org/licenses/>.
       + */
       +
        #include "safe.h"
        
        #include <QStandardPaths>
 (DIR) diff --git a/src/scopeguard.h b/src/scopeguard.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
 (DIR) diff --git a/src/settings.cpp b/src/settings.cpp
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by
       t@@ -22,9 +23,9 @@
        
        std::unique_ptr<Settings> Settings::kInstance = {};
        
       -static const QString OldSettingsDir = QStringLiteral("Daniel Vrátil");
       -static const QString SettingsDir = QStringLiteral("harbour-passilic");
       -static const QString SettingsName = QStringLiteral("passilic");
       +static const QString OldSettingsDir = QStringLiteral("Willy Goiffon");
       +static const QString SettingsDir = QStringLiteral("harbour-safe");
       +static const QString SettingsName = QStringLiteral("safe");
        
        Settings::Settings()
            : QObject()
       t@@ -36,7 +37,7 @@ Settings::Settings()
            const QDir newDir(QStandardPaths::writableLocation(QStandardPaths::ConfigLocation)
                                                        + QLatin1Char('/') + SettingsDir);
            if (!oldPath.isEmpty() && !newDir.exists()) {
       -        qDebug("Migrating Passilic configuration from %s to %s",
       +        qDebug("Migrating Safe configuration from %s to %s",
                       qUtf8Printable(oldPath),
                       qUtf8Printable(newDir.absolutePath()));
                QDir().rename(oldPath, newDir.absolutePath());
 (DIR) diff --git a/src/settings.h b/src/settings.h
       t@@ -1,5 +1,6 @@
        /*
         *   Copyright (C) 2019  Daniel Vrátil <dvratil@kde.org>
       + *                 2021  Willy Goiffon <contact@z3bra.org>
         *
         *   This program is free software: you can redistribute it and/or modify
         *   it under the terms of the GNU General Public License as published by