diff --git a/public/pad/toolbar/clean_windows_icon.png b/public/pad/toolbar/clean_windows_icon.png index e75771b..f0b9304 100644 Binary files a/public/pad/toolbar/clean_windows_icon.png and b/public/pad/toolbar/clean_windows_icon.png differ diff --git a/src/RedirectPage.vue b/src/RedirectPage.vue index 40916d3..dc99dbb 100644 --- a/src/RedirectPage.vue +++ b/src/RedirectPage.vue @@ -13,7 +13,6 @@ export default defineComponent({ setup() { let $q = useQuasar(); let $router = useRouter(); - console.log($q.platform); if ( ($q.platform.is.mobile && $q.platform.has.touch) || $q.platform.is.ipad diff --git a/src/components/Window.vue b/src/components/Window.vue index ce97153..777b7cc 100644 --- a/src/components/Window.vue +++ b/src/components/Window.vue @@ -8,6 +8,7 @@ " @mousedown="onMouseDown" @click="onClick" + @touchend="onTouchEnd" :style="{ background: $props.window.client_color, }" @@ -132,6 +133,7 @@ import { Common } from "src/common/Common"; -import EventBus, { EventNamesDefine } from "src/common/EventBus"; import GlobalData from "src/common/GlobalData"; -import { defineComponent, ref, watch, onUnmounted, computed } from "vue"; +import { defineComponent, ref, watch, computed, getCurrentInstance } from "vue"; import { useStore } from "src/store"; import { SignalSourceEntity } from "src/entities/SignalSourceEntity"; -import { NotifyMessage } from "src/common/ClientConnection"; -import { Protocol } from "src/entities/WSProtocol"; class _Flags { get up_flag() { @@ -257,6 +256,10 @@ export default defineComponent({ plan_running: { type: Boolean, }, + show_pollong_setting_context_menu: { + type: Boolean, + default: false, + }, }, emits: [ "close_this_window", @@ -270,6 +273,7 @@ export default defineComponent({ "stop_polling", "start_polling", "polling_setting", + "dbtouch", ], setup(props, { emit }) { const $store = useStore(); @@ -310,6 +314,27 @@ export default defineComponent({ const flags = new _Flags(); let ctrl_press_flag = false; + let prev_touch_time = 0; + + const onclick = (evt: UIEvent) => { + if (props.plan_running) { + return; + } + if (ctrl_press_flag) { + ctrl_press_flag = false; + return; + } + if (!props.mouse_area_flag) { + // evt.stopPropagation(); + if (props.window.uuid != $store.state.selected_window) { + GlobalData.getInstance() + .getCurrentClient() + ?.focusIn(props.window.window_id); + } + $store.commit("setSelectedWindow", props.window.uuid); + } + }; + return { signal_source, flags, @@ -322,24 +347,23 @@ export default defineComponent({ ctrl_press_flag = true; } }, - onClick(evt: MouseEvent) { - if (props.plan_running) { - return; - } - if (ctrl_press_flag) { - ctrl_press_flag = false; - return; - } - if (!props.mouse_area_flag) { - evt.stopPropagation(); - if (props.window.uuid != $store.state.selected_window) { - GlobalData.getInstance() - .getCurrentClient() - ?.focusIn(props.window.window_id); + onTouchEnd(evt: TouchEvent) { + if ((window).touchPriority) { + let time = Date.now(); + if (time - prev_touch_time < 300) { + emit("dbtouch"); + } else { + onclick(evt); } - $store.commit("setSelectedWindow", props.window.uuid); + prev_touch_time = time; } }, + onClick(evt: MouseEvent) { + if ((window).touchPriority) { + return; + } + onclick(evt); + }, getItemIcon(item_type: string) { return Common.getSignalSourceIcon(item_type); diff --git a/src/pad/ContentWall.vue b/src/pad/ContentWall.vue index 21b5639..5b568f3 100644 --- a/src/pad/ContentWall.vue +++ b/src/pad/ContentWall.vue @@ -9,21 +9,21 @@ width: wall_width + 'px', height: wall_height + 'px', }" - class="wall" + class="wall_content" >
-
+
- +
+