From 6aa01372fddfa82533bceceb3275a73172644f77 Mon Sep 17 00:00:00 2001 From: Willem Ferguson Date: Mon, 21 Nov 2016 11:26:58 +0200 Subject: [PATCH] Provide phots summary on dive list (Part 2) Please apply this patch on top of the previous patch with the same title. 1) Provide icons with white margin to look more like photos 2) Optimise code, following Robert's suggestions. 3) Column heading for photos column is now: Photos. This takes up extra horizontal space but makes the user interface more understandable. Signed-off-by: Willem Ferguson Signed-off-by: Dirk Hohndel --- desktop-widgets/divelistview.cpp | 2 +- icons/duringPhoto.png | Bin 5352 -> 2278 bytes icons/inAndOutPhoto.png | Bin 5520 -> 2822 bytes icons/outsidePhoto.png | Bin 3032 -> 2466 bytes qt-models/divetripmodel.cpp | 29 ++++++++++++++--------------- 5 files changed, 15 insertions(+), 16 deletions(-) diff --git a/desktop-widgets/divelistview.cpp b/desktop-widgets/divelistview.cpp index 081cd93be..90ea3f5bd 100644 --- a/desktop-widgets/divelistview.cpp +++ b/desktop-widgets/divelistview.cpp @@ -25,7 +25,7 @@ #include "core/helpers.h" // # Date Rtg Dpth Dur Tmp Wght Suit Cyl Gas SAC OTU CNS Px Loc -static int defaultWidth[] = { 70, 140, 90, 50, 50, 50, 50, 70, 50, 50, 70, 50, 50, 25, 500}; +static int defaultWidth[] = { 70, 140, 90, 50, 50, 50, 50, 70, 50, 50, 70, 50, 50, 5, 500}; DiveListView::DiveListView(QWidget *parent) : QTreeView(parent), mouseClickSelection(false), sortColumn(0), currentOrder(Qt::DescendingOrder), dontEmitDiveChangedSignal(false), selectionSaved(false) diff --git a/icons/duringPhoto.png b/icons/duringPhoto.png index 6984b304144eaaeb4870e009b1f9ad5476217bc5..c91aa201a40a6c7f3ebfb4075ba9969a77f8c725 100644 GIT binary patch literal 2278 zcmVrcwsy?(OQbmP? zD*8~8zLZwtsj3POl@RdIR+V~-s-iZLs3J9zs{|(@F)6t@b{xm?*cs35+;$&4;<}?$-FwYXHyQYq!G%C6rH_q`CEtDb-O%9R zpyvDj>%eb;TqVHQ48sWCdFP!^l~SHs{Z@GU?YB=S5{UqK1qcCb)HKb1|NZwzZt!q$ zhpy|!vuoF`5!<#WfXxEuL6-RgAhRw;Cg}Z0&pEy_`WZ0=ZqFoD#I`^G^unQrEAg! zQ3Rr88db(mKKI;n?uip8p4EZ&{{H@xSAm$VfGCz6aq#GA{dfPmXdNFn3^y=^klJmP zCKV`za%o9A{xbts;p-1~IF0FKP>zdob^vH>Y`mnDx>pDEP$(p;{5U`n5QRcXe7NVZ z^~Zzj>}dKc#9J5VM7^yD+Ixf9=)qH;Ip5pfn(NxI&I9sgis=AS$^bBA`GZ;Yd;t)? z@3ZeepP7F+)NaSqZHV&hP%C($ARdn~l<6~nzwe@TadJv4*Ao9~&{7D2uIqLctvrBy z(Gwr+&Dn|6T9mqT6;LUN#ln1i+z1~ZDe2d%OO=cm3m*H~JOWXlzfmt!OVlfMXdWD)7MbP=OCZAf-*8;6|& zZgB<`cnE1=gkor>O=Tev1mNVSDdjFw%#M@KjNle$keZGeT|+pw4kHxD2*(LUo6vM) z$;$I=-y<_Jh*!#D*eR0D_YrUEC6ekyGc5AcXE}dt52Hu^#O&n% zYWgxGX;N*Q>3aD4G;e$c%?K?Cj9#zFK6Um0Lw|dH!FOl*a4tAIMI_b9!MmxgJ|R3 zMABV#6*ME9Sn}4nE_Fl&U?Sa#TLNN)n@gvL*#F)Ra+gldXQpG|MGUKf;eEeEEh0PVj)z%)-}5N7ED$$GEu{i- zlV`}B8$<|6&!aygoUrF7q8^T+8*{x2-Hg!v$Sd?d@diQQp_?%-eD)DD<41Awmuf1M z)WCCYT{Uk=Efx3_X3i0ctf8srYZS9nOq}=>w|JTS)M>_!?O|s82&wfCvSHvQItE_E zjKo2~rl)>F>zBSoW@M1*(SuBn9ilKZhEvE8iZqgL-%`Il{f%j*5pU|lN~G`|h3^$8 zTppt^eU5zQ45pRf-f#Y#wcXoj?0N_lR83X^$>v^C>wEEv-{$hfr{t&4;TAH4qfI2+ zHZN&qTOS}o5{jhe1{4A--h$p0#dnKHsbg3PjIfRh!1u0Q+6DgHC8QwP(nmvE-~28x z@Tf=6OjXwrb)%|XEf}Vi06Q`7W+@z33Y1@~M_AvC1dB*pZD6aYRiu=fTWcw$Jief& z%K9$nngZ9ZY81ihi(1UHMO-yURIQ8%As`;L0@ra?(LWE7kO~Za;fyUG!_8C6uR^Lx zDe1XugCAs1tco6_5Kx%8Kxa$TZ%D>ebz83@R26Dft9clNYD^`9t=-dwe8ETDVK5~h zI^*NsJ?q1+)Iv4)QBo;|QmVQ~V*-Y*3H8F$J;hG*kekiB3%iIb)Jhc+N*aV=Iq|RdomJ4`~Uy|07*qoM6N<$f}+G% A9{>OV literal 5352 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 literal 3032 zcmV;}3n%o6P)f*)<5zrlyF2``c{%axZ12qO-hQN0eDU4qIwhhZ@5 zz0cWTyWq}BgyJM&K|(@l0@9^WSqk&g-pi7+65^S}Oujvsh1MQuJMH}(GyB+%_ZrDV z-`R`*F9p{{YJjV2L5L}TZR*WIOAqWh?o~}O!6fIv-s5nh7j9~T^3>G6H)%`a zxUjPY-foEv5Ei-zVfz8EshA2An!tA9jU#dOA4YPvckYgMPyX3)n}fUquO9M}z?g8N z6zp#GYV+lF<9}|g5WTGs*-bd9Uh-i6+B2Z=C0HMwwvGaW5f^i7v;wq35z@;erWH4|#(O zG0|t=iP7&bnBc%E-BMyq(LD%V0~g;*@a_P9*k?*oj0p~PT>M!=+#4uH+WWnZ0Gu;H z+i8<>VoabEoIF?i%b{#MA*5L8==c7WodXkpFebWm4S?$+WN&J~2Gg^ES7E+>*3eiHD z=)z){1j8hS*DcDcG`1?o7Ui5(^$e&b2TI-iRmW| z8Ja`a9C#;xJF64Fpi&&w9^VpK7FsW|(0Y+RYb6Jq2RY$<7MS|Fub>gCnxN6z&b5iH zq(z%)DWm9Bt7*=Ehc0)mX((h`Ub7e9W>`3CrgcK zNd+-Gk2&xS#d7PnY%cwLU=45)#bWF4e6Hk6ER_E=Ev6s>TN5P25H}{a&}hA6T1r8b zh+fvEzD=F8gFX50;*vBiX;K1N6I6-+aa-zZp)e+A(BLAx>Kp>VpGX|%oTf0OBt8In4r;m ziBF^+!6JIITvGJ2G4&vGWiX8p2ou!Gx49|#q_$B%6C}hCpG-b%WPocjjGG`M4|8+s zQ6$ly;*=6+*qHie;F3k7CMe-F8*-&}xE&7~;ABI6qh@ zu21|3fon{GRuf!p{ee=^r88tGsFv^3Ak8I-+DstHvE2Hdu5h7aRpMDpZ5*J@1Wndo z;#yz=s^kIctsO>UYchd1LnvlqR#?9=5?6}}=89%2WQ&eap{8EGNg4V_P_>v~apE63 z!h{}yYh*T+?v}=v&y9sLLPQOD$4&5WF zzMG&fHbKGYK4!j}z+!|N`JSI4B1xUpJ6_unOO6Ysow67+p5Xby1 zKGIZ(7HzS7HbM9okeDJuCWvc-=@JV2w$N{+7-JVpzhe1WxJ{X##YY-jm1~RTvkCP5 zAyGr;vGdmiYL1`9N1D9GW9O?0a#Z?Re5A>f(H6^B6AY?Feik2T23&o|&R-L_OZ+T8 z(hRahTP$BqFrb$BS$w1!(0Bp)YJxLrxu3;H7Kc)X)Bx>2_~G zVQGu!`y9hA_eQ@%M2=4P<67hSZi3F(1O?L-H4}8WH>1oyDK9kSREA!6wbq!vpPdm^ ztKHdQ=D2%1uI7i&Yq>;QoiFML6A9W394jp*IO*ON=`H1Ei(xgNZg-9LxLQn*S83Xu zFX#vrYK}N}VPZoqZ5i7^`vI+e->{KaX^z-;8;PyW1cPcJC!Je#g$o@=oO_IIx~aAA zcF=hs?k5fWb{K&Qi}#`-g;ixAE!XlH#rW*1*ihHrii1Z%#+dB?yU+Hm-n@ct|b2wR159^nC3E@OcI=L)e0=Ir-^x#5Fut{35ZmE~#Po>L0rOG}b;ie{7 zSOa_7U^q8Jl`+0CKLa-`@C^qQCk74=3l%$TnIv` z=`B97U1;s`UOhw8DIsR2BrPxTTRP7h37jU+OxpyPGL(gme&`&4-eDNZK{VGjnI&m? zNqTMCyYlNQCQtgNz%xQAwRslwjUwxi_^_AytV7vIF2v8A2>=O;d`dE$DW|u-l3pJ| awEQ27ad1Spicture_list) // sun+fish=photos during dive as well as before/after + case PHOTOS: + if (dive->picture_list) { IconMetrics im = defaultIconMetrics(); retVal = QIcon(icon_names[countPhotos(dive)]).pixmap(im.sz_small, im.sz_small); - } - break; + } // If there are photos, show one of the three photo icons: fish= photos during dive; + break; // sun=photos before/after dive; sun+fish=photos during dive as well as before/after } break; case Qt::ToolTipRole: @@ -323,21 +323,20 @@ QString DiveItem::displayDepthWithUnit() const } int DiveItem::countPhotos(dive *dive) const -{ - int diveDuration = dive->duration.seconds; +{ // Determine whether dive has pictures, and whether they were taken during or before/after dive. + const int bufperiod = 120; // A 2-min buffer period. Photos within 2 min of dive are assumed as + int diveDuration = dive->duration.seconds; // taken during the dive, not before/after. int pic_offset, icon_index = 0; - struct picture *pic_list = dive->picture_list; // Point to 1st picture of dive - if (!pic_list) return 0; // This dive does not contain pictures - do { - pic_offset = pic_list->offset.seconds; - if ((pic_offset < 0) | (pic_offset > diveDuration)) { + FOR_EACH_PICTURE (dive) { // Step through each of the pictures for this dive: + if (!picture) break; // if there are no pictures for this dive, return 0 + pic_offset = picture->offset.seconds; + if ((pic_offset < -bufperiod) | (pic_offset > diveDuration+bufperiod)) { icon_index |= 0x02; // If picture is before/after the dive } // then set the appropriate bit ... else { icon_index |= 0x01; // else set the bit for picture during the dive } - pic_list = pic_list->next; // look at next photo - } while (pic_list); + } return icon_index; // return value: 0=no pictures; 1=pictures during dive; } // 2=pictures before/after; 3=pictures during as well as before/after @@ -471,7 +470,7 @@ QVariant DiveTripModel::headerData(int section, Qt::Orientation orientation, int ret = tr("Max CNS"); break; case PHOTOS: - ret = tr("█"); + ret = tr("Photos"); break; case LOCATION: ret = tr("Location");