Compare commits
2
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dd702524ca | ||
|
|
20792ed34f |
Generated
+1
-1
@@ -1393,7 +1393,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "ink-notes"
|
||||
version = "0.24.0"
|
||||
version = "0.25.0"
|
||||
dependencies = [
|
||||
"ab_glyph",
|
||||
"arboard",
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "ink-notes"
|
||||
version = "0.24.0"
|
||||
version = "0.25.0"
|
||||
edition = "2021"
|
||||
description = "Notizbuch-App für Stift, Touch und Maus unter Linux"
|
||||
repository = "https://gitea.pansi.eu/harald/ink-notes"
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
Notizbuch-App für Stift, Touch und Maus unter Linux (getestet mit Zorin OS 18 / Ubuntu 24.04).
|
||||
|
||||
### Highlights:
|
||||
- **Englische Oberfläche / English interface**: ink-notes folgt der Systemsprache (Deutsch oder Englisch); umstellen im ☰-Menü unter „Sprache / Language“
|
||||
- **Halten zum Einrasten**: verträgt jetzt das leichte Zittern eines ruhenden Stifts, damit Formen auch im normalen Stift-Modus einrasten
|
||||
- **Achsenkreuz aus zwei Strichen**: Eine waagerechte und eine senkrechte Gerade über Kreuz zeichnen – die zweite mit Halten oder dem Formen-Werkzeug – und beide werden zum Achsenkreuz mit Pfeilspitzen an allen vier Enden; Rückgängig stellt die erste Gerade wieder her
|
||||
- **Bildschirmtastatur**: Unter GNOME/Zorin (Wayland) erscheint die Bildschirmtastatur jetzt beim Antippen eines Namensfelds – mit Finger oder Stift; Tippen und Rücktaste funktionieren. Außerdem geht der erste Fingertipp nach Mausbenutzung nicht mehr verloren
|
||||
- **App-Symbol**: Das Fenster meldet sich als eu.pansi.ink-notes – Dock und Taskleiste zeigen das ink-notes-Symbol statt eines allgemeinen Symbols (unter X11 auch als Fenstersymbol)
|
||||
|
||||
+48
-1
@@ -596,6 +596,31 @@ fn insert_image_on_page(
|
||||
));
|
||||
}
|
||||
|
||||
/// Trifft ein Finger auf `screen` die Auswahl (Rahmen, Griffe) oder ein Objekt? Dann wählt bzw.
|
||||
/// verschiebt er, sonst verschiebt er das Blatt.
|
||||
fn finger_grabs_selection(
|
||||
screen: (f32, f32),
|
||||
canvas: &CanvasState,
|
||||
page: &ink_notes::document::Page,
|
||||
pixels_per_point: f32,
|
||||
selection_state: &SelectionState,
|
||||
) -> bool {
|
||||
let on_selection = !selection_state.is_empty()
|
||||
&& !matches!(
|
||||
selection_state.hit_test_handles(
|
||||
page,
|
||||
canvas,
|
||||
Vec2::new(screen.0, screen.1),
|
||||
pixels_per_point
|
||||
),
|
||||
SelectionHandleHit::None
|
||||
);
|
||||
on_selection
|
||||
|| canvas
|
||||
.screen_to_page(screen.0, screen.1)
|
||||
.is_some_and(|p| page.find_stroke_at(p, 25.0).is_some())
|
||||
}
|
||||
|
||||
/// Auswahlwerkzeug: Druck auf `screen` (physische Pixel) greift einen Griff, die Auswahl
|
||||
/// oder das Objekt darunter oder beginnt einen Auswahlrahmen. Mit `shift` wird die Auswahl
|
||||
/// erweitert. `true`, wenn etwas begonnen wurde.
|
||||
@@ -2820,7 +2845,29 @@ fn main() -> Result<(), Box<dyn std::error::Error>> {
|
||||
cursor_screen_pos = (tx, ty);
|
||||
current_pressure = pressure;
|
||||
|
||||
if !ui_state.touch_draw_enabled {
|
||||
// Ohne Finger-Zeichnen verschiebt ein Finger das Blatt – außer bei
|
||||
// Werkzeugen, die nicht zeichnen: Text und Platz schaffen nehmen den
|
||||
// Finger immer, Auswählen, wenn er ein Objekt oder die Auswahl trifft
|
||||
// (Issue #26)
|
||||
let finger_uses_tool = match ui_state.active_tool {
|
||||
ActiveTool::Text | ActiveTool::Space => true,
|
||||
ActiveTool::Select => {
|
||||
focus_page_at!((tx, ty));
|
||||
finger_grabs_selection(
|
||||
(tx, ty),
|
||||
&canvas,
|
||||
notebook.current_page(),
|
||||
egui_ctx.pixels_per_point(),
|
||||
&selection_state,
|
||||
)
|
||||
}
|
||||
_ => false,
|
||||
};
|
||||
if finger_uses_tool {
|
||||
// Halten soll hier kein Kontextmenü öffnen
|
||||
long_press.cancel();
|
||||
}
|
||||
if !ui_state.touch_draw_enabled && !finger_uses_tool {
|
||||
// Standard: 1 Finger scrollt / verschiebt den Canvas (Pan)
|
||||
is_touch_panning = true;
|
||||
touch_pan_last_pos = (tx, ty);
|
||||
|
||||
Reference in New Issue
Block a user