mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 09:49:19 +02:00
different filter modes for different options
This commit is contained in:
parent
127a96ee37
commit
0ffae5fd20
4 changed files with 15 additions and 8 deletions
|
@ -36,11 +36,13 @@ import org.geometerplus.zlibrary.core.resources.ZLResource;
|
|||
abstract class FileChooserPreference extends Preference {
|
||||
private final int myRegCode;
|
||||
private final ZLResource myResource;
|
||||
private final IFileProvider.FilterMode myFilterMode;
|
||||
|
||||
FileChooserPreference(Context context, ZLResource rootResource, String resourceKey, int regCode) {
|
||||
FileChooserPreference(Context context, ZLResource rootResource, String resourceKey, IFileProvider.FilterMode filterMode, int regCode) {
|
||||
super(context);
|
||||
|
||||
myRegCode = regCode;
|
||||
myFilterMode = filterMode;
|
||||
myResource = rootResource.getResource(resourceKey);
|
||||
setTitle(myResource.getValue());
|
||||
}
|
||||
|
@ -73,10 +75,11 @@ abstract class FileChooserPreference extends Preference {
|
|||
intent.putExtra(FileChooserActivity._ActionBar, true);
|
||||
intent.putExtra(FileChooserActivity._SaveLastLocation, false);
|
||||
intent.putExtra(FileChooserActivity._DisplayHiddenFiles, true);
|
||||
intent.putExtra(FileChooserActivity._FilterMode, myFilterMode);
|
||||
//intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.AnyDirectories);
|
||||
//intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.DirectoriesOnly);
|
||||
//intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.FilesOnly);
|
||||
//intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.FilesAndDirectories);
|
||||
intent.putExtra(FileChooserActivity._FilterMode, IFileProvider.FilterMode.DirectoriesOnly);
|
||||
((Activity)getContext()).startActivityForResult(intent, myRegCode);
|
||||
}
|
||||
|
||||
|
|
|
@ -24,6 +24,8 @@ import java.util.List;
|
|||
|
||||
import android.content.Context;
|
||||
|
||||
import group.pals.android.lib.ui.filechooser.services.IFileProvider;
|
||||
|
||||
import org.geometerplus.zlibrary.core.options.ZLStringListOption;
|
||||
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||
import org.geometerplus.zlibrary.core.util.MiscUtil;
|
||||
|
@ -33,7 +35,7 @@ class FileChooserStringListPreference extends FileChooserPreference {
|
|||
private final Runnable myOnValueSetAction;
|
||||
|
||||
FileChooserStringListPreference(Context context, ZLResource rootResource, String resourceKey, ZLStringListOption option, int regCode, Runnable onValueSetAction) {
|
||||
super(context, rootResource, resourceKey, regCode);
|
||||
super(context, rootResource, resourceKey, IFileProvider.FilterMode.AnyDirectories, regCode);
|
||||
|
||||
myOption = option;
|
||||
myOnValueSetAction = onValueSetAction;
|
||||
|
|
|
@ -21,6 +21,8 @@ package org.geometerplus.android.fbreader.preferences.fileChooser;
|
|||
|
||||
import android.content.Context;
|
||||
|
||||
import group.pals.android.lib.ui.filechooser.services.IFileProvider;
|
||||
|
||||
import org.geometerplus.zlibrary.core.options.ZLStringOption;
|
||||
import org.geometerplus.zlibrary.core.resources.ZLResource;
|
||||
import org.geometerplus.zlibrary.core.util.MiscUtil;
|
||||
|
@ -29,7 +31,7 @@ class FileChooserStringPreference extends FileChooserPreference {
|
|||
private final ZLStringOption myOption;
|
||||
|
||||
FileChooserStringPreference(Context context, ZLResource rootResource, String resourceKey, ZLStringOption option, int regCode) {
|
||||
super(context, rootResource, resourceKey, regCode);
|
||||
super(context, rootResource, resourceKey, IFileProvider.FilterMode.DirectoriesOnly, regCode);
|
||||
myOption = option;
|
||||
|
||||
setSummary(getStringValue());
|
||||
|
|
|
@ -634,7 +634,7 @@ public class FileChooserActivity extends Activity {
|
|||
mRoot = mFileProvider.defaultPath();
|
||||
|
||||
IFileProvider.FilterMode filterMode = (FilterMode) getIntent().getSerializableExtra(_FilterMode);
|
||||
if (filterMode == null){
|
||||
if (filterMode == null) {
|
||||
filterMode = IFileProvider.FilterMode.DirectoriesOnly;
|
||||
}
|
||||
|
||||
|
@ -1709,9 +1709,9 @@ public class FileChooserActivity extends Activity {
|
|||
private final View.OnClickListener mBtnOk_ActionBar_OnClickListener = new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if ((getLocation() instanceof File)){
|
||||
if(mFileProvider.getFilterMode() != IFileProvider.FilterMode.AnyDirectories){
|
||||
if(!((File)getLocation()).canWrite()){
|
||||
if (getLocation() instanceof File) {
|
||||
if (mFileProvider.getFilterMode() != IFileProvider.FilterMode.AnyDirectories) {
|
||||
if (!((File)getLocation()).canWrite()) {
|
||||
Dlg.toast(FileChooserActivity.this, R.string.afc_msg_app_cant_choose_folder, Dlg._LengthShort);
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue