mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-02-26 13:58:43 +08:00
fix: mobile remove "Scale custom" (#13323)
Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
@@ -364,11 +364,12 @@ Future<List<TRadioMenu<String>>> toolbarViewStyle(
|
|||||||
value: kRemoteViewStyleAdaptive,
|
value: kRemoteViewStyleAdaptive,
|
||||||
groupValue: groupValue,
|
groupValue: groupValue,
|
||||||
onChanged: onChanged),
|
onChanged: onChanged),
|
||||||
TRadioMenu<String>(
|
if (isDesktop || isWebDesktop)
|
||||||
child: Text(translate('Scale custom')),
|
TRadioMenu<String>(
|
||||||
value: kRemoteViewStyleCustom,
|
child: Text(translate('Scale custom')),
|
||||||
groupValue: groupValue,
|
value: kRemoteViewStyleCustom,
|
||||||
onChanged: onChanged)
|
groupValue: groupValue,
|
||||||
|
onChanged: onChanged)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -153,135 +153,6 @@ class _ToolbarTheme {
|
|||||||
typedef DismissFunc = void Function();
|
typedef DismissFunc = void Function();
|
||||||
|
|
||||||
class RemoteMenuEntry {
|
class RemoteMenuEntry {
|
||||||
static MenuEntryRadios<String> viewStyle(
|
|
||||||
String remoteId,
|
|
||||||
FFI ffi,
|
|
||||||
EdgeInsets padding, {
|
|
||||||
DismissFunc? dismissFunc,
|
|
||||||
DismissCallback? dismissCallback,
|
|
||||||
RxString? rxViewStyle,
|
|
||||||
}) {
|
|
||||||
return MenuEntryRadios<String>(
|
|
||||||
text: translate('Ratio'),
|
|
||||||
optionsGetter: () => [
|
|
||||||
MenuEntryRadioOption(
|
|
||||||
text: translate('Scale original'),
|
|
||||||
value: kRemoteViewStyleOriginal,
|
|
||||||
dismissOnClicked: true,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
),
|
|
||||||
MenuEntryRadioOption(
|
|
||||||
text: translate('Scale adaptive'),
|
|
||||||
value: kRemoteViewStyleAdaptive,
|
|
||||||
dismissOnClicked: true,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
),
|
|
||||||
MenuEntryRadioOption(
|
|
||||||
text: translate('Scale custom'),
|
|
||||||
value: kRemoteViewStyleCustom,
|
|
||||||
dismissOnClicked: true,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
),
|
|
||||||
],
|
|
||||||
curOptionGetter: () async {
|
|
||||||
// null means peer id is not found, which there's no need to care about
|
|
||||||
final viewStyle =
|
|
||||||
await bind.sessionGetViewStyle(sessionId: ffi.sessionId) ?? '';
|
|
||||||
if (rxViewStyle != null) {
|
|
||||||
rxViewStyle.value = viewStyle;
|
|
||||||
}
|
|
||||||
return viewStyle;
|
|
||||||
},
|
|
||||||
optionSetter: (String oldValue, String newValue) async {
|
|
||||||
await bind.sessionSetViewStyle(
|
|
||||||
sessionId: ffi.sessionId, value: newValue);
|
|
||||||
if (rxViewStyle != null) {
|
|
||||||
rxViewStyle.value = newValue;
|
|
||||||
}
|
|
||||||
ffi.canvasModel.updateViewStyle();
|
|
||||||
if (dismissFunc != null) {
|
|
||||||
dismissFunc();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
padding: padding,
|
|
||||||
dismissOnClicked: true,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static MenuEntrySwitch2<String> showRemoteCursor(
|
|
||||||
String remoteId,
|
|
||||||
SessionID sessionId,
|
|
||||||
EdgeInsets padding, {
|
|
||||||
DismissFunc? dismissFunc,
|
|
||||||
DismissCallback? dismissCallback,
|
|
||||||
}) {
|
|
||||||
final state = ShowRemoteCursorState.find(remoteId);
|
|
||||||
final optKey = 'show-remote-cursor';
|
|
||||||
return MenuEntrySwitch2<String>(
|
|
||||||
switchType: SwitchType.scheckbox,
|
|
||||||
text: translate('Show remote cursor'),
|
|
||||||
getter: () {
|
|
||||||
return state;
|
|
||||||
},
|
|
||||||
setter: (bool v) async {
|
|
||||||
await bind.sessionToggleOption(sessionId: sessionId, value: optKey);
|
|
||||||
state.value =
|
|
||||||
bind.sessionGetToggleOptionSync(sessionId: sessionId, arg: optKey);
|
|
||||||
if (dismissFunc != null) {
|
|
||||||
dismissFunc();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
padding: padding,
|
|
||||||
dismissOnClicked: true,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static MenuEntrySwitch<String> disableClipboard(
|
|
||||||
SessionID sessionId,
|
|
||||||
EdgeInsets? padding, {
|
|
||||||
DismissFunc? dismissFunc,
|
|
||||||
DismissCallback? dismissCallback,
|
|
||||||
}) {
|
|
||||||
return createSwitchMenuEntry(
|
|
||||||
sessionId,
|
|
||||||
'Disable clipboard',
|
|
||||||
'disable-clipboard',
|
|
||||||
padding,
|
|
||||||
true,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static MenuEntrySwitch<String> createSwitchMenuEntry(
|
|
||||||
SessionID sessionId,
|
|
||||||
String text,
|
|
||||||
String option,
|
|
||||||
EdgeInsets? padding,
|
|
||||||
bool dismissOnClicked, {
|
|
||||||
DismissFunc? dismissFunc,
|
|
||||||
DismissCallback? dismissCallback,
|
|
||||||
}) {
|
|
||||||
return MenuEntrySwitch<String>(
|
|
||||||
switchType: SwitchType.scheckbox,
|
|
||||||
text: translate(text),
|
|
||||||
getter: () async {
|
|
||||||
return bind.sessionGetToggleOptionSync(
|
|
||||||
sessionId: sessionId, arg: option);
|
|
||||||
},
|
|
||||||
setter: (bool v) async {
|
|
||||||
await bind.sessionToggleOption(sessionId: sessionId, value: option);
|
|
||||||
if (dismissFunc != null) {
|
|
||||||
dismissFunc();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
padding: padding,
|
|
||||||
dismissOnClicked: dismissOnClicked,
|
|
||||||
dismissCallback: dismissCallback,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
static MenuEntryButton<String> insertLock(
|
static MenuEntryButton<String> insertLock(
|
||||||
SessionID sessionId,
|
SessionID sessionId,
|
||||||
EdgeInsets? padding, {
|
EdgeInsets? padding, {
|
||||||
|
|||||||
Reference in New Issue
Block a user