From 687df308620e80b81d80649dce08ae3306945b26 Mon Sep 17 00:00:00 2001 From: "jinwoo.shin" Date: Mon, 8 Jun 2015 16:29:34 +0900 Subject: [PATCH 2/7] Add initial project Change-Id: I8dab736c023718558036bc2b9b78ef81cd64ffa7 Signed-off-by: jinwoo.shin --- CMakeLists.txt | 77 +++++++++++++++++ data/CMakeLists.txt | 32 +++++++ data/infosquare-theme.edc | 20 +++++ data/infosquare.edc | 161 ++++++++++++++++++++++++++++++++++++ images/btn_clearall_dis.png | Bin 0 -> 3429 bytes images/btn_clearall_foc.png | Bin 0 -> 3423 bytes images/btn_clearall_nor.png | Bin 0 -> 3450 bytes images/ic_thumb_connection.png | Bin 0 -> 1970 bytes images/ic_thumb_memo.png | Bin 0 -> 1288 bytes images/ic_thumb_shedule.png | Bin 0 -> 1612 bytes images/ic_thumb_things.png | Bin 0 -> 2026 bytes images/ic_thumbnail_favorite.png | Bin 0 -> 3198 bytes include/define.h | 24 ++++++ include/main_view.h | 22 +++++ org.tizen.infosquare.png | Bin 0 -> 38658 bytes org.tizen.infosquare.xml.in | 10 +++ packaging/org.tizen.infosquare.spec | 56 +++++++++++++ src/main.c | 143 ++++++++++++++++++++++++++++++++ src/main_view.c | 118 ++++++++++++++++++++++++++ 19 files changed, 663 insertions(+) create mode 100644 CMakeLists.txt create mode 100644 data/CMakeLists.txt create mode 100644 data/infosquare-theme.edc create mode 100644 data/infosquare.edc create mode 100644 images/btn_clearall_dis.png create mode 100644 images/btn_clearall_foc.png create mode 100644 images/btn_clearall_nor.png create mode 100644 images/ic_thumb_connection.png create mode 100644 images/ic_thumb_memo.png create mode 100644 images/ic_thumb_shedule.png create mode 100644 images/ic_thumb_things.png create mode 100644 images/ic_thumbnail_favorite.png create mode 100644 include/define.h create mode 100644 include/main_view.h create mode 100644 org.tizen.infosquare.png create mode 100644 org.tizen.infosquare.xml.in create mode 100644 packaging/org.tizen.infosquare.spec create mode 100644 src/main.c create mode 100644 src/main_view.c diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 0000000..a8a4694 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,77 @@ +# Copyright (c) 2013 Samsung Electronics Co., Ltd All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT("infosquare" C) + +IF(NOT DEFINED PACKAGE_NAME) + SET(PACKAGE_NAME "org.tizen.${PROJECT_NAME}") +ENDIF(NOT DEFINED PACKAGE_NAME) + +SET(PREFIX ${CMAKE_INSTALL_PREFIX}) +IF(NOT DEFINED BINDIR) + SET(BINDIR "${PREFIX}/bin") +ENDIF(NOT DEFINED BINDIR) +IF(NOT DEFINED RESDIR) + SET(RESDIR "${PREFIX}/res") +ENDIF(NOT DEFINED RESDIR) +IF(NOT DEFINED IMAGEDIR) + SET(IMAGEDIR "${PREFIX}/res/images") +ENDIF(NOT DEFINED IMAGEDIR) +IF(NOT DEFINED EDJEDIR) + SET(EDJEDIR "${PREFIX}/res/edje") +ENDIF(NOT DEFINED EDJEDIR) +IF(NOT DEFINED MANIFESTDIR) + SET(MANIFESTDIR "/usr/share/packages") +ENDIF(NOT DEFINED MANIFESTDIR) + +SET(SRCS src/main.c + src/main_view.c + src/square_view.c) + +SET(TARGET_EDJ "${PROJECT_NAME}.edj") +SET(THEME_EDJ "${PROJECT_NAME}-theme.edj") + +ADD_DEFINITIONS("-DPACKAGE=\"${PACKAGE_NAME}\"") +ADD_DEFINITIONS("-DEDJEDIR=\"${EDJEDIR}\"") +ADD_DEFINITIONS("-DIMAGEDIR=\"${IMAGEDIR}\"") +ADD_DEFINITIONS("-DEDJEFILE=\"${EDJEDIR}/${TARGET_EDJ}\"") +ADD_DEFINITIONS("-DTHEMEFILE=\"${EDJEDIR}/${THEME_EDJ}\"") + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) + +INCLUDE(FindPkgConfig) +pkg_check_modules(PKGS REQUIRED + elementary + ecore + edje + capi-appfw-application + app-utils + notification + notification-service) + +FOREACH(flag ${PKGS_CFLAGS}) + SET(EXTRA_CFLGAS "${EXTRA_CFLGAS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLGAS}") +ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS}) +CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml) + +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) +INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR}) + +ADD_SUBDIRECTORY(data) diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt new file mode 100644 index 0000000..1252c32 --- /dev/null +++ b/data/CMakeLists.txt @@ -0,0 +1,32 @@ +# Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +ADD_CUSTOM_TARGET(${TARGET_EDJ} + COMMAND edje_cc -id images + ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.edc + ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_EDJ} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} ${TARGET_EDJ}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_EDJ} DESTINATION ${EDJEDIR}) + +ADD_CUSTOM_TARGET(${THEME_EDJ} + COMMAND edje_cc -id images -sd sounds + ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}-theme.edc + ${CMAKE_CURRENT_BINARY_DIR}/${THEME_EDJ} + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}-theme.edc +) +ADD_DEPENDENCIES(${PROJECT_NAME} ${THEME_EDJ}) +INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${THEME_EDJ} DESTINATION ${EDJEDIR}) diff --git a/data/infosquare-theme.edc b/data/infosquare-theme.edc new file mode 100644 index 0000000..0c35184 --- /dev/null +++ b/data/infosquare-theme.edc @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "../include/define.h" + +collections { +} diff --git a/data/infosquare.edc b/data/infosquare.edc new file mode 100644 index 0000000..deff29e --- /dev/null +++ b/data/infosquare.edc @@ -0,0 +1,161 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "../include/define.h" + +collections { + group { + name: GRP_MAIN_VIEW; + parts { + part { + name, PART_NOTIFICATION_TITLE; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 0.0 0.0; + rel2.relative, 1.0 0.0; + text { + text, STR_NOTIFICATION_TITLE; + size, 40; + align, 0.5 0.5; + } + min, 0 200; + align, 0.0 0.0; + fixed, 0 1; + visible, 1; + } + } + part { + name, PART_NOTIFICATION_CLEAR; + type, SWALLOW; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, PART_NOTIFICATION_TITLE; + relative, 1.0 0.5; + } + rel2 { + to, PART_NOTIFICATION_TITLE; + relative, 1.0 0.5; + } + align, 1.0 0.5; + min, 400 150; + fixed, 1 1; + visible, 1; + } + } + part { + name, PART_NOTIFICATION_TITLE_BORDER; + type, RECT; + scale, 1; + description { + rel1 { + to, PART_NOTIFICATION_TITLE; + relative, 0.0 1.0; + } + rel2 { + to, PART_NOTIFICATION_TITLE; + relative, 1.0 1.0; + } + min, 0 2; + color, 255 255 255 255; + fixed, 1 1; + visible, 1; + } + } + part { + name, PART_NOTIFICATION_CONTENT; + type, SWALLOW; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, PART_NOTIFICATION_TITLE_BORDER; + relative, 0.0 1.0; + } + align, 0.0 0.0; + fixed, 0 0; + visible, 1; + } + description { + state, "nonotification" 0.0; + inherit, "default" 0.0; + visible, 0; + } + } + part { + name, PART_NOTIFICATION_NONOTIFICATION; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, PART_NOTIFICATION_TITLE_BORDER; + relative, 0.0 1.0; + } + text { + text, STR_NONOTIFICATION; + size, 40; + align, 0.5 0.5; + } + align, 0.0 0.0; + fixed, 0 0; + visible, 0; + } + description { + state, "nonotification" 0.0; + inherit, "default" 0.0; + visible, 1; + } + } + + } + programs { + program { + name, "nonotification"; + signal, SIGNAL_NONOTIFICATION; + source, SOURCE_PROGRAM; + action, STATE_SET "nonotification" 0.0; + target, PART_NOTIFICATION_CONTENT; + target, PART_NOTIFICATION_NONOTIFICATION; + } + program { + name, "notification"; + signal, SIGNAL_NOTIFICATION; + action, STATE_SET "default" 0.0; + source, SOURCE_PROGRAM; + target, PART_NOTIFICATION_CONTENT; + target, PART_NOTIFICATION_NONOTIFICATION; + } + } + } + group { + name: GRP_SQUARE_VIEW; + parts { + part { + name, PART_CONTENT; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + } + } + } + } + +} diff --git a/images/btn_clearall_dis.png b/images/btn_clearall_dis.png new file mode 100644 index 0000000000000000000000000000000000000000..fb138eab9cc9ac2451abdfb0d0e2e252509a9174 GIT binary patch literal 3429 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 bIgtmBzlsG2JHo#&a}4ygO|+_^4ln)#q%C3b literal 0 HcmV?d00001 diff --git a/images/btn_clearall_foc.png b/images/btn_clearall_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..950c90178d54fd48abd3686fa2c0a4f0b134ddac GIT binary patch literal 3423 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 TT@ikAd)$DQn!aic%r@*lW>IS4 literal 0 HcmV?d00001 diff --git a/images/ic_thumb_connection.png b/images/ic_thumb_connection.png new file mode 100644 index 0000000000000000000000000000000000000000..2943334075fac54d4c792640a0d06915bbb89052 GIT binary patch literal 1970 zcmbVNYg7|w8V;c(8U=+?g!MKZEf>jcLK2dxK|&@ese%wJAoXwgK6Q)^Js2NMGBGIg>biJ{v*eExFE0Tcac9VCoKa|5hMyo_z66t5P|@yln;p|QYpj*L_$a;5Yj`+gT$~z z3X2kfsSBjNk)}dehiImJ(QgXSOi@-?AgHLQ;8!H@39?84$>nlChe*VuEqJy{oHE#X zxNXTa1A^L&Bxa>B0tftzhK)oSr2y$jpQT{2rlmb6#%)uDqDv;Q8>|9|FBDiT{=A-A z+bA9Sdl)aYw&^Ras6dC>h%(YhpGV=6X)s;8KX&9dq@#gXlNfy{h7yD@mRV4o(jp3w z{=zq5CKyQ+sw4>#kx+)n)M5ydiG@myS}hSPHIO_}o-)nxBCJ}d(WFQ;Y9XQ$L6BM^ zS7{{5M7c-~38gZ*T0V`{;x@{F8_{XM80~ioi~J!LR*|TIB1kAJ>hY9b@;;;DGMBFmP$AW7}!Z ztakpPu|u0uIgZWXDe*4%TsLr>%j5l>{71{3h2EHhB^TWNc>2TYdsb7C_u%*EZH3;i z|HAM5_S48O8-&YT$(+_?jwu5O(g8uD*hXetBQq*IwU!>UISc;HjB$vCJDFP}29o2< z0g};|?SbWt_pqI1QQb$I0(aERw&+&as_D=NvtwS5KLg34}K@kpOH13USpKIR>&1v|mvY@S^EN zv%O%%@VyXZ<~G}r_c_N}*LU8&s;)1rov++I0}GS~eDHEey<-Epo|gk(dFfou%I=== zfYivJD!9x}-(%cb()!B|=j4_?*W6y_V&#_G24rO=>mjh>G5b4q{+GQ&GOKP;(ZUPL z{p};etnpe_2D`%{iJtZKaYdd}^<>+1H`e-5zKMPP^uU?5kJiueup4^4ncRPZnwk0W zJs9lO9vq;$LYn$+wro+Ic^r@u9_yZT_L7J1HjTd;w1BlxSAJGpd+K7>lB9lWM8C{e zq#BO#4U~OWW8d0-39r=cS`{iA`K9?Cc1BDSQ!r3QPG0_7Sn`3Indeq5&8^?#I{%?} z<>1k_$sav)y|aGy{OfoNy!u9SLBGC3RS#9)GGn3OU*k73Cw>t1tv>MEQP=tK+6zs4 z;#^tYLilpu-r_Y!2l33k-*?=MAMSQ@cK>{KQgCih!Lf$=iJm56PU+(2*iKQE`0DFN zR^7ak-&lUxIb%0z{3JI1T4}eN%){g2FA$47jXigxziUlt8EHEa$w9HUyxiOkrzbqj z?f1tDJ^u7Q9 literal 0 HcmV?d00001 diff --git a/images/ic_thumb_memo.png b/images/ic_thumb_memo.png new file mode 100644 index 0000000000000000000000000000000000000000..2739d6505bd19438e270361bd7d0d65f1b6d4de9 GIT binary patch literal 1288 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 XG;?pI-{_T3U4P#+NhZ>gtgiSkT#OnZ literal 0 HcmV?d00001 diff --git a/images/ic_thumbnail_favorite.png b/images/ic_thumbnail_favorite.png new file mode 100644 index 0000000000000000000000000000000000000000..ca55b226b1d66ac1f856685022808bc629258648 GIT binary patch literal 3198 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 literal 0 HcmV?d00001 diff --git a/include/define.h b/include/define.h new file mode 100644 index 0000000..3b15a3f --- /dev/null +++ b/include/define.h @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __AIR_INFOSQUARE_DEFINE_H__ +#define __AIR_INFOSQUARE_DEFINE_H__ + +#define VIEW_MAIN "VIEW_MAIN" +#define GRP_MAIN_VIEW "grp.main.view" +#define PART_CONTENT "part.content" + +#endif /* __AIR_INFOSQUARE_DEFINE_H__*/ diff --git a/include/main_view.h b/include/main_view.h new file mode 100644 index 0000000..a963e60 --- /dev/null +++ b/include/main_view.h @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef __AIR_INFOSQUARE_MAIN_VIEW_H__ +#define __AIR_INFOSQUARE_MAIN_VIEW_H__ + +view_class *view_main_get_vclass(void); + +#endif /* __AIR_INFOSQUARE_MAIN_VIEW_H__*/ diff --git a/org.tizen.infosquare.png b/org.tizen.infosquare.png new file mode 100644 index 0000000000000000000000000000000000000000..affa43645cd9689ed9ea1d41404cfbb195a130ae GIT binary patch literal 38658 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�>=c|6It zB9{>TD4*!2)eY)(cou-Bc*u@7P{yUeRP_(RrcO{D);>waWxki8hxh`>13tVQlsZv- zPV53!S-lz|`xQHaS&eP#efVY1)x5PSOt%#q={PwhnJZ~<#kWy6E_bl^4@`SUf!C7% z?4{YykL|0xxu2N)tRq`X<+LC%fwRX=xe?MaC!8_7W0c zn4RZiy)Z0?2{R>}rFUEZOUw>?OM>xCVfKX31v>a= z;d}&HtXZJ>dzagM3`oS7a!j!B1%FhiPYL^2-}9!WLLCf4=AMmD$7hfOYQvZrMY)`k z3tcmF)u|w9~tGRgVtiwyrmd^^7~DvaT76IumC-JxlR7L6uf6 zN+(rmHd*7bsHQ1+9-%plE8p0K8NVo)*G~Unb1*pDL{N*JxM}J3jP?T-8*ij(V$o>l zH7tl%?&!w#HtN77=&|}-2<4ldAy>!JX$nzt9yYO-`W`LC^GFh6ppC4%O_zt|1w)n=}^FftB)F$xb7sG`!>$c zRRTUsWJ;fu3Le?ni_3TuG^nsgC8-mB;xr@+=iI;6Rb)s65q&{ftcg((RLmiD_7rxK z@6L2~%Wa^zmZvNt8$LBs=*D$5OrewRhDxUJ#T)I!c^sK2%{HM%m2TkyaK07$?H;bBA%<`lW;ZMhRy%oAFiSvGJo`otb335b2Q9}XQsBcaw zq!=Eo_5iR2n$v|W=M1CS*^i>2+O4fHb5Mtat{7X zwm2HWvhtVB8_^$R|L+Um?ehI2z9d@FP};sbkha`Ys41f<$-u@qaK(atJben`Nzcmj z#!`MlH!u#b+I>VLQH|AF)ivIMFgr=k(9a}a1UY%v*}OWas5gJhwWuM$;;s~#1FxZ> zm^rrZ8NEve#&^~>i9KR;TsqdPzN5YYkGE6VZtW3CaT52_=Hfk%lW?9Sp-Q@58&$>? z$0_6s368FK4lE(dZ_%I9_nbtujxSBtJRq{Ar3AO8v38ureZ437YQdYj)zOb^E@p+scaHSXN7|e*=`jdj zHHB!3|8#;CuNWscZTUn)HO~6}kR7^L&hI4s@BH^sA zj4&2M`$NK);M^^kRzyLsaT6@s7zzzV*I^NBwq;J4hL^(ta@O`-yk4;u1AOqSq&M!G zn5b=6Yx25$URd9_7Lmwf^6yk_4)*HoAz0$#4bXxe(p@ zrV6R~0~a_cv%94O=|K2?pi@qJyRCt8?l`(`a>NG=0{1(w0iJneW|qFY#%W|Ku#d1%eKwbY~aCmkkW#j(|A9HxkN3Of^E z$ZPaD;4(y&45^$N8e4kxQ~-iiQ>>&^9+;7yhtIm+S*EH&t-Znr?htA18yy{8tB+GP4Pky34Wh$Ab(&2kwjYrDM_J>#KS4N z1xOdsDASuBR#}poie_TlOK7G?33-V)y>;Yr!3Zk7rh7S7k?fJ0C>h-g6hs@@&>i%Y zPU3IdX6ari(Q~_#W#HbrlsK(Wvu4RVt#I=$voSgf(hTy&*ME~J*86V(}UmbFO-_4D&oDWD--o~ zxquW5{+x5J$yc>MO-7oy>w_gEgVvM_f@JXbK2)-R6<-^bU(ZTVpc(3;38h1?KNl@d z(4O>cm>kPy;K#hXZU|(z@U{W7w$R*EPgI9*Ims4LD6xZz&WhfZVlG?~*0BE?&N#D7 z!MZtJT!OuqN<<4(Su4J>wl+>#)~^(YJ5tU)Hzj6jPULF-lrFu?oeA`*mj_N({{VFv z&2$Av?(9x(sO)Z>Aw6?TJ6)y1{2Xdkw>`_*DQ@nM$@^880z)8qg3 z8)lwcB)E~|Yn@RTdc$cg)KQmJH>eF^iOSDBKTbb7V)ZO%^MR_>b#xK$vnJw8BOA-C z&ptYF;)FRrEaJGjSbJQs{oQa<>fgdYc>W*v-$Ryj|6}(b?!SgFUYt4};D5RQ9^U)< z$MFDv+x>_8U%;!bEdRIjzlZ-U_& + + + Jinwoo Shin + Info. Square application for Tizen TV + + + @DESKTOP_ICON@ + + diff --git a/packaging/org.tizen.infosquare.spec b/packaging/org.tizen.infosquare.spec new file mode 100644 index 0000000..7bb4143 --- /dev/null +++ b/packaging/org.tizen.infosquare.spec @@ -0,0 +1,56 @@ +Name: org.tizen.infosquare +Summary: Info. Square application for Tizen TV +Version: 0.1 +Release: 1 +Group: Applications +License: Apache-2.0 +Source0: %{name}-%{version}.tar.gz + +BuildRequires: cmake +BuildRequires: pkgconfig(capi-appfw-application) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(ecore) +BuildRequires: pkgconfig(edje) +BuildRequires: pkgconfig(app-utils) +BuildRequires: pkgconfig(notification) +BuildRequires: pkgconfig(notification-service) +BuildRequires: gettext-devel +BuildRequires: edje-bin + +%define _pkgdir %{_prefix}/apps/%{name} +%define _bindir %{_pkgdir}/bin +%define _resdir %{_pkgdir}/res +%define _datadir %{_pkgdir}/data +%define _edjedir %{_resdir}/edje +%define _manifestdir %{_datarootdir}/packages + +%description +Info. Square application for Tizen TV. + +%prep +%setup -q + +%build +cmake \ + -DCMAKE_INSTALL_PREFIX=%{_pkgdir} \ + -DPACKAGE_NAME=%{name} \ + -DBINDIR=%{_bindir} \ + -DEDJEDIR=%{_edjedir} \ + -DMANIFESTDIR=%{_manifestdir} \ + -DVERSION=%{version} + +make %{?jobs:-j%jobs} + +%install +%make_install +install --directory %{buildroot}/%{_datadir} + +%clean +rm -rf %{buildroot} + +%files +%defattr(-,root,root,-) +%{_bindir}/* +%{_resdir}/* +%{_datadir} +%{_manifestdir}/%{name}.xml diff --git a/src/main.c b/src/main.c new file mode 100644 index 0000000..294988a --- /dev/null +++ b/src/main.c @@ -0,0 +1,143 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include + +#include "define.h" +#include "main_view.h" + +SET_TAG(PACKAGE) + +struct _appdata { + const char *name; + Evas_Object *win; +}; + +static Evas_Object *_add_win(const char *name) +{ + Evas_Object *win; + + win = elm_win_add(NULL, name, ELM_WIN_BASIC); + if (!win) { + _ERR("failed to create win"); + return NULL; + } + elm_win_alpha_set(win, EINA_FALSE); + elm_win_focus_highlight_enabled_set(win, EINA_TRUE); + elm_win_focus_highlight_style_set(win, "invisible"); + + evas_object_show(win); + + return win; +} + +static void _pause(void *data) +{ +} + +static void _resume(void *data) +{ +} + +static bool _create(void *data) +{ + struct _appdata *ad; + Evas_Object *win; + + if (!data) { + _ERR("failed to get data"); + return false; + } + + ad = data; + + elm_theme_overlay_add(NULL, THEMEFILE); + + win = _add_win(ad->name); + if (!win) { + _ERR("failed to create win object"); + return false; + } + + if (!viewmgr_create(win)) { + _ERR("failed to initialize viewmgr"); + evas_object_del(win); + return false; + } + + viewmgr_add_view(view_main_get_vclass(), NULL); + + ad->win = win; + + return true; +} + +static void _terminate(void *data) +{ + struct _appdata *ad; + + if (!data) { + _ERR("failed to get data"); + return; + } + + ad = data; + + viewmgr_remove_view(VIEW_MAIN); + viewmgr_destroy(); + + if (ad->win) { + evas_object_del(ad->win); + ad->win = NULL; + } +} + +static void _control(app_control_h control, void *data) +{ + struct _appdata *ad; + + if (!data) { + _ERR("failed to get data"); + return; + } + + ad = data; + + if (ad->win) + elm_win_activate(ad->win); + + viewmgr_push_view(VIEW_MAIN); +} + +int main(int argc, char *argv[]) +{ + struct _appdata ad; + ui_app_lifecycle_callback_s cbs = { + .create = _create, + .terminate = _terminate, + .pause = _pause, + .resume = _resume, + .app_control = _control, + }; + + memset(&ad, 0x00, sizeof(ad)); + ad.name = PACKAGE; + + return ui_app_main(argc, argv, &cbs, &ad); +} diff --git a/src/main_view.c b/src/main_view.c new file mode 100644 index 0000000..dc0fb77 --- /dev/null +++ b/src/main_view.c @@ -0,0 +1,118 @@ +/* + * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include + +#include "define.h" +#include "main_view.h" + +struct _priv { + Evas_Object *base; +}; + +static Evas_Object *_create(Evas_Object *win, void *data) +{ + struct _priv *priv; + Evas_Object *base; + + if (!win) { + _ERR("failed to get win object"); + return NULL; + } + + priv = calloc(1, sizeof(*priv)); + if (!priv) { + _ERR("failed to allocate priv"); + return NULL; + } + + base = elm_layout_add(win); + if (!base) { + _ERR("failed to create base object"); + free(priv); + return NULL; + } + elm_layout_file_set(base, EDJEFILE, GRP_MAIN_VIEW); + + evas_object_size_hint_weight_set(base, + EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, base); + + priv->base = base; + viewmgr_set_view_data(VIEW_MAIN, priv); + + return base; +} + +static void _show(void *view_data) +{ + struct _priv *priv; + + if (!view_data) { + _ERR("failed to get view data"); + return; + } + + priv = (struct _priv *) view_data; + + evas_object_show(priv->base); +} + +static void _hide(void *view_data) +{ + struct _priv *priv; + + if (!view_data) { + _ERR("failed to get view data"); + return; + } + + priv = (struct _priv *) view_data; + + evas_object_hide(priv->base); +} + +static void _destroy(void *view_data) +{ + struct _priv *priv; + + if (!view_data) { + _ERR("failed to get view data"); + return; + } + + priv = (struct _priv *) view_data; + + evas_object_del(priv->base); + + free(priv); +} + +static view_class vclass = { + .view_id = VIEW_MAIN, + .create = _create, + .show = _show, + .hide = _hide, + .destroy = _destroy, +}; + +view_class *view_main_get_vclass(void) +{ + return &vclass; +} -- 2.7.4 From 76a257f65056b2124c6043d30456792ff9d483ba Mon Sep 17 00:00:00 2001 From: Minkyu Kang Date: Thu, 11 Jun 2015 16:58:43 +0900 Subject: [PATCH 3/7] add cflags - Wall and Werror Change-Id: Ib854d22005a5f9ffd2241e6433e676511a32b63b Signed-off-by: Minkyu Kang --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a8a4694..52b8a32 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ FOREACH(flag ${PKGS_CFLAGS}) SET(EXTRA_CFLGAS "${EXTRA_CFLGAS} ${flag}") ENDFOREACH(flag) -SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLGAS}") +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLGAS} -Wall -Werror") ADD_EXECUTABLE(${PROJECT_NAME} ${SRCS}) TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${PKGS_LDFLAGS}) CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml) -- 2.7.4 From 3659d25af866497eac9ed0a2a77f41136d9fda72 Mon Sep 17 00:00:00 2001 From: "jinwoo.shin" Date: Tue, 16 Jun 2015 11:32:41 +0900 Subject: [PATCH 4/7] Add info square view Change-Id: Ic319bc20b3398726d4135aa78b1c63e6db908c18 Signed-off-by: jinwoo.shin --- CMakeLists.txt | 5 +- data/CMakeLists.txt | 6 +- data/infosquare-theme.edc | 2 +- data/infosquare.edc | 145 +--------- data/view/notification_view.edc | 30 ++ data/view/square_view.edc | 474 +++++++++++++++++++++++++++++++ images/btn_noti_list_clearall_dis.png | Bin 0 -> 1476 bytes images/btn_noti_list_clearall_foc.png | Bin 0 -> 1547 bytes images/btn_noti_list_clearall_nor.png | Bin 0 -> 1572 bytes images/ic_info_time.png | Bin 0 -> 1215 bytes images/ic_info_weather_clean.png | Bin 0 -> 1902 bytes images/ic_info_weather_slash.png | Bin 0 -> 1166 bytes images/ic_info_weather_temp.png | Bin 0 -> 1055 bytes images/ic_noti_list_complete.png | Bin 0 -> 1493 bytes images/ic_noti_list_connection.png | Bin 0 -> 1740 bytes images/ic_noti_list_download.png | Bin 0 -> 1272 bytes images/ic_noti_list_email.png | Bin 0 -> 1415 bytes images/ic_noti_list_event.png | Bin 0 -> 1468 bytes images/ic_noti_list_fovorite.png | Bin 0 -> 1876 bytes images/ic_noti_list_memo.png | Bin 0 -> 1206 bytes images/ic_noti_list_noti.png | Bin 0 -> 1673 bytes images/ic_noti_list_recording.png | Bin 0 -> 1497 bytes images/ic_noti_list_reservation.png | Bin 0 -> 1992 bytes images/ic_noti_list_sns.png | Bin 0 -> 1786 bytes images/ic_noti_list_things.png | Bin 0 -> 1687 bytes images/ic_noti_list_upload.png | Bin 0 -> 1233 bytes include/define.h | 30 +- include/notification_view.h | 22 ++ include/{main_view.h => square_view.h} | 10 +- include/strings.h | 32 +++ packaging/org.tizen.infosquare.spec | 2 +- src/main.c | 13 +- src/{main_view.c => notification_view.c} | 11 +- src/square_view.c | 223 +++++++++++++++ 34 files changed, 836 insertions(+), 169 deletions(-) create mode 100644 data/view/notification_view.edc create mode 100644 data/view/square_view.edc create mode 100644 images/btn_noti_list_clearall_dis.png create mode 100644 images/btn_noti_list_clearall_foc.png create mode 100644 images/btn_noti_list_clearall_nor.png create mode 100644 images/ic_info_time.png create mode 100644 images/ic_info_weather_clean.png create mode 100644 images/ic_info_weather_slash.png create mode 100644 images/ic_info_weather_temp.png create mode 100644 images/ic_noti_list_complete.png create mode 100644 images/ic_noti_list_connection.png create mode 100644 images/ic_noti_list_download.png create mode 100644 images/ic_noti_list_email.png create mode 100644 images/ic_noti_list_event.png create mode 100644 images/ic_noti_list_fovorite.png create mode 100644 images/ic_noti_list_memo.png create mode 100644 images/ic_noti_list_noti.png create mode 100644 images/ic_noti_list_recording.png create mode 100644 images/ic_noti_list_reservation.png create mode 100644 images/ic_noti_list_sns.png create mode 100644 images/ic_noti_list_things.png create mode 100644 images/ic_noti_list_upload.png create mode 100644 include/notification_view.h rename include/{main_view.h => square_view.h} (70%) create mode 100644 include/strings.h rename src/{main_view.c => notification_view.c} (88%) create mode 100644 src/square_view.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 52b8a32..280822a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -38,7 +38,7 @@ IF(NOT DEFINED MANIFESTDIR) ENDIF(NOT DEFINED MANIFESTDIR) SET(SRCS src/main.c - src/main_view.c + src/notification_view.c src/square_view.c) SET(TARGET_EDJ "${PROJECT_NAME}.edj") @@ -60,7 +60,7 @@ pkg_check_modules(PKGS REQUIRED capi-appfw-application app-utils notification - notification-service) + vconf) FOREACH(flag ${PKGS_CFLAGS}) SET(EXTRA_CFLGAS "${EXTRA_CFLGAS} ${flag}") @@ -73,5 +73,6 @@ CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${PACKAGE_NAME}.xml) INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${BINDIR}) INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR}) +INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images DESTINATION ${RESDIR}) ADD_SUBDIRECTORY(data) diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt index 1252c32..124fd89 100644 --- a/data/CMakeLists.txt +++ b/data/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved +# Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -14,7 +14,7 @@ # ADD_CUSTOM_TARGET(${TARGET_EDJ} - COMMAND edje_cc -id images + COMMAND edje_cc -id ../images ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.edc ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_EDJ} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}.edc @@ -23,7 +23,7 @@ ADD_DEPENDENCIES(${PROJECT_NAME} ${TARGET_EDJ}) INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_EDJ} DESTINATION ${EDJEDIR}) ADD_CUSTOM_TARGET(${THEME_EDJ} - COMMAND edje_cc -id images -sd sounds + COMMAND edje_cc -id ../images -sd ../sounds ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}-theme.edc ${CMAKE_CURRENT_BINARY_DIR}/${THEME_EDJ} DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${PROJECT_NAME}-theme.edc diff --git a/data/infosquare-theme.edc b/data/infosquare-theme.edc index 0c35184..52e787d 100644 --- a/data/infosquare-theme.edc +++ b/data/infosquare-theme.edc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. diff --git a/data/infosquare.edc b/data/infosquare.edc index deff29e..d8587fa 100644 --- a/data/infosquare.edc +++ b/data/infosquare.edc @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2015 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. @@ -17,145 +17,6 @@ #include "../include/define.h" collections { - group { - name: GRP_MAIN_VIEW; - parts { - part { - name, PART_NOTIFICATION_TITLE; - type, TEXT; - scale, 1; - description { - state, "default" 0.0; - rel1.relative, 0.0 0.0; - rel2.relative, 1.0 0.0; - text { - text, STR_NOTIFICATION_TITLE; - size, 40; - align, 0.5 0.5; - } - min, 0 200; - align, 0.0 0.0; - fixed, 0 1; - visible, 1; - } - } - part { - name, PART_NOTIFICATION_CLEAR; - type, SWALLOW; - scale, 1; - description { - state, "default" 0.0; - rel1 { - to, PART_NOTIFICATION_TITLE; - relative, 1.0 0.5; - } - rel2 { - to, PART_NOTIFICATION_TITLE; - relative, 1.0 0.5; - } - align, 1.0 0.5; - min, 400 150; - fixed, 1 1; - visible, 1; - } - } - part { - name, PART_NOTIFICATION_TITLE_BORDER; - type, RECT; - scale, 1; - description { - rel1 { - to, PART_NOTIFICATION_TITLE; - relative, 0.0 1.0; - } - rel2 { - to, PART_NOTIFICATION_TITLE; - relative, 1.0 1.0; - } - min, 0 2; - color, 255 255 255 255; - fixed, 1 1; - visible, 1; - } - } - part { - name, PART_NOTIFICATION_CONTENT; - type, SWALLOW; - scale, 1; - description { - state, "default" 0.0; - rel1 { - to, PART_NOTIFICATION_TITLE_BORDER; - relative, 0.0 1.0; - } - align, 0.0 0.0; - fixed, 0 0; - visible, 1; - } - description { - state, "nonotification" 0.0; - inherit, "default" 0.0; - visible, 0; - } - } - part { - name, PART_NOTIFICATION_NONOTIFICATION; - type, TEXT; - scale, 1; - description { - state, "default" 0.0; - rel1 { - to, PART_NOTIFICATION_TITLE_BORDER; - relative, 0.0 1.0; - } - text { - text, STR_NONOTIFICATION; - size, 40; - align, 0.5 0.5; - } - align, 0.0 0.0; - fixed, 0 0; - visible, 0; - } - description { - state, "nonotification" 0.0; - inherit, "default" 0.0; - visible, 1; - } - } - - } - programs { - program { - name, "nonotification"; - signal, SIGNAL_NONOTIFICATION; - source, SOURCE_PROGRAM; - action, STATE_SET "nonotification" 0.0; - target, PART_NOTIFICATION_CONTENT; - target, PART_NOTIFICATION_NONOTIFICATION; - } - program { - name, "notification"; - signal, SIGNAL_NOTIFICATION; - action, STATE_SET "default" 0.0; - source, SOURCE_PROGRAM; - target, PART_NOTIFICATION_CONTENT; - target, PART_NOTIFICATION_NONOTIFICATION; - } - } - } - group { - name: GRP_SQUARE_VIEW; - parts { - part { - name, PART_CONTENT; - type, RECT; - scale, 1; - description { - state, "default" 0.0; - } - } - } - } - + #include "view/notification_view.edc" + #include "view/square_view.edc" } diff --git a/data/view/notification_view.edc b/data/view/notification_view.edc new file mode 100644 index 0000000..00b7a0f --- /dev/null +++ b/data/view/notification_view.edc @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "../../include/define.h" + +group { + name: GRP_NOTIFICATION_VIEW; + images { + image, "btn_clearall_dis.png" COMP; + image, "btn_clearall_foc.png" COMP; + image, "btn_clearall_nor.png" COMP; + } + parts { + } + programs { + } +} diff --git a/data/view/square_view.edc b/data/view/square_view.edc new file mode 100644 index 0000000..2a63fa7 --- /dev/null +++ b/data/view/square_view.edc @@ -0,0 +1,474 @@ +/* + * Copyright (c) 2015 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "../../include/define.h" + +group { + name: GRP_SQUARE_VIEW; + images { + image, "btn_noti_list_clearall_dis.png" COMP; + image, "btn_noti_list_clearall_foc.png" COMP; + image, "btn_noti_list_clearall_nor.png" COMP; + image, "ic_info_time.png" COMP; + } + parts { + part { + name, "margin.notification"; + type, SPACER; + scale, 1; + description { + rel1.relative, 0.0 0.0; + rel2.relative, 0.0 0.0; + state, "default" 0.0; + min, 62 50; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, "margin.info"; + type, SPACER; + scale, 1; + description { + rel1.relative, 1.0 0.0; + rel2.relative, 1.0 0.0; + state, "default" 0.0; + min, 37 50; + align, 1.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_NOTIFICATION; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, "margin.notification"; + relative, 1.0 1.0; + } + rel2 { + to_x, "margin.notification"; + relative, 1.0 1.0; + } + min, 489 0; + align, 0.0 0.0; + fixed, 1 0; + visible, 0; + } + part { + name, PART_NOTIFICATION_TITLE_BG; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 0.0 0.0; + rel2.relative, 0.0 0.0; + color, 48 48 48 255; + align, 0.0 0.0; + min, 375 65; + fixed, 1 1; + } + part { + name, PART_NOTIFICATION_TITLE; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + text { + font, "TizenSans"; + text, STR_SQUARE_TITLE; + size, 36; + align, 0.5 0.5; + } + color, 255 255 255 179; + align, 0.0 0.0; + fixed, 1 1; + } + } + } + part { + name, PART_NOTIFICATION_CLEAR_BG; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 1.0 0.0; + rel2.relative, 1.0 0.0; + color, 48 48 48 255; + align, 1.0 0.0; + min, 99 65; + fixed, 1 1; + } + part { + name, PART_NOTIFICATION_CLEAR_ICON; + type, IMAGE; + scale, 1; + description { + state, "default" 0.0; + image.normal, "btn_noti_list_clearall_nor.png"; + align, 0.0 0.0; + fixed, 1 1; + visible, 1; + } + description { + state, "disabled" 0.0; + inherit, "default" 0.0; + image.normal, "btn_noti_list_clearall_dis.png"; + } + description { + state, "focused" 0.0; + inherit, "default" 0.0; + image.normal, "btn_noti_list_clearall_foc.png"; + } + } + } + part { + name, "padding.notification.list_title"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, PART_NOTIFICATION_TITLE; + relative, 0.0 1.0; + } + rel2 { + to_y, PART_NOTIFICATION_TITLE; + relative, 1.0 1.0; + } + min, 0 63; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_NOTIFICATION_LIST_TITLE; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, "padding.notification.list_title"; + relative, 0.0 1.0; + } + rel2 { + to_y, "padding.notification.list_title"; + relative, 1.0 1.0; + } + text { + font, "TizenSans"; + text, STR_NOTIFICATION_LIST_TITLE; + size, 36; + align, 0.0 0.5; + } + min, 0 36; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, "padding.notification.list"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, PART_NOTIFICATION_LIST_TITLE; + relative, 0.0 1.0; + } + rel2 { + to_y, PART_NOTIFICATION_LIST_TITLE; + relative, 1.0 1.0; + } + min, 0 28; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_NOTIFICATION_LIST; + type, SWALLOW; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, "padding.notification.list"; + relative, 0.0 1.0; + } + min, 0 0; + align, 0.0 0.0; + fixed, 1 1; + visible, 1; + } + } + } + part { + name, PART_INFO; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, "margin.info"; + relative, 0.0 1.0; + } + rel2 { + to_x, "margin.info"; + relative, 0.0 1.0; + } + min, 500 246; + align, 1.0 0.0; + fixed, 1 1; + visible, 0; + } + part { + name, PART_INFO_USER_MESSAGE; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 0.0 0.0; + rel2.relative, 1.0 0.0; + text { + font, "TizenSans"; + text, STR_DEFAULT_USER_MESSAGE; + size, 56; + align, 1.0 0.0; + } + min, 0 56; + align, 0.0 0.0; + fixed, 1 1; + visible, 1; + } + } + part { + name, "padding.info.time"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, PART_INFO_USER_MESSAGE; + relative, 0.0 1.0; + } + rel2 { + to_y, PART_INFO_USER_MESSAGE; + relative, 1.0 1.0; + } + min, 0 27; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_INFO_TIME; + type, RECT; + scale, 1; + description { + rel1 { + to_y, "padding.info.time"; + relative, 0.0 1.0; + } + rel2 { + to_y, "padding.info.time"; + relative, 1.0 1.0; + } + min, 0 120; + align, 0.0 0.0; + fixed, 1 1; + visible, 0; + } + part { + name, PART_INFO_TIME_MINUTE; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 1.0 0.0; + rel2.relative, 1.0 1.0; + text { + font, "TizenSans"; + text, STR_DEFAULT_TIME_MINUTE; + size, 120; + align, 0.0 1.0; + } + min, 132 120; + align, 1.0 0.0; + fixed, 1 1; + visible, 1; + } + } + part { + name, "padding_right.info.time_separator"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_x, PART_INFO_TIME_MINUTE; + relative, 0.0 0.0; + } + rel2 { + to_x, PART_INFO_TIME_MINUTE; + relative, 0.0 1.0; + } + min, 22 120; + align, 1.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_INFO_TIME_SEPARATOR; + type, IMAGE; + scale, 1; + description { + image.normal, "ic_info_time.png"; + rel1 { + to_x, "padding_right.info.time_separator"; + relative, 0.0 0.0; + } + rel2 { + to_x, "padding_right.info.time_separator"; + relative, 0.0 1.0; + } + min, 15 120; + align, 1.0 0.0; + fixed, 1 1; + visible, 1; + } + } + part { + name, "padding_left.info.time_separator"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_x, PART_INFO_TIME_SEPARATOR; + relative, 0.0 0.0; + } + rel2 { + to_x, PART_INFO_TIME_SEPARATOR; + relative, 0.0 1.0; + } + min, 22 0; + align, 1.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_INFO_TIME_HOUR; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_x, "padding_left.info.time_separator"; + relative, 0.0 0.0; + } + rel2 { + to_x, "padding_left.info.time_separator"; + relative, 0.0 0.0; + } + text { + font, "TizenSans"; + text, STR_DEFAULT_TIME_HOUR; + size, 120; + align, 0.0 1.0; + } + min, 132 120; + align, 1.0 0.0; + fixed, 1 1; + visible, 1; + } + } + part { + name, "padding.info.time_am_pm"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_x, PART_INFO_TIME_HOUR; + relative, 0.0 0.0; + } + rel2 { + to_x, PART_INFO_TIME_HOUR; + relative, 0.0 0.0; + } + min, 7 8; + align, 1.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_INFO_TIME_AM_PM; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, "padding.info.time_am_pm"; + relative, 0.0 1.0; + } + rel2 { + to, "padding.info.time_am_pm"; + relative, 0.0 1.0; + } + text { + font, "TizenSans"; + text, STR_DEFAULT_TIME_AM_PM; + size, 30; + align, 1.0 0.0; + } + min, 80 30; + align, 1.0 0.0; + fixed, 1 1; + visible, 1; + } + } + } + part { + name, PART_INFO_DATE; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, PART_INFO_TIME; + relative, 0.0 1.0; + } + rel2 { + to_y, PART_INFO_TIME; + relative, 1.0 1.0; + } + text { + font, "TizenSans"; + text, STR_DEFAULT_DATE; + size, 30; + align, 1.0 1.0; + } + min, 0 30; + align, 0.0 0.0; + fixed, 1 1; + visible, 1; + } + } + } + } +} diff --git a/images/btn_noti_list_clearall_dis.png b/images/btn_noti_list_clearall_dis.png new file mode 100644 index 0000000000000000000000000000000000000000..a1125c9a892845fad8e5e1c2a3eca1664c283e86 GIT binary patch literal 1476 zcmbVMdrTX396uf+Lm14F35a@Yk!=a|9(~YO3S1ut%oRwfgUrb|+H1L#_R95G3yY!5 z!N!0EVvL(O!eYQdCT1E40)y%T3uZDULwU@NEg7QO)Fm@wCW*fSMgJiC!^_?M9{2ft zzTe;Xag7Ce*-;S*5fB7L<>qJ&U^Ib;2oD4A@goTr!4S{uiupp;!n-Msh6poTM#H&w z%1Rq(%3NJJNvA_lh=nm0^TqlDN)u}rQGSfbV|M~J1f^$soRrB%^Kcn$WgIHOZ^L5( zm@%saMN&PgcWUTzCZ~p@3v2R>rW%_`VHRX&!08?(5U|rc1$*oj4wurS60GSe!Q8)% z2;emcZ&L}@ohsHBz#5jLVW~)*YCqoFV_4-X=hifBHAY_P#aw3=rMeKI}xz^Aw-a!BB#+GQ8 zvD!%^2HM3|aVC%ti!eY2v3t59KM;7M%;y-86skhYnyT!ygU{8f1mKIv%$SvGwN8!c zWVjsH;W`P1sTFCs0#}PsIZ0wTp$lki#TAPQ9G7V%s9Hi|m`Pyq$yEYG^iStqP1l)-z87>Aj4yY~6h zvwm7F%`r!5Gs&@bcrCt4W()gTtxl}Q6r@Cfs&!HflM|?1O=wXKfs;BpAr)+J&HpE6 z2yh1R7sr2!C9nl5&_CTQeX!VU9@+sqh6An9St?wDprFUOTEgg=f6z|6eie*O0tza9D3oe)w}11QeGV!8L6F?rA?S~ zPDV69ap7^kEFTmW9EQfA-a2nkB%l0VC-|WRkG`LKCVM%0|HQqv z>sh^cNL#!wtI=0HT-K3)IemEad!M|osdhSh8r^R7RzhK@_rgo${wK}d%O7l;Z;e+S zn!Sk6eQEi5KE=EHhp*?p>9QU@vT$~8uqo6qbZ6@DLf=~@L!$?MtuxJ*b91w^*}=>^ zv%>=o!5Jk%p9L01Pq zYAW+Jh<4?4tiBBQa!AkMzR3*r&`+>9X(uTk9F3f;!_M5VFu3=8c;5~WPjQm2`duH7 zCD$j;w70nLCftFlr=C|_o;e$TEpevxp2bjUNT3cpN*r1CK1)V77v6q<{`%s$6%XlJ z>=xN?9ZR0PaWZ8z+SYK`_RILYE%~_clEpb7%gE!6)U8^!zpm3#Al^tqXk;l|3WWrP hfc*F~M7;eR3K{lve%G<>Z;k)Inybsx_Nhyc{{vMP7Eu5I literal 0 HcmV?d00001 diff --git a/images/btn_noti_list_clearall_foc.png b/images/btn_noti_list_clearall_foc.png new file mode 100644 index 0000000000000000000000000000000000000000..fa9fc125ae94c22be498199fc8db8cb1c44546e6 GIT binary patch literal 1547 zcmbVMdr%a09N**Q0!3rGGN5d>MGe!teZVfa3y198?&WER2q;%g%5t~BdhYFUw{Qog zfzg#pGG?RYqf~sP1CGw1L&g*iViQ?_hE9%;(QF*eMww9t3&(y3ob`v}AMN~hf3NT7 z^L_7{{JhsDPfVEzLC|FTJgxxDF7UE(I`HjYmhu&tl2zWR7Aj?GQ1FWo>sCrd*e(m@ zVu2{QYbt*bvmr=ZCKWkVr{i_TrN~AhB4Z56K7fXx?71PI;PQwnTq>4JUNdt0o9_@< za+{H2(t$aARBxtzieH3DW4ghG;W$iDMm&S0D0~h~U^szdU{D4;gCQw~$b`oq1ZeZS z%a{VrHm(co%t(c*`WO@q27|_6x>50$qc}~|5e|Yd00~2&#;Xb;gEx>GW#Ghs%P;v< zN%6uFMxj)xQq2gkbj$_W=WskC_6EiS1ww{~1RshUF;tc#evL{8)B^EeGaf4)D5~*^ zXn`0|s{AgHkFwM#7{u<$iXwu*8fKwi0!a~8aEhx+7QL#SGb7-}=$71!#ll-~o+3;H zPw*KyZlN;?ny{o}CYuc>SU$?}IIN8#(kY%u$1H>u$9d93(X5FiX^O%uSO#W_V(s35 zDtKLDRIdc|j$?@@Vi~Jn6ja4uq$n$*6_8({s7jzh@xj(Y3QjAQyly2Jm=#ISn75qh zm#Rg#&9BJtXnYyzG5Rr%qQS6PNQ~x59A^oN<#E=;(bi0!#W-Xf>;6A6LxC}9q&WUl zEYTxSfsy5-(g&MI%_Dk2$M`{ORBc~tg`k)$JI5A<&fnT*&g;UG!mfri{q~*-uR!$; zCp5W-4s|}~%&MHUWbeT_+q6?Ud!efnutif7wQYN@th*b#c*fl7XIC4(D6ZYScc}RO z{@>0?1^VwR8%FvPtWd&)gc7&}(rUCxaY>!Ioscdjym5VZ<@%=j{+6Lh>!&qL>hd;0Xmi#gE6H*%sb&Xt4zM*d{A9P+=zGKM(k6GJnT5QP3pWTYaLg@H|vD9l?_77u{DNY^&h8Hbe&4;-#I-0LS@C7e(J+cU-3fy;^57D^x%fj+wThT z(`$OaK1!d?nK>}F8!-t=N_Xtw@N7qKySS06iE zz2$sgd(D~L))!ijXc}*NY?q`SYUml+6W(ydsn9VmI|iUsl)N{s9%|-pA1lmT^}*I4 zw4rC}yaf+-&UDbr7X{B!g9BB)nuMojJb&NV?V0j^R{XUk9mx+ma`?8^M0z8e-OpY; zI#^|MaxKZvN5PWclbw&d-gzII^Yha@wcUe@|~5 zLeE0sJzLsm9e*n+{N8|2wgW1ev*z-yFPp-9)_Rytzc_Wa!!LEebJa6=9liT-|KIC& xpVWGEr9XkR>99nsuD(t)meJ9irpB#|$DsM2b)CAsHDHPSp6z@dchFL@`XBjfDOvyk literal 0 HcmV?d00001 diff --git a/images/btn_noti_list_clearall_nor.png b/images/btn_noti_list_clearall_nor.png new file mode 100644 index 0000000000000000000000000000000000000000..fe2885c3e12c33021f111dc4fd7c131b61e4aaa3 GIT binary patch literal 1572 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 T#0{Q4nfxKj#)y7i+k5x{Uo?Fe literal 0 HcmV?d00001 diff --git a/images/ic_info_weather_temp.png b/images/ic_info_weather_temp.png new file mode 100644 index 0000000000000000000000000000000000000000..493ab7e9c2f94295833cf6bd7b0f10f71b0bfc65 GIT binary patch literal 1055 zcmbVL&ui0A91m1@-_%w5A2im#(_xO7EwY9?q;G|YDLJ@}K*h7VsDUhJ=h0VGV3<_LZMI0O z`ard@$5{!6i@kud8K$rp2bR5w2xz0O>lfLR&tF*JIz@I}stVOWM?H6WH$-c@wWhth zX)6x9cpnsEl?r%>SRnSc{78+9>`+&w^JJT6!4N_=i|n~mt!f?UI7C3=GHF|Y5XdqI zvyv>sdq5PR$P4t9(=e+_vMT1l=wYd~(CMfRqdc-jS4Fl*NTBk3zu)Kj84ibC9x95G zXozB(BGS>0PpmlYNAqI^14VY|2E@faNEEF$-X=wsdU}2ZFQ`^0!hSRg6b%_4TLBL_ zf%m-RUPE+58tAVZ7owx)PJs9Zitu)5(|mO1$7CA2%MB$!>W#V@x-==)mVxbU5Ba2G z6j^%0Ij*B>nyEok7W1Mhnpp@nB_}GPmJ#yhG89YZSmPqDqRTlWpVb9L7a=qyB?t3) zQOcT`Oc|PGWz4Pk5wUz5jqSSB?ue^h%2o9cSp#pzM zezcIJ=lr$?3f;%ZDTmkt!}zN11@@sND~7C;HAzrR3Br;nmrPj78;YJYOM=0UxX%B? zjHk}Ga@5{Zs13nQ`#z`rzH(;mwtkrGw_)UFPk_*>ByA d!S9EAOo};r_T>G`#&JJs*@{^+K4=?H{{SmMO)LNa literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_complete.png b/images/ic_noti_list_complete.png new file mode 100644 index 0000000000000000000000000000000000000000..e1c4907e6d9f0096129daea0bfa51141598eb071 GIT binary patch literal 1493 zcmbVMeM}Q)7%!;cN?e!&zaYzT1))Gc?n;kdLnUqRN~@M>X{6aq;OM=SQ`)O{hb?|E zZ2wqf5R0M`bx1PQeZeu?OK{mY>fNkYNkw&(L9bs#OC&|bK|kf*4g{zQco?4ne(?1r z7-DDxT&}gN?S3<;VXV72P`0bo>E5;7jni=PI;be97YV#TprD|)*2n9E26&cNFV3Ue zDj1qo5w;uP=T5oon;fNKQ7uUDx8fq*igQL>yzh2S_Iw|sG;ENeF7C!_;^{2fdIUl zWBdZc`k*KyRmIi`23Yj;`4zl=yM3P6$Ik^y44EoO`BjKgt@3)K_nOt_1qb-ojRm!N zXT2Y&9Drx*IJcOOYFP{{#_r{YqKcw7`Zqa7ObS&?uD3;ikSb@>$eCdme`Q`yWv12%~HNw{6XA(*L5*uN32JigdZqFe$r+n*)5O8;E zW~QxLmeptKk|)_(x+D2*E#2qNMQADmAW2!La^&4po7*z8Zo6!zgUtu5qj>|*Qt{ye zeq{HIfj!Ot*3&+7&2az8m~vw8%}I!Fzy(?8@4{|zgBnNc^taop?lvx6(4e5 z8cg@KZF{XN;k(h+S8^qq%l8|dnqamgT+R0_et*x(3kd*QuiaM;YiqMkZu|k3uZTZ| zS+!D!YzyDNI4cAk)6%w_wy7k?2f0)I32XPII-V>~$*bv%yBN9X{`jd{cBQYfrC>)~ zQ+~>4i36DS-a0Upz>KA*9Lw37)M4%DTrWTWSG%%De)V2jdxgwu|L{n6xA9D) z;>V%YR}Zz9E3EcA8Q|e)tMp6Tp+6grrmgLj79D&fPxjpGtJS^tuc@a!(<$qCKnUMNt~ zFc4mRrgyosVvG*e-F>}7)wpGH#o3!|Pv@)Y5zmIw4Y%w6K3&mrHdL1Ee=GOSMC#+F jZ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8KW+g=7RhMR$W{Yl!|Z$R@KEJl?AE#L8-<0 zrA5iW_()TRX$FQJev3c~fv&OgFUkZ)N@9*nesXDUYF>$_i>(q+MlU5Z#mdRa)ydG+ z%*evX)yUPv(9p@!+{n_%$=JZc&CSrr(G_L}Hoca{PEIc7&c+5VmQIF-uBMKrmX1y) zCT6CljwWvAP8Kk|o_WP3iFwJXFncqB_Coa<;ni#9T$Gwvl3x^(pPvIu0Rb8LCHch} z`2`Bj!Db2?;hA|U`Q^o$py+}4)+Mzlvn(~mttdZN0UW+onON*Mv2-zVwJc%ysNNKE!b~6N7=2LUKuRnyAz%swG2uxc$bn~`)I4C0 zDFSAV<_%1;3=B+vJY5_^DsH`*>FW^^C~`dg$`+o$H8C@12BidET=bH;spAE=W7oAX zg|ICdfm>E76kOEn5@X%k5hcPpk>w_P>c#dz6`n*P&xtIm*G#5No4T(~{M>=B-_mBx zD!;n1`a%2qyPxmv{dfPb)pws8pZ8p-*fQsWg{k@(&f-IJ4AkH37no-5^!7}X)DN!y zh3BifwLWb)k+b7D?{+&2j-6(=`J#DNu6iiw(=1^#^>wR2+vN)rdTp=i*p`TPZTS@X zA+|<4cWb_Ph~}TBe1oIM>pfcLZc;sSZIy*^(L!dsUq7O^KAaVLy4J~OC&w3IIWMIu zAMR@AxdCjudE+_XOn)sFeJE#LS7|}yy4edO!j7{Vu`Cv7Y|OcHyv$+$_vKriThDIG zxp~ktSzZ#_I%#qry=t>?bRrsy+wcGMRAD(_2K zg}HqyK2zWRn!R3Ygc@f+OtSid#1H@@)`&-0@~ z6`5ZylqLT#^QU&jr;lp00i_>zopr0O!G$ AVgLXD literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_download.png b/images/ic_noti_list_download.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2f086d53bc6064353ace05786cd893dfdef036 GIT binary patch literal 1272 zcmbVMeQXnD7(W;gwtz+>2`fs@n*@yO-M!cL+PkbHZSOj2Xz98Nm8j{h_jbLt_u<`* z>t;xhsextqL5LwsOk85ZM+~x{Axa2_e~e;=#u5xDEa49#TSQGzoQd(huATm|@Q0VX z_w)Jvp5Obt&vOUUsh+iMo;D1_)+V+I8Pv1xw|W(7$Hl=PQP*yZIlE6U+KyyGEF$au z5KpMm0L(y19)9^t*o9#&MJ1cFbII*|L03u1wIQpjfzTM%wY6$Ug)+49emJ0LVdCz& z3k0snVPaPxNhggMEGgSYOxQP)$`(e-1x_ZmcH>=D9ucU}mhh@t(Ja0iChELA8oSFB zf!9s!a+p{Ul}o1am~KKmK>EA|8UUPSN#GB#Ea=1;8ZZ=%Ue*ize1PSdAl`TgeiN>f&a=_(%Q-n8<5ICOCK@| z=st=aO)!exgB`hsNDaTkRM4eJ6+tfysZg^MLYP21q^!t%G%7}c$TA^DWJEszQ7*`E zOw>n*;&H%4#3sj5*g!A>SlSn%1uhDJ7~lZs3;97XD$sF1U}8;dLbGg1E5N2-1^I1Y zxd&qTm3EX^g9f$nfI_0eRp zc%X(V#zdt7XZ5ErY}uBC5Xn}r&0Ra+c9DK;`5bFmL!;(vviuzN$i}nT z9Yb^T)idAR8hicz__9^&^ZVSUvpwU~dJkP)pFUgbz9jtg(mRtI{+vFBR1Ub7%hqJ^A77(=UR(hmTL0J%hq~ zeIMQYd2{9VFDq}2-Fy7|6)kmnzh6Ev|L}pz^|2>B{xerPmtV~+%D(a2qj~J)7?)`~Lwh<*@Pq literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_email.png b/images/ic_noti_list_email.png new file mode 100644 index 0000000000000000000000000000000000000000..26580b2e81ba6af978504df1f22ba10ec2ea2080 GIT binary patch literal 1415 zcmeAS@N?(olHy`uVBq!ia0vp^W+2SL1|)l2v+e>Z$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8KW+g=7RhMR$W{Yl!|Z$R@KEJl?AE#L8-<0 zrA5iW_()TRX$FQJev3c~fv&OgFUkZ)N@9*nesXDUYF>$_i>(q+MlU5Z#mdRa)ydG+ z%*evX)yUPv(9p@!+{n_%$=JZc&CSrr(G_L}R=viK=4K`)js`B4PKJiArj7<~Ky4-_ zW)`L(!kQq%n_IZjNP1+pn6lt2{V15WAs6Z11Yh0BE)wf^X8Xprb!utH3}0M&v~>ZqjM}>(wKPYW z{$Ewx$8^4@C9>RkVLQLqZq++qt!w;xC4bq(il;;|tgl+HZ7^Z^j5V_lPAkk6-(n#$ zDeAV{U)jZV>yivVA5)KFYUW##qBT8g^P=F@*V>B>6Mx*6oN-dYly}~iX;)-?F93xW z%D#F1dwv41iJHKqJE3>A3mL3}zdVfbnehH_>W77u%NHD9lxJ>n(RNe0Yc}h?j-x(J z)o1rI3)esC%kDeEJfr9a$PDp0ng6UKekF3T*7`q^`Lgq!GQZ(M&Nb4{)BMjT&0hET z^Nxi(57rBI&t%o#^*yTd%dMEMs(T%r&I@v`XuRI4;Jt5yiaS6S%Zp3Pgg&e IbxsLQ0Hs_48vpZ$r9IylHmNblJdl&R0hYC{G?O` z&)mfH)S%SFl*+=BsWuD@%xRe+5hW46K32*3xq68pHF_1f1wh>l3^w)^1&PVosU-?Y zsp*+{wo31J?^jaDOtDo8H}y5}EpSfF$n>ZxN)4{^3rViZPPR-@vbR&PsjvbXkegbP zs8ErclUHn2VXFi-*9yo63F|8KW+g=7RhMR$W{Yl!|Z$R@KEJl?AE#L8-<0 zrA5iW_()TRX$FQJev3c~fv&OgFUkZ)N@9*nesXDUYF>$_i>(q+MlU5Z#mdRa)ydG+ z%*evX)yUPv(9p@!+{n_%$=JZc&CSrr(G_L}Hob0!CT^x~POb(nmQIF-uBH~|j&81| zj?ONIMlR;&jwUd@o_WP3iFwJXFncqB_Coc#;MHs8T$Gwvl3x^(pPvIu0Rb8LCHch} z`2`Bj!Db2?;hA|U`Q^o$py+}4)+Mzlvn(~mttdZN0UW+onON*Mv2-zVwJc%ysNNKE!b~6N7=2LUKuRnyAz%swG2uxc$bn~`)I4C0 zDFSAVLoxE~3=E8KJY5_^DsH`*b=Uh)g2=Jh%G=jlXNX5}Nj=olTG9RQN|RGp><`CY zO^;62ZR`G||Jv{_#@(X1{bA1O>$z)+A2c3*Z@cf)o4eI!&rOaO8fEru_3?7<=`=J{ zJ9cD-1h)ipkb2v$)`gloJ{PE8P+B)R_~Z7Bj~Bmi^?y-XxgvY*qmVgz)m0iC>MxQ~ z4!?1qUu?h1_F0SNhLv}dBUy`kJSI!Ln)23AHP@o)bk~+@!)a#8>Px~eO$cGFbJ;ZW zdc*Y@H)9^VP5qg(?(x%d71REPqQj@-6W+-E5H1kj!TCq>hwO*Ij`#DmMYX?i{*-=l ze?t9_C-D>ZJKK34>YD1w_Hx!1?i%?D#)`(72Tk?n*M7_5`+vFXWa%6GvZKtCj_$AO zw%fz9=g65yQs!NDHrs5?S~jYEV1JMcg#8C*A7J-<(e=9cTjTU}rYk;E@6FMUFr0hk z`RicGABx4@A&hZ}*PctgS*KPUyK7O&(GMHljXcDc%vpZg)MNS*n-4ad+m?4ftKe&X z-c#HEHQ|j|h4>D}I}G<&>zMaUZ&|m4`Da=~4f7}6`8C#@+GT!HlXHS(e`prmz3iGR zXU!b%2Q8QKbLh*2~7a`i5{N- literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_fovorite.png b/images/ic_noti_list_fovorite.png new file mode 100644 index 0000000000000000000000000000000000000000..be8e65944b264bba4c5fb0b828ac3232fdf9bbf1 GIT binary patch literal 1876 zcmbVNX;2eq7>KDWbR;AT36N~uEF@^DBgC-$BgkF_`#2_k7*1Qu) zFo|TJtW(D0@v=x*jp`XH8-`)g8woav6dYnPs?=!+4kRHdI)i}Lz5fsm&}js;IF5`Z zGln5rUHE(qnK56kRL@US^EI@PsX(v=CIs{dt^zFjbb|@D2xxt}Ffq4nGig8{1Wyyt zJ~s}#LcCH0WgOPLxDj5MI)?Xnq)Xe zEbX^NtOPVIjvHYn(`+^~%xngVr7%H0pKsHEAUc7do3aeJ%0f4odLpC7c4IG8(h@_~}#i%+%j~MU>v4BQ=VQ6$3SR|5&KnWM( zK@vz30D>ZZAjF46Y!*){1tFniK;ui?K#qhf4rH-dV!j9jB^(h)N^p4+C=e2}_yNKJ zZiK;vs|;#nz^;z4+sEZfrC;U3VHl#qQA~-V=>ruItwnLvq(zND*bFY<7pF65P_t>0 zEj^!3D@HI~CZdsIs2=ExFRc55{Q$lglJGz_kIxcII3UOmgCu+wU&<8{6~LB?X#HHx z|A`rsaE56sj{g+Pz!p(~w&~~6Cl;TZ2Qd&GgAuJ!+0g4xbXbF?0OvZg0gOL`LnYfXB&KamUzFu@$7W@o6he|oon2ReO83GYHCZW zB4!zye3L!7+WL}QJZE2M2x-&15B7I*M*N-t zde;ult8l!N`}~BlXmCC|)MKwNz2^Yc8*9p~aDI`yp}wOoZd&>vzh5Xv3mVAl0LS#_ zJE&BT-MQl#X}3~#tz0y-rl}y+q48sBV&T|D)E|?cI@eD>g#^V~6!E2tDaA@3*Qb?r zdUvk!>OAM-f|UGkJjUqSqPI+a>Y!;pS+srRm?}y_X!x(PybG5uI^z_c0klThy9NKX z8gKW%BZkht)9!9M`X1(KV%t1AgKMa=eU>KYz1RKQ(aznQ+#cP1J^jE2XjD$4qW&fc zI>TGOCwQ6=?r2|drYxxmAHFfmb-DDzC3fAlitO6*!LximKBOJLl;$m4lJ=)5bBvv% zU%O0EdduhaZFco)?K*AHS-Y35Ee}biIm0zs`!j!<4J@uKRLZZQ$0o_M1kFO>7Wvw% zv4M=DYhJA5))&JE@dvaS`NSik0=Gr>DN~fEmK}Cpw|1ic+nj}O?Q*wf+&fn^K1gwY}+}&G~Gmw_-~7%D9{)`*Bu?17wY{tc4LH?%t-*Tx;)BVzmmQHl0DLdh nwC^qXxPjl_0lt^L2a!qLcEep(c${2h`_Dy4V)W literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_memo.png b/images/ic_noti_list_memo.png new file mode 100644 index 0000000000000000000000000000000000000000..cdd7d075bcdad49a121d2d6686ec3e98230da00d GIT binary patch literal 1206 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 literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_recording.png b/images/ic_noti_list_recording.png new file mode 100644 index 0000000000000000000000000000000000000000..53c9fabe1966d5035c0c75ad094f54dfcbee492d GIT binary patch literal 1497 zcmbVMZBP_t9A6YqV8pU~JsW#mR6xDk+r7KJ+l`a%ZubxrJda~!dXd|^TVR9RJ@(e_ zz%&AE5_E&pW->|Wltt7eSu@ph$Y~!OKeY4gK5zfu z@Bh9#oq1WwN$Mm7L6WoAGA=li(KkT_zq{CHF2iY&!WJs|Qn3=|WFE2lB`*)M16&F3 z;yHh1#c4hRL8ccA?n0$7cRlTs0$MIAqm2ZD5RD)inUNspE8`X5KL?#DY%p(r_I;#!xUR zqLf+C+eQ`UI)Po1d0^D)H9j4V1CrF@1|v!0s{x_I2}}nEslg4jk)#O|n0ipCP4*Yl zF2*sX3+^mvsiFjF3=4 zqKuqZ+M-xcXz6Vi0>RweJH%pWDo`+FScD5=xK@V+0#Uyvr9+B~ziY-lr9&y-ZPFUF($Gxxy(n^tL(xGE08;-L^o5N(bn#_8ujc||-gE5B97DEar z`uLb$0qUK?viHT(cA4iCNp?$8d8`7QrII3rN~IvM=aV39lOXz~a40>Rp4;9syevG+ z`yH|r0F&{hg?s6z7=kt9dNZYCSR;;8c7mmJl!LUw3eY=j=oHrfe`1C~W3Xs({HIuA zN3a5;%R8kHH+Pzc7h%W9ur)I0{eA&KrX^-GR(Is<8_kw=pE&2fnBVg>W4bth2Aj2D zV}*0h^DjJ+lWtbdX6^?ywZqF2(1OQq89zu6JCD$}3gS0**A$vMN;?c6FAzb~3gP9w z?Ypn_+H>TDN_j9e+XOy4JknR%_?&u~!+Up(HV>)OrhR4K-g~5=yZV$;guJSbj2{DO zuJzQSU!46H^v-dBPt=^Rj=w(Mu<+qMabeE`t>?Cmdu)TAIHupyy1Ba|IBT;t@xyAn z&U>}(&2LhVYlcQ$n>;!H^mtCL++XKjzVs0GW0u;m=l$0nnmBmnB1ls2YRhjLnmsU3 zOFbBOLqCQz3^x>AIRs9j)4eN~o=)z@+y08HGRmsssRN6N^!Z(2q<(15z&_KbPmWd| zU2$^t_b!_Kq`YWu9kBk32f z{J^)acFI(uGr}}>$sYqOLxi#b5?mv)>S~T+AwvK@lA2oR}P2v*wHEnO* z;InHM5myGLbwYmhShUpL44g&bS8bN8RtV-H`dI=!ZkZO3+u=B pZPoOoSBzc6U_hs literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_reservation.png b/images/ic_noti_list_reservation.png new file mode 100644 index 0000000000000000000000000000000000000000..81e304b411be792cd6868c8698f84b8d1731d96f GIT binary patch literal 1992 zcmbVNc~ld39*=T{2*p$ph`KRQ7OXiY7fDK#Br}14(Fj393&M~LVU%QIGMGRWxm;N* zwbB+jbel(|Y*!HQQG{AST3eKQ;!&`&(u%kgiz0Z-+nuPm`-iW8?7W%Z`Tcyp_nW_J zR>k=G1pAOkBwtl5m_W=z*XQj?jJu!>gTxesLpnSW%f#)l6(PwCSO!8@nP4N5fWU^_ zO{b7363HzS)#`AadZk22sDWlwZdV6^&1hKo`D!qvy^e?XcvQy8l;SM z0yRf%Q6O1pY@QWK%v+_^=WW!B4U84b=}`^|L102~nC>uTn{5(@l<}NbLabfKYzFy}Pvj#rWCl#c?vE9@1PN;-tF0)J6gV5i^f@NPjH^H?gScTCP=iD+ zhvWbxSucncy{bTeX5S}_y-d3+`4YxMKQAQut=Jdv0KLIMB~E4YxDBUTD!Lh%n;s1#ln=pp$DvtjtmYE}>0$s~jrB7^LH4kDYI>t)0#=dRkhl!4RqylAH$JN`_ z$+1bYz@8>@TYG3#hoR2U7Q4D`jbQ@}YNYca<$bDds88Oe0V(j5mW_I>@t@0_(hSIh zKnkRpVr=lJdYAf}z;yBFZA07AgX7L|Kc^dqdQ#5bJM-+^7T&FzJJ*^u;qwA_BD(a_ zfV4{X=>;Q{$?c=_gtLYV_f$Xq)VtP8p$inv2|n(oq4Wv7ch(;ZJMZJyKK^-W)Iu&b z#cw*bv-l<}`^$L+tnVKr`QN-$aq%xbg~qt=(vEMr`L(0jPg_{;404xwWzF8*9ntK$ zYt8tX*=2FGrs$m!aFtVrHV3S%I8@d1=Vv@aSLuaL_e|C1lG44sIiE$hnc)wjYx>SB zM$!5rT3<)nkTBeh63rNl2o5cdYF>2BqpR*|$?=KSpi?_S7yRjMXSJiqUdMuqjx|LD@WT3+q$ z$v3;zU+&KsO<9t9W$B9OUF%>$UrP8VAMTxOx6~!jHZL!FV>%^dald&Ko*yxJ1fuS} zoz(C1b%{WyPh`G~fqxMLWsOmE`f zqSoEGFkMzr^RRNLnqNQLb36G+!-#aj$}Z=vxPxhjVYp%}=OWW6>G%m<*j9X>d>17Z zP1&70TSkR3-3`UdF6+*pbn-n~MZWQMq^l~G+kGb`w9q;JuY7VT>0xT=J;{dE(V-_J zTTG{rtw#R`Wov74!%EJiPiOd-9Me8=Ch3C5p2+;y_DC+5a5f(N=XkAN+)$J1Go~T# zDt}H=4=c{zwRh~$mR$2{{I;P!V5~WD$MJa<%062}Hh;`XhVLZ5qq=%})?4^>_2QAr z%bCSw7}FUCzR4G*au(ip|C7}F$IR&~CC$NCJcLcxy||C%O;hblS!otT_=~v0hv9F^EVTBsYgk{koG+dG-noxX#t-y9q27Q($QPHHmvnCW zE{JoQA6A|xvi|TuU-SX)yJtNmGCZz7|3uqTHO6nmli#LAnKioYpM;muyy014x(4u8 zfLm?vfjPQEG}`)LcDc3SX*WkbZr2_@dZm%sv}j;i*}m9y_3t+eQmYexO={_mzmB(` zq25jIZTw8TT-%@gcxlz3??ilj=TG_KQ@K+~)M$_J;rCYsZuR>|2he!qs2Usv=x(Po zL3n%Cu_1oHM`zyno)Hy$xnMtX0zTsYco9=!OvB46-vxg~mQ03LUE3P7DfFG7vTrTSx&$xy*lkZyvYfVY%~+aKQkST4!;_xt7h`F!7( zo$+zYrn}E_XD}Gkl`)8lmO|&loJPO*$TzgpB9M}+sYD{3GNA^H5v?WCFhHq8GcXl~ zYArd%;xV}fEHO7ONt2tUfwkb0C?L`-rU`Tyg#u<>w%#Z2rUM9T!_cv(zlQW3B+MSF)tjLxIo&P zL7OgCA&LoG^iBe1QWPoXa7-o>+r(!Rh71k_!?2Ts$79hNETctFp=Ore7(B^A{m=I(PqV$f-zsBVK91>7t<72%*`i!}OFAk%06UwieflrBb;R zk_&kvo}4EaK#&v;=fONFpDR)*AYQb5lH-F|g@_MJ1qv<#OCd-e1|veQOdyoWgaW=o zB;!tEm3kwE>NVJ;UEFDR94r4%tXO8iP>L`l5k&T62gGL*6k*IHNI;e-1VY!~dM#lx zE^wA-JX!=Z;F~b5!a(SNvHXhh57-yL2v078_#&8#$ipBAmht2;7gh+P=?>s4q~HWr z`+suAp`GD4o8w>2GI>OIpmX`Y_36#~;lcFu#2Dz&@PA-iMo-*AB@&%vZtFSpXt`g4 zUz2G~vgwp?QB{?klA+KTj$64uGUPqAIXwuu zEnBGW_tX9mSUJkAo^vGT?qI{<9c)MG(OQ1>eTm}_cEnA%JHm7n?p|^4+{x=}&#SeC zhkeqw2BHf4xKNX;pWANfIz*X_x~pD!2Rr_Zw7c*-KA!2CyzlNIBq`D7C!bQ+-j007 zx{f#CPKe7qZELLBwkki4bUQZG9`0a9PPuh;p6PMK-h)QhtSc!bbGFM1^N7bq_e)nZ zem~@fvX!>dfhNV$MKPBg#T~W5yXxUL^11H!g|ZC_jJ8ArI7=ga?IXk zgFfwac{|T&?mkwS^SmEC8fRtA-O1s}+sctsdU+a=YIv ze@|mp~X^KYb-$04VssRe%n0~xo| literal 0 HcmV?d00001 diff --git a/images/ic_noti_list_things.png b/images/ic_noti_list_things.png new file mode 100644 index 0000000000000000000000000000000000000000..0016349bdbfab1e0294c942feddd926b17ef5bfb GIT binary patch literal 1687 zcmbVNX;2eq7>-7*;w_@cp-Zq@RI*3TjYQ0`!4!fRq68T+OR|9|$%bShfsVFS@W6md zD-2dqskLe;Mp0W-JgCPwmSStIQB*7)gi#SYDlj6@4T9|t#~jYdfVT{&nM>)^<&{ zl>pU*oy@f9>3kSN2f=jg-Y?`eq`eU>wwdUp;OTNwpJ^s6lu|Bc(O=jGlR+evVp166 zBSHj2FfI&BQ2~M?QVt|kC}2c_4RX8-i}5%Rrhp`n9F@W_#*@G@flR=Y2_-xkSB5}? zSf#~I;TAnHsB5Bi2e9aSu_Bp`z$wzEA<6W?3W!T1Dbk)sS^-%+ANVN2WHFEqdzd#p zZ%!*GY^E&2pswIJs2stBFh@vxfbn1$l_3}kp$fi)t^kfg${N5L{!h$6 z+8NMW9RDen!7aK1z0q@WoFt$oE&Y!JqpV;+F?={!dYWJLH zJC!xV3yLxVZZ{HV4j;^`gG!ff`C?mH{5%y%<7oOp_Cf5~w=W0RLw$@I1!1QfR zI8*)-ej1fLTZ0R-|8@YCTJ2pb_;$HzBL>_+LNxZ>`T2_tbAsIyr+V>^Y!{NSOTlXTh^>2fFLU zugJN=F~7~4cR4Anit*(L=ajYOpYAy{`@;R_`6V$~t-~56^&zIa6uyqXxc2tzibO{&9A}&VZozc zPlOs3T-$51#h0{!B~(eo0s=9|K21&Q3${z# zYDfhUaZwQhu~ujjViH50K-1b6U_6YL?qMrJc|fBoLSo|fG8Can@W5ppH%;N8+5?vD zbMgOO&VT;nS4Q$fd%ExK#xQJ8c33W;mJOdfyU=@9dHP$_^!Q5IFWRGiO?4rb*6j+! zv!+^w1*qy%&s>3n7#0~dN@c&CJ0@thNvdHC8JG@2W7y!4z)`hv=;IYwHLN7j{PYrm z8+wvBp2*QTM}lL<@U#ny)A^D%J+AROaU_Kg1_B~5p|9eBIbnH1kR&#F1=J6xDFWXN z@yC-y%Tzfxf=jjw@dO!*YBT^i%aS0TU|DboXK27sG`iU+hzki;UdJ`3edABT@CHW z=)pD^n%5U@PiwU@bd6`Bo^fpx-^{OI?4Td# zWk%sZj6;@{1OU9mC_K$)*fgquSO$4-VfFu$GYXlZ!s7T(v9za91%}=2(no{s!vigJ zVqA1Isz0PIV^~K=R!*0KjT;+>yH}3hUB5oNda64${C(;}x%0`F>-Q}!URYeb5=8pC z4rJeYTiSiAUVIV%4ja?r7th0=5K8DmwMiPs54*h-?je4^Tjhu*j%5}|5fY|pRZ5f@$jp~ zGpXe_uUD4ek1jk|KK0nl>DBeVM{j=oxHVUYzkmMo-nnx>R`?;KbLD_{vLW{_x0Lr^ z_~}~XrCXUD(KR0x^wsHAaa$h)$ eJRf8Cc64D^8`YV4>Ak #include "define.h" -#include "main_view.h" +#include "notification_view.h" +#include "square_view.h" SET_TAG(PACKAGE) @@ -81,7 +82,8 @@ static bool _create(void *data) return false; } - viewmgr_add_view(view_main_get_vclass(), NULL); + viewmgr_add_view(notification_view_get_vclass(), NULL); + viewmgr_add_view(square_view_get_vclass(), NULL); ad->win = win; @@ -99,7 +101,8 @@ static void _terminate(void *data) ad = data; - viewmgr_remove_view(VIEW_MAIN); + viewmgr_remove_view(NOTIFICATION_VIEW); + viewmgr_remove_view(SQUARE_VIEW); viewmgr_destroy(); if (ad->win) { @@ -122,7 +125,7 @@ static void _control(app_control_h control, void *data) if (ad->win) elm_win_activate(ad->win); - viewmgr_push_view(VIEW_MAIN); + viewmgr_push_view(SQUARE_VIEW); } int main(int argc, char *argv[]) diff --git a/src/main_view.c b/src/notification_view.c similarity index 88% rename from src/main_view.c rename to src/notification_view.c index dc0fb77..6a0bea3 100644 --- a/src/main_view.c +++ b/src/notification_view.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved + * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved * * Licensed under the Apache License, Version 2.0 (the License); * you may not use this file except in compliance with the License. @@ -20,7 +20,6 @@ #include #include "define.h" -#include "main_view.h" struct _priv { Evas_Object *base; @@ -48,14 +47,14 @@ static Evas_Object *_create(Evas_Object *win, void *data) free(priv); return NULL; } - elm_layout_file_set(base, EDJEFILE, GRP_MAIN_VIEW); + elm_layout_file_set(base, EDJEFILE, GRP_NOTIFICATION_VIEW); evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, base); priv->base = base; - viewmgr_set_view_data(VIEW_MAIN, priv); + viewmgr_set_view_data(NOTIFICATION_VIEW, priv); return base; } @@ -105,14 +104,14 @@ static void _destroy(void *view_data) } static view_class vclass = { - .view_id = VIEW_MAIN, + .view_id = NOTIFICATION_VIEW, .create = _create, .show = _show, .hide = _hide, .destroy = _destroy, }; -view_class *view_main_get_vclass(void) +view_class *notification_view_get_vclass(void) { return &vclass; } diff --git a/src/square_view.c b/src/square_view.c new file mode 100644 index 0000000..3293629 --- /dev/null +++ b/src/square_view.c @@ -0,0 +1,223 @@ +/* + * Copyright (c) 2015 Samsung Electronics Co., Ltd All Rights Reserved + * + * Licensed under the Apache License, Version 2.0 (the License); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an AS IS BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include +#include +#include +#include +#include +#include + +#include "define.h" + +#define KEY_USER_MESSAGE "db/setting/user_message" +#define CLOCK_UPDATE_DUR 1 + +struct _priv { + Evas_Object *base; + Ecore_Timer *clock_timer; +}; + +static void _print_user_message(struct _priv *priv) +{ + char *message; + + message = vconf_get_str(KEY_USER_MESSAGE); + if (!message) + message = strdup(STR_DEFAULT_USER_MESSAGE); + + elm_object_part_text_set(priv->base, PART_INFO_USER_MESSAGE, message); +} + +static void _print_date_time(struct _priv *priv) +{ + time_t ctime; + struct tm tm; + char buf[128]; + + ctime = time(&ctime); + localtime_r(&ctime, &tm); + + if (strftime(buf, sizeof(buf), "%p", &tm) > 0) + elm_object_part_text_set(priv->base, PART_INFO_TIME_AM_PM, buf); + else + elm_object_part_text_set(priv->base, PART_INFO_TIME_AM_PM, STR_DEFAULT_TIME_AM_PM); + + if (strftime(buf, sizeof(buf), "%I", &tm) > 0) + elm_object_part_text_set(priv->base, PART_INFO_TIME_HOUR, buf); + else + elm_object_part_text_set(priv->base, PART_INFO_TIME_HOUR, STR_DEFAULT_TIME_HOUR); + + if (strftime(buf, sizeof(buf), "%M", &tm) > 0) + elm_object_part_text_set(priv->base, PART_INFO_TIME_MINUTE, buf); + else + elm_object_part_text_set(priv->base, PART_INFO_TIME_MINUTE, STR_DEFAULT_TIME_MINUTE); + + if (strftime(buf, sizeof(buf), "%A, %B %d", &tm) > 0) + elm_object_part_text_set(priv->base, PART_INFO_DATE, buf); + else + elm_object_part_text_set(priv->base, PART_INFO_DATE, STR_DEFAULT_DATE); +} + +static void _print_info(struct _priv *priv) +{ + if (!priv) { + _ERR("failed to get priv"); + return; + } + + _print_user_message(priv); + _print_date_time(priv); +} + +static Eina_Bool _update_clock(void *data) +{ + struct _priv *priv; + + if (!data) + return ECORE_CALLBACK_CANCEL; + + priv = data; + + _print_date_time(priv); + + return ECORE_CALLBACK_RENEW; +} + +void start_clock_timer(struct _priv *priv) +{ + if (!priv) { + _ERR("failed to get priv"); + return; + } + + if (priv->clock_timer) + ecore_timer_reset(priv->clock_timer); + else + priv->clock_timer = ecore_timer_add(CLOCK_UPDATE_DUR, _update_clock, priv); +} + +void stop_clock_timer(struct _priv *priv) +{ + if (!priv) { + _ERR("failed to get priv"); + return; + } + + if (priv->clock_timer) { + ecore_timer_del(priv->clock_timer); + priv->clock_timer = NULL; + } +} + +static Evas_Object *_create(Evas_Object *win, void *data) +{ + struct _priv *priv; + Evas_Object *base; + + if (!win) { + _ERR("failed to get win object"); + return NULL; + } + + priv = calloc(1, sizeof(*priv)); + if (!priv) { + _ERR("failed to allocate priv"); + return NULL; + } + + base = elm_layout_add(win); + if (!base) { + _ERR("failed to create base object"); + free(priv); + return NULL; + } + elm_layout_file_set(base, EDJEFILE, GRP_SQUARE_VIEW); + + evas_object_size_hint_weight_set(base, + EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); + elm_win_resize_object_add(win, base); + + priv->base = base; + viewmgr_set_view_data(SQUARE_VIEW, priv); + + return base; +} + +static void _show(void *view_data) +{ + struct _priv *priv; + + if (!view_data) { + _ERR("failed to get view data"); + return; + } + + priv = (struct _priv *) view_data; + + _print_info(priv); + + evas_object_show(priv->base); + + start_clock_timer(priv); +} + +static void _hide(void *view_data) +{ + struct _priv *priv; + + if (!view_data) { + _ERR("failed to get view data"); + return; + } + + priv = (struct _priv *) view_data; + + stop_clock_timer(priv); + + evas_object_hide(priv->base); +} + +static void _destroy(void *view_data) +{ + struct _priv *priv; + + if (!view_data) { + _ERR("failed to get view data"); + return; + } + + priv = (struct _priv *) view_data; + + start_clock_timer(priv); + + evas_object_del(priv->base); + + free(priv); +} + +static view_class vclass = { + .view_id = SQUARE_VIEW, + .create = _create, + .show = _show, + .hide = _hide, + .destroy = _destroy, +}; + +view_class *square_view_get_vclass(void) +{ + return &vclass; +} -- 2.7.4 From 9712e45e3212abfde046fe6fa7c421458a442044 Mon Sep 17 00:00:00 2001 From: "jinwoo.shin" Date: Thu, 18 Jun 2015 14:35:23 +0900 Subject: [PATCH 5/7] Add square view implementation Change-Id: I65d871bae709582870c94cd8c93d9b28f079c172 Signed-off-by: jinwoo.shin --- data/view/square_view.edc | 205 +++++++++++++++++++++++++++++++++++++++------- include/define.h | 14 +++- src/square_view.c | 164 +++++++++++++++++++++++++++++++++---- 3 files changed, 336 insertions(+), 47 deletions(-) diff --git a/data/view/square_view.edc b/data/view/square_view.edc index 2a63fa7..84d571d 100644 --- a/data/view/square_view.edc +++ b/data/view/square_view.edc @@ -19,9 +19,6 @@ group { name: GRP_SQUARE_VIEW; images { - image, "btn_noti_list_clearall_dis.png" COMP; - image, "btn_noti_list_clearall_foc.png" COMP; - image, "btn_noti_list_clearall_nor.png" COMP; image, "ic_info_time.png" COMP; } parts { @@ -102,40 +99,17 @@ group { } } part { - name, PART_NOTIFICATION_CLEAR_BG; - type, RECT; + name, PART_NOTIFICATION_CLEAR; + type, SWALLOW; scale, 1; description { state, "default" 0.0; rel1.relative, 1.0 0.0; rel2.relative, 1.0 0.0; - color, 48 48 48 255; align, 1.0 0.0; min, 99 65; fixed, 1 1; } - part { - name, PART_NOTIFICATION_CLEAR_ICON; - type, IMAGE; - scale, 1; - description { - state, "default" 0.0; - image.normal, "btn_noti_list_clearall_nor.png"; - align, 0.0 0.0; - fixed, 1 1; - visible, 1; - } - description { - state, "disabled" 0.0; - inherit, "default" 0.0; - image.normal, "btn_noti_list_clearall_dis.png"; - } - description { - state, "focused" 0.0; - inherit, "default" 0.0; - image.normal, "btn_noti_list_clearall_foc.png"; - } - } } part { name, "padding.notification.list_title"; @@ -213,7 +187,6 @@ group { min, 0 0; align, 0.0 0.0; fixed, 1 1; - visible, 1; } } } @@ -472,3 +445,177 @@ group { } } } + +group { + name: GRP_NOTIFICATION_ITEM; + parts { + part { + name, "border_bg"; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + min, 489 112; + color, 51 51 51 255; + visible, 1; + } + description { + state, "focused" 0.0; + inherit, "default" 0.0; + color, 64 171 233 255; + } + } + part { + name, "bg"; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, "border_bg"; + relative, 0.5 0.5; + } + rel2 { + to, "border_bg"; + relative, 0.5 0.5; + } + min, 485 108; + color, 0 0 0 255; + align, 0.5 0.5; + fixed, 1 1; + visible, 1; + } + description { + state, "focused" 0.0; + inherit, "default" 0.0; + min, 481 104; + color, 46 46 46 51; + } + } + part { + name, "padding.icon"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 0.0 0.0; + rel2.relative, 0.0 0.0; + min, 28 0; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_ICON; + type, SWALLOW; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_x, "padding.icon"; + relative, 1.0 0.5; + } + rel2 { + to_x, "padding.icon"; + relative, 1.0 0.5; + } + align, 0.0 0.5; + min, 54 54; + fixed, 1 1; + visible, 1; + } + } + part { + name, "padding.text"; + type, SPACER; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_x, PART_ICON; + relative, 1.0 0.5; + } + rel2 { + to_x, PART_ICON; + relative, 1.0 0.5; + } + min, 26 0; + align, 0.0 0.0; + fixed, 1 1; + } + } + part { + name, PART_TEXT; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to, "padding.text"; + relative, 1.0 0.5; + } + rel2 { + to, "padding.text"; + relative, 1.0 0.5; + } + text { + font, "TizenSans"; + size, 27; + align, 0.0 0.5; + } + min, 354 27; + align, 0.0 0.5; + fixed, 1 1; + visible, 1; + } + } + } +} + +group { + name: GRP_NOTIFICATION_CLEAR; + images { + image, "btn_noti_list_clearall_dis.png" COMP; + image, "btn_noti_list_clearall_foc.png" COMP; + image, "btn_noti_list_clearall_nor.png" COMP; + } + parts { + part { + name, PART_NOTIFICATION_CLEAR_BG; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1.relative, 1.0 0.0; + rel2.relative, 1.0 0.0; + color, 48 48 48 255; + align, 1.0 0.0; + min, 99 65; + fixed, 1 1; + } + part { + name, PART_NOTIFICATION_CLEAR_ICON; + type, IMAGE; + scale, 1; + description { + state, "default" 0.0; + image.normal, "btn_noti_list_clearall_nor.png"; + align, 0.0 0.0; + fixed, 1 1; + visible, 1; + } + description { + state, "disabled" 0.0; + inherit, "default" 0.0; + image.normal, "btn_noti_list_clearall_dis.png"; + } + description { + state, "focused" 0.0; + inherit, "default" 0.0; + image.normal, "btn_noti_list_clearall_foc.png"; + } + } + } + } +} + diff --git a/include/define.h b/include/define.h index 9473319..084cb10 100644 --- a/include/define.h +++ b/include/define.h @@ -21,6 +21,10 @@ #define SOURCE_PROGRAM "program" #define PART_CONTENT "elm.swallow.content" +#define PART_ICON "elm.swallow.icon" +#define PART_TEXT "elm.text" +#define SIGNAL_NO_NOTIFICATION "signal.no_notification" +#define SIGNAL_NOTIFICATION "signal.notification" #define NOTIFICATION_VIEW "NOTIFICATION_VIEW" #define GRP_NOTIFICATION_VIEW "grp.notification.view" @@ -30,8 +34,7 @@ #define PART_NOTIFICATION "part.notification" #define PART_NOTIFICATION_TITLE "part.notification.title" #define PART_NOTIFICATION_TITLE_BG "part.notification.title.bg" -#define PART_NOTIFICATION_CLEAR_BG "part.notification.clear.bg" -#define PART_NOTIFICATION_CLEAR_ICON "part.notification.clear.icon" +#define PART_NOTIFICATION_CLEAR "part.notification.clear" #define PART_NOTIFICATION_LIST_TITLE "part.notification.list_title" #define PART_NOTIFICATION_LIST "part.notification.list" #define PART_INFO "part.info" @@ -43,4 +46,11 @@ #define PART_INFO_TIME_AM_PM "part.info.time_am_pm" #define PART_INFO_DATE "part.info.date" +#define GRP_NOTIFICATION_ITEM "grp.notification.item" +#define PART_NOTIFICATION_ITEM_TITLE "part.notification.item.title" + +#define GRP_NOTIFICATION_CLEAR "grp.notification.clear" +#define PART_NOTIFICATION_CLEAR_BG "part.notification.clear.bg" +#define PART_NOTIFICATION_CLEAR_ICON "part.notification.clear.icon" + #endif /* __AIR_INFOSQUARE_DEFINE_H__*/ diff --git a/src/square_view.c b/src/square_view.c index 3293629..582432a 100644 --- a/src/square_view.c +++ b/src/square_view.c @@ -25,10 +25,24 @@ #define KEY_USER_MESSAGE "db/setting/user_message" #define CLOCK_UPDATE_DUR 1 +#define NOTIFICATION_ITEM_PADDING_X 0 +#define NOTIFICATION_ITEM_PADDING_Y 20 + +static void _clear_key_up_cb(int id, void *data, + Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev); +static void _clear_clicked_cb(int id, void *data, Evas_Object *obj); struct _priv { Evas_Object *base; + Evas_Object *list; + Evas_Object *clear_btn; Ecore_Timer *clock_timer; + notification_list_h noti_list; +}; + +static input_handler clear_handler = { + .key_up = _clear_key_up_cb, + .clicked = _clear_clicked_cb }; static void _print_user_message(struct _priv *priv) @@ -54,22 +68,27 @@ static void _print_date_time(struct _priv *priv) if (strftime(buf, sizeof(buf), "%p", &tm) > 0) elm_object_part_text_set(priv->base, PART_INFO_TIME_AM_PM, buf); else - elm_object_part_text_set(priv->base, PART_INFO_TIME_AM_PM, STR_DEFAULT_TIME_AM_PM); + elm_object_part_text_set(priv->base, + PART_INFO_TIME_AM_PM, STR_DEFAULT_TIME_AM_PM); if (strftime(buf, sizeof(buf), "%I", &tm) > 0) elm_object_part_text_set(priv->base, PART_INFO_TIME_HOUR, buf); else - elm_object_part_text_set(priv->base, PART_INFO_TIME_HOUR, STR_DEFAULT_TIME_HOUR); + elm_object_part_text_set(priv->base, + PART_INFO_TIME_HOUR, STR_DEFAULT_TIME_HOUR); if (strftime(buf, sizeof(buf), "%M", &tm) > 0) - elm_object_part_text_set(priv->base, PART_INFO_TIME_MINUTE, buf); + elm_object_part_text_set(priv->base, + PART_INFO_TIME_MINUTE, buf); else - elm_object_part_text_set(priv->base, PART_INFO_TIME_MINUTE, STR_DEFAULT_TIME_MINUTE); + elm_object_part_text_set(priv->base, + PART_INFO_TIME_MINUTE, STR_DEFAULT_TIME_MINUTE); if (strftime(buf, sizeof(buf), "%A, %B %d", &tm) > 0) elm_object_part_text_set(priv->base, PART_INFO_DATE, buf); else - elm_object_part_text_set(priv->base, PART_INFO_DATE, STR_DEFAULT_DATE); + elm_object_part_text_set(priv->base, + PART_INFO_DATE, STR_DEFAULT_DATE); } static void _print_info(struct _priv *priv) @@ -83,6 +102,65 @@ static void _print_info(struct _priv *priv) _print_date_time(priv); } +static void _update_list(struct _priv *priv) +{ + Evas_Object *icon, *item; + notification_h noti = NULL; + notification_list_h get_list = NULL; + char *title = NULL, *icon_path = NULL; + + elm_box_clear(priv->list); + + if (priv->noti_list) { + notification_free_list(priv->noti_list); + priv->noti_list = NULL; + } + + notification_get_list(NOTIFICATION_TYPE_NOTI, -1, &priv->noti_list); + if (priv->noti_list) { + elm_object_signal_emit(priv->base, + SIGNAL_NOTIFICATION, SOURCE_PROGRAM); + elm_object_disabled_set(priv->clear_btn, EINA_FALSE); + + get_list = notification_list_get_head(priv->noti_list); + noti = notification_list_get_data(get_list); + while (get_list != NULL) { + item = elm_layout_add(priv->list); + elm_layout_file_set(item, EDJEFILE, + GRP_NOTIFICATION_ITEM); + elm_object_focus_allow_set(item, EINA_TRUE); + + notification_get_image(noti, + NOTIFICATION_IMAGE_TYPE_ICON, + &icon_path); + if (icon_path) { + icon = elm_image_add(item); + elm_image_file_set(icon, icon_path, NULL); + elm_object_part_content_set(item, + PART_ICON, icon); + evas_object_show(icon); + } + + notification_get_text(noti, + NOTIFICATION_TEXT_TYPE_TITLE, &title); + if (!title) + notification_get_pkgname(noti, &title); + elm_object_text_set(item, title); + + elm_box_pack_end(priv->list, item); + + evas_object_show(item); + + get_list = notification_list_get_next(get_list); + noti = notification_list_get_data(get_list); + } + } else { + elm_object_signal_emit(priv->base, + SIGNAL_NO_NOTIFICATION, SOURCE_PROGRAM); + elm_object_disabled_set(priv->clear_btn, EINA_TRUE); + } +} + static Eina_Bool _update_clock(void *data) { struct _priv *priv; @@ -107,7 +185,9 @@ void start_clock_timer(struct _priv *priv) if (priv->clock_timer) ecore_timer_reset(priv->clock_timer); else - priv->clock_timer = ecore_timer_add(CLOCK_UPDATE_DUR, _update_clock, priv); + priv->clock_timer = + ecore_timer_add(CLOCK_UPDATE_DUR, + _update_clock, priv); } void stop_clock_timer(struct _priv *priv) @@ -126,7 +206,7 @@ void stop_clock_timer(struct _priv *priv) static Evas_Object *_create(Evas_Object *win, void *data) { struct _priv *priv; - Evas_Object *base; + Evas_Object *scroller; if (!win) { _ERR("failed to get win object"); @@ -139,22 +219,56 @@ static Evas_Object *_create(Evas_Object *win, void *data) return NULL; } - base = elm_layout_add(win); - if (!base) { + priv->base = elm_layout_add(win); + if (!priv->base) { _ERR("failed to create base object"); free(priv); return NULL; } - elm_layout_file_set(base, EDJEFILE, GRP_SQUARE_VIEW); - - evas_object_size_hint_weight_set(base, + elm_layout_file_set(priv->base, EDJEFILE, GRP_SQUARE_VIEW); + evas_object_size_hint_weight_set(priv->base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); - elm_win_resize_object_add(win, base); + elm_win_resize_object_add(win, priv->base); + + scroller = elm_scroller_add(priv->base); + if (!scroller) + goto error; + elm_object_part_content_set(priv->base, + PART_NOTIFICATION_LIST, scroller); + evas_object_show(scroller); + + priv->list = elm_box_add(priv->base); + if (!priv->list) { + evas_object_del(scroller); + goto error; + } + elm_box_align_set(priv->list, 0.0, 0.0); + elm_box_padding_set(priv->list, + NOTIFICATION_ITEM_PADDING_X, + NOTIFICATION_ITEM_PADDING_Y); + evas_object_show(priv->list); + elm_object_content_set(scroller, priv->list); + + priv->clear_btn = elm_layout_add(priv->base); + elm_layout_file_set(priv->clear_btn, EDJEFILE, GRP_NOTIFICATION_CLEAR); + elm_object_focus_allow_set(priv->clear_btn, EINA_TRUE); + elm_object_part_content_set(priv->base, + PART_NOTIFICATION_CLEAR, priv->clear_btn); + evas_object_show(priv->clear_btn); + + inputmgr_add_callback(priv->clear_btn, 0, &clear_handler, NULL); - priv->base = base; viewmgr_set_view_data(SQUARE_VIEW, priv); - return base; + return priv->base; + +error: + _ERR("failed to create view"); + + evas_object_del(priv->base); + free(priv); + + return NULL; } static void _show(void *view_data) @@ -169,6 +283,7 @@ static void _show(void *view_data) priv = (struct _priv *) view_data; _print_info(priv); + _update_list(priv); evas_object_show(priv->base); @@ -202,13 +317,30 @@ static void _destroy(void *view_data) priv = (struct _priv *) view_data; - start_clock_timer(priv); + if (priv->noti_list) { + notification_free_list(priv->noti_list); + priv->noti_list = NULL; + } + + stop_clock_timer(priv); evas_object_del(priv->base); free(priv); } +static void _clear_key_up_cb(int id, void *data, Evas *e, + Evas_Object *obj, Evas_Event_Key_Up *ev) +{ + if (!strcmp(ev->keyname, KEY_ENTER)) + notification_delete_all(NOTIFICATION_TYPE_NOTI); +} + +static void _clear_clicked_cb(int id, void *data, Evas_Object *obj) +{ + notification_delete_all(NOTIFICATION_TYPE_NOTI); +} + static view_class vclass = { .view_id = SQUARE_VIEW, .create = _create, -- 2.7.4 From ed72f3c7f3c45438b11126ea803d3b78d68c9e4b Mon Sep 17 00:00:00 2001 From: "jinwoo.shin" Date: Mon, 22 Jun 2015 13:52:44 +0900 Subject: [PATCH 6/7] Update infosquare view - Adjust layout for infosquare UX v0.2 - Add callback for notification update - Add focus event handler - Add release handler for notification list item release Change-Id: I95ac13456fe3830ff7b0e066364f1ee39a0e38e0 Signed-off-by: jinwoo.shin --- data/view/square_view.edc | 194 +++++++++++++++++++++++++++------- images/btn_noti_list_clearall_dis.png | Bin 1476 -> 1532 bytes images/btn_noti_list_clearall_foc.png | Bin 1547 -> 1549 bytes images/btn_noti_list_clearall_nor.png | Bin 1572 -> 1574 bytes images/ic_info_time.png | Bin 1215 -> 3013 bytes images/ic_info_weather_slash.png | Bin 1166 -> 2972 bytes images/ic_info_weather_temp.png | Bin 1055 -> 2853 bytes images/ic_thumbnail_favorite.png | Bin 3198 -> 3195 bytes include/define.h | 13 ++- src/main.c | 2 +- src/square_view.c | 96 +++++++++++++---- 11 files changed, 244 insertions(+), 61 deletions(-) diff --git a/data/view/square_view.edc b/data/view/square_view.edc index 84d571d..66fc561 100644 --- a/data/view/square_view.edc +++ b/data/view/square_view.edc @@ -43,7 +43,7 @@ group { rel1.relative, 1.0 0.0; rel2.relative, 1.0 0.0; state, "default" 0.0; - min, 37 50; + min, 38 50; align, 1.0 0.0; fixed, 1 1; } @@ -62,7 +62,7 @@ group { to_x, "margin.notification"; relative, 1.0 1.0; } - min, 489 0; + min, 490 0; align, 0.0 0.0; fixed, 1 0; visible, 0; @@ -77,8 +77,9 @@ group { rel2.relative, 0.0 0.0; color, 48 48 48 255; align, 0.0 0.0; - min, 375 65; + min, 376 66; fixed, 1 1; + visible, 1; } part { name, PART_NOTIFICATION_TITLE; @@ -87,14 +88,17 @@ group { description { state, "default" 0.0; text { - font, "TizenSans"; + font, FONT_LIGHT; text, STR_SQUARE_TITLE; size, 36; align, 0.5 0.5; + min, 1 1; + ellipsis, -1; } color, 255 255 255 179; align, 0.0 0.0; fixed, 1 1; + visible, 1; } } } @@ -107,7 +111,7 @@ group { rel1.relative, 1.0 0.0; rel2.relative, 1.0 0.0; align, 1.0 0.0; - min, 99 65; + min, 98 66; fixed, 1 1; } } @@ -125,7 +129,7 @@ group { to_y, PART_NOTIFICATION_TITLE; relative, 1.0 1.0; } - min, 0 63; + min, 0 62; align, 0.0 0.0; fixed, 1 1; } @@ -186,7 +190,62 @@ group { } min, 0 0; align, 0.0 0.0; - fixed, 1 1; + fixed, 0 0; + visible, 1; + } + description { + state, "no_notification" 0.0; + inherit, "default" 0.0; + visible, 0; + } + } + part { + name, PART_NOTIFICATION_NO_NOTIFICATION_BG; + type, RECT; + scale, 1; + description { + state, "default" 0.0; + rel1 { + to_y, "padding.notification.list"; + relative, 0.0 1.0; + } + rel2 { + to_y, "padding.notification.list"; + } + color, 48 48 48 255; + min, 0 788; + align, 0.0 0.0; + fixed, 0 1; + visible, 0; + } + description { + state, "no_notification" 0.0; + inherit, "default" 0.0; + visible, 1; + } + + part { + name, PART_NOTIFICATION_NO_NOTIFICATION; + type, TEXT; + scale, 1; + description { + state, "default" 0.0; + text { + text, STR_NONOTIFICATION; + font, FONT_LIGHT; + size, 28; + align, 0.5 0.5; + } + color, 255 255 255 128; + align, 0.5 0.5; + fixed, 0 1; + visible, 0; + } + description { + state, "no_notification" 0.0; + inherit, "default" 0.0; + visible, 1; + } } } } @@ -204,9 +263,9 @@ group { to_x, "margin.info"; relative, 0.0 1.0; } - min, 500 246; + min, 0 246; align, 1.0 0.0; - fixed, 1 1; + fixed, 0 1; visible, 0; } part { @@ -215,16 +274,18 @@ group { scale, 1; description { state, "default" 0.0; - rel1.relative, 0.0 0.0; + rel1.relative, 1.0 0.0; rel2.relative, 1.0 0.0; text { - font, "TizenSans"; + font, FONT_LIGHT; text, STR_DEFAULT_USER_MESSAGE; size, 56; align, 1.0 0.0; + min, 1 1; + ellipsis, -1; } min, 0 56; - align, 0.0 0.0; + align, 1.0 0.0; fixed, 1 1; visible, 1; } @@ -243,8 +304,8 @@ group { to_y, PART_INFO_USER_MESSAGE; relative, 1.0 1.0; } - min, 0 27; - align, 0.0 0.0; + min, 0 24; + align, 1.0 0.0; fixed, 1 1; } } @@ -273,14 +334,15 @@ group { description { state, "default" 0.0; rel1.relative, 1.0 0.0; - rel2.relative, 1.0 1.0; + rel2.relative, 1.0 0.0; text { - font, "TizenSans"; - text, STR_DEFAULT_TIME_MINUTE; + font, FONT_LIGHT; size, 120; align, 0.0 1.0; + min, 1 0; + ellipsis, -1; } - min, 132 120; + min, 0 120; align, 1.0 0.0; fixed, 1 1; visible, 1; @@ -300,7 +362,7 @@ group { to_x, PART_INFO_TIME_MINUTE; relative, 0.0 1.0; } - min, 22 120; + min, 28 120; align, 1.0 0.0; fixed, 1 1; } @@ -319,7 +381,7 @@ group { to_x, "padding_right.info.time_separator"; relative, 0.0 1.0; } - min, 15 120; + min, 14 120; align, 1.0 0.0; fixed, 1 1; visible, 1; @@ -339,7 +401,7 @@ group { to_x, PART_INFO_TIME_SEPARATOR; relative, 0.0 1.0; } - min, 22 0; + min, 20 0; align, 1.0 0.0; fixed, 1 1; } @@ -359,12 +421,13 @@ group { relative, 0.0 0.0; } text { - font, "TizenSans"; - text, STR_DEFAULT_TIME_HOUR; + font, FONT_LIGHT; size, 120; align, 0.0 1.0; + min, 1 0; + ellipsis, -1; } - min, 132 120; + min, 0 120; align, 1.0 0.0; fixed, 1 1; visible, 1; @@ -384,7 +447,7 @@ group { to_x, PART_INFO_TIME_HOUR; relative, 0.0 0.0; } - min, 7 8; + min, 10 8; align, 1.0 0.0; fixed, 1 1; } @@ -404,12 +467,13 @@ group { relative, 0.0 1.0; } text { - font, "TizenSans"; - text, STR_DEFAULT_TIME_AM_PM; + font, FONT_LIGHT; size, 30; - align, 1.0 0.0; + align, 1.0 1.0; + min, 1 0; + ellipsis, -1; } - min, 80 30; + min, 0 30; align, 1.0 0.0; fixed, 1 1; visible, 1; @@ -431,19 +495,41 @@ group { relative, 1.0 1.0; } text { - font, "TizenSans"; - text, STR_DEFAULT_DATE; + font, FONT_LIGHT; size, 30; align, 1.0 1.0; + min, 1 1; + ellipsis, -1; } - min, 0 30; - align, 0.0 0.0; + min, 0 46; + align, 1.0 0.0; fixed, 1 1; visible, 1; } } } } + + programs { + program { + name, "no_notification"; + signal, SIGNAL_NO_NOTIFICATION; + source, SOURCE_PROGRAM; + action, STATE_SET "no_notification" 0.0; + target, PART_NOTIFICATION_LIST; + target, PART_NOTIFICATION_NO_NOTIFICATION_BG; + target, PART_NOTIFICATION_NO_NOTIFICATION; + } + program { + name, "notification"; + signal, SIGNAL_NOTIFICATION; + action, STATE_SET "default" 0.0; + source, SOURCE_PROGRAM; + target, PART_NOTIFICATION_LIST; + target, PART_NOTIFICATION_NO_NOTIFICATION_BG; + target, PART_NOTIFICATION_NO_NOTIFICATION; + } + } } group { @@ -455,7 +541,7 @@ group { scale, 1; description { state, "default" 0.0; - min, 489 112; + min, 490 112; color, 51 51 51 255; visible, 1; } @@ -479,7 +565,7 @@ group { to, "border_bg"; relative, 0.5 0.5; } - min, 485 108; + min, 486 108; color, 0 0 0 255; align, 0.5 0.5; fixed, 1 1; @@ -488,8 +574,8 @@ group { description { state, "focused" 0.0; inherit, "default" 0.0; - min, 481 104; - color, 46 46 46 51; + min, 482 104; + color, 46 46 46 255; } } part { @@ -519,6 +605,7 @@ group { to_x, "padding.icon"; relative, 1.0 0.5; } + color, 255 255 255 153; align, 0.0 0.5; min, 54 54; fixed, 1 1; @@ -545,7 +632,7 @@ group { } } part { - name, PART_TEXT; + name, PART_TITLE; type, TEXT; scale, 1; description { @@ -559,15 +646,42 @@ group { relative, 1.0 0.5; } text { - font, "TizenSans"; + font, FONT_LIGHT; size, 27; align, 0.0 0.5; } + color, 255 255 255 128; min, 354 27; align, 0.0 0.5; fixed, 1 1; visible, 1; } + description { + state, "focused" 0.0; + inherit, "default" 0.0; + color, 255 255 255 255; + text.font, FONT_REGULAR; + } + } + } + programs { + program { + name, "focused"; + signal, SIGNAL_FOCUSED; + source, SOURCE_PROGRAM; + action, STATE_SET "focused" 0.0; + target, "border_bg"; + target, "bg"; + target, PART_TITLE; + } + program { + name, "unfocused"; + signal, SIGNAL_UNFOCUSED; + source, SOURCE_PROGRAM; + action, STATE_SET "default" 0.0; + target, "border_bg"; + target, "bg"; + target, PART_TITLE; } } } @@ -590,7 +704,7 @@ group { rel2.relative, 1.0 0.0; color, 48 48 48 255; align, 1.0 0.0; - min, 99 65; + min, 98 66; fixed, 1 1; } part { diff --git a/images/btn_noti_list_clearall_dis.png b/images/btn_noti_list_clearall_dis.png index a1125c9a892845fad8e5e1c2a3eca1664c283e86..bc1739fa22c0992cacc82dab7ce23a8bf9b4b751 100644 GIT binary patch delta 742 zcmX@Y{fAqzGr-TCmrII^fq{Y7)59eQNGAcY69*fRT*Jw1u~E^INx{|J(AdPx(ZJBy z*vQb()zs0&+1SFw+1$y^#mUjd)opSWlMGamr5jE~+n5p*%#2Kp934$fj9d(yTuluP z9Zd|)EzQl%oK0L^Ow26JCz~HNypR0F{I+wn^_zE4mn61=U4P{dgSqd zvm{lau%P6zY{BHCGehGJ9TXJ0f9T@Dvq#!5JZR(Wlvq&L>z=f3%N@t)b-#YA|DW(> zhxIM_`2FvzbXgr2T=-XdK$U@oiA6y`fuWIsk%NW9LBWB6iIGV_gE^Gz*KYkI&kgHy z`ya6@Dap@O*)mt`V~dwu4iB%*PBCUBrbkHq%*tQfX7vBkjVo3;lh+XEGl0mHqm8 z&+=Ru{qFNect0*x?V0s2&-uHq^xIt9aCU)j^(U(op33PfYI{1CoXXsIwBoc< zh>u z?-LIh-v1&aJl}7QjH3%Qx;O+H92(#;x#_}o24;qw>C0L2P0niplP-g&tDnm{r-UW| D$^9U# delta 686 zcmeyveS}-FGr-TCmrII^fq{Y7)59eQNGAiaBL^FhJQ^>xVxyuZlY+6aqmhxBvx$L| ziJPIJtEr`%k&~sfv!kVvsfDYtoB8A_CK;F_W1Nb%F(oLtxVRcS8CtrTSQHfYNX4x;vmLz;8;Bgg9o6zyrDvhS z8x0YD>mPsZo7@GrZGOO4RiZH0u(e~UN_O1aUE)9gKAgKtM|J<6J@uE&%#Wpbv~#sF zNN`9Ta5%ug#>8eIV9?Omz{pdgHnsEK_qDyV4{QyW)=xQBvP-JMcWV)=`wM=rWA%?F zo^e=Z#5_^*fJ5hjh}}u^{5RU{-goVQ#k%hLOYWBp_|h8+8Q2UO7RtJL{q9-zVixDE z36i!^H&z(kJec^;0*`E=@0szdhsTj&7EqUH8w$++G(Ow`*V6feBZ8(q`Vg zal@S{v-!sEZEZ|;ag6Jg8-F-l*|GBD-4OW+5%mHGIxd8_Y~^K~*l^%h-&%0r=|;>;A1u?$y;H4r@_f6_KK|^snCw?aC-?drDX&Q@*k)$uR}zwV zr#^pcI*K;E%)E4DfU3<&xrJU|`_&^l%9R(n&z<#K8t6*KjghY*e&lQgAhPGBj~CF)}nZ zHZnAHHFb0|G_f>uwsbSKG&eRjFqmA$Bm+}qh*QxvrUV5uBU2+sM^h6c7Xv3(Q$s^X z6GL-Lb8|Ci6IT}#GfVTyX3TZ*hy!KQ8=nPQdMl`F5*i3yXVJuiIL`jv?`$a@8Z@kKH>`7?hhftWWMM?Tb9S zi@D>+m5>>QZ(?Ii8w@!YD&?t~WILP@jIVDFymGy+*`X%(fSnSb8_U8JhJ&60b#C(| zX2n#TXKI@K$@tHUYZg5Erv+kmn@lwgG7DaD^-5H#!(*DE}_6nI*QO+o0(O6vz7-rbzW+TyXy;L|I8)0HQktal}wb*|V}&E+7W_2mBa zPj=-JE74iAk-ej0Z>Rs!{zngmp2@%Zr?}>$SHHs-q!?^)Xn;oUzuo&-B^b8;IDGEJ T*4^iTX_>*()z4*}Q$iB}TbV5I delta 757 zcmeC>>E==F4DfU3<&xrJU|`_&^l%9R(#b&V$iW6AkH$-_*r;g9q~K;|WNhYYWNhGM z1bhUYH4O>;ACK8U@^IhNd~6K2&bZLObH4GE@qZM|6NH zm5;Ay1_>W8Z25D6$C-hLg(pEFfq|KkS%O32fWrX>Hm0`8eMbxX`Wr8<`Nmz}C)>hx zxT1jb?)2;*Z8ID9nVvSEWXjCSaQM%2$(O=C=^rERWGx8u&bDP`-kj-sd z+<%5++6D~|ZF{D(C2py0No3m9se4nnS1RN18I6kze|X&~%(#5fto=YixW8~{`Kzy% zA17AC)+BPORG#0t&GM3++SRL3wh24d)=M&fT=yexPZFaF>&8{NWn22!u>N6{IGVX? zZs8lxJ-Li2Qb(rkh~Ln_yf|r#F7u^}*H1YJu-IBYc8VbKN0A7!&{UD#21*%g+Q}1XtU$Zsm zldwIKfA`qAZdof}IoZ+XqT}6df2J*8zQ#J&`p069w@V_=+xg#9s?)L)=9m5T>h*zs zr;e?5=Xw^on69~SUt@~OQ{$d*`qvoRmd@Itc`#a{tv>o{V%h?R1f9ga_mX4G*=$K?flui#EKH3VE;U=35*5shOpP2JO-+nk44hm|4GkSl z49zXg&CQ%mTwP4eEX^mIG1t|{typfvz`zvd>EaktaqG?O-F{4t60PF;DsECbH4Hs% z>>IADFPPLcL&Caa){RdJVz(rDH*VUv;W6iy>n_RtttJA(EFbS%%og}|h-cI3H9!4| zX2qtnJ^Os$(t3AF+u?=H&(^apV-VmFXmDs?U}0iW5Kv%fWMJfA;c!?Wv1Q7o`t!9) zc088lns$qoCSCM9vh%J<-NGJL{x&(?nccZsOp$?t9bF7A8Lj^=Zwz8xq**7BE-azF z`dAjzA^rS~QN9T}`91j#Kd#PY?$A?UNYw4{Yf>oM*64A$_Q;}&2@cYavRk|!Wf$IC z;2XD9lkt#G>GSgYD{abZB4Y&eJM~Qx>vz-_ue%izBEMK`^~P5X7vh!o9XbBUywH)k zjXlwMt7T9vi|#d9hnD5bVh-%&FZ5+TX3?^0hwR1(=A^D4R-A5eva?wle^@pDkYYRB z9B`o_LA7H`UUR?yo@9oDUQ2&g9?{@YKP!;4+e9>UNsfv^m~(F^OUutB+0x8Qz1xml zm#lB%h?=pw&A`LA-p4ob<%(PmW&y!hE3F@_5&knJFUaL;>%*`2gVjtWGkotFzIF+@ zT+QW>aq8}d-9q_NK5sO7#6LDZzMrqOPwJRgIaB_XmTM;eckexYWp&nX)8#YP=-!TV z;`8<^e^gy~e}TUEv3-y04N_uDwr*5fG%2{g>mOTYnTL;AQ^zf?`BRHRTIyVna2`6< z^*}X6i|OW^S=Wwke>8RD<9q!cO?6j{&hGU8IB$omE6eNH8m+pbN0s_l-+qqly}0RR l_hz>ML98)s@kRLn!yxVxyuZlf1LJqmhfDiG_ia zk*T4ftEr`PbR*$XR3=B*mo-U3d6}R5Z-tEQgDA8&j$CNZH;s=AEDu2Ry z{|To=90hi>h~|7&5WCeWv?fRA%_o*y+8W8Z#r**=c+-WJs%J&;Dze!6w zRP(d^+_^lX#TQRFre$<$GO#hR83-6OG&V5uu<#@(Brq`RdT39pdvE-)zVN`#?2oKd zC(irkbnfl#C`n1?Z5QVA&g_oWVwMb*>^Q~Xma_EU<&A5aFN)ZAZr1FX8k%g{_)tIp zW0ZfQPJWMk!jILv86;v87!FrR%oRy|;?t6Nx%SwmiWyGQTFOqUAJvw(L?jJhOVxQK!j`AbnhK)Ps?+mHW)mqhGIQ42oX~K)OlC>XK{&0@zU_8RSap|o& zEA0M=ec&@VbUEbQ^E=abh%ui~=~%Txc2fhha^jX=rb*$)7dZ&zribk769)_LM`jjVrj~~3R?|iXWhdLx<#S5^%>U+k^!g5mJ^!jtEz$JNU19y&;$!IddCU@0 zMdm;Aj@*`-Y|Zz?x8{k@dw;=PVHdx0q4!soTub_QYOnXT-C4Ke16r<4%G9@GS6#*a zadE|hi_^KET$ow6BPC^x=|-bNLRS?W>z$(~P3bf!IkfF!`cj#x3&SNpwBeTSb@cm3Y4C!tg9KP*~N(Uxz22WQ%mvv4FO#t_ZJW>Dv diff --git a/images/ic_info_time.png b/images/ic_info_time.png index 4f2619816a97f57ec470cc2d50a01d141478659b..90244766ddb6efa1a73954086ccda54ee9e12631 100644 GIT binary patch literal 3013 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 T#0{Q4nfxKj#)y7i+k5x{Uo?Fe diff --git a/images/ic_info_weather_temp.png b/images/ic_info_weather_temp.png index 493ab7e9c2f94295833cf6bd7b0f10f71b0bfc65..f7c30108b693abb216e666c6fc2bef4ea21627c6 100644 GIT binary patch literal 2853 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 diff --git a/images/ic_thumbnail_favorite.png b/images/ic_thumbnail_favorite.png index ca55b226b1d66ac1f856685022808bc629258648..546bb8086402d3bb46ff1f4b682a80194db93402 100644 GIT binary patch delta 489 zcmVEB2g*GAzVToUyg&>-w5EVgXje?C}7qAmSthBPWksyd5 z*trk_Ho;VaU|}OHVk6iEf;LLTFVOK5{1)RhBKLmZpO`Mb!>%F3FIV8y=oM{LvaYa_V{o7Z%hJUlTj&DPN zD%?lA8wRbas$zeODLloY0by&nDl1loU5D?ml4N59Ht52?m;jtn<~y1I+t`x;+=L5F zfb)Is|H7Aq_-h3GfD@R;%O1~<$83!OkA!VRU5{}PukaDGxQ(A(w&ueC>(+b@Z+orF z%HOi$9**Mu0Ii4uPuFsG8a~hZR%XQ;91eM01zWeJ?%EcERS&}?ab?8@7L@ri=CIML fto7gTy#EXU00000NkvXXu0mjfDwpHO delta 492 zcmV4JZE4YauPC7ZeND)L3 z+zd#;rPxUj99)DTE`nR3=%Q5oA}&WbTyAo267TKc1A%tY9W&?bpMZx)x7H@FUn%QM(ZV^Pj%MQY}jd0EZ2S3pJoK@^o8UXcxO`KsVrg zTj*TL{a^S}BPv@%Kj0Xq@v_hJqk}B2f*uN6l30(hAFuEcv$%zyJr<`;p|MS$!&_hN zvGunkyNknkKSWywLQh4xJVA}8rIktc1_wia7s28!O?HC|!L|osqG~1C8s_EcB93FN ithDpr?C{qG`ey(_e_hEKuzC;x0000 #include #include +#include #include #include "define.h" #define KEY_USER_MESSAGE "db/setting/user_message" +#define KEY_NOTI "KEY_NOTI" #define CLOCK_UPDATE_DUR 1 #define NOTIFICATION_ITEM_PADDING_X 0 #define NOTIFICATION_ITEM_PADDING_Y 20 +#define SIG_CHILD_REMOVED "child,removed" static void _clear_key_up_cb(int id, void *data, Evas *e, Evas_Object *obj, Evas_Event_Key_Up *ev); static void _clear_clicked_cb(int id, void *data, Evas_Object *obj); +static void _child_removed_cb(void *data, Evas_Object *obj, void *ei); +static void _focused_cb(int id, void *data, + Evas_Object *obj, Elm_Object_Item *item); +static void _unfocused_cb(int id, void *data, + Evas_Object *obj, Elm_Object_Item *item); +static void _mouse_move_cb(int id, void *data, Evas *e, + Evas_Object *obj, Evas_Event_Mouse_Move *ev); struct _priv { Evas_Object *base; Evas_Object *list; Evas_Object *clear_btn; Ecore_Timer *clock_timer; - notification_list_h noti_list; }; static input_handler clear_handler = { @@ -45,6 +54,12 @@ static input_handler clear_handler = { .clicked = _clear_clicked_cb }; +static input_handler focus_handler = { + .focused = _focused_cb, + .unfocused = _unfocused_cb, + .mouse_move = _mouse_move_cb +}; + static void _print_user_message(struct _priv *priv) { char *message; @@ -106,29 +121,25 @@ static void _update_list(struct _priv *priv) { Evas_Object *icon, *item; notification_h noti = NULL; - notification_list_h get_list = NULL; + notification_list_h noti_list = NULL; char *title = NULL, *icon_path = NULL; elm_box_clear(priv->list); - if (priv->noti_list) { - notification_free_list(priv->noti_list); - priv->noti_list = NULL; - } - - notification_get_list(NOTIFICATION_TYPE_NOTI, -1, &priv->noti_list); - if (priv->noti_list) { + notification_get_list(NOTIFICATION_TYPE_NOTI, -1, ¬i_list); + if (noti_list) { elm_object_signal_emit(priv->base, SIGNAL_NOTIFICATION, SOURCE_PROGRAM); elm_object_disabled_set(priv->clear_btn, EINA_FALSE); - get_list = notification_list_get_head(priv->noti_list); - noti = notification_list_get_data(get_list); - while (get_list != NULL) { + while (noti_list != NULL) { + noti = notification_list_get_data(noti_list); + item = elm_layout_add(priv->list); elm_layout_file_set(item, EDJEFILE, GRP_NOTIFICATION_ITEM); elm_object_focus_allow_set(item, EINA_TRUE); + evas_object_data_set(item, KEY_NOTI, noti); notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, @@ -151,8 +162,9 @@ static void _update_list(struct _priv *priv) evas_object_show(item); - get_list = notification_list_get_next(get_list); - noti = notification_list_get_data(get_list); + inputmgr_add_callback(item, 0, &focus_handler, NULL); + + noti_list = notification_list_remove(noti_list, noti); } } else { elm_object_signal_emit(priv->base, @@ -203,6 +215,14 @@ void stop_clock_timer(struct _priv *priv) } } +static void _noti_changed_cb(void *data, notification_type_e type) +{ + struct _priv *priv = data; + + if (priv) + _update_list(priv); +} + static Evas_Object *_create(Evas_Object *win, void *data) { struct _priv *priv; @@ -233,6 +253,8 @@ static Evas_Object *_create(Evas_Object *win, void *data) scroller = elm_scroller_add(priv->base); if (!scroller) goto error; + elm_scroller_policy_set(scroller, ELM_SCROLLER_POLICY_OFF, + ELM_SCROLLER_POLICY_OFF); elm_object_part_content_set(priv->base, PART_NOTIFICATION_LIST, scroller); evas_object_show(scroller); @@ -248,6 +270,8 @@ static Evas_Object *_create(Evas_Object *win, void *data) NOTIFICATION_ITEM_PADDING_Y); evas_object_show(priv->list); elm_object_content_set(scroller, priv->list); + evas_object_smart_callback_add(priv->list, SIG_CHILD_REMOVED, + _child_removed_cb, NULL); priv->clear_btn = elm_layout_add(priv->base); elm_layout_file_set(priv->clear_btn, EDJEFILE, GRP_NOTIFICATION_CLEAR); @@ -256,6 +280,7 @@ static Evas_Object *_create(Evas_Object *win, void *data) PART_NOTIFICATION_CLEAR, priv->clear_btn); evas_object_show(priv->clear_btn); + inputmgr_add_callback(priv->clear_btn, 0, &focus_handler, NULL); inputmgr_add_callback(priv->clear_btn, 0, &clear_handler, NULL); viewmgr_set_view_data(SQUARE_VIEW, priv); @@ -288,6 +313,7 @@ static void _show(void *view_data) evas_object_show(priv->base); start_clock_timer(priv); + notification_resister_changed_cb(_noti_changed_cb, priv); } static void _hide(void *view_data) @@ -302,6 +328,7 @@ static void _hide(void *view_data) priv = (struct _priv *) view_data; stop_clock_timer(priv); + notification_unresister_changed_cb(_noti_changed_cb); evas_object_hide(priv->base); } @@ -317,12 +344,9 @@ static void _destroy(void *view_data) priv = (struct _priv *) view_data; - if (priv->noti_list) { - notification_free_list(priv->noti_list); - priv->noti_list = NULL; - } - stop_clock_timer(priv); + inputmgr_remove_callback(priv->clear_btn, &clear_handler); + inputmgr_remove_callback(priv->clear_btn, &focus_handler); evas_object_del(priv->base); @@ -341,6 +365,40 @@ static void _clear_clicked_cb(int id, void *data, Evas_Object *obj) notification_delete_all(NOTIFICATION_TYPE_NOTI); } +static void _focused_cb(int id, void *data, + Evas_Object *obj, Elm_Object_Item *item) +{ + elm_object_signal_emit(obj, SIGNAL_FOCUSED, SOURCE_PROGRAM); +} + +static void _unfocused_cb(int id, void *data, + Evas_Object *obj, Elm_Object_Item *item) +{ + elm_object_signal_emit(obj, SIGNAL_UNFOCUSED, SOURCE_PROGRAM); +} + +static void _mouse_move_cb(int id, void *data, Evas *e, + Evas_Object *obj, Evas_Event_Mouse_Move *ev) +{ + if (!elm_object_focus_get(obj)) + elm_object_focus_set(obj, EINA_TRUE); +} + +static void _child_removed_cb(void *data, Evas_Object *obj, void *ei) +{ + notification_h noti; + Evas_Object *item = ei; + + if (!ei) + return; + + noti = evas_object_data_del(item, KEY_NOTI); + if (noti) + notification_free(noti); + + inputmgr_remove_callback(item, &focus_handler); +} + static view_class vclass = { .view_id = SQUARE_VIEW, .create = _create, -- 2.7.4 From 3b9f7164acf8aa40787d1fcc6ad9d51c2969bfdc Mon Sep 17 00:00:00 2001 From: "jinwoo.shin" Date: Mon, 22 Jun 2015 20:46:39 +0900 Subject: [PATCH 7/7] Add notification display daemon Change-Id: If3ea6f75a691660036d85121814bfefb7b3fcebc Signed-off-by: jinwoo.shin --- CMakeLists.txt | 1 + daemon/CMakeLists.txt | 41 +++++++++++++++++++++ daemon/notification-display.service | 14 +++++++ daemon/notification_display_service.c | 69 +++++++++++++++++++++++++++++++++++ packaging/org.tizen.infosquare.spec | 8 ++++ 5 files changed, 133 insertions(+) create mode 100644 daemon/CMakeLists.txt create mode 100644 daemon/notification-display.service create mode 100644 daemon/notification_display_service.c diff --git a/CMakeLists.txt b/CMakeLists.txt index 280822a..eb89b99 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -76,3 +76,4 @@ INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR}) INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/images DESTINATION ${RESDIR}) ADD_SUBDIRECTORY(data) +ADD_SUBDIRECTORY(daemon) diff --git a/daemon/CMakeLists.txt b/daemon/CMakeLists.txt new file mode 100644 index 0000000..7d8c765 --- /dev/null +++ b/daemon/CMakeLists.txt @@ -0,0 +1,41 @@ +# Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +CMAKE_MINIMUM_REQUIRED(VERSION 2.6) +PROJECT("notification-display" C) + +MESSAGE(STATUS "PREFIX: " ${CMAKE_INSTALL_PREFIX}) + +INCLUDE(FindPkgConfig) +pkg_check_modules(SERVICE_PKGS REQUIRED + glib-2.0 + notification + app-utils) + +SET(SERVICE_SRCS + notification_display_service.c) + +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/include) +INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include) + +FOREACH(flag ${SERVICE_PKGS_CFLAGS}) + SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}") +ENDFOREACH(flag) + +SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}") + +ADD_EXECUTABLE(${PROJECT_NAME} ${SERVICE_SRCS}) +TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${SERVICE_PKGS_LDFLAGS}) +INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${SERVICEDIR}) diff --git a/daemon/notification-display.service b/daemon/notification-display.service new file mode 100644 index 0000000..8dccc65 --- /dev/null +++ b/daemon/notification-display.service @@ -0,0 +1,14 @@ +[Unit] +Description=Notifications Display daemon +Requires=notifications.service display-manager-run.service +After=notifications.service display-manager-run.service + +[Service] +Type=simple +EnvironmentFile=/run/tizen-system-env +ExecStart=/usr/bin/notification-display +Restart=always + +[Install] +WantedBy=default.target + diff --git a/daemon/notification_display_service.c b/daemon/notification_display_service.c new file mode 100644 index 0000000..f6f4b85 --- /dev/null +++ b/daemon/notification_display_service.c @@ -0,0 +1,69 @@ +#include +#include +#include +#include +#include +#include +#include + +#define SERVICE_NAME "notification-display" + +SET_TAG(SERVICE_NAME) + +void _dbg_notification(notification_h noti) +{ + char *pkgname = NULL; + char *title = NULL; + char *content = NULL; + char *image_path = NULL; + + notification_get_pkgname(noti, &pkgname); + notification_get_text(noti, NOTIFICATION_TEXT_TYPE_TITLE, &title); + notification_get_text(noti, NOTIFICATION_TEXT_TYPE_CONTENT, &content); + notification_get_image(noti, NOTIFICATION_IMAGE_TYPE_ICON, &image_path); + + _DBG("\nNew Notification : %s", title); + _DBG("Icon : %s", image_path); + _DBG("Message : %s", content); +} + +void _notification_changed_cb(void *data, notification_type_e notif_type) +{ + notification_h noti = NULL; + notification_list_h noti_list = NULL, get_list; + + notification_get_list(NOTIFICATION_TYPE_NOTI, -1, ¬i_list); + get_list = notification_list_get_tail(noti_list); + if (get_list) { + noti = notification_list_get_data(get_list); + _dbg_notification(noti); + } + + notification_free_list(noti_list); +} + +int main(int argc, char **argv) +{ + notification_error_e error_n; + Evas_Object *win; + + elm_init(0, NULL); + + win = elm_win_add(NULL, SERVICE_NAME, ELM_WIN_NOTIFICATION); + elm_win_alpha_set(win, EINA_TRUE); + evas_object_show(win); + + error_n = NOTIFICATION_ERROR_SERVICE_NOT_READY; + while (error_n != NOTIFICATION_ERROR_NONE) { + error_n = notification_resister_changed_cb( + _notification_changed_cb, NULL); + _DBG("Could not register with notifications server"); + sleep(5); + } + + elm_run(); + + elm_shutdown(); + + return 0; +} diff --git a/packaging/org.tizen.infosquare.spec b/packaging/org.tizen.infosquare.spec index b7592a2..bc897e2 100644 --- a/packaging/org.tizen.infosquare.spec +++ b/packaging/org.tizen.infosquare.spec @@ -22,6 +22,7 @@ BuildRequires: edje-bin %define _resdir %{_pkgdir}/res %define _datadir %{_pkgdir}/data %define _edjedir %{_resdir}/edje +%define _servicedir %{_prefix}/bin %define _manifestdir %{_datarootdir}/packages %description @@ -37,6 +38,7 @@ cmake \ -DBINDIR=%{_bindir} \ -DEDJEDIR=%{_edjedir} \ -DMANIFESTDIR=%{_manifestdir} \ + -DSERVICEDIR=%{_servicedir} \ -DVERSION=%{version} make %{?jobs:-j%jobs} @@ -44,6 +46,9 @@ make %{?jobs:-j%jobs} %install %make_install install --directory %{buildroot}/%{_datadir} +mkdir -p %{buildroot}/%{_unitdir_user}/default.target.wants +install -m 0644 daemon/notification-display.service %{buildroot}/%{_unitdir_user}/notification-display.service +ln -sf ../notification-display.service %{buildroot}/%{_unitdir_user}/default.target.wants/notification-display.service %clean rm -rf %{buildroot} @@ -52,5 +57,8 @@ rm -rf %{buildroot} %defattr(-,root,root,-) %{_bindir}/* %{_resdir}/* +%{_servicedir}/* %{_datadir} %{_manifestdir}/%{name}.xml +%{_unitdir_user}/default.target.wants/notification-display.service +%{_unitdir_user}/notification-display.service -- 2.7.4