Add configurable buttons, separate settings screens and backup activity

- Add ButtonConfigActivity for customizing main screen buttons with
  drag-and-drop reordering and individual size options (S/M/L)
- Move storage settings to separate StorageSettingsActivity
- Move signature setting to storage settings (relevant for WebDAV sync)
- Move data backup to separate BackupActivity with export/import
- Make "more" overflow button configurable in size
- Simplify SettingsActivity to 3 navigation buttons
- Add logbook rename/delete functionality
- Improve S/M/L button contrast with visible borders
This commit is contained in:
2026-01-11 21:31:49 +01:00
parent 6a995d6561
commit 3e8af97757
28 changed files with 1979 additions and 708 deletions

View File

@@ -0,0 +1,80 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center_vertical"
android:padding="12dp"
android:background="?android:attr/selectableItemBackground">
<ImageView
android:id="@+id/drag_handle"
android:layout_width="32dp"
android:layout_height="32dp"
android:src="@drawable/ic_drag"
android:contentDescription="@string/button_config_drag_hint"/>
<CheckBox
android:id="@+id/checkbox_visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"/>
<TextView
android:id="@+id/icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:textSize="24sp"/>
<TextView
android:id="@+id/label"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:layout_marginStart="12dp"
android:textSize="16sp"/>
<!-- Size buttons S/M/L -->
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_marginStart="8dp">
<TextView
android:id="@+id/size_small"
android:layout_width="28dp"
android:layout_height="28dp"
android:text="S"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:background="@drawable/size_button_background"/>
<TextView
android:id="@+id/size_medium"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_marginStart="4dp"
android:text="M"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:background="@drawable/size_button_background"/>
<TextView
android:id="@+id/size_large"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_marginStart="4dp"
android:text="L"
android:textSize="12sp"
android:textStyle="bold"
android:gravity="center"
android:background="@drawable/size_button_background"/>
</LinearLayout>
</LinearLayout>