Implement OOBE view 06/212406/2
authorSeonah Moon <seonah1.moon@samsung.com>
Wed, 21 Aug 2019 07:04:34 +0000 (16:04 +0900)
committerSeonah Moon <seonah1.moon@samsung.com>
Wed, 21 Aug 2019 07:07:42 +0000 (16:07 +0900)
- Add resources(images, fonts and edc)
- Update title contents

Change-Id: I47400b20542d192b5db8721821d8f095626f5f23

19 files changed:
packaging/wifi-efl-ug.spec
resources/fonts/oobe/SamsungOneUI-400.ttf [new file with mode: 0755]
resources/fonts/oobe/SamsungOneUI-500.ttf [new file with mode: 0755]
resources/fonts/oobe/SamsungOneUI-600.ttf [new file with mode: 0755]
resources/images/oobe/buttons/base_border.png [new file with mode: 0644]
resources/images/oobe/buttons/base_circle32.png [new file with mode: 0644]
resources/images/oobe/buttons/base_circle60.png [new file with mode: 0644]
resources/images/oobe/buttons/dot.png [new file with mode: 0644]
resources/images/oobe/buttons/gray_border.png [new file with mode: 0644]
resources/images/oobe/buttons/green_border.png [new file with mode: 0644]
resources/images/oobe/checkboxes/checked_bg.png [new file with mode: 0644]
resources/images/oobe/checkboxes/unchecked_bg.png [new file with mode: 0644]
sources/libraries/Common/include/common.h
sources/ui-gadget/CMakeLists.txt
sources/ui-gadget/edcs/oobe_buttons.edc [new file with mode: 0755]
sources/ui-gadget/include/ug_wifi.h
sources/ui-gadget/viewers-layout/viewer_manager.c
sources/ui-gadget/viewers-layout/wifi_viewer_list.c
sources/ui-gadget/wifi-efl-UG.c

index 6ab6b8a..30caf69 100644 (file)
@@ -1,6 +1,6 @@
 Name:          wifi-efl-ug
 Summary:       Wi-Fi UI Gadget for TIZEN
-Version:       1.0.240
+Version:       1.0.241
 Release:       1
 Group:         App/Network
 License:       Flora-1.1
diff --git a/resources/fonts/oobe/SamsungOneUI-400.ttf b/resources/fonts/oobe/SamsungOneUI-400.ttf
new file mode 100755 (executable)
index 0000000..b662d56
Binary files /dev/null and b/resources/fonts/oobe/SamsungOneUI-400.ttf differ
diff --git a/resources/fonts/oobe/SamsungOneUI-500.ttf b/resources/fonts/oobe/SamsungOneUI-500.ttf
new file mode 100755 (executable)
index 0000000..2c13e91
Binary files /dev/null and b/resources/fonts/oobe/SamsungOneUI-500.ttf differ
diff --git a/resources/fonts/oobe/SamsungOneUI-600.ttf b/resources/fonts/oobe/SamsungOneUI-600.ttf
new file mode 100755 (executable)
index 0000000..67d2bb5
Binary files /dev/null and b/resources/fonts/oobe/SamsungOneUI-600.ttf differ
diff --git a/resources/images/oobe/buttons/base_border.png b/resources/images/oobe/buttons/base_border.png
new file mode 100644 (file)
index 0000000..58252a3
Binary files /dev/null and b/resources/images/oobe/buttons/base_border.png differ
diff --git a/resources/images/oobe/buttons/base_circle32.png b/resources/images/oobe/buttons/base_circle32.png
new file mode 100644 (file)
index 0000000..aa770f1
Binary files /dev/null and b/resources/images/oobe/buttons/base_circle32.png differ
diff --git a/resources/images/oobe/buttons/base_circle60.png b/resources/images/oobe/buttons/base_circle60.png
new file mode 100644 (file)
index 0000000..ef1de59
Binary files /dev/null and b/resources/images/oobe/buttons/base_circle60.png differ
diff --git a/resources/images/oobe/buttons/dot.png b/resources/images/oobe/buttons/dot.png
new file mode 100644 (file)
index 0000000..9a23b15
Binary files /dev/null and b/resources/images/oobe/buttons/dot.png differ
diff --git a/resources/images/oobe/buttons/gray_border.png b/resources/images/oobe/buttons/gray_border.png
new file mode 100644 (file)
index 0000000..58252a3
Binary files /dev/null and b/resources/images/oobe/buttons/gray_border.png differ
diff --git a/resources/images/oobe/buttons/green_border.png b/resources/images/oobe/buttons/green_border.png
new file mode 100644 (file)
index 0000000..83cf63f
Binary files /dev/null and b/resources/images/oobe/buttons/green_border.png differ
diff --git a/resources/images/oobe/checkboxes/checked_bg.png b/resources/images/oobe/checkboxes/checked_bg.png
new file mode 100644 (file)
index 0000000..b7bc296
Binary files /dev/null and b/resources/images/oobe/checkboxes/checked_bg.png differ
diff --git a/resources/images/oobe/checkboxes/unchecked_bg.png b/resources/images/oobe/checkboxes/unchecked_bg.png
new file mode 100644 (file)
index 0000000..fb7b7c9
Binary files /dev/null and b/resources/images/oobe/checkboxes/unchecked_bg.png differ
index 746705e..3740a76 100755 (executable)
@@ -52,6 +52,9 @@ extern "C"
 #define SETUP_WIZARD_EDJ_PATH \
                        "/usr/apps/wifi-efl-ug/res/edje/setup_wizard.edj"
 
+#define OOBE_BUTTONS_EDJ_PATH \
+                       "/usr/apps/wifi-efl-ug/res/edje/oobe_buttons.edj"
+
 /* Log Level */
 #define COMMON_LOG_DEBUG       LOG_DEBUG
 #define COMMON_LOG_INFO                LOG_INFO
