Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@
- Fallback to finding user with libc instead of enviroment variable
- Swedish translation thanks to @bittin
- Finnish translation
0.3.11:
- Implement a confirmation dialog for "Clear Device" operation
- Fix missing bulk deletion logic for all fingerprints of a user
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "cosmic-ext-fprint"
version = "0.3.10"
version = "0.3.11"
edition = "2024"
license = "MPL-2.0"
description = "GUI for fprintd fingerprint enrolling"
Expand Down
4 changes: 2 additions & 2 deletions flatpak/fi.joonastuomi.Fprint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,10 +33,10 @@ modules:
- install -Dm0755 target/release/cosmic-ext-fprint /app/bin/cosmic-ext-fprint

# Install the desktop file
- install -Dm0644 resources/app.desktop /app/share/applications/fi.joonastuomi.Fprint.desktop
- install -Dm0644 resources/fi.joonastuomi.Fprint.desktop /app/share/applications/fi.joonastuomi.Fprint.desktop

# Install the AppStream metadata
- install -Dm0644 resources/app.metainfo.xml /app/share/appdata/fi.joonastuomi.Fprint.metainfo.xml
- install -Dm0644 resources/fi.joonastuomi.Fprint.metainfo.xml /app/share/appdata/fi.joonastuomi.Fprint.metainfo.xml

# Install the icon
- install -Dm0644 resources/icons/hicolor/scalable/apps/icon.svg /app/share/icons/hicolor/scalable/apps/fi.joonastuomi.Fprint.svg
Expand Down
8 changes: 7 additions & 1 deletion i18n/en/cosmic_ext_fprint.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ welcome = Register and/or delete fingerprints
git-description = Git commit {$hash} on {$date}
register = Register
delete = Delete
deleting = Deleting fingerprint...
deleted = Deleted fingerprint.
deleting = Deleting fingerprint...
clear-device = Clear Device
confirm-clear = Are you sure?
clearing-device = Clearing all fingerprints from device for all known users...
device-cleared = Device cleared for all known users.
clear-device-confirm = Are you sure you want to clear fingerprints for ALL known users?
cancel = Cancel

page-right-thumb = Right Thumb
Expand All @@ -20,6 +25,7 @@ page-left-index-finger = Left Index Finger
page-left-middle-finger = Left Middle Finger
page-left-ring-finger = Left Ring Finger
page-left-little-finger = Left Little Finger
page-delete-all-users-prints = Delete All User's Prints

status-connecting = Connecting to system bus...
status-searching-device = Searching for fingerprint reader...
Expand Down
8 changes: 7 additions & 1 deletion i18n/fi/cosmic_ext_fprint.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ welcome = Rekisteröi tai poista sormenjälkiä
git-description = Git julkaisu {$hash} päivänä {$date}
register = Rekisteröi
delete = Poista
deleting = Poistetaan sormenjälkeä...
deleted = Sormenjälki poistettu.
deleting = Poistetaan sormenjälkeä...
clear-device = Tyhjennä laite
confirm-clear = Oletko varma?
clearing-device = Tyhjennetään laitteen kaikki käyttäjien sormenjäljet...
device-cleared = Laite tyhjennetty.
clear-device-confirm = Oletko varma, että haluat poistaa kaikki käyttäjien sormenjäljet?
cancel = Peruuta

page-right-thumb = Oikea Peukalo
Expand All @@ -20,6 +25,7 @@ page-left-index-finger = Vasen Etusormi
page-left-middle-finger = Vasen Keskisormi
page-left-ring-finger = Vasen Nimetön
page-left-little-finger = Vasen Pikkusormi
page-delete-all-users-prints = Poista kaikki käyttäjien sormenjäljet

status-connecting = Yhdistetään järjestelmäväylään...
status-searching-device = Etsitään sormenjälkilukijaa...
Expand Down
8 changes: 7 additions & 1 deletion i18n/sv/cosmic_ext_fprint.ftl
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ welcome = Registrera och/eller radera fingeravtryck
git-description = Git commit {$hash} på {$date}
register = Registrera
delete = Radera
deleting = Raderar fingeravtryck...
deleted = Raderat fingeravtryck.
deleting = Raderar fingeravtryck...
clear-device = Rensa enhet
confirm-clear = Är du säker?
clearing-device = Rensar enhet...
device-cleared = Rensad för alla kända användare.
clear-device-confirm = Är du säker du vill radera fingeravtryck för alla kända användare?
cancel = Avbryt

page-right-thumb = Höger tumme
Expand All @@ -20,6 +25,7 @@ page-left-index-finger = Vänster pekfinger
page-left-middle-finger = Vänster långfinger
page-left-ring-finger = Vänster ringfinger
page-left-little-finger = Vänster lillfinger
page-delete-all-users-prints = Radera alla användarens fingeravtryck

status-connecting = Ansluter till system bus...
status-searching-device = Söker efter fingeravtrycksläsare...
Expand Down
6 changes: 3 additions & 3 deletions justfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name := 'cosmic-ext-fprint'
appid := 'fi.joonastuomi.CosmicFprint'
appid := 'fi.joonastuomi.Fprint'

rootdir := ''
prefix := '/usr'
Expand Down Expand Up @@ -61,8 +61,8 @@ run *args:
# Installs files
install:
install -Dm0755 {{bin-src}} {{bin-dst}}
install -Dm0644 resources/app.desktop {{desktop-dst}}
install -Dm0644 resources/app.metainfo.xml {{appdata-dst}}
install -Dm0644 {{desktop-src}} {{desktop-dst}}
install -Dm0644 {{appdata-src}} {{appdata-dst}}
install -Dm0644 {{icon-svg-src}} {{icon-svg-dst}}

# Uninstalls installed files
Expand Down
File renamed without changes.
51 changes: 51 additions & 0 deletions src/app/fprint.rs
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,57 @@ pub async fn delete_fingerprint_dbus(
res.and(rel_res)
}

pub async fn delete_fingers(
connection: &zbus::Connection,
path: zbus::zvariant::OwnedObjectPath,
username: String,
) -> zbus::Result<()> {
let device = DeviceProxy::builder(connection).path(path)?.build().await?;

device.claim(&username).await?;
let _ = device.delete_enrolled_fingers2().await;
device.release().await
}

pub async fn clear_all_fingers_dbus(
connection: &zbus::Connection,
path: zbus::zvariant::OwnedObjectPath,
usernames: Vec<String>,
) -> zbus::Result<()> {
let device = DeviceProxy::builder(connection).path(path)?.build().await?;
let mut last_error = None;

for username in usernames {
if let Err(e) = device.claim(&username).await {
last_error = Some(e);
continue;
}

match device.list_enrolled_fingers(&username).await {
Ok(fingers) => {
for finger in fingers {
if let Err(e) = device.delete_enrolled_finger(&finger).await {
last_error = Some(e);
}
}
}
Err(e) => {
last_error = Some(e);
}
}

if let Err(e) = device.release().await {
last_error = Some(e);
}
}

if let Some(e) = last_error {
Err(e)
} else {
Ok(())
}
}

pub async fn enroll_fingerprint_process<S>(
connection: zbus::Connection,
path: zbus::zvariant::OwnedObjectPath,
Expand Down
3 changes: 3 additions & 0 deletions src/app/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,9 @@ pub enum Message {
EnrollStatus(String, bool),
EnrollStop,
DeleteComplete,
ClearDevice,
CancelClear,
ClearComplete(Result<(), AppError>),
EnrolledFingers(Vec<String>),
UsersFound(Vec<UserOption>),
UserSelected(UserOption),
Expand Down
Loading