mirror of
https://github.com/fankes/termux-app.git
synced 2025-09-07 03:05:18 +08:00
Simplify long press on new session button
This commit is contained in:
@@ -14,7 +14,8 @@ final class DialogUtils {
|
|||||||
void onTextSet(String text);
|
void onTextSet(String text);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void textInput(Activity activity, int titleText, int positiveButtonText, String initialText, final TextSetListener onPositive) {
|
static void textInput(Activity activity, int titleText, int positiveButtonText, String initialText, final TextSetListener onPositive,
|
||||||
|
int neutralButtonText, final TextSetListener onNeutral) {
|
||||||
final EditText input = new EditText(activity);
|
final EditText input = new EditText(activity);
|
||||||
input.setSingleLine();
|
input.setSingleLine();
|
||||||
if (initialText != null) input.setText(initialText);
|
if (initialText != null) input.setText(initialText);
|
||||||
@@ -31,12 +32,26 @@ final class DialogUtils {
|
|||||||
layout.setPadding(paddingTopAndSides, paddingTopAndSides, paddingTopAndSides, paddingBottom);
|
layout.setPadding(paddingTopAndSides, paddingTopAndSides, paddingTopAndSides, paddingBottom);
|
||||||
layout.addView(input);
|
layout.addView(input);
|
||||||
|
|
||||||
new AlertDialog.Builder(activity).setTitle(titleText).setView(layout).setPositiveButton(positiveButtonText, new DialogInterface.OnClickListener() {
|
AlertDialog.Builder builder = new AlertDialog.Builder(activity)
|
||||||
|
.setTitle(titleText).setView(layout)
|
||||||
|
.setPositiveButton(positiveButtonText, new DialogInterface.OnClickListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onClick(DialogInterface d, int whichButton) {
|
public void onClick(DialogInterface d, int whichButton) {
|
||||||
onPositive.onTextSet(input.getText().toString());
|
onPositive.onTextSet(input.getText().toString());
|
||||||
}
|
}
|
||||||
}).setNegativeButton(android.R.string.cancel, null).show();
|
})
|
||||||
|
.setNegativeButton(android.R.string.cancel, null);
|
||||||
|
|
||||||
|
if (onNeutral != null) {
|
||||||
|
builder.setNeutralButton(neutralButtonText, new DialogInterface.OnClickListener() {
|
||||||
|
@Override
|
||||||
|
public void onClick(DialogInterface dialog, int which) {
|
||||||
|
onNeutral.onTextSet(input.getText().toString());
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
builder.show();
|
||||||
input.requestFocus();
|
input.requestFocus();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -291,30 +291,19 @@ public final class TermuxActivity extends Activity implements ServiceConnection
|
|||||||
@Override
|
@Override
|
||||||
public boolean onLongClick(View v) {
|
public boolean onLongClick(View v) {
|
||||||
Resources res = getResources();
|
Resources res = getResources();
|
||||||
new AlertDialog.Builder(TermuxActivity.this).setTitle(R.string.new_session)
|
|
||||||
.setItems(new String[] { res.getString(R.string.new_session_normal_unnamed), res.getString(R.string.new_session_normal_named),
|
|
||||||
res.getString(R.string.new_session_failsafe) }, new DialogInterface.OnClickListener() {
|
|
||||||
@Override
|
|
||||||
public void onClick(DialogInterface dialog, int which) {
|
|
||||||
switch (which) {
|
|
||||||
case 0:
|
|
||||||
addNewSession(false, null);
|
|
||||||
break;
|
|
||||||
case 1:
|
|
||||||
DialogUtils.textInput(TermuxActivity.this, R.string.session_new_named_title, R.string.session_new_named_positive_button, null,
|
DialogUtils.textInput(TermuxActivity.this, R.string.session_new_named_title, R.string.session_new_named_positive_button, null,
|
||||||
new DialogUtils.TextSetListener() {
|
new DialogUtils.TextSetListener() {
|
||||||
@Override
|
@Override
|
||||||
public void onTextSet(String text) {
|
public void onTextSet(String text) {
|
||||||
addNewSession(false, text);
|
addNewSession(false, text);
|
||||||
}
|
}
|
||||||
});
|
}, R.string.new_session_failsafe, new DialogUtils.TextSetListener() {
|
||||||
break;
|
@Override
|
||||||
case 2:
|
public void onTextSet(String text) {
|
||||||
addNewSession(true, null);
|
addNewSession(true, text);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}).show();
|
);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
@@ -509,7 +498,7 @@ public final class TermuxActivity extends Activity implements ServiceConnection
|
|||||||
public void onTextSet(String text) {
|
public void onTextSet(String text) {
|
||||||
sessionToRename.mSessionName = text;
|
sessionToRename.mSessionName = text;
|
||||||
}
|
}
|
||||||
});
|
}, -1, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@@ -3,8 +3,6 @@
|
|||||||
<string name="application_name">Termux</string>
|
<string name="application_name">Termux</string>
|
||||||
<string name="shared_user_label">Termux user</string>
|
<string name="shared_user_label">Termux user</string>
|
||||||
<string name="new_session">New session</string>
|
<string name="new_session">New session</string>
|
||||||
<string name="new_session_normal_unnamed">Normal - unnamed</string>
|
|
||||||
<string name="new_session_normal_named">Normal - named</string>
|
|
||||||
<string name="new_session_failsafe">Failsafe</string>
|
<string name="new_session_failsafe">Failsafe</string>
|
||||||
<string name="toggle_soft_keyboard">Keyboard</string>
|
<string name="toggle_soft_keyboard">Keyboard</string>
|
||||||
<string name="reset_terminal">Reset</string>
|
<string name="reset_terminal">Reset</string>
|
||||||
|
Reference in New Issue
Block a user