TizenRefApp-9570 [Task Manager] "Close All" button text cut in Slovencina language 36/155236/7
authorEvgen Servetnik <e.servetnik@samsung.com>
Thu, 12 Oct 2017 10:25:52 +0000 (13:25 +0300)
committerEvgen Servetnik <e.servetnik@samsung.com>
Tue, 17 Oct 2017 14:50:16 +0000 (17:50 +0300)
Change-Id: Ib05129d6be5c8706f83ae52fd3fb59bf34969a53
Signed-off-by: Evgen Servetnik <e.servetnik@samsung.com>
project_def.prop
res/edje/main-layout.edc
src/App/inc/CloseButton.h [new file with mode: 0644]
src/App/inc/MainController.h
src/App/inc/MainLayout.h
src/App/src/CloseButton.cpp [new file with mode: 0644]
src/App/src/MainController.cpp
src/App/src/MainLayout.cpp

index dc53df0..664549a 100644 (file)
@@ -9,7 +9,7 @@ type = app
 profile = wearable-4.0
 
 # C/CPP Sources
-USER_SRCS = src/App/src/IndexView.cpp src/Common/src/PathUtils.cpp src/App/src/DelButton.cpp src/App/src/TaskMngrService.cpp src/main.cpp src/App/src/MainLayout.cpp src/Common/src/View.cpp src/Common/src/Logger.cpp src/Common/src/Window.cpp src/App/src/App.cpp src/App/src/TaskListView.cpp src/App/src/TaskListViewItem.cpp src/App/src/MainController.cpp 
+USER_SRCS = src/App/src/IndexView.cpp src/Common/src/PathUtils.cpp src/App/src/DelButton.cpp src/App/src/TaskMngrService.cpp src/main.cpp src/App/src/CloseButton.cpp src/App/src/MainLayout.cpp src/Common/src/View.cpp src/Common/src/Logger.cpp src/Common/src/Window.cpp src/App/src/App.cpp src/App/src/TaskListView.cpp src/App/src/TaskListViewItem.cpp src/App/src/MainController.cpp 
 
 # EDC Sources
 USER_EDCS =  
index f60927f..748da29 100644 (file)
@@ -97,73 +97,19 @@ collections {
                state : "default" 0.0;
             }
          }
