diff options
| author | Lena <lena@omega> | 2026-06-01 00:00:00 +0000 |
|---|---|---|
| committer | Lena <lena@omega> | 2026-06-01 00:00:00 +0000 |
| commit | 72e37d2dac501faa300ca895c56c53eea43ae4ae (patch) | |
| tree | ca1a3f77d46f91f14b9c713f193af755f3d1fa2f /app/src/main/res/layout | |
| parent | 7e04941bccb2683f8a6e3ee38a99c50129234dd1 (diff) | |
| download | rsend-72e37d2dac501faa300ca895c56c53eea43ae4ae.tar.gz | |
app: add a folder picker for local paths0.1.0
Typing absolute paths is error-prone; let the user browse real
filesystem folders and pick one. Stays on real paths (no SAF) so
rsync keeps operating on POSIX paths.
Diffstat (limited to 'app/src/main/res/layout')
| -rw-r--r-- | app/src/main/res/layout/activity_folder.xml | 26 | ||||
| -rw-r--r-- | app/src/main/res/layout/activity_picker.xml | 61 | ||||
| -rw-r--r-- | app/src/main/res/layout/item_dir.xml | 27 |
3 files changed, 109 insertions, 5 deletions
diff --git a/app/src/main/res/layout/activity_folder.xml b/app/src/main/res/layout/activity_folder.xml index 1a15f00..1381529 100644 --- a/app/src/main/res/layout/activity_folder.xml +++ b/app/src/main/res/layout/activity_folder.xml @@ -46,14 +46,30 @@ android:textAppearance="@style/TextAppearance.Rsend.Caption" android:text="Local path" /> - <EditText - android:id="@+id/local" - style="@style/Widget.Rsend.EditText" + <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="4dp" - android:inputType="textUri" - android:hint="/storage/emulated/0/DCIM" /> + android:orientation="horizontal" + android:gravity="center_vertical"> + + <EditText + android:id="@+id/local" + style="@style/Widget.Rsend.EditText" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:inputType="textUri" + android:hint="/storage/emulated/0/DCIM" /> + + <Button + android:id="@+id/browse" + style="@style/Widget.Rsend.Button.Secondary" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_marginStart="@dimen/space_s" + android:text="Browse" /> + </LinearLayout> <TextView android:layout_width="match_parent" diff --git a/app/src/main/res/layout/activity_picker.xml b/app/src/main/res/layout/activity_picker.xml new file mode 100644 index 0000000..db4a044 --- /dev/null +++ b/app/src/main/res/layout/activity_picker.xml @@ -0,0 +1,61 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + android:id="@+id/appRoot" + android:layout_width="match_parent" + android:layout_height="match_parent" + android:orientation="vertical"> + + <include layout="@layout/app_toolbar" /> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1" + android:orientation="vertical" + android:padding="@dimen/space_m"> + + <TextView + android:id="@+id/currentPath" + style="@style/Widget.Rsend.Card" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:textAppearance="@style/TextAppearance.Rsend.Mono" + android:textSize="12sp" /> + + <ScrollView + android:layout_width="match_parent" + android:layout_height="0dp" + android:layout_weight="1"> + + <LinearLayout + android:id="@+id/list" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="vertical" /> + </ScrollView> + + <LinearLayout + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:layout_marginTop="@dimen/space_m"> + + <Button + android:id="@+id/use" + style="@style/Widget.Rsend.Button.Primary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:layout_marginEnd="@dimen/space_s" + android:text="Use this folder" /> + + <Button + android:id="@+id/cancel" + style="@style/Widget.Rsend.Button.Secondary" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:text="Cancel" /> + </LinearLayout> + </LinearLayout> +</LinearLayout> diff --git a/app/src/main/res/layout/item_dir.xml b/app/src/main/res/layout/item_dir.xml new file mode 100644 index 0000000..651224c --- /dev/null +++ b/app/src/main/res/layout/item_dir.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" + style="@style/Widget.Rsend.Card" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:orientation="horizontal" + android:gravity="center_vertical" + android:clickable="true" + android:focusable="true" + android:foreground="?attr/selectableItemBackground"> + + <ImageView + android:layout_width="24dp" + android:layout_height="24dp" + android:layout_marginEnd="@dimen/space_m" + android:src="@drawable/ic_folder" + android:contentDescription="@null" /> + + <TextView + android:id="@+id/dirName" + android:layout_width="0dp" + android:layout_height="wrap_content" + android:layout_weight="1" + android:maxLines="1" + android:ellipsize="end" + android:textAppearance="@style/TextAppearance.Rsend.Title" /> +</LinearLayout> |