Add option to disable toolbar on MiniBrowser. 61/8861/1
authorRafael Antognolli <rafael.antognolli@intel.com>
Wed, 28 Aug 2013 21:04:54 +0000 (18:04 -0300)
committerRafael Antognolli <rafael.antognolli@intel.com>
Wed, 28 Aug 2013 21:04:54 +0000 (18:04 -0300)
Tools/MiniBrowser/efl/main.c

index 474b7ba..849c11f 100755 (executable)
@@ -43,6 +43,7 @@ static Eina_List *windows = NULL;
 static char *evas_engine_name = NULL;
 static Eina_Bool frame_flattening_enabled = EINA_FALSE;
 static Eina_Bool fullscreen_enabled = EINA_FALSE;
+static Eina_Bool toolbar_enabled = EINA_TRUE;
 
 typedef struct _Browser_Window {
     Evas_Object *window;
@@ -69,6 +70,8 @@ static const Ecore_Getopt options = {
             ('f', "flattening", "frame flattening.", EINA_FALSE),
         ECORE_GETOPT_STORE_DEF_BOOL
             ('F', "full-screen", "start in full-screen.", EINA_FALSE),
+        ECORE_GETOPT_STORE_DEF_BOOL
+            ('T', "toolbar", "enable toolbar.", EINA_TRUE),
         ECORE_GETOPT_VERSION
             ('V', "version"),
         ECORE_GETOPT_COPYRIGHT
@@ -168,7 +171,8 @@ on_mouse_down(void *user_data, Evas *e, Evas_Object *webview, void *event_info)
     Evas_Event_Mouse_Down *ev = (Evas_Event_Mouse_Down *)event_info;
 
     /* Clear selection from the URL bar */
-    elm_entry_select_none(window->url_bar);
+    if (window->url_bar)
+        elm_entry_select_none(window->url_bar);
 
     if (ev->button == 1)
         view_focus_set(window, EINA_TRUE);
@@ -209,7 +213,8 @@ static void
 on_url_changed(void *user_data, Evas_Object *webview, void *event_info)
 {
     Browser_Window *window = (Browser_Window *)user_data;
-    elm_entry_entry_set(window->url_bar, ewk_view_url_get(window->webview));
+    if (window->url_bar)
+        elm_entry_entry_set(window->url_bar, ewk_view_url_get(window->webview));
 }
 
 static void
@@ -218,8 +223,10 @@ on_back_forward_list_changed(void *user_data, Evas_Object *webview, void *event_
     Browser_Window *window = (Browser_Window *)user_data;
 
     /* Update navigation buttons state */
-    elm_object_disabled_set(window->back_button, !ewk_view_back_possible(webview));
-    elm_object_disabled_set(window->forward_button, !ewk_view_forward_possible(webview));
+    if (window->back_button)
+        elm_object_disabled_set(window->back_button, !ewk_view_back_possible(webview));
+    if (window->forward_button)
+        elm_object_disabled_set(window->forward_button, !ewk_view_forward_possible(webview));
 }
 
 static void
@@ -432,60 +439,62 @@ static Browser_Window *window_create(const char *url)
     elm_win_resize_object_add(app_data->window, vertical_layout);
     evas_object_show(vertical_layout);
 
-    /* Create horizontal layout for top bar */
-    Evas_Object *horizontal_layout = elm_box_add(app_data->window);
-    elm_box_horizontal_set(horizontal_layout, EINA_TRUE);
-    evas_object_size_hint_weight_set(horizontal_layout, EVAS_HINT_EXPAND, 0.0);
-    evas_object_size_hint_align_set(horizontal_layout, EVAS_HINT_FILL, 0.0);
-    elm_box_pack_end(vertical_layout, horizontal_layout);
-    evas_object_show(horizontal_layout);
-
-    /* Create Back button */
-    app_data->back_button = create_toolbar_button(app_data->window, "arrow_left");
-    evas_object_smart_callback_add(app_data->back_button, "clicked", on_back_button_clicked, app_data);
-    elm_object_disabled_set(app_data->back_button, EINA_TRUE);
-    evas_object_size_hint_weight_set(app_data->back_button, 0.0, EVAS_HINT_EXPAND);
-    evas_object_size_hint_align_set(app_data->back_button, 0.0, 0.5);
-    elm_box_pack_end(horizontal_layout, app_data->back_button);
-    evas_object_show(app_data->back_button);
-
-    /* Create Forward button */
-    app_data->forward_button = create_toolbar_button(app_data->window, "arrow_right");
-    evas_object_smart_callback_add(app_data->forward_button, "clicked", on_forward_button_clicked, app_data);
-    elm_object_disabled_set(app_data->forward_button, EINA_TRUE);
-    evas_object_size_hint_weight_set(app_data->forward_button, 0.0, EVAS_HINT_EXPAND);
-    evas_object_size_hint_align_set(app_data->forward_button, 0.0, 0.5);
-    elm_box_pack_end(horizontal_layout, app_data->forward_button);
-    evas_object_show(app_data->forward_button);
-
-    /* Create URL bar */
-    app_data->url_bar = elm_entry_add(app_data->window);
-    elm_entry_scrollable_set(app_data->url_bar, EINA_TRUE);
-    elm_entry_single_line_set(app_data->url_bar, EINA_TRUE);
-    elm_entry_cnp_mode_set(app_data->url_bar, ELM_CNP_MODE_PLAINTEXT);
-    elm_entry_text_style_user_push(app_data->url_bar, "DEFAULT='font_size=18'");
-    evas_object_smart_callback_add(app_data->url_bar, "activated", on_url_bar_activated, app_data);
-    evas_object_smart_callback_add(app_data->url_bar, "clicked", on_url_bar_clicked, app_data);
-    evas_object_size_hint_weight_set(app_data->url_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
-    evas_object_size_hint_align_set(app_data->url_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
-    elm_box_pack_end(horizontal_layout, app_data->url_bar);
-    evas_object_show(app_data->url_bar);
-
-    /* Create Refresh button */
-    Evas_Object *refresh_button = create_toolbar_button(app_data->window, "refresh");
-    evas_object_smart_callback_add(refresh_button, "clicked", on_refresh_button_clicked, app_data);
-    evas_object_size_hint_weight_set(refresh_button, 0.0, EVAS_HINT_EXPAND);
-    evas_object_size_hint_align_set(refresh_button, 1.0, 0.5);
-    elm_box_pack_end(horizontal_layout, refresh_button);
-    evas_object_show(refresh_button);
-
-    /* Create Home button */
-    Evas_Object *home_button = create_toolbar_button(app_data->window, "home");
-    evas_object_smart_callback_add(home_button, "clicked", on_home_button_clicked, app_data);
-    evas_object_size_hint_weight_set(home_button, 0.0, EVAS_HINT_EXPAND);
-    evas_object_size_hint_align_set(home_button, 1.0, 0.5);
-    elm_box_pack_end(horizontal_layout, home_button);
-    evas_object_show(home_button);
+    if (toolbar_enabled) {
+        /* Create horizontal layout for top bar */
+        Evas_Object *horizontal_layout = elm_box_add(app_data->window);
+        elm_box_horizontal_set(horizontal_layout, EINA_TRUE);
+        evas_object_size_hint_weight_set(horizontal_layout, EVAS_HINT_EXPAND, 0.0);
+        evas_object_size_hint_align_set(horizontal_layout, EVAS_HINT_FILL, 0.0);
+        elm_box_pack_end(vertical_layout, horizontal_layout);
+        evas_object_show(horizontal_layout);
+
+        /* Create Back button */
+        app_data->back_button = create_toolbar_button(app_data->window, "arrow_left");
+        evas_object_smart_callback_add(app_data->back_button, "clicked", on_back_button_clicked, app_data);
+        elm_object_disabled_set(app_data->back_button, EINA_TRUE);
+        evas_object_size_hint_weight_set(app_data->back_button, 0.0, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(app_data->back_button, 0.0, 0.5);
+        elm_box_pack_end(horizontal_layout, app_data->back_button);
+        evas_object_show(app_data->back_button);
+
+        /* Create Forward button */
+        app_data->forward_button = create_toolbar_button(app_data->window, "arrow_right");
+        evas_object_smart_callback_add(app_data->forward_button, "clicked", on_forward_button_clicked, app_data);
+        elm_object_disabled_set(app_data->forward_button, EINA_TRUE);
+        evas_object_size_hint_weight_set(app_data->forward_button, 0.0, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(app_data->forward_button, 0.0, 0.5);
+        elm_box_pack_end(horizontal_layout, app_data->forward_button);
+        evas_object_show(app_data->forward_button);
+
+        /* Create URL bar */
+        app_data->url_bar = elm_entry_add(app_data->window);
+        elm_entry_scrollable_set(app_data->url_bar, EINA_TRUE);
+        elm_entry_single_line_set(app_data->url_bar, EINA_TRUE);
+        elm_entry_cnp_mode_set(app_data->url_bar, ELM_CNP_MODE_PLAINTEXT);
+        elm_entry_text_style_user_push(app_data->url_bar, "DEFAULT='font_size=18'");
+        evas_object_smart_callback_add(app_data->url_bar, "activated", on_url_bar_activated, app_data);
+        evas_object_smart_callback_add(app_data->url_bar, "clicked", on_url_bar_clicked, app_data);
+        evas_object_size_hint_weight_set(app_data->url_bar, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(app_data->url_bar, EVAS_HINT_FILL, EVAS_HINT_FILL);
+        elm_box_pack_end(horizontal_layout, app_data->url_bar);
+        evas_object_show(app_data->url_bar);
+
+        /* Create Refresh button */
+        Evas_Object *refresh_button = create_toolbar_button(app_data->window, "refresh");
+        evas_object_smart_callback_add(refresh_button, "clicked", on_refresh_button_clicked, app_data);
+        evas_object_size_hint_weight_set(refresh_button, 0.0, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(refresh_button, 1.0, 0.5);
+        elm_box_pack_end(horizontal_layout, refresh_button);
+        evas_object_show(refresh_button);
+
+        /* Create Home button */
+        Evas_Object *home_button = create_toolbar_button(app_data->window, "home");
+        evas_object_smart_callback_add(home_button, "clicked", on_home_button_clicked, app_data);
+        evas_object_size_hint_weight_set(home_button, 0.0, EVAS_HINT_EXPAND);
+        evas_object_size_hint_align_set(home_button, 1.0, 0.5);
+        elm_box_pack_end(horizontal_layout, home_button);
+        evas_object_show(home_button);
+    }
 
     /* Create webview */
     Evas *evas = evas_object_evas_get(app_data->window);
@@ -543,6 +552,7 @@ elm_main(int argc, char *argv[])
         ECORE_GETOPT_VALUE_BOOL(quitOption),
         ECORE_GETOPT_VALUE_BOOL(frame_flattening_enabled),
         ECORE_GETOPT_VALUE_BOOL(fullscreen_enabled),
+        ECORE_GETOPT_VALUE_BOOL(toolbar_enabled),
         ECORE_GETOPT_VALUE_BOOL(quitOption),
         ECORE_GETOPT_VALUE_BOOL(quitOption),
         ECORE_GETOPT_VALUE_BOOL(quitOption),