@@ -97,7 +100,8 @@ extern "C"
 
 typedef enum {
        UG_VIEW_DEFAULT = 0,
-       UG_VIEW_SETUP_WIZARD
+       UG_VIEW_SETUP_WIZARD,
+       UG_VIEW_OOBE
 } UG_TYPE;
 
 typedef enum {
index a28c476..bb6c18c 100644 (file)
@@ -77,6 +77,16 @@ ADD_CUSTOM_TARGET(setup_wizard.edj
 
 ADD_DEPENDENCIES(${PROJECT_NAME} setup_wizard.edj)
 
+ADD_CUSTOM_TARGET(oobe_buttons.edj
+       COMMAND edje_cc -id ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/images
+               -fd ${CMAKE_CURRENT_SOURCE_DIR}/../../resources/fonts
+               ${CMAKE_CURRENT_SOURCE_DIR}/edcs/oobe_buttons.edc
+               ${CMAKE_CURRENT_SOURCE_DIR}/edcs/oobe_buttons.edj
+               DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/edcs/oobe_buttons.edc
+)
+
+ADD_DEPENDENCIES(${PROJECT_NAME} oobe_buttons.edj)
+
 # tizen 2.4
 #INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/apps/wifi-efl-ug/lib/ug/)
 # tizen 3.0
@@ -86,5 +96,6 @@ INSTALL(TARGETS ${PROJECT_NAME} DESTINATION /usr/ug/lib/)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_editfield.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/custom_genlist.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/setup_wizard.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/edcs/oobe_buttons.edj DESTINATION /usr/apps/wifi-efl-ug/res/edje)
 INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/../../wifi-efl-ug.xml DESTINATION /usr/share/packages/)
 INSTALL(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../../tables/ DESTINATION ${TABLEDIR} FILES_MATCHING PATTERN "*.xml")
