summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Build/makefile2
-rw-r--r--Build/makefile.mk40
-rw-r--r--Build/platform.mk9
-rw-r--r--LICENSE.Flora206
-rw-r--r--gallery/common.h2
-rw-r--r--gallery/config.h2
-rw-r--r--gallery/model/impl/BaseJob.cpp4
-rw-r--r--gallery/model/impl/helpers.cpp2
-rw-r--r--gallery/presenters/Instance.cpp1
-rw-r--r--gallery/presenters/misc/MoreOptionsPresenter.cpp37
-rw-r--r--gallery/presenters/misc/MoreOptionsPresenter.h20
-rw-r--r--gallery/presenters/misc/ProcessingPresenter.cpp3
-rw-r--r--gallery/presenters/pages/PreviewPage.cpp8
-rw-r--r--gallery/presenters/pages/PreviewPage.h2
-rw-r--r--gallery/presenters/pages/ThumbnailPage.cpp6
-rw-r--r--gallery/presenters/pages/ThumbnailPage.h2
-rw-r--r--gallery/resources.cpp50
-rw-r--r--gallery/view/ImageGrid.cpp18
-rw-r--r--gallery/view/helpers.cpp3
-rw-r--r--project_def.prop4
-rw-r--r--res/po/ar.po48
-rw-r--r--res/po/az.po48
-rw-r--r--res/po/bg.po48
-rw-r--r--res/po/ca.po48
-rw-r--r--res/po/cs.po48
-rw-r--r--res/po/da.po48
-rw-r--r--res/po/de.po48
-rw-r--r--res/po/el_GR.po48
-rw-r--r--res/po/en.po48
-rw-r--r--res/po/en_PH.po48
-rw-r--r--res/po/en_US.po48
-rw-r--r--res/po/es_ES.po48
-rw-r--r--res/po/es_US.po48
-rw-r--r--res/po/et.po48
-rw-r--r--res/po/eu.po48
-rw-r--r--res/po/fi.po48
-rw-r--r--res/po/fr.po48
-rw-r--r--res/po/fr_CA.po48
-rw-r--r--res/po/ga.po48
-rw-r--r--res/po/gl.po48
-rw-r--r--res/po/hi.po48
-rw-r--r--res/po/hr.po48
-rw-r--r--res/po/hu.po48
-rw-r--r--res/po/hy.po48
-rw-r--r--res/po/is.po48
-rw-r--r--res/po/it_IT.po48
-rw-r--r--res/po/ja_JP.po48
-rw-r--r--res/po/ka.po48
-rw-r--r--res/po/kk.po48
-rw-r--r--res/po/ko_KR.po48
-rw-r--r--res/po/lt.po48
-rw-r--r--res/po/lv.po48
-rw-r--r--res/po/mk.po48
-rw-r--r--res/po/nb.po48
-rw-r--r--res/po/nl.po48
-rw-r--r--res/po/pl.po48
-rw-r--r--res/po/pt_BR.po48
-rw-r--r--res/po/pt_PT.po48
-rw-r--r--res/po/ro.po48
-rw-r--r--res/po/ru_RU.po48
-rw-r--r--res/po/sk.po48
-rw-r--r--res/po/sl.po48
-rw-r--r--res/po/sr.po48
-rw-r--r--res/po/sv.po48
-rw-r--r--res/po/tr_TR.po48
-rw-r--r--res/po/uk.po48
-rw-r--r--res/po/uz.po48
-rw-r--r--res/po/zh_CN.po48
-rw-r--r--res/po/zh_HK.po48
-rw-r--r--res/po/zh_TW.po48
-rw-r--r--shared/res/org.tizen.gallery.pngbin13001 -> 4847 bytes
-rw-r--r--ucl/include/ucl/gui/Genlist.h92
-rw-r--r--ucl/include/ucl/gui/Genlist.hpp132
-rw-r--r--ucl/include/ucl/gui/GenlistItem.h63
-rw-r--r--ucl/include/ucl/gui/GenlistItem.hpp58
-rw-r--r--ucl/include/ucl/gui/Window.h3
-rw-r--r--ucl/include/ucl/gui/Window.hpp2
-rw-r--r--ucl/include/ucl/mvp/ListItemPresenter.h131
-rw-r--r--ucl/include/ucl/mvp/ListPresenter.h113
-rw-r--r--ucl/include/ucl/util/types/Result.h2
-rw-r--r--ucl/source/gui/ElmWidget.cpp2
-rw-r--r--ucl/source/gui/Genlist.cpp48
-rw-r--r--ucl/source/gui/Window.cpp13
-rw-r--r--ucl/source/mvp/ListItemPresenter.cpp294
-rw-r--r--ucl/source/mvp/ListPresenter.cpp328
-rw-r--r--ucl/source/util/types/Result.cpp2
86 files changed, 2743 insertions, 1361 deletions
diff --git a/Build/makefile b/Build/makefile
index f491b50..117b240 100644
--- a/Build/makefile
+++ b/Build/makefile
@@ -14,7 +14,7 @@ clean : app_clean
version : build_version
#PROJ_ROOT = .
-BUILD_ROOT := $(PROJ_PATH)/Build#
+#BUILD_ROOT := $(PROJ_PATH)/Build#
ifeq ($(MAKE_NAME),mingw32-make)
ifneq ($(SHELL),)
diff --git a/Build/makefile.mk b/Build/makefile.mk
index 205a3ad..53c0428 100644
--- a/Build/makefile.mk
+++ b/Build/makefile.mk
@@ -13,10 +13,18 @@ clean : app_clean
version : build_version
+_BLANK :=#
+_SPACE := $(_BLANK) $(_BLANK)#
+_SPACE_4MAKE := \$(_SPACE)#
+
+NULL_CHAR :=#
+SPACE := $(NULL_CHAR) $(NULL_CHAR)#
-#PROJ_ROOT := $(call BSLASH2SLASH,$(PROJ_PATH))
PROJ_ROOT := .
-BUILD_ROOT := $(PROJ_ROOT)/Build
+_PROJ_ROOT_4MAKE := $(subst $(_SPACE),$(_SPACE_4MAKE),$(PROJ_ROOT))#
+PROJ_ROOT=$(_PROJ_ROOT_4MAKE)
+_BUILD_ROOT_4MAKE := $(subst $(_SPACE),$(_SPACE_4MAKE),$(BUILD_ROOT))#
+BUILD_ROOT=$(_BUILD_ROOT_4MAKE)
include $(BUILD_ROOT)/basedef.mk
@@ -109,7 +117,7 @@ $(APPFILE) : $(OBJS) $(UOBJS)
@echo ' Building target: $@'
@echo ' Invoking: C/C++ Linker'
$(call MAKEDIRS,$(@D))
- $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath="/opt/usr/apps/$(APPID)/lib" -Werror-implicit-function-declaration $(USER_LINK_OPTS)
+ $(CXX) -o $(APPFILE) $(OBJS) $(UOBJS) $(LIBPATHS) -Xlinker --as-needed $(LIBS) $(LINK_FLAGS) $(TC_LINKER_MISC) $(RS_LINKER_MISC) -pie -lpthread --sysroot="$(SYSROOT)" -Xlinker --version-script="$(PROJ_ROOT)/.exportMap" $(RS_LIB_PATHS) $(RS_LIBRARIES) -Xlinker -rpath='$$ORIGIN/../lib' -Werror-implicit-function-declaration $(USER_LINK_OPTS)
@echo ' Finished building target: $@'
endif
ifeq ($(strip $(APPTYPE)),staticLib)
@@ -137,19 +145,19 @@ $(OUTPUT_DIR) :
$(call MAKEDIRS,$@)
-ifneq ($(strip $(PLATFORM_INCS)),)
-$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
- @echo ' Building inc file: $@'
-ifneq ($(findstring Windows,$(OS)),)
-ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
- $(file > $@,$(PLATFORM_INCS))
-else
- @echo $(PLATFORM_INCS) > $@
-endif
-else
- @echo $(PLATFORM_INCS) > $@
-endif
-endif
+#ifneq ($(strip $(PLATFORM_INCS)),)
+#$(PLATFORM_INCS_FILE) : $(OBJ_OUTPUT)
+# @echo ' Building inc file: $@'
+#ifneq ($(findstring Windows,$(OS)),)
+#ifneq ($(findstring 3.82,$(MAKE_VERSION)),)
+# $(file > $@,$(PLATFORM_INCS))
+#else
+# @echo $(PLATFORM_INCS) > $@
+#endif
+#else
+# @echo '$(PLATFORM_INCS)' > $@
+#endif
+#endif
include $(BUILD_ROOT)/build_edc.mk
diff --git a/Build/platform.mk b/Build/platform.mk
index 294a38a..3895d90 100644
--- a/Build/platform.mk
+++ b/Build/platform.mk
@@ -2,14 +2,17 @@
SYSROOT = $(SBI_SYSROOT)
-USR_INCS := $(addprefix -I $(SYSROOT),$(PLATFORM_INCS_EX))
+#USR_INCS := $(addprefix -I "$(SYSROOT),$(PLATFORM_INCS_EX))
+USR_INCS1 := $(addsuffix ",$(PLATFORM_INCS_EX))
+USR_INCS := $(addprefix -I "$(SYSROOT),$(USR_INCS1))
ifeq ($(strip $(PLATFORM_LIB_PATHS)),)
RS_LIB_PATHS := "$(SYSROOT)/usr/lib"
else
-RS_LIB_PATHS := $(addprefix -L$(SYSROOT),$(PLATFORM_LIB_PATHS))
+RS_LIB_PATHS1 := $(addsuffix ",$(PLATFORM_LIB_PATHS))
+RS_LIB_PATHS := $(addprefix -L "$(SYSROOT),$(RS_LIB_PATHS1))
endif
RS_LIBRARIES := $(addprefix -l,$(RS_LIBRARIES_EX))
-PLATFORM_INCS = $(USR_INCS) -I"$(SDK_PATH)/library"
+PLATFORM_INCS = $(USR_INCS) -I "$(SDK_PATH)/library"
diff --git a/LICENSE.Flora b/LICENSE.Flora
new file mode 100644
index 0000000..571fe79
--- /dev/null
+++ b/LICENSE.Flora
@@ -0,0 +1,206 @@
+Flora License
+
+Version 1.1, April, 2013
+
+http://floralicense.org/license/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction,
+and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by
+the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and
+all other entities that control, are controlled by, or are
+under common control with that entity. For the purposes of
+this definition, "control" means (i) the power, direct or indirect,
+to cause the direction or management of such entity,
+whether by contract or otherwise, or (ii) ownership of fifty percent (50%)
+or more of the outstanding shares, or (iii) beneficial ownership of
+such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity
+exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications,
+including but not limited to software source code, documentation source,
+and configuration files.
+
+"Object" form shall mean any form resulting from mechanical
+transformation or translation of a Source form, including but
+not limited to compiled object code, generated documentation,
+and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form,
+made available under the License, as indicated by a copyright notice
+that is included in or attached to the work (an example is provided
+in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form,
+that is based on (or derived from) the Work and for which the editorial
+revisions, annotations, elaborations, or other modifications represent,
+as a whole, an original work of authorship. For the purposes of this License,
+Derivative Works shall not include works that remain separable from,
+or merely link (or bind by name) to the interfaces of, the Work and
+Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original
+version of the Work and any modifications or additions to that Work or
+Derivative Works thereof, that is intentionally submitted to Licensor
+for inclusion in the Work by the copyright owner or by an individual or
+Legal Entity authorized to submit on behalf of the copyright owner.
+For the purposes of this definition, "submitted" means any form of
+electronic, verbal, or written communication sent to the Licensor or
+its representatives, including but not limited to communication on
+electronic mailing lists, source code control systems, and issue
+tracking systems that are managed by, or on behalf of, the Licensor
+for the purpose of discussing and improving the Work, but excluding
+communication that is conspicuously marked or otherwise designated
+in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity
+on behalf of whom a Contribution has been received by Licensor and
+subsequently incorporated within the Work.
+
+"Tizen Certified Platform" shall mean a software platform that complies
+with the standards set forth in the Tizen Compliance Specification
+and passes the Tizen Compliance Tests as defined from time to time
+by the Tizen Technical Steering Group and certified by the Tizen
+Association or its designated agent.
+
+2. Grant of Copyright License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+copyright license to reproduce, prepare Derivative Works of,
+publicly display, publicly perform, sublicense, and distribute the
+Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of
+this License, each Contributor hereby grants to You a perpetual,
+worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+(except as stated in this section) patent license to make, have made,
+use, offer to sell, sell, import, and otherwise transfer the Work
+solely as incorporated into a Tizen Certified Platform, where such
+license applies only to those patent claims licensable by such
+Contributor that are necessarily infringed by their Contribution(s)
+alone or by combination of their Contribution(s) with the Work solely
+as incorporated into a Tizen Certified Platform to which such
+Contribution(s) was submitted. If You institute patent litigation
+against any entity (including a cross-claim or counterclaim
+in a lawsuit) alleging that the Work or a Contribution incorporated
+within the Work constitutes direct or contributory patent infringement,
+then any patent licenses granted to You under this License for that
+Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the
+Work or Derivative Works thereof pursuant to the copyright license
+above, in any medium, with or without modifications, and in Source or
+Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works
+ a copy of this License; and
+ 2. You must cause any modified files to carry prominent notices stating
+ that You changed the files; and
+ 3. You must retain, in the Source form of any Derivative Works that
+ You distribute, all copyright, patent, trademark, and attribution
+ notices from the Source form of the Work, excluding those notices
+ that do not pertain to any part of the Derivative Works; and
+ 4. If the Work includes a "NOTICE" text file as part of its distribution,
+ then any Derivative Works that You distribute must include a readable
+ copy of the attribution notices contained within such NOTICE file,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works, in at least one of the following places:
+ within a NOTICE text file distributed as part of the Derivative Works;
+ within the Source form or documentation, if provided along with the
+ Derivative Works; or, within a display generated by the Derivative Works,
+ if and wherever such third-party notices normally appear.
+ The contents of the NOTICE file are for informational purposes only
+ and do not modify the License. You may add Your own attribution notices
+ within Derivative Works that You distribute, alongside or as an addendum
+ to the NOTICE text from the Work, provided that such additional attribution
+ notices cannot be construed as modifying the License. You may add Your own
+ copyright statement to Your modifications and may provide additional or
+ different license terms and conditions for use, reproduction, or
+ distribution of Your modifications, or for any such Derivative Works
+ as a whole, provided Your use, reproduction, and distribution of
+ the Work otherwise complies with the conditions stated in this License
+ and your own copyright statement or terms and conditions do not conflict
+ the conditions stated in the License including section 3.
+
+5. Submission of Contributions. Unless You explicitly state otherwise,
+any Contribution intentionally submitted for inclusion in the Work
+by You to the Licensor shall be under the terms and conditions of
+this License, without any additional terms or conditions.
+Notwithstanding the above, nothing herein shall supersede or modify
+the terms of any separate license agreement you may have executed
+with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade
+names, trademarks, service marks, or product names of the Licensor,
+except as required for reasonable and customary use in describing the
+origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or
+agreed to in writing, Licensor provides the Work (and each
+Contributor provides its Contributions) on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+implied, including, without limitation, any warranties or conditions
+of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+PARTICULAR PURPOSE. You are solely responsible for determining the
+appropriateness of using or redistributing the Work and assume any
+risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory,
+whether in tort (including negligence), contract, or otherwise,
+unless required by applicable law (such as deliberate and grossly
+negligent acts) or agreed to in writing, shall any Contributor be
+liable to You for damages, including any direct, indirect, special,
+incidental, or consequential damages of any character arising as a
+result of this License or out of the use or inability to use the
+Work (including but not limited to damages for loss of goodwill,
+work stoppage, computer failure or malfunction, or any and all
+other commercial damages or losses), even if such Contributor
+has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing
+the Work or Derivative Works thereof, You may choose to offer,
+and charge a fee for, acceptance of support, warranty, indemnity,
+or other liability obligations and/or rights consistent with this
+License. However, in accepting such obligations, You may act only
+on Your own behalf and on Your sole responsibility, not on behalf
+of any other Contributor, and only if You agree to indemnify,
+defend, and hold each Contributor harmless for any liability
+incurred by, or claims asserted against, such Contributor by reason
+of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+
+APPENDIX: How to apply the Flora License to your work
+
+To apply the Flora License to your work, attach the following
+boilerplate notice, with the fields enclosed by brackets "[]"
+replaced with your own identifying information. (Don't include
+the brackets!) The text should be enclosed in the appropriate
+comment syntax for the file format. We also recommend that a
+file or class name and description of purpose be included on the
+same "printed page" as the copyright notice for easier
+identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ 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.
+
diff --git a/gallery/common.h b/gallery/common.h
index 659c330..211eb7c 100644
--- a/gallery/common.h
+++ b/gallery/common.h
@@ -37,7 +37,7 @@ namespace gallery {
using ucl::RES_FALSE;
using ucl::RES_FAIL;
using ucl::RES_INVALID_ARGUMENTS;
- using ucl::RES_ILLEGAL_STATE;
+ using ucl::RES_INVALID_OPERATION;
using ucl::RES_NOT_SUPPORTED;
using ucl::RES_IO_ERROR;
using ucl::RES_INVALID_DATA;
diff --git a/gallery/config.h b/gallery/config.h
index debdc9a..38b875c 100644
--- a/gallery/config.h
+++ b/gallery/config.h
@@ -27,6 +27,8 @@ namespace gallery {
// TODO Temporary feature while support only offline mode
constexpr auto SCAN_MEDIA_ON_RESUME = false;
+
+ constexpr auto TEXT_DOMAIN = "w-gallery";
}
#endif // __GALLERY_CONFIG_H__
diff --git a/gallery/model/impl/BaseJob.cpp b/gallery/model/impl/BaseJob.cpp
index 1a358fb..c5c5543 100644
--- a/gallery/model/impl/BaseJob.cpp
+++ b/gallery/model/impl/BaseJob.cpp
@@ -26,7 +26,7 @@ namespace gallery {
const bool isCancelable) :
m_onComplete(onComplete),
m_isCancelable(isCancelable),
- m_result(RES_ILLEGAL_STATE),
+ m_result(RES_INVALID_OPERATION),
m_selfPtr(new BaseJob *(this)),
m_isCancelled(0)
{
@@ -54,7 +54,7 @@ namespace gallery {
Result BaseJob::getResult() const
{
if (!m_thread.wasJoinded()) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Job is not complete!");
+ LOG_RETURN(RES_INVALID_OPERATION, "Job is not complete!");
}
return m_result;
}
diff --git a/gallery/model/impl/helpers.cpp b/gallery/model/impl/helpers.cpp
index 8f44793..829005b 100644
--- a/gallery/model/impl/helpers.cpp
+++ b/gallery/model/impl/helpers.cpp
@@ -22,8 +22,6 @@
namespace gallery { namespace { namespace impl {
- constexpr auto UNIQUE_PATH_RESERVE = 10;
-
int MEDIA_DB_CONNECTION_COUNTER = 0;
}}}
diff --git a/gallery/presenters/Instance.cpp b/gallery/presenters/Instance.cpp
index eb3365a..39c7112 100644
--- a/gallery/presenters/Instance.cpp
+++ b/gallery/presenters/Instance.cpp
@@ -170,6 +170,7 @@ namespace gallery {
if (!m_win->isVisible()) {
DLOG("Show the window.");
+ m_win->resizeToScreen();
show(*m_win);
}
diff --git a/gallery/presenters/misc/MoreOptionsPresenter.cpp b/gallery/presenters/misc/MoreOptionsPresenter.cpp
index f2fa2c9..d587e86 100644
--- a/gallery/presenters/misc/MoreOptionsPresenter.cpp
+++ b/gallery/presenters/misc/MoreOptionsPresenter.cpp
@@ -61,7 +61,8 @@ namespace gallery {
bool MoreOptionsPresenter::Builder::isEmpty() const
{
- return ucl::isEmpty(m_options);
+ using ucl::isEmpty;
+ return isEmpty(m_options);
}
MoreOptionsPresenter::Builder &MoreOptionsPresenter::Builder::clear()
@@ -73,12 +74,7 @@ namespace gallery {
MoreOptionsPresenter::Builder &MoreOptionsPresenter::Builder::addOption(
Option option)
{
- if (!m_options) {
- m_options = makeShared<MoreOptions>();
- } else if (m_options.getUseCount() > 1) {
- m_options = makeShared<MoreOptions>(*m_options);
- }
- m_options->emplace_back(std::move(option));
+ m_options.emplace_back(std::move(option));
return *this;
}
@@ -100,9 +96,10 @@ namespace gallery {
"m_parentWidget is NULL!");
}
- auto result = makeShared<MoreOptionsPresenter>(m_options);
+ auto result = makeShared<MoreOptionsPresenter>();
- FAIL_RETURN_VALUE(result->prepare(parent, *m_parentWidget), {},
+ FAIL_RETURN_VALUE(result->prepare(parent,
+ *m_parentWidget, m_options), {},
"result->prepare() failed!");
return result;
@@ -110,10 +107,8 @@ namespace gallery {
// MoreOptionsPresenter //
- MoreOptionsPresenter::MoreOptionsPresenter(IRefCountObj &rc,
- const MoreOptionsCSRef &options) :
+ MoreOptionsPresenter::MoreOptionsPresenter(IRefCountObj &rc) :
GuiPresenter(rc),
- m_options(options),
m_timer(nullptr),
m_newOpenedState(false)
{
@@ -128,7 +123,7 @@ namespace gallery {
}
Result MoreOptionsPresenter::prepare(GuiPresenter &parent,
- ElmWidget &parentWidget)
+ ElmWidget &parentWidget, const std::list<Option> &options)
{
FAIL_RETURN(GuiPresenter::prepare(parent, PF_DEACTIVATOR),
"GuiPresenter::prepare() failed!");
@@ -141,7 +136,7 @@ namespace gallery {
const auto layout = makeShared<Layout>(more, true);
m_widget = layout;
- for (auto &option: *m_options) {
+ for (auto &option: options) {
FAIL_RETURN(addItem(option), "addItem() failed!");
}
@@ -184,7 +179,7 @@ namespace gallery {
impl::setText(item, option.text, impl::PART_MAIN_TEXT);
impl::setText(item, option.subText, impl::PART_SUB_TEXT);
- m_map.set(item, &option);
+ m_map.set(item, option.id);
return RES_OK;
}
@@ -248,9 +243,9 @@ namespace gallery {
return;
}
if (const auto listener = m_listener.lock()) {
- const auto item = m_map.get(eventInfo);
- if (item) {
- listener->onMoreOptionClicked(*this, *item);
+ int optionId = 0;
+ if (m_map.get(eventInfo, optionId)) {
+ listener->onMoreOptionClicked(*this, optionId);
} else {
ELOG("Invalid eventInfo!");
}
@@ -260,9 +255,9 @@ namespace gallery {
void MoreOptionsPresenter::onItemSelected(Widget &widget, void *eventInfo)
{
if (const auto listener = m_listener.lock()) {
- const auto item = m_map.get(eventInfo);
- if (item) {
- listener->onMoreOptionSelected(*this, *item);
+ int optionId = 0;
+ if (m_map.get(eventInfo, optionId)) {
+ listener->onMoreOptionSelected(*this, optionId);
} else {
ELOG("Invalid eventInfo!");
}
diff --git a/gallery/presenters/misc/MoreOptionsPresenter.h b/gallery/presenters/misc/MoreOptionsPresenter.h
index 95b432b..9a53249 100644
--- a/gallery/presenters/misc/MoreOptionsPresenter.h
+++ b/gallery/presenters/misc/MoreOptionsPresenter.h
@@ -38,8 +38,6 @@ namespace gallery {
ucl::LayoutTheme iconTheme;
};
- using MoreOptions = std::list<Option>;
-
class Builder final {
public:
Builder();
@@ -50,16 +48,16 @@ namespace gallery {
Builder &setParentWidget(const ucl::ElmWidgetSRef &parentWidget);
MoreOptionsPresenterSRef build(GuiPresenter &parent) const;
private:
- ucl::SharedRef<MoreOptions> m_options;
+ std::list<Option> m_options;
ucl::ElmWidgetSRef m_parentWidget;
};
class IListener : public ucl::Polymorphic {
public:
virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const Option &option) = 0;
+ int optionId) = 0;
virtual void onMoreOptionSelected(MoreOptionsPresenter &sender,
- const Option &option) {};
+ int optionId) {};
virtual void onMoreOptionsOpened(MoreOptionsPresenter &sender) {};
virtual void onMoreOptionsClosed(MoreOptionsPresenter &sender) {};
};
@@ -75,15 +73,12 @@ namespace gallery {
void setOpenedDelayed(bool isOpened, double timeout);
private:
- using MoreOptionsCSRef = ucl::SharedRef<const MoreOptions>;
-
- private:
friend class ucl::ReffedObj<MoreOptionsPresenter>;
- MoreOptionsPresenter(ucl::IRefCountObj &rc,
- const MoreOptionsCSRef &options);
+ MoreOptionsPresenter(ucl::IRefCountObj &rc);
virtual ~MoreOptionsPresenter();
- ucl::Result prepare(GuiPresenter &parent, ucl::ElmWidget &parentWidget);
+ ucl::Result prepare(GuiPresenter &parent, ucl::ElmWidget &parentWidget,
+ const std::list<Option> &options);
ucl::Result addItem(const Option &option);
bool resetTimer(double timeout);
@@ -97,8 +92,7 @@ namespace gallery {
void onItemSelected(ucl::Widget &widget, void *eventInfo);
private:
- const MoreOptionsCSRef m_options;
- ucl::HashMap<void *, const Option *> m_map;
+ ucl::HashMap<void *, int> m_map;
ucl::ElmWidgetSRef m_widget;
IListenerWRef m_listener;
Ecore_Timer *m_timer;
diff --git a/gallery/presenters/misc/ProcessingPresenter.cpp b/gallery/presenters/misc/ProcessingPresenter.cpp
index 6307961..4a077e0 100644
--- a/gallery/presenters/misc/ProcessingPresenter.cpp
+++ b/gallery/presenters/misc/ProcessingPresenter.cpp
@@ -341,7 +341,8 @@ namespace gallery {
const IconType iconType)
{
if (m_isComplete) {
- LOG_RETURN_VOID(RES_ILLEGAL_STATE, "Already in complete state!");
+ LOG_RETURN_VOID(RES_INVALID_OPERATION,
+ "Already in complete state!");
}
m_isComplete = true;
diff --git a/gallery/presenters/pages/PreviewPage.cpp b/gallery/presenters/pages/PreviewPage.cpp
index 0406e13..a406a4f 100644
--- a/gallery/presenters/pages/PreviewPage.cpp
+++ b/gallery/presenters/pages/PreviewPage.cpp
@@ -550,9 +550,9 @@ namespace gallery {
}
void PreviewPage::onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOptionsPresenter::Option &option)
+ const int optionId)
{
- switch (option.id) {
+ switch (optionId) {
case impl::MORE_OPTION_ID_DELETE:
sender.setOpenedDelayed(false, impl::POPUP_SHOW_TIME_SEC);
confirmItemsDelete();
@@ -563,7 +563,7 @@ namespace gallery {
break;
default:
sender.setOpened(false);
- WLOG("Unknown option id: %d;", option.id);
+ WLOG("Unknown option id: %d;", optionId);
break;
}
}
@@ -615,7 +615,7 @@ namespace gallery {
void PreviewPage::saveCurrentItem()
{
if (m_job) {
- LOG_RETURN_VOID(RES_ILLEGAL_STATE, "m_job is not NULL");
+ LOG_RETURN_VOID(RES_INVALID_OPERATION, "m_job is not NULL");
}
const int itemIndex = getCurrentItemIndex();
diff --git a/gallery/presenters/pages/PreviewPage.h b/gallery/presenters/pages/PreviewPage.h
index 21a6391..600d51d 100644
--- a/gallery/presenters/pages/PreviewPage.h
+++ b/gallery/presenters/pages/PreviewPage.h
@@ -129,7 +129,7 @@ namespace gallery {
// MoreOptionsPresenter::IListener //
virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOptionsPresenter::Option &option) final override;
+ int optionId) final override;
// SelectModePresenter::IListener //
diff --git a/gallery/presenters/pages/ThumbnailPage.cpp b/gallery/presenters/pages/ThumbnailPage.cpp
index 2ae0130..f33effb 100644
--- a/gallery/presenters/pages/ThumbnailPage.cpp
+++ b/gallery/presenters/pages/ThumbnailPage.cpp
@@ -319,9 +319,9 @@ namespace gallery {
}
void ThumbnailPage::onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOptionsPresenter::Option &option)
+ const int optionId)
{
- switch (option.id) {
+ switch (optionId) {
case impl::MORE_OPTION_ID_DELETE:
sender.setOpenedDelayed(false, impl::NAVIFRAME_TRANSITION_TIME_SEC);
m_page = PreviewPage::Builder().
@@ -334,7 +334,7 @@ namespace gallery {
break;
default:
sender.setOpened(false);
- WLOG("Unknown option id: %d;", option.id);
+ WLOG("Unknown option id: %d;", optionId);
break;
}
}
diff --git a/gallery/presenters/pages/ThumbnailPage.h b/gallery/presenters/pages/ThumbnailPage.h
index 05f97f0..2eb52ec 100644
--- a/gallery/presenters/pages/ThumbnailPage.h
+++ b/gallery/presenters/pages/ThumbnailPage.h
@@ -84,7 +84,7 @@ namespace gallery {
// MoreOptionsPresenter::IListener //
virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOptionsPresenter::Option &option) final override;
+ int optionId) final override;
private:
class RealizedItem;
diff --git a/gallery/resources.cpp b/gallery/resources.cpp
index ba4247e..b8d597e 100644
--- a/gallery/resources.cpp
+++ b/gallery/resources.cpp
@@ -20,22 +20,36 @@ namespace gallery {
using ucl::TString;
- // TODO replace with IDS in the future
-
- const TString STR_APP_NAME {"Gallery"};
- const TString STR_NO_PHOTOS {"No photos"};
- const TString STR_SELECT_ALL {"Select all"};
- const TString STR_DESELECT_ALL {"Deselect all"};
- const TString STR_DELETE {"Delete"};
- const TString STR_DELETE_CAPS {"DELETE"};
- const TString STR_DELETE_1_PHOTO {"Delete 1 photo?"};
- const TString STR_DELETE_N_PHOTO {"Delete %d photo?"};
- const TString STR_DELETING {"Deleting..."};
- const TString STR_DELETED {"Deleted."};
- const TString STR_FAILED {"Failed."};
- const TString STR_SAVE_TO_GEAR {"Save to Gear"};
- const TString STR_SAVING {"Saving..."};
- const TString STR_SAVED {"Saved."};
- const TString STR_OK_CAPS {"OK"};
- const TString STR_UNSUPPORTED_FORMAT {"Unsupported<br>format."};
+ const TString STR_APP_NAME {
+ "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME", TEXT_DOMAIN};
+ const TString STR_NO_PHOTOS {
+ "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB", TEXT_DOMAIN};
+ const TString STR_SELECT_ALL {
+ "WDS_HS_BUTTON_SELECT_ALL_ABB3", TEXT_DOMAIN};
+ const TString STR_DESELECT_ALL {
+ "WDS_HS_BUTTON_DESELECT_ALL_ABB2", TEXT_DOMAIN};
+ const TString STR_DELETE {
+ "WDS_GALLERY_OPT_DELETE_ABB", TEXT_DOMAIN};
+ const TString STR_DELETE_CAPS {
+ "WDS_GALLERY_ACBUTTON_DELETE_ABB2", TEXT_DOMAIN};
+ const TString STR_DELETE_1_PHOTO {
+ "WDS_GALLERY_POP_DELETE_1_PHOTO_Q", TEXT_DOMAIN};
+ const TString STR_DELETE_N_PHOTO {
+ "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q", TEXT_DOMAIN};
+ const TString STR_DELETING {
+ "WDS_MSG_TPOP_DELETING_ING_ABB", TEXT_DOMAIN};
+ const TString STR_DELETED {
+ "WDS_GALLERY_TPOP_DELETED_ABB", TEXT_DOMAIN};
+ const TString STR_FAILED {
+ "WDS_WNOTI_TPOP_FAILED", TEXT_DOMAIN};
+ const TString STR_SAVE_TO_GEAR {
+ "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB", TEXT_DOMAIN};
+ const TString STR_SAVING {
+ "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO", TEXT_DOMAIN};
+ const TString STR_SAVED {
+ "WDS_MSG_TPOP_SAVED", TEXT_DOMAIN};
+ const TString STR_OK_CAPS {
+ "WDS_HS_ACBUTTON_OK", TEXT_DOMAIN};
+ const TString STR_UNSUPPORTED_FORMAT {
+ "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB", TEXT_DOMAIN};
}
diff --git a/gallery/view/ImageGrid.cpp b/gallery/view/ImageGrid.cpp
index 942ff97..f72f8d4 100644
--- a/gallery/view/ImageGrid.cpp
+++ b/gallery/view/ImageGrid.cpp
@@ -563,7 +563,8 @@ namespace gallery {
void onHighlighted(Widget &widget, void *eventInfo)
{
if (!isRealized()) {
- LOG_RETURN_VOID(RES_ILLEGAL_STATE, "Item is not realized!");
+ LOG_RETURN_VOID(RES_INVALID_OPERATION,
+ "Item is not realized!");
}
m_imageGrid.onItemHighlighted(m_realizeIndex);
}
@@ -571,7 +572,8 @@ namespace gallery {
void onUnhighlighted(Widget &widget, void *eventInfo)
{
if (!isRealized()) {
- LOG_RETURN_VOID(RES_ILLEGAL_STATE, "Item is not realized!");
+ LOG_RETURN_VOID(RES_INVALID_OPERATION,
+ "Item is not realized!");
}
m_imageGrid.onItemUnhighlighted(m_realizeIndex);
}
@@ -580,7 +582,7 @@ namespace gallery {
Evas_Object *obj)
{
if (!isRealized()) {
- LOG_RETURN_VALUE(RES_ILLEGAL_STATE, EINA_FALSE,
+ LOG_RETURN_VALUE(RES_INVALID_OPERATION, EINA_FALSE,
"Item is not realized!");
}
@@ -920,7 +922,7 @@ namespace gallery {
Result ImageGrid::setItemCount(const int count)
{
if (m_animator) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Transition is in progress.");
+ LOG_RETURN(RES_INVALID_OPERATION, "Transition is in progress.");
}
if (m_itemCount == count) {
@@ -951,7 +953,7 @@ namespace gallery {
Result ImageGrid::setSelectModeEnabled(const bool enabled)
{
if (m_animator) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Transition is in progress.");
+ LOG_RETURN(RES_INVALID_OPERATION, "Transition is in progress.");
}
if (enabled == m_isInSelectMode) {
@@ -1092,7 +1094,7 @@ namespace gallery {
Result ImageGrid::updateItem(const int itemIndex, const ItemParams &params)
{
if (m_animator) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Transition is in progress.");
+ LOG_RETURN(RES_INVALID_OPERATION, "Transition is in progress.");
}
return doWithItem(itemIndex,
[&params](Slot &slot, const int itemOffset)
@@ -1168,7 +1170,7 @@ namespace gallery {
Result ImageGrid::scrollToItem(const int itemIndex)
{
if (m_animator) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Transition is in progress.");
+ LOG_RETURN(RES_INVALID_OPERATION, "Transition is in progress.");
}
forceBoxSizeCalculate();
return showItem(itemIndex, elm_scroller_region_show);
@@ -1177,7 +1179,7 @@ namespace gallery {
Result ImageGrid::bringInItem(int itemIndex)
{
if (m_animator) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Transition is in progress.");
+ LOG_RETURN(RES_INVALID_OPERATION, "Transition is in progress.");
}
return showItem(itemIndex, elm_scroller_region_bring_in);
}
diff --git a/gallery/view/helpers.cpp b/gallery/view/helpers.cpp
index 6388200..52d5e23 100644
--- a/gallery/view/helpers.cpp
+++ b/gallery/view/helpers.cpp
@@ -44,7 +44,8 @@ namespace gallery { namespace util {
}
if (win->getData(impl::CIRCLE_SURFACE)) {
- LOG_RETURN(RES_ILLEGAL_STATE, "Circle Surface data already set!");
+ LOG_RETURN(RES_INVALID_OPERATION,
+ "Circle Surface data already set!");
}
const auto sfc = eext_circle_surface_naviframe_add(navi);
diff --git a/project_def.prop b/project_def.prop
index 2842064..2b88e48 100644
--- a/project_def.prop
+++ b/project_def.prop
@@ -9,13 +9,13 @@ type = app
profile = wearable-4.0
# C/CPP Sources
-USER_SRCS = gallery/presenters/Instance.cpp ucl/source/mvp/GuiPresenter.cpp gallery/model/CustomMediaAlbum.cpp gallery/presenters/pages/ThumbnailPage.cpp ucl/source/appfw/InstanceManagerBase.cpp gallery/presenters/InstanceManager.cpp gallery/presenters/misc/SelectModePresenter.cpp ucl/source/util/logging.cpp gallery/resources.cpp gallery/presenters/pages/ViewerPage.cpp gallery/presenters/misc/MoreOptionsPresenter.cpp gallery/presenters/misc/AtspiHighlightHelper.cpp ucl/source/mvp/ListPresenter.cpp gallery/model/SoundManager.cpp ucl/source/misc/Variant.cpp gallery/presenters/base/Dialog.cpp ucl/source/misc/Timeout.cpp gallery/presenters/misc/ProcessingPresenter.cpp gallery/model/helpers.cpp ucl/source/util/types/Result.cpp gallery/model/impl/GalleryAlbum.cpp gallery/presenters/misc/helpers.cpp ucl/source/gui/Genlist.cpp gallery/presenters/pages/NoContentPage.cpp gallery/view/ImageViewer.cpp gallery/presenters/pages/PreviewPage.cpp gallery/view/PageContent.cpp gallery/helpers.cpp gallery/view/TouchParser.cpp ucl/source/gui/WidgetItem.cpp gallery/presenters/dialogs/AlertDialog.cpp gallery/model/Gallery.cpp gallery/model/impl/helpers.cpp ucl/source/gui/Naviframe.cpp ucl/source/appfw/UIApp.cpp ucl/source/appfw/SysEventProvider.cpp gallery/presenters/pages/VideoPlayerPage.cpp gallery/main.cpp ucl/source/gui/Layout.cpp gallery/presenters/base/Page.cpp gallery/model/MediaItem.cpp gallery/view/helpers.cpp ucl/source/gui/Window.cpp ucl/source/gui/Widget.cpp gallery/model/impl/BaseJob.cpp ucl/source/mvp/ListItemPresenter.cpp ucl/source/gui/NaviItem.cpp ucl/source/gui/ElmWidget.cpp gallery/view/ImageGrid.cpp ucl/source/appfw/helpers.cpp ucl/source/gui/EdjeWidget.cpp
+USER_SRCS = gallery/model/CustomMediaAlbum.cpp gallery/presenters/pages/ThumbnailPage.cpp gallery/presenters/InstanceManager.cpp gallery/presenters/misc/SelectModePresenter.cpp gallery/resources.cpp gallery/presenters/misc/MoreOptionsPresenter.cpp ucl/source/misc/Variant.cpp gallery/presenters/misc/ProcessingPresenter.cpp gallery/model/helpers.cpp ucl/source/util/types/Result.cpp gallery/model/impl/GalleryAlbum.cpp gallery/presenters/misc/helpers.cpp gallery/view/ImageViewer.cpp gallery/helpers.cpp ucl/source/gui/WidgetItem.cpp gallery/model/Gallery.cpp ucl/source/gui/Naviframe.cpp ucl/source/appfw/UIApp.cpp gallery/presenters/pages/VideoPlayerPage.cpp gallery/main.cpp ucl/source/gui/Layout.cpp gallery/model/MediaItem.cpp ucl/source/gui/Window.cpp ucl/source/gui/Widget.cpp gallery/model/impl/BaseJob.cpp ucl/source/gui/NaviItem.cpp ucl/source/appfw/helpers.cpp gallery/presenters/Instance.cpp ucl/source/mvp/GuiPresenter.cpp ucl/source/appfw/InstanceManagerBase.cpp ucl/source/util/logging.cpp gallery/presenters/pages/ViewerPage.cpp gallery/presenters/misc/AtspiHighlightHelper.cpp gallery/model/SoundManager.cpp gallery/presenters/base/Dialog.cpp ucl/source/misc/Timeout.cpp gallery/presenters/pages/NoContentPage.cpp gallery/presenters/pages/PreviewPage.cpp gallery/view/PageContent.cpp gallery/view/TouchParser.cpp gallery/presenters/dialogs/AlertDialog.cpp gallery/model/impl/helpers.cpp ucl/source/appfw/SysEventProvider.cpp gallery/presenters/base/Page.cpp gallery/view/helpers.cpp ucl/source/gui/ElmWidget.cpp gallery/view/ImageGrid.cpp ucl/source/gui/EdjeWidget.cpp
# EDC Sources
USER_EDCS =
# PO Sources
-USER_POS =
+USER_POS = res/po/es_ES.po res/po/ga.po res/po/gl.po res/po/hy.po res/po/lv.po res/po/es_US.po res/po/zh_HK.po res/po/et.po res/po/zh_TW.po res/po/de.po res/po/it_IT.po res/po/lt.po res/po/nb.po res/po/ru_RU.po res/po/el_GR.po res/po/ca.po res/po/fr.po res/po/nl.po res/po/pt_BR.po res/po/uz.po res/po/eu.po res/po/kk.po res/po/tr_TR.po res/po/hr.po res/po/pt_PT.po res/po/hu.po res/po/is.po res/po/ko_KR.po res/po/mk.po res/po/bg.po res/po/fr_CA.po res/po/en_US.po res/po/da.po res/po/en.po res/po/hi.po res/po/az.po res/po/cs.po res/po/pl.po res/po/ja_JP.po res/po/sk.po res/po/sv.po res/po/ro.po res/po/sl.po res/po/sr.po res/po/uk.po res/po/zh_CN.po res/po/ar.po res/po/ka.po res/po/fi.po res/po/en_PH.po
# User Defines
USER_DEFS =
diff --git a/res/po/ar.po b/res/po/ar.po
new file mode 100644
index 0000000..8a7618f
--- /dev/null
+++ b/res/po/ar.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "حسناً"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "الاستوديو"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "إلغاء تحديد الكل"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "تحديد الكل"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "فشلت العملية."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "حذف"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "حذف"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "هل تريد حذف صورة واحدة؟"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "هل تريد حذف %d من الصور؟"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "جارٍ الحذف..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "تم الحذف."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "حفظ إلى ساعة Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "جار الحفظ..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "تم الحفظ"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "التنسيق غير مدعوم."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "ما من صور"
+
diff --git a/res/po/az.po b/res/po/az.po
new file mode 100644
index 0000000..b078a8b
--- /dev/null
+++ b/res/po/az.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Qalereya"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Hamısını sil"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Hamısını seç"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Alınmadı."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Sil"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SİL"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 şəkil silinsin?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d şəkil silinsin?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Silinir..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Silindi."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gear-da saxla"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Yad saxlanır..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Yaddaşda saxlandı"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Dəstəklənməyən format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Şəkil yoxdur"
+
diff --git a/res/po/bg.po b/res/po/bg.po
new file mode 100644
index 0000000..5398d37
--- /dev/null
+++ b/res/po/bg.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Галерия"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Размарк. вс."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Изб. всички"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Неуспешно."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Изтриване"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ИЗТРИВ."
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Изтриване на 1 снимка?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Изтриване на %d снимки?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Изтриване..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Изтрито."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Записване в Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Запис..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Записано e."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Неподдържан формат."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Няма снимки"
+
diff --git a/res/po/ca.po b/res/po/ca.po
new file mode 100644
index 0000000..57bebc7
--- /dev/null
+++ b/res/po/ca.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ACCEPTAR"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galeria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Anul sel tot"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Selecc tot"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Error."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Esborrar"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ESBORRAR"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Esborrar 1 foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Esborrar %d fotos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "S'està esborrant..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Esborrat."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Desar al Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Desant..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "S'ha desat."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Format no admès."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "No hi ha cap foto"
+
diff --git a/res/po/cs.po b/res/po/cs.po
new file mode 100644
index 0000000..8896089
--- /dev/null
+++ b/res/po/cs.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerie"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Zrušit výběr"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Vybrat vše"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Chyba."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Odstranit"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ODSTRANIT"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Odstranit 1 fotografii?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Odstranit %d fotografií?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Odstraňování..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Odstraněno."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Uložit do Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Ukládání..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Uloženo."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Nepodporovaný formát."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Žádné fotografie"
+
diff --git a/res/po/da.po b/res/po/da.po
new file mode 100644
index 0000000..7672910
--- /dev/null
+++ b/res/po/da.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galleri"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Fravælg alle"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Vælg alle"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Mislykket."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Slet"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SLET"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Vil du slette 1 billede?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Vil du slette %d billeder?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Sletter ..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Slettet."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gem i Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Gemmer ..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Gemt."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Ikke-understøttet format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Ingen fotos"
+
diff --git a/res/po/de.po b/res/po/de.po
new file mode 100644
index 0000000..a4d7a79
--- /dev/null
+++ b/res/po/de.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerie"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Alle abwählen"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Alle auswählen"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Es ist ein Fehler aufgetreten."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Löschen"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "LÖSCHEN"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 Foto löschen?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d Fotos löschen?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Wird gelöscht..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Gelöscht."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Auf Gear speichern"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Wird gespeichert..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Gespeichert"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Das Format wird nicht unterstützt."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Keine Fotos"
+
diff --git a/res/po/el_GR.po b/res/po/el_GR.po
new file mode 100644
index 0000000..b5a7f16
--- /dev/null
+++ b/res/po/el_GR.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Συλλογή"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Αποεπ. όλων"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Επιλογή όλων"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Απέτυχε."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Διαγραφή"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ΔΙΑΓΡΑΦΗ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Να διαγραφεί 1 φωτογραφία;"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Να διαγραφούν %d φωτογραφίες;"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Διαγραφή..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Διαγράφ."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Αποθήκευση στο Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Αποθήκευση..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Αποθηκεύτηκε."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Μη υποστηριζόμενη μορφή."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Καμία φωτογραφία"
+
diff --git a/res/po/en.po b/res/po/en.po
new file mode 100644
index 0000000..2e15434
--- /dev/null
+++ b/res/po/en.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Gallery"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Deselect all"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Select all"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Failed."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Delete"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "DELETE"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Delete 1 photo?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Delete %d photos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Deleting..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Deleted."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Save to Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Saving..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Saved."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Unsupported format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "No photos"
+
diff --git a/res/po/en_PH.po b/res/po/en_PH.po
new file mode 100644
index 0000000..2e15434
--- /dev/null
+++ b/res/po/en_PH.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Gallery"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Deselect all"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Select all"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Failed."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Delete"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "DELETE"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Delete 1 photo?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Delete %d photos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Deleting..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Deleted."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Save to Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Saving..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Saved."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Unsupported format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "No photos"
+
diff --git a/res/po/en_US.po b/res/po/en_US.po
new file mode 100644
index 0000000..2e15434
--- /dev/null
+++ b/res/po/en_US.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Gallery"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Deselect all"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Select all"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Failed."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Delete"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "DELETE"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Delete 1 photo?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Delete %d photos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Deleting..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Deleted."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Save to Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Saving..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Saved."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Unsupported format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "No photos"
+
diff --git a/res/po/es_ES.po b/res/po/es_ES.po
new file mode 100644
index 0000000..48fbbe8
--- /dev/null
+++ b/res/po/es_ES.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ACEPTAR"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galería"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Cancelar todo"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Todo"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Error."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Eliminar"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ELIMINAR"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "¿Eliminar 1 foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "¿Eliminar %d fotos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Eliminando..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Eliminado."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Guardar en Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Guardando..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Se ha guardado."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formato no compatible."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "No hay fotos"
+
diff --git a/res/po/es_US.po b/res/po/es_US.po
new file mode 100644
index 0000000..f874c17
--- /dev/null
+++ b/res/po/es_US.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ACEPTAR"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galería"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Cancelar todo"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Todo"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Error."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Eliminar"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ELIMINAR"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "¿Eliminar 1 imagen?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "¿Eliminar %d imágenes?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Eliminando..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Eliminado."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Guardar en Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Guardando..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Guardado."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formato no compatible."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "No hay imágenes"
+
diff --git a/res/po/et.po b/res/po/et.po
new file mode 100644
index 0000000..8b1e0f2
--- /dev/null
+++ b/res/po/et.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerii"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Tühista kõik"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Vali kõik"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Nurjus."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Kustuta"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "KUSTUTA"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Kas kustutada 1 foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Kas kustutada %d fotot?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Kustutamine..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Kustutatud."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Salv. seadmesse Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Salvestamine..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Salvestatud"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Mittetoetatud vorming."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Fotosid pole"
+
diff --git a/res/po/eu.po b/res/po/eu.po
new file mode 100644
index 0000000..a34ecd8
--- /dev/null
+++ b/res/po/eu.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ADOS"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galeria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Desaut. denak"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Hautatu denak"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Huts egin du."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Ezabatu"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "EZABATU"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 argazki ezabatu?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d argazki ezabatu?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Ezabatzen..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Ezabatuta."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gorde Gear gailuan"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Gordetzen..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Gorde da."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Ez da onartzen formatua."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Ez dago argazkirik"
+
diff --git a/res/po/fi.po b/res/po/fi.po
new file mode 100644
index 0000000..8e48afb
--- /dev/null
+++ b/res/po/fi.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galleria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Poista val."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Val. kaikki"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Epäonnistui."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Poista"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "POISTA"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Poistetaanko 1 valokuva?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Poistetaanko %d valokuvaa?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Poistetaan..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Poistettu."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Tallenna Geariin"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Tallennetaan..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Tallennettu."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Muotoa ei tueta."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Ei valokuvia"
+
diff --git a/res/po/fr.po b/res/po/fr.po
new file mode 100644
index 0000000..b280469
--- /dev/null
+++ b/res/po/fr.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerie"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Tout désélect."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Tout sélect."
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Échec."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Supprimer"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SUPPRIMER"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Supprimer 1 photo ?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Supprimer %d photos ?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Suppression..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Suppression effectuée."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Enregistrer sur la Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Enregistrement..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Enregistré"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Le format n'est pas pris en charge."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Aucune photo"
+
diff --git a/res/po/fr_CA.po b/res/po/fr_CA.po
new file mode 100644
index 0000000..ae7b64b
--- /dev/null
+++ b/res/po/fr_CA.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerie"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Tout désélect."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Tout sélect."
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Échec."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Supprimer"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SUPPRIMER"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Supprimer 1 photo ?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Supprimer %d photos ?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Suppression..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Suppression effectuée."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Enregistrer sur la Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Enregistrement..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "L'enregistrement a été effectué."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Le format n'est pas pris en charge."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Aucune photo"
+
diff --git a/res/po/ga.po b/res/po/ga.po
new file mode 100644
index 0000000..52dd27a
--- /dev/null
+++ b/res/po/ga.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Gailearaí"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Dírogh. gach"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Roghn. gach"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Theip air."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Scrios"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SCRIOS"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Scrios 1 ghrianghraf?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Scrios %d grianghraf?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Scriosadh..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Scriosta."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Sábháil chuig Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Sábháil..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Sábháilte."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formáid nach bhfuil tacú ann di."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Níl g.ghraif ann"
+
diff --git a/res/po/gl.po b/res/po/gl.po
new file mode 100644
index 0000000..89fb80b
--- /dev/null
+++ b/res/po/gl.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ACEPTAR"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galería"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Cancelar todo"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Selecc. todo"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Erro."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Eliminar"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ELIMINAR"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Queres eliminar 1 foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Queres eliminar %d fotos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Eliminando..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Eliminado."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gardar en Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Gardando..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Gardado."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formato non compatible."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Non hai fotos"
+
diff --git a/res/po/hi.po b/res/po/hi.po
new file mode 100644
index 0000000..8bada0c
--- /dev/null
+++ b/res/po/hi.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ओके"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "गैलरी"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "सभी चयन हटाएँ"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "सभी चुनें"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "विफल हुआ।"
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "हटाएँ"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "हटाएँ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 फोटो हटाएँ?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d फोटोज हटाएँ?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "हटाया जा रहा है..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "हटाया गया।"
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "गियर में सुरक्षित करें"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "सुरक्षित हो रहा है..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "सुरक्षित हुआ।"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "असमर्थित फॉर्मेट।"
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "कोई फोटो नहीं हैं"
+
diff --git a/res/po/hr.po b/res/po/hr.po
new file mode 100644
index 0000000..6b6c3ad
--- /dev/null
+++ b/res/po/hr.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "U REDU"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerija"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Odznači sve"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Odaberi sve"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Neuspješno."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Izbriši"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "IZBRIŠI"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Izbrisati 1 fotografiju?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Izbrisati %d fotografije/a?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Brisanje..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Izbrisano."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Spremi na Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Spremanje..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Sačuvano."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Nepodržan format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nema fotografija"
+
diff --git a/res/po/hu.po b/res/po/hu.po
new file mode 100644
index 0000000..b5f4a7a
--- /dev/null
+++ b/res/po/hu.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galéria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Kijel. törl."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Össz. kijel."
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Sikertelen."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Törlés"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "TÖRLÉS"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Töröl 1 fényképet?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Töröl %d fényképet?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Törlés..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Törölve."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Mentés a Gearre"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Mentés..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Mentve."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Az alkalmazás nem támogatja ezt a formátumot."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nincs fénykép"
+
diff --git a/res/po/hy.po b/res/po/hy.po
new file mode 100644
index 0000000..fa06c48
--- /dev/null
+++ b/res/po/hy.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Պատկերասրահ"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Ապընտ. բոլոր"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Ընտրել բոլոր"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Չհաջողվեց:"
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Վերացնել"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ՎԵՐԱՑՆԵԼ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Վերացնե՞լ 1 լուսանկար:"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Վերացնե՞լ %d լուսանկար:"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Վերացվում է..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Վերացվեց:"
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Պահպանել Gear-ում"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Պահպանվում է..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Պահպանվեց"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Չապահովված ձևաչափ:"
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Լուսանկարներ չկան"
+
diff --git a/res/po/is.po b/res/po/is.po
new file mode 100644
index 0000000..963491e
--- /dev/null
+++ b/res/po/is.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "Í LAGI"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Gallerí"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Velja ekkert"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Velja allt"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Mistókst."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Eyða"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "EYÐA"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Eyða 1 mynd?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Eyða %d myndum?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Eyði..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Eytt."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Vista í Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Vista..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Vistað."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Ógilt snið."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Engar myndir"
+
diff --git a/res/po/it_IT.po b/res/po/it_IT.po
new file mode 100644
index 0000000..3615255
--- /dev/null
+++ b/res/po/it_IT.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galleria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Desel. tutto"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Selez. tutto"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Operazione non riuscita."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Elimina"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ELIMINA"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Eliminare 1 foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Eliminare %d foto?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Eliminazione in corso..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Eliminati."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Salva su Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Salvataggio in corso..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Salvato."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formato non supportato."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nessuna foto"
+
diff --git a/res/po/ja_JP.po b/res/po/ja_JP.po
new file mode 100644
index 0000000..bb4a714
--- /dev/null
+++ b/res/po/ja_JP.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "ギャラ​リー"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "全て解除"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "全て選択"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "失敗しました。"
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "削除"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "削除"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1枚の写真を削除しますか?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d枚の写真を削除しますか?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "削除中..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "削除しました。"
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gearに保存"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "保存中..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "保存しました。"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "未対応のフォーマットです。"
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "写真がありません"
+
diff --git a/res/po/ka.po b/res/po/ka.po
new file mode 100644
index 0000000..cbd3397
--- /dev/null
+++ b/res/po/ka.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "გალერეა"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "მონიშ. მოხს."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "აირჩიე ყველა"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "ვერ შესრულდა."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "წაშლა"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "წაშლა"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "წაიშალოს 1 ფოტო?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "წაიშალოს %d ფოტო?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "მიმდინარეობს წაშლა..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "წაიშალა."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gear-ში შენახვა"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "ინახება..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "შეინახა"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "ფორმატი არ არის მხარდაჭერილი."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "ფოტოები არ არის"
+
diff --git a/res/po/kk.po b/res/po/kk.po
new file mode 100644
index 0000000..d913396
--- /dev/null
+++ b/res/po/kk.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Галерея"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Барлығын алу"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Бәрін таңдау"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Сәтсіз болды."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Жою"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ЖОЮ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 фотосуретті жою керек пе?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d фотосуретті жою керек пе?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Жойылуда..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Жойылды."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gear-ға сақтау"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Сақталуда..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Сақталған"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Қолдау көрсетілмейтін пішім."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Фотосуреттер жоқ"
+
diff --git a/res/po/ko_KR.po b/res/po/ko_KR.po
new file mode 100644
index 0000000..b72777d
--- /dev/null
+++ b/res/po/ko_KR.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "확인"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "갤러리"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "모두 해제"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "모두 선택"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "오류가 발생했습니다."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "삭제"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "삭제"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "사진 1장을 삭제할까요?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "사진 %d장을 삭제할까요?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "삭제 중..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "삭제했습니다."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gear에 저장"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "동영상 저장 중..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "저장했습니다."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "지원되지 않는 형식입니다."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "사진 없음"
+
diff --git a/res/po/lt.po b/res/po/lt.po
new file mode 100644
index 0000000..1d8dbe7
--- /dev/null
+++ b/res/po/lt.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "GERAI"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerija"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Žymėti viską"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Rinkt. viską"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Nepavyko."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Trinti"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "TRINTI"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Trinti 1 nuotrauką?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Trinti %d nuotraukas (-ų)?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Trinama..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Ištrinta."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Išsaugoti „Gear“"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Išsaugoma..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Išsaugota"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Nepalaikomas formatas."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nuotraukų nėra"
+
diff --git a/res/po/lv.po b/res/po/lv.po
new file mode 100644
index 0000000..7dc5a49
--- /dev/null
+++ b/res/po/lv.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "LABI"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerija"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Atc. izvēli"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Izvēl. visu"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Neizdevās."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Dzēst"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "DZĒST"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Vai izdzēst 1 fotoattēlu?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Vai izdzēst %d fotoattēlus?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Dzēš..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Izdzēsts."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Saglabāt ierīcē Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Saglabā..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Saglabāta"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Neatbalstīts formāts."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nav fotoattēlu"
+
diff --git a/res/po/mk.po b/res/po/mk.po
new file mode 100644
index 0000000..afdfa6f
--- /dev/null
+++ b/res/po/mk.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Галерија"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Поништи сѐ"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Избери сѐ"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Неуспешно."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Избриши"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ИЗБРИШИ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Избриши 1 фотографија?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Избриши %d фотографии?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Се брише..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Избришано."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Зачувај во Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Се зачувува..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Сочувани."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Неподдржан формат."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Нема фотографии"
+
diff --git a/res/po/nb.po b/res/po/nb.po
new file mode 100644
index 0000000..54a7110
--- /dev/null
+++ b/res/po/nb.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galleri"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Fj. alle mrk."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Velg alle"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Mislyktes."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Slett"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SLETT"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Vil du slette 1 bilde?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Vil du slette %d bilder?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Sletter ..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Slettet."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Lagre i Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Lagrer..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Lagret."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formatet støttes ikke."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Ingen bilder"
+
diff --git a/res/po/nl.po b/res/po/nl.po
new file mode 100644
index 0000000..0befb3c
--- /dev/null
+++ b/res/po/nl.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerij"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Alles desel."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Alles select."
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Mislukt."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Verwijderen"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "VERWIJDER"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 foto verwijderen?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d foto's verwijderen?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Verwijderen..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Verwijderd."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Opslaan op Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Opslaan..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Opgeslagen."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Niet-ondersteunde indeling."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Geen foto's"
+
diff --git a/res/po/pl.po b/res/po/pl.po
new file mode 100644
index 0000000..b1f2d22
--- /dev/null
+++ b/res/po/pl.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galeria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Odznacz wsz."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Zaznacz wsz."
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Błąd."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Usuń"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "USUŃ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Usunąć 1 zdjęcie?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Usunąć zdjęć: %d?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Usuwanie..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Usunięto."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Zapisz w urządz. Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Zapisywanie..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Zapisano."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Nieobsługiwany format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Brak zdjęć"
+
diff --git a/res/po/pt_BR.po b/res/po/pt_BR.po
new file mode 100644
index 0000000..d0ca710
--- /dev/null
+++ b/res/po/pt_BR.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galeria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Desmar. tudo"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Selec. tudo"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Falha."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Excluir"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "EXCLUIR"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Excluir 1 foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Excluir %d fotos?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Excluindo..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Excluído."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Salvar no Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Salvando..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Salvo."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formato não suportado."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nenhuma foto"
+
diff --git a/res/po/pt_PT.po b/res/po/pt_PT.po
new file mode 100644
index 0000000..4741c8f
--- /dev/null
+++ b/res/po/pt_PT.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galeria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Desselec. tudo"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Selec. tudo"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Falhou."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Eliminar"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ELIMINAR"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Eliminar 1 fotografia?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Eliminar %d fotografias?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "A eliminar..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Eliminado."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Guardar no Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "A guardar..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Guardado."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formato não suportado."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Sem fotografias"
+
diff --git a/res/po/ro.po b/res/po/ro.po
new file mode 100644
index 0000000..833a4a1
--- /dev/null
+++ b/res/po/ro.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerie"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Desel. tot."
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Select. totală"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Acțiunea nu a reușit."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Ștergere"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ȘTERGERE"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Ștergeți 1 fotografie?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Ștergeți %d fotografii?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Se șterge..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Șters."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Salvare în disp. Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Se salvează..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "S-a salvat."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Format neacceptat."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nicio fotografie"
+
diff --git a/res/po/ru_RU.po b/res/po/ru_RU.po
new file mode 100644
index 0000000..54d9d5b
--- /dev/null
+++ b/res/po/ru_RU.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Галерея"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Отмен. выбор"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Выбрать все"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Сбой."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Удалить"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "УДАЛИТЬ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Удалить 1 фотографию?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Удалить %d фотографии (-ий)?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Удаление..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Удалено."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Сохранить на Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Сохранение..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Сохранено"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Неподдерживаемый формат."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Нет фотографий"
+
diff --git a/res/po/sk.po b/res/po/sk.po
new file mode 100644
index 0000000..8bcaebf
--- /dev/null
+++ b/res/po/sk.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galéria"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Zrušiť výber"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Vybrať všetko"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Pokus zlyhal."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Odstrániť"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ODSTRÁNIŤ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Chcete odstrániť 1 fotografiu?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Chcete vykonať odstránenie %d fotografií?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Odstraňuje sa..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Odstránené."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Uložiť do zariad. Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Ukladá sa..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Uložené."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Nepodporovaný formát."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Žiadne fotografie"
+
diff --git a/res/po/sl.po b/res/po/sl.po
new file mode 100644
index 0000000..ea0acca
--- /dev/null
+++ b/res/po/sl.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "V REDU"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerija"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Opusti vse"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Izberi vse"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Ni uspelo."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Izbriši"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "IZBRIŠI"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Želite izbrisati 1 fotografijo?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Želite izbrisati toliko fotografij: %d?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Brisanje ..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Izbrisano."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Shrani v Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Shranjevanje ..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Shranjeno."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Nepodprta oblika."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Ni fotografij"
+
diff --git a/res/po/sr.po b/res/po/sr.po
new file mode 100644
index 0000000..7da9d32
--- /dev/null
+++ b/res/po/sr.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galerija"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Poništi sve"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Izaberi sve"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Nije uspelo."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Izbriši"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "IZBRIŠI"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Izbrisati 1 fotografiju?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Izbrisati sledeći broj fotografija: %d?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Briše se..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Izbrisano."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Sačuvaj na Gear-u"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Čuva se..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Sačuvano."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Format nije podržan."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Nema fotografija"
+
diff --git a/res/po/sv.po b/res/po/sv.po
new file mode 100644
index 0000000..b3bfb52
--- /dev/null
+++ b/res/po/sv.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galleri"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Avmark. allt"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Välj allt"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Misslyckades."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Ta bort"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "RADERA"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Vill du ta bort ett foto?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Vill du ta bort %d foton?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Tar bort ..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Borttaget."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Spara på Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Sparar ..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Sparat."
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Formatet stöds inte."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Inga foton"
+
diff --git a/res/po/tr_TR.po b/res/po/tr_TR.po
new file mode 100644
index 0000000..32d9d70
--- /dev/null
+++ b/res/po/tr_TR.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "Tamam"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galeri"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Seçmlri kldr"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Tümünü seç"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Başarısız."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Sil"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "SİL"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 fotoğraf silinsin mi?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d fotoğraf silinsin mi?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Siliniyor..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Silindi."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gear'a kaydet"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Kaydediliyor..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Kayıtlı"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Desteklenmeyen biçim."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Fotoğraf yok"
+
diff --git a/res/po/uk.po b/res/po/uk.po
new file mode 100644
index 0000000..0a06baf
--- /dev/null
+++ b/res/po/uk.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "ОК"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Галерея"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Скас. вибір"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Вибрати всі"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Помилка."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "Видалити"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "ВИДАЛИТИ"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "Видалити 1 фотографію?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "Видалити %d фотографії (-ій)?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "Видалення..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "Видалено."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Зберегти на Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Збереження..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Збережено"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Формат не підтрим."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Немає фотографій"
+
diff --git a/res/po/uz.po b/res/po/uz.po
new file mode 100644
index 0000000..481e196
--- /dev/null
+++ b/res/po/uz.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "OK"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "Galereya"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "Bar. tan. ol"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "Bar. tanla"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "Xato."
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "O‘chirish"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "O‘CHIRISH"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "1 ta fotosurat o‘chirilsinmi?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "%d ta fotosurat o‘chirilsinmi?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "O‘chirilmoqda..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "O‘chirib tashlandi."
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "Gear’ga saqlash"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "Saqlanmoqda..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "Saqlandi"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "Qo‘llab-quvvatlanmaydigan format."
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "Fotosuratlar yo‘q"
+
diff --git a/res/po/zh_CN.po b/res/po/zh_CN.po
new file mode 100644
index 0000000..1df358d
--- /dev/null
+++ b/res/po/zh_CN.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "确定"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "相册"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "取消全选"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "全选"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "失败"
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "删除"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "删除"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "是否删除 1 张照片?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "是否删除 %d 张照片?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "正在删除..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "已删除"
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "保存至 Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "正在保存..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "已保存"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "不支持的格式"
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "无照片"
+
diff --git a/res/po/zh_HK.po b/res/po/zh_HK.po
new file mode 100644
index 0000000..1754320
--- /dev/null
+++ b/res/po/zh_HK.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "確定"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "媒體瀏覽器"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "取消全選"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "全選"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "失敗。"
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "刪除"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "刪除"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "刪除 1 張相片嗎?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "刪除 %d 張相片嗎?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "正在刪除..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "已刪除。"
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "儲存至 Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "正在儲存..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "已儲存"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "不支援的格式。"
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "無相片"
+
diff --git a/res/po/zh_TW.po b/res/po/zh_TW.po
new file mode 100644
index 0000000..b9d4b4e
--- /dev/null
+++ b/res/po/zh_TW.po
@@ -0,0 +1,48 @@
+msgid "WDS_HS_ACBUTTON_OK"
+msgstr "確定"
+
+msgid "WDS_HS_BUTTON2_GALLERY_M_APPLICATION_NAME"
+msgstr "媒體瀏覽器"
+
+msgid "WDS_HS_BUTTON_DESELECT_ALL_ABB2"
+msgstr "取消全選"
+
+msgid "WDS_HS_BUTTON_SELECT_ALL_ABB3"
+msgstr "全選"
+
+msgid "WDS_WNOTI_TPOP_FAILED"
+msgstr "失敗。"
+
+msgid "WDS_GALLERY_OPT_DELETE_ABB"
+msgstr "刪除"
+
+msgid "WDS_GALLERY_ACBUTTON_DELETE_ABB2"
+msgstr "刪除"
+
+msgid "WDS_GALLERY_POP_DELETE_1_PHOTO_Q"
+msgstr "刪除 1 張照片嗎?"
+
+msgid "WDS_GALLERY_POP_DELETE_PD_PHOTOS_Q"
+msgstr "刪除 %d 張照片嗎?"
+
+msgid "WDS_MSG_TPOP_DELETING_ING_ABB"
+msgstr "正在刪除..."
+
+msgid "WDS_GALLERY_TPOP_DELETED_ABB"
+msgstr "已刪除。"
+
+msgid "WDS_GALLERY_OPT_SAVE_TO_GEAR_ABB"
+msgstr "儲存至 Gear"
+
+msgid "IDS_GALLERY_SBODY_SAVING_ING_M_VIDEO"
+msgstr "正在儲存..."
+
+msgid "WDS_MSG_TPOP_SAVED"
+msgstr "已儲存"
+
+msgid "WDS_GALLERY_TPOP_UNSUPPORTED_FORMAT_ABB"
+msgstr "不支援的格式。"
+
+msgid "WDS_GALLERY_NPBODY_NO_PHOTOS_ABB"
+msgstr "無相片"
+
diff --git a/shared/res/org.tizen.gallery.png b/shared/res/org.tizen.gallery.png
index 3bf41ce..efc3f9b 100644
--- a/shared/res/org.tizen.gallery.png
+++ b/shared/res/org.tizen.gallery.png
Binary files differ
diff --git a/ucl/include/ucl/gui/Genlist.h b/ucl/include/ucl/gui/Genlist.h
deleted file mode 100644
index 366eccf..0000000
--- a/ucl/include/ucl/gui/Genlist.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * 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 __UCL_GUI_GENLIST_H__
-#define __UCL_GUI_GENLIST_H__
-
-#include "StyledWidget.h"
-#include "GenlistItem.h"
-
-namespace ucl {
-
- UCL_DECLARE_REF_ALIASES(Genlist);
-
- class Genlist final : public StyledWidget {
- public:
- enum class Mode {
- COMPRESS = ELM_LIST_COMPRESS,
- SCROLL = ELM_LIST_SCROLL,
- LIMIT = ELM_LIST_LIMIT,
- EXPAND = ELM_LIST_EXPAND
- };
-
- class Builder final {
- public:
- Builder();
- Builder &setStyle(ElmStyle style);
- Builder &setMode(Mode mode);
- Builder &setHomogeneous(bool value);
- Builder &setIsOwner(bool value);
- Builder &setNeedBindToEo(bool value);
- GenlistSRef build(ElmWidget &parent) const;
- private:
- ElmStyle m_style;
- Mode m_mode;
- bool m_isHomogeneous;
- bool m_isOwner;
- bool m_needBindToEo;
- };
-
- public:
- friend class ReffedObj<Genlist>;
- using StyledWidget::StyledWidget;
-
- void setMode(Mode mode);
- Mode getMode() const;
-
- void setHomogeneous(bool isHomogeneous);
- bool isHomogeneous() const;
-
- void updateRealizedItems();
- void clear();
-
- GenlistItem append(const Elm_Genlist_Item_Class *itc,
- const void *data, SmartCbHandler onSelect = nullptr,
- GenlistItem::Type type = GenlistItem::Type::SIMPLE,
- GenlistItem parent = nullptr);
-
- GenlistItem prepend(const Elm_Genlist_Item_Class *itc,
- const void *data, SmartCbHandler onSelect = nullptr,
- GenlistItem::Type type = GenlistItem::Type::SIMPLE,
- GenlistItem parent = nullptr);
-
- GenlistItem insertAfter(GenlistItem after,
- const Elm_Genlist_Item_Class *itc, const void *data,
- SmartCbHandler onSelect = nullptr,
- GenlistItem::Type type = GenlistItem::Type::SIMPLE,
- GenlistItem parent = nullptr);
-
- GenlistItem insertBefore(GenlistItem before,
- const Elm_Genlist_Item_Class *itc, const void *data,
- SmartCbHandler onSelect = nullptr,
- GenlistItem::Type type = GenlistItem::Type::SIMPLE,
- GenlistItem parent = nullptr);
- };
-}
-
-#include "Genlist.hpp"
-
-#endif // __UCL_GUI_GENLIST_H__
diff --git a/ucl/include/ucl/gui/Genlist.hpp b/ucl/include/ucl/gui/Genlist.hpp
deleted file mode 100644
index 3c93031..0000000
--- a/ucl/include/ucl/gui/Genlist.hpp
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * 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.
- */
-
-namespace ucl {
-
- // Genlist::Builder //
-
- inline Genlist::Builder::Builder() :
- m_mode(Mode::COMPRESS),
- m_isHomogeneous(true),
- m_isOwner(true),
- m_needBindToEo(false)
- {
- }
-
- inline Genlist::Builder &Genlist::Builder::setStyle(const ElmStyle style)
- {
- m_style = style;
- return *this;
- }
-
- inline Genlist::Builder &Genlist::Builder::setMode(const Mode mode)
- {
- m_mode = mode;
- return *this;
- }
-
- inline Genlist::Builder &Genlist::Builder::setHomogeneous(const bool value)
- {
- m_isHomogeneous = value;
- return *this;
- }
-
- inline Genlist::Builder &Genlist::Builder::setIsOwner(const bool value)
- {
- m_isOwner = value;
- return *this;
- }
-
- inline Genlist::Builder &Genlist::Builder::setNeedBindToEo(const bool value)
- {
- m_needBindToEo = value;
- return *this;
- }
-
- // Genlist //
-
- inline void Genlist::setMode(const Mode mode)
- {
- elm_genlist_mode_set(getEo(), static_cast<Elm_List_Mode>(mode));
- }
-
- inline Genlist::Mode Genlist::getMode() const
- {
- return static_cast<Mode>(elm_genlist_mode_get(getEo()));
- }
-
- inline void Genlist::setHomogeneous(const bool isHomogeneous)
- {
- elm_genlist_homogeneous_set(getEo(), toEina(isHomogeneous));
- }
-
- inline bool Genlist::isHomogeneous() const
- {
- return elm_genlist_homogeneous_get(getEo());
- }
-
- inline void Genlist::updateRealizedItems()
- {
- elm_genlist_realized_items_update(getEo());
- }
-
- inline void Genlist::clear()
- {
- elm_genlist_clear(getEo());
- }
-
- inline GenlistItem Genlist::append(const Elm_Genlist_Item_Class *const itc,
- const void *const data, const SmartCbHandler onSelect,
- const GenlistItem::Type type, const GenlistItem parent)
- {
- return GenlistItem(elm_genlist_item_append(
- getEo(), itc, data, parent,
- static_cast<Elm_Genlist_Item_Type>(type),
- onSelect.getStubA(), onSelect.getData()));
- }
-
- inline GenlistItem Genlist::prepend(const Elm_Genlist_Item_Class *const itc,
- const void *const data, SmartCbHandler onSelect,
- const GenlistItem::Type type, const GenlistItem parent)
- {
- return GenlistItem(elm_genlist_item_prepend(
- getEo(), itc, data, parent,
- static_cast<Elm_Genlist_Item_Type>(type),
- onSelect.getStubA(), onSelect.getData()));
- }
-
- inline GenlistItem Genlist::insertAfter(const GenlistItem after,
- const Elm_Genlist_Item_Class *const itc, const void *const data,
- const SmartCbHandler onSelect, const GenlistItem::Type type,
- const GenlistItem parent)
- {
- return GenlistItem(elm_genlist_item_insert_after(
- getEo(), itc, data, parent, after,
- static_cast<Elm_Genlist_Item_Type>(type),
- onSelect.getStubA(), onSelect.getData()));
- }
-
- inline GenlistItem Genlist::insertBefore(const GenlistItem before,
- const Elm_Genlist_Item_Class *itc, const void *data,
- const SmartCbHandler onSelect, const GenlistItem::Type type,
- const GenlistItem parent)
- {
- return GenlistItem(elm_genlist_item_insert_before(
- getEo(), itc, data, parent, before,
- static_cast<Elm_Genlist_Item_Type>(type),
- onSelect.getStubA(), onSelect.getData()));
- }
-}
diff --git a/ucl/include/ucl/gui/GenlistItem.h b/ucl/include/ucl/gui/GenlistItem.h
deleted file mode 100644
index 2c96b9c..0000000
--- a/ucl/include/ucl/gui/GenlistItem.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * 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 __UCL_GUI_GENLIST_ITEM_H__
-#define __UCL_GUI_GENLIST_ITEM_H__
-
-#include "WidgetItem.h"
-
-namespace ucl {
-
- class GenlistItem final : public WidgetItem {
- public:
- enum class Type {
- SIMPLE = ELM_GENLIST_ITEM_NONE,
- TREE = ELM_GENLIST_ITEM_TREE,
- GROUP = ELM_GENLIST_ITEM_GROUP
- };
-
- enum class SelectMode {
- DEFAULT = ELM_OBJECT_SELECT_MODE_DEFAULT,
- ALWAYS = ELM_OBJECT_SELECT_MODE_ALWAYS,
- NONE = ELM_OBJECT_SELECT_MODE_NONE,
- DISPLAY_ONLY = ELM_OBJECT_SELECT_MODE_DISPLAY_ONLY
- };
-
- enum {
- FIELD_ALL = ELM_GENLIST_ITEM_FIELD_ALL,
- FIELD_TEXT = ELM_GENLIST_ITEM_FIELD_TEXT,
- FIELD_CONTENT = ELM_GENLIST_ITEM_FIELD_CONTENT,
- FIELD_STATE = ELM_GENLIST_ITEM_FIELD_STATE,
- };
-
- public:
- using WidgetItem::WidgetItem;
-
- void setSelectMode(SelectMode mode) const;
- SelectMode getSelectMode() const;
-
- void setSelected(bool isSelected) const;
- bool isSelected() const;
-
- void update() const;
- void update(const Elm_Genlist_Item_Class *newItc) const;
- void update(const char *parts, int fields = FIELD_ALL) const;
- };
-}
-
-#include "GenlistItem.hpp"
-
-#endif // __UCL_GUI_GENLIST_ITEM_H__
diff --git a/ucl/include/ucl/gui/GenlistItem.hpp b/ucl/include/ucl/gui/GenlistItem.hpp
deleted file mode 100644
index 6920a88..0000000
--- a/ucl/include/ucl/gui/GenlistItem.hpp
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * 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.
- */
-
-namespace ucl {
-
- inline void GenlistItem::setSelectMode(const SelectMode mode) const
- {
- elm_genlist_item_select_mode_set(getIt(),
- static_cast<Elm_Object_Select_Mode>(mode));
- }
-
- inline GenlistItem::SelectMode GenlistItem::getSelectMode() const
- {
- return static_cast<GenlistItem::SelectMode>(
- elm_genlist_item_select_mode_get(getIt()));
- }
-
- inline void GenlistItem::setSelected(const bool isSelected) const
- {
- elm_genlist_item_selected_set(getIt(), toEina(isSelected));
- }
-
- inline bool GenlistItem::isSelected() const
- {
- return elm_genlist_item_selected_get(getIt());
- }
-
- inline void GenlistItem::update() const
- {
- elm_genlist_item_update(getIt());
- }
-
- inline void GenlistItem::update(
- const Elm_Genlist_Item_Class *const newItc) const
- {
- elm_genlist_item_item_class_update(getIt(), newItc);
- }
-
- inline void GenlistItem::update(
- const char *const parts, const int fields) const
- {
- elm_genlist_item_fields_update(getIt(), parts,
- static_cast<Elm_Genlist_Item_Field_Type>(fields));
- }
-}
diff --git a/ucl/include/ucl/gui/Window.h b/ucl/include/ucl/gui/Window.h
index 9aa598d..84a15da 100644
--- a/ucl/include/ucl/gui/Window.h
+++ b/ucl/include/ucl/gui/Window.h
@@ -43,7 +43,7 @@ namespace ucl {
Builder &setName(std::string value);
Builder &setTitle(std::string value);
- Builder &setSetIndicatorVisible(bool value);
+ Builder &setIndicatorVisible(bool value);
Builder &setRotations(std::vector<int> value);
Builder &setIsOwner(bool value);
@@ -77,6 +77,7 @@ namespace ucl {
bool isRotationsSupported() const;
void setRotations(const std::vector<int> &value);
+ void resizeToScreen();
void lower();
private:
diff --git a/ucl/include/ucl/gui/Window.hpp b/ucl/include/ucl/gui/Window.hpp
index d5b1828..144a5ad 100644
--- a/ucl/include/ucl/gui/Window.hpp
+++ b/ucl/include/ucl/gui/Window.hpp
@@ -55,7 +55,7 @@ namespace ucl {
return *this;
}
- inline Window::Builder &Window::Builder::setSetIndicatorVisible(
+ inline Window::Builder &Window::Builder::setIndicatorVisible(
const bool value)
{
m_isIndicatorVisible = value;
diff --git a/ucl/include/ucl/mvp/ListItemPresenter.h b/ucl/include/ucl/mvp/ListItemPresenter.h
deleted file mode 100644
index 46d2fb4..0000000
--- a/ucl/include/ucl/mvp/ListItemPresenter.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * 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 __UCL_MVP_LIST_ITEM_PRESENTER_H__
-#define __UCL_MVP_LIST_ITEM_PRESENTER_H__
-
-#include "ucl/gui/GenlistItem.h"
-#include "ucl/gui/ElmWidget.h"
-
-#include "ucl/misc/HashMap.h"
-
-#include "types.h"
-
-namespace ucl {
-
- UCL_DECLARE_REF_ALIASES(ListItemPresenter);
-
- class ListItemPresenter : public RefCountAware,
- public IDisposable {
- public:
- // IDisposable //
-
- virtual void dispose() final override;
- virtual bool isDisposed() const final override;
-
- protected:
- friend class ListPresenter;
-
- UCL_DECLARE_REF_ALIASES(ItemClass);
- UCL_DECLARE_REF_ALIASES(ItemClassCache);
-
- // Flags
- enum {
- PF_AUTO_UNSELECT = 1
- };
-
- struct ItemInsertionParams {
- ElmStyle itemStyle;
- GenlistItem::Type itemType;
-
- ItemInsertionParams(ElmStyle itemStyle,
- GenlistItem::Type itemType = GenlistItem::Type::SIMPLE) :
- itemStyle(itemStyle), itemType(itemType) {}
- };
-
- class ItemClass final : public NonCopyable {
- public:
- static ItemClassSRef newInstance(ElmStyle itemStyle);
- public:
- Elm_Genlist_Item_Class *get();
- private:
- friend class ReffedObj<ItemClass>;
- ItemClass(ElmStyle itemStyle);
- ~ItemClass();
- private:
- Elm_Genlist_Item_Class *const m_itc;
- };
-
- class ItemClassCache final : public NonCopyable {
- public:
- ItemClassSRef getItemClass(ElmStyle itemStyle);
- void purge();
- private:
- HashMap<ElmStyle, ItemClassSRef> m_itcMap;
- };
-
- protected:
- ListItemPresenter(IRefCountObj &rc);
- virtual ~ListItemPresenter();
-
- void setFlags(int flags);
- int getFlags() const;
-
- bool isActive() const;
-
- GenlistItem getItem();
- ItemClassCache *getItemClassCache();
-
- Result updateItemStyle(ElmStyle newItemStyle);
-
- virtual ItemInsertionParams getItemInsertionParams() = 0;
-
- virtual void onItemAttached();
- virtual void onItemDetached();
-
- virtual CString getItemPartText(EdjePart part);
- virtual WidgetSRef getItemPartContent(EdjePart part, ElmWidget &parent);
- virtual bool getItemPartState(EdjePart part);
-
- virtual void onItemSelected();
- virtual void onItemRealized();
- virtual void onItemUnrealized();
- virtual void onItemHighlighted();
- virtual void onItemUnhighlighted();
-
- private:
- void attachItem(GenlistItem item,
- ElmWidgetSRef &&parent,
- const ItemClassCacheSRef &itcCache,
- const SharedRef<bool> &isActiveRef);
-
- void deleteDetachedItem(bool silent = false);
- void detachItem(bool silent = false);
-
- void onItemSelectedHook();
- void onItemDel(Evas_Object *obj, void *eventInfo);
-
- private:
- ListItemPresenterSRef m_selfRef;
- GenlistItem m_item;
- ItemClassCacheSRef m_itcCache;
- SharedRef<bool> m_isActiveRef;
- ElmWidgetSRef m_parent;
- int m_flags;
- };
-}
-
-#endif // __UCL_MVP_LIST_ITEM_PRESENTER_H__
diff --git a/ucl/include/ucl/mvp/ListPresenter.h b/ucl/include/ucl/mvp/ListPresenter.h
deleted file mode 100644
index 1d62e41..0000000
--- a/ucl/include/ucl/mvp/ListPresenter.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * 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 __UCL_MVP_LIST_PRESENTER_H__
-#define __UCL_MVP_LIST_PRESENTER_H__
-
-#include "ucl/gui/Genlist.h"
-
-#include "GuiPresenter.h"
-#include "ListItemPresenter.h"
-
-namespace ucl {
-
- UCL_DECLARE_REF_ALIASES(ListPresenter);
-
- class ListPresenter final : public GuiPresenter {
- public:
- enum {
- FLAG_HOMOGENEOUS = (1 << 0),
- FLAG_CALC_X_MIN = (1 << 1),
- FLAG_CALC_Y_MIN = (1 << 2),
-
- FLAG_NOTIFY_REALIZED = (1 << 8),
- FLAG_NOTIFY_UNREALIZED = (1 << 9),
- FLAG_NOTIFY_HIGHLIGHTED = (1 << 10),
- FLAG_NOTIFY_UNHIGHLIGHTED = (1 << 11),
- };
-
- class Builder final {
- public:
- Builder();
- Builder &setStyle(ElmStyle style);
- Builder &setFlags(int flags);
- Builder &setParentWidget(const ElmWidgetSRef &parentWidget);
- ListPresenterSRef build(GuiPresenter &parent) const;
- private:
- ucl::ElmWidgetSRef m_parentWidget;
- ElmStyle m_style;
- int m_flags;
- };
-
- public:
- Genlist &getWidget();
-
- void clear();
-
- Result append(ListItemPresenter &itemPresenter,
- ListItemPresenter *parent = nullptr);
-
- Result prepend(ListItemPresenter &itemPresenter,
- ListItemPresenter *parent = nullptr);
-
- Result insertAfter(const ListItemPresenter &after,
- ListItemPresenter &itemPresenter,
- ListItemPresenter *parent = nullptr);
-
- Result insertBefore(const ListItemPresenter &before,
- ListItemPresenter &itemPresenter,
- ListItemPresenter *parent = nullptr);
-
- private:
- friend class ReffedObj<ListPresenter>;
- ListPresenter(IRefCountObj &rc);
- virtual ~ListPresenter();
-
- Result prepare(GuiPresenter &parent, ElmWidget &parentWidget,
- ElmStyle style, int flags);
-
- template <class INSERT_FUNC>
- Result insert(ListItemPresenter &itemPresenter,
- ListItemPresenter *parent,
- INSERT_FUNC &&insertFunc);
-
- template <class INSERT_FUNC>
- Result insertRelative(const ListItemPresenter &relative,
- ListItemPresenter &itemPresenter,
- ListItemPresenter *parent, INSERT_FUNC &&insertFunc);
-
- void setIsActiveRef(bool value);
-
- void onItemSelected(Widget &widget, void *eventInfo);
-
- void onItemRealized(Widget &widget, void *eventInfo);
- void onItemUnrealized(Widget &widget, void *eventInfo);
- void onItemHighlighted(Widget &widget, void *eventInfo);
- void onItemUnhighlighted(Widget &widget, void *eventInfo);
-
- // GuiPresenter //
-
- virtual void onActivate() final override;
- virtual void onDeactivate() final override;
-
- private:
- GenlistSRef m_genlist;
- ListItemPresenter::ItemClassCacheSRef m_itcCache;
- SharedRef<bool> m_isActiveRef;
- };
-}
-
-#endif // __UCL_MVP_LIST_PRESENTER_H__
diff --git a/ucl/include/ucl/util/types/Result.h b/ucl/include/ucl/util/types/Result.h
index 099223f..93bbdce 100644
--- a/ucl/include/ucl/util/types/Result.h
+++ b/ucl/include/ucl/util/types/Result.h
@@ -60,7 +60,7 @@ namespace ucl {
RES_FAIL = -1,
RES_INVALID_ARGUMENTS = -2,
- RES_ILLEGAL_STATE = -3,
+ RES_INVALID_OPERATION = -3,
RES_OUT_OF_MEMORY = -4,
RES_IO_ERROR = -5,
RES_NOT_SUPPORTED = -6,
diff --git a/ucl/source/gui/ElmWidget.cpp b/ucl/source/gui/ElmWidget.cpp
index b7d227e..278407b 100644
--- a/ucl/source/gui/ElmWidget.cpp
+++ b/ucl/source/gui/ElmWidget.cpp
@@ -19,6 +19,8 @@
#include "ucl/gui/Window.h"
#include "ucl/gui/helpers.h"
+#include "common.h"
+
namespace ucl {
ElmWidget::ElmWidget(IRefCountObj *rc, Evas_Object *eo, bool isOwner) :
diff --git a/ucl/source/gui/Genlist.cpp b/ucl/source/gui/Genlist.cpp
deleted file mode 100644
index b0e31a5..0000000
--- a/ucl/source/gui/Genlist.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * 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.
- */
-#include "ucl/gui/Genlist.h"
-
-#include "common.h"
-
-namespace ucl {
-
- // Genlist::Builder //
-
- GenlistSRef Genlist::Builder::build(ElmWidget &parent) const
- {
- Evas_Object *const eo = elm_genlist_add(parent);
- if (!eo) {
- LOG_RETURN_VALUE(RES_FAIL, {}, "elm_genlist_add() failed!");
- }
-
- auto result = makeShared<Genlist>(eo, m_isOwner);
-
- if (m_needBindToEo) {
- result->bindToEo();
- }
-
- if (isValid(m_style)) {
- result->setStyle(m_style);
- }
-
- result->setMode(m_mode);
- result->setHomogeneous(m_isHomogeneous);
-
- show(*result);
-
- return result;
- }
-}
diff --git a/ucl/source/gui/Window.cpp b/ucl/source/gui/Window.cpp
index 3f74e9e..cfa53fd 100644
--- a/ucl/source/gui/Window.cpp
+++ b/ucl/source/gui/Window.cpp
@@ -75,4 +75,17 @@ namespace ucl {
return result;
}
+
+ // Window //
+
+ void Window::resizeToScreen()
+ {
+ int w = 0;
+ int h = 0;
+ getScreenSize(&w, &h);
+ if ((w > 0) && (h > 0)) {
+ setGeometry(0, 0, w, h);
+ m_conform.setGeometry(0, 0, w, h);
+ }
+ }
}
diff --git a/ucl/source/mvp/ListItemPresenter.cpp b/ucl/source/mvp/ListItemPresenter.cpp
deleted file mode 100644
index d27568b..0000000
--- a/ucl/source/mvp/ListItemPresenter.cpp
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * 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.
- */
-
-#include "ucl/mvp/ListItemPresenter.h"
-
-#include "common.h"
-
-namespace ucl {
-
- // ListItemPresenter::ItemClass //
-
- ListItemPresenter::ItemClassSRef ListItemPresenter::ItemClass::
- newInstance(const ElmStyle itemStyle)
- {
- auto result = makeShared<ItemClass>(itemStyle);
- if (!result->get()) {
- LOG_RETURN_VALUE(RES_FAIL, {}, "Failed to create ItemClass()!");
- }
- return result;
- }
-
- ListItemPresenter::ItemClass::ItemClass(const ElmStyle itemStyle) :
- m_itc(elm_genlist_item_class_new())
- {
- if (!m_itc) {
- return;
- }
-
- m_itc->item_style = itemStyle.name;
-
- m_itc->func.text_get =
- [](void *data, Evas_Object *obj, const char *part) -> char *
- {
- if (!data) {
- LOG_RETURN_VALUE(RES_FATAL, nullptr, "data is NULL");
- }
- return static_cast<ListItemPresenter *>(data)->
- getItemPartText(EdjePart(part)).release();
- };
-
- m_itc->func.content_get =
- [](void *data, Evas_Object *obj, const char *part) -> Evas_Object *
- {
- if (!data) {
- LOG_RETURN_VALUE(RES_FATAL, nullptr, "data is NULL");
- }
- auto &&item = *static_cast<ListItemPresenter *>(data);
- if (const auto widget = item.getItemPartContent(
- EdjePart(part), *item.m_parent)) {
- widget->setIsOwner(false);
- return widget->getEo();
- }
- return nullptr;
- };
-
- m_itc->func.state_get =
- [](void *data, Evas_Object *obj, const char *part) -> Eina_Bool
- {
- if (!data) {
- LOG_RETURN_VALUE(RES_FATAL, false, "data is NULL");
- }
- return static_cast<ListItemPresenter *>(data)->
- getItemPartState(EdjePart(part));
- };
- }
-
- ListItemPresenter::ItemClass::~ItemClass()
- {
- if (m_itc) {
- elm_genlist_item_class_free(m_itc);
- }
- }
-
- Elm_Genlist_Item_Class *ListItemPresenter::ItemClass::get()
- {
- return m_itc;
- }
-
- // ListItemPresenter::ItemClassCache //
-
- ListItemPresenter::ItemClassSRef ListItemPresenter::ItemClassCache::
- getItemClass(const ElmStyle itemStyle)
- {
- ItemClassSRef result;
-
- if (!m_itcMap.get(itemStyle, result)) {
- result = ItemClass::newInstance(itemStyle);
- if (result) {
- m_itcMap.set(itemStyle, result);
- } else {
- ELOG("ItemClass::newInstance() failed!");
- }
- }
-
- return result;
- }
-
- void ListItemPresenter::ItemClassCache::purge()
- {
- m_itcMap.clear();
- }
-
- // ListItemPresenter //
-
- ListItemPresenter::ListItemPresenter(IRefCountObj &rc) :
- RefCountAware(&rc),
- m_flags(PF_AUTO_UNSELECT)
- {
- }
-
- ListItemPresenter::~ListItemPresenter()
- {
- if (m_item) {
- FLOG("m_item is still alive!");
- deleteDetachedItem(true);
- }
- }
-
- void ListItemPresenter::attachItem(GenlistItem item, ElmWidgetSRef &&parent,
- const ItemClassCacheSRef &itcCache,
- const SharedRef<bool> &isActiveRef)
- {
- if (m_item) {
- deleteDetachedItem();
- }
-
- m_item = item;
- m_item.setData(this);
- m_item.setDelCallback(CALLBACK_A(ListItemPresenter::onItemDel));
-
- m_parent = std::move(parent);
-
- m_itcCache = itcCache;
- m_isActiveRef = isActiveRef;
-
- if (!m_selfRef) {
- m_selfRef = asShared(*this);
- }
-
- onItemAttached();
- }
-
- void ListItemPresenter::deleteDetachedItem(const bool silent)
- {
- auto item = m_item;
- detachItem(silent);
- item.del();
- }
-
- void ListItemPresenter::detachItem(const bool silent)
- {
- m_item.setData(nullptr);
- m_item.setDelCallback(nullptr);
- m_item = nullptr;
-
- m_parent.reset();
- m_itcCache.reset();
- m_isActiveRef.reset();
-
- if (!silent) {
- onItemDetached();
- }
- }
-
- void ListItemPresenter::onItemDel(Evas_Object *obj, void *eventInfo)
- {
- if (m_item) {
- detachItem();
- }
- m_selfRef.reset();
- }
-
- void ListItemPresenter::setFlags(const int flags)
- {
- m_flags = flags;
- }
-
- int ListItemPresenter::getFlags() const
- {
- return m_flags;
- }
-
- bool ListItemPresenter::isActive() const
- {
- return (m_isActiveRef ? *m_isActiveRef : false);
- }
-
- GenlistItem ListItemPresenter::getItem()
- {
- return m_item;
- }
-
- ListItemPresenter::ItemClassCache *ListItemPresenter::getItemClassCache()
- {
- return m_itcCache.get();
- }
-
- Result ListItemPresenter::updateItemStyle(const ElmStyle newItemStyle)
- {
- if (!m_item) {
- LOG_RETURN(RES_ILLEGAL_STATE, "m_item is NULL!");
- }
- if (!m_itcCache) {
- LOG_RETURN(RES_FATAL, "m_itcCache is NULL!");
- }
-
- const auto itc = m_itcCache->getItemClass(newItemStyle);
- if (!itc) {
- LOG_RETURN(RES_FAIL, "m_itcCache->getItemClass() failed!");
- }
-
- m_item.update(itc->get());
-
- return RES_OK;
- }
-
- void ListItemPresenter::dispose()
- {
- if (m_item) {
- deleteDetachedItem();
- m_selfRef.reset();
- }
- }
-
- bool ListItemPresenter::isDisposed() const
- {
- return !m_item;
- }
-
- void ListItemPresenter::onItemAttached()
- {
- }
-
- void ListItemPresenter::onItemDetached()
- {
- }
-
- WidgetSRef ListItemPresenter::getItemPartContent(const EdjePart part,
- ElmWidget &parent)
- {
- return nullptr;
- }
-
- CString ListItemPresenter::getItemPartText(const EdjePart part)
- {
- return nullptr;
- }
-
- bool ListItemPresenter::getItemPartState(const EdjePart part)
- {
- return false;
- }
-
- void ListItemPresenter::onItemSelectedHook()
- {
- if (m_flags & PF_AUTO_UNSELECT) {
- m_item.setSelected(false);
- }
- onItemSelected();
- }
-
- void ListItemPresenter::onItemSelected()
- {
- }
-
- void ListItemPresenter::onItemRealized()
- {
- }
-
- void ListItemPresenter::onItemUnrealized()
- {
- }
-
- void ListItemPresenter::onItemHighlighted()
- {
- }
-
- void ListItemPresenter::onItemUnhighlighted()
- {
- }
-}
diff --git a/ucl/source/mvp/ListPresenter.cpp b/ucl/source/mvp/ListPresenter.cpp
deleted file mode 100644
index 2835697..0000000
--- a/ucl/source/mvp/ListPresenter.cpp
+++ /dev/null
@@ -1,328 +0,0 @@
-/*
- * 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.
- */
-
-#include "ucl/mvp/ListPresenter.h"
-
-#include "common.h"
-
-namespace ucl { namespace { namespace impl {
-
- constexpr SmartEvent ITEM_SELECTED {"selected"};
-
- constexpr SmartEvent ITEM_REALIZED {"realized"};
- constexpr SmartEvent ITEM_UNREALIZED {"unrealized"};
- constexpr SmartEvent ITEM_HIGHLIGHTED {"highlighted"};
- constexpr SmartEvent ITEM_UNHIGHLIGHTED {"unhighlighted"};
-
- ListItemPresenter *toItemPresenter(void *eventInfo)
- {
- if (!eventInfo) {
- LOG_RETURN_VALUE(RES_FATAL, nullptr, "eventInfo is NULL");
- }
-
- const GenlistItem item{static_cast<Elm_Object_Item *>(eventInfo)};
- const auto data = item.getData();
- if (!data) {
- LOG_RETURN_VALUE(RES_FATAL, nullptr, "data is NULL");
- }
-
- return static_cast<ListItemPresenter *>(data);
- }
-}}}
-
-namespace ucl {
-
- // ListPresenter::Builder //
-
- ListPresenter::Builder::Builder() :
- m_flags(FLAG_HOMOGENEOUS)
- {
- }
-
- ListPresenter::Builder &ListPresenter::Builder::setStyle(
- const ElmStyle style)
- {
- m_style = style;
- return *this;
- }
-
- ListPresenter::Builder &ListPresenter::Builder::setFlags(const int flags)
- {
- m_flags = flags;
- return *this;
- }
-
- ListPresenter::Builder &ListPresenter::Builder::setParentWidget(
- const ElmWidgetSRef &parentWidget)
- {
- m_parentWidget = parentWidget;
- return *this;
- }
-
- ListPresenterSRef ListPresenter::Builder::build(GuiPresenter &parent) const
- {
- if (!m_parentWidget) {
- LOG_RETURN_VALUE(RES_INVALID_ARGUMENTS, {},
- "m_parentWidget is NULL!");
- }
-
- auto result = makeShared<ListPresenter>();
-
- FAIL_RETURN_VALUE(result->prepare(
- parent, *m_parentWidget, m_style, m_flags),
- {}, "result->prepare() failed!");
-
- return result;
- }
-
- // ListPresenter //
-
- ListPresenter::ListPresenter(IRefCountObj &rc) :
- GuiPresenter(rc)
- {
- }
-
- ListPresenter::~ListPresenter()
- {
- if (m_genlist) {
- m_genlist->clear();
- }
- }
-
- Result ListPresenter::prepare(
- GuiPresenter &parent, ElmWidget &parentWidget,
- const ElmStyle style, const int flags)
- {
- FAIL_RETURN(GuiPresenter::prepare(parent, PF_DEACTIVATOR),
- "GuiPresenter::prepare() failed!");
-
- m_genlist = Genlist::Builder().
- setStyle(style).
- setMode(Genlist::Mode::COMPRESS).
- setHomogeneous(flags & FLAG_HOMOGENEOUS).
- setNeedBindToEo(true).
- build(parentWidget);
- if (!m_genlist) {
- LOG_RETURN(RES_FAIL, "Genlist::build() failed!");
- }
-
- expandAndFill(*m_genlist);
-
- // TODO Add Scroller widget.
- elm_scroller_content_min_limit(*m_genlist,
- toEina((flags & FLAG_CALC_X_MIN) != 0),
- toEina((flags & FLAG_CALC_Y_MIN) != 0));
-
- m_itcCache = makeShared<ListItemPresenter::ItemClassCache>();
-
- m_isActiveRef = makeShared<bool>();
- *m_isActiveRef = isActive();
-
- m_genlist->addEventHandler(impl::ITEM_SELECTED, WEAK_DELEGATE(
- ListPresenter::onItemSelected, asWeak(*this)));
-
- if (flags & FLAG_NOTIFY_REALIZED) {
- m_genlist->addEventHandler(impl::ITEM_REALIZED, WEAK_DELEGATE(
- ListPresenter::onItemRealized, asWeak(*this)));
- }
- if (flags & FLAG_NOTIFY_UNREALIZED) {
- m_genlist->addEventHandler(impl::ITEM_UNREALIZED, WEAK_DELEGATE(
- ListPresenter::onItemUnrealized, asWeak(*this)));
- }
- if (flags & FLAG_NOTIFY_HIGHLIGHTED) {
- m_genlist->addEventHandler(impl::ITEM_HIGHLIGHTED, WEAK_DELEGATE(
- ListPresenter::onItemHighlighted, asWeak(*this)));
- }
- if (flags & FLAG_NOTIFY_UNHIGHLIGHTED) {
- m_genlist->addEventHandler(impl::ITEM_UNHIGHLIGHTED, WEAK_DELEGATE(
- ListPresenter::onItemUnhighlighted, asWeak(*this)));
- }
-
- return RES_OK;
- }
-
- Genlist &ListPresenter::getWidget()
- {
- return *m_genlist;
- }
-
- void ListPresenter::clear()
- {
- m_genlist->clear();
- m_itcCache->purge();
- }
-
- Result ListPresenter::append(ListItemPresenter &itemPresenter,
- ListItemPresenter *parent)
- {
- return insert(itemPresenter, parent,
- [this](const Elm_Genlist_Item_Class *itc, const void *data,
- GenlistItem parent, GenlistItem::Type type)
- {
- return m_genlist->append(itc, data, nullptr, type, parent);
- });
- }
-
- Result ListPresenter::prepend(ListItemPresenter &itemPresenter,
- ListItemPresenter *parent)
- {
- return insert(itemPresenter, parent,
- [this](const Elm_Genlist_Item_Class *itc, const void *data,
- GenlistItem parent, GenlistItem::Type type)
- {
- return m_genlist->prepend(itc, data, nullptr, type, parent);
- });
- }
-
- Result ListPresenter::insertAfter(const ListItemPresenter &after,
- ListItemPresenter &itemPresenter,
- ListItemPresenter *parent)
- {
- return insertRelative(after, itemPresenter, parent,
- [this](GenlistItem rel, const Elm_Genlist_Item_Class *itc,
- const void *data, GenlistItem parent, GenlistItem::Type type)
- {
- return m_genlist->insertAfter(
- rel, itc, data, nullptr, type, parent);
- });
- }
-
- Result ListPresenter::insertBefore(const ListItemPresenter &before,
- ListItemPresenter &itemPresenter,
- ListItemPresenter *parent)
- {
- return insertRelative(before, itemPresenter, parent,
- [this](GenlistItem rel, const Elm_Genlist_Item_Class *itc,
- const void *data, GenlistItem parent, GenlistItem::Type type)
- {
- return m_genlist->insertBefore(
- rel, itc, data, nullptr, type, parent);
- });
- }
-
- template <class INSERT_FUNC>
- Result ListPresenter::insert(ListItemPresenter &itemPresenter,
- ListItemPresenter *parent, INSERT_FUNC &&insertFunc)
- {
- const auto params = itemPresenter.getItemInsertionParams();
-
- const auto itc = m_itcCache->getItemClass(params.itemStyle);
- if (!itc) {
- LOG_RETURN(RES_FAIL, "m_itcCache.getItemClass() failed!");
- }
-
- GenlistItem parentItem;
- if (parent) {
- parentItem = parent->m_item;
- if (!parentItem) {
- ELOG("parentItem is NULL");
- }
- }
-
- const auto item = insertFunc(itc->get(),
- &itemPresenter, parentItem, params.itemType);
- if (!item) {
- LOG_RETURN(RES_FAIL, "insertFunc() failed!");
- }
-
- itemPresenter.attachItem(item, m_genlist, m_itcCache, m_isActiveRef);
-
- return RES_OK;
- }
-
- template <class INSERT_FUNC>
- Result ListPresenter::insertRelative(const ListItemPresenter &relative,
- ListItemPresenter &itemPresenter, ListItemPresenter *parent,
- INSERT_FUNC &&insertFunc)
- {
- const auto relItem = relative.m_item;
- if (!relItem) {
- LOG_RETURN(RES_FAIL, "relItem is NULL!");
- }
- if (relItem.getWidget() != m_genlist->getEo()) {
- LOG_RETURN(RES_FAIL, "relItem has wrong genlist!");
- }
- return insert(itemPresenter, parent,
- [relItem, &insertFunc](const Elm_Genlist_Item_Class *itc,
- const void *data, GenlistItem parent, GenlistItem::Type type)
- {
- return insertFunc(relItem, itc, data, parent, type);
- });
- }
-
- void ListPresenter::setIsActiveRef(const bool value)
- {
- if (!m_isActiveRef) {
- LOG_RETURN_VOID(RES_FATAL, "m_isActiveRef is NULL");
- }
- *m_isActiveRef = value;
- }
-
- void ListPresenter::onItemSelected(Widget &widget, void *eventInfo)
- {
- const auto itemPresenter = impl::toItemPresenter(eventInfo);
- if (!itemPresenter) {
- LOG_RETURN_VOID(RES_FATAL, "itemPresenter is NULL");
- }
- itemPresenter->onItemSelectedHook();
- }
-
- void ListPresenter::onItemRealized(Widget &widget, void *eventInfo)
- {
- const auto itemPresenter = impl::toItemPresenter(eventInfo);
- if (!itemPresenter) {
- LOG_RETURN_VOID(RES_FATAL, "itemPresenter is NULL");
- }
- itemPresenter->onItemRealized();
- }
-
- void ListPresenter::onItemUnrealized(Widget &widget, void *eventInfo)
- {
- const auto itemPresenter = impl::toItemPresenter(eventInfo);
- if (!itemPresenter) {
- LOG_RETURN_VOID(RES_FATAL, "itemPresenter is NULL");
- }
- itemPresenter->onItemUnrealized();
- }
-
- void ListPresenter::onItemHighlighted(Widget &widget, void *eventInfo)
- {
- const auto itemPresenter = impl::toItemPresenter(eventInfo);
- if (!itemPresenter) {
- LOG_RETURN_VOID(RES_FATAL, "itemPresenter is NULL");
- }
- itemPresenter->onItemHighlighted();
- }
-
- void ListPresenter::onItemUnhighlighted(Widget &widget, void *eventInfo)
- {
- const auto itemPresenter = impl::toItemPresenter(eventInfo);
- if (!itemPresenter) {
- LOG_RETURN_VOID(RES_FATAL, "itemPresenter is NULL");
- }
- itemPresenter->onItemUnhighlighted();
- }
-
- void ListPresenter::onActivate()
- {
- setIsActiveRef(true);
- }
-
- void ListPresenter::onDeactivate()
- {
- setIsActiveRef(false);
- }
-}
diff --git a/ucl/source/util/types/Result.cpp b/ucl/source/util/types/Result.cpp
index b42875e..9ba6c17 100644
--- a/ucl/source/util/types/Result.cpp
+++ b/ucl/source/util/types/Result.cpp
@@ -26,7 +26,7 @@ namespace ucl { namespace { namespace impl {
{"RES_NOT_SUPPORTED", DLOG_ERROR},
{"RES_IO_ERROR", DLOG_ERROR},
{"RES_OUT_OF_MEMORY", DLOG_ERROR},
- {"RES_ILLEGAL_STATE", DLOG_ERROR},
+ {"RES_INVALID_OPERATION", DLOG_ERROR},
{"RES_INVALID_ARGUMENTS", DLOG_ERROR},
{"RES_FAIL", DLOG_ERROR},
{"RES_OK", DLOG_INFO},