diff options
author | Iain Billett <iainbillett@gmail.com> | 2012-06-22 13:12:59 +0100 |
---|---|---|
committer | Iain Billett <iainbillett@gmail.com> | 2012-06-22 13:15:53 +0100 |
commit | 520fbf75e325ff584d86944274425bd389d99d8d (patch) | |
tree | ea3b37764c927b0ffc7ce77ebdebab35e435064e /android | |
parent | 20b2d07bde44078c7627a9cc08394cf496081b2b (diff) |
Added a preferences activity to set default behaviour.
Diffstat (limited to 'android')
7 files changed, 121 insertions, 11 deletions
diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml index 82ec24c2f775..fa1724ac7481 100644 --- a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/AndroidManifest.xml @@ -22,6 +22,7 @@ <activity android:theme="@android:style/Theme.Holo.Light" android:name="WriterViewerActivity"> <intent-filter android:label="writer_viewer"></intent-filter> </activity> + <activity android:name="PreferenceEditor"></activity> </application> </manifest>
\ No newline at end of file diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml index a780f555dd0f..87270d3a5985 100644 --- a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/menu/view_menu.xml @@ -14,4 +14,7 @@ <item android:id="@+id/menu_sort_modified" android:title="@string/menu_sort_modified" android:onClick="sortFiles"/> + <item android:id="@+id/menu_preferences" + android:title="@string/menu_preferences" + android:onClick="editPreferences"/> </menu>
\ No newline at end of file diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml new file mode 100644 index 000000000000..67a157d201bf --- /dev/null +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/arrays.xml @@ -0,0 +1,56 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <integer-array name="FilterTypeValues"> + <item >-1</item> + <item >0</item> + <item >1</item> + <item >2</item> + </integer-array> + <string-array name="FilterTypeStringValues"> + <item >-1</item> + <item >0</item> + <item >1</item> + <item >2</item> + </string-array> + <string-array name="SortModeStringValues"> + <item >0</item> + <item >1</item> + <item >2</item> + <item >3</item> + <item >4</item> + <item >5</item> + </string-array> + <!-- View Mode names,values --> + <string-array name="ViewModeNames"> + <item >Grid</item> + <item >List</item> + </string-array> + <string-array name="ViewModeStringValues"> + <item >0</item> + <item >1</item> + </string-array> + + <!-- Preference Name Arrays --> + <string-array name="file_view_modes"> + <item >EVERYTHING</item> + <item >DOCUMENTS</item> + <item >SPREADSHEETS</item> + <item >PRESENTATIONS</item> + </string-array> + <string-array name="FilterTypeNames"> + <item >Everything</item> + <item >Documents</item> + <item >Spreadsheets</item> + <item >Presentations</item> + </string-array> + <string-array name="SortModeNames"> + <item >A-Z</item> + <item >Z-A</item> + <item >Oldest First</item> + <item >Newest First</item> + <item >Largest First</item> + <item >Smallest First</item> + </string-array> + + +</resources>
\ No newline at end of file diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml index 3ff73f7a52d2..8951dd495b8a 100644 --- a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/values/strings.xml @@ -1,7 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> <resources> - - <string name="hello">Hello World, LibreOfficeUIActivity!</string> <string name="app_name">LibreOfficeUI</string> <string name="menu_search">Search</string> <string name="list_view">List</string> @@ -9,11 +7,10 @@ <string name="menu_sort_size">Sort By Size</string> <string name="menu_sort_az">Sort A-Z</string> <string name="menu_sort_modified">Sort by Date</string> - <string-array name="file_view_modes"> - <item >EVERYTHING</item> - <item >DOCUMENTS</item> - <item >SPREADSHEETS</item> - <item >PRESENTATIONS</item> - </string-array> + <string name="menu_preferences">Preferences</string> + <!-- Pref keys as resources ; Not currently used --> + <string name="EXPLORER_VIEW_TYPE_KEY">EXPLORER_VIEW_TYPE</string> + <string name="CURRENT_DIRECTORY_KEY">CURRENT_DIRECTORY</string> + </resources>
\ No newline at end of file diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml new file mode 100644 index 000000000000..d19d9e65298c --- /dev/null +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/res/xml/libreoffice_preferences.xml @@ -0,0 +1,21 @@ +<?xml version="1.0" encoding="utf-8"?> +<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" > + <ListPreference + android:title="Default File Filter" + android:summary="Set which files to show by default" + android:entries="@array/FilterTypeNames" + android:entryValues="@array/FilterTypeStringValues" + android:key="FILTER_MODE"/> + <ListPreference + android:summary="Select how to order files; A-Z, by size, etc." + android:key="SORT_MODE" + android:title="File Order" android:entries="@array/SortModeNames" android:entryValues="@array/SortModeStringValues"/> + <ListPreference + android:entries="@array/ViewModeNames" + android:entryValues="@array/ViewModeStringValues" + android:title="Default File Explorer View" + android:key="EXPLORER_VIEW_TYPE" + android:summary="View files as a grid or in a list. #not functional, yet."/> + + +</PreferenceScreen>
\ No newline at end of file diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java index 743ae20e9905..d1e46a9b543d 100644 --- a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/LibreOfficeUIActivity.java @@ -6,6 +6,7 @@ import java.io.FilenameFilter; import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Date; +import java.util.prefs.Preferences; import android.app.ActionBar; import android.app.ActionBar.OnNavigationListener; @@ -16,6 +17,7 @@ import android.content.SharedPreferences; import android.database.DataSetObserver; import android.os.Bundle; import android.os.Environment; +import android.preference.PreferenceManager; import android.util.Log; import android.view.LayoutInflater; import android.view.Menu; @@ -71,9 +73,7 @@ public class LibreOfficeUIActivity extends Activity implements OnNavigationListe homeDirectory.mkdirs(); currentDirectory = homeDirectory; //Load default settings - prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE); - viewMode = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW); - sortMode = prefs.getInt( SORT_MODE_KEY, FileUtilities.SORT_AZ ); + } @@ -301,6 +301,19 @@ public class LibreOfficeUIActivity extends Activity implements OnNavigationListe return; } + public void readPreferences(){ + prefs = getSharedPreferences(EXPLORER_PREFS_KEY, MODE_PRIVATE); + viewMode = prefs.getInt( EXPLORER_VIEW_TYPE_KEY, GRID_VIEW); + sortMode = prefs.getInt( SORT_MODE_KEY, FileUtilities.SORT_AZ ); + SharedPreferences defaultPrefs = PreferenceManager.getDefaultSharedPreferences( getBaseContext() ); + filterMode = Integer.valueOf( defaultPrefs.getString( FILTER_MODE_KEY , "-1") ); + sortMode = Integer.valueOf( defaultPrefs.getString( SORT_MODE_KEY , "-1") ); + } + + public void editPreferences(MenuItem item){ + startActivity( new Intent( this , PreferenceEditor.class) ); + } + @Override protected void onSaveInstanceState(Bundle outState) { // TODO Auto-generated method stub @@ -341,6 +354,7 @@ public class LibreOfficeUIActivity extends Activity implements OnNavigationListe // TODO Auto-generated method stub super.onResume(); Log.d(tag, "onResume"); + readPreferences();// intent values take precedence over prefs? Intent i = this.getIntent(); if( i.hasExtra( CURRENT_DIRECTORY_KEY ) ){ currentDirectory = new File( i.getStringExtra( CURRENT_DIRECTORY_KEY ) ); diff --git a/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java new file mode 100644 index 000000000000..dec509de1167 --- /dev/null +++ b/android/experimental/GSoC-2012-eclipse-workspace/LibreOfficeUI/src/org/libreoffice/ui/PreferenceEditor.java @@ -0,0 +1,18 @@ +package org.libreoffice.ui; + +import android.content.SharedPreferences; +import android.os.Bundle; +import android.preference.Preference; +import android.preference.Preference.OnPreferenceClickListener; +import android.preference.PreferenceActivity; + +public class PreferenceEditor extends PreferenceActivity { + public final static String FilterTypePrefKey = "FilterTypePreference"; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + addPreferencesFromResource( R.xml.libreoffice_preferences ); + //mPrefs = getSharedPreferences( LibreOfficeUIActivity.EXPLORER_PREFS_KEY , MODE_PRIVATE ); + } +} |