Name: ug-setting-wifidirect-efl
Summary: Wi-Fi Direct setting UI gadget
-Version: 1.12.0
+Version: 1.12.1
Release: 1
Group: Applications/Network
License: Flora-1.1
${CMAKE_CURRENT_SOURCE_DIR}/resources/wfd_ug.edc ${CMAKE_BINARY_DIR}/wfd_ug.edj
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/wfd_ug.edc
)
+
+ADD_CUSTOM_TARGET(main_layout.edj
+ COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/resources/images
+ ${CMAKE_CURRENT_SOURCE_DIR}/resources/main_layout.edc ${CMAKE_BINARY_DIR}/main_layout.edj
+ DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/resources/main_layout.edc
+)
+
ADD_DEPENDENCIES(${PROJECT_NAME} wfd_ug.edj)
+ADD_DEPENDENCIES(${PROJECT_NAME} main_layout.edj)
INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${LIBDIR})
INSTALL(FILES ${CMAKE_BINARY_DIR}/wfd_ug.edj DESTINATION ${EDJDIR})
+INSTALL(FILES ${CMAKE_BINARY_DIR}/main_layout.edj DESTINATION ${EDJDIR})
+
INSTALL(FILES ${PACKAGE_NAME}.xml DESTINATION /usr/share/packages)
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tables/ DESTINATION ${TABLEDIR} FILES_MATCHING PATTERN "*.xml")
INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/resources/icons/ DESTINATION ${IMAGEDIR} FILES_MATCHING PATTERN "*.png")
#define EDJDIR "/usr/apps/ug-setting-wifidirect-efl/res/edje/ug-setting-wifidirect-efl"
#define WFD_UG_EDJ_PATH EDJDIR"/wfd_ug.edj"
+#define WFD_UG_COMMON_MAIN_LAYOUT_EDJ_PATH EDJDIR"/main_layout.edj"
/* Genlist new style for Tizen 2.4 */
#define WFD_GENLIST_1LINE_TEXT_STYLE "type1"
#define WFD_UG_EDJ_ICON_SIZE 40
+gboolean wfd_ug_util_is_profile_common(void);
+
+enum {
+ WFD_UG_BIG_BUTTON,
+ WFD_UG_PREV_BUTTON,
+ WFD_UG_NEXT_BUTTON,
+};
+
+#define WFD_UG_BIG_BUTTON_EDC_PART \
+ (wfd_ug_util_is_profile_common() ? "button_common.big" : "button.big")
+#define WFD_UG_PREV_BUTTON_EDC_PART \
+ (wfd_ug_util_is_profile_common() ? "button_common.prev" : "button.prev")
+#define WFD_UG_NEXT_BUTTON_EDC_PART \
+ (wfd_ug_util_is_profile_common() ? "button_common.next" : "button.next")
+
enum {
HEAD_TEXT_TYPE_DIRECT,
HEAD_TEXT_TYPE_DEACTIVATING,
--- /dev/null
+/*
+ * Copyright (c) 2020 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.
+ */
+
+#define PADDING_SIZE 40
+#define PADDING_BOTTOM_SIZE 30
+
+collections
+{
+ base_scale: 1.8;
+
+ group { "main_layout";
+ parts {
+ rect { "base";
+ desc { "default";
+ color: 238 239 241 255;
+ }
+ }
+ spacer { "padding.left"; scale;
+ desc { "default";
+ min: PADDING_SIZE 0;
+ max: PADDING_SIZE -1;
+ fixed: 1 0;
+ align: 0.0 0.0;
+ rel.to: "base";
+ }
+ }
+ spacer { "padding.right"; scale;
+ desc { "default";
+ min: PADDING_SIZE 0;
+ max: PADDING_SIZE -1;
+ fixed: 1 0;
+ align: 1.0 0.0;
+ rel.to: "base";
+ }
+ }
+ swallow { "elm.swallow.content";
+ desc { "default";
+ rel1 { relative: 1.0 0.0; to: "padding.left"; }
+ rel2 { relative: 0.0 0.0;
+ to_x: "padding.right";
+ to_y: "padding.bottom";
+ }
+ }
+ }
+ spacer { "padding.bottom"; scale;
+ desc { "default";
+ min: 0 PADDING_BOTTOM_SIZE;
+ max: -1 PADDING_BOTTOM_SIZE;
+ fixed: 0 1;
+ align: 0.0 1.0;
+ rel.to: "base";
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
#define TITLE_P_H 65
#define TITLE_L_H 30
#define TOOLBAR_H 154
+#define COMMON_TOOLBAR_H 77
#define POPUP_WITH_2_GL_ITEMS 200
#define RESOURCE_IMAGE( FILE_NAME ) \
inherit: "default" 0.0;
}
}
+ part {
+ name: "button_common.big";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 74;
+ max: -1 COMMON_TOOLBAR_H;
+ fixed: 0 0;
+ rel1 {
+ relative: 0.0 1.0;
+ offset: 21 -COMMON_TOOLBAR_H;
+ }
+ rel2 {
+ relative: 1.0 1.0;
+ offset: -21 0;
+ }
+ }
+ description { state: "horizontal" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part {
+ name: "button_common.prev";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 74;
+ max: -1 TOOLBAR_H;
+ fixed: 0 0;
+ rel1 {
+ relative: 0.2 1.0;
+ offset: 21 -COMMON_TOOLBAR_H;
+ }
+ rel2 {
+ relative: 0.4 1.0;
+ offset: -6 0;
+ }
+ }
+ description { state: "horizontal" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
+ part {
+ name: "button_common.next";
+ type: SWALLOW;
+ scale: 1;
+ description {
+ state: "default" 0.0;
+ min: 0 74;
+ max: -1 TOOLBAR_H;
+ fixed: 0 0;
+ rel1 {
+ relative: 0.6 1.0;
+ offset: 6 -COMMON_TOOLBAR_H;
+ }
+ rel2 {
+ relative: 0.8 1.0;
+ offset: -21 0;
+ }
+ }
+ description { state: "horizontal" 0.0;
+ inherit: "default" 0.0;
+ }
+ }
part { name: "elm.swallow.content";
type: SWALLOW;
scale: 1;
*/
if (ugd->disconnect_btn) {
Evas_Object *content;
- content = elm_object_part_content_unset(ugd->button_layout, "button.next");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART);
WFD_IF_DEL_OBJ(content);
ugd->disconnect_btn = NULL;
- elm_layout_content_set(ugd->button_layout, "button.big", ugd->scan_toolbar);
+ elm_layout_content_set(ugd->button_layout, WFD_UG_BIG_BUTTON_EDC_PART, ugd->scan_toolbar);
}
/* When connect is on ongoing and deactivte happened refresh scan */
ugd->wfd_discovery_status == WIFI_DIRECT_DISCOVERY_SOCIAL_CHANNEL_START) {
WFD_IF_DEL_ITEM(ugd->multi_connect_toolbar_item);
if (!ugd->conn_wfd_item)
- elm_layout_content_set(ugd->button_layout, "button.big", ugd->scan_toolbar);
+ elm_layout_content_set(ugd->button_layout, WFD_UG_BIG_BUTTON_EDC_PART, ugd->scan_toolbar);
wfd_ug_view_refresh_button(ugd->scan_toolbar, "IDS_WIFI_SK_STOP", TRUE);
if (ugd->multiconn_scan_stop_btn)
WFD_IF_DEL_OBJ(ugd->act_popup);
Evas_Object *content;
- content = elm_object_part_content_unset(ugd->button_layout, "button.next");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART);
WFD_IF_DEL_OBJ(content);
- content = elm_object_part_content_unset(ugd->button_layout, "button.prev");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_PREV_BUTTON_EDC_PART);
evas_object_hide(content);
/* when disconnection, clear all the connected peers */
return NULL;
}
- elm_layout_theme_set(base, "layout", "application", "default");
- evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
- evas_object_size_hint_align_set(base, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ if (wfd_ug_util_is_profile_common()) {
+ elm_layout_file_set(base, WFD_UG_COMMON_MAIN_LAYOUT_EDJ_PATH, "main_layout");
+ } else {
+ elm_layout_theme_set(base, "layout", "application", "default");
+
+ ugd->bg = _create_bg(ugd->win, "group_list");
+ elm_object_part_content_set(ugd->base, "elm.swallow.bg", ugd->bg);
+ evas_object_size_hint_weight_set(base, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+ evas_object_size_hint_align_set(base, EVAS_HINT_FILL, EVAS_HINT_FILL);
+ }
__FUNC_EXIT__;
return base;
if (ugd->base) {
evas_object_event_callback_add(ugd->base, EVAS_CALLBACK_DEL, wfd_ug_layout_del_cb, ugd);
- ugd->bg = _create_bg(ugd->win, "group_list");
- elm_object_part_content_set(ugd->base, "elm.swallow.bg", ugd->bg);
} else {
DBG(LOG_ERROR, "Failed to create base layout\n");
return NULL;
#include "wfd_ug_view.h"
#include "wfd_client.h"
+#include <strings.h>
+
+#include <system_info.h>
+
+gboolean wfd_ug_util_is_profile_common(void)
+{
+ gboolean result = FALSE;
+ char *profile_name = NULL;
+
+ system_info_get_platform_string("http://tizen.org/feature/profile", &profile_name);
+ if (!profile_name)
+ return result;
+
+ if (!strncasecmp(profile_name, "common", 6)) {
+ DBG(LOG_ERROR, "WiFi direct is on common platform\n");
+ result = TRUE;
+ }
+
+ free(profile_name);
+
+ return result;
+}
+
void scan_button_create(struct ug_data *ugd)
{
__FUNC_ENTER__;
FALSE);
}
evas_object_smart_callback_add(btn, "clicked", _scan_btn_cb, (void *)ugd);
- elm_layout_content_set(ugd->button_layout, "button.big", btn);
+ elm_layout_content_set(ugd->button_layout, WFD_UG_BIG_BUTTON_EDC_PART, btn);
ugd->scan_toolbar = btn;
elm_object_part_content_set(ugd->naviframe, "toolbar", ugd->button_layout);
if (ugd->disconnect_btn) {
Evas_Object *content;
- content = elm_object_part_content_unset(ugd->button_layout, "button.next");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART);
WFD_IF_DEL_OBJ(content);
ugd->disconnect_btn = NULL;
- elm_layout_content_set(ugd->button_layout, "button.big", ugd->scan_toolbar);
+ elm_layout_content_set(ugd->button_layout, WFD_UG_BIG_BUTTON_EDC_PART, ugd->scan_toolbar);
}
if (item)
evas_object_smart_callback_add(btn, "clicked",
_wfd_ug_cancel_connection_button_cb, (void *)ugd);
/* Set button into "toolbar" swallow part */
- elm_object_part_content_set(ugd->button_layout, "button.next", btn);
+ elm_object_part_content_set(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART, btn);
ugd->disconnect_btn = btn;
evas_object_show(ugd->disconnect_btn);
- elm_object_part_content_set(ugd->button_layout, "button.prev",
+ elm_object_part_content_set(ugd->button_layout, WFD_UG_PREV_BUTTON_EDC_PART,
ugd->scan_toolbar);
wfd_ug_view_refresh_button(ugd->scan_toolbar,
"IDS_WIFI_SK4_SCAN", FALSE);
evas_object_smart_callback_add(btn, "clicked",
_wfd_ug_disconnect_button_cb, (void *)ugd);
/* Set button into "toolbar" swallow part */
- elm_object_part_content_set(ugd->button_layout, "button.next", btn);
+ elm_object_part_content_set(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART, btn);
ugd->disconnect_btn = btn;
evas_object_show(ugd->disconnect_btn);
DBG(LOG_INFO, "button: disconnect button added\n");
}
- elm_object_part_content_set(ugd->button_layout, "button.prev",
+ elm_object_part_content_set(ugd->button_layout, WFD_UG_PREV_BUTTON_EDC_PART,
ugd->scan_toolbar);
wfd_ug_view_refresh_button(ugd->scan_toolbar,
"IDS_WIFI_SK4_SCAN", TRUE);
if (no_of_conn_dev == 0 && ugd->disconnect_btn != NULL) {
DBG(LOG_INFO, "disconnect btn removed when conn failed\n");
Evas_Object *content;
- content = elm_object_part_content_unset(ugd->button_layout, "button.next");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART);
WFD_IF_DEL_OBJ(content);
ugd->disconnect_btn = NULL;
- elm_layout_content_set(ugd->button_layout, "button.big", ugd->scan_toolbar);
+ elm_layout_content_set(ugd->button_layout, WFD_UG_BIG_BUTTON_EDC_PART, ugd->scan_toolbar);
}
wfd_ug_view_refresh_button(ugd->scan_toolbar,
"IDS_WIFI_SK4_SCAN", TRUE);
elm_object_disabled_set(ugd->on_off_check, TRUE);
if (ugd->disconnect_btn) {
Evas_Object *content;
- content = elm_object_part_content_unset(ugd->button_layout, "button.next");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART);
WFD_IF_DEL_OBJ(content);
ugd->disconnect_btn = NULL;
}
- elm_layout_content_set(ugd->button_layout, "button.big", ugd->scan_toolbar);
+ elm_layout_content_set(ugd->button_layout, WFD_UG_BIG_BUTTON_EDC_PART, ugd->scan_toolbar);
/* turn on/off wfd */
if (!ugd->wfd_onoff) {
elm_object_domain_translatable_text_set(btn1, PACKAGE,
"IDS_WIFI_SK_STOP");
}
- elm_object_part_content_set(ugd->multiconn_layout, "button.prev", btn1);
+ elm_object_part_content_set(ugd->multiconn_layout, WFD_UG_PREV_BUTTON_EDC_PART, btn1);
evas_object_smart_callback_add(btn1, "clicked", _multi_scan_btn_cb, (void *)ugd);
evas_object_show(btn1);
ugd->multiconn_scan_stop_btn = btn1;
elm_object_style_set(btn2, "bottom");
elm_object_domain_translatable_text_set(btn2, PACKAGE,
"IDS_WIFI_SK_CONNECT");
- elm_object_part_content_set(ugd->multiconn_layout, "button.next", btn2);
+ elm_object_part_content_set(ugd->multiconn_layout, WFD_UG_NEXT_BUTTON_EDC_PART, btn2);
evas_object_smart_callback_add(btn2, "clicked", _connect_btn_cb, (void *)ugd);
evas_object_show(btn2);
ugd->multiconn_conn_btn = btn2;
return FALSE;
}
Evas_Object *content;
- content = elm_object_part_content_unset(ugd->button_layout, "button.next");
+ content = elm_object_part_content_unset(ugd->button_layout, WFD_UG_NEXT_BUTTON_EDC_PART);
WFD_IF_DEL_OBJ(content);
wfd_ug_view_init_genlist(ugd, true);