根据是否有中控功能,输出板功能来显示对应的界面

This commit is contained in:
fangxiang 2022-04-28 10:38:27 +08:00
parent 61ee7a9ae6
commit fdb21aa3c2
4 changed files with 54 additions and 4 deletions

View File

@ -1,6 +1,6 @@
{ {
"name": "media_player_client", "name": "media_player_client",
"version": "1.4.1", "version": "1.4.2",
"description": "A Quasar Framework app", "description": "A Quasar Framework app",
"productName": "MediaPlayerClient", "productName": "MediaPlayerClient",
"author": "fangxiang <fangxiang@cloudview.work>", "author": "fangxiang <fangxiang@cloudview.work>",

View File

@ -67,8 +67,8 @@
/> />
</q-item-section> </q-item-section>
</q-item> </q-item>
<q-separator /> <q-separator class="q-mt-md" />
<q-item> <q-item class="q-mt-md">
<q-item-section> <q-item-section>
<q-btn @click="restartDevice"> {{ $t("restart") }} </q-btn> <q-btn @click="restartDevice"> {{ $t("restart") }} </q-btn>
</q-item-section> </q-item-section>

View File

@ -66,6 +66,7 @@
:disable="loading" :disable="loading"
/> />
<q-tab <q-tab
v-if="function_output_board_attribute"
name="output_board" name="output_board"
icon="save" icon="save"
:label="$t('output board setting')" :label="$t('output board setting')"
@ -565,7 +566,11 @@
</q-card> </q-card>
</q-tab-panel> </q-tab-panel>
<q-tab-panel name="output_board" class="_panel"> <q-tab-panel
name="output_board"
class="_panel"
v-if="function_output_board_attribute"
>
<q-card class="fit"> <q-card class="fit">
<q-card-section> <q-card-section>
<q-scroll-area style="height: 55vh"> <q-scroll-area style="height: 55vh">
@ -906,6 +911,19 @@ export default defineComponent({
let contrast = ref(0); let contrast = ref(0);
let hue = ref(0); let hue = ref(0);
const function_output_board_attribute = ref(
($store.state.device_attribute & Protocol.EDeviceAttribute.OutputBoard) !=
0
);
watch(
() => $store.state.device_attribute,
(value) => {
function_output_board_attribute.value =
(value & Protocol.EDeviceAttribute.OutputBoard) != 0;
}
);
let device_resolution = ref(""); let device_resolution = ref("");
let device_resolution_options: Ref<string[]> = ref([]); let device_resolution_options: Ref<string[]> = ref([]);
let device_rotate = ref(0); let device_rotate = ref(0);
@ -1341,6 +1359,7 @@ export default defineComponent({
return { return {
show_dialog, show_dialog,
function_output_board_attribute,
loading, loading,
tab, tab,
auto_ip, auto_ip,

View File

@ -68,6 +68,7 @@
@click="lowerWindow" @click="lowerWindow"
/> />
<q-btn <q-btn
v-if="function_center_control"
class="col-auto" class="col-auto"
stretch stretch
stack stack
@ -108,6 +109,17 @@
v-if="plan_running" v-if="plan_running"
@click="stopPlan" @click="stopPlan"
/> />
<q-btn
v-if="false"
stretch
flat
stack
no-caps
icon="img:pad/toolbar/subtitle.png"
:label="$t('subtitle')"
class="col-auto"
@click="$refs.subtitle_dialog.showDialog()"
/>
<q-btn <q-btn
class="col-auto" class="col-auto"
stretch stretch
@ -181,6 +193,7 @@
<background-image-dialog ref="background_image_dialog" /> <background-image-dialog ref="background_image_dialog" />
<file-manage-dialog ref="file_manage_dialog" /> <file-manage-dialog ref="file_manage_dialog" />
<center-control-dialog ref="center_control_dialog" /> <center-control-dialog ref="center_control_dialog" />
<subtitle-dialog ref="subtitle_dialog" />
<advanced-debug-dialog ref="advanced_debug_dialog" /> <advanced-debug-dialog ref="advanced_debug_dialog" />
</template> </template>
@ -191,10 +204,12 @@ import { useI18n } from "vue-i18n";
import { useStore } from "src/store"; import { useStore } from "src/store";
import BackgroundImageDialog from "src/components/BackgroundImageDialog.vue"; import BackgroundImageDialog from "src/components/BackgroundImageDialog.vue";
import FileManageDialog from "src/components/FileManageDialog.vue"; import FileManageDialog from "src/components/FileManageDialog.vue";
import SubtitleDialog from "src/components/SubtitleDialog.vue";
import CenterControlDialog from "src/components/CenterControlDialog.vue"; import CenterControlDialog from "src/components/CenterControlDialog.vue";
import AdvancedDebugDialog from "src/components/AdvancedDebugDialog.vue"; import AdvancedDebugDialog from "src/components/AdvancedDebugDialog.vue";
import GlobalData from "src/common/GlobalData"; import GlobalData from "src/common/GlobalData";
import { Protocol } from "src/entities/WSProtocol";
export default defineComponent({ export default defineComponent({
name: "PadTopToolbarPage", name: "PadTopToolbarPage",
@ -202,6 +217,7 @@ export default defineComponent({
BackgroundImageDialog, BackgroundImageDialog,
FileManageDialog, FileManageDialog,
CenterControlDialog, CenterControlDialog,
SubtitleDialog,
AdvancedDebugDialog, AdvancedDebugDialog,
}, },
setup() { setup() {
@ -213,8 +229,23 @@ export default defineComponent({
() => $store.state.current_running_plan.trim() != "" () => $store.state.current_running_plan.trim() != ""
); );
const function_center_control = ref(
($store.state.device_attribute &
Protocol.EDeviceAttribute.CenterControl) !=
0
);
watch(
() => $store.state.device_attribute,
(value) => {
function_center_control.value =
(value & Protocol.EDeviceAttribute.CenterControl) != 0;
}
);
return { return {
plan_running, plan_running,
function_center_control,
toogleFullScreen() { toogleFullScreen() {
if (!$q.fullscreen.isCapable) { if (!$q.fullscreen.isCapable) {