-         part {
-            name: "close_all_bg";
-            type: IMAGE;
-            scale: 1;
-            mouse_events: 1;
-            description {
-               state: "default" 0.0;
-               rel1 { relative: 0.5 1.0; to: "bg"; }
-               rel2 { relative: 0.5 1.0; to: "bg"; }
-               image {
-                  normal: "tw_bottom_btn_bg.png";
-               }
-               align: 0.5 1.0;
-               fixed : 1 1;
-               min : 360 83;
-               max : 360 83;
-               color: 0 53 74 230;
-               visible: 0;
-            }
-            description {
-               state: "pressed" 0.0;
-               inherit: "default" 0.0;
-               color: 0 122 171 230;
-               visible: 1;
-            }
-            description {
-               state: "show" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
-            }
-            description {
-               state: "disabled" 0.0;
-               inherit: "default" 0.0;
-               color: 33 33 33 255;
-               visible: 1;
-            }
-         }
-         part {
-            name: "close_all_text";
-            type: TEXTBLOCK;
+         part { name: "swl.bottom_button";
+            type: SWALLOW;
             scale: 1;
-            repeat_events: 1;
-            description {
-               state: "default" 0.0;
-               rel1 { relative: 0.0 0.0; to: "close_all_bg"; }
-               rel2 { relative: 1.0 1.0; to: "close_all_bg"; }
-               min : 160 37;
-               max : 160 37;
-               align: 0.5 0.5;
-               fixed: 1 1;
-               visible: 0;
-               text {
-                  text_class: "AT013";
-                  style : style_no_apps;
-                  min : 0 1;
-                  align : 0.5 0.5;
-               }
+            description { state: "default" 0.0;
+                visible: 0;
             }
-            description {
-               state: "pressed" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
+            description { state: "show" 0.0;
+                inherit: "default" 0.0;
+                visible: 1;
             }
-            description {
-               state: "show" 0.0;
-               inherit: "default" 0.0;
-               visible: 1;
+            description { state: "hide" 0.0;
+                inherit: "default" 0.0;
+                visible: 0;
             }
          }
       }
@@ -183,43 +129,18 @@ collections {
             target : "swl.bg";
          }
          program {
-            name : "close,clicked";
-            signal : "mouse,clicked,1";
-            source : "close_all_bg";
-            action : SIGNAL_EMIT "close_button,clicked" "clicked";
-         }
-         program {
-            name : "close,pressed";
-            signal : "mouse,down,1";
-            source : "close_all_bg";
-            action : STATE_SET "pressed" 0.0;
-            target : "close_all_text";
-            target : "close_all_bg";
-         }
-         program {
-            name : "close,unpressed";
-            signal : "mouse,up,1";
-            source : "close_all_bg";
-            action : STATE_SET "show" 0.0;
-            target : "close_all_text";
-            target : "close_all_bg";
-            transition : LINEAR 0.15;
-         }
-         program {
             name : "show_close";
             signal : "show_close";
             source : "*";
             action : STATE_SET "show" 0.0;
-            target : "close_all_text";
-            target : "close_all_bg";
+            target : "swl.bottom_button";
          }
          program {
             name : "hide_close";
             signal : "hide_close";
             source : "*";
             action : STATE_SET "default" 0.0;
-            target : "close_all_text";
-            target : "close_all_bg";
+            target : "swl.bottom_button";
          }
          program {
             name : "closeall";
diff --git a/src/App/inc/CloseButton.h b/src/App/inc/CloseButton.h
new file mode 100644 (file)
index 0000000..2867dc6
--- /dev/null
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * 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 APP_SRC_CLOSEBUTTON_H_
+#define APP_SRC_CLOSEBUTTON_H_
+
+#include <View.h>
+
+namespace TaskMngr {
+       class CloseButton
+               : public View {
+
+               public:
+                       CloseButton(Evas_Object *parent);
+                       Atspi getAtspi() const;
+                       Evas_Object *getInnerButton() const;
+
+               private:
+                       Atspi m_AoCloseAll;
+                       Evas_Object *m_pButton;
+       };
+} /* namespace TaskMngr */
+
+#endif /* APP_SRC_CLOSEBUTTON_H_ */
index f191aec..eac39ff 100644 (file)
 #ifndef MainController_h_
 #define MainController_h_
 
+#include <CloseButton.h>
 #include "MainLayout.h"
 #include "TaskListView.h"
 #include "IndexView.h"
 
+
 namespace TaskMngr {
        class MainController
                : public MainLayout
@@ -34,9 +36,6 @@ namespace TaskMngr {
                        void resume();
 
                protected:
-                       // MainLayout:
-                       void onCloseAllButtonClicked() override;
-
                        // ITaskListViewListener:
                        void onListChanged(TaskListView &obj, int itemsCount) override;
                        void onCurrentPageChanged(TaskListView &obj) override;
@@ -44,6 +43,8 @@ namespace TaskMngr {
                        void onItemBeforeDelete(TaskListViewItem &item) override;
 
                private:
+                       void onCloseAllButtonClicked(Evas_Object *obj, void *event_info);
+
                        void update();
                        void updateIndex(int itemsCount);
                        void updateNoContents(int itemsCount);
index 157bc79..ac45fc0 100644 (file)
@@ -47,13 +47,14 @@ namespace TaskMngr {
                         * @param[in] show true to show, false otherwise
                         */
                        void showCloseButton(bool show);
-
-               protected:
-                       virtual void onCloseAllButtonClicked() {};
+                       /**
+                        * @brief Set given object as close button
+                        * @param[in] pointer to evas obj
+                        */
+                       void setCloseButton(Evas_Object *obj);
 
                private:
                        void prepareNoContents();
-                       Eina_Bool onScreenReaderCloseAllClicked(Evas_Object *obj, Elm_Access_Action_Info *action_info);
 
                private:
                        Evas_Object *m_pNoContent;
diff --git a/src/App/src/CloseButton.cpp b/src/App/src/CloseButton.cpp
new file mode 100644 (file)
index 0000000..842ab90
--- /dev/null
@@ -0,0 +1,31 @@
+#include <CloseButton.h>
+
+using namespace TaskMngr;
+
+CloseButton::CloseButton(Evas_Object *parent)
+       : m_pButton(nullptr)
+{
+       setEo(elm_layout_add(parent));
+       elm_layout_theme_set(getEo(), "layout", "bottom_button", "default");
+       m_pButton = elm_button_add(getEo());
+       elm_object_style_set(m_pButton, "bottom");
+       setContent(m_pButton, "elm.swallow.button");
+
+       m_AoCloseAll = Atspi(m_pButton);
+       m_AoCloseAll.setName(msg("WDS_ST_ACBUTTON_CLOSE_ALL_ABB"));
+       m_AoCloseAll.setDescription(msg("IDS_ACCS_BODY_BUTTON_TTS"));
+       m_AoCloseAll.setReadingInfo(ELM_ACCESSIBLE_READING_INFO_TYPE_NAME | ELM_ACCESSIBLE_READING_INFO_TYPE_DESCRIPTION);
+       View::setText(m_pButton, msgt("WDS_ST_ACBUTTON_CLOSE_ALL_ABB"));
+}
+
+Atspi CloseButton::getAtspi() const
+{
+       return m_AoCloseAll;
+}
+
+Evas_Object *CloseButton::getInnerButton() const
+{
+       return m_pButton;
+}
+
+
index bbb87ff..13b3817 100644 (file)
@@ -18,6 +18,9 @@
 #include "Logger.h"
 #include "App.h"
 
+#include "Callback.h"
+
+
 using namespace TaskMngr;
 
 MainController::MainController(Evas_Object *parent)
@@ -32,6 +35,11 @@ MainController::MainController(Evas_Object *parent)
 
        m_pIndexView = new IndexView(getEo());
        setIndex(*m_pIndexView);
+
+       auto closeButton = new CloseButton(getEo());
+       evas_object_smart_callback_add(closeButton->getInnerButton(), "clicked", makeCbFirst(&MainController::onCloseAllButtonClicked), this);
+       setCloseButton(*closeButton);
+
        update();
 }
 
@@ -85,7 +93,7 @@ void MainController::resume()
        LOG("");
 }
 
-void MainController::onCloseAllButtonClicked()
+void MainController::onCloseAllButtonClicked(Evas_Object *obj, void *event_info)
 {
        LOG("");
        m_pTaskListView->killAll();
index 97e308e..ce2d910 100644 (file)
@@ -27,23 +27,6 @@ MainLayout::MainLayout(Evas_Object *parent)
        : m_pNoContent(nullptr)
 {
        setEo(View::addLayout(parent, MAINT_LAYOUT_EDJ, "main_layout"));
-       addSignalCb
-       (
-               "close_button,clicked",
-               "clicked",
-               [](void *data, Evas_Object *obj, const char *emission, const char *source)
-               {
-                       static_cast<MainLayout*>(data)->onCloseAllButtonClicked();
-               }, this);
-       showCloseButton(true);
-       setText(msg("WDS_ST_ACBUTTON_CLOSE_ALL_ABB"), "close_all_text");
-
-       const Evas_Object *closeAll = edje_object_part_object_get(getEdje(), "close_all_text");
-       Atspi aoCloseAll = elm_access_object_register((Evas_Object*)closeAll, getEo());
-       aoCloseAll.setName(msg("WDS_ST_ACBUTTON_CLOSE_ALL_ABB"));
-       aoCloseAll.setDescription(msg("IDS_ACCS_BODY_BUTTON_TTS"));
-       aoCloseAll.setReadingInfo(ELM_ACCESSIBLE_READING_INFO_TYPE_NAME | ELM_ACCESSIBLE_READING_INFO_TYPE_DESCRIPTION);
-       aoCloseAll.setAccessActionCb(ELM_ACCESS_ACTION_ACTIVATE, makeCbFirst(&MainLayout::onScreenReaderCloseAllClicked), this);
 }
 
 MainLayout::~MainLayout()
@@ -60,6 +43,11 @@ void MainLayout::setIndex(Evas_Object *obj)
        setContent(obj, "swl.index");
 }
 
+void MainLayout::setCloseButton(Evas_Object *obj)
+{
+       setContent(obj, "swl.bottom_button");
+}
+
 void MainLayout::prepareNoContents()
 {
        if (m_pNoContent)
@@ -87,9 +75,3 @@ void MainLayout::showCloseButton(bool show)
        const char *sig = show ? "show_close" : "hide_close";
        emitSignal(sig, "*");
 }
-
-Eina_Bool MainLayout::onScreenReaderCloseAllClicked(Evas_Object *obj, Elm_Access_Action_Info *action_info)
-{
-       onCloseAllButtonClicked();
-       return true;
-}