From 4eafac8fbb22961c57f0d3dcde23b1e394ccb946 Mon Sep 17 00:00:00 2001 From: LoudSnorer Date: Fri, 30 Dec 2022 21:02:17 -0500 Subject: [PATCH] Add folder for saved Layouts --- oscar/Graphs/gGraphView.cpp | 18 +- oscar/Graphs/gGraphView.h | 6 +- oscar/Resources.qrc | 1 + oscar/icons/brick-wall.png | Bin 117847 -> 12788 bytes oscar/icons/cog.png | Bin 4656 -> 4902 bytes oscar/icons/exit.png | Bin 5504 -> 4090 bytes oscar/icons/plus.png | Bin 2204 -> 2128 bytes oscar/icons/rename.png | Bin 5417 -> 4306 bytes oscar/icons/restore.png | Bin 3495 -> 3339 bytes oscar/icons/trash_can.png | Bin 5205 -> 3485 bytes oscar/icons/update.png | Bin 3455 -> 3345 bytes oscar/overview.cpp | 2 + oscar/saveGraphLayoutSettings.cpp | 480 +++++++++++++++--------------- oscar/saveGraphLayoutSettings.h | 67 +++-- 14 files changed, 305 insertions(+), 269 deletions(-) diff --git a/oscar/Graphs/gGraphView.cpp b/oscar/Graphs/gGraphView.cpp index 2b3d94ab..301b8778 100644 --- a/oscar/Graphs/gGraphView.cpp +++ b/oscar/Graphs/gGraphView.cpp @@ -3513,13 +3513,20 @@ void gGraphView::SaveDefaultSettings() { m_default_graphs = m_graphs; } -const quint32 gvmagic = 0x41756728; +const quint32 gvmagic = 0x41756728; //'Aug(' const quint16 gvversion = 4; -void gGraphView::SaveSettings(QString title) +QString gGraphView::settingsFilename (QString title,QString folderName, QString ext) { + if (folderName.size()==0) { + folderName = p_profile->Get("{DataFolder}/"); + } + return folderName+title.toLower()+ext; +} + +void gGraphView::SaveSettings(QString title,QString folderName) { qDebug() << "Saving" << title << "settings"; - QString filename = p_profile->Get("{DataFolder}/") + title.toLower() + ".shg"; + QString filename=settingsFilename(title,folderName) ; QFile f(filename); f.open(QFile::WriteOnly); QDataStream out(&f); @@ -3571,9 +3578,10 @@ template inline void hashMerge(T & a, const T & b) } -bool gGraphView::LoadSettings(QString title) +bool gGraphView::LoadSettings(QString title,QString folderName) { - QString filename = p_profile->Get("{DataFolder}/") + title.toLower() + ".shg"; + //qDebug() << "Loading" << title << "settings"; + QString filename=settingsFilename (title,folderName) ; QFile f(filename); if (!f.exists()) { diff --git a/oscar/Graphs/gGraphView.h b/oscar/Graphs/gGraphView.h index 1e1bfeea..e0a6f12c 100644 --- a/oscar/Graphs/gGraphView.h +++ b/oscar/Graphs/gGraphView.h @@ -396,11 +396,13 @@ class gGraphView //! \brief Supplies time range to all graph objects in linked group, refreshing if requested void SetXBounds(qint64 minx, qint64 maxx, short group = 0, bool refresh = true); + QString settingsFilename (QString title,QString folderName="" ,QString ext=".shg"); + //! \brief Saves the current graph order, heights, min & Max Y values to disk - void SaveSettings(QString title); + void SaveSettings(QString title,QString folderName=""); //! \brief Loads the current graph order, heights, min & max Y values from disk - bool LoadSettings(QString title); + bool LoadSettings(QString title,QString folderName=""); //! \brief Saves the current (initial) graph order, heights, min & Max Y values for future recovery void SaveDefaultSettings(); diff --git a/oscar/Resources.qrc b/oscar/Resources.qrc index 816db239..23f9ba55 100644 --- a/oscar/Resources.qrc +++ b/oscar/Resources.qrc @@ -65,5 +65,6 @@ icons/restore.png icons/trash_can.png icons/update.png + icons/cog.png diff --git a/oscar/icons/brick-wall.png b/oscar/icons/brick-wall.png index 9d2c3536e11a0236199a8325e1426a75b864d241..b82d5ac4b5852d5fce0acba2d4962acc9190d89c 100644 GIT binary patch delta 11823 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 X)KA>hoUwX6Hw)-!=)*s$S%>{EHrZqr literal 117847 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 z zHQ@)q)ETny&O{umDu9~TU%azk0Q6F*&eL)s=1B9>1=UgsDrM@?P<@k_TaupxdHJOj z*~v(&k(>qp3#MoN8SxsgRfXWf;&v{`NL@q;(OQEn#)@RM6lzBYQ4j}> zToQE>LZwfRR4dU~!Z5CYz6k?<99G}7O>1m61D}k6pT0QZFMs1>ZkNdOn;Ty24?Mr! zb3ISo#zfR4q^caT&dTqhrUDDx`)@soZ$`iMRdKrqpc&oH-K&j~LXN=v;lTcI;A+2To@dRAtSYZDU>vqJe61K4I2i(`Cnto>hy$Fd{KDgh{Nniu z%d1yJ)%JGDb<^LW{9Kim+v>*QtrfCtYwLpOeb)z9w3ZmfX0~tilEiH}t6>qjXt0Ce zM=1+V)s%yRF`A$&8%X1h?g{-t8PtuSRUw*oQ8w04i>&>nS$LClc)YqMQJxb?m99-v ztSd6cxTc@C3$cx8tBR;`HNOsmA7t&nECNg#Su~VV@Imcw_51I>M>O>UGXka?XJy-m z6d~CFdTJ8=qD6eV<|VEyb?5C`ctI8XYK_urUAr`iWD{>DOu=i|DM}K}N$3sEiQK4E zO#sqBEx*+k&Z^iFYiCzV1}oW>A$ZctH4}d^qkJiGr_FB&qML4Nt6KgD^`aIbDthMx zPt>AmtPzqf@-Xy>ww%-2ZFk8^w*hh*WNLM})~-!{A2FL*SE>EwMKCF>$vnyqadN_d8zR?YW+34l%Q|Lac_O`pI5x)bv{l8bWYg zHL>g2?A?j{9y_I=50R@>Np7JYC5y2hH#9cR;fI0KlM|Nna|sQZBnheOUuk9AXo~;< zAOJ~3K~xRnT8To)bJ^+D;5ls%)aCt%-qmFyqW*ZXwxsCHaMM?-7He!5mmZJF8xPz`=i ziBeS@OYCl%j#aISpOd%ZU*AV9t7*$s9a>wJZcN-U1I~@GEPBxL8hzE8h?wQ&(pLRt z2(l^a$;A>vi*6)6#w_>Q17F+7NoIhR&a^hg4+T+U8yW;224(vTBy@OUY`0*R|7T-xM5%zx0v7v!^r3?XWNmd+kx*q zyd;)K>g?LM+Rr@S-SJ|#=jt%APl-8Z=A1~iQH-G~hwv!kwjx173fk&MyOyfsdA0RO zzqpT&y?J#U_T=P*5CYrn_B9LV{`b50S?Ab&z8(21A3tH(-Li|)MT;UuR=%s#1S-bY z(Z1+dE27Az6t|zeUHzbn*0Rih?QnAbOaI`-HN%T9h2>r=4~Bt!B?~}c#aYj>sZI5l(S$xROTfLs^u&u>#yG!m6YhEZ{en! zO4Go)z{wy!-({J}wbHC%yWL=|u*q|gu|P<4P78)?2)!2rxDGHII10CsaoFm|)gs}v zVk9VLhpzT?7|Fqt__C&s0pc0%yrULzZAdAu;3%{eXX^Z!eyv4Si-8Y*J;=u~T9a9H zjJ4K@i>&qJB3@husHO^NY%E@x``wSewaROX<|Z$LBZ4jeUXALM^W#F#)hohra$Xqt zrL5LLIVb(Q;sm;8^mVY`i6B`luse@VXeZs76VOps9;{j_IabwaisZ|CSq6!*-+_I* zq8bRpmSNc7M)4hULm)IUr#x+qCyxid`}mStDoZWg#mvn#v6~jImzn3gJuh|#?iLBy z&3g7$zy0-=br;y9auV(ptb0hIc}sD4vtX>ixnk~BJAT2X|K4JZKmAMpEa~oNgh)5fT)lk7 z53XPEBuzY|vANrE;=~Zm8q0Pwa=INE!@zbUMGTt0y(R0dXC@XMcSy z?4|=LWr}I9jfd-2>fSH5bF#XNYK@UR&%|YxQ3QkaYT|E%#MgkJa{F4k|B`&ptPT&I zyVBExdt`e9_0Mu-Bipew&m<%LzxNWNA;R76uTKX^j-8r49;*8`&b=+~HaFuqD&8h| zPl{=M8%HgAARAw2tn$VDs;8{2;({ai&03suPUIqy?X}9L(;6)rwa~Se$M5@i83cgO zOVqBfFbrWG)m?uWtic#3o?u#pyNz(o;!q(<3Jr~@ns!u#|CMvadn-k@NKvvFS}`=` z{fX&fqnM*Rf{588Jz&_$56nE>Fq>O2vgGh%z`DS=J;4n@f7${J`ET61J}lCX{Z)JOWBN#WucJc8yLRt` z<@3ln`D`5c)z6-=J=}5q>Plb%%xW23O2uf5oL3m8PY>(3sFJz8ET?PSPX(C9T4?D^<3HG3-ZPe~v zCBkH5P#21z9fL$XS?gpeP`g>0TgR3DJsJ?IMiKc^fBkikQxpN2VGw_KsH81ez}kxV(|Z0YZVuHjtW8$cZ#tV(1Io9##`m0TJrPqKLfYD@U)$oeMj z$>06!x7Nrpvn-Me>AYP5Ecvke4`3&2X+%9zXnHpQM<1{TtD&O3M_G}LY+AQ>PCKlk z7+xQVeXyEjWT>W6Q&k+Ou`Hs^vz^OOQ41G&xQz<+bE%k8#Sl<7KNwS~OC%)`EKk!! zZk1*nr)Ou_Ab~C>1pF{yjd=f$-eJ5YdCzBOr~IXFe8OA`SNn zIi^lA&`wF}FUNk~4XBGqTfp=b9#+X&tjmO<5r&`-N6~GGgh)6W2-_o$(mk@gR~9|T zhi_dC>p!Iyyph5tv_b6wPT%&re>-^%rCv)Rb903^?Lu3(4o%{E>d+b{WDHT!{M}uM5sIx``lmw|o zzm$S)A`KHeB`Jxel*e!eU>aq@;!G(b^j#%9)TczcA z>lv)$)Hxmx1GSx#nqe0cH)-K+$voTL^6YNU%l*Xd5}BJw!3^f!wB6)8 zw|j4$_@Ii`ul&ld{Ab_$-uM1HXWhx^>B+y9bNj_*S%y;c&!-q!mWengmXDq=#f3P{ z#QmOlbIsk=6?b=6xaq*KENth<&??(`;njY});TsIuszwb34>r(Yx^rwp=VduGSXPf zPE|fe9M`%-;0mCY3sOI+i|;CiXfrx-XoZkjDF$+UzM(Koc(*3CE*l} zY6W|-&QY2Oltnzw>bz>yhG~h@=$B{3ZpCl zT9ucH?Y>n;LWa@eZkkvi1H_yKW3z!~1@Jdb_;;p4-rZ6T@`7zt;W~N2?C=3Uj0*N| z7@cSEmdE3kcIKELoUyNk7yE@TcYA(tbx!XfN@xU_)q@my>;S) zDp~-){L8=meSqKoo!|L)Y^!E_y4@J~7jjA)YajhLF)l1|A;-wPEG)}RTs~o*7nXTq z+1;`1cI;n#MSAfS_V$j4DRXKqBQxQ4hqngr4V0dtD3T$O8dyq!Y>pW4{ZSI2yOz|} zsA&M<(Yu*~xeO$5=U zY20}!v~2W2s*J-4YfEof=@$2k#WYRph74qEZCPxl4T9keUIH(AWE8crEJZOR?F?%X z-}oxDgMiflk|G3Ht8ZHk?JVVpn+bkb=>*BzDswLD$h&S4@8K!N$nPwcA|F*MvE~(X ztWCDCt+iD!F5RHI%o;~h>!Sa!y>}0`EWPf+e&2KNea^kNyJs}gX!ID{*p?EE1@C}L#f^J&-Z##dd^YH{h2M_P}t z0`RdbY%BCorGjBOygyB0SmyLih3X%UAtA(w7$RZ_2-Ae{n%5$X8^qNLC(k{Lo41~W zU$4=vPO%s_IM+EWtm7w&l&w^^3ZWx_0yd_os9$g(GZjo>g7Qly{chICB}x02XZV8F zd^7GQ2t^gfI^@Xc^=X{ua=In0rnIUQKYjUqf^U+_es$0aPFeWQgGe}y$_TJDAt&ZQ zwt;g9fh#cQgj`NSWpe!Qw1$$c87JgC=ZswH9ZLcw`usI#khjv+X%Ho(80L+l({5gS zGn7IAtd-;#k+h|Xw~cDsvH;jV{wp!Q3rt2YIYARx*p9aD$E6fZ<0uJLHnqw?TLz3q zF*vDB56o(r(HVK5Xfz72(P}2)rxcMB-;~y9so3f~O^4PM?^e8a&K4=+0`bHe8K zb6B0NxmuDLXRA0{Yq&e!Xh?XLeilh0NnEq32mqyxJdo}^ga^Kglh)mF`O-xK@RWS{ zQvmQAS3Y%=OMSTO=yivnzmP&eF6C7*gbP7#`Va!*t6zh#StG1hn2t|y^Y}Jy+`0jM zc7mf2aSjzr!)=ACgbd(G7;Ml=U3>xHt%7GFB}@q81YHTv8CdI4Yvlx5c@|(~1-!de zDQTJs%n&|gN{KbuMVs4*B59$5LWG*csKY39UC**Em8F&|F+E0WAVq1r6c6DWM1k$2 z(u^|fI?pX=jI3uQ8syp-rW~cR1?$Qav+sNGW|oyD$T{Q^IYBDGdrpc`kntc+%+|Si zFrG6>OPtvyD2q9%HkhyE=ZVf3EPM}@MwYzM?AfRQR=1_fXm#NtDydK#K(Yxmc8*PF zLzX3g^g_P#EL$za>XHQ0WtbMzs<{{=Oe6DyXJjQOMxB>DE3I1N087Xzz}a4mK`N~7 zP%!piooOcRVVQ0o=)`UJ)} zxPAdU4A73Z%MW%IFMG{{*u3Hatj7_hRIJAp@-$&OK1JHBK{-KDfma%xQdplH!PiXE zdcJte1ZMt$()|gJs{pq3`=Q8e{&~5GKUPj?vsk2E+#g!Z;zW&ydc} zFx|R|&)>QUoSwl?Yq*p!Lg6-OgE=UQ` zR;+tJ*1x3=*HAqIAGl_{v zNi580EiVVW^YZ{*X@VgQ5VvtD2Gm(co#qz3^BqcJI7(H3cMcjFwPw+wQlP4sF(AWs z;}moSasjkz+G0Y{Qp|_tDn+w&w9!ZuLA1p+X)yw>qGW4~mew(&PG!c!5roYk;{xX8 zX4J&sY*HtH((ru`Z7h^!fOBs7>=-^5x4FKLXOvl3jO-#D!icchAfBEe9v>raR*0qG<u?2Iv-ER1FBkkaffoKglXV~;9r z+oV#9s3K%`-3DM4U!dE$RAEzsl#y}-gd^5)OYB*vXRzlk+PlpyTJ_cFLe^OB^2F4D zYGLzDwWS)R98i*2vn!?nDWhPuLZF0FGYq-ywh`O*p^?-9RzZa!P~f?T)eOv4y9grM z-DL61qv?2Qt!4!Q7EILQCCS5d_5dg#i1ak?_UD-zw{-;XI;IwZL@9)s5=Az=AST%> z1)(-cvX@FR=PV%PHuqEl6b7o|jic6Dq^fxyWwn9wnyWJqP&ITFo~zojAQ+z)S$QNe zrO62hIZR?NR~VGrhTd%AQY9(#&(kDLZwN?r!vdN{!yAV}#7WCp3)EG1d$0Tb>mq60 z9TzWNEC8O6FaJ0IT)lerLeBZ&VHkez5z$Y@7`u|ot3n7o2aB%|ctu2-BJPvQETlMF zLd7U*6FFhMUg4={pFw%>{&}bzVwQmx0P~_?zSvTNX)e*asY!}kaAm3FOhV0( z*Ynb}e7&>>nsW|b zOjujnR!V8B8BzVHFpfYw} z)iu+1%(t3TQN#V!CRyFo9pswhWOwiT`|C1kJzre9bm=yL+gGn%{a2-wzcKXPeG2$} z{m{QsDfO3PM$5aW58&+4GNSGIbtEw~N{t zo?`(JMN*9dg)v5yN&u;ObGi-2Gc}Yy>)uQ2TDaQcf8T@$g#nNW1Tph<7E}~8WoT`s zq%{`CvCELwPFM^{#sgCAsS2YVpcvo93)iysC6I?j zJNFF_=sGXQphK7@UM`vWK8m28z99d1Ke`Xtknuj<2D@Zc5D! zDyNLq*$RuJbLfW!Nc;j?LT~SNmkYa_Ea&zRcU5Mz^%B(r%~3KZ&hl^D%v32Y55*Ub zmrT-Xap}^f0$?K_|L3EhzUE3Pe^V)SFbu;_#28WX@VZiQDW-@p?If)j5ZZ<^2GDAS zfAX2%!u{)094WwQ4QCbHv+U5@bsY{4j?i}*EvS{ z=ZvB2I0>t|t!7w27#fC!9|4}fQ5J*SZL$KeJy!Cd(O}Ax73GYa%1lcuqT|M;C-Y0S z;M|(r(pZu#P`1f7hlpA;eBT4PAWQ+yd(@IqQsynI(a5V6kTWk51jxlp9Iggi#ko7v z+Wma4vZRupnG`eHhdHw(AYf9BHNYin7}xi_hhK6@>+X2uO&1e@&&!wpEdX4*cJ+Z6 z(`%Pl{^vyWXJU+9O6k7ciYujrX&e!bj&Sz$b=Rd81v)| zhQ5dIIxLn8^j(LcA7-L-Q#+_6=x(JL-=j$20v6UfD8-NprM7%Xesc5dN~vvCS8L^# zRGxTkQNVyz##I^TfWjhyyiKq0y@&TbQp^Z3NOe$AQiAV$X@4u6bqFybrwHd*d7&A= zwu-C^2{l)77vc&q$IMlgVW*i| zE1Wev%gn5&);OsZG*_}&oTZG~nu?Uf64Xhvr%bTJI``Al-WQ%Y?1(sg2} zYCx!n(+EgqrewC~Ji9d+W8sW}ah72xQ{Yxj9)w#U^0vyFxtw)tpkl3^-FB!}KsKyK zYZS>#+)ncYTNyDN0k}Xe1XC(*KlAiG@7b4p(t5tQc=6H=05=|e^wED&O8NO=7+yIH z{qGB5!r|fJAImvkYzZvhcOSwlAHsBYhO|CISf62idWMs;Go;NKFivneVVEL@^#+5{ zSU8KN^YER+(DzsjODy^U&!1TXerY#j16STn zQ<*O~EBrqhk{TAdLM7I3ry4}3oiS{+2tc${R4|W_wa3_)!#Xcu!x@naDAspRwLnEq za-DD9lOp$0i>O|xc@d##JKy@kAUNybod@c+?Myk%@;AQYmb@fZet;DjU#&r;K*ZbJ zB$X%HFkd#lyZ|F83(;<~K;=XiQ$eo0RrOMBrPAg*fKrUm*G9u>KPMUhGkvRJky1+Y zIf5KHnq`SFlghJ*GR`P-snA1;Okui9C!Z8C93myIIAs`bo#*c*;b`tiAXTMMVuCRQ zZ4F%4u`{*kv27I}wh)IlI@lExV62tMl*Il<{>1&kxiG{Ub>(Hn)OF<3Z@P8$r~q4!*gb-sf)7X5O7x9q{l8$(W7nlxf% zr(^=(M9yv9dA5XTGgn+QL0m3EBU<@Nv0xro7LHrNHW(HHbu(!#asxSQS-Yvp8dsT- z$jxKsixdFlbCJu@Qr#H2`EnAen+A$|p@c>3wv$zrn^B7*DF@#~8I^c0r46@?6k1Ye zW`folsYafQRf3}CI^L>V(cdZ=M66ZTz?A&^>ABrWiK{%V4ZIT*mdc9>>+D<^0oa-U z$P7@vRbcH-ipDpjCj`qFW@Cm(`tvz zme}8*vW6Xa&c#mQ+xh5j_1mtGc0J8QcG}7|HM))>V#%6z{N!8^8VO&qloA*tY5L)w z_vJomeTnhrH^2E=`SfQ2{Or{$zwuDX^y=lo!GBdt{*x(27gAUxQ7_;@e!v(aLJWwT z5oxtT*qq_?xo3gfx6rLlabz7XbRBv#!knDIC|38>Mx*O2mWu-%9Uft^9ApKrL} z+m3(~ zR+hhRO9v~j-So3`)7w`HC>hl#EbhDSp7-EBY5fl4(&e{Y2XOt-Yyb40XVA|Mi^apf zc5ja{;pm)xZ;bJEb1NwqVwfhx7!Y3d8XoGePI2@0F>b6^Fq;+pxWDdN1p1TQDMs9b$L+3rZ-ed4RhM|LXPKLP^-g%TtGv$P6`*hS&Wr3KgQc9U|Kh?+} zRkOBJEfqxLsA z0%}z-T0vWlR2Z_-Sv0x?ExS9w)wKCfCS6k?k;tu>5uGtV#Qj3Qjjg|z?xAOJ~3K~!)TDpC!} z=2Oe}TLRqOV9r>+ouT?}OSmfs)V|-0Sg~{7xY-Ak%q&sr{4iCrBq*go6`&|_7^Q7u ze4*GUtuIqNa`8Wl03v{60RI92u3o+Rw*V{_i^UI?QZA;HUSCT2rg@M*O^p8vFGGCA z$cb!qhPYnic(umOljmSJYb;X4d8@HZ3f?H>nlVm66a^SmX^h6AAFx>TI2aDLav;)P zuvWdaUX`GmX)FLztdFH-@Lyy**yN#=Zckb@tAaAn(m`824`YpCqmkX#K>;%gohoa) zr<_m&3+`#d63j|(TZi4aV<5jX>(T(UI7mlX&KAiqzoK#38#G6#?< zCk$(yh()rwMHCA)ZS?H$4OvQLsVKc*+}h1vMC_0&VYZ^znhiEkxoRS5ZJVhHfr-{r z2(saX{0y)(joSJKDw$7F&M1W;C)Tq5*E}RQoFphE7>Ko=+HOFtShp2oiV|yxF}N7D zBIeBC=FA}D-6YlKYQTk;YmVpAhK5_snjS#k!Ia700ge|?iKr_ z^&-ZlOP8+8r#}qFb0tr`+aIwJaD!SL)YQ(V2ShR4$(UYZ#}AFvj}Z1wDl;> z(V9sYd~u_Qemhf`tYsc#3UNETfKXYaUD$)CV)QoNQ zoM`VA)Djo5tWJYCG#rr@ScQ>Fgm0LN6!|7C5ImYv=)6bHJioDqDM7|sXvJ1r#%iYd z$hJ=l+MX;xfo9Rf2JdJJv!zxPfK^Z{dva>Xj0_~~0uuTaZ}D22w#_GTC{V$yG7J8 zw}RFpHn;_#GIIdXqN-7av)WFiA|8RjC>RBx%9c9slh#*FJo3mRj{$h>+O=!{Jf-v( zjWIYnI{LvF<5C@|_ob9x)s!k?jFagsenTb z3?TGWkV-}v*H~}XxOIFC-+3&C0YlfrSq<;lJJ1>fXU)9nNjalt@e_1BsBIuf5|$C^F@o(KW-4wp;x!vY731v+bBoJUC-Ic0XW_7=uCsEE$J zV1*h@MM0!s6t{|V8&{k11gluAV-}m%yNpD3LhF_gMe$+>f0lEeXFLGrBv&ZS>I7}D z%<|U;N|Q`pEUc|4HFL`YFt^e)$r?t_khfB91sWA4%JYpOfB)VKKXADjo)+*v^q78W0n+@O0G6+_chvQT;l=Xb` zYc*3%aE~UD3b(I~zh^oR=N(c?=v;?11>{oDiCRV~1>KHXB_jfSoY&h`k+ zX+Ia=6=sVAVOfjZtaD?{6&pCr~o(bLxTi|4y_q3Z0iXDnHG_3Bii3#J#`dG87>kEV; zlEF8-Emb0vagw+Ze#LYm&59bvNNc5GtiGfAHP+5_scD*cTdKu$zKVx{oTrwU0Io=L zVNJGn?pkHM3wZzlC8`#To)?mM;q4}AHKXcdit~cP7!74ClqPAzSx1e<77Hrf`#RVs zt*`R9c=6&Iz#70mln?yIl~4U2)@HXjIQXfY(>Ir#za_3W5_I)U13FocMuCM>navJkqGupUPkI>rs}&~+V_ivd zG9NU?U>!!R*Ufo}8346v6ciaL@$9A+hGBpTLX0Q^oyeI7@J+C=3KeE6vZrRLVidvU z?NoG1sae)rX@aq4p2e}iBhMZ~3G6tfc;nkZ!R@573dwdLzDt0fVHZlxvojJJl_u7N zFG9Yz@}Nq!%_7!pB$sC&d}wAMJiaJVgZG&R`fC9 zbiKw6ZQ!lJ!7!ljdmJneFbo~Ku4D6sT4&tTAdWj_r%h|y!dx<(>x9ZvFr@%3+UE_O zqm-KepA4p$h^!dcscW8xzD>zf8&PJ+5j7<=1GrrBc2m{t(x!=Jb$B=i>phg=WUA3t z`xVYu6qFe=m11Ibg2IrB-25K325g134t>{ig_$#I&WK9E8+Ox~9Zrdm1c^_?@Dm8Y z6lN>mmo{}cco{q(ip0I=w+e`^`&Eg?oIjrXM(x)@p#+Ya?Z1HDcx8C}AJ)%p~xvla9- zLQQM*A#)N_8V8!NnMUYR;hn>9uteAQ@Xlk|FVJ}_5P;0|Aj1j?IWyqZc?WH|Qeq@D zqwsSnDAc6kWhCuvl_Nj68#}hLcE>{Hape7{dToEjN&s)+fh2 zgCkjv$1(Pc2q6YI&DgC zb~~72f^~L_s}d0FF1Qo`j1{rSre-ShtXwNshJyXl3X-gwq%y=XqapC6qEf7i!TR(- zsr#h$l8Hy&bnyhh34p&XAGmt;>PMp1=3sg7GbyEqQcBC5^EbA^>-J+pN~}X3LPVM- z;hBvG{z;eE3p7|JK z#8%DBDg`-bY3)R5RoX66vR|AlkBXSLEpQu*OIAf8c@Jn#I?Uy?xhaaa*$`Jv#%$>? zIcJtk&P^}N&6N%jp=j1x0~!gr&N^u<-pHyTO|~Y8N9FG36iOkB##@_9PUAFJrb>=Q zdsqONDL$g*Gq;ls>jfn;MT)K06ahskSR-3SKyX_OhhSeZ`%sMe~SbNAO;-&{(0Er9s)PiP2EF4q7A)HL>R|$ z7H^z&$!ZnKPZA~p0aE$2pQo#aae7WzNwmw1F)UppVALvHz&4|*m36sN&d`$ZDiboH zm2eb=8L*4X(~i@LuFcPg=|{86x4Vfl>b|6eYjXGJ}4LO?s$suei|)W~?M3c+U? z&5ks!njo-KxJWKH%1Of}?SfZ#lUYj)r4)=KL+RSzwfDtaFbz;e6n-OtK-xfC!{Ab- za^@{!$ptY60E!J&RD%sL`n^u>0lJ8ctLrA7TK7t*;0=>}j5r?Qa)W8xIwg}g+6l9Si(ac~*(cG10ce>Y zqoBk&+$es3(A(Kl*LBFH%+Qls>s(>ABxwZ}u}jaf5FIh>KpPqYUJ_1K*t(pTilQq^ z-c;Exi^2mZD28{Sl31QKlVlQLu7*;CTnV+-;|hG}Uf1qEY3*Z<%a<=V@x!+oV^rVw z|7A+)sFeDx1oh`r4BJE%cciFeV9HUe#-@loZLr#`v0AV3)OrOouCSnrBLy7P0;?)K zF?Y^V1$m8A8OB?)Ygx~dDhdn~9XA{J6lYVAu49Bf2tthJQGU#siR5}$J%JTURTfc2 z*_ySRdR909X3SEnbaq>|-gj*I6%$wBm&Vuw6!I;W(;Fh@y*COFg*7AQcc2W+ zy-_n=hloI>09x-TT8LVMBw2!n7DPQ8AM-WEB9CfoMF&8USe{j$4;mws9;!GgR6g|4 zk2QbO=Z$^R+Q%2fBab}NC`SJ;09?I#tt+*D#996F#iIWc+)C27=aS#BJNt@3z^;)| z_aP_5Fds-MwUz(fy8OG8p@u1IA1!e<6A_~gytT-paTR5* zrnH6=k-nM>Vv1;Hu`CU=O_D?+0iDY{k86;E-6Yb8)U$iDpz4!sXPvXK&av5U&glCd zS_bPRO9?GFti@u1S}Ue$V$7Lmg#?mdv_c705;5nM#|rG9UP2*XO;Vr~BB)3&fQxS00Kvy;3Xn z2TCsQjWG@>r}Hr|Z;`7maWj&(lE249@H{bhvWAF~BN7xQC01ox@64vS-I-!Q2aR`s z>ud1Z-eKt+awd%9hFc9SPS`~>9gZngxqD|0+czR2r_zy`A3`?(@%?IP=E zDUo(oTZLC=p|wHHdA{k5aqyi(DjBF1i^T$3YfLdQ8XpxQB)0n#ej`^)q6c5<++r%F zSo{$TRj}fvnQIYgA~P>A0EQH#%Ca$yV$~9KV==VBe~fVpUghaIo_P9cY(f-R*;caq zj^jmaoMWJ7;O?wYs)Q^pfMXUSRHD+_2SK(Z*81T>^(|ED?*{OJ?J!@&52qkb-vLvYkmh-qC_Utam?Mh70=730p(@@y z^`+vigT*&4Ebc#d1S%xJNFKbGT9L)cyHyfJbemA>JY1fI>vG=CsDvidl2vQj+Aw<8 zVY$R4^3<%6Rf%UetXald_zYEGm5GM&YFob$18N~CMeJj!NRp|VZ)8?D%{;K*Sr}Lu z)GMt7r?zcr8w8^r`>yY2icQ-Rwx8Wv#fBx65M0}ChC#`*aS>w}> zUK?`B4_2br64Co(N(V&s_s5u!+1;Bq>$6`9A(R*rTe77cXhn$sIOqId)LP$2rG85) zTeVJIGG13Eye0+QH*`2Ue;x-12hdv0(#FoSs;dH^3`@nZt=3kVvsF*6GHI?nt?JnI z_$xa}W7Ysm30ADqYAI|)Y7AnC!VBbzE|(+-^=@uUi)`GS^B`h{3nK}z{hJ0H?VLwU zaV9{AFrnrO>lpxQ3?t8>IGJd0o7#xayQ-tW)(E!Ewc6{kkEKY|I0pjo_!CdyY_*nI z6WF8zTOev9zY`G*iRZA)!w3Xbx8!#Q0&8X=q#fg60MDdy>sh6K@UQ&pr#|-o_Zr(L zt$njA?n`H~CLPAk=PxcElI{F(skYc}$V0E7d|t?6S=Jb~4E&502}mI_M~ zw&IFffeNwv7k9S|5|wSO(yGaep;82th6W?}Q?2-XuK70f4}bU*pZedwlxu1~h~LMH z8gF{!;soGP0JwVf>c1q=Pb;Ou7x{1S-v3Jg-!LnZ%10qQ{ETw%yPflYzu0UTPGMNV zRii>xaWmE$w(~rgHyXX~v0N;$TrSXAu9&Pba9;GiD(lnptO|3rRC8ei*~*SGyspJGKAqfawbMXgNURvKYSsKnbq>n(CFh=SyAZDE$pWZNK?Qf3-W5$PGQH5oXHJ6q5|axwY!uJ8 z=Hd1X1kD0$C7BCx#nUv(v}Iy*979WD!sniR9Gj6B5(bLR zDbSco1xVsyC=Ny%>@z^1d3n;*H+XT#2`f;+lLffxhmQoUKk&c(%E!mM&+iwDebU;; z*G2ruJKxcjlz(qLImMA8-Ca2U%h;@aSCT#7b?U+}z#9N!90Ad_>bf4jXZf8)KVZ@I zXe1P4n${D$^c1lbqgK6$jac6~IO~uLA*BHCS$TA`+0509F$Pqnf&#%h1Mj_f0x%4r z@4DHgSt*vIcE(~HM<}Ic5GWBLrpOhH*66Ggd=)3p=KeH@1NE*ncB{6OQZwA44d`bk zK$vj-`cs%vf|h={IfS>3ZVFMB6k97WCdhN!+Ne0qQ$T^W#y%f%efsd+$BXUW`H_$Q zz4dSBT@bMU0P1G0kQhyVhX4+eKjOVhw4ln;Xt&AA5{j zSkVmQ+K=B0<;*jy)<+XpU)r)rnpPTA#brpbz+cVCsU z?vvI&zV72k|GW1bs2E?R*DF-#--mI0gRkXvJ?NDOrC?AM2i6GwN@iBp!aIjWKj2`w zg!9}wS#4+f5Jbz%8ii6sUtUZdTI}G5IB__R_Y2+kXx5^L=i`J57gI%;GLnBTr7Pw-EYr_Nl$DVjx=5AVeg*!4q zm7p|`a|KYKltCfZ#&7Tw678%?oV1@xgr}_gOWJln_2GZ~@q25}e395Et$nWu5Uz9RoQJa- z)EsM&Sp|U_DcfQiCsr|#IS;#DJE@pj<%OAAv#Y~igc})~frWE(k_s`*9+Z_Tj1gC9 znOn6PRvWbM!YLY%w!NQ*h)3o37<0lC*RNxowll4&m`=4deXT4FgbMDb6$-JUtb*Yb zr!-Q@csgcW?-sw5YW?0{_|;FQ-|0ErC#`+Fq~k~5^8?Fpda^W|4a~v8d+q6ow_X1} zo8pB9WgHrZg;nUla>z!p_LH@a6Ia*6z+ibWpznHA+FFTmTgK+7&8U{Es4ZZXMEH;z z2o_Csf`|F2EEHHom9&;RdpkBr#BMdU{ke2UBCNH}@P=J8i&m{Ec~4dw6jc1y=RSwc z7-lupHvDg}2%^ILLSul+T4t<%K``2(lnPS7jZ*P>?LRqb^NyeYm49;jT`s>Go~k8~u8t%}?0%3WLTs^~StxVOesg_YCYb05q}T#$s6D@aO>N4iBM) ziqmjncT4T;(r$L?G)WwN0H!86E3!Rpli0R~N{M&kmRR2Y+?AARNdE>|m=WzwW2MXw+KfR#6Ggs__byQkY@{h~TZ|qDG`-QWiA5NLZI#;4~+i zwhc6zU7@o`^i(4F9f0aqPo8*ACa+5}?62SiYL!MT8P}hA8ewE>G%XmAta#aAp^z!F z#(Px^nip9fmgX@yD}*O2KC(GD_dovJ$A0-Yznte~pS1R|k1rv9{9WIzk@G9`>KMbg z#`^H+cW2lA9T%pl^AxBO-|*HNQE&yE zZT4RyQsxRqD=k|>9*(np{hj>5JLY0LkcNhYZ)Eg&FrPC+Itp+6N-lW(`gN=~BX2Rm ziVke9s(>sySxT`GwjxwgGr9UWS3F7hJ0QI0XFhS|w*_msSL~D4KKAiDjQ4-fcfDS1 zHV$3?7wfqGU0qJYveNH5CX zK{=);HS2n9G`mqtGTK$ED5W3-CLXkQ@otLHT!j(fj6ngA5_2)1eCipjRx4=3YO_^9 zt}K;Yp{*6T1A9kO<(BuXRy>|@bxrh+pZoPIw_c3ny-!;E*vFSCe&qYU$LIB#ve4&i z&Tn%mzC!o?huk#cydgYbEqYXFVp>ZDOAi}k(03jO%O%bq9l|-wtzOA8^tWt~k@D

