X-Git-Url: http://git.linex4red.de/pub/Android/ownCloud.git/blobdiff_plain/46ff60a9e760a760b478609bac68d45f8728488f..da2702129f6deefb66310ebe2da2ef73e664682d:/src/com/owncloud/android/ui/activity/FileDisplayActivity.java diff --git a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java index 1bf8365a..627d40cf 100644 --- a/src/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/src/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -85,6 +85,7 @@ import com.owncloud.android.operations.SynchronizeFolderOperation; import com.owncloud.android.operations.UnshareLinkOperation; import com.owncloud.android.services.observer.FileObserverService; import com.owncloud.android.syncadapter.FileSyncAdapter; +import com.owncloud.android.ui.adapter.FileListListAdapter; import com.owncloud.android.ui.dialog.CreateFolderDialogFragment; import com.owncloud.android.ui.dialog.SslUntrustedCertDialog; import com.owncloud.android.ui.dialog.SslUntrustedCertDialog.OnSslUntrustedCertListener; @@ -481,6 +482,40 @@ public class FileDisplayActivity extends HookActivity implements dialog.show(getSupportFragmentManager(), "createdirdialog"); break; } + case R.id.action_sort: { + SharedPreferences appPreferences = PreferenceManager + .getDefaultSharedPreferences(this); + + // Read sorting order, default to sort by name ascending + Integer sortOrder = appPreferences + .getInt("sortOrder", FileListListAdapter.SORT_NAME); + + AlertDialog.Builder builder = new AlertDialog.Builder(this); + builder.setTitle(R.string.actionbar_sort_title) + .setSingleChoiceItems(R.array.actionbar_sortby, sortOrder, new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int which) { + + switch (which) { + case 0: + sortByName(true); + break; + case 1: + sortByDate(false); + break; + +// TODO re-enable when server-side folder size calculation is available +// case 2: +// sortBySize(false); +// break; + } + + dialog.dismiss(); + + } + }); + builder.create().show(); + break; + } case R.id.action_sync_account: { startSynchronization(); break; @@ -1790,4 +1825,16 @@ public class FileDisplayActivity extends HookActivity implements } } } + + private void sortByDate(boolean ascending) { + getListOfFilesFragment().sortByDate(ascending); + } + + private void sortBySize(boolean ascending) { + getListOfFilesFragment().sortBySize(ascending); + } + + private void sortByName(boolean ascending) { + getListOfFilesFragment().sortByName(ascending); + } }