From c8b3591d35391fb2e84f046a6c44b268ad80f052 Mon Sep 17 00:00:00 2001 From: fangxiang Date: Tue, 31 May 2022 16:56:38 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=A1=E5=8F=B7=E6=BA=90=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=AE=A1=E6=97=B6=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 2 +- public/pad/source_icon/timer.png | Bin 0 -> 4921 bytes public/source_icon/timer.png | Bin 0 -> 4921 bytes src/common/Common.ts | 1 + src/components/SignalSourceDialog.vue | 37 +- src/components/TimerSignalSourceDialog.vue | 455 +++++++++++++++++++ src/entities/TimerWidgetWindowParamEntity.ts | 17 + src/i18n/en-US/index.ts | 1 + src/i18n/zh-CN/index.ts | 18 + src/pad/BottomBar.vue | 1 + 10 files changed, 527 insertions(+), 5 deletions(-) create mode 100644 public/pad/source_icon/timer.png create mode 100644 public/source_icon/timer.png create mode 100644 src/components/TimerSignalSourceDialog.vue create mode 100644 src/entities/TimerWidgetWindowParamEntity.ts diff --git a/package.json b/package.json index fa46593..46812b6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "media_player_client", - "version": "1.4.11", + "version": "1.4.12", "description": "A Quasar Framework app", "productName": "MediaPlayerClient", "author": "fangxiang ", diff --git a/public/pad/source_icon/timer.png b/public/pad/source_icon/timer.png new file mode 100644 index 0000000000000000000000000000000000000000..492562c8c9ccc13a5f39d5ad6ce7df9488f66056 GIT binary patch literal 4921 zcmV-96UOX`P)O2qN;_D7%PJ4$pv;uvtYAWeK<1Xlo*RQ>7E?9?uieqeOH&5&h6>^M@)YQyHiIRCB!OcClb-MM6`YK!PDXyBGO))>rxM#oLG?h zb0XR->A=;2@7_baHdm#bK~iGz_`QpWc1Sj8J@5h%?dr98Fx6~co%pc7ltJoB7#@!h z(JP7P6$5W3qDe&b2I03}OGFnC(H^NLlkARF&aO{Hj|HsW8;NLo)s|$hz%jBx_+>t~ z!q2_mYxA=db7`a)1o%*Z)SHNCO23oJ@Y+1@wfQO${c~WKPo<$@eO}o1w+Y8jjS0edE4(%@rkF=cVwVWpc2dr6n{W!Z<%oHG!1GE)2YP{(*@8OF8?_gmWnc%Gphnv){%# zR)R}4m((uB6N%`Ij9q?3M86}VmwFiH5wFdO9nOm%n}_r;CgUwcv@;RCCh++}ugwR0 z9HTH&yA;nMqJxNN_rT{nMDQcu*Tr|XBccO(95)Nk646m5{{C7>`6%Y~9s7f)6465` z$E_GE_+s|jJe+bGNr|OZtvDQsU3!|zTay54K^ zbY(NF!->Ls_doEr8p>I=EHeMDsbX$!qg}HJH;{sLRP(4dv`R zIO2m4*G4s&Rx27j-A{2wBECo(7B z&3=R$dH{*q#j zNr+X>zKw`3g(aB>zQRu@q6JtA)f&p#_Y%<;;A_rv`0(TTvnf1Lr4y^1Jq%u$4RUs6 zLTBM|TbpG=QDB)i6G4uwR}3H9*{JLJYgzLtjacONoXb~e&aRIl7x#*OB(xpM*>}T+ zn4Gig-9&U?S+AK=h*i#R&ZUGz^miG%@zwebBAQ)?bzf{C#(QQ?jnY$WjCpNti9LRF zVwJPJ9=$%0%+&;!a(u>XBjw(X8eo0Q7q7{9Jg-D<_1u`p9hF$+EU)*jCZg8|c6kZ! z(b=OgNjwPU?0!Tv5A{7E%<|ft9Ba&I#42YGfMYzAnD!XT34ak~z&?X=mQ!cGM?@dU zm^s@d$HlNUqQqmBv!6ufdx%udP~2s#l1i(hSWghqJ~=sG#}LtZ%GsWM~6R*q;tqH-CE0C5v!biGm_EX zDttVINACsQOlYhjhg@C??c2>dw`1c8;jAkIq%uw%kXjsGn>%4tEfc=Pf&2x^*^Z0X zy0MC9XB6=A`t+ zz+Sr|E2A(9zhjlN<5629c~4m4XOC31pQ9Pd+0z3z4-@sFq9MOd?%3}HNaa+_sRL4@ zVFp(p3O~k9i@ESW=b{j?%2|H?e@ys@ucE`fHjh<)Iz|cLL;qBu^dLC`KB{ zgZR;Qob9#wr?E~(8Gt==y$}^*!rqscLsf*>IRV`wPW9Y*G{#axP|k9_(PywK;3dd7 zQ*SU$|IGrBfD9ZvqkpJh1Z5< zaZd>BcZza0m;xIl7RgzX^2syEQ5y9CsVoSxWe3N)KD8Tww< z9s9Mw=cjpXB#UiSp@q~fx;QRQF25+^`S=1}f9;qNx@$#ZAr^g*@DbOg{CmU+*AfLt zT>{CU8K_c_FiANZMaI@^vl#yQcJRCRaOpdtJNEd%XLClo6PKT$U|3+BZMDd57ULwrddN2AeEOihY8srr(mt$jw0nBg@BCC zYlMBbMd|4pknYMu0#W_*M)TdOoZY$rsneu&Dw5BnNAg=DPcxJ+wN~&zB38=WUkP9F zsDyHswWV(BhSU~pDr}R4LAwULO^b!^PeG7oHP#>&SFI$j#q~5xM=`1FbRQqsC6`p? z>^9KLXveQhn6i|_unx*QSEK!o4av?$%~G!mB9Xc|dKyTM94SiEE9RpsNITZxuANvZ zg2QXpo9jhM?}$k1Ptm%q9m`=sM}^mh<@^_d}g(CrCgl z<7BVRpG!J~1;VyQ>+7I3$$RfW;gEE7)DCc%?}_4S77FgoF9V=xXE~+c3%GtN0{#3F?yFuTO3fwFZJ01>;B@G&Rze*8| zWK!pyKsn3en!g;wq*4YqEVH!w9UH1VPby)P2lNhLx8}5nKiiL_5-#lL1d%aLRh`=; z_Fcjk+2MRof(aIaa&{c7!6`ZWGeP$un_(%6t@#nf@zLE7FKwb~UNv{1jUYqAqO|$^MokQwFutYBpEi(|i+z&yHry!Tmccivpu|Vu_v*jkSZx_Dw zK&sj00g^(YY=IZBd^sB$$Uz{8aaEu_*&65rQYpaEhRWH^n#4*y*UIp7b_|{*nnXz8 zeCCgMZGIVf%zhx1GB}#Zz1B8vd+#*yNcrDf^w@pOd{dzl}LqACXE>G?%bt zBO_*5c|TVy!z2s%C6twnWl{+eei9}$G9+s1Ac;Obplxx6*XH&T##`7&q!Q-xC*h;< zjf^t+r%Ikz5lCS~Ru4U`r13)UtlE*<0;#FQ8?%UgCdsq{fXh%a>Mki!8ut5v?N`@W z^+sBfuHVSWRP3d{TnvPi$EA=}EZh(XV!yZIbCCtjH>LwQb!2#|z3vjjhDi3U0)N(c#Erh>G#PGQhVR_2=$ zjN2{N5x)0I15R@Zb?m~Nq8HydVOyP*TBQ~;&o(lw-$GgkB|dcaj1QuWf%)<+;ef#K1?7Hmyu4O0r$@X|9dSgl+5QsC0LW;{pMIAC}cW zF9Nm={KUgeVx`*7?Q1ac%K|R5k1J`o9;k#KgbaY}%c(zKLCNt(p|O4wln zWN<12+?wAEjDJB4bruvmUl-^!d4t#Hjw;VV4y3~BVWYE2?7e~SXEj7hg>P|UoiG+Z zlCOcjepgV=z6VB{G-eTE0x~#md>M zIx(nNXi_=LG2NeKWRQHxYa?Ayb;0fd3x3$(Y^~k7AH__qxW{X=YaI?mIeTPIRs9My zPxvmkgK0N-VD;_>HJoWVo;8m7Mtg^s0p;we0e$Grctz1l>^bQB(u!A5e5=R5wSj|XLxPq zKu9C+r1K+c8oUm;9%dkjC52YxBK29b*m- z6+T|xs(H~K-<0x+UK5bts}yW4du_fBf9bJEnJL;t=(p$Pf% z=r^_MaJ8quaEbl-LXh1=7JZBcI5D`3p3L_6mj+?cJMFRn;i{!c)U9tu!A5#K4TsKR- z?n7CB7X^~srYmQw&a4=7z}-4CaNMU$8%1K#WZ-<^qxGQ8J3v|-61ZCzdu@JPm{{Np zEPC5E|g(PqD+FTntKY8Sw zjtEIR{yw86<^Yj^7B5nlvZ28CV#Fe*8S1ffS{d1b1FQmct>y*vA?JH-GE-uUJWekS zD710;<)xUw0P%4Wo{a5yw#c$Gmsm71I5H3eGlQSd_*jm1O;KUdvbxXXyLZtGYdU&s-Qj9yc z3Ea60Gakz?!}6QmC)xHUA;3jYceuymN2NFsKMu>=9$-(X5tRc*c;!GrUQy2$zwXufYzAQr;!V1r0<5nUrX zu{07(oKqmY#4-R!du?jd-zNs($e)ciFrmAY@bu!xZ*(>HQiyFrIeQ?2#Zu4rCisr! zhKXPG+Em_$pcla6Jpm3JQ7#x5!us{3veaBlC6-nl>_pU+?3T0Z3OK>f=r@A#9{n5$ z&C`42M$4b}+T2*?oJuE_Mq~m`LfK?T+iP47Yc`UxnK zEkWzH-y`JpXDt3-#9hA<7tuJ3wGkRhZ2^zjHV`7&s!Mk(6M7|=!AONtDN#AGO(3m? zE9Z|UqPNvzQpK?hP4CY_mPzHP4Y5t2bYx$UykCTd`eovFtkbVZ{SM7T?TBrKa&{va zEbQp`Kn+M9f;{0hATw&y#F(fxv8{kiI+ME>44NGhb@liITz@RJv#?0Ab{)_+#I^&$ zhFwrMsvw-bbwNjggyoP4`Zd&LxY_VsUYk%W&sw8zi46g3P7Y{ut~3Af1;9=O-p>DR rHjrY62mi4b=t-|l9lCGE0TKN_Mm&qcsSm!x00000NkvXXu0mjfMRa2k literal 0 HcmV?d00001 diff --git a/public/source_icon/timer.png b/public/source_icon/timer.png new file mode 100644 index 0000000000000000000000000000000000000000..492562c8c9ccc13a5f39d5ad6ce7df9488f66056 GIT binary patch literal 4921 zcmV-96UOX`P)O2qN;_D7%PJ4$pv;uvtYAWeK<1Xlo*RQ>7E?9?uieqeOH&5&h6>^M@)YQyHiIRCB!OcClb-MM6`YK!PDXyBGO))>rxM#oLG?h zb0XR->A=;2@7_baHdm#bK~iGz_`QpWc1Sj8J@5h%?dr98Fx6~co%pc7ltJoB7#@!h z(JP7P6$5W3qDe&b2I03}OGFnC(H^NLlkARF&aO{Hj|HsW8;NLo)s|$hz%jBx_+>t~ z!q2_mYxA=db7`a)1o%*Z)SHNCO23oJ@Y+1@wfQO${c~WKPo<$@eO}o1w+Y8jjS0edE4(%@rkF=cVwVWpc2dr6n{W!Z<%oHG!1GE)2YP{(*@8OF8?_gmWnc%Gphnv){%# zR)R}4m((uB6N%`Ij9q?3M86}VmwFiH5wFdO9nOm%n}_r;CgUwcv@;RCCh++}ugwR0 z9HTH&yA;nMqJxNN_rT{nMDQcu*Tr|XBccO(95)Nk646m5{{C7>`6%Y~9s7f)6465` z$E_GE_+s|jJe+bGNr|OZtvDQsU3!|zTay54K^ zbY(NF!->Ls_doEr8p>I=EHeMDsbX$!qg}HJH;{sLRP(4dv`R zIO2m4*G4s&Rx27j-A{2wBECo(7B z&3=R$dH{*q#j zNr+X>zKw`3g(aB>zQRu@q6JtA)f&p#_Y%<;;A_rv`0(TTvnf1Lr4y^1Jq%u$4RUs6 zLTBM|TbpG=QDB)i6G4uwR}3H9*{JLJYgzLtjacONoXb~e&aRIl7x#*OB(xpM*>}T+ zn4Gig-9&U?S+AK=h*i#R&ZUGz^miG%@zwebBAQ)?bzf{C#(QQ?jnY$WjCpNti9LRF zVwJPJ9=$%0%+&;!a(u>XBjw(X8eo0Q7q7{9Jg-D<_1u`p9hF$+EU)*jCZg8|c6kZ! z(b=OgNjwPU?0!Tv5A{7E%<|ft9Ba&I#42YGfMYzAnD!XT34ak~z&?X=mQ!cGM?@dU zm^s@d$HlNUqQqmBv!6ufdx%udP~2s#l1i(hSWghqJ~=sG#}LtZ%GsWM~6R*q;tqH-CE0C5v!biGm_EX zDttVINACsQOlYhjhg@C??c2>dw`1c8;jAkIq%uw%kXjsGn>%4tEfc=Pf&2x^*^Z0X zy0MC9XB6=A`t+ zz+Sr|E2A(9zhjlN<5629c~4m4XOC31pQ9Pd+0z3z4-@sFq9MOd?%3}HNaa+_sRL4@ zVFp(p3O~k9i@ESW=b{j?%2|H?e@ys@ucE`fHjh<)Iz|cLL;qBu^dLC`KB{ zgZR;Qob9#wr?E~(8Gt==y$}^*!rqscLsf*>IRV`wPW9Y*G{#axP|k9_(PywK;3dd7 zQ*SU$|IGrBfD9ZvqkpJh1Z5< zaZd>BcZza0m;xIl7RgzX^2syEQ5y9CsVoSxWe3N)KD8Tww< z9s9Mw=cjpXB#UiSp@q~fx;QRQF25+^`S=1}f9;qNx@$#ZAr^g*@DbOg{CmU+*AfLt zT>{CU8K_c_FiANZMaI@^vl#yQcJRCRaOpdtJNEd%XLClo6PKT$U|3+BZMDd57ULwrddN2AeEOihY8srr(mt$jw0nBg@BCC zYlMBbMd|4pknYMu0#W_*M)TdOoZY$rsneu&Dw5BnNAg=DPcxJ+wN~&zB38=WUkP9F zsDyHswWV(BhSU~pDr}R4LAwULO^b!^PeG7oHP#>&SFI$j#q~5xM=`1FbRQqsC6`p? z>^9KLXveQhn6i|_unx*QSEK!o4av?$%~G!mB9Xc|dKyTM94SiEE9RpsNITZxuANvZ zg2QXpo9jhM?}$k1Ptm%q9m`=sM}^mh<@^_d}g(CrCgl z<7BVRpG!J~1;VyQ>+7I3$$RfW;gEE7)DCc%?}_4S77FgoF9V=xXE~+c3%GtN0{#3F?yFuTO3fwFZJ01>;B@G&Rze*8| zWK!pyKsn3en!g;wq*4YqEVH!w9UH1VPby)P2lNhLx8}5nKiiL_5-#lL1d%aLRh`=; z_Fcjk+2MRof(aIaa&{c7!6`ZWGeP$un_(%6t@#nf@zLE7FKwb~UNv{1jUYqAqO|$^MokQwFutYBpEi(|i+z&yHry!Tmccivpu|Vu_v*jkSZx_Dw zK&sj00g^(YY=IZBd^sB$$Uz{8aaEu_*&65rQYpaEhRWH^n#4*y*UIp7b_|{*nnXz8 zeCCgMZGIVf%zhx1GB}#Zz1B8vd+#*yNcrDf^w@pOd{dzl}LqACXE>G?%bt zBO_*5c|TVy!z2s%C6twnWl{+eei9}$G9+s1Ac;Obplxx6*XH&T##`7&q!Q-xC*h;< zjf^t+r%Ikz5lCS~Ru4U`r13)UtlE*<0;#FQ8?%UgCdsq{fXh%a>Mki!8ut5v?N`@W z^+sBfuHVSWRP3d{TnvPi$EA=}EZh(XV!yZIbCCtjH>LwQb!2#|z3vjjhDi3U0)N(c#Erh>G#PGQhVR_2=$ zjN2{N5x)0I15R@Zb?m~Nq8HydVOyP*TBQ~;&o(lw-$GgkB|dcaj1QuWf%)<+;ef#K1?7Hmyu4O0r$@X|9dSgl+5QsC0LW;{pMIAC}cW zF9Nm={KUgeVx`*7?Q1ac%K|R5k1J`o9;k#KgbaY}%c(zKLCNt(p|O4wln zWN<12+?wAEjDJB4bruvmUl-^!d4t#Hjw;VV4y3~BVWYE2?7e~SXEj7hg>P|UoiG+Z zlCOcjepgV=z6VB{G-eTE0x~#md>M zIx(nNXi_=LG2NeKWRQHxYa?Ayb;0fd3x3$(Y^~k7AH__qxW{X=YaI?mIeTPIRs9My zPxvmkgK0N-VD;_>HJoWVo;8m7Mtg^s0p;we0e$Grctz1l>^bQB(u!A5e5=R5wSj|XLxPq zKu9C+r1K+c8oUm;9%dkjC52YxBK29b*m- z6+T|xs(H~K-<0x+UK5bts}yW4du_fBf9bJEnJL;t=(p$Pf% z=r^_MaJ8quaEbl-LXh1=7JZBcI5D`3p3L_6mj+?cJMFRn;i{!c)U9tu!A5#K4TsKR- z?n7CB7X^~srYmQw&a4=7z}-4CaNMU$8%1K#WZ-<^qxGQ8J3v|-61ZCzdu@JPm{{Np zEPC5E|g(PqD+FTntKY8Sw zjtEIR{yw86<^Yj^7B5nlvZ28CV#Fe*8S1ffS{d1b1FQmct>y*vA?JH-GE-uUJWekS zD710;<)xUw0P%4Wo{a5yw#c$Gmsm71I5H3eGlQSd_*jm1O;KUdvbxXXyLZtGYdU&s-Qj9yc z3Ea60Gakz?!}6QmC)xHUA;3jYceuymN2NFsKMu>=9$-(X5tRc*c;!GrUQy2$zwXufYzAQr;!V1r0<5nUrX zu{07(oKqmY#4-R!du?jd-zNs($e)ciFrmAY@bu!xZ*(>HQiyFrIeQ?2#Zu4rCisr! zhKXPG+Em_$pcla6Jpm3JQ7#x5!us{3veaBlC6-nl>_pU+?3T0Z3OK>f=r@A#9{n5$ z&C`42M$4b}+T2*?oJuE_Mq~m`LfK?T+iP47Yc`UxnK zEkWzH-y`JpXDt3-#9hA<7tuJ3wGkRhZ2^zjHV`7&s!Mk(6M7|=!AONtDN#AGO(3m? zE9Z|UqPNvzQpK?hP4CY_mPzHP4Y5t2bYx$UykCTd`eovFtkbVZ{SM7T?TBrKa&{va zEbQp`Kn+M9f;{0hATw&y#F(fxv8{kiI+ME>44NGhb@liITz@RJv#?0Ab{)_+#I^&$ zhFwrMsvw-bbwNjggyoP4`Zd&LxY_VsUYk%W&sw8zi46g3P7Y{ut~3Af1;9=O-p>DR rHjrY62mi4b=t-|l9lCGE0TKN_Mm&qcsSm!x00000NkvXXu0mjfMRa2k literal 0 HcmV?d00001 diff --git a/src/common/Common.ts b/src/common/Common.ts index 2ae3f48..8ae674a 100644 --- a/src/common/Common.ts +++ b/src/common/Common.ts @@ -20,6 +20,7 @@ export namespace Common { ["EwindowType::Clock", "img:source_icon/clock.png"], ["EwindowType::Weather", "img:source_icon/weather.png"], ["EwindowType::HdmiIn", "img:source_icon/hdmi.png"], + ["EwindowType::Timer", "img:source_icon/timer.png"], ]); if (icon_map.has(item_type)) { diff --git a/src/components/SignalSourceDialog.vue b/src/components/SignalSourceDialog.vue index 72eed2b..3123dd6 100644 --- a/src/components/SignalSourceDialog.vue +++ b/src/components/SignalSourceDialog.vue @@ -159,22 +159,27 @@ ? showClockDialog() : item_data.window_type == 'EwindowType::Weather' ? showWeatherDialog() - : showPlaylistDialog('.mp4;.avi;.ts;.webm;.flv;.mkv') + : item_data.window_type == 'EwindowType::Timer' + ? showTimerDialog() + : showPlaylistDialog('.mp4;.avi;.ts;.webm;.flv;.mkv;.wmv') " v-model="item_data.media_url" :readonly=" media_url_label.startsWith($t('file path')) || media_url_label.startsWith($t('clock')) || - media_url_label.startsWith($t('weather')) + media_url_label.startsWith($t('weather')) || + media_url_label.startsWith($t('timer')) " :label="media_url_label" :hint=" media_url_label.startsWith($t('file path')) ? $t('dbclick select file') : media_url_label.startsWith($t('clock')) - ? $t('dbclick config clock') + ? $t('dbclick config') + $t('clock') : media_url_label.startsWith($t('weather')) - ? $t('dbclick config weather') + ? $t('dbclick config') + $t('weather') + : media_url_label.startsWith($t('timer')) + ? $t('dbclick config') + $t('timer') : $t('please input') + media_url_label.substr(0, media_url_label.length - 1) " @@ -289,6 +294,7 @@ + @@ -319,6 +325,7 @@ import FileManageDialog from "src/components/FileManageDialog.vue"; import PlaylistDialog from "src/components/PlaylistDialog.vue"; import ClockSignalSourceDialog from "src/components/ClockSignalSourceDialog.vue"; import WeatherSignalSourceDialog from "src/components/WeatherSignalSourceDialog.vue"; +import TimerSignalSourceDialog from "src/components/TimerSignalSourceDialog.vue"; import FileEntity from "src/entities/FileEntity"; @@ -329,6 +336,7 @@ export default defineComponent({ PlaylistDialog, ClockSignalSourceDialog, WeatherSignalSourceDialog, + TimerSignalSourceDialog, }, setup() { @@ -346,6 +354,7 @@ export default defineComponent({ let playlist_dialog: any = ref(null); let clock_dialog: any = ref(null); let weather_dialog: any = ref(null); + let timer_dialog: any = ref(null); let file_manage_dialog: any = ref(null); let suppored_window_types = new Set([ @@ -355,6 +364,7 @@ export default defineComponent({ "EwindowType::Rtsp", "EwindowType::Clock", "EwindowType::Weather", + "EwindowType::Timer", ]); let signal_source_options = [ @@ -382,6 +392,10 @@ export default defineComponent({ label: $t.t("weather"), value: "EwindowType::Weather", }, + { + label: $t.t("timer"), + value: "EwindowType::Timer", + }, ]; const tree_nodes = computed({ @@ -421,6 +435,9 @@ export default defineComponent({ case "EwindowType::Weather": media_url_label.value = $t.t("weather setting") + ":"; break; + case "EwindowType::Timer": + media_url_label.value = $t.t("timer setting") + ":"; + break; default: media_url_label.value = $t.t("file path") + ":"; break; @@ -479,6 +496,7 @@ export default defineComponent({ playlist_dialog, clock_dialog, weather_dialog, + timer_dialog, file_manage_dialog, showDialog(options: any) { if (options) { @@ -546,6 +564,17 @@ export default defineComponent({ item_data.media_url = decodeURI(result); } }, + async showTimerDialog() { + if (item_data.window_type != "EwindowType::Timer") { + return; + } + const result = await timer_dialog.value.showDialogAsync( + item_data.media_url + ); + if (result) { + item_data.media_url = decodeURI(result); + } + }, async showPlaylistDialog(filter: string) { if (item_data.window_type != "EwindowType::Multimedia") { return; diff --git a/src/components/TimerSignalSourceDialog.vue b/src/components/TimerSignalSourceDialog.vue new file mode 100644 index 0000000..db5e3a9 --- /dev/null +++ b/src/components/TimerSignalSourceDialog.vue @@ -0,0 +1,455 @@ + + + + + diff --git a/src/entities/TimerWidgetWindowParamEntity.ts b/src/entities/TimerWidgetWindowParamEntity.ts new file mode 100644 index 0000000..f8851f8 --- /dev/null +++ b/src/entities/TimerWidgetWindowParamEntity.ts @@ -0,0 +1,17 @@ +export default class TimerWidgetWindowParamEntity { + direction = true; + font_size = 25; + text_color = "#000000"; + background_color = "#000000"; + background_transparent = true; + text = ""; + is_relative_time = true; + relative_time_s = 60; + absolute_time = "2022/01/01 00:00:00"; + show_second = true; + show_minute = false; + show_hour = false; + show_day = false; + multiple_lines = false; + note = ""; +} diff --git a/src/i18n/en-US/index.ts b/src/i18n/en-US/index.ts index d2aac4a..db71c79 100644 --- a/src/i18n/en-US/index.ts +++ b/src/i18n/en-US/index.ts @@ -24,4 +24,5 @@ export default { "edit window rect": "Window Size Adjust", "set the window rectangle beyond the desktop rectangle, the window rectangle will be clipped, are you sure to use this window rectangle": "if the window size exceeds the desktop size, the window size will be clipped. Are you sure to use this window size", + hour_2_: "hour", }; diff --git a/src/i18n/zh-CN/index.ts b/src/i18n/zh-CN/index.ts index 21da787..11d3b0c 100644 --- a/src/i18n/zh-CN/index.ts +++ b/src/i18n/zh-CN/index.ts @@ -556,4 +556,22 @@ export default { english: "英文", chinese: "中文", "hour mark color": "时标", + timer: "计时器", + "dbclick config": "双击配置", + "timer setting": "计时器设置", + "timer type": "计时器类型", + "forward timer": "正计时", + "backward timer": "倒计时", + "example: 2022/01/01 00:00:00": "例: 2022/01/01 00:00:00", + "timer mode": "计时方式", + "relative time": "相对时间", + "absolute time": "绝对时间", + second: "秒", + duration: "时长", + "start time": "起始时间", + "target time": "目标时间", + minute: "分", + hour_2_: "时", + "the start time should not exceed the current time, and the target time should not be less than the current time": + "正计时的时候起始时间不要超过当前时间,倒计时的时候目标时间不要小于当前时间", }; diff --git a/src/pad/BottomBar.vue b/src/pad/BottomBar.vue index 6d0eb3c..7f4a78b 100644 --- a/src/pad/BottomBar.vue +++ b/src/pad/BottomBar.vue @@ -381,6 +381,7 @@ export default defineComponent({ ["EwindowType::Clock", "img:pad/source_icon/clock.png"], ["EwindowType::Weather", "img:pad/source_icon/weather.png"], ["EwindowType::HdmiIn", "img:pad/source_icon/hdmi_in.png"], + ["EwindowType::HdmiIn", "img:pad/source_icon/timer.png"], ]); if (icon_map.has(item_type)) {