Commit Graph

304 Commits (e8c2d5c2cf9811cca8522d709c135187c25cbc42)

Author SHA1 Message Date
Nate Graham e8c2d5c2cf Reduce default size of main window
The main window is sort of excessively large right now. This commit
reduces it to a more reasonable size.
2021-12-19 15:46:06 +00:00
Nate Graham 94d3eb3c13 Focus password field by default on launch 2021-12-19 14:59:11 +00:00
ivan tkachenko a3e18fe9e3
Add auto generated files to .gitignore
GIT_SILENT
2021-12-17 01:57:00 +03:00
Bhushan Shah f7bccdce33 GIT_SILENT Add changelog entry for the 21.12 release 2021-12-05 19:58:03 +05:30
Bhushan Shah 2f64eef359 GIT_SILENT Update version number for 21.12 2021-12-05 10:16:50 +05:30
Bhushan Shah f1e01dc10a GIT_SILENT: Update appstream data for 21.08 2021-08-31 15:40:02 +05:30
Bhushan Shah 63bcfb6774 GIT_SILENT: Update cmake version for 21.08 2021-08-31 15:13:22 +05:30
Johan Ouwerkerk 3c0fc6201f test: bump limits to trigger confusion in QDateTime
The old values/test cases match behaviour on Debian, where the QDateTime
class gets confused at lower limits for the internal ms since epoch value
than it does on SUSE for some reason.
2021-07-27 20:50:18 +02:00
Johan Ouwerkerk 7fbad71cc3 chore: code quality fixups suggest by CI 2021-07-27 20:50:18 +02:00
Devin Lin 503fddece6 feat: update flatpak manifest
The new manifest yields much better flatpaks for our end-users:

 - Fewer permissions are requested
 - Fixed app icon
 - Release build instead of a debug build
2021-07-21 18:26:19 +02:00
Devin Lin 818ed69022 app: lowercase dbus name 2021-07-20 12:11:29 +05:30
Bhushan Shah d4415fb655 licenses: drop unused licenses
This makes reuse lint happy in the git checkouts.
2021-07-20 12:07:34 +05:30
Devin Lin c0d0d2a19d Add flathub badge 2021-07-19 19:31:59 +00:00
Bhushan Shah 55138b7bca GIT_SILENT: appdata: add announcement URL 2021-07-19 10:57:49 +05:30
Bhushan Shah 0e24d76ebf Add appstream version for 21.07 2021-07-19 10:24:03 +05:30
Bhushan Shah 653aec9638 GIT_SILENT Update version number for 21.06 2021-07-19 10:01:50 +05:30
Devin Lin a25a720c16 Add homepage to org.kde.keysmith.appdata.xml 2021-06-23 22:30:53 +00:00
l10n daemon script addd873f99 GIT_SILENT made messages (after extraction) 2021-06-11 00:21:11 +00:00
Bhushan Shah d392e604b2 GIT_SILENT: appdata: add announcement URL 2021-06-10 13:55:20 +05:30
Bhushan Shah 53b653bdc1 GIT_SILENT Update version number for 21.06 2021-06-09 20:12:49 +05:30
Bhushan Shah 3a7fafd061 chore: use PROJECT_VERSION variable to make scripting easier 2021-06-09 20:03:31 +05:30
l10n daemon script e0f08c867b GIT_SILENT made messages (after extraction) 2021-06-09 00:21:22 +00:00
Bhushan Shah a7b7d4ae3b chore: wappdata: add changelog for 21.06 2021-06-08 10:55:40 +05:30
Tobias Fella db6d4742e3 feat: do not use QtWidgets on android and set platform style 2021-06-08 10:43:24 +05:30
Devin Lin d03e38719e chore: update appdata
Add content_rating, controls and screenshots
2021-06-08 10:36:51 +05:30
Bhushan Shah 96893698d7 GIT_SILENT Add appstream release entry for 21.06 2021-06-04 17:18:00 +05:30
l10n daemon script 2719c6be9b GIT_SILENT made messages (after extraction) 2021-05-24 00:20:19 +00:00
l10n daemon script e02f9f7f57 SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-05-22 01:17:42 +00:00
Johan Ouwerkerk fb953ed677 feat!: respond to D-Bus activation
Minimal support for requesting window activation in response to
activation requests from D-Bus.

This provides minimal support for xdg D-Bus activation in Keysmith:
only the activation signal itself is handled; the DBus API for opening
URLs is not implemented.

Issues: #18
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 287cbcd480 feat!: register Keysmith with D-Bus
This change provides the most basic D-Bus support in Keysmith.
At start up, Keysmith will now register itself and abort if another
instance is already running. Full support for the xdg D-Bus activation
specification (such as URI opening) is not yet implemented.

