Skip to content

Commit

Permalink
Option to suppress dismiss
Browse files Browse the repository at this point in the history
  • Loading branch information
harshad1 committed Oct 10, 2023
1 parent c2ec7f7 commit 6436f7b
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@
import net.gsantner.markor.util.MarkorContextUtils;
import net.gsantner.opoc.format.GsTextUtils;
import net.gsantner.opoc.frontend.base.GsPreferenceFragmentBase;
import net.gsantner.opoc.frontend.filebrowser.GsFileBrowserDialog;
import net.gsantner.opoc.frontend.filebrowser.GsFileBrowserListAdapter;
import net.gsantner.opoc.frontend.filebrowser.GsFileBrowserOptions;
import net.gsantner.opoc.wrapper.GsTextWatcherAdapter;
Expand Down Expand Up @@ -289,6 +290,7 @@ public void onFsViewerConfig(GsFileBrowserOptions.Options dopt) {
dopt.startFolder = workingDir;
dopt.okButtonText = R.string.create_new_document;
dopt.okButtonEnable = true;
dopt.dismissAfterCallback = false;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,20 +90,30 @@ public static File[] strlistToArray(List<String> strlist) {
return files;
}

private static void showDialog(final FragmentManager fm, final GsFileBrowserOptions.Options opts) {
GsFileBrowserDialog filesystemViewerDialog = GsFileBrowserDialog.newInstance(opts);
private static GsFileBrowserDialog showDialog(final FragmentManager fm, final GsFileBrowserOptions.Options opts) {
final GsFileBrowserDialog filesystemViewerDialog = GsFileBrowserDialog.newInstance(opts);
filesystemViewerDialog.show(fm, GsFileBrowserDialog.FRAGMENT_TAG);
return filesystemViewerDialog;
}

public static void showFileDialog(GsFileBrowserOptions.SelectionListener listener, FragmentManager fm, Context context, GsCallback.b2<Context, File> fileOverallFilter) {
public static GsFileBrowserDialog showFileDialog(
final GsFileBrowserOptions.SelectionListener listener,
final FragmentManager fm,
final Context context,
final GsCallback.b2<Context, File> fileOverallFilter
) {
final GsFileBrowserOptions.Options opts = prepareFsViewerOpts(context, false, listener);
opts.fileOverallFilter = fileOverallFilter;
showDialog(fm, opts);
return showDialog(fm, opts);
}

public static void showFolderDialog(GsFileBrowserOptions.SelectionListener listener, FragmentManager fm, Context context) {
public static GsFileBrowserDialog showFolderDialog(
final GsFileBrowserOptions.SelectionListener listener,
final FragmentManager fm,
final Context context
) {
final GsFileBrowserOptions.Options opts = prepareFsViewerOpts(context, true, listener);
opts.okButtonText = R.string.select_this_folder;
showDialog(fm, opts);
return showDialog(fm, opts);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -93,9 +93,9 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
}

@Override
public void onViewCreated(View root, @Nullable Bundle savedInstanceState) {
public void onViewCreated(final View root, final @Nullable Bundle savedInstanceState) {
super.onViewCreated(root, savedInstanceState);
Context context = getContext();
final Activity activity = getActivity();

_recyclerList = root.findViewById(R.id.ui__filesystem_dialog__list);
_dialogTitle = root.findViewById(R.id.ui__filesystem_dialog__title_text);
Expand Down Expand Up @@ -151,10 +151,10 @@ public void onViewCreated(View root, @Nullable Bundle savedInstanceState) {
root.setBackgroundColor(rcolor(_dopt.backgroundColor));

final LinearLayoutManager lam = (LinearLayoutManager) _recyclerList.getLayoutManager();
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(getActivity(), lam.getOrientation());
final DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(activity, lam.getOrientation());
_recyclerList.addItemDecoration(dividerItemDecoration);

_filesystemViewerAdapter = new GsFileBrowserListAdapter(_dopt, context);
_filesystemViewerAdapter = new GsFileBrowserListAdapter(_dopt, activity);
_recyclerList.setAdapter(_filesystemViewerAdapter);
_filesystemViewerAdapter.getFilter().filter("");
onFsViewerDoUiUpdate(_filesystemViewerAdapter);
Expand Down Expand Up @@ -197,7 +197,6 @@ public void onClicked(final View view) {
}
case R.id.ui__filesystem_dialog__button_cancel: {
onFsViewerNothingSelected(_dopt.requestId);
dismiss();
break;
}
case R.id.ui__filesystem_dialog__new_dir: {
Expand Down Expand Up @@ -240,23 +239,29 @@ public void onFsViewerSelected(final String request, final File file, final Inte
if (_callback != null) {
_callback.onFsViewerSelected(_dopt.requestId, file, lineNumber);
}
dismiss();
if (_dopt.dismissAfterCallback) {
dismiss();
}
}

@Override
public void onFsViewerMultiSelected(String request, File... files) {
if (_callback != null) {
_callback.onFsViewerMultiSelected(_dopt.requestId, files);
}
dismiss();
if (_dopt.dismissAfterCallback) {
dismiss();
}
}

@Override
public void onFsViewerNothingSelected(String request) {
if (_callback != null) {
_callback.onFsViewerNothingSelected(_dopt.requestId);
}
dismiss();
if (_dopt.dismissAfterCallback) {
dismiss();
}
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,8 @@ public static class Options {
homeButtonEnable = true,
cancelButtonEnable = true,
okButtonEnable = true,
newDirButtonEnable = true;
newDirButtonEnable = true,
dismissAfterCallback = true;

public GsCallback.b2<Context, File> fileOverallFilter = (context, file) -> true;

Expand Down

0 comments on commit 6436f7b

Please sign in to comment.