diff --git a/sources/ui-gadget/edcs/oobe_buttons.edc b/sources/ui-gadget/edcs/oobe_buttons.edc
new file mode 100755 (executable)
index 0000000..68fb25e
--- /dev/null
@@ -0,0 +1,676 @@
+#define COLOR_GREEN_DARK 32 82 71 255 
+#define COLOR_GREEN_DARK_TRANSPARENT 32 82 71 0 
+#define COLOR_GREEN_LIGHT 223 234 228 255
+#define COLOR_GREEN_LIGHT_TRANSPARENT 223 234 228 0
+#define COLOR_GRAY 130 132 132 255
+#define COLOR_WHITE 255 255 255 255
+#define COLOR_WHITE_TRANSPARENT 255 255 255 0
+#define COLOR_BLACK 0 0 0 255
+#define COLOR_TRANSPARENT 0 0 0 0
+#define COLOR_RED 255 0 0 255
+#define COLOR_GRAY_LIGHT 230 238 236 255
+#define COLOR_WILLOW_GREEN_LIGHT 206 229 223 255
+#define COLOR_GRAY_MID 181 182 182 255
+#define COLOR_WILLOW_GREEN 180 204 198 255
+#define COLOR_GREEN_MID 122 159 150 255
+
+#define BASE_CIRCLE32_BG "oobe/buttons/base_circle32.png"
+#define BASE_CIRCLE60_BG "oobe/buttons/base_circle60.png"
+#define GRAY_BORDER "oobe/buttons/gray_border.png"
+#define GREEN_BORDER "oobe/buttons/green_border.png"
+#define BASE_DOT "oobe/buttons/dot.png"
+#define BASE_BORDER "oobe/buttons/base_border.png"
+#define BASE_CHECKED_BG "oobe/checkboxes/checked_bg.png"
+#define BASE_UNCHECKED_BG "oobe/checkboxes/unchecked_bg.png"
+#define BASE_BUTTON_COLOR COLOR_WHITE
+#define BASE_BUTTON_TEXT_COLOR COLOR_BLACK
+
+#define SAMSUNG_ONE_400_FILE "oobe/SamsungOneUI-400.ttf"
+#define SAMSUNG_ONE_500_FILE "oobe/SamsungOneUI-500.ttf"
+#define SAMSUNG_ONE_600_FILE "oobe/SamsungOneUI-600.ttf"
+
+#define SAMSUNG_ONE_400 "samsung-one-400"
+#define SAMSUNG_ONE_500 "samsung-one-500"
+#define SAMSUNG_ONE_600 "samsung-one-600"
+
+#define BASE_BUTTON_BG BASE_CIRCLE60_BG
+#define BASE_BUTTON_BG_COLOR COLOR_WHITE
+
+#define SCAN_BUTTON_BG_ACTIVE GREEN_BORDER
+#define SCAN_BUTTON_TEXT_ACTIVE_COLOR COLOR_GREEN_DARK
+
+#define SCAN_BUTTON_BG_DISABLED GRAY_BORDER
+#define SCAN_BUTTON_TEXT_DISABLED_COLOR COLOR_GRAY
+
+#define ON_OFF_BUTTON_BG BASE_CIRCLE32_BG
+#define ON_OFF_DOT_BG BASE_DOT
+
+#define ON_OFF_BUTTON_ON_OFF_HALF_BG_COLOR 127 158 149 255
+#define ON_OFF_BUTTON_ON_OFF_HALF_DOT_COLOR 239 244 241 255
+
+#define ON_OFF_BUTTON_ON_BG_COLOR COLOR_GREEN_DARK
+#define ON_OFF_BUTTON_ON_TEXT_COLOR COLOR_WHITE
+#define ON_OFF_BUTTON_ON_DOT_COLOR COLOR_WHITE
+
+#define ON_OFF_BUTTON_ON_HALF_BG_COLOR ON_OFF_BUTTON_ON_OFF_HALF_BG_COLOR
+#define ON_OFF_BUTTON_ON_HALF_TEXT_COLOR COLOR_WHITE_TRANSPARENT
+#define ON_OFF_BUTTON_ON_HALF_DOT_COLOR ON_OFF_BUTTON_ON_OFF_HALF_DOT_COLOR
+
+#define ON_OFF_BUTTON_OFF_BG_COLOR COLOR_GREEN_LIGHT
+#define ON_OFF_BUTTON_OFF_TEXT_COLOR COLOR_GREEN_DARK
+#define ON_OFF_BUTTON_OFF_DOT_COLOR COLOR_GREEN_DARK
+
+#define ON_OFF_BUTTON_OFF_HALF_BG_COLOR ON_OFF_BUTTON_ON_OFF_HALF_BG_COLOR
+#define ON_OFF_BUTTON_OFF_HALF_TEXT_COLOR COLOR_GREEN_DARK_TRANSPARENT
+#define ON_OFF_BUTTON_OFF_HALF_DOT_COLOR ON_OFF_BUTTON_ON_OFF_HALF_DOT_COLOR
+
+#define CHECKBOX_CHECKED_BG BASE_CHECKED_BG
+#define CHECKBOX_UNCHECKED_BG BASE_UNCHECKED_BG
+
+#define SMALL_BUTTON_HEIGHT 32
+#define SMALL_BUTTON_WIDTH 70
+#define SMALL_FONT_SIZE 18
+
+#define BIG_BUTTON_HEIGHT 60
+#define BIG_BUTTON_WITDH 259
+#define BIG_FONT_SIZE 24
+
+#define SWITCH_BG_HEIGHT SMALL_BUTTON_HEIGHT
+#define SWITCH_BG_WIDTH SMALL_BUTTON_WIDTH
+#define OFF_TEXT "OFF"
+#define ON_TEXT "ON"
+#define ON_OFF_FONT_SIZE SMALL_FONT_SIZE
+#define ON_OFF_TRANSITION_TIME 0.2
+#define ON_OFF_FONT SAMSUNG_ONE_600
+
+#define SCAN_BG_HEIGHT SMALL_BUTTON_HEIGHT
+#define SCAN_BG_WIDTH SMALL_BUTTON_WIDTH
+#define SCAN_TEXT "Scan"
+#define SCAN_FONT_SIZE SMALL_FONT_SIZE
+#define SCAN_FONT SAMSUNG_ONE_500
+
+#define CHECKBOX_TRANSITION_TIME 0
+#define CHECKBOX_TRANSITION_TYPE LINEAR CHECKBOX_TRANSITION_TIME
+#define CHECKBOX_WIDTH 40
+#define CHECKBOX_HEIGHT 40
+
+#define BUTTON_CASUAL_WIDTH BIG_BUTTON_WITDH
+#define BUTTON_CASUAL_HEIGHT BIG_BUTTON_HEIGHT
+#define BUTTON_CASUAL_FONT_SIZE BIG_FONT_SIZE
+#define BUTTON_CASUAL_BG BASE_CIRCLE60_BG
+
+#define BUTTON_CONNECT_DEFAULT_BG_COLOR COLOR_GRAY_LIGHT
+#define BUTTON_CONNECT_CLICKED_BG_COLOR COLOR_WILLOW_GREEN_LIGHT
+#define BUTTON_CONNECT_DISABLED_BG_COLOR COLOR_GRAY_MID
+
+#define BUTTON_CONNECT_DEFAULT_TEXT_COLOR COLOR_GREEN_DARK
+#define BUTTON_CONNECT_CLICKED_TEXT_COLOR COLOR_GREEN_DARK
+#define BUTTON_CONNECT_DISABLED_TEXT_COLOR COLOR_WHITE
+
+#define BUTTON_CANCEL_DEFAULT_BG_COLOR COLOR_WILLOW_GREEN
+#define BUTTON_CANCEL_CLICKED_BG_COLOR COLOR_GREEN_MID
+
+#define BUTTON_CANCEL_DEFAULT_TEXT_COLOR COLOR_GREEN_DARK
+#define BUTTON_CANCEL_CLICKED_TEXT_COLOR COLOR_GREEN_DARK
+
+#define BUTTON_CONNECT_TEXT "Connect"
+#define BUTTON_CONNECT_FONT_SIZE BIG_FONT_SIZE
+#define BUTTON_CONNECT_FONT SAMSUNG_ONE_400
+
+#define BUTTON_CANCEL_TEXT "Cancel"
+#define BUTTON_CANCEL_FONT_SIZE BIG_FONT_SIZE
+#define BUTTON_CANCEL_FONT SAMSUNG_ONE_600
+
+collections {
+   base_scale: 1.8;
+
+   fonts {
+      font: SAMSUNG_ONE_400_FILE SAMSUNG_ONE_400;
+      font: SAMSUNG_ONE_500_FILE SAMSUNG_ONE_500;
+      font: SAMSUNG_ONE_600_FILE SAMSUNG_ONE_600;
+   }
+
+    // *******************BUTTONS*********************
+
+   group {
+      name: "elm/button/base/oobe";
+      inherit_only: 1;
+      images {
+         image: BASE_BUTTON_BG COMP;
+      }
+      parts {
+         image { "bg"
+            desc { "default";
+               image.normal: BASE_BUTTON_BG;
+               align: 0.5 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+            desc { "disabled";
+               inherit: "default";
+            }
+            desc { "clicked";
+               inherit: "default";
+            }
+         }
+         text { "elm.text";
+            desc { "default";
+               color: BASE_BUTTON_TEXT_COLOR;
+               rel.to: "bg";
+               text {
+                  align: 0.5 0.5;
+                  text: "";
+                  size: 35;
+               }
+            }
+         }
+         rect { "over"
+            desc { "default"
+               color: COLOR_TRANSPARENT;
+               rel.to: "bg";
+               vis;
+            }
+            desc { "disabled"
+               inherit: "default";
+               hid;
+            }
+         }
+      }
+      programs {
+         program { "down"
+            signal: "mouse,down,*";
+            source: "over";
+            action: STATE_SET "clicked";
+            target: "bg";
+            after: button_press;
+         }
+         program { "up"
+            signal: "mouse,up,*";
+            source: "over";
+            action: STATE_SET "default";
+            target: "bg";
+            after: button_unpress;
+            after: button_click;
+         }
+         program { "enable"
+            signal: "elm,state,enabled";
+            source: "elm";
+            action: STATE_SET "default";
+            target: "bg";
+            target: "over";
+            target: "elm.text";                                
+         }
+         program { "disable"
+            signal: "elm,state,disabled";
+            source: "elm";
+            action: STATE_SET "disabled";
+            target: "bg";
+            target: "over";
+            target: "elm.text";                                
+         }
+
+         program { "button_press"
+            action: SIGNAL_EMIT "elm,action,press" "";
+         }
+         program { "button_unpress"
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+         }
+         program { "button_click"
+            action: SIGNAL_EMIT "elm,action,click" "";
+         }
+      }
+   } // base button
+
+   group { "elm/button/base/scan";
+      inherit : "elm/button/base/oobe";
+
+      images {
+         image: SCAN_BUTTON_BG_ACTIVE COMP;
+         image: SCAN_BUTTON_BG_DISABLED COMP;
+      }
+
+      parts {
+         image { "bg"
+            desc { "default";
+               image.normal: SCAN_BUTTON_BG_ACTIVE;
+               min: SCAN_BG_WIDTH SCAN_BG_HEIGHT;
+               max: SCAN_BG_WIDTH SCAN_BG_HEIGHT;
+            }
+            desc { "disabled"
+               inherit: "default";
+               image.normal: SCAN_BUTTON_BG_DISABLED;
+            }
+            desc { "clicked"
+               inherit: "default";
+            }
+         }
+         text { "elm.text";
+            desc { "default";
+               color: SCAN_BUTTON_TEXT_ACTIVE_COLOR;
+               text {
+                  align: 0.5 0.5;
+                  text: SCAN_TEXT;
+                  size: SCAN_FONT_SIZE;
+                  font: SCAN_FONT;
+               }
+            }
+            desc { "disabled"
+               inherit: "default";
+               color: SCAN_BUTTON_TEXT_DISABLED_COLOR;
+            }
+         }
+      }
+   }
+
+   group { "elm/button/base/connect";
+      inherit : "elm/button/base/oobe";
+
+      images {
+         image: BUTTON_CASUAL_BG COMP;
+      }
+
+      parts {
+         image { "bg"
+            desc { "default";
+               image.normal: BUTTON_CASUAL_BG;
+               image.border: BUTTON_CASUAL_HEIGHT/2 BUTTON_CASUAL_HEIGHT/2 BUTTON_CASUAL_HEIGHT/2 BUTTON_CASUAL_HEIGHT/2;
+               color: BUTTON_CONNECT_DEFAULT_BG_COLOR;
+               min: BUTTON_CASUAL_WIDTH BUTTON_CASUAL_HEIGHT;
+               max: BUTTON_CASUAL_WIDTH BUTTON_CASUAL_HEIGHT;
+            }
+            desc { "disabled"
+               inherit: "default";
+               color: BUTTON_CONNECT_DISABLED_BG_COLOR;
+            }
+            desc { "clicked"
+               inherit: "default";
+               color: BUTTON_CONNECT_CLICKED_BG_COLOR;
+            }
+         }
+         text { "elm.text";
+            desc { "default";
+               color: BUTTON_CONNECT_DEFAULT_TEXT_COLOR;
+               text {
+                  align: 0.5 0.5;
+                  text: BUTTON_CONNECT_TEXT;
+                  size: BUTTON_CONNECT_FONT_SIZE;
+                  font: BUTTON_CONNECT_FONT;
+               }
+            }
+            desc { "disabled"
+               inherit: "default";
+               color: BUTTON_CONNECT_DISABLED_TEXT_COLOR;
+            }
+            desc { "clicked"
+               inherit: "default";
+               color: BUTTON_CONNECT_CLICKED_TEXT_COLOR;
+            }
+         }
+      }
+   }
+
+   group { "elm/button/base/cancel";
+      inherit : "elm/button/base/oobe";
+
+      images {
+         image: BUTTON_CASUAL_BG COMP;
+      }
+
+      parts {
+         image { "bg"
+            desc { "default";
+               image.normal: BUTTON_CASUAL_BG;
+               image.border: BUTTON_CASUAL_HEIGHT/2 BUTTON_CASUAL_HEIGHT/2 BUTTON_CASUAL_HEIGHT/2 BUTTON_CASUAL_HEIGHT/2;
+               color: BUTTON_CANCEL_DEFAULT_BG_COLOR;
+               min: BUTTON_CASUAL_WIDTH BUTTON_CASUAL_HEIGHT;
+               max: BUTTON_CASUAL_WIDTH BUTTON_CASUAL_HEIGHT;
+            }
+            desc { "disabled"
+               inherit: "default";
+            }
+            desc { "clicked"
+               inherit: "default";
+               color: BUTTON_CANCEL_CLICKED_BG_COLOR;
+            }
+         }
+         text { "elm.text";
+            desc { "default";
+               color: BUTTON_CANCEL_DEFAULT_TEXT_COLOR;
+               text {
+                  align: 0.5 0.5;
+                  text: BUTTON_CANCEL_TEXT;
+                  size: BUTTON_CANCEL_FONT_SIZE;
+                  font: BUTTON_CANCEL_FONT;
+               }
+            }
+            desc { "disabled"
+               inherit: "default";
+            }
+            desc { "clicked"
+               inherit: "default";
+               color: BUTTON_CANCEL_CLICKED_TEXT_COLOR;
+            }
+         }
+      }
+   }
+
+   // *******************CHECKBOXES*********************
+
+   group {  "elm/check/event/default";
+      inherit_only: 1;
+      parts {
+         image { "bg"
+            desc { "default";
+            }
+         }
+         rect { "event";
+            mouse;
+            repeat_events: 1;
+            desc { "default";
+               color: COLOR_TRANSPARENT;
+               vis;
+               rel1 {
+                  to: "bg";
+                  relative: 0.0 0.0;
+               }
+               rel2 {
+                  to: "bg";
+                  relative: 1.0 1.0;
+               }
+            }
+            desc { "disabled";
+               inherit: "default";
+               hid;
+            }
+            desc { "checked";
+               inherit: "default";
+            }
+         }
+      }
+      programs {
+         program { "clicked";
+            signal: "mouse,clicked,1";
+            source: "event";
+            action: SIGNAL_EMIT "elm,action,click" "";
+            after: "on_clicked";
+         }
+         program { "pressed";
+            signal: "mouse,down,1*";
+            source: "event";
+            action: SIGNAL_EMIT "elm,action,press" "";
+            after: "on_pressed";
+         }
+         program { "unpressed";
+            signal: "mouse,up,1";
+            source: "event";
+            action: SIGNAL_EMIT "elm,action,unpress" "";
+            after: "on_unpressed";
+         }
+         program { "set_check";
+            signal: "elm,state,check,on";
+            source: "elm";
+            sequence {
+               action: STATE_SET "checked";
+               target: "event";
+
+               action: SIGNAL_EMIT "elm,state,checked" "";
+            }
+            after: "on_set_check";
+         }
+         program { "unset_check";
+            signal: "elm,state,check,off";
+            source: "elm";
+            sequence {
+               action: STATE_SET "default";
+               target: "event";
+
+               action: SIGNAL_EMIT "elm,state,unchecked" "";
+            }
+            after: "on_unset_check";
+         }
+         program { "disabled";
+            signal: "elm,state,disabled";
+            source: "elm";
+            after: "on_disabled";
+         }
+         program { "enabled";
+            signal: "elm,state,enabled";
+            source: "elm";
+            after: "on_enabled";
+         }
+         program { "check_setter";
+            filter: "event" "default";
+            signal: "elm,action,click";
+            source: "";
+            after: "set_check";
+         }
+         program { "check_unsetter";
+            filter: "event" "checked";
+            signal: "elm,action,click";
+            source: "";
+            after: "unset_check";
+         }
+         program { name: "on_set_check";
+            //Can be overriden in inheriting class
+         }
+         program { name: "on_unset_check";
+            //Can be overriden in inheriting class            
+         }
+         program { name: "on_pressed";
+            //Can be overriden in inheriting class            
+         }
+         program { name: "on_unpressed";
+            //Can be overriden in inheriting class            
+         }
+         program { name: "on_clicked";
+            //Can be overriden in inheriting class            
+         }
+         program { name: "on_disabled";
+            //Can be overriden in inheriting class            
+         }
+         program { name: "on_enabled";
+            //Can be overriden in inheriting class            
+         }
+      }
+   } // base checkbox
+
+   group { "elm/check/base/wifiug";
+      inherit: "elm/check/event/default";
+      inherit_only: 1;
+
+      images {
+         image: BASE_BUTTON_BG COMP;
+         image: BASE_BORDER COMP;
+      }
+
+      parts {
+         image { "bg"
+            desc { "default";
+               image.normal: BASE_BUTTON_BG;
+               color: BASE_BUTTON_COLOR;
+               align: 0.5 0.0;
+               rel1.relative: 0.0 0.0;
+               rel2.relative: 1.0 1.0;
+            }
+            desc { "on"
+               inherit: "default";
+            }
+         }
+         text { "elm.text"
+            desc { "default";
+               rel.to: "bg";
+               text {
+                  align: 0.5 0.5;
+                  text: "";
+                  size: SMALL_FONT_SIZE;
+               }
+            }
+         }     
+      }
+      target_group: "components" "bg" "elm.text" "dot";
+   }
+
+   group {
+      name: "elm/check/base/onoff";
+      inherit: "elm/check/base/wifiug";
+
+      images {
+         image: ON_OFF_BUTTON_BG COMP;
+         image: BASE_DOT COMP;
+      }
+
+      parts {
+         image { "bg"
+            desc { "default";
+               image.normal: ON_OFF_BUTTON_BG;
+               image.border: SWITCH_BG_HEIGHT/2 SWITCH_BG_HEIGHT/2 SWITCH_BG_HEIGHT/2 SWITCH_BG_HEIGHT/2;
+               min: SWITCH_BG_WIDTH SWITCH_BG_HEIGHT;
+               max: SWITCH_BG_WIDTH SWITCH_BG_HEIGHT;
+               color: ON_OFF_BUTTON_OFF_BG_COLOR;
+            }
+            desc { "on-half"
+               inherit: "default";
+               color: ON_OFF_BUTTON_ON_HALF_BG_COLOR;
+            }
+            desc { "on"
+               inherit: "default";
+               color: ON_OFF_BUTTON_ON_BG_COLOR;
+            }
+            desc { "off-half"
+               inherit: "default";
+               color: ON_OFF_BUTTON_OFF_HALF_BG_COLOR;
+            }
+            desc { "clicked"
+               inherit: "default";
+            }
+            desc { "disabled"
+               inherit: "default";
+            }
+         }
+         text { "elm.text"
+            insert_after: "dot";
+            desc { "default";
+               color: ON_OFF_BUTTON_OFF_TEXT_COLOR;
+               text {
+                  align: 0.8 0.5;
+                  text: OFF_TEXT;
+                  size: ON_OFF_FONT_SIZE;
+                  font: ON_OFF_FONT;
+               }
+
+            }
+            desc { "on-half"
+               inherit: "default";
+               color: ON_OFF_BUTTON_ON_HALF_TEXT_COLOR;
+               text {
+                  text: "";
+               }
+            }
+            desc { "on"
+               inherit: "default";
+               color: ON_OFF_BUTTON_ON_TEXT_COLOR;
+               text {
+                  align: 0.2 0.5;
+                  text: ON_TEXT;
+               }
+            }
+            desc { "off-half"
+               inherit: "default";
+               color: ON_OFF_BUTTON_OFF_HALF_TEXT_COLOR;
+               text {
+                  text: "";
+               }
+            }
+         }
+         image { "dot";
+            insert_after: "event";
+            desc { "default";
+               image.normal: ON_OFF_DOT_BG;
+               rel1 { to: "bg"; relative: 12/70 11/32; }
+               rel2 { to: "bg"; relative: 22/70 21/32; }
+               color: ON_OFF_BUTTON_OFF_DOT_COLOR;
+            }
+            desc { "on-half"
+               inherit: "default";
+               rel1 { to: "bg"; relative: 30/70 11/32; }
+               rel2 { to: "bg"; relative: 40/70 21/32; }
+               color: ON_OFF_BUTTON_ON_HALF_DOT_COLOR;
+            }
+            desc { "on"
+               inherit: "default";
+               rel1 { to: "bg"; relative: 48/70 11/32; }
+               rel2 { to: "bg"; relative: 58/70 21/32; }
+               color: ON_OFF_BUTTON_ON_DOT_COLOR;
+            }
+            desc { "off-half"
+               inherit: "default";
+               rel1 { to: "bg"; relative: 30/70 11/32; }
+               rel2 { to: "bg"; relative: 40/70 21/32; }
+               color: ON_OFF_BUTTON_OFF_HALF_DOT_COLOR;
+            }
+            desc { "clicked"
+               inherit: "default";
+               color: COLOR_TRANSPARENT;
+            }
+         }
+      }
+      programs {
+         program { name: "on_set_check";
+            sequence {
+               action: STATE_SET "on-half" 0.0;
+               transition: LINEAR ON_OFF_TRANSITION_TIME/2;
+               target_groups: "components";
+
+               action: STATE_SET "on" 0.0;
+               transition: LINEAR ON_OFF_TRANSITION_TIME/2;
+               target_groups: "components"; 
+            }
+         }
+         program { name: "on_unset_check";
+            sequence {
+               action: STATE_SET "off-half" 0.0;
+               transition: LINEAR ON_OFF_TRANSITION_TIME/2;
+               target_groups: "components";
+
+               action: STATE_SET "default" 0.0;
+               transition: LINEAR ON_OFF_TRANSITION_TIME/2;
+               target_groups: "components"; 
+            }
+         }
+      }
+   }
+
+   group { "elm/check/base/oobe-casual";
+      inherit: "elm/check/event/default";
+
+      images {
+         image: CHECKBOX_CHECKED_BG COMP;
+         image: CHECKBOX_UNCHECKED_BG COMP;
+      }
+
+      parts {
+         image { "bg";
+            desc { "default";
+               image.normal: CHECKBOX_UNCHECKED_BG;
+               min: CHECKBOX_WIDTH CHECKBOX_HEIGHT;
+               max: CHECKBOX_WIDTH CHECKBOX_HEIGHT;
+            }
+            desc { "checked"
+               inherit: "default";
+               image.normal: CHECKBOX_CHECKED_BG;
+            }
+         }
+      }
+
+      program { name: "on_set_check";
+         action: STATE_SET "checked";
+         target: "bg";
+         transition: CHECKBOX_TRANSITION_TYPE;
+      }
+      program { name: "on_unset_check";
+         action: STATE_SET "default";
+         target: "bg";
+         transition: CHECKBOX_TRANSITION_TYPE;
+      }
+   }
+}
index fa9c4ae..5ba888d 100755 (executable)
@@ -50,6 +50,7 @@ typedef struct {
        app_control_h app_control;
 
        //Basic Evas_Objects
+       Evas_Object *parent_layout;
        Evas_Object *layout_main;
        Evas *evas;
        pswd_popup_t *passpopup;
@@ -71,7 +72,6 @@ typedef struct {
        guint timeout;
        bool is_first_scan;
        bool is_wifi_scan_indication_block;
-
 } wifi_appdata ;
 
 struct ug_data {
@@ -89,6 +89,7 @@ typedef struct {
 
 int wifi_exit(void);
 bool wifi_is_scan_required(void);
+UG_TYPE wifi_get_ug_type(void);
 
 #ifdef __cplusplus
 }
index 05657bd..a215d8b 100755 (executable)
@@ -672,12 +672,17 @@ static void __power_onoff_cb(void *data, Evas_Object *obj, void *event_info)
 
 static char *_gl_wifi_onoff_text_get(void *data, Evas_Object *obj, const char *part)
 {
-       char* det = NULL;
+       char *det = NULL;
+       int ug_type = (int) data;
 
        retvm_if(NULL == manager_object, NULL);
 
        if (!strcmp("elm.text", part)) {
-               det = g_strdup(manager_object->item_wifi_onoff_text);
+               if (ug_type == UG_VIEW_OOBE
+                               && manager_object->header_mode == HEADER_MODE_SEARCHING)
+                       det = g_strdup(sc(PACKAGE, I18N_TYPE_Scanning));
+               else
+                       det = g_strdup(manager_object->item_wifi_onoff_text);
                assertm_if(NULL == det, "NULL!!");
        }
 
@@ -705,62 +710,65 @@ static Evas_Object *_gl_wifi_onoff_content_get(void *data,
                return NULL;
 
        Evas_Object *c = NULL;
+       int ug_type = (int) data;
+       const char *style;
 
-#ifdef ACCESSIBLITY_FEATURE
-       Evas_Object *ao = NULL;
-#endif
-
+       // On&Off toggle button
        if (!strcmp("elm.swallow.end", part)) {
-
-               switch (manager_object->header_mode) {
-               case HEADER_MODE_OFF:
-                       /* Wi-Fi off indication button */
-                       c = elm_check_add(obj);
-                       elm_object_style_set(c, "on&off");
-                       evas_object_propagate_events_set(c, EINA_FALSE);
+               if (ug_type == UG_VIEW_OOBE)
+                       style = "onoff";
+               else
+                       style = "on&off";
+
+               c = elm_check_add(obj);
+               elm_object_style_set(c, style);
+               evas_object_propagate_events_set(c, EINA_FALSE);
+               evas_object_smart_callback_add(c, "changed", __power_onoff_cb, NULL);
+
+               if (manager_object->header_mode == HEADER_MODE_OFF
+                               || manager_object->header_mode == HEADER_MODE_DEACTIVATING)
                        elm_check_state_set(c, EINA_FALSE);
-                       evas_object_smart_callback_add(c, "changed",
-                                       __power_onoff_cb, NULL);
-#ifdef ACCESSIBLITY_FEATURE
-                       ao = elm_object_item_access_object_get(manager_object->item_wifi_onoff);
-                       elm_access_info_set(ao, ELM_ACCESS_TYPE, "on/off button");
-                       elm_access_info_set(ao, ELM_ACCESS_STATE, "off");
-#endif
-                       break;
+               else
+                       elm_check_state_set(c, EINA_TRUE);
 
-               case HEADER_MODE_ACTIVATING:
-               case HEADER_MODE_DEACTIVATING:
-                       /* Progress animation */
+               evas_object_size_hint_align_set(c, EVAS_HINT_FILL, EVAS_HINT_FILL);
+               evas_object_size_hint_weight_set(c, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+       }
+
+       // OOBE: Progress icon
+       if (ug_type == UG_VIEW_OOBE && !strcmp("elm.swallow.icon", part)) {
+//             if (manager_object->header_mode == HEADER_MODE_ACTIVATING
+//                             || manager_object->header_mode == HEADER_MODE_SEARCHING) {
+               if (manager_object->header_mode == HEADER_MODE_SEARCHING) {
                        c = elm_progressbar_add(obj);
-                       elm_object_style_set(c, "process_medium");
+                       elm_object_style_set(c, "process_small");
                        evas_object_size_hint_align_set(c, EVAS_HINT_FILL, 0.5);
-                       evas_object_size_hint_weight_set(c, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+                       evas_object_size_hint_weight_set(c,
+                                       EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
                        elm_progressbar_pulse(c, TRUE);
-                       break;
-
-               default:
-                       /* Wi-Fi on indication button */
-                       c = elm_check_add(obj);
-                       elm_object_style_set(c, "on&off");
-                       evas_object_propagate_events_set(c, EINA_FALSE);
-                       elm_check_state_set(c, EINA_TRUE);
-                       evas_object_smart_callback_add(c, "changed",
-                                       __power_onoff_cb, NULL);
-#ifdef ACCESSIBLITY_FEATURE
-                       ao = elm_object_item_access_object_get(manager_object->item_wifi_onoff);
-                       elm_access_info_set(ao, ELM_ACCESS_TYPE, "on/off button");
-                       elm_access_info_set(ao, ELM_ACCESS_STATE, "on");
-#endif
-                       break;
+                       evas_object_show(c);
                }
+       }
+
+       // OOBE: Scan button
+       if (ug_type == UG_VIEW_OOBE && !strcmp("elm.swallow.icon.2", part)) {
+               c = elm_button_add(obj);
+               elm_object_style_set(c, "scan");
                evas_object_size_hint_align_set(c, EVAS_HINT_FILL, EVAS_HINT_FILL);
                evas_object_size_hint_weight_set(c, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+               elm_object_domain_translatable_text_set(c, PACKAGE, "IDS_WIFI_BUTTON_SCAN");
+               evas_object_smart_callback_add(c, "clicked", __refresh_scan_callback, NULL);
+
+               if (manager_object->header_mode == HEADER_MODE_SEARCHING)
+                       elm_object_disabled_set(c, EINA_TRUE);
+               else
+                       elm_object_disabled_set(c, EINA_FALSE);
        }
 
        return c;
 }
 
-static void __viewer_manager_wifi_onoff_item_create(Evas_Object* genlist)
+static void __viewer_manager_wifi_onoff_item_create(Evas_Object* genlist, int ug_type)
 {
        __COMMON_FUNC_ENTER__;
 
@@ -773,8 +781,8 @@ static void __viewer_manager_wifi_onoff_item_create(Evas_Object* genlist)
        wifi_onoff_itc.func.del = NULL;
 
        manager_object->item_wifi_onoff = elm_genlist_item_append(genlist,
-                       &wifi_onoff_itc, NULL, NULL, ELM_GENLIST_ITEM_NONE,
-                       __power_onoff_cb, NULL);
+                       &wifi_onoff_itc, (void *)ug_type, NULL, ELM_GENLIST_ITEM_NONE,
+                       NULL, NULL);
 
        __COMMON_FUNC_EXIT__;
 }
@@ -989,7 +997,7 @@ static void __viewer_manager_create_setup_wizard_content(Evas_Object *layout)
        eext_object_event_callback_add(manager_object->nav, EEXT_CALLBACK_BACK,
                        __ea_setup_wizard_back_cb, NULL);
 
-       __viewer_manager_wifi_onoff_item_create(manager_object->list);
+       __viewer_manager_wifi_onoff_item_create(manager_object->list, UG_VIEW_SETUP_WIZARD);
        __viewer_manager_onoff_description_item_create();
 
        elm_object_part_content_set(layout, "elm.swallow.content",
@@ -1033,7 +1041,7 @@ static void __viewer_manager_create_wifi_ug_content(Evas_Object *layout,
        edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm");
        edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm");
 
-       __viewer_manager_wifi_onoff_item_create(manager_object->list);
+       __viewer_manager_wifi_onoff_item_create(manager_object->list, UG_VIEW_DEFAULT);
        __viewer_manager_onoff_description_item_create();
 
        elm_object_part_content_set(layout, "elm.swallow.content", manager_object->list);
@@ -1064,6 +1072,38 @@ static void __viewer_manager_create_wifi_ug_content(Evas_Object *layout,
        __COMMON_FUNC_EXIT__;
 }
 
+static void __viewer_manager_create_oobe_content(Evas_Object *layout,
+               Evas_Object *_win_main)
+{
+       __COMMON_FUNC_ENTER__;
+
+       Elm_Object_Item *navi_it = NULL;
+
+       elm_layout_theme_set(layout, "layout", "application", "default");
+       edje_object_signal_emit(elm_layout_edje_get(layout), "elm,state,show,content", "elm");
+       edje_object_signal_emit(elm_layout_edje_get(layout), "elm,bg,show,group_list", "elm");
+
+       __viewer_manager_wifi_onoff_item_create(manager_object->list, UG_VIEW_OOBE);
+       __viewer_manager_onoff_description_item_create();
+
+       elm_object_part_content_set(layout, "elm.swallow.content", manager_object->list);
+
+       eext_object_event_callback_add(manager_object->nav, EEXT_CALLBACK_BACK,
+                       eext_naviframe_back_cb, NULL);
+
+       manager_object->navi_it = navi_it = elm_naviframe_item_push(manager_object->nav,
+                       NULL, NULL, NULL, layout, NULL);
+
+       elm_naviframe_item_title_enabled_set(manager_object->navi_it, EINA_FALSE, EINA_FALSE);
+       evas_object_data_set(manager_object->nav, SCREEN_TYPE_ID_KEY,
+                       (void *)VIEW_MANAGER_VIEW_TYPE_MAIN);
+       evas_object_smart_callback_add(manager_object->nav,
+                       "transition,finished", _transition_finished_main_cb, navi_it);
+       elm_naviframe_item_pop_cb_set(navi_it, _back_sk_cb, NULL);
+
+       __COMMON_FUNC_EXIT__;
+}
+
 #if 0 /* not used */
 Evas_Object *viewer_manager_create_bg(Evas_Object *parent, char *style)
 {
@@ -1125,6 +1165,9 @@ Evas_Object *viewer_manager_create(Evas_Object *_parent, Evas_Object *_win_main)
        /* Add layout for custom styles */
        elm_theme_extension_add(NULL, CUSTOM_EDITFIELD_PATH);
 
+       if (ug_app_state->ug_type == UG_VIEW_OOBE)
+               elm_theme_extension_add(NULL, OOBE_BUTTONS_EDJ_PATH);
+
        /* Add MainView Layout */
        view_content = elm_layout_add(manager_object->nav);
 
@@ -1135,6 +1178,8 @@ Evas_Object *viewer_manager_create(Evas_Object *_parent, Evas_Object *_win_main)
        /* Add app setup-wizard/wifi-ug specific contents */
        if (ug_app_state->ug_type == UG_VIEW_SETUP_WIZARD)
                __viewer_manager_create_setup_wizard_content(view_content);
+       else if (ug_app_state->ug_type == UG_VIEW_OOBE)
+               __viewer_manager_create_oobe_content(view_content, _win_main);
        else
                __viewer_manager_create_wifi_ug_content(view_content, _win_main);
 
index 1018cc7..77cc84b 100755 (executable)
@@ -676,7 +676,7 @@ void viewer_list_wifi_connect(wifi_device_info_t *device_info)
                /* TODO: finally parameter with wifi_manager_ap_h, WPA, EAP */
                ug_app_state->passpopup = create_passwd_popup(
                                ug_app_state->conformant,
-                               ug_app_state->layout_main, PACKAGE, &popup_info);
+                               ug_app_state->parent_layout, PACKAGE, &popup_info);
 
                if (ug_app_state->passpopup == NULL)
                        INFO_LOG(UG_NAME_ERR, "Fail to create password popup");
@@ -977,9 +977,15 @@ void viewer_list_title_item_set(Elm_Object_Item *item_header)
 
        //memset(&grouptitle_itc, 0, sizeof(grouptitle_itc));
        grouptitle_itc = elm_genlist_item_class_new();
-       grouptitle_itc->item_style = WIFI_GENLIST_GROUP_INDEX_STYLE;
-       grouptitle_itc->func.text_get = _gl_text_available_networks_get;
-       grouptitle_itc->func.content_get = _gl_content_scanning_icon_get;
+       if (wifi_get_ug_type() == UG_VIEW_OOBE) {
+               grouptitle_itc->item_style = WIFI_GENLIST_FULL_STYLE;
+               grouptitle_itc->func.text_get = NULL;
+               grouptitle_itc->func.content_get = NULL;
+       } else {
+               grouptitle_itc->item_style = WIFI_GENLIST_GROUP_INDEX_STYLE;
+               grouptitle_itc->func.text_get = _gl_text_available_networks_get;
+               grouptitle_itc->func.content_get = _gl_content_scanning_icon_get;
+       }
 
        grouptitle = elm_genlist_item_insert_after(viewer_list,
                        grouptitle_itc, NULL, NULL, item_header,
index 746d0c6..3381e9b 100755 (executable)
@@ -107,14 +107,7 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode,
 
                        if (g_strcmp0(caller, "pwlock") == 0) {
                                ugd->elm_conform = ug_get_conformant();
-                               ug_app_state->ug_type = UG_VIEW_SETUP_WIZARD;
-
-                               ug_app_state->rbutton_setup_wizard_next = g_strdup(sc(PACKAGE,
-                                       I18N_TYPE_Next));
-                               ug_app_state->rbutton_setup_wizard_skip = g_strdup(sc(PACKAGE,
-                                       I18N_TYPE_Skip));
-                               ug_app_state->lbutton_setup_wizard_prev = g_strdup(sc(PACKAGE,
-                                       I18N_TYPE_Prev));
+                               ug_app_state->ug_type = UG_VIEW_OOBE;
                        } else if (g_strcmp0(caller, "notification") == 0) {
                                /* Remove the "WiFi networks found" from the notification tray.*/
                                common_util_managed_idle_add(__wifi_efl_ug_del_found_ap_noti, NULL);
@@ -148,6 +141,7 @@ static void *on_create(ui_gadget_h ug, enum ug_mode mode,
        }
 
        ugd->win_main = ug_get_window();
+       ug_app_state->parent_layout = parent_layout;
        ug_app_state->gadget = ugd;
        ug_app_state->ug = ug;
        ug_app_state->conformant = ug_get_conformant();
@@ -592,6 +586,12 @@ bool wifi_is_scan_required(void)
 {
        return is_scan_reqd;
 }
+
+UG_TYPE wifi_get_ug_type(void)
+{
+       return ug_app_state->ug_type;
+}
+
 #if 0
 UG_MODULE_API int setting_plugin_search_init(app_control_h app_control, void *priv, char **domainname)
 {