By default this feature is disabled on Android, but enabled on 'all'
other platforms. Explicit control may be exercised by running CMake
with -DBUILD_DBUS_INTERFACE=<ON|OFF>.

Issues: #18
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 893efc09e9 chore: fixup SPDX copyright
Forgot to update the header in the Android export script previously.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 183651ed7e fix: improve i18n for add account buttons
Previously the existing main action (toolbar) button lacked comments,
and the placeholder message button lacked i18n entirely.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 8ddfdaba42 chore: simplify password unlocking via keyboard
Turns out it is not needed to check whether an action is enabled before
triggerin it: the trigger is automatically suppressed if the action is
not yet enabled.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk d00111edc9 chore: fix typo in debug logging statement 2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 75a167665b refactor: switch to page navigation from C++
Rework QML to use the ViewModel classes and use the C++ flow classes to
drive QML page navigation.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk ea19844300 refactor: proxy commandline arguments
Add a 'proxy' to forward external API calls into the main application
control flow. Right now it only supports forwarding commandline
arguments, but this construct is already useful as a starting point for
future D-Bus API support.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 7274dc4f25 refactor: introduce "view models"
This change prepares Keysmith for moving logic away from QML to C++

 - Added view model classes for each defined Navigation::Page instance
 - Added 'flows' to provide a C++ equivalent for control flow logic
   which currently still resides in QML

The purpose the view model classes is to provide data (properties) and
actions (methods to invoke) to the QML page UI. These are relatively
thin wrappers to expose the C++ state (Store) and logic (flows) as an
easy to use API for the QML UI.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk bdcdb85bb6 refactor: introduce store for application state
The 'Store' is a convenient wrapper for injecting a dependency on the
entire application state (root) so it can be re-used by independent
flows of C++ logic. It will be used both to provide data to the view
models for the QML UI, and as a way to record results of actions
dispatched from the UI.

With this change the following (additional) state is defined:

 - OverviewState, which will be used to track state that determines how
   the AccountsOverview QML UI should render and what features are
   enabled/disabled in it. This state may be manipulated as a a
   side-effect of various interactios with arbitrary pages.
 - FlowState, which will be used to track state about which control/
   logic flows have completed and whether or not something is currently
   running. This is will be used to avoid distracting the user from an
   active UX flow with random unrelated prompts.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 131e59aa3a refactor: move property assignments to main.qml
Ensure that all logic for property assignment is concentrated in
main.qml in preparation for the introduction of view model classes.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 12e060923e refactor: UI (page) navigation from C++ code
An app::Navigation class is introduced with an API very similar to the
Kirigami.PageRouter in QML. This new class is responsible for pusing
populated view model classes from C++ into QML ownership and triggering
appropriate navigation events. On the QML side a signal handler
forwards these calls to the Kirigami.PageRouter to perform the actual
navigation in the UI.

This construct paves the way for moving state transition and related
logic out of QML and towards C++, since this logic is currently mostly
concerned with page navigation in Keysmith. Ultimately that transition
should make the QML (page) views more easily re-usable.
2021-05-03 04:03:24 +00:00
Johan Ouwerkerk 571afeacdf refactor: port navigation to Kirigami.PageRouter
Replace existing manual manipulation of the application page stack with
a more declarative setup using Kirigami.PageRouter. This change does
not yet address the control flow: pages are not yet properly decoupled.
2021-05-03 04:03:24 +00:00
Carl Schwan 224d5d13d4 Add bucktracker url 2021-05-02 16:28:57 +00:00
l10n daemon script cd66dfe68b SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-04-23 01:20:22 +00:00
l10n daemon script 07d74b94a8 GIT_SILENT made messages (after extraction) 2021-04-23 00:21:55 +00:00
l10n daemon script 52bdf6ef8d SVN_SILENT made messages (.desktop file) - always resolve ours
In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"
2021-03-14 06:52:43 +01:00
l10n daemon script e15a458da6 GIT_SILENT made messages (after extraction) 2021-03-14 03:13:46 +01:00
Johan Ouwerkerk 94b724a259 fix: handle spaces in Android environment script
Previously the script would break if run from "/path to directory"
as opposed to "/path/to/directory". As it happens this was not an
issue on Binary Factory, but it is on build.kde.org because that one
does use directory names containing spaces.
2021-03-05 20:08:13 +01:00
Devin Lin e3564e3bd7 Add placeholder message when accounts list is empty 2021-03-05 18:23:15 +00:00
Devin Lin dcfa16025e Improve password form look 2021-02-28 18:38:02 +00:00
Johan Ouwerkerk 653e0b4b44 chore: code fixups suggested by static analysis 2021-02-06 18:13:08 +01:00