#include <algorithm>
#include <notification.h>
-#define TITLE_BUFFER_SIZE 32
+#define TITLE_BUFFER_SIZE 64
#define POPUP_BUFFER_SIZE 256
using namespace Ux;
{
updatePageTitle();
updatePageButtons();
+
+ evas_object_smart_callback_add(getEvasObject(), "language,changed",
+ [](void *data, Evas_Object *, void *) {
+ ((SelectView *) data)->updatePageTitle();
+ }, this);
}
bool SelectView::onBackPressed()
+++ /dev/null
-/*
- * Copyright 2016 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 COMMON_STRINGS_H
-#define COMMON_STRINGS_H
-
-#include "Ux/SelectView.h"
-
-#include <tizen.h>
-
-namespace Common
-{
- /**
- * @return Default translatable strings table for Ux::SelectView.
- */
- EXPORT_API const Ux::SelectView::Strings &getSelectViewStrings();
-}
-
-#endif /* COMMON_STRINGS_H */
+++ /dev/null
-/*
- * Copyright 2016 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.
- */
-
-#include "Common/Strings.h"
-
-namespace
-{
- Ux::SelectView::Strings selectViewStrings = {
- "IDS_MEMO_HEADER_SELECT_ALL_ABB3",
- "IDS_TPLATFORM_ACBUTTON_DELETE_ABB",
- "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB",
- "IDS_MEMO_BODY_MEMO",
- "IDS_MEMO_BODY_MEMO",
- "IDS_MEMO_HEADER_SELECT_MEMOS_ABB",
- "%d memos selected",
- "%zu/%zu",
- //FIXME: Find correct string MAXIMUM_NUMBER_OF_ITEMS_THAT_CAN_BE_SELECTED_HAS_BEEN_EXCEEDED.
- ""
- };
-}
-
-const Ux::SelectView::Strings &Common::getSelectViewStrings()
-{
- return selectViewStrings;
-}
virtual void onSelectModeChanged(Ux::SelectMode selectMode) override;
void onDeleteSelected();
+ void onDeleteFinished();
+
void onSearchSelected();
+ void onSearchFinished();
- Ui::Gengrid *createGrid(Evas_Object *parent);
- Evas_Object *createAddButton(Evas_Object *parent);
+ Evas_Object *createContent(Evas_Object *parent);
Evas_Object *createNoContent(Evas_Object *parent);
+ Evas_Object *createSearchBar(Evas_Object *parent);
+ Evas_Object *createAddButton(Evas_Object *parent);
void updateAddButton();
void updateEmptyState();
void updateTitle();
- void onAddPressed(Evas_Object *button, void *eventInfo);
- void onMemoListReceived();
void onSearchResultChanged(MemoSearchItem *item, const Model::SearchResult *result);
void onMemoUpdated(MemoSearchItem *memoItem, int changes);
void onMemoDeleted(MemoSearchItem *memoItem);
- void onMemoInserted(Model::DataItem &memo);
-
- void onSelectFinished();
-
- void onSearchStarted();
- void onSearchChanged(const char *text);
- void onSearchFinished();
+ void onMemoInserted(Model::DataItem &dataItem);
- MemoSearchItem *createItem(Model::DataItem &memo);
+ MemoSearchItem *createItem(Model::DataItem &dataItem);
void insertItem(MemoSearchItem *item);
bool isEmpty() const;
- Common::Model::MemoProvider m_DataProvider;
- Model::SearchProvider m_SearchProvider;
- Evas_Object *m_AlignLayout;
Evas_Object *m_Bg;
- Evas_Object *m_AddButton;
+ Evas_Object *m_Content;
+ Ui::Gengrid *m_Gengrid;
SearchBar *m_SearchBar;
- Ui::Gengrid *m_GenGrid;
- bool m_SearchMode;
+ Evas_Object *m_AddButton;
+ bool m_IsSearching;
+
+ Common::Model::MemoProvider m_DataProvider;
+ Model::SearchProvider m_SearchProvider;
};
}
namespace Model
{
class SearchData;
- class SearchResult;
}
namespace List
{
+ class SearchMultiResult;
+
/**
* @brief Memo search grid item.
*/
/**
* @return Current search result or nullptr if item doesn't match.
*/
- const Model::SearchResult *getSearchResult() const;
+ const SearchMultiResult *getSearchResult() const;
/**
- * @brief Set current search result to highlight it in the item.
- * @param[in] result Search result for this item
+ * @brief Update the item to highlight current search result.
*/
- void setSearchResult(const Model::SearchResult *result);
+ void updateSearchResult();
protected:
virtual char *getText(Evas_Object *parent, const char *part) override;
private:
Model::SearchData &m_SearchData;
- bool m_Highlight;
};
}
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "سيتم عرض المذكرات هنا بعد إنشائها."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "تم تحديد %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "تم بلوغ الحد الأقصى لعدد الصور (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "موافق"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "تحديد مذكرة"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Yaddaş qeydləri yaratdıqdan sonra onlar burada görünəcək."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d seçilmişdir"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Şəkillərin sayı maksimuma (%d) çatıb."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Yaddaş seç"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "След като създадете паметни бележки, те ще се покажат тук."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d избрани"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Достигнат е максималният брой изображения (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Избор на записка"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Quan hagi creat notes, es mostraran aquí."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d seleccionat"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "S'ha assolit el nombre màxim d'imatges (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "Acceptar"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Seleccionar nota"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Až vytvoříte poznámky, zobrazí se zde."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Vybráno %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Bylo dosaženo maximálního počtu obrázků (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Zvolit poznámku"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Når du har oprettet notater, vises de her."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d valgt"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Det maksimale antal billeder (%d) er nået."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Vælg notat"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Nach dem Erstellen von Memos werden diese hier angezeigt."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d ausgewählt."
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maximale Anzahl an Bildern (%d) erreicht."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Memo wählen"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Τα στοιχεία θα εμφανιστούν εδώ, μετά την δημιουργία σημειωμάτων."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Επιλέχθ. %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Συμπληρώθηκε ο μέγιστος αριθμός εικόνων (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Επιλογή σημειώματος"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "After you create memos, they will be shown here."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selected"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maximum number of images (%d) reached."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Select memo"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "After you create memos, they will be shown here."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selected"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maximum number of images (%d) reached."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Select memo"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "After you create memos, they will be shown here."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selected"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maximum number of images (%d) reached."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Select memo"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Después de crear notas, se mostrarán aquí."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selecc."
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Se ha alcanzado el número máximo de imágenes (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "Aceptar"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Seleccionar nota"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Cuando se crean notas, éstas se mostrarán aquí."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selecc."
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Se alcanzó el número máximo de imágenes (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "Aceptar"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Seleccionar nota"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Memod kuvatakse siin pärast nende loomist."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d on valitud"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Piltide maksimaalne arv (%d) on saavutatud."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Vali memo"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Oroigarriak sortu ondoren, hemen erakutsiko dira."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d aukeratuta"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Gehieneko irudi kopurura (%d) iritsi zara."
msgid "IDS_MEMO_SK_OK"
msgstr "Ados"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Aukeratu oroigarria"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Kun olet luonut muistioita, ne näytetään täällä."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d valittu"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Kuvien enimmäismäärä (%d) on saavutettu."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Valitse muistio"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Les mémos créés seront affichés ici."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d sélection."
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Nombre maximum d'images (%d) atteint."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Sélectionner mémo"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Les mémos créés seront affichés ici."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d sélection."
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Nombre maximum d'images (%d) atteint."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Sélectionner note"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Tar éis duit meabhráin a chruthú, taispeánfar anseo iad."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d roghnaithe"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Uaslíon na n-íomhánna (%d) bainte amach."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Roghnaigh meabhrán"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Despois de crear notas, estas amosaranse aquí."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d seleccion."
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Alcanzouse o número máximo de imaxes (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "Aceptar"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Seleccionar nota"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Nakon što kreirate podsjetnike, prikazat će se ovdje."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d odabrano"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Dostignut maksimalni broj slika (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "U redu"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Odaberite bilješku"
+
msgstr "Adja meg az aktuális PIN-t"
msgid "IDS_MEMO_BODY_THE_PINS_DO_NOT_MATCH"
-msgstr "A PIN kódok nem egyeznek."
+msgstr "A PIN-kódok nem egyeznek."
msgid "IDS_MEMO_BODY_CREATE_QUICK_MEMOS_AT_ANY_TIME_BY_COPYING_TEXT_AND_TAPPING_THE_QUICK_MEMO_ICON_N_NTAP_HERE_TO_CREATE_A_QUICK_MEMO"
msgstr "Bármikor létrehozhat gyorsjegyzetet úgy, hogy a vágólapra másolja a kívánt szöveget, és megérinti a Gyorsjegyzet ikont.\n\nÉrintse meg itt gyorsjegyzet létrehozásához."
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Itt jelennek majd meg a létrehozott jegyzetek."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d kijelölve"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Elérte a képek maximális számát (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Jegyzet kiválasztása"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Ստեղծումից հետո հուշակները կցուցադրվեն այստեղ:"
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d ընտրված"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Հասել է պատկերների առավելագույն քանակին (%d):"
msgid "IDS_MEMO_SK_OK"
msgstr "Ընդունել"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Ընտրել հուշագիր"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Minnismiðar birtast hér eftir að þeir eru búnir til."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d valið"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Hámarksfjölda mynda (%d) hefur verið náð."
msgid "IDS_MEMO_SK_OK"
msgstr "Í lagi"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Velja minnismiða"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Una volta creati, i promemoria vengono visualizzati qui."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selezionate"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Il numero massimo di immagini (%d) è stato raggiunto."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Seleziona promemoria"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "メモを作成すると、ここに表示されます。"
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d件選択"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "画像の最大件数(%d件)に達しました。"
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "メモを選択"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "როდესაც შეხსენებებს შექმნით, ისინი გამოჩნდება აქ."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d არჩეულია"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "მიღწეულია სურათების მაქსიმალური რაოდენობა (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "კი"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "შეხსენების შერჩევა"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Жазбалар жасағаннан кейін, олар осы жерде көрсетіледі."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d таңдалды"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Ең көп суреттер санына (%d) жетті."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Ескерту таңдау"
+
msgstr "메모가 없습니다"
msgid "IDS_MEMO_TPOP_MAXIMUM_IMAGE_SIZE_EXCEEDED_RESIZING_ING"
-msgstr "ìµ\9cë\8c\80 ì\9d´ë¯¸ì§\80 í\81¬ê¸°ë¥¼ ì´\88ê³¼í\95\98ì\98\80습니다. 크기 조절 중..."
+msgstr "ìµ\9cë\8c\80 ì\9d´ë¯¸ì§\80 í\81¬ê¸°ë¥¼ ì´\88ê³¼í\96\88습니다. 크기 조절 중..."
msgid "IDS_MEMO_OPT_REMOVE"
msgstr "삭제"
msgstr "검색 결과가 없습니다"
msgid "IDS_MEMO_TPOP_CONTENT_ADDED_TO_QUICK_MEMO"
-msgstr "í\80µ ë©\94모ì\97\90 ë\82´ì\9a©ì\9d\84 ì¶\94ê°\80í\95\98ì\98\80습니다."
+msgstr "í\80µ ë©\94모ì\97\90 ë\82´ì\9a©ì\9d\84 ì¶\94ê°\80í\96\88습니다."
msgid "IDS_MEMO_HEADER_ENTER_PIN"
msgstr "PIN 입력"
msgstr "통화 중에는 재생할 수 없습니다."
msgid "IDS_MEMO_TPOP_RECORDING_SAVED"
-msgstr "ë\85¹ì\9d\8cì\9d\84 ì \80ì\9e¥í\95\98ì\98\80습니다."
+msgstr "ë\85¹ì\9d\8cì\9d\84 ì \80ì\9e¥í\96\88습니다."
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED"
msgstr "%d자까지 입력할 수 있습니다."
msgstr "디바이스에 저장공간이 부족하여 오디오를 녹음할 수 없습니다."
msgid "IDS_MEMO_TPOP_MAXIMUM_RECORDING_TIME_REACHED"
-msgstr "ìµ\9cë\8c\80 ì´¬ì\98\81 ì\8b\9cê°\84ì\97\90 ë\8f\84ë\8b¬í\95\98ì\98\80습니다."
+msgstr "ìµ\9cë\8c\80 ì´¬ì\98\81 ì\8b\9cê°\84ì\97\90 ë\8f\84ë\8b¬í\96\88습니다."
msgid "IDS_MEMO_POP_THIS_QUICK_MEMO_WILL_BE_DELETED_MSG"
msgstr "이 퀵 메모를 삭제합니다.\n\n텍스트를 복사하고 퀵 메모 아이콘을 눌러 언제든지 새 퀵 메모를 추가하세요."
msgstr "공유"
msgid "IDS_MEMO_POP_DELETED"
-msgstr "ì\82ì \9cí\95\98ì\98\80습니다."
+msgstr "ì\82ì \9cí\96\88습니다."
msgid "IDS_MEMO_POP_THIS_MEMO_WILL_BE_DELETED"
msgstr "메모를 삭제합니다."
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "새 메모를 추가하면 여기에 표시됩니다."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d개 선택"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
-msgstr "ìµ\9cë\8c\80 ì\9d´ë¯¸ì§\80 ì\88\98(%d)ì\97\90 ë\8f\84ë\8b¬í\95\98ì\98\80습니다."
+msgstr "ìµ\9cë\8c\80 ì\9d´ë¯¸ì§\80 ì\88\98(%d)ì\97\90 ë\8f\84ë\8b¬í\96\88습니다."
msgid "IDS_MEMO_TPOP_FAILED_TO_INSERT_IMAGE"
-msgstr "ì\9d´ë¯¸ì§\80를 ì\82½ì\9e\85í\95\98ì§\80 못í\95\98ì\98\80습니다."
+msgstr "ì\9d´ë¯¸ì§\80를 ì\82½ì\9e\85í\95\98ì§\80 못í\96\88습니다."
msgid "IDS_IDLE_HEADER_NOT_ENOUGH_SPACE_ABB2"
msgstr "저장공간 부족"
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED"
-msgstr "ìµ\9cë\8c\80 ê¸\80ì\9e\90 ì\88\98ì\97\90 ë\8f\84ë\8b¬í\95\98ì\98\80습니다."
+msgstr "ìµ\9cë\8c\80 ê¸\80ì\9e\90 ì\88\98ì\97\90 ë\8f\84ë\8b¬í\96\88습니다."
msgid "IDS_MEMO_TPOP_RESOLUTION_NOT_SUPPORTED_BY_MEMO"
msgstr "메모 앱에서 지원되지 않는 해상도입니다."
msgstr "녹음 내용 저장 안 함"
msgid "IDS_MEMO_TPOP_RECORDING_CANCELLED_RECORDING_TOO_SHORT"
-msgstr "ë\85¹ì\9d\8c ì\8b\9cê°\84ì\9d´ ë\84\88무 ì§§ì\95\84 ë\85¹ì\9d\8cì\9d\84 ì·¨ì\86\8cí\95\98ì\98\80습니다."
+msgstr "ë\85¹ì\9d\8c ì\8b\9cê°\84ì\9d´ ë\84\88무 ì§§ì\95\84 ë\85¹ì\9d\8cì\9d\84 ì·¨ì\86\8cí\96\88습니다."
msgid "IDS_MEMO_SK_OK"
msgstr "확인"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "메모 선택"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Kai sukursite įrašų, jie bus rodomi čia."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Pasirinkta: %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Pasiektas didžiausias vaizdų skaičius (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "Gerai"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Pasirinkite įrašą"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Pēc atgādņu izveides tās tiks parādītas šeit."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Izvēlētas %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Sasniegts maksimālais attēlu skaits (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "Labi"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Piezīmes izvēle"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Откако ќе направите белешки, ќе се прикажат тука."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d избрани"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Достигнат е максималниот број слики (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Избери белешка"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Når du har opprettet notater, vises de her."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d valgt"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maksimalt antall bilder (%d) er nådd."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Velg notat"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Nadat u notities hebt gemaakt, worden ze hier weergegeven."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d geselecteerd"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maximumaantal afbeeldingen (%d) bereikt."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Notitie selecteren"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Notatki będą tutaj widoczne po ich utworzeniu."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Wybranych: %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Osiągnięto maksymalną liczbę obrazów (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Zaznaczanie notatki"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Após criar lembretes, eles serão exibidos aqui."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selecionado(s)"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Número máximo de imagens (%d) atingido."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Selecionar nota"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Depois de criar memorandos, estes serão mostrados aqui."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d seleccionada(s)"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Número máximo de imagens (%d) atingido."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Seleccionar memorando"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "După ce creați notițe, acestea vor fi afișate aici."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d selectate"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "A fost atins numărul maxim de imagini (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Selectare notă"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Здесь выводятся созданные записки."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Выбрано: %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Достигнуто максимальное число изображений (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Выберите заметку"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Po vytvorení pripomienok sa zobrazia tu."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Vybraté: %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Dosiahol sa maximálny počet fotografií (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Vyberte poznámku"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Ko ustvarite beležke, bodo prikazane tukaj."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Izbranih: %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Doseženo je največje dovoljeno število slik (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "V redu"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Izberi beležko"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Nakon što kreiraš beleške, one će se prikazati ovde."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d je izabrano"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Dostignut je maksimalan broj slika (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Izaberi belešku"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "När du har skapat memon visas de här."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d valda"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Det högsta antalet bilder (%d) har uppnåtts."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Välj memo"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Notlar oluşturulduktan sonra burada gösterilir."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d seçildi"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Maksimum resim sayısına (%d) ulaşıldı."
msgid "IDS_MEMO_SK_OK"
msgstr "Tamam"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Not seçin"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Після створення нагадувань їх буде відображено тут."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "Вибрано: %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Досягнуто максимальної кількості зображень (%d)."
msgid "IDS_MEMO_SK_OK"
msgstr "ОК"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Вибрати нагадування"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "Yozuvlarni yaratganingizdan so‘ng, ular bu yerda ko‘rsatiladi."
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%dta tanlandi"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "Tasvirlar soni maksimal miqdorga (%d) yetdi."
msgid "IDS_MEMO_SK_OK"
msgstr "OK"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "Yozuv tanlash"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "在您创建备忘录后,其将显示在此处。"
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "已选择 %d"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "已达到最大图片数 (%d)"
msgid "IDS_MEMO_SK_OK"
msgstr "确定"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "选择备忘录"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "在您建立備忘錄後,將顯示於此。"
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d 已選擇"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "已達圖像數量上限 (%d)。"
msgid "IDS_MEMO_SK_OK"
msgstr "確定"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "選擇備忘錄"
+
msgid "IDS_MEMO_BODY_AFTER_YOU_CREATE_MEMOS_THEY_WILL_BE_SHOWN_HERE"
msgstr "建立備忘錄後,將顯示於此。"
+msgid "IDS_MEMO_HEADER_PD_SELECTED_ABB2"
+msgstr "%d 已選擇"
+
msgid "IDS_MEMO_TPOP_MAXIMUM_NUMBER_OF_IMAGES_HPD_REACHED"
msgstr "已達圖像數量上限 (%d)。"
msgid "IDS_MEMO_SK_OK"
msgstr "確定"
+msgid "IDS_MEMO_HEADER_SELECT_MEMO_ABB"
+msgstr "選擇備忘錄"
+
#include "List/MemoComparator.h"
#include "List/MemoSearchItem.h"
#include "List/SearchBar.h"
-
-#include "Input/InputView.h"
#include "Input/DetailsView.h"
#include "App/Path.h"
#include "Ui/Menu.h"
#include "Ui/Navigator.h"
#include "Utils/Callback.h"
-#include "Utils/Logger.h"
-#include "Ux/SelectAllItem.h"
-
-#include "Common/Model/Memo.h"
-#include "Common/Strings.h"
-#include "Model/SearchData.h"
#include <efl_extension.h>
-#include <functional>
#include "ListLayout.h"
#include "MemoItemLayout.h"
#define GRID_COLS_L 3
#define GRID_ROWS_L 2
-using namespace List;
-using namespace Input;
using namespace Common::Model;
+using namespace Input;
+using namespace List;
using namespace Model;
-using namespace Ui;
using namespace Ux;
using namespace std::placeholders;
MemoListView::MemoListView()
- : m_SearchProvider(m_DataProvider, MemoComparator())
- , m_AlignLayout(nullptr)
- , m_Bg(nullptr)
- , m_AddButton(nullptr)
- , m_SearchBar(nullptr)
- , m_GenGrid(nullptr)
- , m_SearchMode(false)
+ : m_Bg(nullptr), m_Content(nullptr), m_Gengrid(nullptr),
+ m_SearchBar(nullptr), m_AddButton(nullptr),
+ m_IsSearching(false),
+ m_SearchProvider(m_DataProvider, MemoComparator())
{
- setStrings(Common::getSelectViewStrings());
+ setStrings({
+ "IDS_MEMO_HEADER_SELECT_ALL_ABB3",
+ "IDS_TPLATFORM_ACBUTTON_DELETE_ABB",
+ "IDS_TPLATFORM_ACBUTTON_CANCEL_ABB",
+ "IDS_MEMO_BODY_MEMO",
+ "IDS_MEMO_HEADER_SELECT_MEMO_ABB",
+ "IDS_MEMO_HEADER_SELECT_MEMOS_ABB",
+ "IDS_MEMO_HEADER_PD_SELECTED_ABB2",
+ "%zu/%zu",
+ ""
+ });
}
Evas_Object *MemoListView::onCreate(Evas_Object *parent)
m_Bg = elm_bg_add(layout);
elm_object_part_content_set(layout, "elm.swallow.bg", m_Bg);
- m_AlignLayout = elm_layout_add(layout);
- elm_layout_file_set(m_AlignLayout, App::getResourcePath(LIST_LAYOUT_PATH).c_str(), LIST_LAYOUT);
-
- m_GenGrid = createGrid(m_AlignLayout);
- elm_object_part_content_set(m_AlignLayout, PART_CONTENT, m_GenGrid->getEvasObject());
-
+ m_Content = createContent(layout);
m_AddButton = createAddButton(layout);
return layout;
}
void MemoListView::onCreated()
{
- m_SearchProvider.initialize(std::bind(&MemoListView::onMemoListReceived, this));
m_SearchProvider.setInsertCallback(std::bind(&MemoListView::onMemoInserted, this, _1));
+ m_SearchProvider.setUpdateFinishCallback(std::bind(&MemoListView::updateEmptyState, this));
+ m_SearchProvider.initialize([this] {
+ for (auto &dataItem : m_SearchProvider.getDataList()) {
+ MemoSearchItem *memoItem = createItem(*dataItem);
+ addSelectItem(memoItem);
+ insertItem(memoItem);
+ }
+
+ updateEmptyState();
+ });
updateAddButton();
}
-void MemoListView::onPageAttached(NavigatorPage *page)
+void MemoListView::onPageAttached(Ui::NavigatorPage *page)
{
updateTitle();
SelectView::onPageAttached(page);
void MemoListView::onMenuPressed()
{
- if (!isEmpty() && getSelectMode() != SelectMulti && !m_SearchMode) {
- Menu *menu = new Menu();
+ if (!isEmpty() && getSelectMode() != SelectMulti && !m_IsSearching) {
+ auto menu = new Ui::Menu();
menu->create(getEvasObject());
if (getSelectMode() == SelectNone) {
menu->addItem("IDS_MEMO_OPT_DELETE", std::bind(&MemoListView::onDeleteSelected, this));
bool MemoListView::onBackPressed()
{
- if (m_SearchMode) {
+ if (m_IsSearching) {
onSearchFinished();
return false;
}
void MemoListView::onRotationChanged(int degree)
{
if (degree == 0 || degree == 180) {
- m_GenGrid->setSize(GRID_COLS_P, GRID_ROWS_P);
+ m_Gengrid->setSize(GRID_COLS_P, GRID_ROWS_P);
elm_bg_file_set(m_Bg, App::getResourcePath(LIST_BG_P_PATH).c_str(), nullptr);
} else {
- m_GenGrid->setSize(GRID_COLS_L, GRID_ROWS_L);
+ m_Gengrid->setSize(GRID_COLS_L, GRID_ROWS_L);
elm_bg_file_set(m_Bg, App::getResourcePath(LIST_BG_L_PATH).c_str(), nullptr);
}
}
void MemoListView::onTitleChanged(const char *title)
{
- elm_object_translatable_part_text_set(m_AlignLayout, "text.title", title);
+ elm_object_translatable_part_text_set(m_Content, "text.title", title);
SelectView::onTitleChanged(title);
}
-void MemoListView::onSelectAllInsert(GenItem *item)
+void MemoListView::onSelectAllInsert(Ui::GenItem *item)
{
- Genlist *genlist = new Genlist();
- genlist->create(m_AlignLayout);
+ auto genlist = new Ui::Genlist();
+ genlist->create(m_Content);
genlist->insert(item);
elm_scroller_content_min_limit(genlist->getEvasObject(), EINA_FALSE, EINA_TRUE);
- elm_object_part_content_set(m_AlignLayout, PART_SELECT_ALL_ITEM, genlist->getEvasObject());
+ elm_object_part_content_set(m_Content, PART_SELECT_ALL_ITEM, genlist->getEvasObject());
evas_object_event_callback_add(genlist->getEvasObject(), EVAS_CALLBACK_RESIZE,
[](void *data, Evas *, Evas_Object *obj, void *) {
evas_object_geometry_get(obj, nullptr, nullptr, nullptr, &h);
auto view = (MemoListView *) data;
- view->m_GenGrid->setSizeAdjustment(0, h);
+ view->m_Gengrid->setSizeAdjustment(0, h);
}, this);
evas_object_event_callback_add(genlist->getEvasObject(), EVAS_CALLBACK_DEL,
[](void *data, Evas *, Evas_Object *, void *) {
auto view = (MemoListView *) data;
- view->m_GenGrid->setSizeAdjustment(0, 0);
+ view->m_Gengrid->setSizeAdjustment(0, 0);
}, this);
}
void MemoListView::onSelectModeChanged(SelectMode selectMode)
{
if (selectMode == SelectNone) {
- elm_object_part_content_set(m_AlignLayout, PART_SELECT_ALL_ITEM, nullptr);
+ elm_object_part_content_set(m_Content, PART_SELECT_ALL_ITEM, nullptr);
}
updateAddButton();
void MemoListView::onDeleteSelected()
{
- setCancelCallback([this]() {
- onSelectFinished();
+ setCancelCallback([this] {
+ onDeleteFinished();
return false;
});
setSelectCallback([this](SelectResults results) {
for (auto &&result : results) {
- m_DataProvider.deleteMemo((Memo*)result.value.data);
+ m_DataProvider.deleteMemo((Memo *) result.value.data);
}
- onSelectFinished();
+ onDeleteFinished();
return false;
});
setSelectMode(SelectMulti);
}
-void MemoListView::onSearchSelected()
+void MemoListView::onDeleteFinished()
{
- onSearchStarted();
+ setSelectMode(SelectNone);
+ setCancelCallback(nullptr);
+ setSelectCallback(nullptr);
}
-Gengrid *MemoListView::createGrid(Evas_Object *parent)
+void MemoListView::onSearchSelected()
{
- Gengrid *memoGrid = new Gengrid();
- memoGrid->create(parent);
- elm_gengrid_align_set(memoGrid->getEvasObject(), 0.0, 0.0);
+ m_IsSearching = true;
+ getPage()->setStyle("empty");
+ getPage()->setContent("title", createSearchBar(getEvasObject()));
+ updateAddButton();
+ updateTitle();
+}
- Evas_Object *edje = elm_layout_edje_get(memoGrid->getEvasObject());
- edje_object_color_class_set(edje, "gengrid/default/bg", 250, 250, 250, 0, 0,0,0,0,0,0,0,0);
+void MemoListView::onSearchFinished()
+{
+ delete m_SearchBar;
+ m_SearchBar = nullptr;
- return memoGrid;
+ m_SearchProvider.search("");
+ m_IsSearching = false;
+ getPage()->setStyle("basic");
+ updateAddButton();
+ updateTitle();
}
-Evas_Object *MemoListView::createAddButton(Evas_Object *parent)
+Evas_Object *MemoListView::createContent(Evas_Object *parent)
{
- Evas_Object *floatButton = eext_floatingbutton_add(parent);
- Evas_Object *button = elm_button_add(floatButton);
- elm_object_part_content_set(floatButton, "button1", button);
- evas_object_smart_callback_add(button, "clicked",
- makeCallback(&MemoListView::onAddPressed), this);
+ Evas_Object *layout = elm_layout_add(parent);
+ elm_layout_file_set(layout, App::getResourcePath(LIST_LAYOUT_PATH).c_str(), LIST_LAYOUT);
- Evas_Object *image = elm_image_add(button);
- elm_image_file_set(image, App::getResourcePath(LIST_ADD_BUTTON_ICON_PATH).c_str(), nullptr);
- elm_object_part_content_set(button, "icon", image);
+ m_Gengrid = new Ui::Gengrid();
+ m_Gengrid->create(layout);
+ elm_gengrid_align_set(m_Gengrid->getEvasObject(), 0.0, 0.0);
+ edje_object_color_class_set(elm_layout_edje_get(m_Gengrid->getEvasObject()),
+ "gengrid/default/bg", 250, 250, 250, 0, 0 ,0, 0, 0, 0, 0, 0, 0);
+ elm_object_part_content_set(layout, PART_CONTENT, m_Gengrid->getEvasObject());
- return floatButton;
+ return layout;
}
Evas_Object *MemoListView::createNoContent(Evas_Object *parent)
{
Evas_Object *layout = elm_layout_add(parent);
elm_layout_theme_set(layout, "layout", "nocontents", "default");
- if (m_SearchMode) {
+ if (m_IsSearching) {
elm_object_translatable_part_text_set(layout, "elm.text", "IDS_MEMO_NPBODY_NO_RESULTS_FOUND");
} else {
elm_object_translatable_part_text_set(layout, "elm.text", "IDS_MEMO_NPBODY_NO_MEMOS");
return layout;
}
+Evas_Object *MemoListView::createSearchBar(Evas_Object *parent)
+{
+ m_SearchBar = new SearchBar();
+ m_SearchBar->create(getEvasObject());
+ m_SearchBar->setBackCallback(std::bind(&MemoListView::onSearchFinished, this));
+ m_SearchBar->setChangeCallback([this](const char *text) {
+ m_SearchProvider.search(text);
+ });
+ return m_SearchBar->getEvasObject();
+}
+
+Evas_Object *MemoListView::createAddButton(Evas_Object *parent)
+{
+ Evas_Object *floatButton = eext_floatingbutton_add(parent);
+ Evas_Object *button = elm_button_add(floatButton);
+ elm_object_part_content_set(floatButton, "button1", button);
+ evas_object_smart_callback_add(button, "clicked", [](void *data, Evas_Object *, void *) {
+ auto view = (MemoListView *) data;
+ view->getNavigator()->navigateTo(new Input::InputView(Memo(), &view->m_DataProvider));
+ }, this);
+
+ Evas_Object *image = elm_image_add(button);
+ elm_image_file_set(image, App::getResourcePath(LIST_ADD_BUTTON_ICON_PATH).c_str(), nullptr);
+ elm_object_part_content_set(button, "icon", image);
+
+ return floatButton;
+}
+
void MemoListView::updateAddButton()
{
- if (!m_SearchMode && getSelectMode() == Ux::SelectNone) {
+ if (!m_IsSearching && getSelectMode() == Ux::SelectNone) {
elm_object_part_content_set(getEvasObject(), "elm.swallow.floatingbutton", m_AddButton);
} else {
- elm_object_part_content_unset(getEvasObject(), "elm.swallow.floatingbutton");
- evas_object_hide(m_AddButton);
+ evas_object_hide(elm_object_part_content_unset(getEvasObject(), "elm.swallow.floatingbutton"));
}
}
{
if (isEmpty()) {
Evas_Object *content = elm_object_part_content_unset(getEvasObject(), "elm.swallow.content");
- if (content == m_AlignLayout) {
+ if (content == m_Content) {
evas_object_hide(content);
} else {
evas_object_del(content);
}
elm_object_part_content_set(getEvasObject(), "elm.swallow.content", createNoContent(getEvasObject()));
} else {
- elm_object_part_content_set(getEvasObject(), "elm.swallow.content", m_AlignLayout);
+ elm_object_part_content_set(getEvasObject(), "elm.swallow.content", m_Content);
}
updateTitle();
}
void MemoListView::updateTitle()
{
- if (getSelectMode() == SelectMulti || m_SearchMode || isEmpty()) {
- elm_object_signal_emit(m_AlignLayout, SIGNAL_TITLE_HIDE, "*");
+ if (getSelectMode() == SelectMulti || m_IsSearching || isEmpty()) {
+ elm_object_signal_emit(m_Content, SIGNAL_TITLE_HIDE, "*");
getPage()->setTitleVisibility(true);
} else {
getPage()->setTitleVisibility(false);
- elm_object_signal_emit(m_AlignLayout, SIGNAL_TITLE_SHOW, "*");
+ elm_object_signal_emit(m_Content, SIGNAL_TITLE_SHOW, "*");
}
}
-void MemoListView::onAddPressed(Evas_Object *button, void *eventInfo)
-{
- Memo memo;
- getNavigator()->navigateTo(new Input::InputView(std::move(memo), &m_DataProvider));
-}
-
-void MemoListView::onMemoListReceived()
-{
- for (auto &dataItem : m_SearchProvider.getDataList()) {
- MemoSearchItem *memoItem = createItem(*dataItem);
- addSelectItem(memoItem);
- insertItem(memoItem);
- }
-
- updateEmptyState();
-}
-
void MemoListView::onSearchResultChanged(MemoSearchItem *item, const SearchResult *result)
{
- if (!m_SearchMode) {
+ bool isMatching = result || !m_SearchBar || elm_entry_is_empty(m_SearchBar->getEntry());
+ if (item->isInserted() == isMatching) {
+ item->updateSearchResult();
return;
}
- item->setSearchResult(result);
- const char *searchText = (m_SearchBar) ? elm_entry_entry_get(m_SearchBar->getEntry()) : "";
- bool shouldBeInserted = (result || !*searchText);
-
- if (item->isInserted() == shouldBeInserted) {
- return;
- }
-
- if (shouldBeInserted) {
+ if (isMatching) {
insertItem(item);
} else {
item->pop();
}
-
- updateEmptyState();
}
void MemoListView::onMemoUpdated(MemoSearchItem *memoItem, int changes)
{
- if (!m_SearchMode || memoItem->getSearchResult()) {
+ if (!m_IsSearching || memoItem->getSearchResult()) {
insertItem(memoItem);
}
}
{
removeSelectItem(memoItem);
delete memoItem;
-
- updateEmptyState();
}
-void MemoListView::onMemoInserted(DataItem &item)
+void MemoListView::onMemoInserted(DataItem &dataItem)
{
- auto memoItem = createItem(item);
+ MemoSearchItem *memoItem = createItem(dataItem);
addSelectItem(memoItem);
- if (!m_SearchMode || memoItem->getSearchResult()) {
+ if (!m_IsSearching || memoItem->getSearchResult()) {
insertItem(memoItem);
- updateEmptyState();
}
}
-void MemoListView::onSelectFinished()
-{
- setSelectMode(SelectNone);
- setCancelCallback(nullptr);
- setSelectCallback(nullptr);
-}
-
-void MemoListView::onSearchStarted()
+MemoSearchItem *MemoListView::createItem(DataItem &dataItem)
{
- m_SearchMode = true;
- m_SearchBar = new SearchBar();
- m_SearchBar->create(getEvasObject());
- m_SearchBar->setBackCallback(std::bind(&MemoListView::onSearchFinished, this));
- m_SearchBar->setChangeCallback(std::bind(&MemoListView::onSearchChanged, this, _1));
-
- getPage()->setStyle("empty");
- getPage()->setContent("title", m_SearchBar->getEvasObject());
- updateAddButton();
- updateTitle();
-}
-
-void MemoListView::onSearchChanged(const char *text)
-{
- m_SearchProvider.search(text);
-}
-
-void MemoListView::onSearchFinished()
-{
- delete m_SearchBar;
- m_SearchBar = nullptr;
- m_SearchProvider.search("");
-
- m_SearchMode = false;
- getPage()->setStyle("basic");
- updateAddButton();
- updateTitle();
-}
-
-MemoSearchItem *MemoListView::createItem(DataItem &item)
-{
- SearchData &searchData = static_cast<SearchData &>(item);
- Memo &memo = (Memo &)searchData.getDataItem();
+ auto &searchData = static_cast<SearchData &>(dataItem);
+ auto &memo = static_cast<Memo &>(searchData.getDataItem());
auto memoItem = new MemoSearchItem(searchData);
-
- searchData.setChangeCallback(std::bind(&MemoListView::onSearchResultChanged, this, memoItem, _1));
- searchData.setUpdateCallback(std::bind(&MemoListView::onMemoUpdated, this, memoItem, _1));
- searchData.setDeleteCallback(std::bind(&MemoListView::onMemoDeleted, this, memoItem));
-
- memoItem->setSelectCallback([this, &memo]() {
+ memoItem->setSelectCallback([this, &memo] {
if (getSelectMode() == SelectNone) {
getNavigator()->navigateTo(new Input::DetailsView(memo, &m_DataProvider));
}
});
+ searchData.setChangeCallback(std::bind(&MemoListView::onSearchResultChanged, this, memoItem, _1));
+ searchData.setUpdateCallback(std::bind(&MemoListView::onMemoUpdated, this, memoItem, _1));
+ searchData.setDeleteCallback(std::bind(&MemoListView::onMemoDeleted, this, memoItem));
return memoItem;
}
if (memoItem->isInserted()) {
memoItem->pop();
}
- GenItem *nextItem = nullptr;
- for (auto &&item : *m_GenGrid) {
+ Ui::GenItem *nextItem = nullptr;
+ for (auto &&item : *m_Gengrid) {
if (*static_cast<MemoSearchItem *>(item) < *memoItem) {
nextItem = item;
break;
}
}
- m_GenGrid->insert(memoItem, nextItem);
+ m_Gengrid->insert(memoItem, nextItem);
}
bool MemoListView::isEmpty() const
{
- return m_GenGrid->getFirstItem() == nullptr;
+ return m_Gengrid->getFirstItem() == nullptr;
}
MemoSearchItem::MemoSearchItem(SearchData &data)
: MemoItem(static_cast<Memo &>(data.getDataItem())),
- m_SearchData(data), m_Highlight(false)
+ m_SearchData(data)
{
}
-void MemoSearchItem::setSearchResult(const SearchResult *result)
+void MemoSearchItem::updateSearchResult()
{
- m_Highlight = result != nullptr;
update(PART_TITLE, ELM_GENGRID_ITEM_FIELD_TEXT);
update(PART_CONTENT, ELM_GENGRID_ITEM_FIELD_CONTENT);
}
-const SearchResult *MemoSearchItem::getSearchResult() const
+const SearchMultiResult *MemoSearchItem::getSearchResult() const
{
- return m_SearchData.getSearchResult();
+ return static_cast<const SearchMultiResult *>(m_SearchData.getSearchResult());
}
char *MemoSearchItem::getText(Evas_Object *parent, const char *part)
{
- if (m_Highlight) {
+ if (auto result = getSearchResult()) {
if (strcmp(part, PART_TITLE) == 0) {
- auto multiResult = static_cast<const SearchMultiResult *>(m_SearchData.getSearchResult());
- if (auto match = multiResult->getMatchByFieldId(Memo::FieldTitle)) {
+ if (auto match = result->getMatchByFieldId(Memo::FieldTitle)) {
return strdup(Utils::highlightStr(getMemo().getTitle().c_str(), match->substr).c_str());
}
}
std::string MemoSearchItem::formatSubitem(size_t index, std::string text) const
{
- if (m_Highlight) {
- auto multiResult = static_cast<const SearchMultiResult *>(m_SearchData.getSearchResult());
- if (auto match = multiResult->getMatchByFieldId(Memo::FieldContent)) {
+ if (auto result = getSearchResult()) {
+ if (auto match = result->getMatchByFieldId(Memo::FieldContent)) {
if (match->subItemIndex == index) {
return Utils::highlightStr(text.c_str(), match->substr);
}