first commit
BIN
res/drawable-hdpi/folder.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
res/drawable-hdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
res/drawable-hdpi/odp.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
res/drawable-hdpi/ppt.png
Normal file
After Width: | Height: | Size: 4.8 KiB |
BIN
res/drawable-hdpi/pptx.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
res/drawable-hdpi/sxi.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
res/drawable-ldpi/folder.png
Normal file
After Width: | Height: | Size: 930 B |
BIN
res/drawable-ldpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
res/drawable-ldpi/odp.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
res/drawable-ldpi/ppt.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
res/drawable-ldpi/pptx.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
res/drawable-ldpi/sxi.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
res/drawable-mdpi/folder.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
res/drawable-mdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
res/drawable-mdpi/odp.png
Normal file
After Width: | Height: | Size: 3.9 KiB |
BIN
res/drawable-mdpi/ppt.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
res/drawable-mdpi/pptx.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
res/drawable-mdpi/sxi.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
res/drawable-xhdpi/folder.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
res/drawable-xhdpi/ic_launcher.png
Normal file
After Width: | Height: | Size: 9.9 KiB |
BIN
res/drawable-xhdpi/odp.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
res/drawable-xhdpi/ppt.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
res/drawable-xhdpi/pptx.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
res/drawable-xhdpi/sxi.png
Normal file
After Width: | Height: | Size: 4.1 KiB |
35
res/layout/file_chooser.xml
Normal file
@ -0,0 +1,35 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/reload"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="↺"
|
||||
android:onClick="reload"
|
||||
/>
|
||||
<Spinner
|
||||
android:id="@+id/parents"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<TextView
|
||||
android:id="@+id/message"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
<ListView
|
||||
android:id="@+id/files"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
</LinearLayout>
|
30
res/layout/file_row.xml
Normal file
@ -0,0 +1,30 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<ImageView
|
||||
android:id="@+id/icon"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
<LinearLayout
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<TextView
|
||||
android:id="@+id/file"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textSize="20sp"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/desc"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:textColor="#404040"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
167
res/layout/main.xml
Normal file
@ -0,0 +1,167 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:id="@+id/host_row"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/host_prompt"
|
||||
/>
|
||||
<AutoCompleteTextView
|
||||
android:id="@+id/host"
|
||||
android:layout_width="210dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:singleLine="true"
|
||||
/>
|
||||
<TextView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="@string/port_prompt"
|
||||
/>
|
||||
<EditText
|
||||
android:id="@+id/port"
|
||||
android:layout_width="64dip"
|
||||
android:layout_height="wrap_content"
|
||||
android:inputType="number"
|
||||
android:singleLine="true"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/message_row"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/connect"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="↹"
|
||||
android:onClick="connect"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/reload"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="↺"
|
||||
android:onClick="reload"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/message"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/doc_row"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/open"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="□"
|
||||
android:onClick="open"
|
||||
/>
|
||||
<Spinner
|
||||
android:id="@+id/doc"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/play"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="▶"
|
||||
android:onClick="start"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/stop"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:text="■"
|
||||
android:onClick="stop"
|
||||
/>
|
||||
<TextView
|
||||
android:id="@+id/pageno"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/previews"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<LinearLayout
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="wrap_content"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/prev2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:onClick="gotoPreviousPreviousSlide"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/prev1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:onClick="gotoPreviousSlide"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/next1"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:onClick="gotoNextSlide"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/next2"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:onClick="gotoNextNextSlide"
|
||||
/>
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:id="@+id/preview"
|
||||
android:orientation="horizontal"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
<Button
|
||||
android:id="@+id/previous"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:alpha="0.5"
|
||||
android:text="《"
|
||||
android:onClick="gotoPreviousSlide"
|
||||
/>
|
||||
<Button
|
||||
android:id="@+id/next"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="fill_parent"
|
||||
android:layout_weight="1"
|
||||
android:alpha="0.5"
|
||||
android:text="》"
|
||||
android:onClick="gotoNextSlide"
|
||||
/>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
11
res/values-zh-rTW/strings.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">簡報搖控器</string>
|
||||
<string name="host_prompt">主機:</string>
|
||||
<string name="port_prompt">:</string>
|
||||
<string name="err_host_empty">請填上遠端主機名稱。</string>
|
||||
<string name="err_missing_presentation">請先開啟簡報檔。</string>
|
||||
<string name="file_chooser">開啟簡報檔</string>
|
||||
<string name="err_not_presentation">「%s」不是簡報檔。</string>
|
||||
<string name="err_file_not_found">找不到檔案「%s」。</string>
|
||||
</resources>
|
11
res/values/strings.xml
Normal file
@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">Presentation Controller</string>
|
||||
<string name="host_prompt">Host:</string>
|
||||
<string name="port_prompt">:</string>
|
||||
<string name="err_host_empty">Please fill in the remote host.</string>
|
||||
<string name="err_missing_presentation">You must open a presentation first.</string>
|
||||
<string name="file_chooser">Open a Presentation Document</string>
|
||||
<string name="err_not_presentation">“%s” is not a presentation document.</string>
|
||||
<string name="err_file_not_found">file “%s” does not exist.</string>
|
||||
</resources>
|