From 22646bc946b2ac17aa6c14f92bb31c4bb8b149b9 Mon Sep 17 00:00:00 2001
From: 0xFEEDC0DE64 <0xFEEDC0DE64@gmail.com>
Date: Wed, 13 Dec 2017 23:59:14 +0100
Subject: [PATCH] Introduced std::unique_ptr to avoid memory leaks
---
dialogs/aboutmedialog.ui | 32 +++++++--
images/about.png | Bin 0 -> 5513 bytes
images/help.png | Bin 0 -> 4971 bytes
images/user.png | Bin 0 -> 5577 bytes
main.cpp | 18 +-----
mainwindow.cpp | 90 ++++++++------------------
mainwindow.h | 6 +-
mainwindow.ui | 18 ++++++
replies/createbookingreply.cpp | 8 +--
replies/createbookingreply.h | 10 +--
replies/createtimeassignmentreply.cpp | 8 +--
replies/createtimeassignmentreply.h | 10 +--
replies/deletebookingreply.cpp | 9 +--
replies/deletebookingreply.h | 10 +--
replies/deletetimeassignmentreply.cpp | 9 +--
replies/deletetimeassignmentreply.h | 10 +--
replies/getauswertungreply.cpp | 16 ++---
replies/getauswertungreply.h | 9 +--
replies/getbookingsreply.cpp | 8 +--
replies/getbookingsreply.h | 9 +--
replies/getprojectsreply.cpp | 8 +--
replies/getprojectsreply.h | 9 +--
replies/gettimeassignmentsreply.cpp | 7 +-
replies/gettimeassignmentsreply.h | 9 +--
replies/loginpagereply.cpp | 7 +-
replies/loginpagereply.h | 10 +--
replies/loginreply.cpp | 7 +-
replies/loginreply.h | 10 +--
replies/updatebookingreply.cpp | 8 +--
replies/updatebookingreply.h | 10 +--
replies/updatetimeassignmentreply.cpp | 8 +--
replies/updatetimeassignmentreply.h | 10 +--
replies/userinforeply.cpp | 8 +--
replies/userinforeply.h | 10 +--
resources.qrc | 3 +
stripfactory.cpp | 12 ++--
stripfactory.h | 9 ++-
stripswidget.cpp | 14 ++--
stripswidget.h | 10 +--
zeiterfassung.pro | 2 +-
zeiterfassungapi.cpp | 90 ++++++++++++++------------
zeiterfassungapi.h | 43 ++++++------
42 files changed, 293 insertions(+), 291 deletions(-)
create mode 100644 images/about.png
create mode 100644 images/help.png
create mode 100644 images/user.png
diff --git a/dialogs/aboutmedialog.ui b/dialogs/aboutmedialog.ui
index 6b6bc52..3564b77 100644
--- a/dialogs/aboutmedialog.ui
+++ b/dialogs/aboutmedialog.ui
@@ -6,8 +6,8 @@
0
0
- 400
- 236
+ 454
+ 0
@@ -19,7 +19,7 @@
About me
-
+
-
@@ -124,8 +124,32 @@
+ -
+
+
+ QDialogButtonBox::Close
+
+
+
-
+
+
+ buttonBox
+ rejected()
+ AboutMeDialog
+ close()
+
+
+ 226
+ 5
+
+
+ 226
+ 0
+
+
+
+
diff --git a/images/about.png b/images/about.png
new file mode 100644
index 0000000000000000000000000000000000000000..b83e92690f3924b705dbafa712f98f50683c8744
GIT binary patch
literal 5513
zcmeAS@N?(olHy`uVBq!ia0y~yU~m9o4mJh`hEV}FU|J*}dkvZR|uDv?DRGaqU3O}{Cgz;=M)
z#arE<7w*2u<7t!W+9VwQWmQ14oB6K7b9dkGX0F-yuU`L?c#W8E98bft*KAAMTsarI
zaISNC!Kv56pulkA$@*W}Y7GntEdsSk-3`s|<%
zhVvOx=RvMNZ(E-E=FI2y@pJZmcy#@4XY2K)fpM?6&8~4zeds!=CC15vb!Et#t0D^)
z2ynK>DG0cHy5Q^S)V5I2f=x8Fxr(pXtaJPKK>(A5c|4laC_oKFd$MkQtSE6bcesy+KTBxwJDM<3ZR--3_
z25W(!urmjvB8vhGSHlzraUr|#E%KVmK~Zxf-<=G~P1*7`V0xjOGts)je0WTf@SSlJy
zJ9%-43Qx#n>^v{b)H$Q0!CR;xNh{4S>glVbopzzcT3_p)l-}O^H&?#!#h=Z>4yKpO
z^y{8Rr|a$c_4fT$|F~bz9oF02f3w=_^kb7JLS7S{7{VRotfn}*F)*xTP-L9CVXBbf
zg^nkCnFKgp|9BWNh8fPeRI}15Zu=cC{V#mqs;i^@eGgq0aws`mqPOqUTI1*OKfirn
zr9Q3hLGbsY#p-XE;{_B&7o1>N7qrvIZQ%mJDJg#ZECNBi93E#C{hi{hTS7Q?D9Kzg
z)Jb0!vNBwD`<2dLZ;xHhI&@hmL3i(;V=I?l-}ia$twT%YD~`lweQCYQ%`#Dob-qW8
z=87A0Rb7@$<2UeHV9a$pL1QM*G(Sg=z+fRUzD$>2;aaT$8iz!;>YSdrDkNL=c;UA{
z-_GUjzx$=oXZ{BhmKWXA<7e&sa`pY+yFXs)|1ntbbak)Y_Uc9tmFZ3AZ`yhk`SCgg
zdL_IRNmgaiqqDa~h3iU@O!cCWbuXkA
z&whLM_gRe(PBO|s|-E2DCh?s
zxS*lt#kQ|vQ`7$aHjUTM^*(&%B&mKpw?SabFTp(l4bPR_Wh6ccT7QqzELh3Wk+!qX
z_SvpH2FZ1A?e<)Cn&VWj#&RS4-?QD%#pnOOU4LcO=KDFnQr0{!RO(}yA3xL0!0Ev(
zsdK)&D;|GRiHlj2v@2=RyB9N7NodTJDzj27vr=sGP&(Pq_p{;8Ud>KU!5~53%X2op
zo~9dozxUVMt>4~N@%tOFR`Gne^-?=t(!TKJ)9Gt(y}7&G~2aYg12ZUiYeS+VtIp$>;JGf4#jG+sw+peVuS?dGx#sPI{AnACvoE=$G%{
zwn%3qe}aL@tR+q_l?+U{u3uSTZ1pL9`K&3E942{8dd6L+a*=O}^4eRUg_p12Q}*eT
z_GN}I>52}~dp^DT@ufI?|C*i2=jB@pelOH$(r$1+_>#Bbd7rZ0#aHeYAATN4x%B=k
zQ{aj)v|e4&4b8o^e&aG7`VT&-#`-_mq_N$5&rw>c_0;@wM!~+@vm;;5Tnq!Ks-R
zABz}jpB)gNvV3FRiFcpv{df;NpD(@q$lrhmftL@j{i-K*S3q%k$BrX)^B+HR6W?xL
z{o;pbbR(z?vQg+hoodGZ0PiaLy-MsbY<>$}O+t(L=J-5})&80<|
z^Mc9QHNNxbn0tNY-lvc!@X;y8p2zNMK+1`Cp_7D<%r9W|P*wOPw6`I7u_yxrlir1|
z$!jMFHCHQt-_!V|c>Ro?B$oiMgU`E)7Wv=&I&+jy^qOGY7vup%6y{pb9~9`
z%iP^p3dC*rl!dgOx4Jjmzxg8c!Sb$0{fZE+lYdlNrYz{VoU9v|9^}(AU+1q$q}RE^
zg#sS0W-R@6^VN|%6E8l{;7yp?`Lio_Zp4(3)$B1rfjy3_D^nhPZVm97q;*4QaiQ)4
zL$2V(8+f}WEj?(c!L;tfiie5Ig%9-eh4;2EnSaOpYQq;x6-5gXgN}!1rXEXwwoLq7
z#O>9m|0ag@s~pe@T|Fyy=JT#wiqBg&EGcqHd78Uy)8Qi*R9MS++a?`-FiYx`ne*MN
zhOvf*;oA*D4KKcO|8a9`Zi!9bgyXVH?g(>VazFQZGNZ60r|0obtyS08e)y!zBFB%}jCOROaM$
zeH(-RY|qKOVA?fxS$pC2hK0cwVz%pFV+y^}Ah>Nle`f&0^ezsA>jhfIWjo&~nf+{1
zmhp608Fk%vdywj^xW`OUQj>$V^(^)td|Z4W(1e|7K~Cn6ODnbF>ejWbT71xNljE^R
z@@rHUY}~=VLiUr-(H;FJcT|=9xsExrXf9O{HRQQ0cUf0mb-@NVOUEF|*_V8Fhp=6Z
zStl}e(~G~xU)7Y~*tN#+bk?bC*!KM4yD;(B)pkyLkF6BaFV5the7LOdaG4+bd{N;=
zQv_EsEIhCxEzI}yHus0JD;e8j(|oq)G)OsVO?v+%Y00bpf{v40g$ku>_8uX=^AiZ7pc`qY^%?YZe=el}Tn!3;mu
z#5SfaA}=1!i?h3Y`a46Bi>lN?(F^>n74C<)RZHA1MriPVW9ECEz;|}R5v?p%gDDJ8
zJx*;=UFIaX$~)li4VH$0MGULB>{Yw}TCU=H@0RWI#&`#l2>X_RMegDt7p8xR(y#=cWgZN?be>s#rlkt&q(uRWfk{vJKCjSNu;-i|f9?9^Q@&^_7A3rO
zmb35Ax$%zMWog~w4^x&4)GOW-UpjyP76+$GH5VmXCI#wq*}mVwvf%QaM~?p=Fia{p
z`f^%)Fnu$DYTo_+S>tN~TG+hmIQuaI`ybn`gi5NrAtDYDXYbufqwA4EM(R8m5~2
zkL%XoofNoXd0>H?asPbwAQpR_hcy#j*rF6eeHzZZ6_wMhX>wj*r2oO<)n^9tUNu
z2afv%f9;*fduj11$9J+@ZrQxZeI3#&b=u6xczO7lzw9eFDLFqdPI{zkz*^X&+dWbB
z{e{;WFOT0%VrmXN+VP_8@42x3cO`D}TXZozERTM>;d)%^1l!=no-7xcWCKKVsQ#ea#H%eNSEMMw#{xbUvO8*x9nzF>t=jSOQ^{^x^^<@vuA
zT`p`eRg$oc;YfXNIKhU?|Kzrvty7LO&1Wz6_|^JYImg~|y)l=!vqICmtm^XG%{wh!5^h?*#fHW?{3RXSU9Vd7_Qu-x%l3J|t`pdJd#)+-|TD1(*&OLbXp<;jO>Ye*)@_%1cx0RV#Y17BBb@#SAcVl3;u%i;DJHoSmgz4P+2OT)+hisscAv#8sosZ+gZ1>zPAx25*rTm}NoHmq>+sOf(a*TNtgeZ139+Bj4=SO3sC$BvHGOW0@JX3!K6lAkSgxWZFd@1y*d
zYkB{ly!*ZX-`{t?nr&^;+9M864&PAr`>*@fpT+sUx4x>nuiv-CIO}T@htb5aS3(?$
z?Q^5EjJQ51cmAzo(HDxi`t|BS|9Whw(qsX
zi*ebHoZA#~s$OWvV*v(+hp*<}iz|P<`G4W1m3kqsxu>qk@yXln{K!4B#M0)7
zK)bJIa;II^myP@UAMgEtusmSP%O^c9IbueE^L3QZOh0KT*>}+3ol&0V`-A_EebS%4
z{_nfy-rw8%cxr!^zL8Wss4Vy8mhEz*XVbHUg||IE*AQU*U=qi~w{cI>E7)ew^0b_D
zj-mDA8F?nT=bRtC6@AVXYO+5Fo-w?)GVuK9BiQRj++YGWSBy
ztvh*}Rrb>#=Hu?1cO>?#c~NsYf8F0t2ix=i{y27f|BjcX*0C~z-{-e7Fig0+_pJig
zp4!7JzuYNW`)=1cmgF-}PAY8ix?;*Yp|oVP;SG@o1{Pk%vzN6rT)0!I^4xQd%T(XC
zlbiHTS>692wfg_R2aE6jdvWZ2-LJsi8?PPkY{_txJo=l#0vAJXTEoSnGgnd{$k>+)vs-Y#AF+RF5{iL9HZsF$GT=Dm9ppU+sf
zzJ1ax!9u&-+?P7@Iv-$arZBK8doirF>n-aQ4KIx_S)tVg#1+Vknd=PT?>eUoa
ze(km!VSAtLuI9J@cX2O&-PdPt%kS+e-mv|0Wz@-fF&2h~FMQvczCHWf#_>ngZ9}HS
zto-P(JFht5(j6D)~^D
z|NY|rygOCjkC)&7y?wj=&&T;;f9lFpmOtOoU2{vH?|!>LlHZ)DRsQp<3k#Dzp8C9W
zWw5^F(v7Pxy#491ag%-mTg)btB#)Wrc#kYG@JcY?a#r3@qNO{xp!?wU1K&e0?0vtr
zeBIV-@Bb!#zUOWpW>;6f_wJonk0d59sMln=backL*^`&Azjj<)Z{CXe7UlbFDnCsM
zl-qsa%q6B7hJ2@DSd$oBm_5Z7NHnH|6mmTcKFWXKZ|*~Rn=et;+rOF1-^p2XFZSN9
z@5|R7`}LQ(rtQD$w@Bd$dR`ocuZz>YlGV@kPd%2t{LZg4b7E)DF`n~jO4_aDS!q)^
zukr{OFdbbfG_RwHkN;QihU@oUZQo|j_idY*wRQIH+o!Kbv#)itXRKTE`Ki5R#Fq;O^-g@IFN~kAZ=*pd6))}N-Kyi1|tJQ16>0nkOo6jD-%mAV+)7|zX_jM
zQ8eV{r(~v8LNyrb8XATenphbcSQ(i@G#D+OwVZ*0!35+apUmXcyy8@bjFOT9D}8;i
zU72O6$@#gt`FX{9`9>}W$gWJu1GcYhnfGiBo
zFD*(=W$?@^DauSQO;zwr&d*Z_PAyrdzR;e5fx!)-CO$OC2j;Hg%-n*U)XcoR{IbN7
z%=|pPywno?%)FG;3cZ4i0{eo*^i*3TBei0%;kHI~#DA}-I$G^IcM(?w>+%OzExWB&
z-;3O{eMR}JHODLazso(By*Kr?-1|AJs`iBM`Cjq0;(6h!6=&~eRNH!6#qOM
zrN0IK^t*k~pBLxLN-&=1XKTJ5SNrv9
zx?b!qmx`L=z|cusj$fLYKdD6g6?^vrjv$kTp}|dJA2Q|mZ?8JK^OHEILes05AH3gL
zQ(KZb-tZa6)&Ccpz5C|fb@KoADgV6b6kqXL|NjpM4vYPJ_SF2E8XouXP%HNetz!}{
zDOId44vRjgT`N^`*eRQrW#`WE|M7jN-nX?~Zi~;pohv9G|F7q^^xntY${%Gu|2ebt
z-vPA=@7}zbaeBIb@t+?bC7UkX&{I@Zy4>WcTN2E9bYs%|4EdSmyi+$xeeYNhXSwyx
z!MittuD^`jn*8a@L}qP=s&aeYF_P92oe+J>eaB`?fk3f!{N|KyTWPu_BDSGa2>EbE*@WV@YSm<
z)q<0(_kJhc-~8#tK9x_s!o`io_sA0Er+-~aDZzW=^2Z?DeZSLwjILTmT#-9Bo<
zJ%&reokI)Hu|}IWz0LV>({@KiQm6FnFL*R(G#Deu1Op(|POPJ^vCEA;;39xo=_3
zqUS5Vix|3>-l_Iq*Ew^>;+HPdo}JpJ&&n|ML#}EEM-q!6+tGrz^HjHgcyf|2JWQ9N
zfBh1P%(4eD{y}@Ld}Dd{zN$}Or6hQzOxDxfw2J;F{^UiaTtDX(y%lHNEONocy~&X6
z`NLDImd@u=7ZYB$Hu9XTcfv($zjkcq_nih=;<%pJ&OMV7>$d0T_$nUO%r8E^TZf+~Q;CstUyWUl(fPf(r?+11iH`T5aieFe
zth{EW*Mo1C{5SRr&8yX3VA6Pr_o!L|myn33lF_Q^)zBj3-
z=Bm!QvZ0{iuJ^WfCx=NYqJN~G{cy$=;m$@i9-Ha&zl^72fy#jneXIyZ3yXKf9(Z-RNuI<*oxv
zdHOfM`8HMWJSfC?Y=)Md`lGLL$3HZC_kVb+E^eT9?EOaV6wZod26&->#lH+PAUV!7jl?d#utdN@5-~Gn)A^_nzLBJ{-^$
zWKqB9aDHr5Qf9)dd-*B7p)+z=KUNnWaMo7nV@zTRQM>TzZ1cK@yZvPoH|BSFm}(rf
zbXQ;a@septcB_P-+Rjg(S37SzzD{dNjLqf8j~3Tf^dD8Iw9B)LVK-Y(biHAj(a3>lq
z&*7_8h~(9;OVWJ88N%fLy{$g1#n$q{!p99W_uhAM*wbTlUL(BEGnSpjL-^qhr&CGs
z8|2K~H%s+3&l6BTVmnz%(eSdG$lYwwx$*qB*_jTx78@PRWHEV|NLd&NXWr8(Bu9$s9W*}CY=!LwU=*1Iry
zM++Y0mN~?->`_BxoI=Z?RI?jL7BiS%Gy3=HtgqhO_m{m}^{*A#?K53j_2J1P1DQik
z<~w%Yx!QkW(f9qIL*_3%G+Cl?cDCjJV(rC~SyFwj%QOnGyq(JRrl0xSDrOVrg-$<|
zM0&o~J&rqfc56e^rD?r_YGQ7cFaFNu)cKZBEpx29#X$xXL608)?TRlme%kBre&_b5
zFF}fiEgG8^Rx}E5zFXPQZq^ti_^~pW)oIx?hNN(@CaEP7I-1GtkN#YnacXX=*@wo7
z0s1!OHc!px*$Z)Laa}t&dp_^a2d6o`0z$GDmFx(#IvePhz~
zFyl83ihAz6UjKVyu6fH5cdH9;RrY*(q|`6_o}tnI-Y%jn#t=)0>!j@I$k>*pF*B
zO0O7#^|x?U}O&A9RI
zdG6+BCNBAqMSf}D_xLa_T#zHr@h&>udQVNEgSzOoa#{Pj`sv^Ed_LF-Joh;pG~4k?
zlHQ4VjTe|L9b8rgRLo;KwW=VJ-{IC?>*xoPyBrPo{P@uz+|4QNeBS@w{il$8=-93FG+1ew;5Pg1kA$di0n8PDT-ulWmlw+2+a=Vbs;n3=
z>qeS|&P93E9VVG}M&h$PJ@2G1;!~t=A-YTRsz$K#H~s7sUq}=AzWLuduiaNddd;c8Vm6&`8(b$&5b#}NG$&)SugaG_93{agxXNE}A5{%yxbi@r
zwdm^J+qEk!62jyHc>BUsEOxg?&%NKqp|tRMeqHX#u7d4*>t
z!{4>tlrwGZwQuVij6Tf{XPYf0K4F6Hs;tnRy@3Hs*;(yhUdd)XxbV&2X%QEX?wo!~
zIO2Yt*Vd&AD$jbcJ0FM<%9$^mysBi2q~YOZm{mycuI{OC{Rb61`Y&1XNZaji)D{3>E|
z(4tjK+V>JO)pI7&a
zD>H;=yyjfC>FAHCi=96{XglXIp1$08b9dEgGi4Q0t$w(r!7&v83h{_wP&&!2nd?dN?z4k%dF*Quti%wJULbZ|Mp
z)uGGFFDXe~Ikx7*kD06XS-szCC?43o@^8D7L#RM!>%4b=1Nv7j-{SVf)x~dZGFQo^
z$Rm=|;?xsvSMx5@-TFR2lX=gDbz7Ft(ULp(R`;Kx#ezl_;VBDpfA??m77g*?KdRCp
z@S{X1Gv>Ky*mj+rz1mT&8;%yA5{Qq=74fZbeZ$P<^xL?Ry^LKHY!sW?Jd#qPnHcf)Bs7J$-xL{m!oZ)9ZAq_P+RU_S$>1tz)2I`k@ye
z4vGYD#MUiu-YWJy#&qM(Id@`eFNA!tXq{_jVcAs6y^P_`%@aRom+SmpchF--WY*kk
z$vnN2oGxU{@#+X`3yfd=%23T-hjY=YCzbai)^6SU;ap;Icd;GE3+BksL*`YhR?766
zEQ-4+`BUqP@XGz{6SPjOJpAW_k7h9cDX)cDtpe@ee=;)|#51}+wq9km?V8a{pA(yS
zvURVqeUH*oIKTPP=WT~3hR$=ipk{pik+}b%J*SxUd6x2sZ0vZ(
z{*9@%VSm6?>&kidvs65p8I_v8%Vq0E&SU?4q3BqC=bg;dE8C=E!;5-^HoNq;Y1DJP
zYz{fjay0x@x9AeT&`<1@jXSvt&MjQ^`rhyC%6a=!dK6C^eR8@H!B{yhc`moSp22#p
zkYg`=qj@J_X{V6k}4GNa=C`X`kht8Q@=oD=0Z
zQDCO9V3~5}k!Pjq*Lxz4a$a?-&EM+Lv&8J8D{p{E%IVnYuirhB{rtWDS5f6-pV%d(
z#tV0a$ar(c_j=8HzFmE?=dx9IgDSFfLshn33%m1R&urOC7vKDR_VHV5@hS0CryJ{3
zd~IC&mVaJT
z?ALv@`@{{)>w%#sH~W~si}T<4D{K|-{>x#?Yehq{9M((fl;
zZrNU;#9QaVD!?1cv(h21HzfPAk=J^$r)MvT1Zdjd5bLym@U5eQk^Pa&A#j>cZTrRS>}=bL@o<@?d^=cATa6??sSCjRw
zH$SgfFTW^VKL?_uSU;&!w>VMXSkFLTA-_n07#%+D0Y3UhdWQPZ{Wi%kH$t38AQVJA
zw%%l5V2}j4F*rZ1q&%@Gm7%=6TrV>(yEr+qAQj}a+3#$m7#J9YA&N?il2aM{D=O1d
z^AtRj^Ye<|NUVFoz`&r6kd6-x@_~63WLQ2}wQeRzHON5y_vWikg9gn!UHx3vIVCg!
E0I9tt2><{9
literal 0
HcmV?d00001
diff --git a/images/user.png b/images/user.png
new file mode 100644
index 0000000000000000000000000000000000000000..e6e955fcc9165f5bc8b6b7ce89bc2263dcd199e8
GIT binary patch
literal 5577
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
goto again1;
}
-
- reply->deleteLater();
}
splashScreen.showMessage(QCoreApplication::translate("main", "Authenticating..."));
@@ -188,7 +185,7 @@ int main(int argc, char *argv[])
{
QEventLoop eventLoop;
- QObject::connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ QObject::connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -205,11 +202,8 @@ int main(int argc, char *argv[])
settings.setUsername(dialog.username());
settings.setPassword(dialog.password());
- reply->deleteLater();
goto again2;
}
-
- reply->deleteLater();
}
splashScreen.showMessage(QCoreApplication::translate("main", "Getting user information..."));
@@ -221,7 +215,7 @@ int main(int argc, char *argv[])
{
QEventLoop eventLoop;
- QObject::connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ QObject::connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -229,13 +223,10 @@ int main(int argc, char *argv[])
{
QMessageBox::warning(&splashScreen, QCoreApplication::translate("main", "Could not get user information!"),
QCoreApplication::translate("main", "Could not get user information!") % "\n\n" % reply->message());
-
- reply->deleteLater();
return -1;
}
userInfo = reply->userInfo();
- reply->deleteLater();
}
splashScreen.showMessage(QCoreApplication::translate("main", "Loading strip layouts..."));
@@ -256,7 +247,6 @@ int main(int argc, char *argv[])
QCoreApplication::translate("main", "Could not load strips!") % "\n\n" % stripFactory.errorString());
return -1;
}
- widget->deleteLater();
}
{
@@ -267,7 +257,6 @@ int main(int argc, char *argv[])
QCoreApplication::translate("main", "Could not load strips!") % "\n\n" % stripFactory.errorString());
return -1;
}
- widget->deleteLater();
}
{
@@ -278,7 +267,6 @@ int main(int argc, char *argv[])
QCoreApplication::translate("main", "Could not load strips!") % "\n\n" % stripFactory.errorString());
return -1;
}
- widget->deleteLater();
}
MainWindow mainWindow(settings, erfassung, userInfo, stripFactory);
diff --git a/mainwindow.cpp b/mainwindow.cpp
index 5405732..5a3800e 100644
--- a/mainwindow.cpp
+++ b/mainwindow.cpp
@@ -86,7 +86,7 @@ MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfass
connect(ui->pushButtonNow, &QAbstractButton::pressed, [=](){ ui->timeEditTime->setTime(QTime::currentTime()); });
m_getProjectsReply = erfassung.doGetProjects(userInfo.userId, QDate::currentDate());
- connect(m_getProjectsReply, &ZeiterfassungReply::finished, this, &MainWindow::getProjectsFinished);
+ connect(m_getProjectsReply.get(), &ZeiterfassungReply::finished, this, &MainWindow::getProjectsFinished);
ui->comboBoxProject->setMaxVisibleItems(10);
@@ -140,7 +140,6 @@ void MainWindow::getProjectsFinished()
QMessageBox::warning(this, tr("Could not load bookings!"),
tr("Could not load bookings!") % "\n\n" % m_getProjectsReply->message());
- m_getProjectsReply->deleteLater();
m_getProjectsReply = Q_NULLPTR;
}
@@ -161,7 +160,6 @@ void MainWindow::getAuswertungFinished()
{
m_auswertungDate = QDate();
QMessageBox::warning(this, tr("Could not load Auswertung!"), tr("Could not load Auswertung!") % "\n\n" % m_getAuswertungReply->message());
- m_getAuswertungReply->deleteLater();
m_getAuswertungReply = Q_NULLPTR;
return;
}
@@ -202,7 +200,6 @@ void MainWindow::getAuswertungFinished()
m_balanceLabel->setText(tr("%0: %1").arg(tr("Balance")).arg(gleitzeit));
m_holidaysLabel->setText(tr("%0: %1").arg(tr("Holidays")).arg(urlaubsAnspruch));
- m_getAuswertungReply->deleteLater();
m_getAuswertungReply = Q_NULLPTR;
}
@@ -229,7 +226,7 @@ void MainWindow::contextMenuBooking(const QPoint &pos)
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -240,11 +237,8 @@ void MainWindow::contextMenuBooking(const QPoint &pos)
else
{
QMessageBox::warning(this, tr("Could not create booking!"), tr("Could not create booking!") % "\n\n" % reply->message());
- reply->deleteLater();
goto again2;
}
-
- reply->deleteLater();
}
}
else if(selectedAction == refreshAction)
@@ -276,7 +270,7 @@ void MainWindow::contextMenuBooking(const QPoint &pos)
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -287,11 +281,8 @@ void MainWindow::contextMenuBooking(const QPoint &pos)
else
{
QMessageBox::warning(this, tr("Could not edit booking!"), tr("Could not edit booking!") % "\n\n" % reply->message());
- reply->deleteLater();
goto again1;
}
-
- reply->deleteLater();
}
}
else if(selectedAction == deleteAction)
@@ -306,18 +297,14 @@ void MainWindow::contextMenuBooking(const QPoint &pos)
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
if(reply->success())
- {
m_currentStripWidget->refreshBookings();
- }
else
QMessageBox::warning(this, tr("Could not delete booking!"), tr("Could not delete booking!") % "\n\n" % reply->message());
-
- reply->deleteLater();
}
}
}
@@ -346,7 +333,7 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos)
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -357,11 +344,8 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos)
else
{
QMessageBox::warning(this, tr("Could not create time assignment!"), tr("Could not create time assignment!") % "\n\n" % reply->message());
- reply->deleteLater();
goto again2;
}
-
- reply->deleteLater();
}
}
else if(selectedAction == refreshAction)
@@ -396,7 +380,7 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos)
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -407,11 +391,8 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos)
else
{
QMessageBox::warning(this, tr("Could not edit time assignment!"), tr("Could not edit time assignment!") % "\n\n" % reply->message());
- reply->deleteLater();
goto again1;
}
-
- reply->deleteLater();
}
}
else if(selectedAction == deleteAction)
@@ -426,7 +407,7 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos)
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -436,8 +417,6 @@ void MainWindow::contextMenuTimeAssignment(const QPoint &pos)
}
else
QMessageBox::warning(this, tr("Could not delete time assignment!"), tr("Could not delete time assignment!") % "\n\n" % reply->message());
-
- reply->deleteLater();
}
}
}
@@ -456,7 +435,7 @@ void MainWindow::pushButtonStartPressed()
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -464,12 +443,9 @@ void MainWindow::pushButtonStartPressed()
{
QMessageBox::warning(this, tr("Could not create booking!"), tr("Could not create booking!") % "\n\n" % reply->message());
m_currentStripWidget->refresh();
- reply->deleteLater();
return;
}
- reply->deleteLater();
-
bookingsChanged = true;
}
@@ -489,7 +465,7 @@ void MainWindow::pushButtonStartPressed()
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -499,34 +475,30 @@ void MainWindow::pushButtonStartPressed()
{
QMessageBox::warning(this, tr("Could not edit time assignment!"), tr("Could not edit time assignment!") % "\n\n" % reply->message());
m_currentStripWidget->refresh();
- reply->deleteLater();
return;
}
-
- reply->deleteLater();
}
}
- auto reply = m_erfassung.doCreateTimeAssignment(m_userInfo.userId, ui->dateEditDate->date(),
- timeAssignmentTime, QTime(0, 0),
- ui->comboBoxProject->currentData().toString(), ui->comboBoxSubproject->currentText(),
- ui->comboBoxWorkpackage->currentText(), ui->comboBoxText->currentText());
-
{
- QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
- eventLoop.exec();
- }
+ auto reply = m_erfassung.doCreateTimeAssignment(m_userInfo.userId, ui->dateEditDate->date(),
+ timeAssignmentTime, QTime(0, 0),
+ ui->comboBoxProject->currentData().toString(), ui->comboBoxSubproject->currentText(),
+ ui->comboBoxWorkpackage->currentText(), ui->comboBoxText->currentText());
- if(!reply->success())
- {
- QMessageBox::warning(this, tr("Could not create time assignment!"), tr("Could not create time assignment!") % "\n\n" % reply->message());
- m_currentStripWidget->refresh();
- reply->deleteLater();
- return;
- }
+ {
+ QEventLoop eventLoop;
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ eventLoop.exec();
+ }
- reply->deleteLater();
+ if(!reply->success())
+ {
+ QMessageBox::warning(this, tr("Could not create time assignment!"), tr("Could not create time assignment!") % "\n\n" % reply->message());
+ m_currentStripWidget->refresh();
+ return;
+ }
+ }
m_settings.prependProject(ui->comboBoxProject->currentData().toString());
m_settings.prependSubproject(ui->comboBoxSubproject->currentText());
@@ -566,7 +538,7 @@ void MainWindow::pushButtonEndPressed()
{
QEventLoop eventLoop;
- connect(reply, SIGNAL(finished()), &eventLoop, SLOT(quit()));
+ connect(reply.get(), SIGNAL(finished()), &eventLoop, SLOT(quit()));
eventLoop.exec();
}
@@ -574,11 +546,8 @@ void MainWindow::pushButtonEndPressed()
{
QMessageBox::warning(this, tr("Could not edit time assignment!"), tr("Could not edit time assignment!") % "\n\n" % reply->message());
m_currentStripWidget->refresh();
- reply->deleteLater();
return;
}
-
- reply->deleteLater();
}
{
@@ -588,7 +557,7 @@ void MainWindow::pushButtonEndPressed()
{
QEventLoop eventLoop;
- connect(reply, &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
+ connect(reply.get(), &ZeiterfassungReply::finished, &eventLoop, &QEventLoop::quit);
eventLoop.exec();
}
@@ -596,11 +565,8 @@ void MainWindow::pushButtonEndPressed()
{
QMessageBox::warning(this, tr("Could not create booking!"), tr("Could not create booking!") % "\n\n" % reply->message());
m_currentStripWidget->refresh();
- reply->deleteLater();
return;
}
-
- reply->deleteLater();
}
m_currentStripWidget->refresh();
@@ -745,7 +711,7 @@ void MainWindow::refreshAuswertung()
m_auswertungDate = QDate(ui->dateEditDate->date().year(), ui->dateEditDate->date().month(), 1);
m_getAuswertungReply = m_erfassung.doGetAuswertung(m_userInfo.userId, m_auswertungDate);
- connect(m_getAuswertungReply, &ZeiterfassungReply::finished, this, &MainWindow::getAuswertungFinished);
+ connect(m_getAuswertungReply.get(), &ZeiterfassungReply::finished, this, &MainWindow::getAuswertungFinished);
}
void MainWindow::updateComboboxes()
diff --git a/mainwindow.h b/mainwindow.h
index df337ee..5d8421e 100644
--- a/mainwindow.h
+++ b/mainwindow.h
@@ -1,6 +1,8 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
+#include
+
#include
#include
@@ -52,8 +54,8 @@ private:
const ZeiterfassungApi::UserInfo &m_userInfo;
StripFactory &m_stripFactory;
- GetProjectsReply *m_getProjectsReply;
- GetAuswertungReply *m_getAuswertungReply;
+ std::unique_ptr m_getProjectsReply;
+ std::unique_ptr m_getAuswertungReply;
BookingsModel *m_bookingsModel;
TimeAssignmentsModel *m_timeAssignmentsModel;
diff --git a/mainwindow.ui b/mainwindow.ui
index 2737c4f..87a9f30 100644
--- a/mainwindow.ui
+++ b/mainwindow.ui
@@ -257,6 +257,7 @@
+
@@ -302,11 +303,19 @@
+
+
+ :/zeiterfassung/images/user.png:/zeiterfassung/images/user.png
+
About &Me
+
+
+ :/zeiterfassung/images/about.png:/zeiterfassung/images/about.png
+
About &zeiterfassung
@@ -352,6 +361,15 @@
&Settings
+
+
+
+ :/zeiterfassung/images/help.png:/zeiterfassung/images/help.png
+
+
+ Help
+
+
diff --git a/replies/createbookingreply.cpp b/replies/createbookingreply.cpp
index 9127140..07cd2c3 100644
--- a/replies/createbookingreply.cpp
+++ b/replies/createbookingreply.cpp
@@ -1,17 +1,16 @@
#include "createbookingreply.h"
-#include
#include
#include
#include
#include
-CreateBookingReply::CreateBookingReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+CreateBookingReply::CreateBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply),
+ m_reply(std::move(reply)),
m_bookingId(-1)
{
- connect(reply, &QNetworkReply::finished, this, &CreateBookingReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &CreateBookingReply::requestFinished);
}
int CreateBookingReply::bookingId() const
@@ -59,7 +58,6 @@ void CreateBookingReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/createbookingreply.h b/replies/createbookingreply.h
index dfa0d73..accc5dd 100644
--- a/replies/createbookingreply.h
+++ b/replies/createbookingreply.h
@@ -1,16 +1,18 @@
#ifndef CREATEBOOKINGREPLY_H
#define CREATEBOOKINGREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class CreateBookingReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- CreateBookingReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ CreateBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
int bookingId() const;
@@ -18,7 +20,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
int m_bookingId;
};
diff --git a/replies/createtimeassignmentreply.cpp b/replies/createtimeassignmentreply.cpp
index 9ff1ec4..51c3a62 100644
--- a/replies/createtimeassignmentreply.cpp
+++ b/replies/createtimeassignmentreply.cpp
@@ -1,17 +1,16 @@
#include "createtimeassignmentreply.h"
-#include
#include
#include
#include
#include
-CreateTimeAssignmentReply::CreateTimeAssignmentReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+CreateTimeAssignmentReply::CreateTimeAssignmentReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply),
+ m_reply(std::move(reply)),
m_timeAssignmentId(-1)
{
- connect(reply, &QNetworkReply::finished, this, &CreateTimeAssignmentReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &CreateTimeAssignmentReply::requestFinished);
}
int CreateTimeAssignmentReply::timeAssignmentId() const
@@ -59,7 +58,6 @@ void CreateTimeAssignmentReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/createtimeassignmentreply.h b/replies/createtimeassignmentreply.h
index bd9da80..634b907 100644
--- a/replies/createtimeassignmentreply.h
+++ b/replies/createtimeassignmentreply.h
@@ -1,16 +1,18 @@
#ifndef CREATETIMEASSIGNMENTREPLY_H
#define CREATETIMEASSIGNMENTREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class CreateTimeAssignmentReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- CreateTimeAssignmentReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ CreateTimeAssignmentReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
int timeAssignmentId() const;
@@ -18,7 +20,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
int m_timeAssignmentId;
};
diff --git a/replies/deletebookingreply.cpp b/replies/deletebookingreply.cpp
index c059365..5549f32 100644
--- a/replies/deletebookingreply.cpp
+++ b/replies/deletebookingreply.cpp
@@ -1,12 +1,10 @@
#include "deletebookingreply.h"
-#include
-
-DeleteBookingReply::DeleteBookingReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+DeleteBookingReply::DeleteBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &DeleteBookingReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &DeleteBookingReply::requestFinished);
}
void DeleteBookingReply::requestFinished()
@@ -23,7 +21,6 @@ void DeleteBookingReply::requestFinished()
setSuccess(true);
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/deletebookingreply.h b/replies/deletebookingreply.h
index 604f965..94796c4 100644
--- a/replies/deletebookingreply.h
+++ b/replies/deletebookingreply.h
@@ -1,22 +1,24 @@
#ifndef DELETEBOOKINGREPLY_H
#define DELETEBOOKINGREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class DeleteBookingReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- DeleteBookingReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ DeleteBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
};
#endif // DELETEBOOKINGREPLY_H
diff --git a/replies/deletetimeassignmentreply.cpp b/replies/deletetimeassignmentreply.cpp
index 9412e1d..5c3ea75 100644
--- a/replies/deletetimeassignmentreply.cpp
+++ b/replies/deletetimeassignmentreply.cpp
@@ -1,12 +1,10 @@
#include "deletetimeassignmentreply.h"
-#include
-
-DeleteTimeAssignmentReply::DeleteTimeAssignmentReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+DeleteTimeAssignmentReply::DeleteTimeAssignmentReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &DeleteTimeAssignmentReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &DeleteTimeAssignmentReply::requestFinished);
}
void DeleteTimeAssignmentReply::requestFinished()
@@ -23,7 +21,6 @@ void DeleteTimeAssignmentReply::requestFinished()
setSuccess(true);
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/deletetimeassignmentreply.h b/replies/deletetimeassignmentreply.h
index 10e7a1c..b2a545e 100644
--- a/replies/deletetimeassignmentreply.h
+++ b/replies/deletetimeassignmentreply.h
@@ -1,22 +1,24 @@
#ifndef DELETETIMEASSIGNMENT_H
#define DELETETIMEASSIGNMENT_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class DeleteTimeAssignmentReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- DeleteTimeAssignmentReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ DeleteTimeAssignmentReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
};
#endif // DELETETIMEASSIGNMENT_H
diff --git a/replies/getauswertungreply.cpp b/replies/getauswertungreply.cpp
index 8c2ad8a..3a2e0bd 100644
--- a/replies/getauswertungreply.cpp
+++ b/replies/getauswertungreply.cpp
@@ -1,14 +1,12 @@
#include "getauswertungreply.h"
-#include
-
#include "zeiterfassungapi.h"
-GetAuswertungReply::GetAuswertungReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+GetAuswertungReply::GetAuswertungReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &GetAuswertungReply::request0Finished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &GetAuswertungReply::request0Finished);
}
const QByteArray &GetAuswertungReply::auswertung() const
@@ -22,7 +20,6 @@ void GetAuswertungReply::request0Finished()
{
setSuccess(false);
setMessage(tr("Request error occured: %0").arg(m_reply->error()));
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
return;
@@ -31,10 +28,8 @@ void GetAuswertungReply::request0Finished()
QUrl url(zeiterfassung()->url());
url.setPath(QString(m_reply->readAll()));
- m_reply->deleteLater();
-
- m_reply = zeiterfassung()->manager()->get(QNetworkRequest(url));
- connect(m_reply, &QNetworkReply::finished, this, &GetAuswertungReply::request1Finished);
+ m_reply = std::unique_ptr(zeiterfassung()->manager()->get(QNetworkRequest(url)));
+ connect(m_reply.get(), &QNetworkReply::finished, this, &GetAuswertungReply::request1Finished);
}
void GetAuswertungReply::request1Finished()
@@ -50,7 +45,6 @@ void GetAuswertungReply::request1Finished()
m_auswertung = m_reply->readAll();
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/getauswertungreply.h b/replies/getauswertungreply.h
index c42597d..b220880 100644
--- a/replies/getauswertungreply.h
+++ b/replies/getauswertungreply.h
@@ -1,18 +1,19 @@
#ifndef GETAUSWERTUNGREPLY_H
#define GETAUSWERTUNGREPLY_H
+#include
+
+#include
#include
#include "zeiterfassungreply.h"
-class QNetworkReply;
-
class GetAuswertungReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- GetAuswertungReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ GetAuswertungReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
const QByteArray &auswertung() const;
@@ -21,7 +22,7 @@ private Q_SLOTS:
void request1Finished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
QByteArray m_auswertung;
};
diff --git a/replies/getbookingsreply.cpp b/replies/getbookingsreply.cpp
index 7bab592..6f97f50 100644
--- a/replies/getbookingsreply.cpp
+++ b/replies/getbookingsreply.cpp
@@ -1,17 +1,16 @@
#include "getbookingsreply.h"
-#include
#include
#include
#include
#include
#include
-GetBookingsReply::GetBookingsReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+GetBookingsReply::GetBookingsReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &GetBookingsReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &GetBookingsReply::requestFinished);
}
const QVector &GetBookingsReply::bookings() const
@@ -65,7 +64,6 @@ void GetBookingsReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/getbookingsreply.h b/replies/getbookingsreply.h
index 6dff267..459a426 100644
--- a/replies/getbookingsreply.h
+++ b/replies/getbookingsreply.h
@@ -1,19 +1,20 @@
#ifndef GETBOOKINGSREPLY_H
#define GETBOOKINGSREPLY_H
+#include
+
+#include
#include
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
-class QNetworkReply;
-
class GetBookingsReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- GetBookingsReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ GetBookingsReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
const QVector &bookings() const;
@@ -21,7 +22,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
QVector m_bookings;
};
diff --git a/replies/getprojectsreply.cpp b/replies/getprojectsreply.cpp
index 687e4fd..ab2fb73 100644
--- a/replies/getprojectsreply.cpp
+++ b/replies/getprojectsreply.cpp
@@ -1,17 +1,16 @@
#include "getprojectsreply.h"
-#include
#include
#include
#include
#include
#include
-GetProjectsReply::GetProjectsReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+GetProjectsReply::GetProjectsReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &GetProjectsReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &GetProjectsReply::requestFinished);
}
const QVector &GetProjectsReply::projects() const
@@ -79,7 +78,6 @@ void GetProjectsReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/getprojectsreply.h b/replies/getprojectsreply.h
index d7231bb..faa4886 100644
--- a/replies/getprojectsreply.h
+++ b/replies/getprojectsreply.h
@@ -1,19 +1,20 @@
#ifndef GETPROJECTSREPLY_H
#define GETPROJECTSREPLY_H
+#include
+
+#include
#include
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
-class QNetworkReply;
-
class GetProjectsReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- GetProjectsReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ GetProjectsReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
const QVector &projects() const;
@@ -21,7 +22,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
QVector m_projects;
};
diff --git a/replies/gettimeassignmentsreply.cpp b/replies/gettimeassignmentsreply.cpp
index 14bf9dc..bd86c93 100644
--- a/replies/gettimeassignmentsreply.cpp
+++ b/replies/gettimeassignmentsreply.cpp
@@ -7,11 +7,11 @@
#include
#include
-GetTimeAssignmentsReply::GetTimeAssignmentsReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+GetTimeAssignmentsReply::GetTimeAssignmentsReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &GetTimeAssignmentsReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &GetTimeAssignmentsReply::requestFinished);
}
const QVector &GetTimeAssignmentsReply::timeAssignments() const
@@ -69,7 +69,6 @@ void GetTimeAssignmentsReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/gettimeassignmentsreply.h b/replies/gettimeassignmentsreply.h
index dfdb628..153064e 100644
--- a/replies/gettimeassignmentsreply.h
+++ b/replies/gettimeassignmentsreply.h
@@ -1,19 +1,20 @@
#ifndef GETTIMEASSIGNMENTSREPLY_H
#define GETTIMEASSIGNMENTSREPLY_H
+#include
+
+#include
#include
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
-class QNetworkReply;
-
class GetTimeAssignmentsReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- GetTimeAssignmentsReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ GetTimeAssignmentsReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
const QVector &timeAssignments() const;
@@ -21,7 +22,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
QVector m_timeAssignments;
};
diff --git a/replies/loginpagereply.cpp b/replies/loginpagereply.cpp
index 206b7c7..f05f60e 100644
--- a/replies/loginpagereply.cpp
+++ b/replies/loginpagereply.cpp
@@ -2,11 +2,11 @@
#include
-LoginPageReply::LoginPageReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+LoginPageReply::LoginPageReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &LoginPageReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &LoginPageReply::requestFinished);
}
void LoginPageReply::requestFinished()
@@ -28,7 +28,6 @@ void LoginPageReply::requestFinished()
setSuccess(true);
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/loginpagereply.h b/replies/loginpagereply.h
index f8dfaee..203cb5d 100644
--- a/replies/loginpagereply.h
+++ b/replies/loginpagereply.h
@@ -1,22 +1,24 @@
#ifndef LOGINPAGEREPLY_H
#define LOGINPAGEREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class LoginPageReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- LoginPageReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ LoginPageReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
};
#endif // LOGINPAGEREPLY_H
diff --git a/replies/loginreply.cpp b/replies/loginreply.cpp
index 675bc7b..a81971b 100644
--- a/replies/loginreply.cpp
+++ b/replies/loginreply.cpp
@@ -2,11 +2,11 @@
#include
-LoginReply::LoginReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+LoginReply::LoginReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &LoginReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &LoginReply::requestFinished);
}
void LoginReply::requestFinished()
@@ -48,7 +48,6 @@ void LoginReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/loginreply.h b/replies/loginreply.h
index 5796daf..bcf7dc1 100644
--- a/replies/loginreply.h
+++ b/replies/loginreply.h
@@ -1,22 +1,24 @@
#ifndef LOGINREPLY_H
#define LOGINREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class LoginReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- LoginReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ LoginReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
};
#endif // LOGINREPLY_H
diff --git a/replies/updatebookingreply.cpp b/replies/updatebookingreply.cpp
index 59bc716..8feb6c9 100644
--- a/replies/updatebookingreply.cpp
+++ b/replies/updatebookingreply.cpp
@@ -1,17 +1,16 @@
#include "updatebookingreply.h"
-#include
#include
#include
#include
#include
-UpdateBookingReply::UpdateBookingReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+UpdateBookingReply::UpdateBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply),
+ m_reply(std::move(reply)),
m_bookingId(-1)
{
- connect(reply, &QNetworkReply::finished, this, &UpdateBookingReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &UpdateBookingReply::requestFinished);
}
void UpdateBookingReply::requestFinished()
@@ -54,7 +53,6 @@ void UpdateBookingReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/updatebookingreply.h b/replies/updatebookingreply.h
index a0fa90b..f61e179 100644
--- a/replies/updatebookingreply.h
+++ b/replies/updatebookingreply.h
@@ -1,22 +1,24 @@
#ifndef UPDATEBOOKINGREPLY_H
#define UPDATEBOOKINGREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class UpdateBookingReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- UpdateBookingReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ UpdateBookingReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
int m_bookingId;
};
diff --git a/replies/updatetimeassignmentreply.cpp b/replies/updatetimeassignmentreply.cpp
index c33bdb9..6a08740 100644
--- a/replies/updatetimeassignmentreply.cpp
+++ b/replies/updatetimeassignmentreply.cpp
@@ -1,17 +1,16 @@
#include "updatetimeassignmentreply.h"
-#include
#include
#include
#include
#include
-UpdateTimeAssignmentReply::UpdateTimeAssignmentReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+UpdateTimeAssignmentReply::UpdateTimeAssignmentReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply),
+ m_reply(std::move(reply)),
m_timeAssignmentId(-1)
{
- connect(reply, &QNetworkReply::finished, this, &UpdateTimeAssignmentReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &UpdateTimeAssignmentReply::requestFinished);
}
int UpdateTimeAssignmentReply::timeAssignmentId() const
@@ -59,7 +58,6 @@ void UpdateTimeAssignmentReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/updatetimeassignmentreply.h b/replies/updatetimeassignmentreply.h
index d053315..84b4cca 100644
--- a/replies/updatetimeassignmentreply.h
+++ b/replies/updatetimeassignmentreply.h
@@ -1,16 +1,18 @@
#ifndef UPDATETIMEASSIGNMENTREPLY_H
#define UPDATETIMEASSIGNMENTREPLY_H
-#include "zeiterfassungreply.h"
+#include
-class QNetworkReply;
+#include
+
+#include "zeiterfassungreply.h"
class UpdateTimeAssignmentReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- UpdateTimeAssignmentReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ UpdateTimeAssignmentReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
int timeAssignmentId() const;
@@ -18,7 +20,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
int m_timeAssignmentId;
};
diff --git a/replies/userinforeply.cpp b/replies/userinforeply.cpp
index 07a9b4c..4e45625 100644
--- a/replies/userinforeply.cpp
+++ b/replies/userinforeply.cpp
@@ -1,16 +1,15 @@
#include "userinforeply.h"
-#include
#include
#include
#include
#include
-UserInfoReply::UserInfoReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung) :
+UserInfoReply::UserInfoReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung) :
ZeiterfassungReply(zeiterfassung),
- m_reply(reply)
+ m_reply(std::move(reply))
{
- connect(reply, &QNetworkReply::finished, this, &UserInfoReply::requestFinished);
+ connect(m_reply.get(), &QNetworkReply::finished, this, &UserInfoReply::requestFinished);
}
const ZeiterfassungApi::UserInfo &UserInfoReply::userInfo() const
@@ -75,7 +74,6 @@ void UserInfoReply::requestFinished()
}
end:
- m_reply->deleteLater();
m_reply = Q_NULLPTR;
Q_EMIT finished();
diff --git a/replies/userinforeply.h b/replies/userinforeply.h
index a2f454b..aeee527 100644
--- a/replies/userinforeply.h
+++ b/replies/userinforeply.h
@@ -1,17 +1,19 @@
#ifndef USERINFOREPLY_H
#define USERINFOREPLY_H
+#include
+
+#include
+
#include "zeiterfassungreply.h"
#include "zeiterfassungapi.h"
-class QNetworkReply;
-
class UserInfoReply : public ZeiterfassungReply
{
Q_OBJECT
public:
- UserInfoReply(QNetworkReply *reply, ZeiterfassungApi *zeiterfassung);
+ UserInfoReply(std::unique_ptr &&reply, ZeiterfassungApi *zeiterfassung);
const ZeiterfassungApi::UserInfo &userInfo() const;
@@ -19,7 +21,7 @@ private Q_SLOTS:
void requestFinished();
private:
- QNetworkReply *m_reply;
+ std::unique_ptr m_reply;
ZeiterfassungApi::UserInfo m_userInfo;
};
diff --git a/resources.qrc b/resources.qrc
index bfcebf5..37eb951 100644
--- a/resources.qrc
+++ b/resources.qrc
@@ -1,7 +1,9 @@
+ images/about.png
images/auswertung.png
images/authentication.png
+ images/help.png
images/icon.png
images/next.png
images/now.png
@@ -11,5 +13,6 @@
images/settings.png
images/splash.png
images/today.png
+ images/user.png
diff --git a/stripfactory.cpp b/stripfactory.cpp
index ea36ab6..d48b282 100644
--- a/stripfactory.cpp
+++ b/stripfactory.cpp
@@ -55,7 +55,7 @@ const QString &StripFactory::errorString() const
return m_errorString;
}
-QWidget *StripFactory::createBookingStartStrip(QWidget *parent)
+std::unique_ptr StripFactory::createBookingStartStrip(QWidget *parent)
{
QBuffer buffer(&m_bookingStartStrip);
if(!buffer.open(QIODevice::ReadOnly))
@@ -64,7 +64,7 @@ QWidget *StripFactory::createBookingStartStrip(QWidget *parent)
return Q_NULLPTR;
}
- auto widget = m_loader->load(&buffer, parent);
+ auto widget = std::unique_ptr(m_loader->load(&buffer, parent));
if(!widget)
m_errorString = m_loader->errorString();
@@ -72,7 +72,7 @@ QWidget *StripFactory::createBookingStartStrip(QWidget *parent)
return widget;
}
-QWidget *StripFactory::createBookingEndStrip(QWidget *parent)
+std::unique_ptr StripFactory::createBookingEndStrip(QWidget *parent)
{
QBuffer buffer(&m_bookingEndStrip);
if(!buffer.open(QIODevice::ReadOnly))
@@ -81,7 +81,7 @@ QWidget *StripFactory::createBookingEndStrip(QWidget *parent)
return Q_NULLPTR;
}
- auto widget = m_loader->load(&buffer, parent);
+ auto widget = std::unique_ptr(m_loader->load(&buffer, parent));
if(!widget)
m_errorString = m_loader->errorString();
@@ -89,7 +89,7 @@ QWidget *StripFactory::createBookingEndStrip(QWidget *parent)
return widget;
}
-QWidget *StripFactory::createTimeAssignmentStrip(QWidget *parent)
+std::unique_ptr StripFactory::createTimeAssignmentStrip(QWidget *parent)
{
QBuffer buffer(&m_timeAssignmentStrip);
if(!buffer.open(QIODevice::ReadOnly))
@@ -98,7 +98,7 @@ QWidget *StripFactory::createTimeAssignmentStrip(QWidget *parent)
return Q_NULLPTR;
}
- auto widget = m_loader->load(&buffer, parent);
+ auto widget = std::unique_ptr(m_loader->load(&buffer, parent));
if(!widget)
m_errorString = m_loader->errorString();
diff --git a/stripfactory.h b/stripfactory.h
index a8135ab..4aae50e 100644
--- a/stripfactory.h
+++ b/stripfactory.h
@@ -1,7 +1,10 @@
#ifndef STRIPFACTORY_H
#define STRIPFACTORY_H
+#include
+
#include
+#include
class QUiLoader;
class QByteArray;
@@ -16,9 +19,9 @@ public:
bool load(const QString &stripsPath);
const QString &errorString() const;
- QWidget *createBookingStartStrip(QWidget *parent = Q_NULLPTR);
- QWidget *createBookingEndStrip(QWidget *parent = Q_NULLPTR);
- QWidget *createTimeAssignmentStrip(QWidget *parent = Q_NULLPTR);
+ std::unique_ptr createBookingStartStrip(QWidget *parent = Q_NULLPTR);
+ std::unique_ptr createBookingEndStrip(QWidget *parent = Q_NULLPTR);
+ std::unique_ptr createTimeAssignmentStrip(QWidget *parent = Q_NULLPTR);
private:
QUiLoader *m_loader;
diff --git a/stripswidget.cpp b/stripswidget.cpp
index 877e52b..150a711 100644
--- a/stripswidget.cpp
+++ b/stripswidget.cpp
@@ -7,8 +7,6 @@
#include
#include
-#include "replies/getbookingsreply.h"
-#include "replies/gettimeassignmentsreply.h"
#include "timeutils.h"
#include "stripfactory.h"
@@ -126,7 +124,7 @@ void StripsWidget::refreshBookings()
invalidateValues();
m_getBookingsReply = m_erfassung.doGetBookings(m_userId, m_date, m_date);
- connect(m_getBookingsReply, &ZeiterfassungReply::finished, this, &StripsWidget::getBookingsFinished);
+ connect(m_getBookingsReply.get(), &ZeiterfassungReply::finished, this, &StripsWidget::getBookingsFinished);
}
void StripsWidget::refreshTimeAssignments()
@@ -152,7 +150,7 @@ void StripsWidget::refreshTimeAssignments()
invalidateValues();
m_getTimeAssignmentsReply = m_erfassung.doGetTimeAssignments(m_userId, m_date, m_date);
- connect(m_getTimeAssignmentsReply, &ZeiterfassungReply::finished, this, &StripsWidget::getTimeAssignmentsFinished);
+ connect(m_getTimeAssignmentsReply.get(), &ZeiterfassungReply::finished, this, &StripsWidget::getTimeAssignmentsFinished);
}
bool StripsWidget::createStrips()
@@ -469,7 +467,6 @@ void StripsWidget::getBookingsFinished()
createStrips();
}
- m_getBookingsReply->deleteLater();
m_getBookingsReply = Q_NULLPTR;
}
@@ -488,7 +485,6 @@ void StripsWidget::getTimeAssignmentsFinished()
createStrips();
}
- m_getTimeAssignmentsReply->deleteLater();
m_getTimeAssignmentsReply = Q_NULLPTR;
}
@@ -523,7 +519,7 @@ QString StripsWidget::buildProjectString(const QString &project)
QWidget *StripsWidget::appendBookingStartStrip(int id, const QTime &time)
{
- auto widget = m_stripFactory.createBookingStartStrip(this);
+ auto widget = m_stripFactory.createBookingStartStrip(this).release();
if(auto labelTime = widget->findChild(QStringLiteral("labelTime")))
labelTime->setProperty("text", time.toString(tr("HH:mm")));
@@ -542,7 +538,7 @@ QWidget *StripsWidget::appendBookingStartStrip(int id, const QTime &time)
QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time)
{
- auto widget = m_stripFactory.createBookingEndStrip(this);
+ auto widget = m_stripFactory.createBookingEndStrip(this).release();
if(auto labelTime = widget->findChild(QStringLiteral("labelTime")))
labelTime->setProperty("text", time.toString(tr("HH:mm")));
@@ -561,7 +557,7 @@ QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time)
QWidget *StripsWidget::appendTimeAssignmentStrip(int id, const QTime &duration, const QString &project, const QString &subproject, const QString &workpackage, const QString &text)
{
- auto widget = m_stripFactory.createTimeAssignmentStrip(this);
+ auto widget = m_stripFactory.createTimeAssignmentStrip(this).release();
if(auto labelTime = widget->findChild(QStringLiteral("labelTime")))
labelTime->setProperty("text", duration == QTime(0, 0) ? tr("Open") : duration.toString(tr("HH:mm")));
diff --git a/stripswidget.h b/stripswidget.h
index fe64532..689511d 100644
--- a/stripswidget.h
+++ b/stripswidget.h
@@ -1,18 +1,20 @@
#ifndef STRIPSWIDGET_H
#define STRIPSWIDGET_H
+#include
+
#include
#include
#include "zeiterfassungapi.h"
+#include "replies/getbookingsreply.h"
+#include "replies/gettimeassignmentsreply.h"
class QBoxLayout;
template class QMap;
template class QVector;
class StripFactory;
-class GetBookingsReply;
-class GetTimeAssignmentsReply;
class StripsWidget : public QWidget
{
@@ -91,8 +93,8 @@ private:
bool m_startEnabled;
bool m_endEnabled;
- GetBookingsReply *m_getBookingsReply;
- GetTimeAssignmentsReply *m_getTimeAssignmentsReply;
+ std::unique_ptr m_getBookingsReply;
+ std::unique_ptr m_getTimeAssignmentsReply;
};
#endif // STRIPSWIDGET_H
diff --git a/zeiterfassung.pro b/zeiterfassung.pro
index 6ca243a..42e32dd 100755
--- a/zeiterfassung.pro
+++ b/zeiterfassung.pro
@@ -1,6 +1,6 @@
QT += network gui widgets uitools
-CONFIG += c++11
+CONFIG += c++14
CONFIG -= app_bundle
# The following define makes your compiler emit warnings if you use
diff --git a/zeiterfassungapi.cpp b/zeiterfassungapi.cpp
index da1fbdf..6e95090 100644
--- a/zeiterfassungapi.cpp
+++ b/zeiterfassungapi.cpp
@@ -45,16 +45,16 @@ QNetworkAccessManager *ZeiterfassungApi::manager() const
return m_manager;
}
-LoginPageReply *ZeiterfassungApi::doLoginPage()
+std::unique_ptr ZeiterfassungApi::doLoginPage()
{
QNetworkRequest request(QUrl(m_url % "pages/login.jsp"));
- auto reply = m_manager->get(request);
+ auto reply = std::unique_ptr(m_manager->get(request));
- return new LoginPageReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-LoginReply *ZeiterfassungApi::doLogin(const QString &username, const QString &password)
+std::unique_ptr ZeiterfassungApi::doLogin(const QString &username, const QString &password)
{
QNetworkRequest request(QUrl(m_url % "pages/j_spring_security_check"));
request.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/x-www-form-urlencoded"));
@@ -62,22 +62,22 @@ LoginReply *ZeiterfassungApi::doLogin(const QString &username, const QString &pa
auto data = QStringLiteral("j_username=%0&j_password=%1&login=Anmelden").arg(username).arg(password).toUtf8();
- auto reply = m_manager->post(request, data);
+ auto reply = std::unique_ptr(m_manager->post(request, data));
- return new LoginReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-UserInfoReply *ZeiterfassungApi::doUserInfo()
+std::unique_ptr ZeiterfassungApi::doUserInfo()
{
QNetworkRequest request(QUrl(m_url % "json/evoAppsUserInfoDialogController/load-EvoAppsUserInfoTO"));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("home"));
- auto reply = m_manager->get(request);
+ auto reply = std::unique_ptr(m_manager->get(request));
- return new UserInfoReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-GetBookingsReply *ZeiterfassungApi::doGetBookings(int userId, const QDate &start, const QDate &end)
+std::unique_ptr ZeiterfassungApi::doGetBookings(int userId, const QDate &start, const QDate &end)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/bookings?start=%1&end=%2&pnrLst=%3")
.arg(m_url)
@@ -86,12 +86,13 @@ GetBookingsReply *ZeiterfassungApi::doGetBookings(int userId, const QDate &start
.arg(userId)));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar"));
- auto reply = m_manager->get(request);
+ auto reply = std::unique_ptr(m_manager->get(request));
- return new GetBookingsReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-CreateBookingReply *ZeiterfassungApi::doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime ×pan, const QString &type, const QString &text)
+std::unique_ptr ZeiterfassungApi::doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime ×pan,
+ const QString &type, const QString &text)
{
QNetworkRequest request(QUrl(m_url % "json/booking"));
request.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/json"));
@@ -108,12 +109,13 @@ CreateBookingReply *ZeiterfassungApi::doCreateBooking(int userId, const QDate &d
obj[QStringLiteral("bewEinh")] = QStringLiteral("");
obj[QStringLiteral("text")] = text;
- auto reply = m_manager->post(request, QJsonDocument(obj).toJson());
+ auto reply = std::unique_ptr(m_manager->post(request, QJsonDocument(obj).toJson()));
- return new CreateBookingReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-UpdateBookingReply *ZeiterfassungApi::doUpdateBooking(int bookingId, int userId, const QDate &date, const QTime &time, const QTime ×pan, const QString &type, const QString &text)
+std::unique_ptr ZeiterfassungApi::doUpdateBooking(int bookingId, int userId, const QDate &date, const QTime &time,
+ const QTime ×pan, const QString &type, const QString &text)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/booking/%1").arg(m_url).arg(bookingId)));
request.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/json"));
@@ -133,24 +135,24 @@ UpdateBookingReply *ZeiterfassungApi::doUpdateBooking(int bookingId, int userId,
auto data = QJsonDocument(obj).toJson();
- auto reply = m_manager->put(request, data);
+ auto reply = std::unique_ptr(m_manager->put(request, data));
- return new UpdateBookingReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-DeleteBookingReply *ZeiterfassungApi::doDeleteBooking(int bookingId)
+std::unique_ptr ZeiterfassungApi::doDeleteBooking(int bookingId)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/booking/%1?text=")
.arg(m_url)
.arg(bookingId)));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar"));
- auto reply = m_manager->deleteResource(request);
+ auto reply = std::unique_ptr(m_manager->deleteResource(request));
- return new DeleteBookingReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-GetTimeAssignmentsReply *ZeiterfassungApi::doGetTimeAssignments(int userId, const QDate &start, const QDate &end)
+std::unique_ptr ZeiterfassungApi::doGetTimeAssignments(int userId, const QDate &start, const QDate &end)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/azebooking?start=%1&end=%2&pnrLst=%3")
.arg(m_url)
@@ -159,14 +161,15 @@ GetTimeAssignmentsReply *ZeiterfassungApi::doGetTimeAssignments(int userId, cons
.arg(userId)));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar"));
- auto reply = m_manager->get(request);
+ auto reply = std::unique_ptr(m_manager->get(request));
- return new GetTimeAssignmentsReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-CreateTimeAssignmentReply *ZeiterfassungApi::doCreateTimeAssignment(int userId, const QDate &date, const QTime &time, const QTime ×pan,
- const QString &project, const QString &subproject, const QString &workpackage,
- const QString &text)
+std::unique_ptr ZeiterfassungApi::doCreateTimeAssignment(int userId, const QDate &date, const QTime &time,
+ const QTime ×pan, const QString &project,
+ const QString &subproject, const QString &workpackage,
+ const QString &text)
{
QNetworkRequest request(QUrl(m_url % "json/azebooking"));
request.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/json"));
@@ -201,14 +204,15 @@ CreateTimeAssignmentReply *ZeiterfassungApi::doCreateTimeAssignment(int userId,
auto data = QJsonDocument(obj).toJson();
- auto reply = m_manager->post(request, data);
+ auto reply = std::unique_ptr(m_manager->post(request, data));
- return new CreateTimeAssignmentReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-UpdateTimeAssignmentReply *ZeiterfassungApi::doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date, const QTime &time,
- const QTime ×pan, const QString &project, const QString &subproject,
- const QString &workpackage, const QString &text)
+std::unique_ptr ZeiterfassungApi::doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date,
+ const QTime &time, const QTime ×pan, const QString &project,
+ const QString &subproject, const QString &workpackage,
+ const QString &text)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/azebooking/%1").arg(m_url).arg(timeAssignmentId)));
request.setHeader(QNetworkRequest::ContentTypeHeader, QByteArrayLiteral("application/json"));
@@ -248,24 +252,24 @@ UpdateTimeAssignmentReply *ZeiterfassungApi::doUpdateTimeAssignment(int timeAssi
auto data = QJsonDocument(obj).toJson();
- auto reply = m_manager->put(request, data);
+ auto reply = std::unique_ptr(m_manager->put(request, data));
- return new UpdateTimeAssignmentReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-DeleteTimeAssignmentReply *ZeiterfassungApi::doDeleteTimeAssignment(int timeAssignmentId)
+std::unique_ptr ZeiterfassungApi::doDeleteTimeAssignment(int timeAssignmentId)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/azebooking/%1")
.arg(m_url)
.arg(timeAssignmentId)));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar"));
- auto reply = m_manager->deleteResource(request);
+ auto reply = std::unique_ptr(m_manager->deleteResource(request));
- return new DeleteTimeAssignmentReply(reply,this);
+ return std::make_unique(std::move(reply), this);
}
-GetProjectsReply *ZeiterfassungApi::doGetProjects(int userId, const QDate &date)
+std::unique_ptr ZeiterfassungApi::doGetProjects(int userId, const QDate &date)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/combobox?persnr=%1&date=%2&dqkey=KOST&kowert0=&kowert1=&kowert2=&term=")
.arg(m_url)
@@ -273,12 +277,12 @@ GetProjectsReply *ZeiterfassungApi::doGetProjects(int userId, const QDate &date)
.arg(date.toString(QStringLiteral("yyyyMMdd")))));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar"));
- auto reply = m_manager->get(request);
+ auto reply = std::unique_ptr(m_manager->get(request));
- return new GetProjectsReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
-GetAuswertungReply *ZeiterfassungApi::doGetAuswertung(int userId, const QDate &date)
+std::unique_ptr ZeiterfassungApi::doGetAuswertung(int userId, const QDate &date)
{
QNetworkRequest request(QUrl(QStringLiteral("%0json/auswertung/month?persNr=%1&date=%2")
.arg(m_url)
@@ -286,7 +290,7 @@ GetAuswertungReply *ZeiterfassungApi::doGetAuswertung(int userId, const QDate &d
.arg(date.toString(QStringLiteral("yyyyMMdd")))));
request.setRawHeader(QByteArrayLiteral("sisAppName"), QByteArrayLiteral("bookingCalendar"));
- auto reply = m_manager->get(request);
+ auto reply = std::unique_ptr(m_manager->get(request));
- return new GetAuswertungReply(reply, this);
+ return std::make_unique(std::move(reply), this);
}
diff --git a/zeiterfassungapi.h b/zeiterfassungapi.h
index 7c25380..e403c2a 100644
--- a/zeiterfassungapi.h
+++ b/zeiterfassungapi.h
@@ -1,6 +1,8 @@
#ifndef ZEITERFASSUNGAPI_H
#define ZEITERFASSUNGAPI_H
+#include
+
#include
#include
#include
@@ -71,29 +73,30 @@ public:
QString value;
};
-public Q_SLOTS:
- LoginPageReply *doLoginPage();
- LoginReply *doLogin(const QString &username, const QString &password);
- UserInfoReply *doUserInfo();
+ std::unique_ptr doLoginPage();
+ std::unique_ptr doLogin(const QString &username, const QString &password);
+ std::unique_ptr doUserInfo();
- GetBookingsReply *doGetBookings(int userId, const QDate &start, const QDate &end);
- CreateBookingReply *doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime ×pan,
- const QString &type, const QString &text);
- UpdateBookingReply *doUpdateBooking(int bookingId, int userId, const QDate &date, const QTime &time,
- const QTime ×pan, const QString &type, const QString &text);
- DeleteBookingReply *doDeleteBooking(int bookingId);
+ std::unique_ptr doGetBookings(int userId, const QDate &start, const QDate &end);
+ std::unique_ptr doCreateBooking(int userId, const QDate &date, const QTime &time, const QTime ×pan,
+ const QString &type, const QString &text);
+ std::unique_ptr doUpdateBooking(int bookingId, int userId, const QDate &date, const QTime &time,
+ const QTime ×pan, const QString &type, const QString &text);
+ std::unique_ptr doDeleteBooking(int bookingId);
- GetTimeAssignmentsReply *doGetTimeAssignments(int userId, const QDate &start, const QDate &end);
- CreateTimeAssignmentReply *doCreateTimeAssignment(int userId, const QDate &date, const QTime &time, const QTime ×pan,
- const QString &project, const QString &subproject, const QString &workpackage,
- const QString &text);
- UpdateTimeAssignmentReply *doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date, const QTime &time,
- const QTime ×pan, const QString &project, const QString &subproject,
- const QString &workpackage, const QString &text);
- DeleteTimeAssignmentReply *doDeleteTimeAssignment(int timeAssignmentId);
+ std::unique_ptr doGetTimeAssignments(int userId, const QDate &start, const QDate &end);
+ std::unique_ptr doCreateTimeAssignment(int userId, const QDate &date, const QTime &time,
+ const QTime ×pan, const QString &project,
+ const QString &subproject, const QString &workpackage,
+ const QString &text);
+ std::unique_ptr doUpdateTimeAssignment(int timeAssignmentId, int userId, const QDate &date,
+ const QTime &time, const QTime ×pan, const QString &project,
+ const QString &subproject, const QString &workpackage,
+ const QString &text);
+ std::unique_ptr doDeleteTimeAssignment(int timeAssignmentId);
- GetProjectsReply *doGetProjects(int userId, const QDate &date);
- GetAuswertungReply *doGetAuswertung(int userId, const QDate &date);
+ std::unique_ptr doGetProjects(int userId, const QDate &date);
+ std::unique_ptr doGetAuswertung(int userId, const QDate &date);
private:
QString m_url;