condition show more quality

Signed-off-by: 21pages <pages21@163.com>
This commit is contained in:
21pages 2023-11-02 20:39:56 +08:00
parent 534bfad50f
commit 017c73132c
2 changed files with 31 additions and 14 deletions

View File

@ -1248,25 +1248,41 @@ customImageQualityDialog(SessionID sessionId, String id, FFI ffi) async {
double fpsInitValue = 30; double fpsInitValue = 30;
bool qualitySet = false; bool qualitySet = false;
bool fpsSet = false; bool fpsSet = false;
bool? direct;
try {
direct =
ConnectionTypeState.find(id).direct.value == ConnectionType.strDirect;
} catch (_) {}
bool hideFps = (await bind.mainIsUsingPublicServer() && direct != true) ||
versionCmp(ffi.ffiModel.pi.version, '1.2.0') < 0;
bool hideMoreQuality =
(await bind.mainIsUsingPublicServer() && direct != true) ||
versionCmp(ffi.ffiModel.pi.version, '1.2.2') < 0;
setCustomValues({double? quality, double? fps}) async { setCustomValues({double? quality, double? fps}) async {
if (quality != null) { if (quality != null) {
qualitySet = true; qualitySet = true;
await bind.sessionSetCustomImageQuality( await bind.sessionSetCustomImageQuality(
sessionId: sessionId, value: quality.toInt()); sessionId: sessionId, value: quality.toInt());
print("quality:$quality");
} }
if (fps != null) { if (fps != null) {
fpsSet = true; fpsSet = true;
await bind.sessionSetCustomFps(sessionId: sessionId, fps: fps.toInt()); await bind.sessionSetCustomFps(sessionId: sessionId, fps: fps.toInt());
print("fps:$fps");
} }
if (!qualitySet) { if (!qualitySet) {
qualitySet = true; qualitySet = true;
await bind.sessionSetCustomImageQuality( await bind.sessionSetCustomImageQuality(
sessionId: sessionId, value: qualityInitValue.toInt()); sessionId: sessionId, value: qualityInitValue.toInt());
print("qualityInitValue:$qualityInitValue");
} }
if (!fpsSet) { if (!hideFps && !fpsSet) {
fpsSet = true; fpsSet = true;
await bind.sessionSetCustomFps( await bind.sessionSetCustomFps(
sessionId: sessionId, fps: fpsInitValue.toInt()); sessionId: sessionId, fps: fpsInitValue.toInt());
print("fpsInitValue:$fpsInitValue");
} }
} }
@ -1279,7 +1295,9 @@ customImageQualityDialog(SessionID sessionId, String id, FFI ffi) async {
final quality = await bind.sessionGetCustomImageQuality(sessionId: sessionId); final quality = await bind.sessionGetCustomImageQuality(sessionId: sessionId);
qualityInitValue = qualityInitValue =
quality != null && quality.isNotEmpty ? quality[0].toDouble() : 50.0; quality != null && quality.isNotEmpty ? quality[0].toDouble() : 50.0;
if (qualityInitValue < 10 || qualityInitValue > 2000) { if ((hideMoreQuality && qualityInitValue > 100) ||
qualityInitValue < 10 ||
qualityInitValue > 2000) {
qualityInitValue = 50; qualityInitValue = 50;
} }
// fps // fps
@ -1289,20 +1307,14 @@ customImageQualityDialog(SessionID sessionId, String id, FFI ffi) async {
if (fpsInitValue < 5 || fpsInitValue > 120) { if (fpsInitValue < 5 || fpsInitValue > 120) {
fpsInitValue = 30; fpsInitValue = 30;
} }
bool? direct;
try {
direct =
ConnectionTypeState.find(id).direct.value == ConnectionType.strDirect;
} catch (_) {}
bool notShowFps = (await bind.mainIsUsingPublicServer() && direct != true) ||
versionCmp(ffi.ffiModel.pi.version, '1.2.0') < 0;
final content = customImageQualityWidget( final content = customImageQualityWidget(
initQuality: qualityInitValue, initQuality: qualityInitValue,
initFps: fpsInitValue, initFps: fpsInitValue,
setQuality: (v) => setCustomValues(quality: v), setQuality: (v) => setCustomValues(quality: v),
setFps: (v) => setCustomValues(fps: v), setFps: (v) => setCustomValues(fps: v),
showFps: !notShowFps); showFps: !hideFps,
showMoreQuality: !hideMoreQuality);
msgBoxCommon(ffi.dialogManager, 'Custom Image Quality', content, [btnClose]); msgBoxCommon(ffi.dialogManager, 'Custom Image Quality', content, [btnClose]);
} }

View File

@ -10,7 +10,11 @@ customImageQualityWidget(
required double initFps, required double initFps,
required Function(double) setQuality, required Function(double) setQuality,
required Function(double) setFps, required Function(double) setFps,
required bool showFps}) { required bool showFps,
required bool showMoreQuality}) {
if (!showMoreQuality && initQuality > 100) {
initQuality = 50;
}
final qualityValue = initQuality.obs; final qualityValue = initQuality.obs;
final fpsValue = initFps.obs; final fpsValue = initFps.obs;
@ -69,7 +73,7 @@ customImageQualityWidget(
style: const TextStyle(fontSize: 15), style: const TextStyle(fontSize: 15),
)), )),
// mobile doesn't have enough space // mobile doesn't have enough space
if (!isMobile) if (showMoreQuality && !isMobile)
Expanded( Expanded(
flex: 1, flex: 1,
child: Row( child: Row(
@ -85,7 +89,7 @@ customImageQualityWidget(
)) ))
], ],
)), )),
if (isMobile) if (showMoreQuality && isMobile)
Obx(() => Row( Obx(() => Row(
children: [ children: [
Expanded( Expanded(
@ -160,7 +164,8 @@ customImageQualitySetting() {
setFps: (v) { setFps: (v) {
bind.mainSetUserDefaultOption(key: fpsKey, value: v.toString()); bind.mainSetUserDefaultOption(key: fpsKey, value: v.toString());
}, },
showFps: true); showFps: true,
showMoreQuality: true);
} }
Future<bool> setServerConfig( Future<bool> setServerConfig(