From f838a3ad9c50657114d6d0f251fa54e6de6d4588 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Wed, 31 Jul 2013 17:16:14 +0200 Subject: [PATCH] style: allow picto on launchers (#3402) --- univcloud/apps/launcher.py | 13 ++++- univcloud/static/css/style.css | 46 ++++++++++++++++++ .../accessories-dictionary-symbolic-dark.png | Bin 0 -> 1606 bytes .../img/accessories-dictionary-symbolic.png | Bin 0 -> 1540 bytes .../static/img/face-monkey-symbolic-dark.png | Bin 0 -> 3571 bytes univcloud/static/img/face-monkey-symbolic.png | Bin 0 -> 3445 bytes univcloud/templates/apps/launcher.html | 4 +- univcloud/views.py | 2 + 8 files changed, 62 insertions(+), 3 deletions(-) create mode 100644 univcloud/static/img/accessories-dictionary-symbolic-dark.png create mode 100644 univcloud/static/img/accessories-dictionary-symbolic.png create mode 100644 univcloud/static/img/face-monkey-symbolic-dark.png create mode 100644 univcloud/static/img/face-monkey-symbolic.png diff --git a/univcloud/apps/launcher.py b/univcloud/apps/launcher.py index 8647487..eb8557e 100644 --- a/univcloud/apps/launcher.py +++ b/univcloud/apps/launcher.py @@ -18,6 +18,9 @@ '''Launcher App''' +import urlparse +from django.template.defaultfilters import slugify + from .base import BaseApp class App(BaseApp): @@ -27,13 +30,21 @@ class App(BaseApp): sizey = 1 label = None url = None + picto = None - def __init__(self, app_id, label='label', url='#', **kwargs): + def __init__(self, app_id, label='label', url='#', picto=None, **kwargs): super(App, self).__init__(app_id, **kwargs) self.label = label self.url = url + self.picto = picto def get_content_args(self): args = super(App, self).get_content_args() + app_domain = None args.update({'url': self.url, 'label': self.label}) + if self.url: + app_domain = urlparse.urlparse(self.url)[1] + args['app_domain'] = app_domain + if self.picto: + args['app_picto'] = self.picto return args diff --git a/univcloud/static/css/style.css b/univcloud/static/css/style.css index afd41f2..258722b 100644 --- a/univcloud/static/css/style.css +++ b/univcloud/static/css/style.css @@ -33,6 +33,10 @@ div.gridster > ul > li { border-radius: 0em; } +div.gridster > ul > li:hover { + border-style: solid; +} + div.gridster > ul > li.scroll { overflow-y: auto; } @@ -143,6 +147,48 @@ div.app { height: 100%; } +div.app-has-picto { + font-size: 100%; + padding-top: 0; + text-align: left; +} + +div.app-has-picto a { + display: block; + width: 100%; + height: 100%; +} + +div.app-has-picto a span { + position: absolute; + bottom: 3px; + left: 5px; +} + +div.app-picto-wcs a { + background: transparent url(../img/face-monkey-symbolic.png) center center no-repeat; +} + +li.bright-bg div.app-picto-wcs a { + background-image: url(../img/face-monkey-symbolic-dark.png); +} + +div.app-picto-unpidf a { + background: transparent url(../img/accessories-dictionary-symbolic.png) center center no-repeat; +} + +li.bright-bg div.app-picto-unpidf a { + background-image: url(../img/accessories-dictionary-symbolic-dark.png); +} + +li.dark-bg div.app-has-picto a { + color: white; +} + +li.bright-bg div.app-has-picto a { + color: black; +} + #iframe { display: none; } diff --git a/univcloud/static/img/accessories-dictionary-symbolic-dark.png b/univcloud/static/img/accessories-dictionary-symbolic-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8c6f45793d00f8369cc66ba24dbc7ff9d66870a1 GIT binary patch literal 1606 zcmb_ceKgYx82h3QKGQQMi^0vVL&v9e^aLt-Ek+NIP z0iTAECC3rYUS1jgCGV0NtRI@rdZZB?k%{hYcClt^@?ykDS2Z>#3nJ5HNk+96U2okO zYOUou;!jHD!qhm$O#LwZ(Vk@|W>j*8jN?S*aY68EgY3xp?`Y>o{Y9i8l%mdgNdn0dqhohZ`g9eKnxz=kFThSyqpEqc=}b930)6rKd$=hL=F=A z-8u9SwW(I`hg5R!CbhjdE>@J+I5d}eh4FOJdU9*U!XF~5v69Bd#>kxg;vgTaT65#7 zrRmO6l9)>YhWNv9{iXuBKIovuvpy`DnEg22WzT*@YIgc&hpdm6=B!S&FfugU*?!5` zLbKI0syd|4i3K;`CV0R{ZyGbD-acltP}8paz-t$JF%OfC7j3W^`(7OPc`WN9OFC>0 zOBRHR$)qY%*S%s6{rvc0NsF)X(E5v?jb9|_op8}bn5V5Za=n~k+3f!R$*p|%S3m?( zxK$?n1!__&O>+V_^vif~#>m*Vag zhH-*%tq)UT0zVMgy^6tLyoBP^z~Yv%^u@(RR?ourkQK8AXmuWq z$yJ=?NhTn$kT-QY*KXxWv+91qsN4>!`BU{Nb+dG$ocm#%zJI=X|2|Vc1MR5d9fe6Y zjjh>@0o^UeX#)7PWI HEiCOH;hzC@ literal 0 HcmV?d00001 diff --git a/univcloud/static/img/accessories-dictionary-symbolic.png b/univcloud/static/img/accessories-dictionary-symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..26620de6335444c1a08621185ed5ad9a6f65f4a3 GIT binary patch literal 1540 zcmb_cXH=616b&nc2-wI$Lm&j<2vv|FQWTK+1rkJLBpQ$r_9g_PktJc3pnxEvEEy8S zBpN^vD>GJ>GOCtcMk;|Y1XMN(H1==*_MLOzJ@20T>z(^vx`Vxq3={zcfj}}?4B#YW z>mPuCg`KSZF-1t?QI=R7L|AbUU%GIXiom!;fk5VsKOho&JKsboDp1e_iZjWdLiLLD z15v3|?V#|GC?Br~KW$QEK+&=ZLTEz$FyVqIp?)Bna8j6`igR?BHz_p8M+NIc3Rl4e z`i1#rF^;oAAc;#@zyf!@c&XSk)EN)wCQOBqjPq$2(6Q#9WZ*|3d$;QQhBCw8=4$GQ zcQ&YjcEijBkAe0ho^}J`rFtfF$#VMniC4qY>X8Ts3$!lWL97*`l_RpWv@Eb{>h6?n z+O5;gT|FPZ92wicZJ*F2sHbkXVzpWmt=|Zs;Y^&X)D!R!NRxJl?&dhC$)&G+n`)@9 zm+q3Q)m(4yX4Fx|uAmu`1Zc11tjJTY3-33U@_|&#sg&1$$C{ccLG4yhy z^>E2Bg{RA&+BLF-p_E!1rWTb!&`C_2am}#mo|2|fn{02wty4z!5g{flzv7X8{i{( z3gI`>N?Wc1R=$cQTs3!5+ITy)SgHZsaBH86U`#2oa$ zlQr$DVQ0&q@wNHZUqHX#Cmkkf`herE|I1iGS-DO?AF<))%Nc?m_z7I>Qih0TCr#dm zdsC0t0k83v{vYK&TU)S7sixLv6H*?FBaXxCq*|84rZ#oZsyTIEfKS0{(^X*b3N+Pn z5%A4nO&(RfMXRBIhZa-ZH*xRoZp{Z`>FFg|<3hJ*`_j#pi@pCOi(KkTqQK8&H|i_NnrWz#9FI>mDfn<>g&_!_UL5wc z=rpTIAYxA=;-S|YVc2#0w(^`rjImL!#-bE7@0lrV^rR};D%VV@E4ty_=)Gz~YqdK` zH_tv~l|ByM@8tCBuiH~jZMz-CoyeOMpY;FuY*KiFCAT%a?-#;DY6a0n_;m^5SWMRy zk9g6Dh`B|X)|C~B!;cr(4-}0}iky z7jjpx^}j(&EGxB*#|^bv&CCxKtkunr2No63YiS^Zv3)^6r9y}HvHzwqh522rAOyGf q(DcRzJI&rG$%9?F6grn6wl9jOoU7|+oc0txV-OZ?4{$7rN&f)8!oNrW literal 0 HcmV?d00001 diff --git a/univcloud/static/img/face-monkey-symbolic-dark.png b/univcloud/static/img/face-monkey-symbolic-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f7d66e2ee25f2e8aa78ac71da310859228e189b3 GIT binary patch literal 3571 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 literal 0 HcmV?d00001 diff --git a/univcloud/static/img/face-monkey-symbolic.png b/univcloud/static/img/face-monkey-symbolic.png new file mode 100644 index 0000000000000000000000000000000000000000..9b6b53c95a7deac2cdd5ddf294c3a193c2d12719 GIT binary patch literal 3445 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 Xj}jYeqdivq00000NkvXXu0mjfTyk?} literal 0 HcmV?d00001 diff --git a/univcloud/templates/apps/launcher.html b/univcloud/templates/apps/launcher.html index 8f93ddd..a23c2b4 100644 --- a/univcloud/templates/apps/launcher.html +++ b/univcloud/templates/apps/launcher.html @@ -1,5 +1,5 @@ -
- {{label}} +