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;
bool qualitySet = 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 {
if (quality != null) {
qualitySet = true;
await bind.sessionSetCustomImageQuality(
sessionId: sessionId, value: quality.toInt());
print("quality:$quality");
}
if (fps != null) {
fpsSet = true;
await bind.sessionSetCustomFps(sessionId: sessionId, fps: fps.toInt());
print("fps:$fps");
}
if (!qualitySet) {
qualitySet = true;
await bind.sessionSetCustomImageQuality(
sessionId: sessionId, value: qualityInitValue.toInt());
print("qualityInitValue:$qualityInitValue");
}
if (!fpsSet) {
if (!hideFps && !fpsSet) {
fpsSet = true;
await bind.sessionSetCustomFps(
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);
qualityInitValue =
quality != null && quality.isNotEmpty ? quality[0].toDouble() : 50.0;
if (qualityInitValue < 10 || qualityInitValue > 2000) {
if ((hideMoreQuality && qualityInitValue > 100) ||
qualityInitValue < 10 ||
qualityInitValue > 2000) {
qualityInitValue = 50;
}
// fps
@ -1289,20 +1307,14 @@ customImageQualityDialog(SessionID sessionId, String id, FFI ffi) async {
if (fpsInitValue < 5 || fpsInitValue > 120) {
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(
initQuality: qualityInitValue,
initFps: fpsInitValue,
setQuality: (v) => setCustomValues(quality: v),
setFps: (v) => setCustomValues(fps: v),
showFps: !notShowFps);
showFps: !hideFps,
showMoreQuality: !hideMoreQuality);
msgBoxCommon(ffi.dialogManager, 'Custom Image Quality', content, [btnClose]);
}

View File

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