From d5ec2346e4c0210ce97f5315725eb1132da9ec2e Mon Sep 17 00:00:00 2001 From: Kaj Wallin Date: Wed, 5 May 2010 15:36:01 +0300 Subject: [PATCH] Added OpenStreetMaps license text feature Reviewed by: J. Laitinen --- doc/test_cases/functionality-tests.doc | Bin 242688 -> 249856 bytes src/map/mapcommon.h | 2 ++ src/map/mapview.cpp | 1 + src/map/mapview.h | 9 +++++++++ src/ui/mapviewscreen.cpp | 24 +++++++++++++++++++----- src/ui/mapviewscreen.h | 9 +++++++++ 6 files changed, 40 insertions(+), 5 deletions(-) diff --git a/doc/test_cases/functionality-tests.doc b/doc/test_cases/functionality-tests.doc index 6a709cc805977c31b79f4a0a2708e22d03238cc2..18563aa1299d8781a4d215452389c4b68708f927 100644 GIT binary patch delta 18538 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 M^bKawHv8580qGndvH$=8 delta 15551 zcmb`O4SbDPn!wL{-kY1qm&kYSjT;Fu@zxTXf z&-r|x^PJ~Aw_#n^hO^O)Ioc<0<^D<2T8t?9XxR0(wl=2_V#h4GDpY&O(8HhAWA%wf zdSrsJHoR1eHNFTR&zTDMnTm)4(&g6Gh=DiK=OPAjXIf-gh{m}Q?(2&pv%QWEdLQkG zjLOtQ`-$smm)hPkx<$tsYh#kN_uQ%XW0H+sG4aObnAoUF_Z?qol@zdtF*kOo(GX+X z5!P+8W;DmzwOr%hV(&E$#l{=r7)c&|+ zV@sUFxEL32wD9eUkJsKZ2E-TXZ_D?Lx$%Se{>XSezBk`r7$3zCmVcE-WI{GoD@sVw za*Xi_S!uEQ5K7ZUj1x1&kHvh^LsW~W#B}i!&Zdf7V|_w;Q8zt9PvzJq#)v1x)7&M5 z6nT6WQzK2}>BXc&MVXi;=5X~1B-C*xN(?amFQKPaYNRJ7bR8%ndug04bw3kp3{UK> z4Kkig?4DAs59GXEjNrMacz%YM=YBfhSfAKkn`itsF)8kT5p^g;Xs`8_g8NjiOO3xI zW;qK)c&3OLVH0s1g^1s%3L-|iudgt2lkU?78`F{oYlX(old`n8jo&9_g%w#(2=k-= zm5D|}vct$uwi}0&;*C+HFDDfkuOw$`4;b$ykJd_zh?Ix52aU)09AdndGE^IC{3WIP z0~xkV@(C5gspoXCO08O@lvbKn9^YQZJlhEFv)yQ2)uv@enPUKL@{FTT*J15#QbLJ` z+Qu4hI(j>Y3%!>%t(T@+%Pt0mX_LdWVv!OvRIfI^a-?Y^j3}p*a{QOW8Crn!L^0BM z$m!IF>Pxwv5<1v@Zj|v)PG^^)`U+bK#}USoq&TD58K#Xke$TxOYva$(G_BkSO--+V zQWs)vh!E>x18joLaGh?+&sXIaFRGs7-D49=?h-zdtd5!w$>}X$&(I2 z=$9`UO{v=*SJKHbSBO~@`rH`mHc5z>Cxw_f-)NOCV@>yh`i0R#JO?YFS$%gCq9Tq8 zBny#|BE%fXanKd0fjXF)Aw+mj&O`rRLQLq*H@#QVhk?|WnnBDxLS*(6;sPXRAtzgi z#c&P6a;ze)pja_^qFyvJ@OKRmqL$XF86?CWS}6X03IeO>kX3ZRz(OI;!`LDrPQqr! zf#jh=w8FMh>RBelML0H0i1&vJ5jm24pcVFxLdNKNA@a%* z{17Kp13fInN|;$8#Dee9Wzd9v8TW_~hoELGg&QZtGPnk_#*>~P#F>0J3 zOYMKx2bvWwnbD0gf;v&JSXWdCePk|i$?o9?yIJ=g?52twq7GM*>N#j)EM360YkVu6 zSHK(4%VyoIKA&ZTOPXwQk`R44UdDH!k#2K3_Ny}#pq2N90U-)`U;6W1or&Q5grD*% zR7;NA|LPEwusi**UZh3UaO+miFQ;=BnbTJ3&nBRJ1;gmZUp2>(>eAD@ucpgoHf_M} z`b_!1A*LfsMw&gcq`l)~cdsnDUEgibm1CmKV-L#2-A5jj6+_L`3>-* z$LOZEMh>WNi5B7nBzEPc0afQhD25Uk0>fYgjDj(sG(#nfg~il(IVerB4w_&aT!m{O zs9qu{Es_Z(FcW4$U5a?zty(s6uo1N`q@?5>rf=X>IhLaH1(^6pr`Ob$5Q0lA^*1=9V21>mhg2V7WoCT%s zHp3R!3Wq_dzjJUNF2E&7>|?3KHGNQV`#4Bu*eLxt3g*FlP`Yv(9EH3nabnDoA$&|r%0WQKfp!Dq!*a!!qM>eCfBAaf5g|G-#!Y*imR=5hu z_n{9#&HHSB25%3b#X-#hM<8_|ZwyR_8dwAyVJhmV3aUZP6UzqCvP~q;LnQi1O&qOo7Gm$W zCXxPpS3n&s1~sW{fye^VuoBcH(*!YtIR`62O*(tvb5N7dIM@g0Kutu6MKoAZ4UI)Y z%}VoNDXfAfP_tAOnxq=0!$MHAmJKCrhcIw~n#Ep#7hySU1U0MGGONu5HFKLUzb3nz z<6oC4=09wb8RowAa#+2(uoTqv7s>P&4Ka`hYC2p8&CqvH7{R+f)S`b2xo3CfI^rKHLw`gK{I>^XGYdj3KGSm7(B2G_P|lN21`d% zQ+N*6z**>Dj#_~n7y)yjoOyo?RKPrV1zN#A#*Jza+JH6Z&}jFJ)!Dx;_43h6rRsCCq^aP^QIJI1e=y^fD+@qXFdiC<4p}WqNFf z6QE2GS0y6|w!l_64lQs2VjiJNFa$7D>cuP)FTepf2+D3b4YsiiN0<)Ej#&&>A$lA_ zAQt+;C|C>)uoPZ_18^Cxz*UGHPo_`+Xy*XWaec{!p*Tv-RpyHjD#h zi|vG6a1`SIj{cuaJ)s<`p#hYwwiounakvJ`cFTi-Fa~CVvgJ0wM%V{mg0k%n!XY?4 zl}_mO1IyT(T!rR>1<+#}Jq8!y62w%aNnt7|gYY0!K2H0AG7h&w6C8wAuurGX&<}=y zvK#x)prViiBS6`a1vT7Uh;k~1v7ijg!di}@1WKV6l(BgcVxHhF0cCg|fy;0OVrEi% z7z@>)jM5k35X6|%UX%U5f8NvbpQ%63LHoA|xQd=BV>LH>RF}x7VQRTed=DN05mr{7 z$XYMa{CvIaQLmOMv7n6Le(*e`&f--7WfbSbA&8mHeGm`*;3$;T(LhiN6Ja%+fRk_v zE63{F@BYhfpx09M>W&Y=fwBpfgwj=^zgfh!O@m&~95NB9Db) zXn>`#9o~jRa2OmJ-g{`2>`>T*VpYaIh%W6{C{+hH^ z{O76mKk>;Q#mDadBfnSwzf=Fs&Ej1u$X^&8V50+UDiuL0!X`p<%Cp4yFwLgEMHHXr zu{UIvxk=4CU#^$kwb8qpm!2?v7R`-g+_Ax$ofHeJm!->lpvD+029^N{?$=1_~^ zMX(qeU@0tv=iHB0?#?=_57NwE{8~2MU zuY^^w8eW0@(Cp42)tp$YJIu->vM%6x>M%eXu2$yCUeD`_x`5@d9ge~!$c#bVz;bAU zlMvR8w*;nxTGfALrnk_QQ;*8`a|7Kmf|;-ZPQrC?#PKG9XJJxG+Iw+Q&at&XF)KclFKh3zI7`vCo4LoS z^58l>%E+=sahyI;Pazp?KKv^g7NX(G$u%c@Br`izcAx6Is~i=0s@&^TocDTZCPkbD zbdt&q`vv3R_SuHZkY&yn=JN4@usW-N9 z?k5NIDD7vgItR*#BJ-n9WTG5YWDfmUCfJ^DE6p_5U6Ju--N&*-v#!Q#xk3P~;P&~^ z7+S9R$;Yx+c301uZUg1;tn0Ru_N?u$lfJROGqaA%S1qAQ?XvN{(zNb;+E4j@C8P{5 z5{bREq+Z(S8Zs7PEjdCy-?lKk)SUa@@*Z>TA7y#FNSF5la!3ke1KJmntRYQTi)`@8 z-8ZX5SzBbbwaA1nO8hg?^J7cRFV4t^&FxpD&8+)GR{K1hm=UU6Uh}|zZF-q=?sch| zenKwsdCE6S-=l=?KlHEbWI>k%7G~{#$m;YQ2SWqYs&^6iuXv@Ie)6WdcRs(mKlxWa zGfesU{1?@QoGXSB7zcH#2;I#RrL-oWl8+YVS|cdLYb@!xA{37+b<`q8Xzpr-=8CDygqQ+V5TY7@i*_r8 z1HC=Pxey#a%KK0S9uLGR(v}y(bWPOnQR+X+to&T|H`lhv`{bx%bM6(H5VEiB%`Wcu z;TiMnA7!%n;ioc5j>`4BxWH*w4%tZXcr*$~TV9Pjknf*4^8LLdyO3{rNKDr`-qtep zKDmqj_r>OWXJkUezP7GVtxR_PyFDIys7zgeBw4-g$w-1sV7ZPeXSA@`WC(l|i}j!zao1E)QUU~aZ!WO3onvhe9t zcNS^(U|zdR{XL#LRg;%oLB_mK(a*{snmK=yb2?rrw{Taex9e{+HoWEjv$kKpHkUME z3FTjrg_{2hesk^OtqbW|wU^^@Cyph(5R^-CakiR>Q_aGOsInO=m>H%Vkggk}G`K3e zNlBb`wPO^_QF)D=uG8aFu3;J9Qr)Pw$w{+cLs&2mr#%NvoTCK(C|JY$D4T!|%}EOl z<{^C%nU2947ZeBF>2xqABs1|_7t6EFi@~nP0np}BkS3;nd){;-p zH8KNcsMn~pWv1>ZQ^aZNUKd_$myx=}9c}BK4?aB#!00JGsrfZE} z>3Nymr3n5;`^apSEopY;MBW3z9Lco4R9854zK#v%5{x z$7@k4z(R2XBl!Bu(|+M-cWvMBY+oQ3%e!qlV)S#~qv_=v8o-)%oOa~`-wPf$_&L&+ zEBq#-r$dZqQfYMB)edYT1Uk@fF-~|^IoVf2prbwb;JECxD1scZGU(N;dGEXSbx^5NpTeTWq1g*TsD%$z`9wgA-vAEQMw8 z9IS!c6y~(6hxWs1xBzO8#s(UE>XzVVF$Io`b}7O3fL^SkMgXd|7(hgKcGP z8P3ECP4ND3OWKTLeFS>Pci>sA66U@2RXCz!`zvzfcWq0lz!%S^S}|$Q##-%no|6i% z3EZw@)REI|T5V3diqi?U&9`@y5~fUqzClfWKf}Olji_2a$7xr=Kf(42pC5f2f&=YA zr~UcSyzk(@;h0x`SAx^*DoQEXu4UyzOg0ahu5$g(3|JNUG!DFXKhJV(?SPuDG5VL@ zHb+pWgj>bNI8*@DKJaXso+oYXgx+K>3@XrLhz3{h-Xwdwm~SO|-t5jr-3P1gi{Lx(w|mJ3}oFd94I zTfl}@o5-TFVALYYPal^k^ZYs+_E>;Zgb7%*}C1_a3a`(#(goQXQ&F7 z^XyNbARV|zZ7H{sN&1T_Pxm?@snZ!d!&EHZ1PI*czN5B3BR^8r3US)iM)_d~+$_H% z!L99r)9h-uy%vJ)xW|uE!f$6)@>aFp;tW+$h{1O2mm#mSsu4+_sNQ_WX;%S_!8ZD@ z-I+KQ8yPG{VAl9MDxC_mw89H$#0k81prQ+wO}GPbX?7K{87wg2%STltXQy;&N7IF> z*iY|}hRTVau!evYo27_ms4b3;cgejziMZFU!XS=-CluluX-_yr-^cL2gB22C_N&v^ z-FSC$)SUM1FHlErAj=XCe3W0a4c zy6+ZE%?6Z@x8G^Ef}}cPq)KW$aZ-M6hg(bbSp%fm{Ufc0)Otr-1@TGTp3~VC>IvDp zgkVqD)>=ZfROpuFW6)NZqu9eiizm4ELT+wZ`S|{Wy5p0w?Vh->qh#WV4ZBJ@SbW&m zW>y_LNDob78$iWfn6vr#nM!OrE*;uLb9sw=%DoD^`Lxxs@0sKbSAl0gh8w|WPhws` z{F8TNnYrE1DzGdO0)xx$NT%EUtOCHmt7mwhxj5 z*TCv0B@UcFLhRN(b(bYpKYsCx({qRE+2`Dq;557XMNP0+zZ0B4 z=@xz`i|an2>Q_3a;52yR2IJ?_pU@FIsKR_wwQtO#W|^YBZaz3kPl>JHdU&HiWZGY5Se6H09r2DipF7X2K%a2>U?& zXla$ZuI8z|Xos>r`tXn`ZC{0zn=kFrUroyuozCXhdR2)McM!gWGtdgx;5w+EKT5EH z9l{_SA|V=L=9wjX^~+uI34r2m?SAutclCSQ3p4v&-EgQ_&UjFX2Ps_yB+)V zR?VS)dQ}H=U>?ke_u&XP?B|AT^}DR2@F5(7Jk9K8eP@q+)tgp$ z)W}}^p2_!kLcS^A)0?z>^H=Zb3H81g{cjeUr*f)-5JHHj=Let>Dx&l_w16kFbkcn6 zDwqmYPz}?e25Lb?p8gF%?SJMo2lTGy&s9(U;DG){2-$^OCA)PshW)GFl;T(ZDC-Ao tLi~^VvD9bU?z6wsW5VR0?=`RfL0_mj%pV=q+w4(PC2hI6@B{t1{|5(mearv= diff --git a/src/map/mapcommon.h b/src/map/mapcommon.h index 01fa61d..a8fc860 100644 --- a/src/map/mapcommon.h +++ b/src/map/mapcommon.h @@ -68,6 +68,8 @@ const qreal DEFAULT_LATITUDE = 65.0000; ///< Default latitude value const int GRID_PADDING = 1; ///< Grid padding used in tile grid calculation +const QString OSM_LICENSE = QString::fromUtf8("© OpenStreetMap contributors, CC-BY-SA"); + /** * @var UNDEFINED * @brief Value to be used when zoom level, tile numbers or position are not defined diff --git a/src/map/mapview.cpp b/src/map/mapview.cpp index 50c4f13..351e714 100644 --- a/src/map/mapview.cpp +++ b/src/map/mapview.cpp @@ -104,6 +104,7 @@ void MapView::resizeEvent(QResizeEvent *event) qDebug() << __PRETTY_FUNCTION__ << "Resize:" << event->size(); emit viewResized(event->size()); + emit viewResizedNewSize(viewport()->width(), viewport()->height()); emit viewContentChanged(mapToScene(viewport()->x(), viewport()->y()).toPoint()); } diff --git a/src/map/mapview.h b/src/map/mapview.h index 23b7def..128543e 100644 --- a/src/map/mapview.h +++ b/src/map/mapview.h @@ -153,6 +153,15 @@ signals: */ void viewContentChanged(QPoint viewTopLeft); + /** + * @brief Signal for drawing OSM license + * + * Signal is emitted when view is resized. + * @param width Viewport width + * @param height Viewport height + */ + void viewResizedNewSize(int width, int height); + /******************************************************************************* * DATA MEMBERS ******************************************************************************/ diff --git a/src/ui/mapviewscreen.cpp b/src/ui/mapviewscreen.cpp index a4fe962..fc54e3f 100644 --- a/src/ui/mapviewscreen.cpp +++ b/src/ui/mapviewscreen.cpp @@ -40,6 +40,9 @@ MapViewScreen::MapViewScreen(QWidget *parent) connect(mapView, SIGNAL(viewContentChanged(QPoint)), mapEngine, SLOT(alignImmovableItems(QPoint))); connect(mapView, SIGNAL(viewZoomFinished()), mapEngine, SLOT(viewZoomFinished())); + connect(mapView, SIGNAL(viewResizedNewSize(int,int)), + this, SLOT(drawOsmLicense(int, int))); + QHBoxLayout *mapViewLayout = new QHBoxLayout; //DEBUG @@ -59,11 +62,15 @@ MapViewScreen::MapViewScreen(QWidget *parent) // connect(zoomIn, SIGNAL(clicked()), mapEngine, SLOT(zoomIn())); // connect(zoomOut, SIGNAL(clicked()), mapEngine, SLOT(zoomOut())); //DEBUG - QLabel *OsmLicense = new QLabel("© OpenStreetMap contributors, CC-BY-SA",this); - OsmLicense->setAttribute(Qt::WA_TranslucentBackground, true); - OsmLicense->resize(OsmLicense->fontMetrics().width("© OpenStreetMap contributors, CC-BY-SA"), - OsmLicense->fontMetrics().height()); - mapView->stackUnder(OsmLicense); + + osmLicense = new QLabel(this); + osmLicense->setAttribute(Qt::WA_TranslucentBackground, true); + osmLicense->setAttribute(Qt::WA_TransparentForMouseEvents, true); + osmLicense->setText(""+OSM_LICENSE+""); + osmLicense->setFont(QFont("Nokia Sans", 9)); + osmLicense->resize(osmLicense->fontMetrics().width(OSM_LICENSE), + osmLicense->fontMetrics().height()); + mapView->stackUnder(osmLicense); mapViewLayout->addWidget(mapView); setLayout(mapViewLayout); @@ -96,3 +103,10 @@ void MapViewScreen::friendsLocationsReady(QList &friendsList) qDebug() << __PRETTY_FUNCTION__; mapEngine->receiveFriendLocations(friendsList); } + +void MapViewScreen::drawOsmLicense(int width, int height) +{ + qDebug() << __PRETTY_FUNCTION__ << width << "x" << height; + osmLicense->move(width-osmLicense->fontMetrics().width(OSM_LICENSE), + height-osmLicense->fontMetrics().height()); +} diff --git a/src/ui/mapviewscreen.h b/src/ui/mapviewscreen.h index ccea38b..c52b04e 100644 --- a/src/ui/mapviewscreen.h +++ b/src/ui/mapviewscreen.h @@ -67,12 +67,21 @@ private slots: */ void friendsLocationsReady(QList &friendsList); + /** + * @brief Slot for drawing the Open Street Map license text + * + * @param width Width of the viewport + * @param height Height of the viewport + */ + void drawOsmLicense(int width, int height); + /******************************************************************************* * DATA MEMBERS ******************************************************************************/ private: MapEngine *mapEngine; ///< MapEngine //DEBUG + QLabel *osmLicense; ///< Label for Open Street Map license QPushButton *zoomIn; ///< Debug button for zooming in QPushButton *zoomOut; ///< Debug button for zooming out QLineEdit latLine; ///< Debug input field for latitude -- 1.7.9.5