F@l|uU+}vIPWKN?N?wW^7m!9|X4Tqb4BaG$Yq*B^aY&w81!yc=DNNF|Ia@ zaMz+>iVEW#4Dk}6lq#N+23Y}*P2uTVmA?1qe*M}fUd-dVPg?uf$A83l-yit>_vh8= zYkFfZ`;vZqD5*c!4-XwV2d@a0nn*sYFm&FdUkq3-mRKy9mV;Ut2Pa}jRm@gh>i9!vuRB7`@k_bvW|AJFG6{9Q9`e$NorSfqqr0}Ev^cn2joDN+jF zIxL3)##{8RgYOtAKP!@^jFJ*NJd3VXPFqy`>^dZFK&=g}ROf9ah&Ty7{WPX=Vtac6 zYR!N^M^U!~?yLyU#Du4EeScQ^uYULwSMP15^JR#A(%Q#9zQXZiKlDQ{$NIF_M!&0U z#&5S_(;KMoUBrk53J#2h*M`+9jD}Jg)*2Y2;jP8Na*3hux5^LJKtaJ73!0^}SP9h_ zD|%vCC_yaQj6&$d^=FI$*Pnidp%Va9rI`asx*4}tD6MfLS3FDjnUUzvefSeszo_KU zmm~H`YajdgDvJ+(|MywM_(pYlW@x$i+q62h%UXw}rt`~Eu+$2jF{q-9YAx$_4gG*~ z=g*__4$iWJc1v1{fX+E&0jX-mbF@+`rZA!R-Aw6OtylQ>k3G(d0INmmfx)h+R%tIQ z&I;i%GXKv=nxtP7!R?ci z8JDFA$f97OwZdtsc&yN8C*!~K!yo_k7Y*9*La|R;``E|VLHzJ{yvn6!@3l`_``E`zBtH1A|9V-*%^P$~uTa+gt-3nFp@KeVt?^XhiJ+AN zDJDlxu((+Yt!($00^aqP|Ix4hv#<2;0PK_2KKAjFi$C$M@786SF2vh6adhAPZ%pgW z<-9%xroah70b~^X(FN!W=WnggR)6Dv`IV0!f2H4di~j(J3DG4>Z-ylR0000pPA z6o`n@k>*bnsVWHn>wEt<^WK@cGk53C?%6&2ecztjAY3MzB1BDVk}7gUG@*hEqg~Wt z?g0TlNI2Xl(9cT-=jR4TyTCDCn0pxS0Driwj4YhUL8VFzqnaXiQVS5Ps4o)dsKo@7 zdv` zzierQ0uq6MY5a|%hIT;)U<14`|FSNt`Jr8r*S!M%ZT;Ky!d?!(=Y{k_dAq5@f~Cg*!xEGE@27Bx0{6{kDKTYspVR@->{$%miKi*Tpvnsk_X;}Zqa zb#lw@l>XZ6xO%}+$6@X_buKkhjq8V1L4@A}Ngf8evX!e5!&gG(X=2AGoRlcm><`s{mH>_lbZp|Dxh5N!NFFZdKO;hXHMr zN2rS6fZS=tirMITmVsZ&KDqTbwl!WqsLSel#rgn6~`pH4j-_6x=>%jm{@RAP@#0 zeOrGBgo*v{Lj}pneBx+=Z7wP)O@hIeEiOK4+y(4H4;?HJk`!Y!|%Fv5lPvEh-m(ci}R_~_j zVFb`VJ7G*#@n`Ia>l%;?U01#9rsDs?T#X#n_4<19^N7Tm&X>EKGB82kW>t>Q ziO*wrN^h1nR#!9aH~|?L1)ikx@^TAl+a(E;8&Tbm0uD&{%B$sN=k;GChKPnySAT2k z%po+JP|-Vg(^H*F%Xsk%G$d39aOx;Z6i>g2!+nos6>$FNd2_QMA3XggJ3Bimp_fKe zia7M#d#-hGaB!gupn))-y%8FEy!Gkjk10DlyOhVL>jl6zBfv&G?_XF~=iQ%p@doAi z&mUr<*1?$Zkvatn7#Z=;Qrh=>SdOpl|&#N_1B(UBR33+~8Vz@cNdzrSCh zL!gre_X+@ui%oy9w{fAW#!xhhRZ>ih-k^ZP9ksf))?=v)OLdp$37(0MXZ%?Lf`Ng7 zKoO?tVF5HGCI1;r6+-CcjIBL?F3;cEa`btKJ(w2~{$O`akk5p9(DWs4!FbX=d7Mx6 z{^L}h2JFZF-X5V^LDUqL zo}OMPsu1oVbNYL~x*-^Y5lM4JqlM$*S0I5Hz$jnsqNJpgJWo_qR2Oh6<1<=mQJx|% z1cPml66hqP0N_;IqRc5%7Hl4Fp>yWQ^T7j^w2yn6lcYQX?GCe-hX)&RdNlj$Jw?&y zcGA7i_TM{ph4FodA%T-n2Z!0OGfmU=ck8GBk>xo5(bl7x=jh=X$Y{R0eKqAA^y?Sk z%gtN2ZcrYa9IJSU@bd61udL7oeXh2w8Xq^dv8JhqEnKtg|&6i#@oW} zZ6CD@&2}s}oBHYX)zz6x-#;|Dv3~KC+G$%_Cl`=oZpH9|M`8iMmpOiY6A%PXc1q20*&&2qcD>tryni+p#6l&#z)lHUjpl-OfscDL(1i)F(&dbYW zdzZ9=&y=|{JUaU3B&gC7iJNb4Xh6W>^`LvLmA#qSySHzhNH%X?Y4uD_vft-09?kCC zRU7baavjs!R{~Cs!Nn?|ku|nfn8U}%mn@(;J~Z@Wd;3})5=u);i%1tign~^F)WeI% z$H&FB0H+#g&xZPX0C#%wr?azj{G8`#mMmiBEP4(3_0vmopZ7dp8I5-(0pOu%$cx0iayZ+T3V7$EowF(PmKvk@pQPtR)oKPM+A{_Ep~ z_wV&SGZhO!@+H#Ap*W$?k4-&|UM?;|spi4? z7yC#fi9`a=tXtB~%Z4YZf4=t7@|!qV-xdit4NEL3DlV>lC}8&MCGEn@45(TYQ&Vpc z%p;8w>A=muN_R6TC@4<5XSe;G``69QcOK0kix!pZUjALvPKe{*`y=@+H)79i%{0*! zTb;vtc`-9GMrwwAn{A1Si4hbObS_|3BP%H>2^lGbUzbQf`S~Mi@By0mFeEg2bnAU&>zq!PHGFArpCrxOR+KE+;{H6{25K}*lVgzMm9s^%rdi1T0Jr&FwL^n>Bo3PuG89;Q5j0o{VA&Vfn zmjBF@6c^LXm)tLi+ZmGf)923{$Fl&aeYp$$?YyK6?NzYo97`F}a!y4xA*yAfey zqoSfhZ8bYL$I7opD4$(e02W_UO>OQ}gr1(v6|&2rHUp3X0s^sksI=YQw>i}kdm9X< z^rzYFSVK_Z%NTS;r6N3i#IRUwb8~Y?M+bGJy1F`r0#LwF)cY2$Yi5bXiW@30L{mO| zAjt9$APoKd{IJ-~?+ab0`q_qM6B83}-e|iSLP)U%1p;WJK0IY^PTDV-J*UhzBYk95 zY6O<22ZBs5nV*H8{=5Yea{202|E!+j@p0%TXL3bFMO~dt{yI24tE;P%`Bb57Y>|aR zApbsn{D>E-IXe8#ZqhBtp@TuAeJ&|YnShC!o3l;uf@#QwKKjw?fx{gh9tJsz9Vmw# zziJ>AXae3JpEJ0MO7tT1M}oF{?Ou4zAhfSO;Z^d!hE(%e4Bw7&?!~j{-|lCYR8C*$Wh8)V=f2nRXX=Y~ToU_u>(o%t^cm#TQR8ed* zGBabVqApq8zRh`{vbwbNW4Vthe?1U6*X%j%=kHHUOEb-!tGUw#rR+k$8-lE?tcHdL zs0Ja2-(qaz-DvG>?skRsIqqL34)Lo6BP`hit+a!Kl|4iZBF<;LbLZIo*#uwXCInE0%efiW<;rc1qqB_MAvEZv%Ql9Q85 zc|%gNy+EU715Ka}i;awqK2vg!4Rybe-!L>(?IETwayAk!B^98|FOoR|&hHd7SaK3a z#_s!8`tV)v3ajcE`*Ix}or;{fxjFq>X*{a6txa|`fvRb`+nJ=T2k3pO!PnQr9hrDR zTw*6h)pkD+KAsWM)Li&dY9~tU#?`p=jpwPR_BeC*yURNt4P5gQI37qAuZIiG#A zR6<6kKcm%u{hYZCShH%e{+n~Vcsw3dn?q2J^78T~%Zz#*6&WDc>^PNP`+Q5M(*Ls< z+kxrQe|G<55Dhefx)KlP;Dk%ai@unat>W(rqQl>R z_m%GozMJCYutBE@fq?lkL8Ugfwwiy>PEQAIPLxVo)nr|DGj@01&`(N#Wn}{iFE=Sz zTV2J<^9TqOgolS;yy`0D@XF^54Nu}o%MY3OslwlTj+|AsfEr_6^-jM^^BA-zv{#AH@mA+Wb@D`8 zVYvQL_^$R+_?6I^7nJ9Ojz}E7*Iww}5;d6n3}O{H6y-Uu9ommYvnlx!HB5$N+8Zs#3P1 zx(0~C>?DQl+vl6Z*qYw4N5RSVbA;XXR|D>@mC{lzi7y@bU2+5n^jJ9P5kbJgHF_P$dqO>&QbK!{Mt@a)nLeK1Y@441%3JeUEX?` z6gAJkH+g+seTIJi(T|SFeZ4BL1Do589W26uuOiP_)TP}gOGpT;}s>rh0d!`(?MG z*TSqqmK%*mV>(qTEGU3oy7WbsFX|rM)62`K^+(9=vd>KtXy-U;emjWOT`%ka(!r;8 z7WI-KW}YsgxF)*enPnkuq%}T2FZkaCh}PNF^<3VdzaDQ5Mbc1LvR!V+#NVT*Bdn%N z?xnT#)Z+sX5<+;|MPT)grvPs8^z?Kgvsi3ZtWS9&Tgd?igZ;C##K_3VOX=Y3XVr^? zvv%31`3sCUJ$(4kp*u2jd}Dn$ZTK4@E6T5XXn6Qf#E041+i@*X>M*XDzBmp+cFP&y zE>P%q2?i7ExVSjOSWcEXYBi?vT(yB*Cf?nh1Nr0l&-hxVc67o=A>* z&DXOfT@{L?aWeN)u{4D&u}mblkQS(D2iTSsudSmqt;UsG`s$Uwj?O!0f>2WF!MAT~ zv*!|q72=)H7z{Y`nPhHO7GC*+W4g~mBe+)~2EN=G#>oF?Fj+7X2VF(Zds(lxXC%0mIV8Hn2eG-Y3LofA!MVNCZlvXX$+_}4@c9*+! zecq|5a0R4GK8}b;CzEw`bmAeCbo$}`J}->RCuO1rdm~H1Kz?FzQCmX7sCG6`DCE!C zX=|%iii-kpT@McrTwRvi;)f3(e*O&ochzs@)u4;5hlebVP{n;l zxAu+>m1;s$RBUW)c6N4UrMsh}kw!Yq#K+&d;I%{qJjb^wiI1$e8E=O(A|A&y8On}W&-nKSGZ=s zva?!GY6grmzN$(FlIZK}E25NaZ<_vltcFxX`eP>W%{V_=&QA<&M8 zqIkE3Rh=UlQ}9O0Oi@vB&rc?)bZl&_vFhYvUd3(d9q{f9MK9dHT%c3Gwx)*tp!d1o zioTs(!kg)72JQG}kGImK$?75l>_qU^Yhg1pv&J#t{GV86h{(0jp3gIYYpmwWDi`Mr zHc`>l5RR^pT@lmFewADcerbXQ$O~ab@6##$V-Jh$?BzCope|DT~UkM_n!o`{JIS22@$+2WD!BS+cg4jb!CByEl(24aaT0F|0l*!BU|o$G8$%ZS zf-JoNF#onS$-)BFaT8BBNfrPPAj+qK<3Efsd1c}1DB2ICcdc^mt_+uRrq|tl86!oK z+}_h)zRs67_ov%-I*#g6BZVJhGyo~R!@$qt(E_mWLoyT>c1unfH z?+kt@__4xy5QFL*M|*P<{f){5siLUSM%vaBJsb^BP5AX#^YbVz-My%M@NL= z{51Gen){@4ng{R1y}x2E=msl%oKzT(`C@!sE>lBIZQ)oibZ^z5vxzN6E99#XT%tGe z4&@wNPj9IL1;~Le@IG2zPA+s}Y;tm#k|{YVsARt|B1;~1O(ry=tJU)9*YLBmvracH zc#IKOqDh?2uAp@QsHEyC+y`4T=pzD8Xe9FBb@OaQX0pGt_opPruXO`=Ge zXCh};R?^0+lai8DT!t15;={yC z!@7PyR#Zm=)`y~hW1%KMrjBj|y1Tnq-_lt)ox885EL^d-w|7a?cMp|J!1do(+uYoY zIjTGbYQ3JNrNVWsc&Gb$8Ze@so?d5K-c|S4-tSw8m%nqrXJ=u#kqc-pr9`AyEybyDBcN5A5Kmb+fbYW~I^Y-?3 zF9DsZzV}c3<(rfNJ~PR~!^0L!__7~u@mfVut z@rsR@UJ6r0Fo%)^JxIqlSFU)!)S?Z7ne*9F?0ztcjG0zf$` zF3f@VKyT>pfZz^PQFb^{&8L6cq#GsguB}De34*?x${rkKs(Z~13=Zy#NRtqRughJ@ z8lT6690g@rqN&|f?+aEiOjLuEw=s9s3FeoZjAtWRu2N@F^%ZvVZ zW5Yn_yr}4(gN+-c^WdJV#%~F;v(14U$mN6pJYL$+Ki;Y5{RASNlbyXiXgj@55V?NR z%iU$q-RcIg_*sahyPF%h&;C`!MVIp+$=jR8Q zka9y&vPJdtpY*?0D_tW+&+??Ay76qQ4OoVsqUfWa#9w}@20%3rGB-gP*Bd&<{135m Br(gg8 diff --git a/oscar/icons/exit.png b/oscar/icons/exit.png index 47491db712a1bc8c68202e6451f70d260e9ef9c6..d4ba925396cf9ddd0bc6c6c635cb2adfa6158f23 100644 GIT binary patch delta 2922 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 UUWrHY01E&B07*qoM6N<$g3chR0ssI2 delta 4366 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 IM6N<$f`9p2g8%>k diff --git a/oscar/icons/plus.png b/oscar/icons/plus.png index ab8e6287e156776f8416b9c377b5260df728a5f2..e1a4dd2f8fd6e9643685b02ea34f628a5d7439ff 100644 GIT binary patch delta 1009 zcmbOuctJq5Gr-TCmrII^fq{Y7)59eQNT&dCG6x%w%zeJ}4Fdzqrj4quOpFGTvzers zEG;K@GU-bhC~+w$D3oNTrCE9ACZ?zQq~@iUWY{VJr7tsWnD>p{1Fbu92Q01B1rI(uwD_T>?dp z+oyF%^d==L`W`x!5s;K@n53a|Or!bi8RLAnv(oFoyG>fVDRjz>A6p;jC#+sGRVirG z6w{54=XZX-;_>XxIotWa_kN%A&Q{!J> zZJGHpeSw$m=&_il0ABk!ln)Ks^1 zm?sLWI?Z5M%wy=GAN%F>9q;-Hc~+^eoqqxp>ziCpUQIEJJebsIBKfJLW0%U+V4>2B z!A6_btoZl;?drAPOLkwaOWC$H#r{wo@CewXd*Zc{Q{(q*nH!%Ens8U|JS;imQM%ZVxs3DK&;DYY z!*ts5bJ->R1k)G0n3jEy{a2_jNY?%?@sX(`?-{Y1!gv#5OGTr?wZ z&l!Ie{ZP%6H&1W%?#9jkn8XkKJuuVxE8j%oeGp8F-!tE_#yzn9ka(f|nSJBa8G-qa Z1BQaM%#H%> z_QI|gTQs7UY~T=DEA)|3(M*g}igjy;V9za;>C-11FBBKtD4N5}wWxQ!(|@L1)@;WB z5l5Y)Q5W3~Tc$G!8g4#wZu|bbl4a=!g-&W&?k!{}`ngDqkF`GL^F`M1&&FnRZoE7o zA6!yeRc7N9`+LXYgFWVPo5TJV|Bs4RTB&{Ef|AXu6;Xi|P8C^OSIpX@duM4%66eF< z#C|n#k$t9LD_Y}y{K9{nPSF+OYg!t6W9q-7ALG}gY?-rRk4(AV?nNQ*llL8&cINz9 zuQ!74-PC)lemJxuMWiwsn+f1qC9*7QWnX!V+f8+~T+xY{gQ=kayP zktr`cB_pq$`S<_r>UmOft3tN3E_iv;;9k|jO72sthkw|Z^n4PGkbkHYe_CIr;eYIx zAm8Hm&B@H?^s=LB*w2|C{JG%RmK*&kqT81QeW+skrcn~-{5olA`qkRL_lle9_2Nre zcUNCfe=h5Ne?fHy!&T)qyuj$^EbxddW?X?_wfUqO7?>D6T^vIy=DfXQ*!3zv z!r`I4ni8{@gL&dpzL*y2ty>E?xA8}7cZWxGTs)WZD)E`4Qd_mr`OxQe%5TWJ6B@WYjgg-={57(IqTn+ zMT>90{q`-p+R9a0UpeO5%JJ)`h9Egm<1j;NWSWH5VF%Ifqe@?S1TWUTe*LxT?H7+_ zI;Z30Pku=>n(0!uGp3$xt7OIAxZ@uya<-bC|9s>9_l;3&tLDAhdur2~?w>XDs`~u8 z7Tvbrb9xicsnCVo?+pW*xgV!Xc%cRdh6k|t2}6iY{Mg-pZa7SGb$Juaf6?`_$>)wA o8N2tad%a)q;=lC{JoR>rJFod0zDkK-0Zb(fp00i_>zopr0C#oEx&QzG diff --git a/oscar/icons/rename.png b/oscar/icons/rename.png index 9acf567f4a684a324b2a9df07354345acf13adcc..b4976f4631e3641009aad9a55cd636a317f9c943 100644 GIT binary patch delta 3171 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 JPDHLkV1hk|{W|~v delta 4310 zcmY*cbyO7JA6>eZMnFK?6_D5Y7?F@AMPfk^MY;tU zAyGyMqzqC@MnWPvndtWa_1lSZ{;%&r>`v}EIiCQ55WGsp5%U75=yc2{(|()b&uliM z5s{rb(8$hyfmTVBM`-ccexL_T_iL}Qfz9&xtJat0)y6RzJ%(c)r1EPS#Tj-3+cSp^ z^Ff0fbKY%idUtQOghG&$&CJl#tV62Ufi6c^9~(y|b(Nt%8NXH1-<^29?u?TPaVVc! zyQ)nyePZ%`m|qSkD0*z^Z|EN=QTeV}WF{w%7qR%zx(>#|^iAT}31g+Bmv-7`C&FXLp4F`InhnEbF)3lJgE8y{ z5}uGawMMPx8xHoKbIdFI>wep$^u>QP8K@JzhBPrcK~qL8)xhng@YFE#hCpaK{%ZuO zcWKxG@Gf3cMbXGVYx_N*&xGUZo^SH&Cg@J2D<&5qWgAxHlm0>=|9x-V2^G;*WT8kc z9WH4&h7+fLc;6)rr9Z)L`TR|elv=o9d46(q@lvH zx?MLPWn7xST5eiJDC@gLH=U>cBYHCBg|9EKurQQ4Hu9ZVa*yZn=A($Hs2Ka-9X__l-}#Vb13j<7l(tL;u}@bV=1+@wbo;0X7CK1Or*A&;UK>!X9FMi0vZYr|FDQV0`SN9Nc)Y?Qmc=SK2^;!%Oe7^W6=OZ+&ExyS zi$haWlLyk}N*VboT?h6Yzhkk4!vURrv`{F2V9T84VRlUCPISX_9OZEo5(XnREM`(v zRMgPWSis>=PChj@PFWsu#?JmQdi2OZY-N9cKNnCq->Mn4Z9QG03i=f!>f4#wsgxc1 z&)E`1^3urIIALdeW=6*}4Y$pQ?d$oKDYZ=<^q|8A3wIpMz71{HujEq81-yI|5|)3W z2IZ7*=;sbigfMePhm5BW-aC(*igTN(r$=VE9syC-pI`hn{wzE{lc;dzf1Mo_RsQxl zhdM7GUjRLKs+OjO#VwEPfdM@RCZ>+*5B6q;R#qPBxC0H>MAmZS*gmY-;qVPg5{F;! zI<(L)5GR(FmgZU}L*6J{UyO`R z;V=`v`yTG@Fl0s?ewmb*nC`uv)J_!wfiSZE>Nf2#a?@YntAu@OYU*g=PY{>AtgIS=fq}3`YKDdkwQ-%XEaoAkoH56`X3oxn67nb%V^~;NvXFA_kiKKz z=;-Lj%F4mVSUHB$h($C_q2BwYd=xbN=;%ljn` zfWDT3lAN47BqRh#7Ja>pu6Fq& zZ~LxoB9!{34`(cu^L?*hhYh&cCo3r_aTOY|O^*w{yu1Wda`g3|`571_{rdB%xEM2) zMZlerks*owOJE9<@M~yp=8$=xfUVFM_zbRbrop?rKnoG_&qw(27xKafA69XXjEr6` zqc`>2Smk#WE&kC@1{{W+MFC6J?)CSIU4OHo|BW~9+uyd>d4lAnTi(O3$8^YP&YQ^NJkW@IgOciLMD=w3f`Q@?O)!PWs(mmb9m) zrjCw{4IgsiNES`fpkrX*-JG_bot)sb{&4i-T^eO3TQ+ zgHlt|*GvjerDbN`ouK$RIOx|!GX9?K+hMEkHXHCFg#i-qx4cdTpO>2(E|ba($v`w=tYg zQwr-&xW(u?U}I~G>9p}mcasX|M2Lupj5c{ejN_Y3wUv|z^9=vBN2jGR&ol>&Sbv?R z&IaHSbiqeM>Z1;E)~tDXdFcL(j~}_4&sH->o5R8gQc_aT{a>f|=UIn0d{(NuIddiN zXr~E#`9tx?$MjZKRwW@~Vq&GFD+Tb2g0h?(g7HeLHHx3r!e2e+cfJcD<0>n~KIP^X z2dL%J&jZ&j?IE6IUF6E-ZDZx;#k-rYqkt%zldVY_KMmfb1sv9jx&Qj0PwduCxcT1h zsk4gZ7Z4Cozn7h)II+vwpW8q6GW{0u;-Q zA0DC;l-=DcMuNR=@-cXE+(DCaF)}V633+dh3bw6NQ&I7Oq|?LqU@jDFTwGi{fyEyr zCH{l*_$=FJWF)CtksBk04-aKzWQccb02K;gctF?xX3y9I&T2 z;;8Nm5oW53%gf>#<5%I~#bO-NpyqsxjEwYO6G1+TCXzScnZHiY zcUvvCNmCaV7Lv~9m&97ucb>EYp%#0jV}G`$YN;}%JV+N_=CjP+Qi^^$vhH#fVym!| z4*2;=A(2RU(1|OD^z)S~sxmzlxD7g?eK=p+z{G?M;(z?dBq=K^?lo8Fg!8~`AGuop z)#bUmDnXQEzw1o>kf7eII=4-n8XqMURlvr42>w=MV&o`bNj(%nX1?Ag7kgR5T}6VKX?!fw+ebbCvmp^bOaFz3CRL_VCO)NJ{#^(lhGK*3zsuJ`A$ST z;pTI8fCELNWNFC>ynXw24+Lg@cmI+s8xBjR0QYC~eS3TRA`WL?H+18!@yCh^8Xg{= zqKb;Hi?c%mQ`7aYc$SKncc9%~&4N{Y0;yUq#nKO*b>_dhvF z79fqRBbaNM&#fK6M_(R`7zy1V=P9bJ>;_9o(uWU;z}%drft#*G(Fis|^r!b~KmBaj z=g;s9kcAq$x+Lvz(4~L&^(lked2DXJJ2^n`fHlpY*i^rRMH~4w3GD=Fxf?h3muGPJeY<-`MafqTL~Uz*=mi z6|!c)n}ps*8N1Z7-OOP)$iZG zzh~M_%+1k&4A08qm}vxRmzV#+V}MIG=FJpQ^X!65E2r49;|5Q<>&7oh*~yBudLWL9}R1d;*9=7 zoPm)s;I1Jklq~t6F+sgcmWC$@!^4KnhXb-ktu$Qsp!tRyW{d-o*|LMcds!^rR2G34 z!g)8`yE?U9+TPX;*%D3F>PZtZ*Kl+!Y~PaoTh;mzUfFsj^T+?ii(1nzH?`6~l;7&9 zUY?$vC0PNNe|WxH$Z!%tz<@J)R8}S|E+H|=kz?})RK@0|OMjMh@;e1M{H1+g8dxH7 zo0_J3<}eX&>_GeD2hiyB$0#OBlF853L}#0&l^P)-@@H!wfF}n_F3QS80S7&INS?tV z44j;Ly?uSE>>@7$9;%V^oS$s7p9Mi4d&N4kvMjxH)TF7R60tCR#Aoi}QX=3% zj@C~1D*U;599U-6I#)55paTnkBFZ(}+}sRC9iHSKZtzIeQoqJ(@IN*4^-0poiIq}`ZQWAX3%d?xQTP%Beaa&tW zKuip{^LMPA4-Au|Vs~`&AtqMwJQi$j>13Z1}yh$n}(e*|Z5XlP&*Rp8>}OrTY` zpaVavW+V7LM%&>W1tqewnx{~3M&4v&XHQB>LhJ}dATyvKT~2|MX%E#5mNjU>5kvW- zM~^`AFUKq`FNarGBRLd8gL|V1bquV@dC-AJ0>dLCB;9tVX{v#NGXG7KmIgy7wpnC6 zp0hc{WrG9k92_V^a|HSMiNWIcb6~)?+HVPgix@~*wmSem`gz1MyITm0#%e~ADFgDEO4Ro2r> z=*AG%dv$=iu*UVK)<4JfrXPVe?>hAbpa=*EcvwN@O6?xtfEBY+3l5g^=(<*>m5)F< z4v^pT#q-Zp2$q(VEMY)p#&1v8ErZ5`j}Um7sj36U(NULUr@>fj*8WT>+Q`UA4ILey zD!+kFH{R9c2lv{j#G2tkF-Ah2QPk}E=H@|z;4&0Dz`_7}1k;Th@dc`Ys_NoGTe#^L zrz9$QZxPXW*7tg^Ma;iG-JNTJvqJaw_Z5A8B?sQi`aOsxtcTlxS^}vEDva%kr3P?aMZ!!A<6i6pF0J*nNeUMe0aFDwA6v(AKMD+ z8J?cjW)?QR4^etkR3vZ!CMwzK$m07f%H(FS?0&}FKQ1ALhK47EPI90nd;`I}s$R!C b|KswG2r7B^j&c_KmxXAm>Zw#HJ$>~*aIQB2 diff --git a/oscar/icons/restore.png b/oscar/icons/restore.png index 65f2e76cf4bf8b99a109dfe3309f38b628b485a7..0f6922fe82d3802b982014ae7a8e9467e0abca8c 100644 GIT binary patch delta 2267 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 diff --git a/oscar/icons/trash_can.png b/oscar/icons/trash_can.png index e4352e71b71473f807ebd5a7be78776243e9ea23..575c7f03180f4085624e99ea7267a72043fb8225 100644 GIT binary patch delta 2434 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 diff --git a/oscar/icons/update.png b/oscar/icons/update.png index b16a4aa7befe3e7a5fa80a5ed8581d575d34b617..bb465ba78e88e18f1758b27607c375d1583cf2e7 100644 GIT binary patch delta 2218 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 HolE`)f?Poy diff --git a/oscar/overview.cpp b/oscar/overview.cpp index 438c3922..e376b5ec 100644 --- a/oscar/overview.cpp +++ b/oscar/overview.cpp @@ -944,3 +944,5 @@ void Overview::on_layout_clicked() { } } + + diff --git a/oscar/saveGraphLayoutSettings.cpp b/oscar/saveGraphLayoutSettings.cpp index c1d95797..a754503b 100644 --- a/oscar/saveGraphLayoutSettings.cpp +++ b/oscar/saveGraphLayoutSettings.cpp @@ -1,4 +1,4 @@ -/* backup graph settiongs Implementation +/* user graph settings Implementation * * Copyright (c) 2019-2022 The OSCAR Team * Copyright (c) 2011-2018 Mark Watkins @@ -7,93 +7,118 @@ * License. See the file COPYING in the main directory of the source code * for more details. */ -#define BACKUPMENUHEADER_OFF -#define MESSAGEBOXHEADER_OFF - -#define TEST_MACROS_ENABLED_OFF +#define TEST_MACROS_ENABLED #include #include #include #include #include +#include #include "SleepLib/profiles.h" #include "saveGraphLayoutSettings.h" - SaveGraphLayoutSettings::SaveGraphLayoutSettings(QString title,QWidget* parent) : parent(parent),title(title) { - // Initialize directory accesses to profile files. - QString dirname = p_profile->Get("{DataFolder}/"); - dir = new QDir(dirname); - if (!dir->exists()) { - //qWarning (QString("Cannot find the directory %1").arg(dirname)); - return ; - } + createSaveFolder(); + if (dir==nullptr) return; dir->setFilter(QDir::Files | QDir::Readable | QDir::Writable | QDir::NoSymLinks); + QString descFileName = dirName+title.toLower()+".descriptions.txt"; + descriptionMap = new DescriptionMap (dir,descFileName); + createMenu() ; - QString descFileName = QString("%1.%2").arg(title).arg("descriptions.txt"); - backupDescriptions = new BackupDescriptions (dir,descFileName); - backupDialog->connect(backupaddFullBtn, SIGNAL(clicked()), this, SLOT (addFull_feature() )); - backupDialog->connect(backupAddBtn, SIGNAL(clicked()), this, SLOT (add_feature() )); - backupDialog->connect(backupRestoreBtn, SIGNAL(clicked()), this, SLOT (restore_feature() )); - backupDialog->connect(backupUpdateBtn, SIGNAL(clicked()), this, SLOT (update_feature() )); - backupDialog->connect(backupRenameBtn, SIGNAL(clicked()), this, SLOT (rename_feature() )); - backupDialog->connect(backupDeleteBtn, SIGNAL(clicked()), this, SLOT (delete_feature() )); -#ifndef BACKUPMENUHEADER - backupDialog->connect(backupExitBtn, SIGNAL(clicked()), this, SLOT (exit() )); -#endif + menuDialog->connect(menuAddFullBtn, SIGNAL(clicked()), this, SLOT (addFull_feature() )); + menuDialog->connect(menuAddBtn, SIGNAL(clicked()), this, SLOT (add_feature() )); + menuDialog->connect(menuRestoreBtn, SIGNAL(clicked()), this, SLOT (restore_feature() )); + menuDialog->connect(menuUpdateBtn, SIGNAL(clicked()), this, SLOT (update_feature() )); + menuDialog->connect(menuRenameBtn, SIGNAL(clicked()), this, SLOT (rename_feature() )); + menuDialog->connect(menuDeleteBtn, SIGNAL(clicked()), this, SLOT (delete_feature() )); + menuDialog->connect(menuExitBtn, SIGNAL(clicked()), this, SLOT (exit() )); - backupDialog->connect(backuplist, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*) )); - backupDialog->connect(backuplist, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged() )); + menuDialog->connect(menulist, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*) )); + menuDialog->connect(menulist, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged() )); singleLineRe = new QRegularExpression( QString("^\\s*([^\\r\\n]{0,%1})").arg(1+maxDescriptionLen) ); - backupFileNumRe = new QRegularExpression( QString("backup(\\d+)(.shg)?$") ); - parseFilenameRe = new QRegularExpression(QString("^(%1[.](backup(\\d*)))[.]shg$").arg(title)); + fileNumRe = new QRegularExpression( QString("%1(\\d+)(.shg)?$").arg(baseName) ); + parseFilenameRe = new QRegularExpression(QString("^(%1[.](%2(\\d*)))[.]shg$").arg(title).arg(baseName)); } SaveGraphLayoutSettings::~SaveGraphLayoutSettings() { - backupDialog->disconnect(backupaddFullBtn, SIGNAL(clicked()), this, SLOT (addFull_feature() )); - backupDialog->disconnect(backupAddBtn, SIGNAL(clicked()), this, SLOT (add_feature() )); - backupDialog->disconnect(backupRestoreBtn, SIGNAL(clicked()), this, SLOT (restore_feature() )); - backupDialog->disconnect(backupUpdateBtn, SIGNAL(clicked()), this, SLOT (update_feature() )); - backupDialog->disconnect(backupDeleteBtn, SIGNAL(clicked()), this, SLOT (delete_feature() )); - backupDialog->disconnect(backupRenameBtn, SIGNAL(clicked()), this, SLOT (rename_feature() )); -#ifndef BACKUPMENUHEADER - backupDialog->disconnect(backupExitBtn, SIGNAL(clicked()), this, SLOT (exit() )); -#endif - backupDialog->disconnect(backuplist, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*) )); - backupDialog->disconnect(backuplist, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged() )); + if (dir==nullptr) {return;} + menuDialog->disconnect(menuAddFullBtn, SIGNAL(clicked()), this, SLOT (addFull_feature() )); + menuDialog->disconnect(menuAddBtn, SIGNAL(clicked()), this, SLOT (add_feature() )); + menuDialog->disconnect(menuRestoreBtn, SIGNAL(clicked()), this, SLOT (restore_feature() )); + menuDialog->disconnect(menuUpdateBtn, SIGNAL(clicked()), this, SLOT (update_feature() )); + menuDialog->disconnect(menuDeleteBtn, SIGNAL(clicked()), this, SLOT (delete_feature() )); + menuDialog->disconnect(menuRenameBtn, SIGNAL(clicked()), this, SLOT (rename_feature() )); + menuDialog->disconnect(menuExitBtn, SIGNAL(clicked()), this, SLOT (exit() )); - delete backupDescriptions; + menuDialog->disconnect(menulist, SIGNAL(itemChanged(QListWidgetItem*)), this, SLOT(itemChanged(QListWidgetItem*) )); + menuDialog->disconnect(menulist, SIGNAL(itemSelectionChanged()), this, SLOT(itemSelectionChanged() )); + delete descriptionMap; delete singleLineRe; - delete backupFileNumRe; + delete fileNumRe; delete parseFilenameRe; } +void SaveGraphLayoutSettings::createSaveFolder() { + // Insure that the save folder exists + // Get the directory name for the save files + QString layoutFileFolder = "savedGraphLayoutSettings/"; + + #if 0 + // home directory for the current profile. + QString baseName = p_profile->Get("{DataFolder}/"); + + #else + // home directory for all profiles. + // allows settings to be shared accross profiles. + QString baseName = p_pref->Get("{home}/"); + + #endif + + dirName = baseName+layoutFileFolder; + + // Check if the save folder exists + QDir* tmpDir = new QDir(dirName); + if (!tmpDir->exists()) { + QDir* baseDir=new QDir(baseName); + if (!baseDir->exists()) { + // Base folder does not exist - terminate + return ; + } + // saved Setting folder does not exist. make it + if (!baseDir->mkdir(dirName)) { + // Did not create the folder. + return ; + } + tmpDir = new QDir(dirName); + // double check if save folder exists or not. + if (!tmpDir->exists()) { + return ; + } + } + dir=tmpDir; +} + void SaveGraphLayoutSettings::createMenu() { styleOn= calculateStyle(true,false); styleOff= calculateStyle(false,false); styleExitBtn=calculateStyle(true,true); - //"background:transparent;" - //"background-color:yellow;" styleMessageBox= "QMessageBox { " "background-color:yellow;" "color:black;" - //"font: 24px ;" - //"padding: 4px;" "border: 2px solid black;" "text-align: center;" "}" "QPushButton { " - //"font: 24px ;" "color:black;" "}" ; @@ -104,90 +129,76 @@ void SaveGraphLayoutSettings::createMenu() { "}"; - backupDialog= new QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint|Qt::WindowSystemMenuHint); -#ifndef BACKUPMENUHEADER - backupDialog->setWindowFlag(Qt::FramelessWindowHint); -#else - backupDialog->setWindowTitle(tr("Backup Files Management")); -#endif + menuDialog= new QDialog(parent, Qt::WindowTitleHint | Qt::WindowCloseButtonHint|Qt::WindowSystemMenuHint); + menuDialog->setWindowFlag(Qt::FramelessWindowHint); - backupaddFullBtn =new QPushButton("Add", parent); - backupAddBtn =new QPushButton(tr("Add"), parent); - backupRestoreBtn = new QPushButton(tr("Restore"), parent); - backupUpdateBtn = new QPushButton(tr("Update"), parent); - backupRenameBtn = new QPushButton(tr("Rename"), parent); - backupDeleteBtn = new QPushButton(tr("Delete"), parent); -#ifndef BACKUPMENUHEADER - backupExitBtn = new QPushButton(*m_icon_exit,tr(""),parent); -#endif + menuAddFullBtn =new QPushButton("Add", parent); + menuAddBtn =new QPushButton(tr("Add"), parent); + menuRestoreBtn = new QPushButton(tr("Restore"), parent); + menuUpdateBtn = new QPushButton(tr("Update"), parent); + menuRenameBtn = new QPushButton(tr("Rename"), parent); + menuDeleteBtn = new QPushButton(tr("Delete"), parent); + menuExitBtn = new QPushButton(*m_icon_exit,tr(""),parent); - backuplist=new QListWidget(); - backuplist->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); + menulist=new QListWidget(menuDialog); + menulist->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn); - backupLayout = new QVBoxLayout(backupDialog); - layout1 = new QHBoxLayout(); - layout2 = new QVBoxLayout(); - layout2->setMargin(6); - backupLayout->addLayout(layout1); - backupLayout->addLayout(layout2); + menuLayout = new QVBoxLayout(menuDialog); + menuLayout1 = new QHBoxLayout(); + menuLayout2 = new QVBoxLayout(); + menuLayout2->setMargin(6); + menuLayout->addLayout(menuLayout1); + menuLayout->addLayout(menuLayout2); - layout1->addWidget(backupaddFullBtn); - layout1->addWidget(backupAddBtn); - layout1->addWidget(backupRestoreBtn); - layout1->addWidget(backupRenameBtn); - layout1->addWidget(backupUpdateBtn); - layout1->addWidget(backupDeleteBtn); -#ifndef BACKUPMENUHEADER - layout1->addWidget(backupExitBtn); -#endif - layout2->addWidget(backuplist, 1); + menuLayout1->addWidget(menuAddFullBtn); + menuLayout1->addWidget(menuAddBtn); + menuLayout1->addWidget(menuRestoreBtn); + menuLayout1->addWidget(menuRenameBtn); + menuLayout1->addWidget(menuUpdateBtn); + menuLayout1->addWidget(menuDeleteBtn); + menuLayout1->addWidget(menuExitBtn); + menuLayout2->addWidget(menulist, 1); /*TRANSLATION*/ - backupaddFullBtn-> setToolTip(tr("Add has been inhibited. The maximum number of backups have been exceeded. ")); - backupAddBtn-> setToolTip(tr("Adds new Backup with current settings.")); - backupRestoreBtn-> setToolTip(tr("Restores settings from the selected Backup.")); - backupRenameBtn-> setToolTip(tr("Rename the selected Backup. Must edit existing name then press enter.")); - backupUpdateBtn-> setToolTip(tr("Update the selected Backup with current settings.")); - backupDeleteBtn-> setToolTip(tr("Delete the selected Backup.")); -#ifndef BACKUPMENUHEADER - backupExitBtn-> setToolTip(tr("Closes the dialog menu. Returns to previous menu.")); -#endif + menuAddFullBtn-> setToolTip(tr("Add Feature inhibited. The maximum number has been exceeded.")); + menuAddBtn-> setToolTip(tr("Save current settings.")); + menuRestoreBtn-> setToolTip(tr("Restores saved settings.")); + menuRenameBtn-> setToolTip(tr("Renames the selection. Must edit existing name then press enter.")); + menuUpdateBtn-> setToolTip(tr("Updates the selection with current settings.")); + menuDeleteBtn-> setToolTip(tr("Delete the selection.")); + menuExitBtn-> setToolTip(tr("Closes the dialog menu. Returns to previous menu.")); - backupDialog->setStyleSheet(styleDialog); - backupaddFullBtn->setStyleSheet(styleOff); - backupAddBtn->setStyleSheet(styleOn); - backupRestoreBtn->setStyleSheet(styleOn); - backupUpdateBtn->setStyleSheet(styleOn); - backupRenameBtn->setStyleSheet(styleOn); - backupDeleteBtn->setStyleSheet(styleOn); -#ifndef BACKUPMENUHEADER - backupExitBtn->setStyleSheet( styleExitBtn ); -#endif + menuDialog->setStyleSheet(styleDialog); + menuAddFullBtn->setStyleSheet(styleOff); + menuAddBtn->setStyleSheet(styleOn); + menuRestoreBtn->setStyleSheet(styleOn); + menuUpdateBtn->setStyleSheet(styleOn); + menuRenameBtn->setStyleSheet(styleOn); + menuDeleteBtn->setStyleSheet(styleOn); + menuExitBtn->setStyleSheet( styleExitBtn ); - backupaddFullBtn->setIcon(*m_icon_add ); - backupAddBtn->setIcon(*m_icon_add ); - backupRestoreBtn->setIcon(*m_icon_restore ); - backupRenameBtn->setIcon(*m_icon_rename ); - backupUpdateBtn->setIcon(*m_icon_update ); - backupDeleteBtn->setIcon(*m_icon_delete ); - backupDeleteBtn->setIcon(*m_icon_delete ); + menuAddFullBtn->setIcon(*m_icon_add ); + menuAddBtn->setIcon(*m_icon_add ); + menuRestoreBtn->setIcon(*m_icon_restore ); + menuRenameBtn->setIcon(*m_icon_rename ); + menuUpdateBtn->setIcon(*m_icon_update ); + menuDeleteBtn->setIcon(*m_icon_delete ); + menuDeleteBtn->setIcon(*m_icon_delete ); int timeout = AppSetting->tooltipTimeout(); - backupaddFullBtn->setToolTipDuration(timeout); - backupAddBtn->setToolTipDuration(timeout); - backupRestoreBtn->setToolTipDuration(timeout); - backupUpdateBtn->setToolTipDuration(timeout); - backupRenameBtn->setToolTipDuration(timeout); - backupDeleteBtn->setToolTipDuration(timeout); -#ifndef BACKUPMENUHEADER - backupExitBtn->setToolTipDuration(timeout); -#endif + menuAddFullBtn->setToolTipDuration(timeout); + menuAddBtn->setToolTipDuration(timeout); + menuRestoreBtn->setToolTipDuration(timeout); + menuUpdateBtn->setToolTipDuration(timeout); + menuRenameBtn->setToolTipDuration(timeout); + menuDeleteBtn->setToolTipDuration(timeout); + menuExitBtn->setToolTipDuration(timeout); }; bool SaveGraphLayoutSettings::confirmAction(QString name,QString question,QIcon* icon) { - QMessageBox msgBox; + QMessageBox msgBox(menuDialog); msgBox.setText(question); if (icon!=nullptr) { msgBox.setIconPixmap(icon->pixmap(QSize(50,50))); @@ -196,15 +207,10 @@ bool SaveGraphLayoutSettings::confirmAction(QString name,QString question,QIcon* msgBox.setStandardButtons(QMessageBox::Cancel | QMessageBox::Yes ); msgBox.setDefaultButton(QMessageBox::Cancel); msgBox.setStyleSheet(styleMessageBox); - - #ifdef MESSAGEBOXHEADER - msgBox.setWindowTitle(name); - #else - Q_UNUSED(name); - msgBox.setWindowFlag(Qt::FramelessWindowHint,true); - #endif + msgBox.setWindowFlag(Qt::FramelessWindowHint,true); return (msgBox.exec()==QMessageBox::Yes); + Q_UNUSED(name); } @@ -238,100 +244,91 @@ void SaveGraphLayoutSettings::looksOn(QPushButton* button,bool on){ } void SaveGraphLayoutSettings::enableButtons(bool enable) { - looksOn(backupUpdateBtn,enable); - looksOn(backupRestoreBtn,enable); - looksOn(backupDeleteBtn,enable); - looksOn(backupRenameBtn,enable); - if (unusedBackupNum<0) { // check if at Maximum limit - backupAddBtn->hide(); - backupaddFullBtn->show(); + looksOn(menuUpdateBtn,enable); + looksOn(menuRestoreBtn,enable); + looksOn(menuDeleteBtn,enable); + looksOn(menuRenameBtn,enable); + if (nextNumToUse<0) { // check if at Maximum limit + menuAddBtn->hide(); + menuAddFullBtn->show(); } else { - backupaddFullBtn->hide(); - backupAddBtn->show(); + menuAddFullBtn->hide(); + menuAddBtn->show(); } } +void SaveGraphLayoutSettings::add_feature() { + if(!graphView) return; + QString fileName = QString("%1%2").arg(baseName).arg(nextNumToUse,fileNumMaxLength,10,QLatin1Char('0')); + writeSettings(fileName); + // create a default description - use formatted datetime. + QString desc=QDateTime::currentDateTime().toString(); + descriptionMap->add(fileName,desc); + descriptionMap->save(); + QListWidgetItem* item = updateFileList( fileName); + if (item!=nullptr) { + menulist->setCurrentItem(item,QItemSelectionModel::ClearAndSelect); + menulist->editItem(item); + } +} + +void SaveGraphLayoutSettings::addFull_feature() { + QMessageBox msgBox(menuDialog); + msgBox.setText(tr("Maximum number exceeded.")); + msgBox.setStandardButtons(QMessageBox::Cancel); + msgBox.setDefaultButton(QMessageBox::Cancel); + msgBox.setWindowFlag(Qt::FramelessWindowHint,true); + msgBox.setStyleSheet(styleMessageBox); + msgBox.setIconPixmap(m_icon_addFull->pixmap(QSize(50,50))); + msgBox.exec(); +} + void SaveGraphLayoutSettings::update_feature() { if(!graphView) return; - QListWidgetItem * item=backuplist->currentItem(); - if (!item) return; + QListWidgetItem * item=menulist->currentItem(); if(!confirmAction( item->text(), tr("Ok to Update?") , m_icon_update) ) return; - QString backupName = item->data(backupFileName).toString(); - QString name = QString("%1.%2").arg(title).arg(backupName); - graphView->SaveSettings(name); + QString fileName = item->data(fileNameRole).toString(); + writeSettings(fileName); }; void SaveGraphLayoutSettings::restore_feature() { if(!graphView) return; - QListWidgetItem * item=backuplist->currentItem(); + QListWidgetItem * item=menulist->currentItem(); if (!item) return; - QString backupName = item->data(backupFileName).toString(); - QString name = QString("%1.%2").arg(title).arg(backupName); - graphView->LoadSettings(name); + QString fileName = item->data(fileNameRole).toString(); + loadSettings(fileName); exit(); }; void SaveGraphLayoutSettings::rename_feature() { if(!graphView) return; - QListWidgetItem * item=backuplist->currentItem(); + QListWidgetItem * item=menulist->currentItem(); if (!item) return; - backuplist->editItem(item); + menulist->editItem(item); // SaveGraphLayoutSettings::itemChanged(QListWidgetItem *item) is called when edit changes the entry. // itemChanged will update the description map } void SaveGraphLayoutSettings::delete_feature() { if(!graphView) return; - QListWidgetItem * item=backuplist->currentItem(); + QListWidgetItem * item=menulist->currentItem(); if (!item) return; - if(!confirmAction(item->text(), tr("Ok To Delete?") ,m_icon_delete) ) return; - QString backupName = item->data(backupFileName).toString(); - backupDescriptions->remove(backupName); - backupDescriptions->save(); - QString relFileName=QString("%1.%2.shg").arg(title).arg(backupName); - dir->remove(relFileName); + QString fileName = item->data(fileNameRole).toString(); + descriptionMap->remove(fileName); + descriptionMap->save(); + deleteSettings(fileName); delete item; - unusedBackupNum=backupNum(backupName); - enableButtons(true); -} - -void SaveGraphLayoutSettings::addFull_feature() { - QMessageBox msgBox; - msgBox.setText(tr("Maximum number of Backups exceeded.")); - msgBox.setStandardButtons(QMessageBox::Cancel); - msgBox.setDefaultButton(QMessageBox::Cancel); -#ifdef MESSAGEBOXHEADER - msgBox.setWindowTitle(tr("Maximum Files Exceeded")); -#else - msgBox.setWindowFlag(Qt::FramelessWindowHint,true); -#endif - msgBox.setStyleSheet(styleMessageBox); - msgBox.setIconPixmap(m_icon_addFull->pixmap(QSize(50,50))); - msgBox.exec(); -} - -void SaveGraphLayoutSettings::add_feature() { - if(!graphView) return; - - QString backupName = QString("%2%3").arg("backup").arg(unusedBackupNum,backupNumMaxLength,10,QLatin1Char('0')); - QString name = QString("%1.%2").arg(title).arg(backupName); - graphView->SaveSettings(name); - // create a default description - use formatted datetime. - QString desc=QDateTime::currentDateTime().toString(); - backupDescriptions->add(backupName,desc); - backupDescriptions->save(); - QListWidgetItem* item = updateFileList( backupName); - if (item!=nullptr) { - backuplist->setCurrentItem(item,QItemSelectionModel::ClearAndSelect); - backuplist->editItem(item); + if (nextNumToUse<0) { + nextNumToUse=fileNum(fileName); } + enableButtons(true); } void SaveGraphLayoutSettings::itemChanged(QListWidgetItem *item) { - QString backupName=item->data(backupFileName).toString(); + QString fileName=item->data(fileNameRole).toString(); QString desc= item->text(); // use only the first line in a multiline string. Can be set using cut and paste @@ -349,10 +346,10 @@ void SaveGraphLayoutSettings::itemChanged(QListWidgetItem *item) } if (desc.length() <=0) { // returns name back to previous saved name - desc=backupDescriptions->get(backupName); + desc=descriptionMap->get(fileName); } else { - backupDescriptions->add(backupName,desc); - backupDescriptions->save(); + descriptionMap->add(fileName,desc); + descriptionMap->save(); } item->setText(desc); } @@ -362,8 +359,21 @@ void SaveGraphLayoutSettings::itemSelectionChanged() enableButtons(true); } -int SaveGraphLayoutSettings::backupNum(QString backupName) { - QRegularExpressionMatch match = backupFileNumRe->match(backupName); +void SaveGraphLayoutSettings::writeSettings(QString filename) { + graphView->SaveSettings(title+"."+filename,dirName); +}; + +void SaveGraphLayoutSettings::loadSettings(QString filename) { + graphView->LoadSettings(title+"."+filename,dirName); +}; + +void SaveGraphLayoutSettings::deleteSettings(QString filename) { + QString fileName=graphView->settingsFilename (title+"."+filename,dirName) ; + dir->remove(fileName); +}; + +int SaveGraphLayoutSettings::fileNum(QString fileName) { + QRegularExpressionMatch match = fileNumRe->match(fileName); int value=-1; if (match.hasMatch()) { value=match.captured(1).toInt(); @@ -372,7 +382,6 @@ int SaveGraphLayoutSettings::backupNum(QString backupName) { } QListWidgetItem* SaveGraphLayoutSettings::updateFileList(QString find) { - Q_UNUSED(find); QListWidgetItem* ret=nullptr; enableButtons(false); dir->refresh(); @@ -382,112 +391,119 @@ QListWidgetItem* SaveGraphLayoutSettings::updateFileList(QString find) { int row=0; int count=0; - backuplist->clear(); - unusedBackupNum=-1; - backupDescriptions->load(); + menulist->clear(); + nextNumToUse=-1; + descriptionMap->load(); for (int i = 0; i < filelist.size(); ++i) { QFileInfo fileInfo = filelist.at(i); QString fileName = fileInfo.fileName(); QRegularExpressionMatch match = parseFilenameRe->match(fileName); if (match.hasMatch()) { if (match.lastCapturedIndex()==3) { - QString backupName=match.captured(2); - int backupNum=match.captured(3).toInt(); - // find an available backup name(number); - if (backupNum!=count) { - if (unusedBackupNum<0) unusedBackupNum=count; + QString fileName=match.captured(2); + if (nextNumToUse<0) { + // check if an entry is availavle to use + int fileNum=match.captured(3).toInt(); + // find an available file name(number); + if (fileNum!=count) { + nextNumToUse=count; + } } count++; - QListWidgetItem *item = new QListWidgetItem(backupDescriptions->get(backupName)); - item->setData(backupFileName,backupName); + QListWidgetItem *item = new QListWidgetItem(descriptionMap->get(fileName)); + item->setData(fileNameRole,fileName); item->setFlags(item->flags() | Qt::ItemIsEditable); - backuplist->insertItem(row,item); - //DEBUGF Q(count) Q(backupName) Q(item->text()); + menulist->insertItem(row,item); row++; - if (find!=nullptr && backupName==find) { + if (find!=nullptr && fileName==find) { ret=item; } } } } - if (unusedBackupNum<0) { // check if there is an existing empty slot + if (nextNumToUse<0) { // check if there is an existing empty slot // if not then the next available slot is at the end. CHeck if at max files. if (countsortItems(); + menulist->sortItems(); return ret; } void SaveGraphLayoutSettings::exit() { - backupDialog->close(); + menuDialog->close(); } void SaveGraphLayoutSettings::menu(gGraphView* graphView) { + if (dir==nullptr) { + //const char* err=qPrintable(QString("Cannot find directory %1").arg(dirName)); + //qWarning(err); + return; + } this->graphView=graphView; updateFileList(); - backupDialog->raise(); - backupDialog->exec(); + menuDialog->raise(); + menuDialog->exec(); exit(); } //==================================================================================================== //==================================================================================================== -// Backup Descriptions map class with file backup +// Descriptions map class with file storage -BackupDescriptions::BackupDescriptions(QDir* dir, QString _filename) +DescriptionMap::DescriptionMap(QDir* dir, QString _filename) { filename = dir->absoluteFilePath(_filename); - parseDescriptionsRe = new QRegularExpression("^\\s*(\\w+):(.*)$"); + parseDescriptionsRe = new QRegularExpression(QString("^\\s*(\\w+)%1(.*)$").arg(delimiter) ); }; -BackupDescriptions::~BackupDescriptions() { +DescriptionMap::~DescriptionMap() { delete parseDescriptionsRe; }; -void BackupDescriptions::add(QString key,QString desc) { +void DescriptionMap::add(QString key,QString desc) { descriptions.insert(key,desc); }; -void BackupDescriptions::remove(QString key) { +void DescriptionMap::remove(QString key) { descriptions.remove(key); } -QString BackupDescriptions::get(QString key) { +QString DescriptionMap::get(QString key) { QString ret =descriptions.value(key,key); return ret; } -void BackupDescriptions::save() { +void DescriptionMap::save() { QFile file(filename); file.open(QFile::WriteOnly); QTextStream out(&file); - QMapIteratorit(descriptions); while (it.hasNext()) { it.next(); - QString line=QString("%1:%2\n").arg(it.key()).arg(it.value()); + QString line=QString("%1%2%3\n").arg(it.key()).arg(delimiter).arg(it.value()); out <match(line); if (match.hasMatch()) { - QString backupName = match.captured(1); + QString fileName = match.captured(1); QString desc = match.captured(2); - add(backupName,desc); + add(fileName,desc); } else { DEBUGF QQ("MATCH ERROR",line); } @@ -553,19 +569,19 @@ switch (ret) { عذرا ، لا يمكن تحديد موقع ملف. - backupDialog->connect(backuplist, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(itemActivated(QListWidgetItem*) )); - backupDialog->connect(backuplist, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(itemDoubleClicked(QListWidgetItem*) )); - backupDialog->connect(backuplist, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(itemClicked(QListWidgetItem*) )); - backupDialog->connect(backuplist, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); - backupDialog->connect(backuplist, SIGNAL(itemPressed(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); + menuDialog->connect(menulist, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(itemActivated(QListWidgetItem*) )); + menuDialog->connect(menulist, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(itemDoubleClicked(QListWidgetItem*) )); + menuDialog->connect(menulist, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(itemClicked(QListWidgetItem*) )); + menuDialog->connect(menulist, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); + menuDialog->connect(menulist, SIGNAL(itemPressed(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); - backupDialog->disconnect(backuplist, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(itemActivated(QListWidgetItem*) )); - backupDialog->disconnect(backuplist, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(itemDoubleClicked(QListWidgetItem*) )); - backupDialog->disconnect(backuplist, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(itemClicked(QListWidgetItem*) )); - backupDialog->disconnect(backuplist, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); - backupDialog->disconnect(backuplist, SIGNAL(itemPressed(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); + menuDialog->disconnect(menulist, SIGNAL(itemActivated(QListWidgetItem*)), this, SLOT(itemActivated(QListWidgetItem*) )); + menuDialog->disconnect(menulist, SIGNAL(itemDoubleClicked(QListWidgetItem*)), this, SLOT(itemDoubleClicked(QListWidgetItem*) )); + menuDialog->disconnect(menulist, SIGNAL(itemClicked(QListWidgetItem*)), this, SLOT(itemClicked(QListWidgetItem*) )); + menuDialog->disconnect(menulist, SIGNAL(itemEntered(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); + menuDialog->disconnect(menulist, SIGNAL(itemPressed(QListWidgetItem*)), this, SLOT(itemEntered(QListWidgetItem*) )); void SaveGraphLayoutSettings::itemActivated(QListWidgetItem *item) diff --git a/oscar/saveGraphLayoutSettings.h b/oscar/saveGraphLayoutSettings.h index b3efffc8..c75f2b62 100644 --- a/oscar/saveGraphLayoutSettings.h +++ b/oscar/saveGraphLayoutSettings.h @@ -7,8 +7,8 @@ * License. See the file COPYING in the main directory of the source code * for more details. */ -#ifndef BACKUPFILES_H -#define BACKUPFILES_H +#ifndef SAVEGRAPHLAYOUTSETTINGS_H +#define SAVEGRAPHLAYOUTSETTINGS_H #include #include @@ -21,11 +21,11 @@ #include #include "Graphs/gGraphView.h" -class BackupDescriptions +class DescriptionMap { public: - BackupDescriptions(QDir* dir, QString filename) ; - virtual ~BackupDescriptions(); + DescriptionMap(QDir* dir, QString filename) ; + virtual ~DescriptionMap(); void add(QString key,QString desc); void remove(QString key); QString get(QString key); @@ -35,13 +35,14 @@ private: QString filename; QMap descriptions; const QRegularExpression* parseDescriptionsRe; + QChar delimiter = QChar(177); }; class SaveGraphLayoutSettings : public QWidget { Q_OBJECT public: - explicit SaveGraphLayoutSettings(QString title , QWidget* parent) ; + SaveGraphLayoutSettings(QString title, QWidget* parent) ; ~SaveGraphLayoutSettings(); void menu(gGraphView* graphView); protected: @@ -54,12 +55,13 @@ protected: QIcon* m_icon_addFull = new QIcon(":/icons/brick-wall.png"); private: - const static int backupNumMaxLength=3; - const static int maxFiles=10; // Max supported design limited is 1000 - based on backupName has has 3 numeric digits backupNumMaxLength=3. - const static int maxDescriptionLen=60; + const static int fileNumMaxLength=3; + const static int maxFiles=20; // Max supported design limited is 1000 - based on layoutName has has 3 numeric digits fileNumMaxLength=3. + const static int maxDescriptionLen=80; + const QString baseName=QString("layout"); const QRegularExpression* singleLineRe; - const QRegularExpression* backupFileNumRe; + const QRegularExpression* fileNumRe; const QRegularExpression* parseFilenameRe; @@ -67,25 +69,25 @@ private: const QString title; gGraphView* graphView=nullptr; - // backup widget - QDialog* backupDialog; - QListWidget* backuplist; + QDialog* menuDialog; + QListWidget* menulist; - QPushButton* backupaddFullBtn; // Must be first item for workaround. - QPushButton* backupAddBtn; - QPushButton* backupDeleteBtn; - QPushButton* backupRestoreBtn; - QPushButton* backupUpdateBtn; - QPushButton* backupRenameBtn; - QPushButton* backupExitBtn; + QPushButton* menuAddFullBtn; // Must be first item for workaround. + QPushButton* menuAddBtn; + QPushButton* menuDeleteBtn; + QPushButton* menuRestoreBtn; + QPushButton* menuUpdateBtn; + QPushButton* menuRenameBtn; + QPushButton* menuExitBtn; - QVBoxLayout* backupLayout; - QHBoxLayout* layout1; - QVBoxLayout* layout2; + QVBoxLayout* menuLayout; + QHBoxLayout* menuLayout1; + QVBoxLayout* menuLayout2; - QDir* dir; - int unusedBackupNum; - QListWidgetItem* updateFileList(QString findi=QString()); + QDir* dir=nullptr; + QString dirName; + int nextNumToUse; + QListWidgetItem* updateFileList(QString find=QString()); QString styleOn; QString styleOff; QString styleExitBtn; @@ -93,15 +95,19 @@ private: QString styleDialog; QString calculateStyle(bool on,bool border); void looksOn(QPushButton* button,bool on); - BackupDescriptions* backupDescriptions; + DescriptionMap* descriptionMap; bool confirmAction(QString name,QString question,QIcon* icon); void createMenu(); + void createSaveFolder(); void enableButtons(bool enable); void add_featurertn(); - const int backupFileName = Qt::UserRole; - int backupNum(QString backupName); + const int fileNameRole = Qt::UserRole; + int fileNum(QString fileName); + void writeSettings(QString filename); + void loadSettings(QString filename); + void deleteSettings(QString filename); public slots: private slots: @@ -118,4 +124,5 @@ private slots: }; -#endif // BACKUPFILES_H +#endif // SAVEGRAPHLAYOUTSETTINGS_H +