From b7c246b3f6103c9e8da5bf2104c7a87fe313bdbb Mon Sep 17 00:00:00 2001 From: krivoshein Date: Wed, 17 Dec 2025 13:08:38 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A0=D0=B0=D0=B7=D0=BD=D1=8B=D0=B5=20=D0=B8?= =?UTF-8?q?=D0=BA=D0=BE=D0=BD=D0=BA=D0=B8=20=D0=B2=20=D1=82=D1=80=D0=B5?= =?UTF-8?q?=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LibServer/serverlmswidget.cpp | 10 ++++++-- LibServer/serverlmswidget.h | 2 ++ ProgramServerMPS/ProgramServerMPS.qrc | 3 +++ ProgramServerMPS/mainwindow.cpp | 23 +++++++++++++++++- ProgramServerMPS/mainwindow.h | 2 ++ .../resources/PngServerRRJ_lock.png | Bin 0 -> 11795 bytes .../resources/PngServerRRJ_start.png | Bin 0 -> 12552 bytes .../resources/PngServerRRJ_stop.png | Bin 0 -> 11070 bytes 8 files changed, 37 insertions(+), 3 deletions(-) create mode 100644 ProgramServerMPS/resources/PngServerRRJ_lock.png create mode 100644 ProgramServerMPS/resources/PngServerRRJ_start.png create mode 100644 ProgramServerMPS/resources/PngServerRRJ_stop.png diff --git a/LibServer/serverlmswidget.cpp b/LibServer/serverlmswidget.cpp index ffcedd3..6d1a9a5 100644 --- a/LibServer/serverlmswidget.cpp +++ b/LibServer/serverlmswidget.cpp @@ -200,6 +200,8 @@ void ServerLMSWidget::slot_BlockAutorization(bool block) ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/open.png"))); //emit signal_Tray_ShowMessage(tr("Authorization unblocked!")); } + //updateStateServer(); + emit signal_updateStateServer(server->getStateServer(), server->getStateBlockAutorization()); } void ServerLMSWidget::slot_LanguageChanged(QString language) @@ -221,9 +223,10 @@ void ServerLMSWidget::on_btnStartServer_clicked() ui->btnStopServer->setEnabled(true); slot_BlockAutorization(false); + updateStateServer(); + emit signal_Tray_ShowMessage(tr("Server is started!")); } - updateStateServer(); } void ServerLMSWidget::on_btnStopServer_clicked() @@ -234,9 +237,10 @@ void ServerLMSWidget::on_btnStopServer_clicked() ui->btnStartServer->setEnabled(true); slot_BlockAutorization(true); + updateStateServer(); + emit signal_Tray_ShowMessage(tr("Server is stoped!")); } - updateStateServer(); } void ServerLMSWidget::on_btnSettings_clicked() @@ -462,6 +466,8 @@ void ServerLMSWidget::updateStateServer() { ui->lblBlockAuth->setPixmap(QPixmap(QStringLiteral(":/resources/icons/lock.png"))); } + + emit signal_updateStateServer(server->getStateServer(), server->getStateBlockAutorization()); } if(providerDBLMS) diff --git a/LibServer/serverlmswidget.h b/LibServer/serverlmswidget.h index f6a5573..54ee0bb 100644 --- a/LibServer/serverlmswidget.h +++ b/LibServer/serverlmswidget.h @@ -87,6 +87,8 @@ signals: void signal_DocsChanged(); void signal_hasError(int code); + void signal_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization); + public slots: void slot_LanguageChanged(QString language); void slot_UpdateListClients(); diff --git a/ProgramServerMPS/ProgramServerMPS.qrc b/ProgramServerMPS/ProgramServerMPS.qrc index a5f38ce..67e27b2 100644 --- a/ProgramServerMPS/ProgramServerMPS.qrc +++ b/ProgramServerMPS/ProgramServerMPS.qrc @@ -2,5 +2,8 @@ resources/PngServerRRJ.png resources/IcoServerRRJ.ico + resources/PngServerRRJ_lock.png + resources/PngServerRRJ_start.png + resources/PngServerRRJ_stop.png diff --git a/ProgramServerMPS/mainwindow.cpp b/ProgramServerMPS/mainwindow.cpp index 2a661f0..0b34228 100644 --- a/ProgramServerMPS/mainwindow.cpp +++ b/ProgramServerMPS/mainwindow.cpp @@ -30,6 +30,8 @@ MainWindow::MainWindow(QWidget *parent) : connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_ShowWindow, this, &MainWindow::slot_TrayMenu_ShowWindow); connect(serverLMSWidget, &ServerLMSWidget::signal_Menu_HideWindow, this, &MainWindow::slot_TrayMenu_HideWindow); + connect(serverLMSWidget, &ServerLMSWidget::signal_updateStateServer, this, &MainWindow::slot_updateStateServer); + qtLanguageTranslator.load(QString("translations/RRJServer_") + serverLMSWidget->getLanguage(), "."); qApp->installTranslator(&qtLanguageTranslator); @@ -38,7 +40,7 @@ MainWindow::MainWindow(QWidget *parent) : * */ trayIcon = new QSystemTrayIcon(this); //trayIcon->setIcon(this->style()->standardIcon(QStyle::SP_ComputerIcon)); - trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ.png")); + trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_stop.png")); /* После чего создаем контекстное меню для иконки трея*/ trayMenu = new QMenu(this); @@ -172,6 +174,25 @@ void MainWindow::slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::Message icon, 100); } +void MainWindow::slot_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization) +{ + if(stateServer == EStateServer::started) + { + if(stateBlockAutorization == EStateBlockAutorization::unblocked) + { + trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_start.png")); + } + else + { + trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_lock.png")); + } + } + else + { + trayIcon->setIcon(QPixmap(":/resources/PngServerRRJ_stop.png")); + } +} + void MainWindow::slot_LazyInitialization() { serverLMSWidget->start(); diff --git a/ProgramServerMPS/mainwindow.h b/ProgramServerMPS/mainwindow.h index 775f8a3..de3cecc 100644 --- a/ProgramServerMPS/mainwindow.h +++ b/ProgramServerMPS/mainwindow.h @@ -52,6 +52,8 @@ public slots: //Слот вывода сообщения из трея void slot_Tray_ShowMessage(QString textMsg, QSystemTrayIcon::MessageIcon iconMsg = QSystemTrayIcon::Information); + //Слот изменения иконки трея + void slot_updateStateServer(EStateServer stateServer, EStateBlockAutorization stateBlockAutorization); //Слот отложенной инициализации void slot_LazyInitialization(); diff --git a/ProgramServerMPS/resources/PngServerRRJ_lock.png b/ProgramServerMPS/resources/PngServerRRJ_lock.png new file mode 100644 index 0000000000000000000000000000000000000000..65dae956ecd5c1a49022f64f0ba304338970c46f GIT binary patch literal 11795 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 literal 0 HcmV?d00001 diff --git a/ProgramServerMPS/resources/PngServerRRJ_start.png b/ProgramServerMPS/resources/PngServerRRJ_start.png new file mode 100644 index 0000000000000000000000000000000000000000..1aa735eb36a2c77b85b3364713971bd43101d40d GIT binary patch literal 12552 zcmc(G2UL_z((VilG9U;@R>DY-Brr4NoIy~6Ac6?OFbqM$kaJc^f(U{V1(hU-l7mPP z2_i`LLvoNPS+b!&T+RXB>9@MNy1MGA>MDrT)6t+LKSK_IKqxgY zs_H`^Q1A$az)yf*rmlI`;1`+m#p`Ym$VpnlHx!bR#snTR?5-NS8*5*d#^N1?Fjja= zoRGJpGoXe*WEH%fF<5(?JHirYW9KBtv078lfv~fZ<1iA_Mru2&;B4(K`nuu_e08p3 zeeJPQRvZfQ2w87wz`zmbjzM@kIykvWd&_bBlAoN9W&co!tIZ6Hu72H^x~QC4?kw=_jET_BWlg zhpWTS#jUWyI0u{~&dJ>k(4v0RI@{vi@ou*Gf5H0q>wj1Ps8(D1_Zt6H7Dvb5OSrkK zd4g^HsgQq4?RM4287HidbHjVMVsUDoKupfRcH`!*kNcZG|AXm({P$#cJL`Wjm+h_wMXHUrva|O2-$_x@B4W~FsDB^@hHQm# z$NXDjE3C9N-qjHUj=|0mV}lcRcCz6>{61W16}$u96)X&-6Z!jbO%)YASG={I19;)4 zuc3_4R8tX0Nr{UKqJ>aD#nsl9)^u`n$2ehenyPXfV6Q@Uc2?3@Bu)xzg%%eS7Z*ng zTH-`ef|lZ7+oF;pVq)Sb99lv`@~`=-c&rD(FbVU2`KT2h3wZoZJTVCj%1Y82BWNv( z#R;NBMX`dGSWyWi2|trAA)5_12#Y;48a%WIKWna4jL0I)WPG|padETzJyVP zpMSo;{%_v@?X{tk9XJa#2ZCT*ztnF4U=FAmto3tD&(0g?V618fG~@PD2(*~^-@m&4 zUtR$e`kTW3+Po4t7B^t4ZhvBwGREf5CkH$EzqBHWmcUx0k(PqiR$|tINSvsZpd<<< zCWy8YMPtRJP*_nZtgJ8rkiaCwucu#(g#Y^$!2-ZMF4_?!@cDCH1Dwlm2@pS#K^lYo zrBE!vuW(ize-7LI6SMly4)7OSFIyZqy8p)6ev!H1t=+vat~ezdaNhrkKMVg$`SDJk zIM=`1fiuPx17Z!%)lH7W+7<7J`0aZLcRT{)?CfBN{b^yso=#SO;`wila{SA6+%TU1 zy_SHHTcfd95kV0t5u_keN>o%(5+h$B=FWvUb0^k>E){m<~{Kea@Vf=GiP_HV)(RtjZljkT5%w88=JL`sTc z1f_5o2|*0fS{y5GZH>ZNiV^IZzzzRD4Qm8A`KgA#%QF8O0;wzE@psM)KK#zQaZbQ{ zT|rK*Gg8_EfpAl4sw!RePFqg*bHDMqc1~f~(?P?@{>nwG?#t8*_lqZ?06-GftUIQl$vm8xxF3k$)~;lG;dX*}eN^)ccilZ%S&R zG{I5I_HvBx*JVz=kOjfDNWQN&(d}6Ysn+D-L+pak<67(;BTeP ze`jjxZYp&lr-8hqDMMAPHZYCv7rxTm&QWI#92VIp_jR(*y!*wYfUJXU0^n%u#Gi{9)0($~T}mQy34%QvHGBOvgK=jCI;lLvtXtIy5I zo|%z(u4wBl?0u?JkM}B{tBWyE%uKo&T)mj_Wn5)Xr*+I|(#)axsT!ZRfz9 z4tlCE8s|FFXL18(PAi`zhRu~5o5eR$hw2D#!U3lnALb5#V$+AcXqL4ux4k=Wd7Qpn zZML4Jf9vMC9lJt&!~9c7cd=M!&i>cF3Y&#c2y1}~Es5Ys2EH068f^&rtyCHnat3_tw1!i?W%c7Lt;8NeXf|}yT~aRO?LmIc(H3- zp8L5MNM0$U@%?(+lHjo11NyJcktGEH@*`ol7+!ky>BYhf{A|DA6m#a{7|bDLk8%#QW8RVO}n#y4?& z?^&|vdL!>}iXjK-D{#LRW(7wi&=qc3yNbjcYzLi{u-(N8KrkDfeo+xWrysfygSq`7H^0>Ku`t zTGDaIGLx=u%VZ$dx7awo_C+Wodt%hKU+Y%%5UW@N)M5P81@9<}6(xV&UV2WUYTRPh zfaw02){ed#usH{txiPMFxwa9z#-gw4U!viP9+O>i7q_JLw}r#rA1?5{mc77TJi6cV zlD6AKc6}X0IY3R~aKmi0`HQHcs!3if1N(0h(l= zCF5<$GNfXut}m1pQ!I^KcuT(xL=I>wRoG2E!!yikv}Jq{cv>h4bCv`0SwnQEp-kNT z17_ty{dI`elYwqWRf5hHoJIXu(gqrPNuUEu>u6vNvj${yg++`s!QZ%2{1ERN)~!m( zW*)e^8D*M*g?ThxU3WDek#IBFa+F-KeR6);y^Zb$4Kxq!>Ph^=txGq)t@0bPSzZ6K zFm16780SFyEq+ZpZ6Ee3R=Tcpto^0k$&}pV1G)z_nJjV34Y)A*Ym}|{AN(Q3xX);< zbj^c7so5|NTKj9X48tMs?$Tl6sT3jPLcMW~&nO-nqGFnk*pvq}SjQ=ib*5>c8U}YF zAy=i6B?1#P^EZ+%V&F=2&nu}v9ioR4EtXk}?S`*WPHS3BCBcF0sALH*9&Xbhp-ywz zyW22yv!QZyEF)L&m#dyMQIM;Admk;-YEFOUp9KEJQ*z<$qcxl2Pu%D#4h?5WD zVE_CyVd(0IyBrY12q~N6t79Y8)hpZ+M$+FmVJ&(V<}$4d+Ll%QYQ#gPcxZ z&Jj&OrO> zjRN8Nvo{sH7l^VrAS<-zZAxPw(mRvv6z4q}S+UwDjJ3%nY0a2E^>1T9d^(q~KrbB% z5570;z)mv4Hy~IQtGRh7X?)ih)?mg_P0BE;^pw14eoHOw)(tSyILIDf%SU!($oHB> zE4hF=99^q2Oapa(Y_U!1vu`B9P#f&YGei%ihEZ8?Lv&!oi%U+5)ZbBFkH+&4#1%hN zh69v;u%w+F#IBS%FB{s7AVNrfOsPP`;gmu*OwMMj;Z(9G#} zIiz8h;EfWy*XP@x$QS~NE{^z$*$*xG)ZH-VI-@-_ngb86X>z3+G7{q3ml#&P?siGr zJs`>O-t6$$eS@SR8?6^cOHKx`1~qihgzfg1aVyC#g1NXORk{)_GbUwXusE#5bOy>+4~&DN-d z$S?S^^qM4tnxa9#LeJZcn@@;JKe#XQvflXW@J3-pYq&34tXmnF@tzl>o>nc#^^gKc zcKk1dC z8r-b(mDQ3gF6A*UlFXAzkBEnC`?1efm_O1`&jwqiy(v3>D~C%-ry5yvXmE|lH~R9z ze7eb^XY{Tj%wX&KYpHspoUe`d=KM?`z#~*2k&p>L$-q0Ro`&mQLzV$h^-kzecz537 z;U7PsEFGr}F6fXReUCG{JX8Ks%YG=jG4o-^{U(<$drFp&nNWrO+h-S>dEN^ULB>kB zFL`b}B;kv;n<&!H|715uN&~^9csqUyW!$-H9N|e3!JB>GK&#MD%h7Elj{*&&&bd3l z(%GhV(LjyQBXU^WDvnLjhq~j);v*|h5-%xq?KB5uCIl?;A~S0-;(ek72c)sg*=;=* z8K4TeV;8riUF{f(1c`&Jj&(*b09jr8gAp z9EoR=Pi#^r-$Jq`@t^Qxe*Ht!lmkIqKM_Oxk&%87j>e;Pu6exc=Qzs=9Sk$vF)$F zUJCkjk)k1BDk)8&jz@EPo2fNmk3oEFrzkg_J=3j5!gIo>xNd6Xdf*11f;wI}yL>Ed z@M!rA2Sg~|hZa`a3V2SYR`zbkAf26$-192(b zI;qnSEmJ-nTBSNm_2i=*~F zp}3LTz(-3w0+GH@r`iyM0J|;xFeYT0WRqoaI__}Z2WD%nzjkFrk^0VtY&a?40-)Ve0< zS`@^V)A_VVRx!VZSuZMkKP4dM4#SD>^i50}mO)gJhjN67H>_xmN{T9Q=gk%$T+T== zV?;dgn`kz~%v^5$)?Jq2QZ;T|P`{iU@UoV(C8fe*Oj{MCJs*9|RIBwgiI68=za|%u z&^iaP<}a5~puf;tkeg;(`7AUzRPU8>llqiSnE(+2&el-oi^h%7S}+3ioj`*;yA;wy z2mp%Irsv;!*ZIJy-SQo2AWF{6eF?T7+e|_TbR57UKJmS`)Ts~#JcKOcE}^~=0#4|} zX~4m4N8v@n&_WjF&jAKM&SyHq0Q})X4@MD*D&+I-L#GG~q4z551w4pAe*F$J+xb0p z=NgyG}yP7DE^9vew0x^wT9df&iPnJEVdPI6)Ez!br>` zmo9CrxYwf~QRe(eI`v*%jqL;7J8(rP;nMJ;GWSK6C8ra1=D?bxJ(Pr7np>AfukyjU zV8mrbwz<_N_*iz7zbO&iw|P$qsQ7z)>)vy%7cp8dw3(9gIGIlRoacz_nK@3<|CZQm zA|(e>YBvC z*Dysl(-02vjvW*A%V|t7kSVF?%SC$kF>)Jl`?=FbR_z!JvRt?_J?Etm5{;_KUcIq2 z@;z5Z;8w4=#K=0fQ+1{AcT@mL1vZW}h=P{;M&zpI_m5AnwmGK2@5LyRX;3;-GZVop zMB+Ad)kCg(YPEn+TZ-VWtq89NK?Yu7X$XDXMr#{Al?5T>nS>a(;Mq#y3-M-t?|iaam(Ro4o|XG+@MQBwvP`@AcZ-RX zicG^(5Xnc?m6okX*Rx0wUmEk(HVQ+7);ZW{KFLLxRldp7lHIf27Au*Y;s$0bXTF`m z#iljvDA7wyt>cL z>-OBX89=48jIqY$ADnl)8-o+6XX1%0nMzMTVO<`lCV z)N@YVNf)Fz#uq7Dxzv$p6K%6Ye{f)))U8Y#kF8Fb@s(e*Pj9rmq7x!^_8}8~-?kjK zL#_r>Od@xA$@zmXx>f~+{U4{Yag%1ZT=zxLSSI!@hSxBsn z&U4uZP%Zr1gF$V z@j2oQ;yNPHD%;l3j=3O6EYS|J!h2(hNq+Q6#8nP+NFcE+h3Wm8PW-Iw1e=9|GpqC4 z)E1!M#HN`BJZh}S=8Z$U)ow@-(Gkp_^zj`o@BCaPrdN>>=*`#d2=zQ0V5{NU?n2Ty@&8=~aI5|S% z-*=xB=ypaCwp%`|Ue#fQx<>nm4mj$fKkJvJ3K}*H{Tdzekcf;Kz>4sO*#!Hjcq29~ zq_M3SR_Df5hRL=SC})F^2r1b&lC`R?NxAt*bvLU-pJK(B#aI`ph? z!VJ?sTTV2X!>yAE!B<4?`Y}hBS)`KZJ-z!Bj9KyHt^n}4NINuu{5zlPglZl4$ z({ccAN@v$9!RjQYB7-FQ%y|${`vTdIQ|c8uwo0#u!zZqi9W(EWtM}+%0zPkX$*a+k zmOs)U#BD^p(ec}@Z}T!gPLck&IWxNTsUu}D^p7(!LLLU@jl7DMkrYr^Zn5AyT(zE& z$nD#Qc;qvUD%VLPJGnqqTm4ZSja(>yz-X_1@Q=3@32(%dl7gitR)NN~30xO~Vm8+x zl}`@qCG9(1yVtt9%v~kzP`A^9Uz<$TI{%cu0S}O6d~DmdP1@?#`)fx6z0v% zdiCQTuieRNg}Ikf?V7oLnG@_s+t&B(WuJsh%FCqG@s1NRj)(qZj>IF+URj?Y{b4>c zzjmeKLeQO3U8z`iX}O`9)xa&I1Mb7~l;ssmVMpXXVNk-9wABiz(*uvA&2C8QV}%YL z9qH6}n+S3>6)bVhSj2{T#t(AJ@|cdi;_Uc6Kje4#eHEbXCjToKIdV)0J%7-hVYYdwMY7B-3ff{U6#DuxE1Dgr5hMMZs{A1G64 zr3T9OITEMk=zMl@o}e6)Pnl|Uj4heZa?{Kuy~5OaY})nEl=+xK#6BQxUMBfz+&P&~ zQtVYOX)&G^yiA14kst+~hpxYFNiS?d#Odq=mq-5nCm{n;(*Ae+luz265k?RO(XPa6w zkZ-o|rS29L6<_N=YxZ)`MILA&ZNxpFwv!4;d@sQs=#F+b_`1{CNf=OrL|<)I_>aAJ z;DEjg+E}HHdv6@iZnakN*G07qC712$xP06zJ&4)616&7|Ysrsb%o+E zw3$a3=e(A*p)jz)HL!Hx(6TotxqM&|CuM92R`G9eBwjjS^C5S2-hA(Eqs*4kU!zAkybCx7}aZ{B@8Y@`0;hYxVCyMgZpbJJQU zCW?c{MM&A^hFa?t3-iU&%xk6&AUw&sz*}{?rz)VHE)H?J3OzHiYmtvi)msm?lGWsm znvJfQ4>xGm?Nl!uSQJy-AV>sDx1FBF`=BEa#a;M_uoy5zOH@9B`4Zo-W$$B6C!P>f&T%)vunG| z^*W|W+3YdR9WTGjt+t-yCh$=H8c9*JdH{JpOG{9Af^56mqmbtTnWAxh5=DCkR4$V* zGUjIb*}}Gp965eEBr$$%fHS<>Z^5%u7B>jEnXQ(-Ts8?&c6qjH6}BZ=?{?26h%^!k z$K6x!6InZBe!T0o+qOI%0omV0)fHfowxJM^nJVzcNdNgQJ3HTuxpa1LVMePzT^nHUqS`*<)Cj*n zW&gcrV4U=flk6g?|3X>2k5swM=Fo!0<*nMz250u23b_yQQs;UXl-#X-RyRm9rt((| z`v*iNtKWJJeV}fDf`YQgFsyQYaBE^vMAy=5RYz#tg~m>*ttGHXtBCbT6f9Z>ffv zg>7PP|2UDVeutB{Fh`Vy>C?1Gf9vQVePFUg5EjeXwRI5IUL*YMY0kNg*`1dgu^V1s zuR3csHEgn?t_gi(ZqmA&vL8Q>K5l@Eii!1%<0(k%YBqzu5Biu}ubSUX>2*dd9uTV> zj?n&?NwNhjiG?>;rata!-7-uc0Qc?jU$*gh*?+f)ZFcjk{6|{Sz)v$~0vh4Ohr}(% z`(BTaPCgDqG`5HDAeASRy-EcRPK5oae!XmzhRSukjEsvDw22+ilHgf?P#fog;UZn z&4<(M&PwgLF6219OiR)=@hA1izhuiVZQ^d$=0V7IUU zFhMEzfk#)~CVE35XpK*3wJzcZka9D9>h4T!bJ4&rJq`pP _Z%Z23nc{&f?KiR{X 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 literal 0 HcmV?d00001 diff --git a/ProgramServerMPS/resources/PngServerRRJ_stop.png b/ProgramServerMPS/resources/PngServerRRJ_stop.png new file mode 100644 index 0000000000000000000000000000000000000000..5521a3e9f9761008353cd7082bbfa820d8933932 GIT binary patch literal 11070 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