From 509fed80d457f87470e8adc0c97f9bbff05ee349 Mon Sep 17 00:00:00 2001 From: fangxiang Date: Fri, 15 Apr 2022 15:39:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=B9=B3=E6=9D=BF=E7=9A=84?= =?UTF-8?q?=E7=AA=97=E5=8F=A3=E7=A7=BB=E5=8A=A8=EF=BC=8C=E5=A4=A7=E5=B0=8F?= =?UTF-8?q?=E8=B0=83=E6=95=B4=EF=BC=8C=E5=8F=8C=E5=87=BB=E9=93=BA=E6=BB=A1?= =?UTF-8?q?=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/pad/toolbar/clean_windows_icon.png | Bin 451 -> 1884 bytes src/RedirectPage.vue | 1 - src/components/Window.vue | 62 ++- src/pad/ContentWall.vue | 618 +++++++++++++++++++++- src/pad/MainLayout.vue | 2 + src/pages/MediaControlPage.vue | 1 - src/pages/WallPage.vue | 38 +- 7 files changed, 659 insertions(+), 63 deletions(-) diff --git a/public/pad/toolbar/clean_windows_icon.png b/public/pad/toolbar/clean_windows_icon.png index e75771b0a578301cf0277e7238639e6c842f166d..f0b9304ae2c1bf3f6ec40aab492db5a9a8839120 100644 GIT binary patch literal 1884 zcmbVN4Nw$i7+&+=!2BUFrPx`c(Sh5a`-59K5$?!4k5j~(0V~wK-S1$ByW3@V;SRm#z_b= zJf3$IDuvEmniYIF!wGJH2Yn($BS=POP-NIrprCG0%=^vQ&&{nE%5!F{z~CgEq6L)j zwkioMsG93yt4diDhh@%0GlDcE@BxKEgFdfcrh{fI%uB(nHp^*!N)+EkD=UZQn*n(eX ztVB^nnjiv!03Oicf>caUCKKe)5?ZYWA~bTPUtxk8zdUu2!3tzn;zflQ{HV&vxP@}X zj6qKaB>2QAtzV9W2?mS^G9p3Yq$(*4FYp1sB10?{#fl|@BFH7e zzfeb)A20wz>vTqKJkl4RFKR+oaw?#VNI)KmmR*%1Ao77MluIngseo=yRn>^JMFNZ> zNG?I}4jxqApv$Nhsz#?3@P1AR$kXrJ0IZAx%$Syhu_pBzO7Eg5no6TdLkgKrljH!@ zDR8`}@*$|fMHy%v1Q{QI!j$0{g?TKPV`+~d`4}je_c6tQ5dFm%8Vw_D5xjx~4MXpA z_s`ocmOM%D@Lsqe=g-bY?Ku`BWilEyTAT{I>vYm~zpOBR7TB$33(+V(_ge+FTup(&{oMcDKTqOe2{PU%=1~h%%^ljt z%kWeyBc-zdlto5f9u21p&9G`2m@!s8f52gpY5s{LFhCn90g&`R@?roc3mzrFNFb{i zM(eS8M?mKZwO|Ky5D!ZXuiaPNgK*d})M2z$!H;OO1Af@yB-qMsclj*{GUSHcn&q;^ zvS$`&)YVQp)O*DIp<(~7gio5v8hoAoGe#W$aVX=C>A7K+yAEF5ne%t;QquUEwx{~$ z;Z2v)F1B2CKI@n>_NU*6=@OrBt}p7VzPza}D{i6o?#bnvrqr4rel>T#kqUL?myk8t_JrVC~lFx4TIyQcrT06y67Q8fa{ck7h3SM2U8L}|9 zG1-`sa5Q#jX2q@K+{A0YjN=^Liw`taom(^Cv0`s>+k~&1y06uyb^KYeboS?;IeI1l z`?<#0>NBD4r1PQj>!FkdZR=`MQP<4zdxj-6zVhk!nY-f>+(^fq6vwP!Z%gOFY3pjb z(6XNHOXqK0xwHNB(bSHmcN-_-<@cr(^dBo7Z5uz`@PaYp@>d6jZdrHc)PyCyTg6a) z?^QI$s}EuZ{H-NjXpG+WuGev*{r0g7YYz3#XgxA4d;iD%jvdKsPi>~(^Q?@w^tMl( zw|aQ<>BQECd#AoES)KLKo{=vt8tbjEIX)}cu_~qIMAf#UbUE?G!&m;edi`eGh@{*L zyrHS#SljNtzE%3Xy=%|!c{?s9glwI8oqqio*rts^Njlcv**mU J?#f>B=0BY~rA+_; delta 426 zcmV;b0agCo4#NYGBYy#kNklxWMu7TIE6Y)d>T3phKq!(53CFwv?HpKi;BD<=Odw)qI&5F$W2vl&?tjMuN zR+6+RDKF{V5gKkrfqBRG32XzWUPf+(xSu?1T3MV6Ij1No8LP8`sF3pBpM*p923*z=xV7w3 zc^hhD02uoNjJfz_R5pln;cY zF;jN70vmSSwblZGD@na>akn7pDFSkDSN0@jD%|d`Ln9|J1@tu-^beCa)#4BM0fQQm UtL595>;M1&07*qoM6N<$g7z1|W&i*H 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" >
-
+
- +
+