Adds one central import form.
This commit is contained in:
@@ -138,8 +138,7 @@ public class CollectionDetailFragment extends MCFragment {
|
||||
String[] options = new String[]{
|
||||
getString(R.string.action_add_monster),
|
||||
getString(R.string.action_create_monster),
|
||||
getString(R.string.action_import_monster_from_url),
|
||||
getString(R.string.action_import_monster_from_file)
|
||||
getString(R.string.action_import)
|
||||
};
|
||||
new AlertDialog.Builder(requireContext())
|
||||
.setTitle(R.string.title_collection_actions)
|
||||
@@ -149,9 +148,7 @@ public class CollectionDetailFragment extends MCFragment {
|
||||
} else if (which == 1) {
|
||||
createNewMonster();
|
||||
} else if (which == 2) {
|
||||
showImportUrlDialog();
|
||||
} else if (which == 3) {
|
||||
importMonsterFromFile();
|
||||
showImportDialog();
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.dialog_cancel, null)
|
||||
|
||||
@@ -151,8 +151,7 @@ public class DashboardFragment extends MCFragment {
|
||||
getString(R.string.action_add_single_monster),
|
||||
getString(R.string.action_add_collection_option),
|
||||
getString(R.string.action_create_monster),
|
||||
getString(R.string.action_import_monster_from_url),
|
||||
getString(R.string.action_import_monster_from_file)
|
||||
getString(R.string.action_import)
|
||||
};
|
||||
new AlertDialog.Builder(requireContext())
|
||||
.setTitle(R.string.title_dashboard_actions)
|
||||
@@ -164,9 +163,7 @@ public class DashboardFragment extends MCFragment {
|
||||
} else if (which == 2) {
|
||||
createNewMonster();
|
||||
} else if (which == 3) {
|
||||
showImportUrlDialog();
|
||||
} else if (which == 4) {
|
||||
importMonsterFromFile();
|
||||
showImportDialog();
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.dialog_cancel, null)
|
||||
|
||||
@@ -76,11 +76,8 @@ public class LibraryFragment extends MCFragment {
|
||||
|
||||
@Override
|
||||
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
|
||||
if (item.getItemId() == R.id.menu_action_import_from_url) {
|
||||
showImportUrlDialog();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_action_import_from_file) {
|
||||
importMonsterFromFile();
|
||||
if (item.getItemId() == R.id.menu_action_import) {
|
||||
showImportDialog();
|
||||
return true;
|
||||
} else if (item.getItemId() == R.id.menu_action_export_library) {
|
||||
exportLibrary();
|
||||
@@ -188,8 +185,7 @@ public class LibraryFragment extends MCFragment {
|
||||
private void showLibraryFabOptionsDialog() {
|
||||
String[] options = new String[]{
|
||||
getString(R.string.action_create_monster),
|
||||
getString(R.string.action_import_monster_from_url),
|
||||
getString(R.string.action_import_monster_from_file)
|
||||
getString(R.string.action_import)
|
||||
};
|
||||
new AlertDialog.Builder(requireContext())
|
||||
.setTitle(R.string.title_library_actions)
|
||||
@@ -197,9 +193,7 @@ public class LibraryFragment extends MCFragment {
|
||||
if (which == 0) {
|
||||
createNewMonster();
|
||||
} else if (which == 1) {
|
||||
showImportUrlDialog();
|
||||
} else if (which == 2) {
|
||||
importMonsterFromFile();
|
||||
showImportDialog();
|
||||
}
|
||||
})
|
||||
.setNegativeButton(R.string.dialog_cancel, null)
|
||||
|
||||
@@ -114,16 +114,17 @@ public class MCFragment extends Fragment {
|
||||
importMonsterFromFile();
|
||||
}
|
||||
|
||||
public void showImportUrlDialog() {
|
||||
public void showImportDialog() {
|
||||
Context context = requireContext();
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(context);
|
||||
builder.setTitle(R.string.dialog_import_url_title);
|
||||
builder.setMessage(R.string.dialog_import_url_message);
|
||||
builder.setTitle(R.string.dialog_import_title);
|
||||
|
||||
final EditText input = new EditText(context);
|
||||
input.setHint(R.string.dialog_import_url_hint);
|
||||
input.setSingleLine(true);
|
||||
View view = getLayoutInflater().inflate(R.layout.dialog_import, null);
|
||||
builder.setView(view);
|
||||
|
||||
AlertDialog dialog = builder.create();
|
||||
|
||||
final EditText input = view.findViewById(R.id.edit_text_url);
|
||||
ClipboardManager clipboard = (ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
|
||||
if (clipboard != null && clipboard.hasPrimaryClip()) {
|
||||
ClipData clip = clipboard.getPrimaryClip();
|
||||
@@ -139,20 +140,22 @@ public class MCFragment extends Fragment {
|
||||
}
|
||||
}
|
||||
|
||||
builder.setView(input);
|
||||
|
||||
builder.setPositiveButton(R.string.dialog_import, (dialog, which) -> {
|
||||
view.findViewById(R.id.button_import_url).setOnClickListener(v -> {
|
||||
String urlOrId = input.getText().toString().trim();
|
||||
if (!urlOrId.isEmpty()) {
|
||||
if (getActivity() instanceof MainActivity) {
|
||||
((MainActivity) getActivity()).importMonsterFromInputAndNavigate(urlOrId);
|
||||
}
|
||||
}
|
||||
dialog.dismiss();
|
||||
});
|
||||
|
||||
builder.setNegativeButton(R.string.dialog_cancel, (dialog, which) -> dialog.cancel());
|
||||
view.findViewById(R.id.button_import_file).setOnClickListener(v -> {
|
||||
importMonsterFromFile();
|
||||
dialog.dismiss();
|
||||
});
|
||||
|
||||
builder.show();
|
||||
dialog.show();
|
||||
}
|
||||
|
||||
public void createNewMonster() {
|
||||
|
||||
Reference in New Issue
Block a user