--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+ <storageModule moduleId="org.eclipse.cdt.core.settings">
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.648452013">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.648452013" moduleId="org.eclipse.cdt.core.settings" name="Debug-Tizen-Emulator">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="Gallery" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.648452013" name="Debug-Tizen-Emulator" parent="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.648452013." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.emulator.776689888" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.emulator">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.1155527474" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/Gallery/Debug-Tizen-Emulator}" id="org.tizen.nativecpp.target.sbi.gnu.builder.1396583573" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.1865402784" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.362827773" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.263156029" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.debugging.level.1276131392" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.1391502603" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.0.cpp.partner_gcc45.i386.cpp.app"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.670837388" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1824418574" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.1865810971" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.555373684" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1126898722" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.1789771064" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc.exe" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.46501285" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1333914268" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="gnu.c.compiler.option.debugging.level.52600013" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1243417132" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.0.cpp.partner_gcc45.i386.cpp.app"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.683008709" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.1419646524" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1708673031" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.265166881" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.591948814" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1337884702" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1010872838" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.1308967595" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker">
+ <option id="gnu.cpp.link.option.paths.397815603" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1139689213" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=\$$ORIGIN/.. -Xlinker -rpath=\$$ORIGIN/../lib"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.430134972" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.660961956" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.666549859" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.751958325" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.1784175039" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.1075373877">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.1075373877" moduleId="org.eclipse.cdt.core.settings" name="Debug-Tizen-Device">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="${ProjName}" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.1075373877" name="Debug-Tizen-Device" parent="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.1075373877." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.device.727365644" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.device">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.867402765" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/Gallery/Debug-Tizen-Device}" id="org.tizen.nativecpp.target.sbi.gnu.builder.1364113344" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.437785089" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.825214463" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.513169402" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.none" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.debugging.level.98200745" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.1366545876" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.0.cpp.partner_gcc45.armel.cpp.app"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1428987418" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1558307258" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.1745190475" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.302184917" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.2074995145" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.973695341" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc.exe" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.1885920022" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.none" id="gnu.c.compiler.option.optimization.level.1422936518" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="gnu.c.compiler.option.debugging.level.2081946078" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.max" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1152328519" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.0.cpp.partner_gcc45.armel.cpp.app"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.778925081" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.2079990400" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.548109008" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1817155315" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.1262769732" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_DEBUG"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1428723759" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.849904819" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.982299104" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker">
+ <option id="gnu.cpp.link.option.paths.69505426" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1581316714" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=\$$ORIGIN/.. -Xlinker -rpath=\$$ORIGIN/../lib"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.520453296" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.779340997" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1478564084" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.1624526445" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.1819067853" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.release.443790766">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.release.443790766" moduleId="org.eclipse.cdt.core.settings" name="Release">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="${ProjName}" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release,org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" errorParsers="org.eclipse.cdt.core.MakeErrorParser;org.eclipse.cdt.core.GCCErrorParser;" id="org.tizen.nativecpp.config.sbi.gcc45.app.release.443790766" name="Release" parent="org.tizen.nativecpp.config.sbi.gcc45.app.release">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.release.443790766." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.release.1374265676" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.release">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.151170278" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/Gallery/Release}" id="org.tizen.nativecpp.target.sbi.gnu.builder.239344637" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.1853837001" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.1131125392" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler">
+ <option id="gnu.cpp.compiler.option.optimization.level.280441701" name="Optimization Level" superClass="gnu.cpp.compiler.option.optimization.level" value="gnu.cpp.compiler.optimization.level.most" valueType="enumerated"/>
+ <option id="gnu.cpp.compiler.option.debugging.level.741639072" name="Debug Level" superClass="gnu.cpp.compiler.option.debugging.level" value="gnu.cpp.compiler.debugging.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.cpp.compiler.option.2095956757" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.0.cpp.partner_gcc45.armel.cpp.app"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1362510377" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.1621367502" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.46062389" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.2054825243" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.580645561" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc.exe" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.1265871311" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option defaultValue="gnu.c.optimization.level.most" id="gnu.c.compiler.option.optimization.level.1050853388" name="Optimization Level" superClass="gnu.c.compiler.option.optimization.level" valueType="enumerated"/>
+ <option id="gnu.c.compiler.option.debugging.level.1758996871" name="Debug Level" superClass="gnu.c.compiler.option.debugging.level" value="gnu.c.debugging.level.none" valueType="enumerated"/>
+ <option id="sbi.gnu.c.compiler.option.1381221616" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.0.cpp.partner_gcc45.armel.cpp.app"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.728718470" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.478840116" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1882215970" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1205348297" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1344754076" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1856574309" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.1362795198" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker">
+ <option id="gnu.cpp.link.option.paths.590580363" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ </option>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1199711770" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=\$$ORIGIN/.. -Xlinker -rpath=\$$ORIGIN/../lib"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1871622040" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1047487597" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.869022027" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.1083106266" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.1017515528" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.da.1538406997">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.da.1538406997" moduleId="org.eclipse.cdt.core.settings" name="DA-Tizen-Emulator">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="${ProjName}" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.da.1538406997" name="DA-Tizen-Emulator" parent="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.da">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.da.1538406997." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.emulator.da.883236935" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.emulator.da">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.128622971" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/Gallery/DA-Tizen-Emulator}" id="org.tizen.nativecpp.target.sbi.gnu.builder.1702906133" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.1273599655" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="i386-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.da.1120190387" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.da">
+ <option id="sbi.gnu.cpp.compiler.option.612037464" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.0.cpp.partner_gcc45.i386.cpp.app"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.1317595142" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.660321093" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.2063995872" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.1171269753" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.660383360" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.2026685720" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="i386-linux-gnueabi-gcc.exe" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.1957184909" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option id="sbi.gnu.c.compiler.option.147980922" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-emulator-2.0.cpp.partner_gcc45.i386.cpp.app"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.685974248" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.498558225" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1063387526" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1235680821" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.2703448" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.142180764" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.816934004" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="i386-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da.1693523997" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da">
+ <option id="gnu.cpp.link.option.paths.1969025289" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library/da/x86""/>
+ </option>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1186656982" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=\$$ORIGIN/.. -Xlinker -rpath=\$$ORIGIN/../lib"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1018055183" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="daprobe"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.222333177" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="i386-linux-gnueabi-as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1394778402" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.192581995" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.1721112598" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.1033251360" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ <cconfiguration id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.da.171024521">
+ <storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.da.171024521" moduleId="org.eclipse.cdt.core.settings" name="DA-Tizen-Device">
+ <externalSettings/>
+ <extensions>
+ <extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+ <extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.MakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ <extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+ </extensions>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <configuration artifactExtension="exe" artifactName="${ProjName}" buildArtefactType="org.tizen.nativecpp.buildArtefactType.app" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.tizen.nativecpp.buildArtefactType.app" description="" id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.da.171024521" name="DA-Tizen-Device" parent="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.da">
+ <folderInfo id="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.da.171024521." name="/" resourcePath="">
+ <toolChain id="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.device.da.1769310888" name="Tizen Native Toolchain" superClass="org.tizen.nativecpp.toolchain.sbi.gcc45.app.debug.device.da">
+ <targetPlatform binaryParser="org.eclipse.cdt.core.ELF" id="org.tizen.nativeide.target.sbi.gnu.platform.base.230946295" osList="linux,win32" superClass="org.tizen.nativeide.target.sbi.gnu.platform.base"/>
+ <builder buildPath="${workspace_loc:/Gallery/DA-Tizen-Device}" id="org.tizen.nativecpp.target.sbi.gnu.builder.1832484851" keepEnvironmentInBuildfile="false" managedBuildOn="true" name="Tizen Application Builder" superClass="org.tizen.nativecpp.target.sbi.gnu.builder"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.gnu.archiver.707995102" name="Archiver" superClass="org.tizen.nativecpp.tool.sbi.gnu.archiver"/>
+ <tool command="arm-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.da.1354420544" name="C++ Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.compiler.da">
+ <option id="sbi.gnu.cpp.compiler.option.62081977" superClass="sbi.gnu.cpp.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.0.cpp.partner_gcc45.armel.cpp.app"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.include.paths.393093851" superClass="gnu.cpp.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp.383308350" superClass="sbi.gnu.cpp.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp.213275858" superClass="sbi.gnu.cpp.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="sbi.gnu.cpp.compiler.option.frameworks.cpp.1471922507" superClass="sbi.gnu.cpp.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="gnu.cpp.compiler.option.preprocessor.def.1690488996" superClass="gnu.cpp.compiler.option.preprocessor.def" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ </option>
+ <inputType id="sbi.gnu.cpp.compiler.tizen.inputType.234656402" superClass="sbi.gnu.cpp.compiler.tizen.inputType"/>
+ </tool>
+ <tool command="arm-linux-gnueabi-gcc.exe" id="org.tizen.nativecpp.tool.sbi.gnu.c.compiler.501537343" name="C Compiler" superClass="org.tizen.nativecpp.tool.sbi.gnu.c.compiler">
+ <option id="sbi.gnu.c.compiler.option.72030310" superClass="sbi.gnu.c.compiler.option" valueType="userObjs">
+ <listOptionValue builtIn="false" value="tizen-device-2.0.cpp.partner_gcc45.armel.cpp.app"/>
+ </option>
+ <option id="gnu.c.compiler.option.include.paths.1256685430" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/inc}""/>
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks.cpp.366854910" superClass="sbi.gnu.c.compiler.option.frameworks.cpp" valueType="userObjs">
+ <listOptionValue builtIn="false" value="osp"/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_inc.cpp.1812242127" superClass="sbi.gnu.c.compiler.option.frameworks_inc.cpp" valueType="includePath">
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/libxml2""/>
+ <listOptionValue builtIn="false" value=""C:\tizen-sdk\library""/>
+ <listOptionValue builtIn="false" value=""${SBI_SYSROOT}/usr/include/osp""/>
+ </option>
+ <option id="sbi.gnu.c.compiler.option.frameworks_cflags.cpp.1900596511" superClass="sbi.gnu.c.compiler.option.frameworks_cflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value=" -fPIE"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ </option>
+ <option id="gnu.c.compiler.option.preprocessor.def.symbols.970038669" superClass="gnu.c.compiler.option.preprocessor.def.symbols" valueType="definedSymbols">
+ <listOptionValue builtIn="false" value="_USE_DA_"/>
+ </option>
+ <inputType id="sbi.gnu.c.compiler.tizen.inputType.1569343073" superClass="sbi.gnu.c.compiler.tizen.inputType"/>
+ </tool>
+ <tool id="org.tizen.nativeide.tool.sbi.gnu.c.linker.base.1466482893" name="C Linker" superClass="org.tizen.nativeide.tool.sbi.gnu.c.linker.base"/>
+ <tool command="arm-linux-gnueabi-g++.exe" id="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da.581549328" name="C++ Linker" superClass="org.tizen.nativecpp.tool.sbi.gnu.cpp.linker.da">
+ <option id="gnu.cpp.link.option.paths.1019226805" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
+ <listOptionValue builtIn="false" value=""${workspace_loc:/${ProjName}/lib}""/>
+ <listOptionValue builtIn="false" value=""${SDK_INSTALL_PATH}/library/da/arm""/>
+ </option>
+ <option id="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp.1554966759" superClass="sbi.gnu.cpp.linker.option.frameworks_lflags.cpp" valueType="stringList">
+ <listOptionValue builtIn="false" value="-Xlinker --as-needed"/>
+ <listOptionValue builtIn="false" value=""/>
+ <listOptionValue builtIn="false" value="-pie -lpthread "/>
+ <listOptionValue builtIn="false" value="-Xlinker -rpath=\$$ORIGIN/.. -Xlinker -rpath=\$$ORIGIN/../lib"/>
+ <listOptionValue builtIn="false" value="--sysroot="${SBI_SYSROOT}""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib""/>
+ <listOptionValue builtIn="false" value="-L"${SBI_SYSROOT}/usr/lib/osp""/>
+ <listOptionValue builtIn="false" value="-losp-appfw"/>
+ <listOptionValue builtIn="false" value="-losp-uifw"/>
+ <listOptionValue builtIn="false" value="-lpthread"/>
+ <listOptionValue builtIn="false" value="-losp-content"/>
+ <listOptionValue builtIn="false" value="-losp-locations"/>
+ <listOptionValue builtIn="false" value="-losp-telephony"/>
+ <listOptionValue builtIn="false" value="-losp-uix"/>
+ <listOptionValue builtIn="false" value="-losp-media"/>
+ <listOptionValue builtIn="false" value="-losp-messaging"/>
+ <listOptionValue builtIn="false" value="-losp-web"/>
+ <listOptionValue builtIn="false" value="-losp-social"/>
+ <listOptionValue builtIn="false" value="-losp-wifi"/>
+ <listOptionValue builtIn="false" value="-losp-bluetooth"/>
+ <listOptionValue builtIn="false" value="-losp-nfc"/>
+ <listOptionValue builtIn="false" value="-losp-face"/>
+ <listOptionValue builtIn="false" value="-losp-speech-tts"/>
+ <listOptionValue builtIn="false" value="-losp-speech-stt"/>
+ <listOptionValue builtIn="false" value="-lxml2"/>
+ </option>
+ <option id="gnu.cpp.link.option.libs.1217332614" superClass="gnu.cpp.link.option.libs" valueType="libs">
+ <listOptionValue builtIn="false" value="daprobe"/>
+ </option>
+ <inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.1428347100" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
+ <additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
+ <additionalInput kind="additionalinput" paths="$(LIBS)"/>
+ </inputType>
+ </tool>
+ <tool command="arm-linux-gnueabi-as.exe" id="org.tizen.nativeapp.tool.sbi.gnu.assembler.base.1268486895" name="Assembler" superClass="org.tizen.nativeapp.tool.sbi.gnu.assembler.base">
+ <inputType id="cdt.managedbuild.tool.gnu.assembler.input.1717347617" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
+ </tool>
+ <tool id="org.tizen.nativecpp.tool.sbi.po.compiler.1857494238" name="PO Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.po.compiler"/>
+ <tool id="org.tizen.nativecpp.tool.sbi.edc.compiler.1086838634" name="EDC Resource Compiler" superClass="org.tizen.nativecpp.tool.sbi.edc.compiler"/>
+ </toolChain>
+ </folderInfo>
+ <sourceEntries>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="inc"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="src"/>
+ <entry flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name="res"/>
+ </sourceEntries>
+ </configuration>
+ </storageModule>
+ <storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+ </cconfiguration>
+ </storageModule>
+ <storageModule moduleId="cdtBuildSystem" version="4.0.0">
+ <project id="Gallery.org.tizen.nativecpp.target.sbi.gcc45.app.1017686573" name="Tizen Application" projectType="org.tizen.nativecpp.target.sbi.gcc45.app"/>
+ </storageModule>
+ <storageModule moduleId="scannerConfiguration">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.648452013">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.da.171024521">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.release.443790766">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.debug.device.1075373877">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ <scannerConfigBuildInfo instanceId="org.tizen.nativecpp.config.sbi.gcc45.app.debug.emulator.da.1538406997">
+ <autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId="org.tizen.nativecommon.TizenGCCManagedMakePerProjectProfileCPP"/>
+ </scannerConfigBuildInfo>
+ </storageModule>
+ <storageModule moduleId="com.samsung.tizen.nativeapp.projectInfo" version="1.0.0"/>
+ <storageModule moduleId="refreshScope"/>
+</cproject>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>Gallery</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ <dictionary>
+ <key>?name?</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.append_environment</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.autoBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildArguments</key>
+ <value></value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildCommand</key>
+ <value>sbi-make</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.buildLocation</key>
+ <value>${workspace_loc:/Gallery/Debug-Tizen-Emulator}</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.cleanBuildTarget</key>
+ <value>clean</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.contents</key>
+ <value>org.eclipse.cdt.make.core.activeConfigSettings</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableAutoBuild</key>
+ <value>false</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableCleanBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.enableFullBuild</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.fullBuildTarget</key>
+ <value>all</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.stopOnError</key>
+ <value>true</value>
+ </dictionary>
+ <dictionary>
+ <key>org.eclipse.cdt.make.core.useDefaultBuildCmd</key>
+ <value>true</value>
+ </dictionary>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.tizen.nativecpp.apichecker.core.builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.core.ccnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ <nature>org.tizen.nativecpp.apichecker.core.tizenCppNature</nature>
+ </natures>
+</projectDescription>
--- /dev/null
+# Target name and PKGID
+## TODO : set application name and ID
+SET(this_target Gallery)
+SET(PKGID ijudt7w61q)
+
+# include directory
+INCLUDE_DIRECTORIES(
+ /usr/include/osp
+ inc
+ )
+
+# Source files
+FILE(GLOB ${this_target}_SOURCE_FILES src/*.cpp)
+
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIE")
+
+# Create executable
+SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
+ADD_EXECUTABLE (${this_target} ${${this_target}_SOURCE_FILES})
+
+# Set link libraries and link options
+## TODO : add more link libraries and options
+TARGET_LINK_LIBRARIES(${this_target} -L/usr/lib/osp osp-appfw osp-uifw osp-media osp-image osp-content pthread)
+TARGET_LINK_LIBRARIES(${this_target} -Xlinker --allow-shlib-undefined -pthread -pie)
+
+# Copy info, data, res, and icons directories
+INSTALL(TARGETS ${this_target} DESTINATION ../usr/apps/${PKGID}/bin)
+
+# Copy resource
+INSTALL(FILES ${CMAKE_SOURCE_DIR}/manifest.xml DESTINATION ../usr/apps/${PKGID}/info)
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/res DESTINATION ../usr/apps/${PKGID})
+INSTALL(DIRECTORY ${CMAKE_SOURCE_DIR}/shared DESTINATION ../usr/apps/${PKGID})
--- /dev/null
+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.
+
--- /dev/null
+Copyright (c) 2012 Samsung Electronics Co., Ltd. All rights reserved.
+Except as noted, this software is licensed under Flora License, Version 1.1.
+Please, see the LICENSE.Flora file for Flora License, Version 1.1 terms and conditions.
\ No newline at end of file
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumEventListener.h
+ * @brief This is the header file for AlbumEventListener class.
+ */
+
+#ifndef _GL_ALBUM_EVENT_LISTENER_H_
+#define _GL_ALBUM_EVENT_LISTENER_H_
+
+#include <FContent.h>
+
+class IAlbumEventListener
+ : public Tizen::Base::Object
+{
+public:
+ virtual ~IAlbumEventListener(void) {};
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType) = 0;
+ virtual void OnThumbnailDecoded(const int index) = 0;
+};
+
+#endif /* _GL_ALBUM_EVENT_LISTENER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumInfo.h
+ * @brief This is the header file for AlbumInfo class.
+ */
+
+#ifndef _GL_ALBUM_INFO_H_
+#define _GL_ALBUM_INFO_H_
+
+#include <FContent.h>
+#include "GlTypes.h"
+
+class AlbumInfo
+ : public Tizen::Base::Object
+{
+public:
+ AlbumInfo(void);
+ virtual ~AlbumInfo(void);
+
+ result Construct(void);
+ result Construct(const Tizen::Base::String& albumName, Tizen::Content::ContentType contentType,
+ const Tizen::Base::Collection::IList& directoryList,
+ const Tizen::Base::Collection::IList& contentIdList);
+ result Construct(const AlbumInfo& albumInfo);
+
+ Tizen::Base::String GetAlbumName(void) const;
+ void SetAlbumName(const Tizen::Base::String& albumName);
+ Tizen::Base::String GetDirectory(int index) const;
+ Tizen::Base::Collection::IList* GetDirectoryListN(void) const;
+ void ClearDirectoryList(void);
+ void AppendDirectory(const Tizen::Base::String& directoryPath);
+ void AppendDirectoryList(const Tizen::Base::Collection::ICollection& directoryList);
+ int GetDirectoryCount(void) const;
+
+ void ClearAll(void);
+ AlbumInfoType GetAlbumInfoType(void) const;
+
+ Tizen::Graphics::Bitmap* GetFolderThumnailBitmap(void) const;
+ void SetFolderThumnailBitmap(Tizen::Graphics::Bitmap* folderThumnailBitmap);
+
+ void ClearContentIdList(void);
+ Tizen::Base::Collection::IList* GetContentIdListN(void) const;
+ Tizen::Content::ContentId GetContentId(int index) const;
+ void AppendContentId(const Tizen::Content::ContentId& contentId);
+ void AppendContentIdList(const Tizen::Base::Collection::ICollection& contentIdList);
+ int GetContentIdCount(void) const;
+ result RemoveContentIdAt(const int index);
+
+private:
+ Tizen::Base::String __albumName;
+ Tizen::Base::Collection::IList* __pDirectoryFullPathList;
+ Tizen::Base::Collection::IList* __pContentIdList;
+ Tizen::Graphics::Bitmap* __pFolderThumnailBitmap;
+};
+
+#endif /* _GL_ALBUM_INFO_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumListEditorForm.h
+ * @brief This is the header file for AlbumListEditorForm class.
+ */
+
+#ifndef _GL_ALBUM_LIST_EDITOR_FORM_H_
+#define _GL_ALBUM_LIST_EDITOR_FORM_H_
+
+#include <FUi.h>
+#include "GlAlbumEventListener.h"
+#include "GlFileUpdateTimer.h"
+#include "GlFormContentUpdateEventListener.h"
+
+class AlbumListPresentationModel;
+
+class AlbumListEditorForm
+ : public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IOrientationEventListener
+ , public Tizen::Ui::IPropagatedKeyEventListener
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::Controls::IFormMenuEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+ , public IAlbumEventListener
+ , public IFileOpInvalidateListener
+ , public IFormContentUpdateEventListener
+{
+public:
+ AlbumListEditorForm(void);
+ virtual ~AlbumListEditorForm(void);
+
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+
+ virtual bool OnKeyPressed(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){return false;}
+ virtual bool OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo);
+ virtual bool OnPreviewKeyPressed(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){return false;}
+ virtual bool OnPreviewKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){return false;}
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ virtual void OnIconListViewItemStateChanged(Tizen::Ui::Controls::IconListView &view, int index,
+ Tizen::Ui::Controls::IconListViewItemStatus status);
+ virtual void OnIconListViewOverlayBitmapSelected(Tizen::Ui::Controls::IconListView &iconListView, int index,
+ int overlayBitmapId);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnFormMenuRequested (Tizen::Ui::Controls::Form &source);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ virtual void OnFileOpInvalidate(enum FileActionMode actionId);
+ virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes);
+ virtual void OnScanDirStart();
+ virtual void OnScanDirComplete();
+
+ virtual void ShowAnimation(void);
+ virtual void StopAnimation(void);
+ virtual void OnContentUpdated(void);
+
+private:
+ result InitializeControl(void);
+ result InitializePopup(void);
+ void CreateIconListView(void);
+ void SetAllCheckState(const bool state);
+
+ void OnRequestMessage(void);
+ void OnRequestEmail(void);
+
+ result DeleteFolder(void);
+ int GetCheckedFolderCount(void) const;
+ Tizen::Base::Collection::IList* GetItemCheckedIndexListN(void) const;
+ result Update(void);
+ void SetFooterButtonsState(const bool enableState);
+ void SetButtonState(void);
+
+private:
+ int __checkedCount;
+ Tizen::Ui::Controls::Label* __pSelectCountLabel;
+ Tizen::Ui::Controls::IconListView* __pEditorFolderIconList;
+ Tizen::Ui::Controls::ContextMenu* __pShareContextMenu;
+ Tizen::Ui::Controls::Popup* __pDeletePopup;
+ FileUpdateTimer* __pFileUpdateTimer;
+ AlbumListPresentationModel* __pPresentationModel;
+ bool __isScanProgress;
+};
+
+#endif /* _GL_ALBUM_LIST_EDITOR_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumListForm.h
+ * @brief This is the header file for AlbumListForm class.
+ */
+
+#ifndef _GL_ALBUM_LIST_FORM_H_
+#define _GL_ALBUM_LIST_FORM_H_
+
+#include <FApp.h>
+#include <FUi.h>
+#include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+
+class AlbumListPresentationModel;
+
+class AlbumListForm
+ : public IAlbumEventListener
+ , public IFormContentUpdateEventListener
+ , public Tizen::App::IAppControlResponseListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IOrientationEventListener
+ , public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::Controls::IFormMenuEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ AlbumListForm(void);
+ virtual ~AlbumListForm(void);
+
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+ virtual void OnContentUpdated(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ virtual void OnIconListViewItemStateChanged (Tizen::Ui::Controls::IconListView &view,
+ int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFormMenuRequested (Tizen::Ui::Controls::Form &source);
+
+ virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ virtual void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId,
+ const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult,
+ const Tizen::Base::Collection::IMap* pExtraData);
+ virtual void ShowAnimation(void){}
+ virtual void StopAnimation(void){}
+private:
+ result InitializeHeader(void);
+ result InitializeFooter(void);
+ void CreateIconListView(void);
+ result Update(void);
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::IconListView* __pAlbumViewIconList;
+ Tizen::Ui::Controls::OptionMenu* __pOptionMenu;
+ AlbumListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_ALBUM_LIST_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumListPresentationModel.h
+ * @brief This is the header file for AlbumListPresentationModel class.
+ */
+
+#ifndef _GL_ALBUM_LIST_PRESENTATION_MODEL_H_
+#define _GL_ALBUM_LIST_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FSystem.h>
+#include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+#include "GlIContentFileUpdateManager.h"
+#include "GlResourceManager.h"
+#include "GlThumbnailEventListener.h"
+#include "GlThumbnailProvider.h"
+#include "GlTypes.h"
+
+class AlbumInfo;
+class IAlbumRenameEventListener;
+class ITimerScanDirListener;
+
+class AlbumListPresentationModel
+ : public IContentFileUpdateManager
+ , public IThumbnailEventListener
+ , public Tizen::Base::Object
+ , public Tizen::System::IDeviceEventListener
+{
+public:
+ static AlbumListPresentationModel* GetInstance(void);
+
+ result AddPresentationModelListener(IAlbumEventListener* listener);
+ result RemovePresentationModelListener(IAlbumEventListener& listner);
+
+ static void AddContentEventListener(const IFormContentUpdateEventListener* listener);
+ static void RemoveContentEventListener(const IFormContentUpdateEventListener& listener);
+
+ virtual result RotateImage(const Tizen::Content::ContentId&, RotateMode rotateMode);
+ virtual void RequestThumbnail(int index){};
+ virtual void RequestThumbnail(const Tizen::Content::ContentId& contentId){};
+ void RequestThumbnail(const int folderIndex, const int pathIndex);
+ void ClearThumbnailRequests(const bool appTerminating = false);
+ result StartAppControl(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId,
+ const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType,
+ const Tizen::Base::Collection::HashMap* pDataList, Tizen::App::IAppControlResponseListener* pListener);
+
+ void InitializeAlbumInfoList(const Tizen::Content::ContentType& contentType);
+ void CallAlbumChangedEvent(void);
+ int GetFolderCount(void) const;
+
+ Tizen::Graphics::Bitmap* CreateMergeBitmapN(const int index);
+ Tizen::Base::Collection::IList* GetAlbumInfoList(void) const;
+
+ AppControlMode GetAppControlMode(void) const;
+ AppControlMediaType GetAppControlMediaType(void) const;
+ AppControlSelectionMode GetAppControlSelectionMode(void) const;
+
+ result RenameAlbum(const Tizen::Base::String&, const Tizen::Base::String&, IAlbumRenameEventListener*);
+
+ virtual Tizen::Base::Collection::IList* GetContentIdListAtIndexN(const Tizen::Base::Collection::IList& indexList) const;
+ virtual result DeleteContentFile(const Tizen::Base::String& filePath);
+
+ virtual void OnThumbnailReceivedN(Tizen::Base::Runtime::IEventArg& eventArg);
+
+ bool OnContentScanCompleted(const Tizen::Base::String &scanPath);\r
+
+ void OnContentCreated(void);
+ void OnContentUpdated(void);
+ void OnContentDeleted(void);
+
+ virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+ void SetUpdateProgressStatus(const bool status);
+ void AddTimerScanListener(ITimerScanDirListener* pListener, int scanCount);
+ void RemoveTimerScanListener(void);
+
+ void ShowAnimation(void);
+ void StopAnimation(void);
+private:
+ AlbumListPresentationModel(void);
+ virtual ~AlbumListPresentationModel(void);
+ AlbumListPresentationModel(const AlbumListPresentationModel&);
+ const AlbumListPresentationModel& operator =(const AlbumListPresentationModel&);
+
+ result Construct(void);
+ static void CreateInstance(void);
+ static void DestroyInstance(void);
+
+ void DrawPartialImage(Tizen::Graphics::Canvas& canvas, AlbumInfo* pAlbumInfo,
+ const Tizen::Graphics::Rectangle& rectNew);
+ void DrawFontImage(Tizen::Graphics::Canvas& canvas, AlbumInfo* pAlbumInfo, int index);
+
+ Tizen::Base::String GetDirectoryName(Tizen::Base::String& directoryPath) const;
+ Tizen::Base::Collection::IList* GetContentIdListInDirectoryN(const Tizen::Base::String& directoryPath,
+ Tizen::Content::ContentType contentType) const;
+ Tizen::Base::String GetDirectoryNameFromFullPath(const Tizen::Base::String& fullPath) const;
+
+private:
+ static AlbumListPresentationModel* __pPresentationModelInstance;
+ static ThumbnailProvider* __pThumbnailProvider;
+ static ThumbnailEvent* __pThumbnailEvent;
+ static Tizen::Base::Collection::ArrayList* __pContentEventListener;
+ static Tizen::Base::Collection::ArrayList* __pPresentationModelListener;
+ static Tizen::Base::Collection::IList* __pAlbumInfoList;
+ Tizen::Graphics::Bitmap* __pFolderBackgroundBitmap;
+ IAlbumRenameEventListener* __pAlbumListener;
+ RequestId __reqId;
+ AppControlMode __appControlMode;
+ AppControlMediaType __appControlMediaType;
+ AppControlSelectionMode __appControlSelectionMode;
+ bool __updateProgressStatus;
+ Tizen::Base::String __renameNewPath;\r
+ ITimerScanDirListener* __pTimerScanListener;
+ int __scanCount;
+};
+
+#endif /* _GL_ALBUM_LIST_PRESENTATION_MODEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumNameEditorForm.h
+ * @brief This is the header file for AlbumNameEditorForm class.
+ */
+
+#ifndef _GL_ALBUM_NAME_EDITOR_FORM_H_
+#define _GL_ALBUM_NAME_EDITOR_FORM_H_
+
+#include <FSystem.h>
+#include "GlAlbumRenameEventListener.h"
+#include "GlBaseForm.h"
+#include "GlFileOpInvalidateListener.h"
+#include "GlTypes.h"
+
+class AlbumListPresentationModel;
+class FileListPresentationModel;
+class FileMoveTimer;
+class ProgressAnimation;
+
+class AlbumNameEditorForm
+ : public BaseForm
+ , public IAlbumRenameEventListener
+ , public IFormContentUpdateEventListener
+ , public IFileOpInvalidateListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IKeypadEventListener
+ , public Tizen::Ui::IOrientationEventListener
+ , public Tizen::System::IDeviceEventListener
+ , public Tizen::Ui::ITextEventListener
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ AlbumNameEditorForm(void);
+ virtual ~AlbumNameEditorForm(void);
+
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnContentUpdated(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+
+ virtual void OnTextValueChanged(const Tizen::Ui::Control& source);
+ virtual void OnTextValueChangeCanceled(const Tizen::Ui::Control& source);
+
+ //IKeypadEventListener
+ virtual void OnKeypadActionPerformed(Tizen::Ui::Control& source, Tizen::Ui::KeypadAction keypadAction){};
+ virtual void OnKeypadClosed(Tizen::Ui::Control& source);
+ virtual void OnKeypadOpened(Tizen::Ui::Control& source);
+ virtual void OnKeypadWillOpen(Tizen::Ui::Control& source){};
+
+ virtual void OnFileOpInvalidate(enum FileActionMode actionId);
+ virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes);
+ virtual void OnScanDirStart(){}
+ virtual void OnScanDirComplete(){}
+
+ virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+ virtual void OnAlbumRenameComplete(void);
+ virtual void CreateMessage(Tizen::Base::String& str);
+ virtual void ShowAnimation(void);
+ virtual void StopAnimation(void);
+private:
+ void OnCreateAlbum(void);
+ void OnRenameAlbum(Tizen::Base::String& name);
+
+private:
+ Tizen::Ui::Controls::EditField* __pNameEditField;
+ Tizen::Base::String __nameEditFieldText;
+ Tizen::Base::String __nameEditFieldPreText;
+ Tizen::Base::String __nameEditFieldTempText;
+ Tizen::Base::String __originalText;
+ int __folderIndex;
+ int __modalMsgBoxResult;
+ int __textLength;
+ bool __mountState;
+ bool __isCreateAlbum;
+ bool __isKeyPadOpen;
+ AlbumNameEditorMode __albumNameEditorMode;
+ Tizen::Ui::Scenes::SceneId __callerSceneId;
+ Tizen::Ui::Scenes::SceneId __previousSceneId;
+ Tizen::Ui::Controls::MessageBox* __pMessageBox;
+ Tizen::Base::Collection::IList* __pMoveIndexList;
+ FileActionMode __fileActionMode;
+ FileMoveTimer* __pFileMove;
+ AlbumListPresentationModel* __pPresentationModel;
+ FileListPresentationModel* __pFilePresentationModel;
+};
+
+#endif /* _GL_ALBUM_NAME_EDITOR_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumRenameEventListener.h
+ * @brief This is the header file for GlAlbumRenameEventListener class.
+ */
+
+#ifndef _GL_ALBUM_RENAME_LISTENER_H_
+#define _GL_ALBUM_RENAME_LISTENER_H_
+
+class IAlbumRenameEventListener
+{
+public:
+ virtual ~IAlbumRenameEventListener(void) {}
+ virtual void OnAlbumRenameComplete(void) = 0;
+};
+
+#endif /* _GL_ALBUM_RENAME_LISTENER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAllListEditorPanel.h
+ * @brief This is the header file for AllListEditorPanel class.
+ */
+
+#ifndef _GL_ALL_LIST_EDITOR_PANEL_H_
+#define _GL_ALL_LIST_EDITOR_PANEL_H_
+
+#include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+#include "GlFileListEditorForm.h"
+#include "GlFileOpInvalidateListener.h"
+#include "GlThumbnailEventListener.h"
+
+class FileListPresentationModel;
+class FileUpdateTimer;
+
+class AllListEditorPanel
+ : public IAlbumEventListener
+ , public IFileOpInvalidateListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ AllListEditorPanel(void);
+ virtual ~AllListEditorPanel(void);
+
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ int GetItemCheckedCount(void) const;
+ Tizen::Base::Collection::IList* GetItemCheckedIndexListN(void) const;
+ void OnSelectAllPressed(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual void OnIconListViewItemStateChanged (Tizen::Ui::Controls::IconListView &view,
+ int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ virtual result OnRequestDelete(void);
+ virtual result OnRequestMessage(void);
+ virtual result OnRequestEmail(void);
+ virtual result OnRequestSlideShow(void);
+ result OnRequestRotate(RotateMode rotateMode);
+ void CancelUpdateProgress(void);
+
+ virtual void OnFileOpInvalidate(enum FileActionMode actionId);
+ virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes);
+ virtual void OnScanDirStart();
+ virtual void OnScanDirComplete();
+
+ void ChangeOrientation(void);
+private:
+ void ResetSelection(void);
+ void SetButtonState(void);
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::IconListView* __pContentIconListView;
+ Tizen::Ui::Controls::Label* __pLabelSelectCnt;
+ Tizen::Ui::Controls::Button* __pButtonSelectRegion;
+ FileUpdateTimer* __pFileUpdateTimer;
+ FileListEditorForm* __pFileListEditorForm;
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_ALL_LIST_EDITOR_PANEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAllListPanel.h
+ * @brief This is the header file for AllListPanel class.
+ */
+
+#ifndef _GL_ALL_LIST_PANEL_H_
+#define _GL_ALL_LIST_PANEL_H_
+
+#include <FUi.h>
+#include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+#include "GlThumbnailEventListener.h"
+
+class FileListPresentationModel;
+
+class AllListPanel
+ : public IAlbumEventListener
+ , public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ AllListPanel(void);
+ virtual ~AllListPanel(void);
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnIconListViewItemStateChanged (Tizen::Ui::Controls::IconListView &view,
+ int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ void ChangeOrientation(void);
+ void Refresh(void);
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::IconListView* __pContentIconListView;\
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_ALL_LIST_PANEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAllListSelectionPanel.h
+ * @brief This is the header file for AllListSelectionPanel class.
+ */
+
+#ifndef _GL_ALL_LIST_SELECTION_PANEL_H_
+#define _GL_ALL_LIST_SELECTION_PANEL_H_
+
+#include <FUi.h>
+#include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+#include "GlThumbnailEventListener.h"
+#include "GlFileOpInvalidateListener.h"
+
+class FileListPresentationModel;
+class FileUpdateTimer;
+class CommonUtil;
+class FileListEditorForm;
+
+class AllListSelectionPanel
+ : public IAlbumEventListener
+ , public IFileOpInvalidateListener
+ , public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ AllListSelectionPanel(void);
+ virtual ~AllListSelectionPanel(void);
+
+ result Initialize(void);
+
+ int GetItemCheckedCount(void) const;
+ Tizen::Base::Collection::IList* GetItemCheckedIndexListN(void) const;
+ void OnSelectAllPressed(void);
+
+ result OnRequestDelete(void);
+ result OnRequestMessage(void);
+ result OnRequestEmail(void);
+ result OnRequestMoveTo(Tizen::Base::String& destDirectory);
+ result OnRequestSlideShow(void);
+ result OnRotateRequested(RotateMode rotateMode);
+ void CancelUpdateProgress(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnIconListViewItemStateChanged (Tizen::Ui::Controls::IconListView &view,
+ int index, Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ virtual void OnFileOpInvalidate(enum FileActionMode);
+ virtual void OnFileOpComplete(enum FileActionMode, enum FileActionCompleteRes);
+ virtual void OnScanDirStart();
+ virtual void OnScanDirComplete();
+ void ChangeOrientation(void);
+
+private:
+ int GetRealindexFromVirtualIndex(const int virtualIndex) const;
+ int GetVirtualIndexFromRealIndex(const int realIndex) const;
+ void ResetSelection(void);
+ void SetButtonState(void);
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::IconListView* __pContentIconListView;
+ Tizen::Base::Collection::IList* __pSeletedIndexList;
+ FileListEditorForm* __pFileListEditorForm;
+ FileUpdateTimer* __pFileUpdateTimer;
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_ALL_LIST_SELECTION_PANEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlBaseForm.h
+ * @brief This is the header file for BaseForm class.
+ */
+
+#ifndef _GL_BASE_FORM_H_
+#define _GL_BASE_FORM_H_
+
+#include <FUi.h>
+
+class FileListPresentationModel;
+
+class BaseForm
+ : public Tizen::Ui::Controls::Form
+{
+public:
+ virtual ~BaseForm(void){};
+
+protected:
+ Tizen::Base::Collection::IList* GetMoveFileIndexList(Tizen::Base::String&, Tizen::Base::Collection::IList*,
+ FileListPresentationModel*,bool isCopyOp = false);
+
+protected:
+ bool _overlayMsg;
+};
+
+#endif /* _GL_BASE_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlCommonUtil.h
+ * @brief This is the header file for CommonUtil class.
+ */
+
+#ifndef _GL_COMMON_UTIL_H_
+#define _GL_COMMON_UTIL_H_
+
+using namespace Tizen::Base::Runtime;
+
+class IActionEventListener;
+
+class CommonUtil
+{
+public:
+ static Tizen::Graphics::Bitmap* GetEmptyThumbnailN(void);
+ static Tizen::Base::String DurationToTimeString(const long duration);
+};
+
+#endif /* _GL_COMMON_UTIL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlContentUpdateEventListener.h
+ * @brief This is the header file for FileListPresentationModel class.
+ */
+
+#ifndef _GL_CONTENT_UPDATE_EVENT_LISTENER_H_
+#define _GL_CONTENT_UPDATE_EVENT_LISTENER_H_
+
+#include <FContent.h>
+
+class ContentUpdateEventListener
+ : public Tizen::Base::Object
+ , public Tizen::Content::IContentUpdateEventListener
+{
+public:
+ static ContentUpdateEventListener* GetInstance(void);
+ void AddContentListener(void);
+ void RemoveContentListener(void);
+ bool GetChangeNotificationStatus();
+ void SetTimerActive(void);
+ void ReSetTimerActive(void);
+ void ResumeOperation();
+ Tizen::Base::String GetDirecotyNameFromFullPath(const Tizen::Base::String& fullPath) const;
+private:
+ ContentUpdateEventListener(void);
+ virtual ~ContentUpdateEventListener(void);
+
+ result Construct(void);
+ static void CreateInstance(void);
+ static void DestroyInstance(void);
+
+ virtual void OnContentFileCreated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r);
+ virtual void OnContentFileUpdated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r);
+ virtual void OnContentFileDeleted(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r);
+ virtual void OnContentDirectoryScanCompleted(const Tizen::Base::String& directoryPath, result r);
+
+private:
+ static ContentUpdateEventListener* __pContentUpdateEventListener;
+ Tizen::Content::ContentManager* __pContentManager;
+ bool __isTimerActive;
+ bool __changeNotificationReceived;
+};
+
+#endif /* _GL_CONTENT_UPDATE_EVENT_LISTENER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ *@file: DropDownCustomItem
+ *@brief: This class defines common behaviour of Drop down custom Item.
+ *
+ */
+
+#ifndef _GL_DROPDOWN_CUSTOM_ITEM_H_
+#define _GL_DROPDOWN_CUSTOM_ITEM_H_
+
+#include <FUi.h>
+
+enum DropDownItemState
+{
+ DROP_DOWN_ITEM_STATE_OPENED = 0,
+ DROP_DOWN_ITEM_STATE_CLOSED
+};
+
+class DropDownCustomItem
+ : public Tizen::Ui::Controls::CustomItem
+{
+public:
+ DropDownCustomItem(void);
+ virtual ~DropDownCustomItem(void);
+
+ result Construct(int width, int height);
+
+ DropDownItemState GetCurState(void) const;
+ Tizen::Base::String GetMainText(void) const;
+ Tizen::Base::String GetSubText(void) const;
+ result Make(int fontsize, int itemHeight);
+ void SetCurState(const DropDownItemState);
+ void SetMainText(const Tizen::Base::String& text);
+ void SetSubText(const Tizen::Base::String& text);
+
+ protected:
+ static const int IDA_FORMAT_BITMAP;
+ static const int IDA_FORMAT_MAIN_STRING;
+ static const int IDA_FORMAT_SUB_STRING;
+ static const int IDA_FORMAT_DROPPER;
+
+ private:
+ DropDownItemState __currentState;
+ int __height;
+ int __width;
+ Tizen::Base::String __mainText;
+ Tizen::Base::String __subText;
+ };
+
+#endif /* _GL_DROPDOWN_CUSTOM_ITEM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileListEditorForm.h
+ * @brief This is the header file for FileListEditorForm class.
+ */
+
+#ifndef _GL_FILE_LIST_EDITOR_FORM_H_
+#define _GL_FILE_LIST_EDITOR_FORM_H_
+
+#include <FUi.h>
+#include "GlBaseForm.h"
+#include "GlFileMoveTimer.h"
+#include "GlSlideSettingListener.h"
+
+class FileListPresentationModel;
+class FileMoveTimer;
+class ISlideSettingListener;
+class SlideShowPopUp;
+
+class FileListEditorForm
+ : public BaseForm
+ , public IFileOpInvalidateListener
+ , public IFormContentUpdateEventListener
+ , public Tizen::Ui::Controls::IFormMenuEventListener
+ , public ISlideSettingListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IPropagatedKeyEventListener
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::IOrientationEventListener
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ FileListEditorForm(void);
+ virtual ~FileListEditorForm(void);
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+ virtual void OnContentUpdated(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ void SetTitleText(const Tizen::Base::String& titleText);
+ void SetProgressState(const bool progressState);
+ void RefreshFolderList(void);
+ void SetFooterButtonsState(const bool enableState);
+ result MoveToAlbum(const Tizen::Base::String& destDirectory);
+
+ bool GetOverlayStatus(void) const;
+
+ virtual void OnFileOpInvalidate(enum FileActionMode actionId);
+ virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes);
+ virtual void OnScanDirStart();
+ virtual void OnScanDirComplete();
+
+ virtual void OnSlideSettingPopUpItemSelected(int index);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFormMenuRequested (Tizen::Ui::Controls::Form &source);
+
+ virtual void ShowAnimation(void);
+ virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+ virtual void StopAnimation(void);
+ virtual bool OnKeyPressed(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){ return false; }
+ virtual bool OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo);
+ virtual bool OnPreviewKeyPressed(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){ return false; }
+ virtual bool OnPreviewKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){ return false; }
+
+private:
+ result InitializeFooter(void);
+ Tizen::Base::String GetDirecotyNameFromFullPath(const Tizen::Base::String& fullPath) const;
+ result SetUpPopup(void);
+ void SelectAllPressed(void);
+
+private:
+ Tizen::Ui::Controls::ContextMenu* __pShareContextMenu;
+ Tizen::Ui::Controls::OptionMenu* __pOptionMenu;
+ Tizen::Ui::Controls::Popup* __pDeletePopup;
+ Tizen::Graphics::Point __morePosition;
+ Tizen::Base::Collection::IList* __pContentDirectoryList;
+ Tizen::Base::Collection::IList* __pContentDirectoryNameList;
+ SlideShowPopUp* __pPopUp;
+ FileMoveTimer* __pFileMove;
+ bool __isCopyOperation;
+ FileListPresentationModel* __pPresentationModel;
+ bool __isScanProgress;
+};
+
+#endif /* _GL_FILE_LIST_EDITOR_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileListForm.h
+ * @brief This is the header file for FileListForm class.
+ */
+
+#ifndef _GL_FILE_LIST_FORM_H_
+#define _GL_FILE_LIST_FORM_H_
+
+#include <FApp.h>
+#include <FUi.h>
+#include "GlFormContentUpdateEventListener.h"
+#include "GlSlideSettingListener.h"
+
+class FileListPresentationModel;
+class ISlideSettingListener;
+class SlideShowPopUp;
+
+class FileListForm
+ : public IFormContentUpdateEventListener
+ , public ISlideSettingListener
+ , public Tizen::App::IAppControlResponseListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::Controls::IFormMenuEventListener
+ , public Tizen::Ui::IOrientationEventListener
+{
+public:
+ FileListForm(void);
+ virtual ~FileListForm(void);
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+ virtual void OnContentUpdated(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+ virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+
+ void SetTitleText(const Tizen::Base::String& titleText);
+
+ virtual void OnAppControlCompleteResponseReceived(const Tizen::App::AppId& appId,
+ const Tizen::Base::String& operationId, Tizen::App::AppCtrlResult appControlResult,
+ const Tizen::Base::Collection::IMap* pExtraData);
+
+ virtual void OnSlideSettingPopUpItemSelected(int index);
+
+ virtual void OnFormMenuRequested (Tizen::Ui::Controls::Form &source);
+
+ void SetMenuState(bool state);
+ virtual void ShowAnimation(void){}
+ virtual void StopAnimation(void){}
+
+private:
+ result InitializeFooter(void);
+
+private:
+ bool __menuState;
+ Tizen::Ui::Controls::OptionMenu* __pOptionMenu;
+ SlideShowPopUp* __pPopUp;
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_FILE_LIST_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileListPresentationModel.h
+ * @brief This is the header file for FileListPresentationModel class.
+ */
+
+#ifndef _GL_FILE_LIST_PRESENTATION_MODEL_H_
+#define _GL_FILE_LIST_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FSystem.h>
+
+#include "GlAlbumEventListener.h"
+#include "GlFormContentUpdateEventListener.h"
+#include "GlCommonUtil.h"
+#include "GlIContentFileUpdateManager.h"
+#include "GlResourceManager.h"
+#include "GlThumbnailEventListener.h"
+#include "GlTypes.h"
+
+class ThumbnailEvent;
+class ThumbnailInfo;
+class ThumbnailProvider;
+
+class FileListPresentationModel
+ : public IContentFileUpdateManager
+ , public IThumbnailEventListener
+ , public Tizen::Base::Object
+ , public Tizen::System::IDeviceEventListener
+{
+public:
+ static FileListPresentationModel* GetInstance(void);
+
+public:
+ result GetThumbnailInSyncCacheN(const int index, Tizen::Base::String*& pName,
+ Tizen::Graphics::Bitmap*& pThumbnail);
+ result GetThumbnailVideoInSyncCacheN(const int index, Tizen::Base::String*& pName,
+ Tizen::Graphics::Bitmap*& pThumbnail, Tizen::Base::String*& pDuration) const;
+ virtual void RequestThumbnail(const int index);
+ virtual void RequestThumbnail(const Tizen::Content::ContentId& contentId);
+ void ClearThumbnailRequests(const bool appTerminating = false);
+
+ static void AddPresentationModelListener(const IAlbumEventListener* listener);
+ static void RemovePresentationModelListener(const IAlbumEventListener& listener);
+
+ virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+ static void AddContentEventListener(const IFormContentUpdateEventListener* listener);
+ static void RemoveContentEventListener(const IFormContentUpdateEventListener* listener);
+
+ result DeleteContentFileList(const Tizen::Base::Collection::IList& contentIndexList);
+ Tizen::Base::Collection::IList* GetCollisionIndexListN(const Tizen::Base::Collection::IList& contentIndexList,
+ const Tizen::Base::String& destDirectory);
+ result MoveToContentFileList(const Tizen::Base::Collection::IList& contentIndexList,
+ const Tizen::Base::String& destDirectory);
+ result StartAppControl(const Tizen::Base::String& providerId, const Tizen::Base::String& operationId,
+ const Tizen::Base::String* pUriData, const Tizen::Base::String* pMimeType,
+ const Tizen::Base::Collection::HashMap* pDataList, Tizen::App::IAppControlResponseListener* pListener);
+ result SetCurrentAlbumInfo(const Tizen::Base::String& albumName,
+ const Tizen::Base::Collection::IList& directoryList);
+ result RefreshCurrentAlbumContentInfoList(const Tizen::Content::ContentType contentType);
+ Tizen::Base::String GetCurrentAlbumName(void) const;
+ void SetCurrentAlbumName(const Tizen::Base::String& albumName);
+ Tizen::Content::ContentType GetCurrentAlbumContentType(void) const;
+ void SetCurrentAlbumContentType(const Tizen::Content::ContentType contentType);
+ Tizen::Base::Collection::IList* GetAlbumDirectoryListN(void) const;
+ Tizen::Base::Collection::IList* GetAlbumContentInfoList(void) const;
+ Tizen::Content::ContentInfo* GetContentInfo(const int index) const;
+ int GetCurrentAlbumContentInfoCount(void) const;
+ Tizen::Content::ContentId GetContentInfoIndex(const int index) const;
+ Tizen::Base::String GetContentFilePath(const int index) const;
+ Tizen::Base::String ConvertToAlbumName(const Tizen::Base::String& targetPath) const;
+
+ virtual Tizen::Base::Collection::IList* GetContentIdListAtIndexN(const Tizen::Base::Collection::IList& indexList) const;
+
+ AppControlMode GetAppControlMode(void) const;
+ AppControlMediaType GetAppControlMediaType(void) const;
+ AppControlSelectionMode GetAppControlSelectionMode(void) const;
+ void SetUpdateProgressStatus(const bool status);
+
+ void OnContentCreated(void);
+ void OnContentUpdated(void);
+ void OnContentDeleted(void);
+ void OnContentUpdated(const Tizen::Content::ContentId& contentId);
+
+ virtual result RotateImage(const Tizen::Content::ContentId& contentId, RotateMode rotateMode);
+
+ void ClearImageCache(void);
+ void ShowAnimation(void);
+ void StopAnimation(void);
+ void ClearProviderId(void);
+ void AddDirectoryIfNew(const Tizen::Base::String& fullPath);
+private:
+ FileListPresentationModel(void);
+ virtual ~FileListPresentationModel(void);
+ FileListPresentationModel(FileListPresentationModel& value);
+ FileListPresentationModel& operator=(FileListPresentationModel&);
+
+ result Construct(void);
+ static void CreateInstance(void);
+ static void DestroyInstance(void);
+
+ result RefreshContentInfoList(const Tizen::Content::ContentType contentType);
+ Tizen::Base::String GetFileNameFromFullPath(const Tizen::Base::String& fullPath, const bool withExt) const;
+ Tizen::Base::String GetDirecotyNameFromFullPath(const Tizen::Base::String& fullPath) const;
+ bool IsContainContentInDirectory(const Tizen::Base::String& directoryPath,
+ Tizen::Content::ContentType contentType) const;
+ ThumbnailInfo* GetThumbnailInfoFromInternalBufferN(const Tizen::Content::ContentId& contentId) const;
+ Tizen::Graphics::Bitmap* CoverVideoOverlayedImageOnThumbnailN(Tizen::Graphics::Bitmap& thumbnail,
+ const ThumbnailInfo& thumbmailInfo);
+ result DeleteContentFile(const Tizen::Base::String& filePath);
+ result MoveToContentFile(const Tizen::Base::String& filePath,
+ const Tizen::Base::String& destDirectory, const bool isCopyOperation);
+ Tizen::Graphics::Bitmap* GetShadedBackgroundBitmapN(Tizen::Graphics::Bitmap& bgBitmap,
+ const Tizen::Graphics::Bitmap& orgBitmap, const Tizen::Graphics::Rectangle& orgBitmapPosition) const;
+ Tizen::Base::Collection::IList* GetContentInfoListInDirectoryListN(
+ const Tizen::Base::Collection::IList& contentDirectoryList,
+ Tizen::Content::ContentType contentType) const;
+
+ virtual void OnThumbnailReceivedN(Tizen::Base::Runtime::IEventArg& eventArg);
+
+ void OnTimerExpired(Timer& timer);
+
+private:
+ static FileListPresentationModel* __pPresentationModelInstance;
+ static ThumbnailProvider* __pThumbnailProvider;
+ static ThumbnailEvent* __pThumbnailEvent;
+ Tizen::Content::ContentManager* __pContentManager;
+ static Tizen::Base::Collection::ArrayList* __pPresentationModelListener;
+ static Tizen::Base::Collection::ArrayList* __pContentEventListener;
+ static Tizen::Base::Collection::ArrayList* __pIconListViewCache;
+ static Tizen::Base::Collection::IList* __pDirectoryList;
+ static Tizen::Base::Collection::IList* __pContentInfoList;
+
+ Tizen::Base::String __albumName;
+ Tizen::Base::String __providerId;
+ Tizen::Content::ContentType __albumContentType;
+ AppControlMode __appControlMode;
+ AppControlMediaType __appControlMediaType;
+ AppControlSelectionMode __appControlSelectionMode;
+
+ Tizen::Base::Collection::IList * __pContentIdList;
+ bool __updateProgressStatus;
+
+ friend class FileMoveTimer;
+ friend class FileUpdateTimer;
+};
+
+#endif /* _GL_FILE_LIST_PRESENTATION_MODEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file FileMoveTimer.h
+ * @brief This is the header file for FileMoveTimer class.
+ */
+
+#ifndef _GL_FILE_MOVE_TIMER_H_
+#define _GL_FILE_MOVE_TIMER_H_
+
+#include <FContent.h>
+#include "GlTimerBase.h"
+
+class FileListPresentationModel;
+
+class FileMoveTimer
+ : public GlTimerBase
+{
+public :
+ FileMoveTimer(Tizen::Base::String&, Tizen::Base::Collection::IList*, FileListPresentationModel*,
+ IFileOpInvalidateListener*, bool isCopyOperation = false);
+ virtual ~FileMoveTimer(void);
+
+ void SetCopy(void);
+ void ClearCopy(void);
+
+private:
+ virtual Tizen::Base::Collection::IList* TimerStart(void);
+ virtual result TimerExpired(const Tizen::Base::Object* contentId);
+ virtual void TimerCancel(int, enum FileActionCancelRes res);
+ virtual void TimerComplete(int, enum FileActionCompleteRes res);
+ result ScanDirectories(void);
+ virtual int GetDirScanCount();
+ void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+
+private :
+ Tizen::Base::Collection::IList* __pMoveIndexList;
+ Tizen::Base::String __moveToDir;
+ bool __isCopyOperation;
+ FileListPresentationModel* __pPresentationModel;
+ Tizen::Base::Collection::HashMap __scanDirMap;
+ Tizen::Content::ContentManager* __pContentManager;
+};
+
+#endif //_GL_FILE_MOVE_TIMER_H_
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileOpInvalidateListener.h
+ * @brief This is the header file for FileOpInvalidateListener class.
+ */
+
+#ifndef _GL_FILE_OP_INVALIDATE_LISTENER_H_
+#define _GL_FILE_OP_INVALIDATE_LISTENER_H_
+
+#include "GlTypes.h"
+
+class IFileOpInvalidateListener
+{
+public:
+ virtual ~IFileOpInvalidateListener(void){}
+ virtual void OnFileOpInvalidate(enum FileActionMode) = 0;
+ virtual void OnFileOpComplete(enum FileActionMode, enum FileActionCompleteRes) = 0;
+ virtual void OnScanDirStart() = 0;
+ virtual void OnScanDirComplete() = 0;
+};
+
+#endif /* _GL_FILE_OP_INVALIDATE_LISTENER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileUpdateTimer.h
+ * @brief This is the header file for FileUpdateTimer class.
+ */
+#ifndef _GL_FILE_UPDATE_TIMER_H_
+#define _GL_FILE_UPDATE_TIMER_H_
+
+#include <FContent.h>
+#include "GlTimerBase.h"
+
+class FileListPresentationModel;
+class IContentFileUpdateManager;
+
+class FileUpdateTimer
+ : public GlTimerBase
+{
+public:
+ FileUpdateTimer(Tizen::Base::Collection::IList*, IContentFileUpdateManager*, IFileOpInvalidateListener*, FileActionMode, RotateMode rotateMode = ROTATE_MODE_RIGHT);
+ virtual ~FileUpdateTimer(void);
+
+private:
+ virtual Tizen::Base::Collection::IList * TimerStart(void);
+ virtual result TimerExpired(const Tizen::Base::Object* contentId);
+ virtual result ScanDirectories(void);
+ virtual int GetDirScanCount();
+ void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state);
+ virtual void TimerCancel(int, enum FileActionCancelRes res);
+ virtual void TimerComplete(int, enum FileActionCompleteRes res);
+
+private :
+ Tizen::Base::Collection::IList* __pUpdateIndexList;
+ IContentFileUpdateManager* __pFileUpdateManager;
+ RotateMode __rotateMode;
+ Tizen::Base::Collection::HashMap __scanDirMap;
+ Tizen::Content::ContentManager* __pContentManager;
+};
+
+#endif // _GL_FILE_UPDATE_TIMER_H_
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFormContentUpdateEventListener.h
+ * @brief This is the header file for ContentEventListener class.
+ */
+
+#ifndef _GL_CONTENT_EVENT_LISTENER_H_
+#define _GL_CONTENT_EVENT_LISTENER_H_
+
+class ProgressAnimation;
+
+class IFormContentUpdateEventListener
+ : public Tizen::Base::Runtime::IEventListener
+ , public Tizen::Base::Object
+{
+public:
+ virtual ~IFormContentUpdateEventListener(void){};
+ virtual void OnContentUpdated() = 0;
+ virtual void ShowAnimation(void) = 0;
+ virtual void StopAnimation(void) = 0;
+protected:
+ ProgressAnimation* _pProgressAnim;
+};
+
+#endif /* _GL_CONTENT_EVENT_LISTENER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFormFactory.h
+ * @brief This is the header file for FormFactory class.
+ */
+
+#ifndef _GL_FORM_FACTORY_H_
+#define _GL_FORM_FACTORY_H_
+
+class FormFactory
+ : public Tizen::Ui::Scenes::IFormFactory
+{
+public:
+ FormFactory(void);
+ virtual ~FormFactory(void);
+
+ virtual Tizen::Ui::Controls::Form* CreateFormN(const Tizen::Base::String& formId,
+ const Tizen::Ui::Scenes::SceneId& sceneId);
+};
+
+#endif /* _GL_FORM_FACTORY_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlGalleryApp.h
+ * @brief This is the header file for GalleryApp class.
+ */
+
+#ifndef _GL_GALLERY_APP_H_
+#define _GL_GALLERY_APP_H_
+
+#include <FApp.h>
+#include <FSystem.h>
+#include "GlTypes.h"
+
+class AlbumListPresentationModel;
+class FileListPresentationModel;
+
+class GalleryApp
+ : public Tizen::App::UiApp
+ , public Tizen::App::IAppControlProviderEventListener
+ , public Tizen::System::ISettingEventListener
+{
+public:
+ static Tizen::App::UiApp* CreateInstance(void);
+
+public:
+ GalleryApp(void);
+ virtual ~GalleryApp(void);
+
+ Tizen::Base::String GetAppControlOperationId(void) const;
+ Tizen::Base::String GetUriData(void) const;
+ Tizen::Base::String GetMimeType(void) const;
+ const Tizen::Base::Collection::IMap* GetAppControlArguments(void) const;
+ void SendAppControlResult(const Tizen::App::AppCtrlResult appControlResult,
+ const Tizen::Base::Collection::IMap* pExtraData);
+
+ virtual bool OnAppInitializing(Tizen::App::AppRegistry& appRegistry);
+ virtual bool OnAppInitialized(void);
+ virtual bool OnAppTerminating(Tizen::App::AppRegistry& appRegistry, bool forcedTermination = false);
+ virtual void OnForeground(void);
+
+ virtual void OnAppControlRequestReceived(RequestId reqId, const Tizen::Base::String& operationId,
+ const Tizen::Base::String* pUriScheme, const Tizen::Base::String* pDataType,
+ const Tizen::Base::Collection::IMap* pArgs);
+
+ virtual void OnSettingChanged(Tizen::Base::String& key);
+
+ void SetFrameEnabled(const bool enabled);
+ void SetFrameActivated(bool frameActivated);
+ bool GetFrameActivated(void) const;
+
+private:
+ RequestId __requestId;
+ Tizen::Base::String __operationId;
+ Tizen::Base::String __uriData;
+ Tizen::Base::String __mimeType;
+ const Tizen::Base::Collection::HashMap* __pArguments;
+ Tizen::App::AppCtrlResult __appControlResult;
+ bool __frameActivated;
+};
+
+#endif /* _GL_GALLERY_APP_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlIContentFileUpdateManager.h
+ * @brief This is the header file for IContentFileDeleteManager class.
+ */
+
+#ifndef _GL_ICONTENT_FILE_UPDATE_MANAGER_H_
+#define _GL_ICONTENT_FILE_UPDATE_MANAGER_H_
+
+#include "GlTypes.h"
+
+class IContentFileUpdateManager
+{
+public:
+ IContentFileUpdateManager(){}
+ virtual ~IContentFileUpdateManager(){}
+
+ virtual Tizen::Base::Collection::IList* GetContentIdListAtIndexN(const Tizen::Base::Collection::IList& indexList) const = 0;
+ virtual result DeleteContentFile(const Tizen::Base::String& filePath) = 0;
+ virtual result RotateImage(const Tizen::Content::ContentId& contentId, RotateMode rotateMode) = 0;
+ virtual void RequestThumbnail(const int index) = 0;
+ virtual void RequestThumbnail(const Tizen::Content::ContentId& contentId) = 0;
+};
+
+#endif /* _GL_ICONTENT_FILE_UPDATE_MANAGER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlImageCropForm.h
+ * @brief This is the implementation file for Image Crop.
+ */
+
+#ifndef _GL_IMAGE_CROP_H_
+#define _GL_IMAGE_CROP_H_
+
+#include <FMedia.h>
+#include <FUi.h>
+
+#include "GlFileListPresentationModel.h"
+
+enum TouchLocation
+{
+ INSIDE_CROPBOX = 0,
+ OUTSIDE_CROPBOX,
+ INSIDE_TOP_RECTANGLE,
+ INSIDE_BOTTOM_RECTANGLE,
+ INSIDE_LEFT_RECTANGLE,
+ INSIDE_RIGHT_RECTANGLE,
+ INSIDE_TOP_LEFT_RECTANGLE,
+ INSIDE_TOP_RIGHT_RECTANGLE,
+ INSIDE_BOTTOM_LEFT_RECTANGLE,
+ INSIDE_BOTTOM_RIGHT_RECTANGLE,
+};
+
+class ImageCropForm
+ : public IFormContentUpdateEventListener
+ , public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IOrientationEventListener
+ , public Tizen::Ui::ITouchEventListener
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ ImageCropForm(void);
+ ~ImageCropForm(void);
+
+ bool Initialize(void);
+ void CheckCurrentPosition(const Tizen::Graphics::Point currentPosition);
+ void SetValue(void);
+ Tizen::Base::String GetFileName(const Tizen::Base::String& filePath, bool isCheckExe = false) const;
+
+ virtual result OnInitializing(void);
+ virtual result OnDraw(void);
+
+ virtual void OnContentUpdated(void);
+ virtual void ShowAnimation(void){};
+ virtual void StopAnimation(void){};
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual void OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus);
+
+ virtual void OnTouchFocusIn(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo){}
+ virtual void OnTouchFocusOut(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo){}
+ virtual void OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+ virtual void OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+ virtual void OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId, const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId, const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+private:
+ Tizen::Base::String __sourceFilePath;
+ Tizen::Base::String __cropMode;
+ Tizen::Graphics::Canvas* __pCanvas;
+ Tizen::Graphics::Bitmap* __pCurrentBitmap;
+ Tizen::Graphics::Bitmap* __pRectangleBitmap;
+ Tizen::Graphics::Point __touchStart;
+ Tizen::Graphics::Rectangle __cropBox;
+ Tizen::Graphics::Rectangle __imageBox;
+ Tizen::Media::ImageBuffer* __imageBuffer;
+ Tizen::Media::ImageFormat __imageFormat;
+ TouchLocation __pointLocation;
+ bool __isOrientationChanged;
+ int __imageHeight;
+ int __imageWidth;
+ int __statusValue;
+ int __formHeight;
+ int __formWidth;
+ int __skipMoveEvent;
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_IMAGE_CROP_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlImageListEditorPanel.h
+ * @brief This is the header file for ImageListEditorPanel class.
+ */
+
+#ifndef _GL_IMAGE_LIST_EDITOR_PANEL_H_
+#define _GL_IMAGE_LIST_EDITOR_PANEL_H_
+
+#include "GlAlbumEventListener.h"
+#include "GlThumbnailEventListener.h"
+#include "GlFileOpInvalidateListener.h"
+#include "GlFileListEditorForm.h"
+
+class FileListPresentationModel;
+class FileUpdateTimer;
+
+class ImageListEditorPanel
+ : public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+ , public IAlbumEventListener
+ , public IFileOpInvalidateListener
+{
+public:
+ ImageListEditorPanel(void);
+ virtual ~ImageListEditorPanel(void);
+
+ result Initialize(void);
+
+ void OnSelectAllPressed(void);
+ void OnRequestAppExitWithMultipleSelectionAppControlResult(void);
+ int GetItemCheckedCount(void) const;
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+ void SetButtonState(void);
+
+ virtual void OnIconListViewItemStateChanged (Tizen::Ui::Controls::IconListView &view, int index,
+ Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ virtual void OnFileOpInvalidate(enum FileActionMode actionId);
+ virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes);
+ virtual void OnScanDirStart(){}
+ virtual void OnScanDirComplete(){}
+ void ChangeOrientation(void);
+
+private:
+ Tizen::Base::Collection::IList* GetItemCheckedIndexListN(void) const;
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::IconListView* __pContentIconListView;
+ Tizen::Ui::Controls::CheckButton* __pCheckButton;
+ Tizen::Ui::Controls::Label* __pLabelSelectCnt;
+ FileListPresentationModel* __pPresentationModel;
+ FileListEditorForm* __pFileListEditorForm;
+};
+
+#endif /* _GL_IMAGE_LIST_EDITOR_PANEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlImageListPanel.h
+ * @brief This is the header file for ImageListPanel class.
+ */
+
+#ifndef _GL_IMAGE_LIST_PANEL_H_
+#define _GL_IMAGE_LIST_PANEL_H_
+
+#include "GlAlbumEventListener.h"
+#include "GlThumbnailEventListener.h"
+
+class FileListPresentationModel;
+
+class ImageListPanel
+ : public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Controls::IIconListViewItemEventListener
+ , public Tizen::Ui::Controls::IIconListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+ , public IAlbumEventListener
+{
+public:
+ ImageListPanel(void);
+ virtual ~ImageListPanel(void);
+
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnIconListViewItemStateChanged (Tizen::Ui::Controls::IconListView &view, int index,
+ Tizen::Ui::Controls::IconListViewItemStatus status);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::IconListViewItem* CreateItem(int index);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::IconListViewItem* pItem);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::IconListView* __pContentIconListView;
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_IMAGE_LIST_PANEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlMainFrame.h
+ * @brief This is the header file for MainFrame class.
+ */
+
+#ifndef _GL_MAIN_FRAME_H_
+#define _GL_MAIN_FRAME_H_
+
+class MainFrame
+ : public Tizen::Ui::Controls::Frame
+ , public Tizen::Ui::Controls::IFrameEventListener
+{
+public:
+ MainFrame(void);
+ virtual ~MainFrame(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnFrameActivated(const Tizen::Ui::Controls::Frame& source);
+ virtual void OnFrameDeactivated(const Tizen::Ui::Controls::Frame& source){}
+ virtual void OnFrameTerminating(const Tizen::Ui::Controls::Frame& source){}
+};
+
+#endif /* _GL_MAIN_FRAME_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlPanelFactory.h
+ * @brief This is the header file for PanelFactory class.
+ */
+
+#ifndef _GL_PANEL_FACTORY_H_
+#define _GL_PANEL_FACTORY_H_
+
+#include <FUi.h>
+
+class PanelFactory
+ : public Tizen::Ui::Scenes::IPanelFactory
+{
+public:
+ PanelFactory(void);
+ virtual ~PanelFactory(void);
+
+ virtual Tizen::Ui::Controls::Panel* CreatePanelN(const Tizen::Base::String& panelId,
+ const Tizen::Ui::Scenes::SceneId& sceneId);
+};
+
+#endif /* _GL_PANEL_FACTORY_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlProgressAnimation.h
+ * @brief This is the header file for GlProgressAnimation class.
+ */
+
+#ifndef _GL_PROGRESS_ANIMATION_H_
+#define _GL_PROGRESS_ANIMATION_H_
+
+#include <FUi.h>
+
+class ProgressAnimation
+ : public Tizen::Ui::Controls::Panel
+{
+public:
+ ProgressAnimation(void);
+ virtual ~ProgressAnimation(void);
+
+ result Construct(Tizen::Graphics::Rectangle rect);
+
+ void AnimationStart(void);
+ void AnimationStop(void);
+ void ChangeOrientation(Tizen::Graphics::Rectangle rect);
+
+private:
+ static const int DURATION = 500;
+ static const int PROGRESS_COUNT = 30;
+
+ Tizen::Ui::Controls::Animation* __pAnimation;
+ Tizen::Base::Collection::ArrayList* __pAnimationFrameList;
+};
+
+#endif /* _GL_PROGRESS_ANIMATION_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlProgressBar.h
+ * @brief This is the header file for GlProgressBar class.
+ */
+
+#ifndef _GL_PROGRESS_BAR_H_
+#define _GL_PROGRESS_BAR_H_
+
+#include "GlTypes.h"
+
+class GlProgressBar
+{
+public:
+ GlProgressBar(Tizen::Ui::IActionEventListener* listener,Tizen::Ui::IPropagatedKeyEventListener* __pPropagatedListener);
+ virtual ~GlProgressBar(void);
+
+ void HideFileProgressingPopup(void);
+ void ShowFileProgressingPopup(const int val, enum FileActionMode action);
+ void IncProgress(const int count);
+
+private:
+ result CreateFileProgressingPopup(void);
+
+private:
+ int __totalVal;
+ int __curVal;
+ Tizen::Ui::Controls::Popup* __pFileProgressingPopup;
+ Tizen::Ui::Controls::Progress* __pFileProgressingProgress;
+ Tizen::Ui::Controls::Label* __pFileProgressingHeaderLabel;
+ Tizen::Ui::Controls::Label* __pFileProgressingLabel;
+ Tizen::Ui::Controls::Label* __pFileCounterLabel;
+ Tizen::Ui::Controls::Button* __pFileProgressingCancelButton;
+ Tizen::Ui::IActionEventListener* __pActionListener;
+ Tizen::Ui::IPropagatedKeyEventListener* __pPropagatedListener;
+};
+
+#endif /* _GL_PROGRESS_BAR_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ *@file IntRadioCustomItem.h
+ *@brief The RadioCustomItem defines radio custom item.
+ *
+ */
+
+#ifndef _GL_RADIO_CUSTOM_ITEM_H_
+#define _GL_RADIO_CUSTOM_ITEM_H_
+
+#include "GlTypes.h"
+
+class RadioCustomItem
+ : public Tizen::Ui::Controls::CustomItem
+{
+public:
+ RadioCustomItem(void);
+ virtual ~RadioCustomItem(void);
+
+ result Construct(int width, int height);
+ Tizen::Base::String GetText(void) const;
+ result Make(int fontSize);
+ void SetText(const Tizen::Base::String& text);
+
+
+protected:
+ static const int IDA_FORMAT_STRING;
+ static const int IDA_FORMAT_RADIO_BUTTON;
+
+private:
+ bool __isSelected;
+ int __width;
+ int __height;
+ Tizen::Base::String __text;
+};
+
+#endif /* _GL_RADIO_CUSTOM_ITEM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlResourceManager.h
+ * @brief This is the header file for ResourceManager class.
+ */
+
+#ifndef _GL_RESOURCE_MANAGER_H_
+#define _GL_RESOURCE_MANAGER_H_
+
+#include <FGraphics.h>
+
+class ResourceManager
+{
+public:
+ static Tizen::Graphics::Bitmap* GetBitmapN(const Tizen::Base::String& id);
+ static Tizen::Base::String GetString(const Tizen::Base::String& id);
+
+private:
+ ResourceManager(void);
+ virtual ~ResourceManager(void);
+};
+
+#endif /* _GL_RESOURCE_MANAGER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlSettingMainForm.h
+ * @brief This is the header file for SettingMainForm class.
+ */
+
+#ifndef _GL_SETTING_MAIN_FORM_H_
+#define _GL_SETTING_MAIN_FORM_H_
+
+#include "GlFormContentUpdateEventListener.h"
+
+enum SettingListItemType
+{
+ ITEM_TYPE_NORMAL = 0,
+ ITEM_TYPE_TOGGLE,
+ ITEM_TYPE_DROPDOWN,
+ ITEM_TYPE_RADIO,
+};
+
+enum
+{
+ SETTING_INVALID = -1,
+ SETTING_SLIDESHOW_INTERVAL_TITLE = 0,
+ SETTING_INTERVAL_2,
+ SETTING_INTERVAL_3,
+ SETTING_INTERVAL_5,
+ SETTING_INTERVAL_10,
+ SETTING_INTERVAL_20,
+ SETTING_REPEAT,
+ SETTING_SHUFFLE,
+ SETTING_TRANSITION_EFFECT_TITLE,
+ SETTING_TRANSITION_PAGE,
+ SETTING_TRANSITION_DISSOLVE,
+ SETTING_TRANSITION_ZOOM,
+ SETTING_MAX
+};
+
+class SettingPresentationModel;
+
+class SettingMainForm
+ : public IFormContentUpdateEventListener
+ , public Tizen::Ui::Controls::Form
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::Controls::IGroupedListViewItemEventListener
+ , public Tizen::Ui::Controls::IGroupedListViewItemProvider
+ , public Tizen::Ui::Controls::IFormBackEventListener
+ , public Tizen::Ui::Scenes::ISceneEventListener
+ , public Tizen::System::ISettingEventListener
+
+{
+public:
+ SettingMainForm(void);
+ virtual ~SettingMainForm(void);
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+ virtual void OnContentUpdated(void);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ void OnGroupedListViewContextItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView,
+ int groupIndex, int itemIndex, int elementId, Tizen::Ui::Controls::ListContextItemStatus status){};
+ void OnGroupedListViewItemStateChanged(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex,
+ int itemIndex, int elementId, Tizen::Ui::Controls::ListItemStatus status);
+ void OnGroupedListViewItemSwept(Tizen::Ui::Controls::GroupedListView& listView, int groupIndex,
+ int itemIndex, Tizen::Ui::Controls::SweepDirection direction){};
+
+ virtual int GetGroupCount(void);
+ virtual int GetItemCount(int groupIndex);
+ virtual Tizen::Ui::Controls::GroupItem* CreateGroupItem(int groupIndex, int itemWidth);
+ virtual bool DeleteGroupItem(int groupIndex, Tizen::Ui::Controls::GroupItem* pItem, int itemWidth);
+ virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int groupIndex, int itemIndex, int itemWidth);
+ virtual bool DeleteItem(int groupIndex, int itemIndex, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+ virtual void OnFormBackRequested(Tizen::Ui::Controls::Form& source);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnSettingChanged(Tizen::Base::String& key);
+ virtual void ShowAnimation(void){}
+ virtual void StopAnimation(void){}
+ class SettingItemInfo
+ {
+ public:
+ SettingItemInfo(void);
+ virtual ~SettingItemInfo(void){};
+
+ public:
+ int childCount;
+ bool isOpen;
+ bool isSelected;
+ SettingListItemType itemType;
+ Tizen::Base::String titleText;
+ Tizen::Base::String subText;
+ };
+
+ int* pGroupItemCount;
+ SettingItemInfo settingInfo[SETTING_MAX];
+
+private:
+ void InitializeSettingValues(void);
+
+private:
+ Tizen::Ui::Controls::GroupedListView* __pList;
+ SettingPresentationModel* __pPresentationModel;
+ bool __contentUpdated;
+};
+
+#endif /* _GL_SETTING_MAIN_FORM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlSettingPresentationModel.h
+ * @brief This is the header file for SettingPresentationModel class.
+ */
+
+#ifndef _GL_SETTING_PRESENTATION_MODEL_H_
+#define _GL_SETTING_PRESENTATION_MODEL_H_
+
+#include <FApp.h>
+#include <FIo.h>
+
+class SettingPresentationModel
+ : public Tizen::Base::Object
+{
+public:
+ static SettingPresentationModel* GetInstance(void);
+
+public:
+ result GetValue(const Tizen::Base::String& strSectionName, const Tizen::Base::String& entryName,
+ int& value) const;
+ result GetValue(const Tizen::Base::String& strSectionName, const Tizen::Base::String& entryName,
+ Tizen::Base::String& value) const;
+ result SetValue(const Tizen::Base::String& strSectionName, const Tizen::Base::String& entryName, int value);
+ result SetValue(const Tizen::Base::String& strSectionName, const Tizen::Base::String& entryName,
+ const Tizen::Base::String& value);
+
+ result CreateDefaultRegistry(void);
+
+ void DeleteRegistry(void);
+private:
+ SettingPresentationModel(void);
+ virtual ~SettingPresentationModel(void);
+ SettingPresentationModel(SettingPresentationModel& value);
+ SettingPresentationModel& operator=(SettingPresentationModel&);
+
+ result Construct(void);
+ static void CreateInstance(void);
+ static void DestroyInstance(void);
+
+
+private:
+ Tizen::Io::Registry* __pDefaultGalleryRegistry;
+ static SettingPresentationModel* __pPresentationModelInstance;
+};
+
+#endif /* _GL_SETTING_PRESENTATION_MODEL_H_ */
--- /dev/null
+//
+
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlSettingToggleCustomItem.h
+ * @brief The SettingToggleCustomItem used to toggle the item.
+ */
+
+#ifndef _INT_SETTING_TOGGLE_CUSTOM_ITEM_H_
+#define _INT_SETTING_TOGGLE_CUSTOM_ITEM_H_
+
+#include "GlTypes.h"
+
+class SettingToggleCustomItem
+ : public Tizen::Ui::Controls::CustomItem
+{
+
+public:
+ /**
+ * @brief The Default constructor
+ */
+ SettingToggleCustomItem(void);
+
+ /**
+ * @brief The Default destructor
+ */
+ virtual ~SettingToggleCustomItem(void);
+
+ /**
+ * @brief Initializes this instance of %DropDownCustomItem.
+ *
+ * @return An error code
+ * @param[in] void An instance of the Rectangle class @n
+ * This instance represents the x and y coordinates of the top-left corner of the created window along with
+ * the width and height of the window.
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_STATE This instance has already been constructed.
+ * @exception E_INVALID_ARG A specified input parameter is invalid.
+ * @exception E_OUT_OF_MEMORY The memory is insufficient.
+ * @exception E_SYSTEM A system error has occurred.
+ *
+ */
+ result Construct(int width, int height);
+
+ //getter and setter methods for text
+
+ /**
+ * @brief The method used to get the text of CustomItem
+ *
+ * @return A String
+ */
+ Tizen::Base::String GetText(void) const;
+
+ /**
+ * @brief Add all the required elements and create the Custom Item.
+ *
+ * @return An error code
+ * @param[in] void An instance of the Rectangle class @n
+ * This instance represents the x and y coordinates of the top-left corner of the created window along with
+ * the width and height of the window.
+ * @exception E_SUCCESS The method is successful.
+ * @exception E_INVALID_STATE This instance has already been constructed.
+ * @exception E_INVALID_ARG A specified input parameter is invalid.
+ * @exception E_OUT_OF_MEMORY The memory is insufficient.
+ * @exception E_SYSTEM A system error has occurred.
+ *
+ */
+ result Make(int fontSize);
+
+ /**
+ * @brief The method used to set the text of CustomItem
+ */
+
+ void SetText(const Tizen::Base::String& text);
+
+private:
+ int __width; ///Width of the SettingToggleCustomItem Instance
+ int __height; ///Height of the SettingToggleCustomItem Instance
+ Tizen::Base::String __text; ///The Text for the Toggle Button
+};
+
+#endif /* _INT_SETTING_TOGGLE_CUSTOM_ITEM_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlISlideSettingListener.h
+ * @brief This is the header file for ISlideSettingListener class.
+ */
+
+#ifndef _GL_SLIDE_SETTING_LISTENER_H_
+#define _GL_SLIDE_SETTING_LISTENER_H_
+
+class ISlideSettingListener
+{
+public:
+ ISlideSettingListener(void){};
+ virtual ~ISlideSettingListener(void) {};
+
+ virtual void OnSlideSettingPopUpItemSelected(int index) = 0;
+};
+
+#endif /* _GL_SLIDE_SETTING_LISTENER_H_ */
--- /dev/null
+//
+// Tizen Native SDK
+// Copyright (c) 2012 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.
+//
+
+
+/**
+ * @file GlSlideShowPopUp.h
+ * @brief This header file contains the declarations of the SlideShowPopUp
+ *
+ */
+
+#ifndef _GL_SLIDE_SHOW_POPUP_H_
+#define _GL_SLIDE_SHOW_POPUP_H_
+
+#include <FUi.h>
+
+class ISlideSettingListener;
+
+class SlideShowPopUp
+ : public Tizen::Ui::Controls::IListViewItemEventListener
+ , public Tizen::Ui::Controls::IListViewItemProvider
+ , public Tizen::Ui::Controls::Popup
+ , public Tizen::Ui::IActionEventListener
+ , public Tizen::Ui::IPropagatedKeyEventListener
+{
+public:
+ SlideShowPopUp(void);
+ virtual ~SlideShowPopUp(void);
+
+ bool Initialize(void);
+ virtual result OnTerminating(void);
+
+public:
+ void SetEventListner(ISlideSettingListener* listner);
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+ virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index,
+ int elementId, Tizen::Ui::Controls::ListContextItemStatus state){};
+ virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId,
+ Tizen::Ui::Controls::ListItemStatus status);
+ virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index,
+ Tizen::Ui::Controls::SweepDirection direction){};
+ virtual void OnListViewItemLongPressed(Tizen::Ui::Controls::ListView& listView, int index, int elementId,
+ bool& invokeListViewItemCallback){};
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual bool OnKeyPressed(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){return false;};
+ virtual bool OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo);
+ virtual bool OnPreviewKeyPressed(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){return false;};
+ virtual bool OnPreviewKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){return false;};
+
+private:
+ Tizen::Ui::Controls::ListView* __pList;
+ ISlideSettingListener* __pListener;
+};
+
+#endif /* _GL_SLIDE_SHOW_POPUP_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailEvent.h
+ * @brief This is the header file for ThumbnailEvent class.
+ */
+
+#ifndef _GL_THUMBNAIL_EVENT_H_
+#define _GL_THUMBNAIL_EVENT_H_
+
+#include <FBase.h>
+
+class IThumbnailEventListener;
+
+class ThumbnailEvent
+ : public Tizen::Base::Runtime::Event
+{
+public:
+ virtual ~ThumbnailEvent(void);
+
+protected:
+ virtual void FireImpl(Tizen::Base::Runtime::IEventListener& listener,
+ const Tizen::Base::Runtime::IEventArg& eventArg);
+};
+
+#endif /* _GL_THUMBNAIL_EVENT_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailEventArg.h
+ * @brief This is the header file for ThumbnailEventArg class.
+ */
+
+#ifndef _GL_THUMBNAIL_EVENT_ARG_H_
+#define _GL_THUMBNAIL_EVENT_ARG_H_
+
+class ThumbnailInfo;
+
+class ThumbnailEventArg
+ : public Tizen::Base::Runtime::IEventArg
+{
+public:
+ ThumbnailEventArg(ThumbnailInfo* pThumbnailInfo);
+ virtual ~ThumbnailEventArg(void);
+ virtual ThumbnailInfo* GetThumbnailInfoN(void);
+
+protected:
+ ThumbnailInfo* _pThumbnailInfo;
+};
+
+#endif /* _GL_THUMBNAIL_EVENT_ARG_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailEventListener.h
+ * @brief This is the header file for ThumbnailEventListener class.
+ */
+
+#ifndef _GL_THUMBNAIL_EVENT_LISTENER_H_
+#define _GL_THUMBNAIL_EVENT_LISTENER_H_
+
+class IThumbnailEventListener
+ : public Tizen::Base::Runtime::IEventListener
+{
+public:
+ virtual ~IThumbnailEventListener(void) {};
+ virtual void OnThumbnailReceivedN(Tizen::Base::Runtime::IEventArg& eventArg) = 0;
+};
+
+#endif /* _GL_THUMBNAIL_EVENT_LISTENER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailInfo.h
+ * @brief This is the header file for ThumbnailInfo class.
+ */
+
+#ifndef _GL_THUMBNAIL_INFO_H_
+#define _GL_THUMBNAIL_INFO_H_
+
+#include <FContent.h>
+
+class ThumbnailInfo
+ : public Tizen::Base::Object
+{
+public:
+ ThumbnailInfo(void);
+ virtual ~ThumbnailInfo(void);
+
+ void Construct(const Tizen::Content::ContentId& contentId,
+ const Tizen::Base::String& filePath, const Tizen::Graphics::Bitmap& bitmap,
+ const Tizen::Content::ContentType contentType, const long duration = 0);
+
+ Tizen::Content::ContentId GetContentId(void) const;
+ Tizen::Base::String GetFilePath(void) const;
+ void SetFilePath(const Tizen::Base::String& filePath);
+ Tizen::Graphics::Bitmap* GetBitmapN(void) const;
+ void SetBitmap(const Tizen::Graphics::Bitmap& bitmap);
+ Tizen::Content::ContentType GetContentType(void) const;
+ void SetContentType(const Tizen::Content::ContentType contentType);
+ long GetDuration(void) const;
+ void SetDuration(const long duration);
+
+private:
+ Tizen::Graphics::Bitmap* CloneBitmapN(const Tizen::Graphics::Bitmap& bitmap) const;
+
+private :
+ Tizen::Content::ContentId __contentId;
+ Tizen::Base::String __filePath;
+ Tizen::Graphics::Bitmap* __pBitmap;
+ Tizen::Content::ContentType __contentType;
+ long __duration;
+};
+
+#endif /* _GL_THUMBNAIL_INFO_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailJob.h
+ * @brief This is the header file for ThumbnailJob class.
+ */
+
+#ifndef _GL_THUMBNAIL_JOB_H_
+#define _GL_THUMBNAIL_JOB_H_
+
+class ThumbnailEvent;
+
+class ThumbnailJob
+ : public Tizen::Base::Object
+{
+public:
+ ThumbnailJob(void);
+ virtual ~ThumbnailJob(void);
+
+ void Construct(const Tizen::Content::ContentId& contentId, const unsigned long requestId,
+ const ThumbnailEvent* pRequestEvent);
+
+ Tizen::Content::ContentId GetContentId(void) const;
+ unsigned long GetRequestId(void) const;
+ const ThumbnailEvent* GetEvent(void) const;
+
+private:
+ ThumbnailJob(const ThumbnailJob&);
+ ThumbnailJob& operator=(const ThumbnailJob&);
+
+private:
+ Tizen::Content::ContentId __contentId;
+ unsigned long __requestId;
+ const ThumbnailEvent* __pRequestEvent;
+};
+
+#endif /* _GL_THUMBNAIL_JOB_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailProvider.h
+ * @brief This is the header file for ThumbnailProvider class.
+ */
+
+#ifndef _GL_THUMBNAIL_PROVIDER_H_
+#define _GL_THUMBNAIL_PROVIDER_H_
+
+#include "GlThumbnailInfo.h"
+
+class ThumbnailEvent;
+
+class ThumbnailProvider
+ : public Tizen::Base::Runtime::EventDrivenThread
+{
+public:
+ static ThumbnailProvider* GetInstance(void);
+
+public:
+ static void Release(void);
+
+ void RequestThumbnail(const Tizen::Content::ContentId& contentId, const ThumbnailEvent* event);
+ void ClearThumbnailRequests(const bool appTerminating = false);
+
+ virtual void OnUserEventReceivedN(RequestId requestId, Tizen::Base::Collection::IList * pArgs);
+ virtual bool OnStart(void);
+ virtual void OnStop(void);
+
+private:
+ ThumbnailProvider(void);
+ virtual ~ThumbnailProvider(void);
+ ThumbnailProvider(ThumbnailProvider& value);
+ ThumbnailProvider& operator = (ThumbnailProvider&);
+
+ result Construct(void);
+ static void CreateInstance(void);
+ static void DestroyInstance(void);
+
+ ThumbnailInfo* GetThumbnailInfoN(const Tizen::Content::ContentId& contentId) const;
+ Tizen::Graphics::Bitmap* GetThumbnailByDecodeN(const Tizen::Base::String& filePath, const Tizen::Content::ContentType contentType) const;
+ Tizen::Base::String GetFileNameFromFullPath(const Tizen::Base::String& fullPath, bool withExt) const;
+
+private:
+ static ThumbnailProvider* __pThumbnailProviderInstance;
+ static Tizen::Base::Collection::ArrayList* __pThumbnailEventListener;
+
+ Tizen::Base::Runtime::Mutex* __pMutexCmd;
+ Tizen::Base::Collection::ArrayList* __pCmdQueue;
+ unsigned long __requestId;
+ bool __isAppTerminating;
+};
+
+#endif /* _GL_THUMBNAIL_PROVIDER_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlTimerBase.h
+ * @brief This is the header file for GlTimerBase class.
+ */
+
+#ifndef _GL_TIMER_BASE_H_
+#define _GL_TIMER_BASE_H_
+
+#include <FUi.h>
+#include <FSystem.h>
+#include "GlFileOpInvalidateListener.h"
+#include "GlTimerScanDirListener.h"
+#include "GlTypes.h"
+
+class GlProgressBar;
+
+class GlTimerBase
+ : public Tizen::Ui::IActionEventListener
+ , public Tizen::Base::Runtime::ITimerEventListener
+ , public ITimerScanDirListener
+ , public Tizen::Ui::IPropagatedKeyEventListener
+ , public Tizen::System::IDeviceEventListener
+{
+public:
+
+ GlTimerBase(IFileOpInvalidateListener*, enum FileActionMode actionId);
+ virtual ~GlTimerBase(void);
+
+ bool StartTimer(void);
+ void CancelTimer(void);
+ void SetActionMode(const enum FileActionMode actionId);
+
+ virtual void OnActionPerformed(const Tizen::Ui::Control& source, int actionId);
+
+ virtual void OnTimerExpired(Tizen::Base::Runtime::Timer& timer);
+ virtual void OnTimerScanDirComplete();
+
+ void Cancel(void);
+ bool IsStarted(void);
+
+
+ virtual bool OnKeyPressed(Tizen::Ui::Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){ return false; };
+ virtual bool OnKeyReleased(Tizen::Ui::Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo);
+ virtual bool OnPreviewKeyPressed(Tizen::Ui::Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){ return false;};
+ virtual bool OnPreviewKeyReleased(Tizen::Ui::Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo){ return false;};
+
+
+protected:
+ virtual Tizen::Base::Collection::IList* TimerStart(void) = 0;
+ virtual result TimerExpired(const Tizen::Base::Object*) = 0;
+ virtual void TimerCancel(int, enum FileActionCancelRes res) = 0;
+ virtual void TimerComplete(int, enum FileActionCompleteRes res) = 0;
+ virtual result ScanDirectories(void) = 0;
+ virtual int GetDirScanCount() = 0;
+ int GetMovedCount() const;
+ virtual void OnDeviceStateChanged(Tizen::System::DeviceType deviceType, const Tizen::Base::String& state) = 0;
+
+private:
+ void OnOpComplete(enum FileActionCompleteRes);
+ void OnOpCancelled(enum FileActionCancelRes res);
+
+protected:
+ enum FileActionMode _actionId;
+
+private:
+ Tizen::Base::Runtime::Timer __moveTimer;
+ Tizen::Base::Collection::IList * __pContentIdList;
+ int __moveToCount;
+ GlProgressBar* __pMoveProBar;
+ IFileOpInvalidateListener* __pInvalidate;
+ bool __isStarted;
+ enum TimerCompleteOptions
+ {
+ CANCEL_SYS,
+ CANCEL_BY_USER,
+ TIMER_COMPLETE
+ };
+ enum TimerCompleteOptions __timerRes;
+ };
+
+#endif //_GL_TIMER_BASE_H_
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlTimerScanDirListener.h
+ * @brief This is the header file for GlTimerScanDirListener class.
+ */
+#ifndef _GL_TIMER_SCANDIR_LISTENER_H_
+#define _GL_TIMER_SCANDIR_LISTENER_H_
+
+class ITimerScanDirListener
+{
+public:
+ virtual ~ITimerScanDirListener(void) {}
+ virtual void OnTimerScanDirComplete() = 0;
+};
+
+#endif //_GL_TIMER_SCANDIR_LISTENER_H_
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlTypes.h
+ * @brief This is the header file for Types definition.
+ */
+
+#ifndef _GL_TYPES_H_
+#define _GL_TYPES_H_
+
+#include <FGraphics.h>
+
+enum ACTION_ID_
+{
+ IDA_BUTTON_CHECKED = 101,
+ IDA_BUTTON_CREATE_NAME_CANCEL = 102,
+ IDA_BUTTON_CREATE_NAME_SAVE = 103,
+ IDA_BUTTON_MOVE_TO_SELECTION = 104,
+ IDA_BUTTON_UNCHECKED = 105,
+ IDA_BUTTON_SAVE = 106,
+ IDA_ALBUM_LIST_SELECT_ALL = 201,
+ IDA_FILE_LIST_SELECT_ALL = 202,
+ IDA_CONTEXT_MENU_MESSAGE = 301,
+ IDA_CONTEXT_MENU_EMAIL = 302,
+ IDA_CONTEXT_MENU_MORE_ADD_TAG = 303,
+ IDA_CONTEXT_MENU_MORE_EDIT = 304,
+ IDA_CONTEXT_MENU_MORE_MOVE = 305,
+ IDA_CONTEXT_MENU_MORE_SLIDE_SHOW = 306,
+ IDA_CONTEXT_MENU_SHARE_MESSAGE = 307,
+ IDA_CONTEXT_MENU_SHARE_EMAIL = 308,
+ IDA_CONTEXT_MENU_MORE_COPY = 309,
+ IDA_CONTEXT_MENU_ROTATE_LEFT = 310,
+ IDA_CONTEXT_MENU_ROTATE_RIGHT = 311,
+ IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START = 401,
+ IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM = 600,
+ IDA_CONTEXTMENU_SELECTION_MOVE_ALBUM_ARRAY_START = 601,
+ IDA_CONTEXTMENU_SELECTION_MOVE_CREATE_ALBUM = 800,
+ IDA_DELETE_POPUP_CANCEL = 801,
+ IDA_DELETE_POPUP_DEL = 802,
+ IDA_EDITE_FOLDER = 901,
+ IDA_FOOTER_CAMERA = 902,
+ IDA_FOOTER_CANCEL = 903,
+ IDA_FOOTER_CONFIRM = 904,
+ IDA_FOOTER_DELETE = 905,
+ IDA_FOOTER_EDIT = 906,
+ IDA_FOOTER_MORE = 907,
+ IDA_FOOTER_SHARE = 908,
+ IDA_FOOTER_SLIDESHOW = 909,
+ IDA_FORMAT_DURATION = 1001,
+ IDA_FORMAT_THUMBNAIL = 1002,
+ IDA_FORMAT_TITLE = 1003,
+ IDA_SELECTALL_CHECKED = 1101,
+ IDA_SELECTALL_UNCHECKED = 1102,
+ IDA_PROGRESSBAR_CANCEL = 1201
+};
+
+enum AppControlMode
+{
+ APPCONTROL_MODE_MAIN,
+ APPCONTROL_MODE_PICK,
+ APPCONTROL_MODE_SETTING,
+ APPCONTROL_MODE_UNKNOWN
+};
+
+enum AppControlParamType
+{
+ APPCONTROL_PARAM_TYPE_MEDIA_TYPE,
+ APPCONTROL_PARAM_TYPE_SELECTION_MODE,
+ APPCONTROL_PARAM_TYPE_UNKNOWN
+};
+
+enum AppControlMediaType
+{
+ APPCONTROL_MEDIA_TYPE_IMAGE,
+ APPCONTROL_MEDIA_TYPE_VIDEO,
+ APPCONTROL_MEDIA_TYPE_UNKNOWN
+};
+
+enum AppControlSelectionMode
+{
+ APPCONTROL_SELECTION_MODE_SINGLE,
+ APPCONTROL_SELECTION_MODE_MULTIPLE,
+ APPCONTROL_SELECTION_MODE_UNKNOWN
+};
+
+enum AlbumInfoType
+{
+ ALBUM_INFO_TYPE_BASE,
+ ALBUM_INFO_TYPE_FOLDER,
+ ALBUM_INFO_TYPE_FILE
+};
+
+enum AlbumNameEditorMode
+{
+ ALBUM_NAME_EDITOR_MODE_RENAME,
+ ALBUM_NAME_EDITOR_MODE_CREATE,
+ ALBUM_NAME_EDITOR_MODE_NONE
+};
+
+enum FileActionMode
+{
+ FILE_ACTION_DELETE,
+ FILE_ACTION_MOVE,
+ FILE_ACTION_COPY,
+ FILE_ACTION_RENAME,
+ FILE_ACTION_ROTATE
+};
+
+enum FileActionCancelRes
+{
+ CANCEL_USER,
+ CANCEL_SYS_ERROR
+};
+
+enum FileActionCompleteRes
+{
+ COMPLETE_SUCCESS,
+ COMPLETE_SYS_PARTIAL,
+ COMPLETE_SYS_FAILURE
+};
+
+enum AlbumAction
+{
+ ALBUM_CREATE,
+ ALBUM_RENAME
+};
+
+enum RotateMode
+{
+ ROTATE_MODE_RIGHT = 0,
+ ROTATE_MODE_LEFT
+};
+
+extern const wchar_t* IDL_FORM_ALBUM_LIST;
+extern const wchar_t* IDL_FORM_ALBUM_LIST_EDITOR;
+extern const wchar_t* IDL_FORM_FILE_LIST;
+extern const wchar_t* IDL_FORM_SETTING_MAIN;
+extern const wchar_t* IDL_FORM_SETTING_INTERVAL;
+extern const wchar_t* IDL_FORM_SETTING_TRANSITION;
+extern const wchar_t* IDL_FORM_IMAGE_CROP;
+
+extern const wchar_t* IDC_LABEL_ALBUM_LIST_EDITOR_SELECTED;
+
+extern const wchar_t* IDC_FORM_ALBUM_LIST;
+extern const wchar_t* IDC_FORM_ALBUM_LIST_EDITOR;
+extern const wchar_t* IDC_FORM_ALBUM_NAME_EDITOR;
+extern const wchar_t* IDC_FORM_FILE_LIST;
+extern const wchar_t* IDC_FORM_FILE_LIST_EDITOR;
+extern const wchar_t* IDC_FORM_SETTING_MAIN;
+extern const wchar_t* IDC_FORM_SETTING_INTERVAL;
+extern const wchar_t* IDC_FORM_SETTING_TRANSITION;
+extern const wchar_t* IDC_FORM_IMAGE_CROP;
+
+extern const wchar_t* IDC_PANEL_BLANK;
+extern const wchar_t* IDC_PANEL_ALL_LIST;
+extern const wchar_t* IDC_PANEL_IMAGE_LIST;
+extern const wchar_t* IDC_PANEL_VIDEO_LIST;
+extern const wchar_t* IDC_PANEL_ALL_LIST_EDITOR;
+extern const wchar_t* IDC_PANEL_IMAGE_LIST_EDITOR;
+extern const wchar_t* IDC_PANEL_VIDEO_LIST_EDITOR;
+extern const wchar_t* IDC_PANEL_ALL_LIST_SELECTION;
+
+extern const wchar_t* IDSCN_ALBUM_LIST;
+extern const wchar_t* IDSCN_ALBUM_LIST_EDITOR;
+extern const wchar_t* IDSCN_ALBUM_NAME_EDITOR;
+extern const wchar_t* IDSCN_ALL_LIST;
+extern const wchar_t* IDSCN_IMAGE_LIST;
+extern const wchar_t* IDSCN_VIDEO_LIST;
+extern const wchar_t* IDSCN_ALL_LIST_EDITOR;
+extern const wchar_t* IDSCN_IMAGE_LIST_EDITOR;
+extern const wchar_t* IDSCN_VIDEO_LIST_EDITOR;
+extern const wchar_t* IDSCN_ALL_LIST_SELECTION;
+extern const wchar_t* IDSCN_SETTING_MAIN;
+extern const wchar_t* IDSCN_SETTING_INTERVAL;
+extern const wchar_t* IDSCN_SETTING_TRANSITION;
+extern const wchar_t* IDSCN_IMAGE_CROP;
+
+extern const wchar_t* APPCONTROL_PROVIDER_ID_CAMERA;
+extern const wchar_t* APPCONTROL_PROVIDER_ID_MESSAGE;
+extern const wchar_t* APPCONTROL_PROVIDER_ID_EMAIL;
+extern const wchar_t* APPCONTROL_PROVIDER_ID_IMAGE;
+
+extern const wchar_t* APPCONTROL_OPERATION_ID_PICK;
+extern const wchar_t* APPCONTROL_OPERATION_ID_VIEW;
+extern const wchar_t* APPCONTROL_OPERATION_ID_CAPTURE;
+extern const wchar_t* APPCONTROL_OPERATION_ID_CREATE_CONTENT;
+extern const wchar_t* APPCONTROL_OPERATION_ID_COMPOSE;
+extern const wchar_t* APPCONTROL_OPERATION_ID_CONFIGURE;
+extern const wchar_t* APPCONTROL_OPERATION_ID_MAIN;
+
+extern const wchar_t* APPCONTROL_KEY_TYPE;
+extern const wchar_t* APPCONTROL_KEY_PATH;
+extern const wchar_t* APPCONTROL_KEY_INDEX;
+extern const wchar_t* APPCONTROL_KEY_SELECTION_MODE;
+extern const wchar_t* APPCONTROL_KEY_DATA_SELECTED;
+extern const wchar_t* APPCONTROL_KEY_MESSAGE_TYPE;
+extern const wchar_t* APPCONTROL_KEY_CAMERA_ALLOW_SWITCH;
+extern const wchar_t* APPCONTROL_KEY_IMAGEVIEWER_MODE;
+
+extern const wchar_t* APPCONTROL_URI_MMS_TO;
+extern const wchar_t* APPCONTROL_URI_MAIL_TO;
+
+extern const wchar_t* APPCONTROL_MIME_IMAGE_JPG;
+extern const wchar_t* APPCONTROL_MIME_IMAGE_ALL;
+
+extern const wchar_t* APPCONTROL_DATA_IMAGE;
+extern const wchar_t* APPCONTROL_DATA_VIDEO;
+extern const wchar_t* APPCONTROL_DATA_SINGLE;
+extern const wchar_t* APPCONTROL_DATA_MULTIPLE;
+extern const wchar_t* APPCONTROL_DATA_SLIDE_SHOW;
+extern const wchar_t* APPCONTROL_DATA_SELECTION_MODE;
+extern const wchar_t* APPCONTROL_DATA_TRUE;
+extern const wchar_t* APPCONTROL_DATA_MMS;
+extern const wchar_t* APPCONTROL_DATA_CROP_TYPE_AUTO;
+extern const wchar_t* APPCONTROL_DATA_CROP_TYPE_FIT_TO_SCREEN;
+
+extern const wchar_t* APPCONTROL_RESULT_KEY_LEGACY_RESULT;
+
+extern const wchar_t* SETTING_KEY_LANGUAGE;
+extern const wchar_t* SETTING_KEY_FONT_SIZE;
+
+extern const Tizen::Graphics::Dimension DIMENSION_DEFAULT_THUMBNAIL;
+extern const int FOLDER_BITMAP_MAX;
+
+extern const wchar_t* EMPTY_SPACE;
+extern const wchar_t* SINGLE_SPACE;
+
+extern const wchar_t* DIRECTORY_SEPARATOR;
+extern const wchar_t* FILE_EXT_SEPARATOR;
+extern const wchar_t* MULTI_ITEM_SEPARATOR;
+
+extern const wchar_t* CONTENT_EXT_PNG;
+extern const wchar_t* CONTENT_EXT_BMP;
+extern const wchar_t* CONTENT_EXT_JPG;
+extern const wchar_t* CONTENT_EXT_GIF;
+extern const wchar_t* CONTENT_EXT_TIF;
+extern const wchar_t* CONTENT_EXT_MP4;
+extern const wchar_t* CONTENT_EXT_3GP;
+extern const wchar_t* CONTENT_EXT_AVI;
+extern const wchar_t* CONTENT_EXT_RM;
+extern const wchar_t* CONTENT_EXT_WMV;
+extern const wchar_t* CONTENT_EXT_ASF;
+
+extern const wchar_t* SECTION_NAME_GALLERY;
+extern const wchar_t* SECTION_NAME_IMAGE_VIEWER;
+extern const wchar_t* SECTION_NAME_VIDEO_PLAYER;
+extern const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL;
+extern const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_TRANSITION_EFFECT;
+extern const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_MUSIC;
+extern const wchar_t* ENTRY_NAME_IMAGE_VIEWER_REPEAT_VALUE;
+extern const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SHUFFLE_VALUE;
+
+extern const wchar_t* ALL_ALBUMS_REAL_NAME;
+
+extern const wchar_t* FONT_SIZE_SETTING_INFO_KEY;
+
+extern const wchar_t* IDB_BUTTON_CIRCLE_BACKGROUND;
+extern const wchar_t* IDB_BUTTON_RENAME;
+extern const wchar_t* IDB_CONTROLBAR_CAMERA;
+extern const wchar_t* IDB_CONTROLBAR_DELETE;
+extern const wchar_t* IDB_CONTROLBAR_DELETE_DIM;
+extern const wchar_t* IDB_CONTROLBAR_MORE;
+extern const wchar_t* IDB_CONTROLBAR_MORE_DISABLED;
+extern const wchar_t* IDB_CONTROLBAR_MORE_PRESSED;
+extern const wchar_t* IDB_CONTROLBAR_SHARE;
+extern const wchar_t* IDB_CONTROLBAR_SHARE_DIM;
+extern const wchar_t* IDB_LISTVIEW_EMPTY;
+extern const wchar_t* IDB_MAIN_FOLDER_BACKGROUND;
+extern const wchar_t* IDB_VIDEOTHUMBNAIL_BG;
+extern const wchar_t* IDB_VIDEOTHUMBNAIL_BOOKMARK;
+extern const wchar_t* IDB_VIDEOTHUMBNAIL_FAVORITE;
+extern const wchar_t* IDB_VIDEOTHUMBNAIL_PLAY;
+extern const wchar_t* IDB_BUTTON_MOVE_SELECTION;
+extern const wchar_t* IDB_NO_CONTENTS_BROKEN;
+extern const wchar_t* IDB_LIST_EXPAND_CLOSED;
+extern const wchar_t* IDB_LIST_EXPAND_CLOSED_PRESS;
+extern const wchar_t* IDB_LIST_EXPAND_OPENED;
+extern const wchar_t* IDB_LIST_EXPAND_OPENED_PRESS;
+extern const wchar_t* IDB_ICON_SELECT_ALL;
+extern const wchar_t* IDB_ICON_SELECT_ALL_PRESS;
+
+extern const wchar_t* DEVICE_STORAGE_CARD_MOUNTED;
+extern const wchar_t* DEVICE_STORAGE_CARD_UNMOUNTED;
+extern const wchar_t* IDB_ALBUM_EDIT_RENAME_BG;
+extern const wchar_t* IDB_ALBUM_EDIT_RENAME;
+extern const wchar_t* IDB_ALBUM_ICON_FOLDER;
+extern const wchar_t* IDB_ALBUM_ICON_DOWNLOAD;
+extern const wchar_t* IDB_ALBUM_ICON_CAMERA;
+
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS1;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS2;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS3;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS4;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS5;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS6;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS7;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS8;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS9;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS10;
+
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS11;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS12;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS13;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS14;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS15;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS16;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS17;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS18;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS19;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS20;
+
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS21;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS22;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS23;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS24;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS25;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS26;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS27;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS28;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS29;
+extern const wchar_t* IDB_ALBUM_RENAME_PROGRESS30;
+
+extern const wchar_t* IDB_IMAGE_CONTEXT_EMAIL_ICON;
+extern const wchar_t* IDB_IMAGE_CONTEXT_MESSAGE_ICON;
+
+extern const wchar_t* IDB_IMAGE_CROP_RECTANGLE;
+
+static const unsigned int CUSTOM_COLOR_GREY = Tizen::Graphics::Color32<124,124,124>::Value;
+static const unsigned int CUSTOM_COLOR_TRANSPARENT = Tizen::Graphics::Color32<0,0,0>::Value;
+static const unsigned int CUSTOM_BACKGROUND_COLOR_LISTVIEW = Tizen::Graphics::Color32<236,240,242>::Value;
+static const unsigned int CUSTOM_BACKGROUND_COLOR_LISTVIEW_PRESSED_HIGHLIGHTED = Tizen::Graphics::Color32<42, 137, 194>::Value;
+static const unsigned int CUSTOM_COLOR_LISTVIEW_TEXT = Tizen::Graphics::Color32<249,249,249>::Value;
+static const unsigned int CUSTOM_COLOR_BROWN = Tizen::Graphics::Color32<32, 32, 32>::Value;
+static const unsigned int CUSTOM_COLOR_INFO_LABEL = Tizen::Graphics::Color32<68, 68, 68>::Value;
+static const unsigned int CUSTOM_BACKGROUND_COLOR_PREVIEW_PANEL = Tizen::Graphics::Color32<81,81,81>::Value;
+static const unsigned int CUSTOM_BACKGROUND_COLOR_PREVIEW_PANEL_INACTIVE = Tizen::Graphics::Color32<0,0,0,20>::Value;
+static const unsigned int CUSTOM_COLOR_PREVIEW_PANEL_PRESSED_RECTANGLE = Tizen::Graphics::Color32<7,180,211>::Value;
+static const unsigned int CUSTOM_COLOR_LISTVIEW_TEXT2 = Tizen::Graphics::Color32<70,70,70>::Value;
+static const unsigned int CUSTOM_COLOR_SETTINGS_TEXT = Tizen::Graphics::Color32<128, 128, 128>::Value;
+static const unsigned int CUSTOM_COLOR_SETTINGS_LISTITEM_BACKGROUND = Tizen::Graphics::Color32<248, 246, 239>::Value;
+static const unsigned int CUSTOM_COLOR_SETTINGS_LISTITEM_RADIO_BACKGROUND = Tizen::Graphics::Color32<220, 218, 211>::Value;
+static const unsigned int CUSTOM_COLOR_SETTINGS_GROUPTITLE = Tizen::Graphics::Color32<59, 115, 182>::Value;
+static const int ALBUM_FIRST_ELEMENT = 0;
+static const int ALBUM_SECOND_ELEMENT = 1;
+
+#endif /* _GL_TYPES_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlVideoListEditorPanel.h
+ * @brief This is the header file for VideoListEditorPanel class.
+ */
+
+#ifndef _GL_VIDEO_LIST_EDITOR_PANEL_H_
+#define _GL_VIDEO_LIST_EDITOR_PANEL_H_
+
+#include <FUi.h>
+#include "GlAlbumEventListener.h"
+#include "GlFileOpInvalidateListener.h"
+
+class FileListEditorForm;
+class FileUpdateTimer;
+
+class VideoListEditorPanel
+ : public IAlbumEventListener
+ , public IFileOpInvalidateListener
+ , public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Controls::IListViewItemEventListener
+ , public Tizen::Ui::Controls::IListViewItemProvider
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ VideoListEditorPanel(void);
+ virtual ~VideoListEditorPanel(void);
+
+ result Initialize(void);
+
+ void OnSelectAllPressed(void);
+ void OnRequestAppExitWithMultipleSelectionAppControlResult(void);
+ int GetItemCheckedCount(void) const;
+ void SetButtonState(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId,
+ Tizen::Ui::Controls::ListItemStatus status);
+ virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index,
+ Tizen::Ui::Controls::SweepDirection direction){};
+ virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index,
+ int elementId, Tizen::Ui::Controls::ListContextItemStatus status){};
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId);
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+ virtual void OnFileOpInvalidate(enum FileActionMode actionId);
+ virtual void OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes){};
+ virtual void OnScanDirStart(){}
+ virtual void OnScanDirComplete(){}
+
+ void ChangeOrientation(void);
+
+private:
+ Tizen::Base::Collection::IList* GetItemCheckedIndexListN(void) const;
+
+private:
+ Tizen::Ui::Controls::ListView* __pContentIconListView;
+ Tizen::Ui::Controls::CheckButton* __pCheckButton;
+ Tizen::Ui::Controls::Label* __pLabelSelectCnt;
+ int __itemCount;
+ FileListPresentationModel* __pPresentationModel;
+ FileUpdateTimer* __pFileDelete;
+ FileListEditorForm* __pFileListEditorForm;
+};
+
+#endif /* _GL_VIDEO_LIST_EDITOR_PANEL_H_ */
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlVideoListPanel.h
+ * @brief This is the header file for VideoListPanel class.
+ */
+
+#ifndef _GL_VIDEO_LIST_PANEL_H_
+#define _GL_VIDEO_LIST_PANEL_H_
+
+#include "GlAlbumEventListener.h"
+
+class FileListPresentationModel;
+
+class VideoListPanel
+ : public IAlbumEventListener
+ , public Tizen::Ui::Controls::IListViewItemEventListener
+ , public Tizen::Ui::Controls::IListViewItemProvider
+ , public Tizen::Ui::Controls::Panel
+ , public Tizen::Ui::Scenes::ISceneEventListener
+{
+public:
+ VideoListPanel(void);
+ virtual ~VideoListPanel(void);
+ result Initialize(void);
+
+ virtual result OnInitializing(void);
+ virtual result OnTerminating(void);
+
+ virtual void OnListViewItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index, int elementId,
+ Tizen::Ui::Controls::ListItemStatus status);
+ virtual void OnListViewItemSwept(Tizen::Ui::Controls::ListView& listView, int index,
+ Tizen::Ui::Controls::SweepDirection direction){};
+ virtual void OnListViewContextItemStateChanged(Tizen::Ui::Controls::ListView& listView, int index,
+ int elementId, Tizen::Ui::Controls::ListContextItemStatus status){};
+
+ virtual int GetItemCount(void);
+ virtual Tizen::Ui::Controls::ListItemBase* CreateItem(int index, int itemWidth);
+ virtual bool DeleteItem(int index, Tizen::Ui::Controls::ListItemBase* pItem, int itemWidth);
+
+ virtual void OnSceneActivatedN(const Tizen::Ui::Scenes::SceneId& previousSceneId,
+ const Tizen::Ui::Scenes::SceneId& currentSceneId, Tizen::Base::Collection::IList* pArgs);
+ virtual void OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
+ const Tizen::Ui::Scenes::SceneId& nextSceneId){};
+
+ virtual void OnFileInfoChanged(const Tizen::Content::ContentType contentType);
+ virtual void OnThumbnailDecoded(const int index);
+
+private:
+ int __itemCount;
+ Tizen::Ui::Controls::ListView* __pContentListView;
+ FileListPresentationModel* __pPresentationModel;
+};
+
+#endif /* _GL_VIDEO_LIST_PANEL_H_ */
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<Manifest xmlns="http://schemas.tizen.org/2012/12/manifest">
+ <Id>ijudt7w61q</Id>
+ <Version>1.0.0</Version>
+ <Type>C++App</Type>
+ <Requirements>
+ <Feature Name="http://tizen.org/feature/platform.core.cpu.arch.armv7">true</Feature>
+ <Feature Name="http://tizen.org/feature/platform.core.fpu.arch.vfpv3">true</Feature>
+ </Requirements>
+ <Apps>
+ <ApiVersion>2.2</ApiVersion>
+ <Privileges>
+ <Privilege>http://tizen.org/privilege/content.read</Privilege>
+ <Privilege>http://tizen.org/privilege/application.launch</Privilege>
+ <Privilege>http://tizen.org/privilege/content.write</Privilege>
+ </Privileges>
+ <UiApp Main="True" MenuIconVisible="True" Name="Gallery" SubMode="True">
+ <UiScalability BaseScreenSize="Normal" CoordinateSystem="Logical" LogicalCoordinate="720"/>
+ <UiTheme SystemTheme="White"/>
+ <DisplayNames>
+ <DisplayName Locale="ara-AE">استوديو</DisplayName>
+ <DisplayName Locale="aze-AZ">Qalereya</DisplayName>
+ <DisplayName Locale="bul-BG">Галерия</DisplayName>
+ <DisplayName Locale="cat-ES">Galeria</DisplayName>
+ <DisplayName Locale="ces-CZ">Galerie</DisplayName>
+ <DisplayName Locale="dan-DK">Galleri</DisplayName>
+ <DisplayName Locale="deu-DE">Galerie</DisplayName>
+ <DisplayName Locale="ell-GR">Συλλογή</DisplayName>
+ <DisplayName Locale="eng-GB">Gallery</DisplayName>
+ <DisplayName Locale="eng-PH">Gallery</DisplayName>
+ <DisplayName Locale="eng-US">Gallery</DisplayName>
+ <DisplayName Locale="est-EE">Galerii</DisplayName>
+ <DisplayName Locale="eus-ES">Galeria</DisplayName>
+ <DisplayName Locale="fas-AF">گالری</DisplayName>
+ <DisplayName Locale="fin-FI">Galleria</DisplayName>
+ <DisplayName Locale="fra-CA">Galerie</DisplayName>
+ <DisplayName Locale="fra-FR">Galerie</DisplayName>
+ <DisplayName Locale="gle-IE">Gailearaí</DisplayName>
+ <DisplayName Locale="glg-ES">Galería</DisplayName>
+ <DisplayName Locale="hin-IN">गैलरी</DisplayName>
+ <DisplayName Locale="hrv-HR">Album</DisplayName>
+ <DisplayName Locale="hun-HU">Galéria</DisplayName>
+ <DisplayName Locale="hye-AM">Պատկերասրահ</DisplayName>
+ <DisplayName Locale="isl-IS">Gallerí</DisplayName>
+ <DisplayName Locale="ita-IT">Galleria</DisplayName>
+ <DisplayName Locale="jpn-JP">ギャラリー</DisplayName>
+ <DisplayName Locale="kat-GE">გალერეა</DisplayName>
+ <DisplayName Locale="kaz-KZ">Галерея</DisplayName>
+ <DisplayName Locale="kor-KR">갤러리</DisplayName>
+ <DisplayName Locale="lav-LV">Galerija</DisplayName>
+ <DisplayName Locale="lit-LT">Galerija</DisplayName>
+ <DisplayName Locale="mkd-MK">Галерија</DisplayName>
+ <DisplayName Locale="nld-NL">Galerij</DisplayName>
+ <DisplayName Locale="nob-NO">Galleri</DisplayName>
+ <DisplayName Locale="pol-PL">Galeria</DisplayName>
+ <DisplayName Locale="por-BR">Galeria</DisplayName>
+ <DisplayName Locale="por-PT">Galeria</DisplayName>
+ <DisplayName Locale="ron-RO">Galerie</DisplayName>
+ <DisplayName Locale="rus-RU">Галерея</DisplayName>
+ <DisplayName Locale="slk-SK">Galéria</DisplayName>
+ <DisplayName Locale="slv-SI">Galerija</DisplayName>
+ <DisplayName Locale="spa-ES">Galería</DisplayName>
+ <DisplayName Locale="spa-MX">Galería</DisplayName>
+ <DisplayName Locale="srp-RS">Galerija</DisplayName>
+ <DisplayName Locale="swe-SE">Galleri</DisplayName>
+ <DisplayName Locale="tha-TH">แกลเลอรี่</DisplayName>
+ <DisplayName Locale="tur-TR">Galeri</DisplayName>
+ <DisplayName Locale="ukr-UA">Галерея</DisplayName>
+ <DisplayName Locale="urd-IN">گیلری</DisplayName>
+ <DisplayName Locale="uzb-UZ">Galereya</DisplayName>
+ <DisplayName Locale="zho-CN">图库</DisplayName>
+ <DisplayName Locale="zho-HK">媒體瀏覽器</DisplayName>
+ <DisplayName Locale="zho-SG">画廊</DisplayName>
+ <DisplayName Locale="zho-TW">媒體瀏覽器</DisplayName>
+ </DisplayNames>
+ <Icons>
+ <Icon Section="MainMenu" Type="Xhigh">mainmenu.png</Icon>
+ </Icons>
+ <AppControls>
+ <AppControl>
+ <MimeType>image/*</MimeType>
+ <MimeType>video/*</MimeType>
+ <Operation>http://tizen.org/appcontrol/operation/pick</Operation>
+ </AppControl>
+ <AppControl>
+ <Operation>http://tizen.org/appcontrol/operation/Configure</Operation>
+ </AppControl>
+ </AppControls>
+ <LaunchConditions/>
+ </UiApp>
+ </Apps>
+</Manifest>
--- /dev/null
+Name: apps.Gallery
+Summary: Gallery application
+Version: 1.0.1
+Release: 1
+Group: TO_BE/FILLED_IN
+License: Flora-1.1
+Source0: %{name}-%{version}.tar.gz
+BuildRequires: cmake
+BuildRequires: pkgconfig(osp-appfw)
+BuildRequires: pkgconfig(osp-content)
+BuildRequires: pkgconfig(osp-image)
+BuildRequires: pkgconfig(osp-image-core)
+BuildRequires: pkgconfig(osp-locations)
+BuildRequires: pkgconfig(osp-media)
+BuildRequires: pkgconfig(osp-net)
+BuildRequires: pkgconfig(osp-uifw)
+BuildRequires: osp-appfw-internal-devel
+BuildRequires: osp-image-internal-devel
+BuildRequires: osp-media-internal-devel
+BuildRequires: osp-net-internal-devel
+BuildRequires: osp-uifw-internal-devel
+BuildRequires: hash-signer
+
+Requires: osp-installer
+
+%description
+Verification application: Gallery
+
+%prep
+%setup -q
+
+%build
+MAJORVER=`echo %{version} | awk 'BEGIN {FS="."}{print $1}'`
+%ifarch %{ix86}
+%if 0%{?simulator}
+CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ -D_OSP_EMUL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%else
+CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_X86_ " cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%endif
+%else
+CXXFLAGS="$CXXFLAGS -D_OSP_DEBUG_ -D_OSP_ARMEL_" cmake . -DCMAKE_INSTALL_PREFIX=%{_prefix} -DFULLVER=%{version} -DMAJORVER=${MAJORVER}
+%endif
+
+# Call make instruction with smp support
+make %{?jobs:-j%jobs}
+
+%install
+rm -rf %{buildroot}
+mkdir -p %{buildroot}/usr/share/license
+cp LICENSE.Flora %{buildroot}/usr/share/license/%{name}
+%make_install
+###### for package signing step ######
+PKG_ID=ijudt7w61q
+%define tizen_sign 1
+%define tizen_sign_base /usr/apps/${PKG_ID}
+%define tizen_sign_level platform
+%define tizen_author_sign 1
+%define tizen_dist_sign 1
+
+
+%post
+/sbin/ldconfig
+PKG_ID=ijudt7w61q
+echo "/usr/etc/package-manager/backend/tpk -i /usr/apps/"${PKG_ID}
+/usr/etc/package-manager/backend/tpk -i /usr/apps/${PKG_ID}
+cp -f /usr/lib/osp/osp-ui-app-loader /usr/apps/${PKG_ID}/bin/Gallery
+
+%postun
+/sbin/ldconfig
+PKG_ID=ijudt7w61q
+echo "/usr/etc/package-manager/backend/tpk -u "${PKG_ID}
+/usr/etc/package-manager/backend/tpk -u ${PKG_ID}
+
+%files
+%defattr(-,root,root,-)
+/usr/apps/*
+/usr/share/license/%{name}
+
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">تم الوصول إلى أقصى عدد من الحروف</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">عرض الصور</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">تم تجاوز الحد الأقصى لعدد الملفات</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">إعدادات عرض الشرائح</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">اختيار الكل</text>
+ <text id="IDS_COM_POP_DELETE_Q">مسح؟</text>
+ <text id="IDS_COM_BODY_EDIT">تعديل</text>
+ <text id="IDS_COM_BODY_MESSAGE">رسالة</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">ملفات محملة</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">اسم الألبوم مستخدم بالفعل</text>
+ <text id="IDS_COM_OPT_SAVE">حفظ</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 ثانية</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">التفعيل</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">تدوير لليسار</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">ثانيتان</text>
+ <text id="IDS_COM_BODY_MESSAGES">الرسائل</text>
+ <text id="IDS_COM_SK_DONE">تمت</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">غير قادر على تغيير الاسم. جاري استخدام الملف</text>
+ <text id="IDS_COM_BODY_EMAIL">بريد إلكتروني</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">أحرف غير صالحة</text>
+ <text id="IDS_COM_POP_MOVED">تم النقل</text>
+ <text id="IDS_COM_POP_CANCEL">إلغاء</text>
+ <text id="IDS_COM_BODY_SELECTED">محدد</text>
+ <text id="IDS_COM_BODY_DELETE">مسح</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">الترجمات المصاحبة</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">إلغاء</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">تم بلوغ أقصى عدد من الأحرف (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">تم بلوغ أقصى عدد من الأحرف (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">عرض شرائح</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">شرائح</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">بدء عرض الشرائح</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s موجود بالفعل</text>
+ <text id="IDS_COM_BODY_LOADING">جاري التحميل ...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">الألبومات</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">يتعذر إعادة التسمية. اسم الألبوم مستخدم بالفعل</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">فشلت العملية</text>
+ <text id="IDS_COM_POP_SAVING_ING">جاري الحفظ...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">تأثير الانتقال</text>
+ <text id="IDS_COM_BODY_MUSIC">الموسيقى</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">تم تحديد %d عناصر</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">إنشاء مجلد؟</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">فشل المسح</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">تم تحديد عنصر واحد</text>
+ <text id="IDS_COM_BODY_VIDEO">فيديو</text>
+ <text id="IDS_IV_OPT_ZOOM">زوم</text>
+ <text id="IDS_COM_BODY_COPY">نسخ</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">قوس قزح</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">فاصل عرض الشرائح</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">مشغل فيديو</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">عرض الشرائح</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">ثوان</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">تدوير لليسار</text>
+ <text id="IDS_EBOOK_BODY_PAGE">الصفحة</text>
+ <text id="IDS_COM_POP_COPYING_ING">جاري النسخ...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 ثوان</text>
+ <text id="IDS_COM_POP_PROCESSING">جاري المعالجة...</text>
+ <text id="IDS_COM_BODY_GALLERY">استوديو</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">لا يوجد اسم</text>
+ <text id="IDS_COM_BODY_IMAGES">الصور</text>
+ <text id="IDS_MEDIABR_BODY_FADE">التلاشي التدريجي</text>
+ <text id="IDS_COM_HEADER_EDIT">تعديل</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 ثوان</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">لم يتم اختيار عناصر</text>
+ <text id="IDS_COM_POP_DELETED">تم المسح</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">حذف؟</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">موجود بالفعل. هل تريد الاستبدال؟</text>
+ <text id="IDS_COM_POP_DELETING">جاري المسح...</text>
+ <text id="IDS_COM_POP_DONE">تمت</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 ثوان</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">ملفات الكاميرا</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">تدوير لليمين</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">تكرار</text>
+ <text id="IDS_COM_POP_SAVED">تم الحفظ</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">إذابة</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">الخلط</text>
+ <text id="IDS_COM_POP_MOVING">جاري النقل...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">فشل النقل</text>
+ <text id="IDS_COM_BODY_VIDEOS">الفيديو</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">نوع ملفات غير مدعم</text>
+ <text id="IDS_COM_BODY_RENAME">تغيير الاسم</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">تمت</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">تحديد الكل</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">كافة الألبومات</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">تغييرالاسم</text>
+ <text id="IDS_COM_BODY_MOVE">نقل</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">لا يمكن المسح</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">تدوير لليمين</text>
+ <text id="IDS_IV_BODY_INTERVAL">الفترة</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">موجود مسبقا</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">إنشاء ألبوم</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">لا توجد عناصر</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">إخفاء</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">فشل الحفظ</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Simvol sayı maksimuma çatıb</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slayd göstərmə</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Faylların sayı maksimumu keçib</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slaydşou parametrləri</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Hamısını seç</text>
+ <text id="IDS_COM_POP_DELETE_Q">Silinsin?</text>
+ <text id="IDS_COM_BODY_EDIT">Redaktə et</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mesaj</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Yükləmələr</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albom adı artıq ist.edilir</text>
+ <text id="IDS_COM_OPT_SAVE">Yaddaşa yaz</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 saniyə</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivləşdirmə</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Sola döndər</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 saniyə</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mesajlar</text>
+ <text id="IDS_COM_SK_DONE">Bitdi</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Yenidən adlandırmaq mümkün deyildir</text>
+ <text id="IDS_COM_BODY_EMAIL">Elektron poçtlar</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Simvollar səhvdir</text>
+ <text id="IDS_COM_POP_MOVED">Göndərildi</text>
+ <text id="IDS_COM_POP_CANCEL">Ləğv et</text>
+ <text id="IDS_COM_BODY_SELECTED">Seçilmişi</text>
+ <text id="IDS_COM_BODY_DELETE">Sil</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Yarımbaşlıqlar</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Ləğv et</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Simvolların sayı maksimuma (%d) çatıb</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Simvolların sayı maksimuma (%d) çatıb</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slyd nmyşi</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slayd</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Slayd nümayişini dayandır</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s hazırda mövcuddur</text>
+ <text id="IDS_COM_BODY_LOADING">Yüklənir...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albomlar</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Yenidən adlandırmaq mümkün deyil. Albom adı artıq istifadə edilir</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Əməliyyat alınmadı</text>
+ <text id="IDS_COM_POP_SAVING_ING">Yaddaşa yazılma</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Keçid effekti</text>
+ <text id="IDS_COM_BODY_MUSIC">Musiqi</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d element seçildi</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Qovluq yaradılsın?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Silmək mümkün olmadı</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 element seçildi</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Yaxınlaşdırma/uzaqlaşdırma</text>
+ <text id="IDS_COM_BODY_COPY">Köçür</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Diafraqma</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slaydşou intervalı</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video pleyer</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slaydşou</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">Saniyələr</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Sola döndər</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Səhifə</text>
+ <text id="IDS_COM_POP_COPYING_ING">Köçürülmə...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 saniyə</text>
+ <text id="IDS_COM_POP_PROCESSING">Emal edilir...</text>
+ <text id="IDS_COM_BODY_GALLERY">Qalereya</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Ad yoxdur</text>
+ <text id="IDS_COM_BODY_IMAGES">Təsvirlər</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Tutqunlaşdır</text>
+ <text id="IDS_COM_HEADER_EDIT">Redaktə et</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 saniyə</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Heç bir element seçilməyib</text>
+ <text id="IDS_COM_POP_DELETED">Silindi</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Silinsin?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Artıq mövcuddur. Üzərindən yazılsın?</text>
+ <text id="IDS_COM_POP_DELETING">Silinmə</text>
+ <text id="IDS_COM_POP_DONE">Yerinə yetirildi</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 saniyə</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamera çarxı</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Sağa döndər</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Təkrar et</text>
+ <text id="IDS_COM_POP_SAVED">Yaddaşa yazıldı</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Seç</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Təsadüfi sıralama</text>
+ <text id="IDS_COM_POP_MOVING">Göndərilmə...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Keçmə alınmadı</text>
+ <text id="IDS_COM_BODY_VIDEOS">Video</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Dəstəklənməyən fayl növü</text>
+ <text id="IDS_COM_BODY_RENAME">Adını dəyişdir</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Tamamlandı</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Hamsnı seç</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Bütün albomlar</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Adı dəyişdir</text>
+ <text id="IDS_COM_BODY_MOVE">Göndər</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Silmək mümkün deyil</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Sağa döndər</text>
+ <text id="IDS_IV_BODY_INTERVAL">İnterval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Artıq var</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Albom yaradın</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Elementlər yoxdur</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Sayrışmaq</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Yaddaşa yazmaq mümkün olmadı</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Достигнат максимален брой знаци</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Слайдшоу</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Надхвърлен е максималният брой файлове</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Настройки на слайдшоу</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Избери всички</text>
+ <text id="IDS_COM_POP_DELETE_Q">Изтриване?</text>
+ <text id="IDS_COM_BODY_EDIT">Редактиране</text>
+ <text id="IDS_COM_BODY_MESSAGE">Съобщение</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Изтеглени файлове</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Име на албума вече се изп.</text>
+ <text id="IDS_COM_OPT_SAVE">Запис</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 секунди</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Активиране</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Завъртане наляво</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 секунди</text>
+ <text id="IDS_COM_BODY_MESSAGES">Съобщения</text>
+ <text id="IDS_COM_SK_DONE">Готово</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Не може да се преименува</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Невалидни знаци</text>
+ <text id="IDS_COM_POP_MOVED">Преместено</text>
+ <text id="IDS_COM_POP_CANCEL">Отказ</text>
+ <text id="IDS_COM_BODY_SELECTED">Избрани</text>
+ <text id="IDS_COM_BODY_DELETE">Изтриване</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Субтитри</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Отказ</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Достигнат е максималният брой знаци (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Достигнат е максималният брой знаци (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Слайдшоу</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Слайд</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Започване на слайдшоу</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s вече съществува</text>
+ <text id="IDS_COM_BODY_LOADING">Зареждане</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Албуми</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Не може да се преименува. Името на албума вече се използва</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Операцията е неуспешна</text>
+ <text id="IDS_COM_POP_SAVING_ING">Запазване</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Ефект на преход</text>
+ <text id="IDS_COM_BODY_MUSIC">Музика</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Избрани са %d елемента</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Създаване на папка?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Неуспешно изтриване</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Избран е 1 елемент</text>
+ <text id="IDS_COM_BODY_VIDEO">Видеоклип</text>
+ <text id="IDS_IV_OPT_ZOOM">Зум</text>
+ <text id="IDS_COM_BODY_COPY">Копиране</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Ирис</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Интервал на слайдшоуто</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Видео плейър</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Слайдшоу</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">секунди</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Завъртане наляво</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Страница</text>
+ <text id="IDS_COM_POP_COPYING_ING">Копиране...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 секунди</text>
+ <text id="IDS_COM_POP_PROCESSING">Обработване...</text>
+ <text id="IDS_COM_BODY_GALLERY">Галерия</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Без име</text>
+ <text id="IDS_COM_BODY_IMAGES">Изображения</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Избледняване</text>
+ <text id="IDS_COM_HEADER_EDIT">Редактиране</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 секунди</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Няма избрани елементи</text>
+ <text id="IDS_COM_POP_DELETED">Изтрито</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Премахване?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Вече съществува. Презапис?</text>
+ <text id="IDS_COM_POP_DELETING">Изтриване...</text>
+ <text id="IDS_COM_POP_DONE">Готово</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 секунди</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Материал камера</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Завъртане надясно</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Повтаряне</text>
+ <text id="IDS_COM_POP_SAVED">Записан</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Размиване</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Разбъркано</text>
+ <text id="IDS_COM_POP_MOVING">Преместване</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Неуспешно преместване</text>
+ <text id="IDS_COM_BODY_VIDEOS">Видеоклипове</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Неподдържан вид файл</text>
+ <text id="IDS_COM_BODY_RENAME">Преименуване</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Завършено</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Изб.всички</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Всички албуми</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Промяна на име</text>
+ <text id="IDS_COM_BODY_MOVE">Премести</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Невъзможно изтриване</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Завъртане надясно</text>
+ <text id="IDS_IV_BODY_INTERVAL">Интервал</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Вече съществува</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Създаване на албум</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Няма елементи</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Щори</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Запазване неуспешно</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">S'ha assolit el nombre màxim de caràcters</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Presentació de diapositives</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">S'ha excedit el nombre màxim de fitxers</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Ajustaments de la presentació de diapositives</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Seleccioni-ho tot</text>
+ <text id="IDS_COM_POP_DELETE_Q">Esborrar?</text>
+ <text id="IDS_COM_BODY_EDIT">Editar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Missatge</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Descàrregues</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nom d'àlbum ja en ús</text>
+ <text id="IDS_COM_OPT_SAVE">Desar</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segons</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activació</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Girar cap a l'esquerra</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segons</text>
+ <text id="IDS_COM_BODY_MESSAGES">Missatges</text>
+ <text id="IDS_COM_SK_DONE">Finalit.</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">No es pot canviar nom</text>
+ <text id="IDS_COM_BODY_EMAIL">Correu electrònic</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caràcters no vàlids</text>
+ <text id="IDS_COM_POP_MOVED">Mogut</text>
+ <text id="IDS_COM_POP_CANCEL">Cancel·lar</text>
+ <text id="IDS_COM_BODY_SELECTED">Seleccionat</text>
+ <text id="IDS_COM_BODY_DELETE">Esborrar</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtítols</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancel·lar</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">S'ha assolit el nombre màxim de caràcters (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">S'ha assolit el nombre màxim de caràcters (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diaposit</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Diapositiva</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Iniciar presentació de diapositives</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s ja existeix</text>
+ <text id="IDS_COM_BODY_LOADING">Carregant...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Àlbums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">No es pot canviar el nom. El nom d'àlbum ja està en ús</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operació fallida</text>
+ <text id="IDS_COM_POP_SAVING_ING">Desant...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efecte de transició</text>
+ <text id="IDS_COM_BODY_MUSIC">Música</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elements seleccionats</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Crear carpeta?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Error en esborrar</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 element seleccionat</text>
+ <text id="IDS_COM_BODY_VIDEO">Vídeo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copiar</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval de la presentació de diapositives</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Reproductor de vídeo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Presentació de diapositives</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segons</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Girar cap a l'esquerra</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Pàgina</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copiant...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segons</text>
+ <text id="IDS_COM_POP_PROCESSING">Processant...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galeria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Sense nom</text>
+ <text id="IDS_COM_BODY_IMAGES">Imatges</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Perdre intensitat</text>
+ <text id="IDS_COM_HEADER_EDIT">Editar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segons</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">No s'ha seleccionat cap element</text>
+ <text id="IDS_COM_POP_DELETED">Esborrat</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Eliminar?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Ja existeix. Sobreescriure?</text>
+ <text id="IDS_COM_POP_DELETING">Esborrant...</text>
+ <text id="IDS_COM_POP_DONE">Finalitzat</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segons</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Rodet càmera</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Girar cap a la dreta</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetir</text>
+ <text id="IDS_COM_POP_SAVED">Desat</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissoldre</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Ordre aleatori</text>
+ <text id="IDS_COM_POP_MOVING">Movent...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Error en moure</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vídeos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipus de fitxer no admès</text>
+ <text id="IDS_COM_BODY_RENAME">Canviar nom</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Completat</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Selec tot</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Tots els àlbums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Canviar nom</text>
+ <text id="IDS_COM_BODY_MOVE">Moure</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">No es pot esborrar</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Girar cap a la dreta</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Ja existeix</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Crear àlbum</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">No hi ha elements</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Persiana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Error en desar</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Bylo dosaženo maximálního počtu znaků</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Prezentace</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Byl překročen maximální počet souborů</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Nastavení prezentace</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Vybrat vše</text>
+ <text id="IDS_COM_POP_DELETE_Q">Odstranit?</text>
+ <text id="IDS_COM_BODY_EDIT">Upravit</text>
+ <text id="IDS_COM_BODY_MESSAGE">Zpráva</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Stažené položky</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Název alba je již použit</text>
+ <text id="IDS_COM_OPT_SAVE">Uložit</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekund</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivace</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Otočit doleva</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekund</text>
+ <text id="IDS_COM_BODY_MESSAGES">Zprávy</text>
+ <text id="IDS_COM_SK_DONE">Hotovo</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nelze přejmenovat</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Neplatné znaky</text>
+ <text id="IDS_COM_POP_MOVED">Přesunuto</text>
+ <text id="IDS_COM_POP_CANCEL">Zrušit</text>
+ <text id="IDS_COM_BODY_SELECTED">Vybráno</text>
+ <text id="IDS_COM_BODY_DELETE">Odstranit</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Titulky</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Zrušit</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Bylo dosaženo maximálního počtu znaků (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Bylo dosaženo maximálního počtu znaků (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Prezent.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Sklouznutí</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Spustit prezentaci</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s již existuje</text>
+ <text id="IDS_COM_BODY_LOADING">Nahrávám...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Alba</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nelze přejmenovat. Název alba je již použit</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Otevření se nezdařilo</text>
+ <text id="IDS_COM_POP_SAVING_ING">Ukládání...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Přechodový efekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Hudba</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Vybrané položky: %d</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Chcete vytvořit složku?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Odstranění se nezdařilo</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Byla vybrána 1 položka</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Přiblížení</text>
+ <text id="IDS_COM_BODY_COPY">Kopírovat</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Duha</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval prezentace</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videopřeh.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Prezentace</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekundy</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Otočit doleva</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Stránka</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopírování...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekund</text>
+ <text id="IDS_COM_POP_PROCESSING">Probíhá zpracování...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerie</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Žádný název</text>
+ <text id="IDS_COM_BODY_IMAGES">Obrázky</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Zvolna mizet</text>
+ <text id="IDS_COM_HEADER_EDIT">Upravit</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekund</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nejsou vybrány žádné položky</text>
+ <text id="IDS_COM_POP_DELETED">Odstraněno</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Odstranit?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Již existuje. Přepsat?</text>
+ <text id="IDS_COM_POP_DELETING">Odstraňování...</text>
+ <text id="IDS_COM_POP_DONE">Hotovo</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekundy</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Soubory z fot.</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Otočit doprava</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Opakovat</text>
+ <text id="IDS_COM_POP_SAVED">Uloženo</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Rozplynout</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Náhodně</text>
+ <text id="IDS_COM_POP_MOVING">Probíhá přesouvání</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Přesunutí se nezdařilo</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videa</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nepodporovaný typ souboru</text>
+ <text id="IDS_COM_BODY_RENAME">Přejmenovat</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Dokončeno</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Vybrat vše</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Všechna alba</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Změnit název</text>
+ <text id="IDS_COM_BODY_MOVE">Přesunout</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Nelze odstranit</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Otočit doprava</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Již existuje</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Vytvořit album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Žádné položky</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Roleta</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Uložení se nezdařilo</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Det maksimale antal tegn er nået</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diasshow</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Det maksimale antal filer er overskredet</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Indstillinger for diasshow</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Vælg alle</text>
+ <text id="IDS_COM_POP_DELETE_Q">Slet?</text>
+ <text id="IDS_COM_BODY_EDIT">Redigér</text>
+ <text id="IDS_COM_BODY_MESSAGE">Meddelelse</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumnavn allerede i brug</text>
+ <text id="IDS_COM_OPT_SAVE">Gem</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekunder</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivering</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotér mod uret</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekunder</text>
+ <text id="IDS_COM_BODY_MESSAGES">Meddelelser</text>
+ <text id="IDS_COM_SK_DONE">Udført</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Kunne ikke omdøbe</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Ugyldige tegn</text>
+ <text id="IDS_COM_POP_MOVED">Flyttet</text>
+ <text id="IDS_COM_POP_CANCEL">Annullér</text>
+ <text id="IDS_COM_BODY_SELECTED">Valgte</text>
+ <text id="IDS_COM_BODY_DELETE">Slet</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Undertekster</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Annullér</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Det maksimale antal tegn (%d) er nået</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Det maksimale antal tegn (%d) er nået</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diasshow</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Dias</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Start diasshow</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s eksisterer allerede</text>
+ <text id="IDS_COM_BODY_LOADING">Indlæser data ...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Kan ikke omdøbe. Albumnavn allerede i brug</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Handlingen mislykkedes</text>
+ <text id="IDS_COM_POP_SAVING_ING">Gemmer ...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Overgangseffekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Musik</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementer valgt</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Opret mappe?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Sletning mislykkedes</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 element valgt</text>
+ <text id="IDS_COM_BODY_VIDEO">Videoklip</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Kopiér</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval for diasshow</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videoafspiller</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diasshow</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekunder</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotér mod uret</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Side</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopierer ...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekunder</text>
+ <text id="IDS_COM_POP_PROCESSING">Behandler ...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galleri</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Intet navn</text>
+ <text id="IDS_COM_BODY_IMAGES">Billeder</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Tone ud</text>
+ <text id="IDS_COM_HEADER_EDIT">Redigér</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekunder</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ingen valgte elementer</text>
+ <text id="IDS_COM_POP_DELETED">Slettet</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Fjern?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Findes allerede. Vil du overskrive?</text>
+ <text id="IDS_COM_POP_DELETING">Sletter ...</text>
+ <text id="IDS_COM_POP_DONE">Udført</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekunder</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamerarolle</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotér med uret</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Gentag</text>
+ <text id="IDS_COM_POP_SAVED">Gemt</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Opløs</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Bland</text>
+ <text id="IDS_COM_POP_MOVING">Flytter ...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Flytning mislykkedes</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videoklip</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Filtypen understøttes ikke</text>
+ <text id="IDS_COM_BODY_RENAME">Omdøb</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Udført</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Vælg alle</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Alle album</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Skift navn</text>
+ <text id="IDS_COM_BODY_MOVE">Flyt</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Kunne ikke slette</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotér med uret</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Findes allerede</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Opret album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Ingen elementer</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Afblænd</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Kunne ikke gemme</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maximal zulässige Zeichenanzahl erreicht.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diashow</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maximale Anzahl an Dateien überschritten.</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Diashoweinstellungen</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Alle auswählen</text>
+ <text id="IDS_COM_POP_DELETE_Q">Löschen?</text>
+ <text id="IDS_COM_BODY_EDIT">Bearbeiten</text>
+ <text id="IDS_COM_BODY_MESSAGE">Nachricht</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumn. wird bereits verw.</text>
+ <text id="IDS_COM_OPT_SAVE">Speichern</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 Sekunden</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivierung</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Nach links drehen</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 Sekunden</text>
+ <text id="IDS_COM_BODY_MESSAGES">Nachrichten</text>
+ <text id="IDS_COM_SK_DONE">OK</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Umbenennen nicht möglich</text>
+ <text id="IDS_COM_BODY_EMAIL">E-Mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Ungültige Zeichen</text>
+ <text id="IDS_COM_POP_MOVED">Verschoben</text>
+ <text id="IDS_COM_POP_CANCEL">Abbrechen</text>
+ <text id="IDS_COM_BODY_SELECTED">Ausgewählt</text>
+ <text id="IDS_COM_BODY_DELETE">Löschen</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Untertitel</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Abbrechen</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximale Anzahl an Zeichen (%d) erreicht.</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximale Anzahl an Zeichen (%d) erreicht.</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diashow</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Gleiten</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Diashow starten</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s ist bereits vorhanden</text>
+ <text id="IDS_COM_BODY_LOADING">Lädt...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Alben</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Umbenennen nicht möglich. Albumname wird bereits verwendet</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Vorgang fehlgeschlagen</text>
+ <text id="IDS_COM_POP_SAVING_ING">Speichern...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Übergangseffekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Musik</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d Elemente ausgewählt</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Ordner erstellen?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Löschen fehlgeschlagen</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 Element ausgewählt</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Kopieren</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Diashowintervall</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video-Player</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diashow</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">Sekunden</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Nach links drehen</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Seite</text>
+ <text id="IDS_COM_POP_COPYING_ING">Wird kopiert...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 Sekunden</text>
+ <text id="IDS_COM_POP_PROCESSING">Verarbeitung läuft ...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerie</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Kein Name</text>
+ <text id="IDS_COM_BODY_IMAGES">Eigene Bilder</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Ausblenden</text>
+ <text id="IDS_COM_HEADER_EDIT">Bearbeiten</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 Sekunden</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Keine Elemente ausgewählt</text>
+ <text id="IDS_COM_POP_DELETED">Gelöscht</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Entfernen?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Bereits vorhanden. Überschreiben?</text>
+ <text id="IDS_COM_POP_DELETING">Löschen...</text>
+ <text id="IDS_COM_POP_DONE">OK</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 Sekunden</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Filmrolle</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Nach rechts drehen</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Wiederholen</text>
+ <text id="IDS_COM_POP_SAVED">Gespeichert</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Auflösen</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Zufallswiedergabe</text>
+ <text id="IDS_COM_POP_MOVING">Verschiebevorgang aktiv...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Verschieben fehlgeschlagen</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Dateityp nicht unterstützt</text>
+ <text id="IDS_COM_BODY_RENAME">Umbenennen</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Abgeschlossen</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Alle ausw.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Alle Alben</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Name ändern</text>
+ <text id="IDS_COM_BODY_MOVE">Verschieben</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Kann nicht gelöscht werden</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Nach rechts drehen</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervall</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Bereits vorhanden</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Album erstellen</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Keine Elemente</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Blenden</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Speichern fehlgeschlagen</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Ο μέγιστος αριθμός χαρακτήρων συμπληρώθηκε</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Παρουσίαση</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Έγινε υπέρβαση του μέγιστου αριθμού αρχείων</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Ρυθμίσεις παρουσίασης</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Επιλογή όλων</text>
+ <text id="IDS_COM_POP_DELETE_Q">Διαγραφή;</text>
+ <text id="IDS_COM_BODY_EDIT">Επεξεργασία</text>
+ <text id="IDS_COM_BODY_MESSAGE">Μήνυμα</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Λήψεις</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Το όνομα άλμπουμ χρησ. ήδη</text>
+ <text id="IDS_COM_OPT_SAVE">Αποθήκευση</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 δευτερόλεπτα</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Ενεργοποίηση</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Περιστροφή προς τα αριστερά</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 δευτερόλεπτα</text>
+ <text id="IDS_COM_BODY_MESSAGES">Μηνύματα</text>
+ <text id="IDS_COM_SK_DONE">Ok</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Δεν είναι δυνατή η μετονομασία</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Μη έγκυροι χαρακτήρες</text>
+ <text id="IDS_COM_POP_MOVED">Μετακινήθηκε</text>
+ <text id="IDS_COM_POP_CANCEL">Ακύρωση</text>
+ <text id="IDS_COM_BODY_SELECTED">Επιλεγμένο</text>
+ <text id="IDS_COM_BODY_DELETE">Διαγραφή</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Υπότιτλοι</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Ακύρωση</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Συμπληρώθηκε ο μέγιστος αριθμός χαρακτήρων (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Συμπληρώθηκε ο μέγιστος αριθμός χαρακτήρων (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Παρ/σίαση</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Διαφάνεια</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Έναρξη παρουσίασης</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">Το αρχείο %s υπάρχει ήδη</text>
+ <text id="IDS_COM_BODY_LOADING">Φόρτωση...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Άλμπουμ</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Δεν είναι δυνατή η μετονομασία. To όνομα άλμπουμ χρησιμοποιείται ήδη</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Λειτουργία απέτυχε</text>
+ <text id="IDS_COM_POP_SAVING_ING">Aποθήκευση...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Εφέ μετάβασης</text>
+ <text id="IDS_COM_BODY_MUSIC">Μουσική</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Επιλέχθηκαν %d στοιχεία</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Δημιουργία φακέλου;</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Αποτυχία διαγραφής</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Επιλέχθηκε 1 στοιχείο</text>
+ <text id="IDS_COM_BODY_VIDEO">Προσθήκη βίντεο</text>
+ <text id="IDS_IV_OPT_ZOOM">Ζουμ</text>
+ <text id="IDS_COM_BODY_COPY">Αντιγραφή</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Ίριδα</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Διάστημα παρουσίασης</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Αναπαραγωγή Βίντεο</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Παρουσίαση</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">δευτ.</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Περιστροφή προς τα αριστερά</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Σελίδα</text>
+ <text id="IDS_COM_POP_COPYING_ING">Αντιγραφή...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 δευτερόλεπτα</text>
+ <text id="IDS_COM_POP_PROCESSING">Επεξεργασία...</text>
+ <text id="IDS_COM_BODY_GALLERY">Συλλογή</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Κανένα όνομα</text>
+ <text id="IDS_COM_BODY_IMAGES">Εικόνες</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Σταδιακή εμφάνιση</text>
+ <text id="IDS_COM_HEADER_EDIT">Επεξεργασία</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 δευτερόλεπτα</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Κανένα επιλεγμένο στοιχείο</text>
+ <text id="IDS_COM_POP_DELETED">Διαγράφηκε</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Αφαίρεση;</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Υπάρχει ήδη. Αντικατάσταση;</text>
+ <text id="IDS_COM_POP_DELETING">Διαγραφή...</text>
+ <text id="IDS_COM_POP_DONE">Τέλος</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 δευτερόλεπτα</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Λήψεις με κάμερα</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Περιστροφή προς τα δεξιά</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Επανάληψη</text>
+ <text id="IDS_COM_POP_SAVED">Αποθηκεύτηκε</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Αποσύνθεση</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Τυχαία σειρά</text>
+ <text id="IDS_COM_POP_MOVING">Μετακίνηση...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Αποτυχία μετακίνησης</text>
+ <text id="IDS_COM_BODY_VIDEOS">Βίντεο</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Μη υποστηρ. τύπος αρχείου</text>
+ <text id="IDS_COM_BODY_RENAME">Μετονομασία</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Ολοκληρώθηκε</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Επιλ. όλων</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Όλα τα άλμπουμ</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Αλλαγή ονόματος</text>
+ <text id="IDS_COM_BODY_MOVE">Μετακίνηση</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Δεν είναι δυνατή η διαγραφή</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Περιστροφή προς τα δεξιά</text>
+ <text id="IDS_IV_BODY_INTERVAL">Διάστημα</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Υπάρχει ήδη</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Δημιουργία άλμπουμ</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Κανένα στοιχείο</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Ρολό</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Αποτυχία αποθήκευσης</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maximum number of characters reached</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slide show</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maximum number of files exceeded</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slideshow settings</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Select all</text>
+ <text id="IDS_COM_POP_DELETE_Q">Delete?</text>
+ <text id="IDS_COM_BODY_EDIT">Edit</text>
+ <text id="IDS_COM_BODY_MESSAGE">Message</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Album name already in use</text>
+ <text id="IDS_COM_OPT_SAVE">Save</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 seconds</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activation</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotate left</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 seconds</text>
+ <text id="IDS_COM_BODY_MESSAGES">Messages</text>
+ <text id="IDS_COM_SK_DONE">Done</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Unable to rename</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Invalid characters</text>
+ <text id="IDS_COM_POP_MOVED">Moved</text>
+ <text id="IDS_COM_POP_CANCEL">Cancel</text>
+ <text id="IDS_COM_BODY_SELECTED">Selected</text>
+ <text id="IDS_COM_BODY_DELETE">Delete</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtitles</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancel</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximum number of characters (%d) reached</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximum number of characters (%d) reached</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slide show</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slide</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Start slideshow</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s already exists</text>
+ <text id="IDS_COM_BODY_LOADING">Loading...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Unable to rename. Album name already in use.</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operation failed</text>
+ <text id="IDS_COM_POP_SAVING_ING">Saving...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Transition effect</text>
+ <text id="IDS_COM_BODY_MUSIC">Music</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d items selected</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Create folder?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Delete failed</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 item selected</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copy</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slideshow interval</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video Player</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slideshow</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">seconds</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotate left</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Page</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copying...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 seconds</text>
+ <text id="IDS_COM_POP_PROCESSING">Processing...</text>
+ <text id="IDS_COM_BODY_GALLERY">Gallery</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">No name</text>
+ <text id="IDS_COM_BODY_IMAGES">Images</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Fade</text>
+ <text id="IDS_COM_HEADER_EDIT">Edit</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 seconds</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">No item selected</text>
+ <text id="IDS_COM_POP_DELETED">Deleted</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Remove?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Already exists. Overwrite?</text>
+ <text id="IDS_COM_POP_DELETING">Deleting...</text>
+ <text id="IDS_COM_POP_DONE">Done</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 seconds</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Camera roll</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotate right</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repeat</text>
+ <text id="IDS_COM_POP_SAVED">Saved</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissolve</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Shuffle</text>
+ <text id="IDS_COM_POP_MOVING">Moving...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Moving failed</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Unsupported file type</text>
+ <text id="IDS_COM_BODY_RENAME">Rename</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Completed</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Select all</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">All albums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Change name</text>
+ <text id="IDS_COM_BODY_MOVE">Move</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Unable to delete</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotate right</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Already exists</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Create album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">No items</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Blind</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Saving failed</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maximum number of characters reached</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slide show</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maximum number of files exceeded</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slideshow settings</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Select all</text>
+ <text id="IDS_COM_POP_DELETE_Q">Delete?</text>
+ <text id="IDS_COM_BODY_EDIT">Edit</text>
+ <text id="IDS_COM_BODY_MESSAGE">Message</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Album name already in use</text>
+ <text id="IDS_COM_OPT_SAVE">Save</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 seconds</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activation</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotate left</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 seconds</text>
+ <text id="IDS_COM_BODY_MESSAGES">Messages</text>
+ <text id="IDS_COM_SK_DONE">Done</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Unable to rename</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Invalid characters</text>
+ <text id="IDS_COM_POP_MOVED">Moved</text>
+ <text id="IDS_COM_POP_CANCEL">Cancel</text>
+ <text id="IDS_COM_BODY_SELECTED">Selected</text>
+ <text id="IDS_COM_BODY_DELETE">Delete</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtitles</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancel</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximum number of characters (%d) reached</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximum number of characters (%d) reached</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slide show</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slide</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Start slideshow</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s already exists</text>
+ <text id="IDS_COM_BODY_LOADING">Loading...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Unable to rename. Album name already in use</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operation failed</text>
+ <text id="IDS_COM_POP_SAVING_ING">Saving...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Transition effect</text>
+ <text id="IDS_COM_BODY_MUSIC">Music</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d items selected</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Create folder?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Delete failed</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 item selected</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copy</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slideshow interval</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video Player</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slideshow</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">seconds</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotate left</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Page</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copying...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 seconds</text>
+ <text id="IDS_COM_POP_PROCESSING">Processing...</text>
+ <text id="IDS_COM_BODY_GALLERY">Gallery</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">No name</text>
+ <text id="IDS_COM_BODY_IMAGES">Images</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Fade</text>
+ <text id="IDS_COM_HEADER_EDIT">Edit</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 seconds</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">No items selected</text>
+ <text id="IDS_COM_POP_DELETED">Deleted</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Remove?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Already exists. Overwrite?</text>
+ <text id="IDS_COM_POP_DELETING">Deleting...</text>
+ <text id="IDS_COM_POP_DONE">Done</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 seconds</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Camera roll</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotate right</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repeat</text>
+ <text id="IDS_COM_POP_SAVED">Saved</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissolve</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Shuffle</text>
+ <text id="IDS_COM_POP_MOVING">Moving...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Moving failed</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Unsupported file type</text>
+ <text id="IDS_COM_BODY_RENAME">Rename</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Completed</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Select all</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">All albums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Change name</text>
+ <text id="IDS_COM_BODY_MOVE">Move</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Unable to delete</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotate right</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Already exists</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Create album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">No items</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Blind</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Saving failed</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maximum number of characters reached</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slideshow</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maximum number of files exceeded</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slideshow settings</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Select all</text>
+ <text id="IDS_COM_POP_DELETE_Q">Delete?</text>
+ <text id="IDS_COM_BODY_EDIT">Edit</text>
+ <text id="IDS_COM_BODY_MESSAGE">Message</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Album name already in use</text>
+ <text id="IDS_COM_OPT_SAVE">Save</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 seconds</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activation</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotate left</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 seconds</text>
+ <text id="IDS_COM_BODY_MESSAGES">Messages</text>
+ <text id="IDS_COM_SK_DONE">Done</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Unable to rename</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Invalid characters</text>
+ <text id="IDS_COM_POP_MOVED">Moved</text>
+ <text id="IDS_COM_POP_CANCEL">Cancel</text>
+ <text id="IDS_COM_BODY_SELECTED">Selected</text>
+ <text id="IDS_COM_BODY_DELETE">Delete</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtitles</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancel</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximum number of characters (%d) reached</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximum number of characters (%d) reached</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slide show</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slide</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Start slideshow</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s already exists</text>
+ <text id="IDS_COM_BODY_LOADING">Loading...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Unable to rename. Album name already in use.</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operation failed</text>
+ <text id="IDS_COM_POP_SAVING_ING">Saving...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Transition effect</text>
+ <text id="IDS_COM_BODY_MUSIC">Music</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d items selected</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Create folder?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Delete failed</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 item selected</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copy</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slideshow interval</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video Player</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slideshow</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">Seconds</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotate left</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Page</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copying...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 seconds</text>
+ <text id="IDS_COM_POP_PROCESSING">Processing...</text>
+ <text id="IDS_COM_BODY_GALLERY">Gallery</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">No name</text>
+ <text id="IDS_COM_BODY_IMAGES">Images</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Fade</text>
+ <text id="IDS_COM_HEADER_EDIT">Edit</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 seconds</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">No items selected</text>
+ <text id="IDS_COM_POP_DELETED">Deleted</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Remove?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Already exists. Overwrite?</text>
+ <text id="IDS_COM_POP_DELETING">Deleting...</text>
+ <text id="IDS_COM_POP_DONE">Done</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 seconds</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Camera roll</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotate right</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repeat</text>
+ <text id="IDS_COM_POP_SAVED">Saved</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissolve</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Shuffle</text>
+ <text id="IDS_COM_POP_MOVING">Moving...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Moving failed</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Unsupported file type</text>
+ <text id="IDS_COM_BODY_RENAME">Rename</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Completed</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Select all</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">All albums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Change name</text>
+ <text id="IDS_COM_BODY_MOVE">Move</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Unable to delete</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotate right</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Already exists</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Create album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">No items</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Blind</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Saving failed</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Lubatud arv märke on täis</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slaidiseanss</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Failide maksimaalne arv on ületatud</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slaidiseansi seaded</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Vali kõik</text>
+ <text id="IDS_COM_POP_DELETE_Q">Kustutada?</text>
+ <text id="IDS_COM_BODY_EDIT">Muuda</text>
+ <text id="IDS_COM_BODY_MESSAGE">Sõnum</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Allalaet. failid</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumi nimi juba kasutusel</text>
+ <text id="IDS_COM_OPT_SAVE">Salvesta</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekundit</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktiveerimine</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Pööra vasakule</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekundit</text>
+ <text id="IDS_COM_BODY_MESSAGES">Sõnumid</text>
+ <text id="IDS_COM_SK_DONE">Valmis</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Ei saa ümber nimetada</text>
+ <text id="IDS_COM_BODY_EMAIL">E-post</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Lubamatud tähemärgid</text>
+ <text id="IDS_COM_POP_MOVED">Teisaldatud</text>
+ <text id="IDS_COM_POP_CANCEL">Tühista</text>
+ <text id="IDS_COM_BODY_SELECTED">Valitud</text>
+ <text id="IDS_COM_BODY_DELETE">Kustuta</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtiitrid</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Tühista</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimaalne tähemärkide arv (%d) on saavutatud</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimaalne tähemärkide arv (%d) on saavutatud</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slaidis.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slaid</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Käivita slaidiseanss</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s on juba olemas</text>
+ <text id="IDS_COM_BODY_LOADING">Laadimine...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumid</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Ei saa ümber nimetada. Albumi nimi on juba kasutusel</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Toiming nurjus</text>
+ <text id="IDS_COM_POP_SAVING_ING">Salvestamine...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Ülemineku efekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Muusika</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d üksust on valitud</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Kas luua kaust?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">BT-peakomplekt sees</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 üksus on valitud</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Suumi</text>
+ <text id="IDS_COM_BODY_COPY">Kopeeri</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iiris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slaidiseansi intervall</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videomängija</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slaidiseanss</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekundit</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Pööra vasakule</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Lehekülg</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopeerimine...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekundit</text>
+ <text id="IDS_COM_POP_PROCESSING">Töötlemine...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerii</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nimi puudub</text>
+ <text id="IDS_COM_BODY_IMAGES">Pildid</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Hajumine</text>
+ <text id="IDS_COM_HEADER_EDIT">Muuda</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekundit</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ühtegi üksust ei ole valitud</text>
+ <text id="IDS_COM_POP_DELETED">Kustutatud</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Eemaldada?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">On juba olemas. Kas kirjutada üle?</text>
+ <text id="IDS_COM_POP_DELETING">Kustutamine...</text>
+ <text id="IDS_COM_POP_DONE">Valmis</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekundit</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kaamera rullik</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Pööra paremale</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Korda</text>
+ <text id="IDS_COM_POP_SAVED">Salvestatud</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Lahuta</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Juhuesitus</text>
+ <text id="IDS_COM_POP_MOVING">Teisaldamine...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Teisaldamine nurjus</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videod</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Mittetoetatud failitüüp</text>
+ <text id="IDS_COM_BODY_RENAME">Nimeta ümber</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Lõpule viidud</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Vali kõik</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Kõik albumid</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Muuda nime</text>
+ <text id="IDS_COM_BODY_MOVE">Teisalda</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Ei saa kustutada</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Pööra paremale</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervall</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Juba olemas</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Loo album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Üksusi ei ole</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Vari</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Salvestamine nurjus</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Gehienezko karaktere kopurura heldu zara</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diapositiba aurkezpena</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Gehienezko fitxategi kopurua gainditu duzu</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Erakusketaren ezarpenak</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Denak aukeratu</text>
+ <text id="IDS_COM_POP_DELETE_Q">Ezabatu?</text>
+ <text id="IDS_COM_BODY_EDIT">Editatu</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mezua</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Deskargak</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Izen hori erabilia dago</text>
+ <text id="IDS_COM_OPT_SAVE">Gorde</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segundo</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktibazioa</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Ezkerrera biratu</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segundo</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mezuak</text>
+ <text id="IDS_COM_SK_DONE">Amaituta</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Ezin da berrizendatu</text>
+ <text id="IDS_COM_BODY_EMAIL">Posta elektroniko mezuak</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Karaktere baliogabeak</text>
+ <text id="IDS_COM_POP_MOVED">Mugitua</text>
+ <text id="IDS_COM_POP_CANCEL">Ezeztatu</text>
+ <text id="IDS_COM_BODY_SELECTED">Aukeratutakoa(k)</text>
+ <text id="IDS_COM_BODY_DELETE">Ezabatu</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Azpitituluak</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Ezeztatu</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Gehienezko karaktere kopurura (%d) iritsi zara</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Gehienezko karaktere kopurura (%d) iritsi zara</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Erakusketa</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Diapositiba</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Hasi diaporama</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s dagoeneko bada</text>
+ <text id="IDS_COM_BODY_LOADING">Kargatzen...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumak</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Ezin zaio izen berria jarri. Izen hori erabilia dago</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Eragiketak huts egin du</text>
+ <text id="IDS_COM_POP_SAVING_ING">Gordetzen</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Trantsizio efektua</text>
+ <text id="IDS_COM_BODY_MUSIC">Musika</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementu hautatu dira</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Karpeta sortu?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Akatsa ezabatzerakoan</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Elementu 1 hautatu da</text>
+ <text id="IDS_COM_BODY_VIDEO">Bideoa</text>
+ <text id="IDS_IV_OPT_ZOOM">Zooma</text>
+ <text id="IDS_COM_BODY_COPY">Kopiatu</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Irisa</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Aurkzpen tartea</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Bideo Jogailua</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Aurkezpena</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segundoak</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Ezkerrera biratu</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Orria</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopiatzen...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segundo</text>
+ <text id="IDS_COM_POP_PROCESSING">Prozesatzen...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galeria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Izenik gabe</text>
+ <text id="IDS_COM_BODY_IMAGES">Irudiak</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Koloregabetu</text>
+ <text id="IDS_COM_HEADER_EDIT">Editatu</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segundo</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ez da elementurik aukeratu</text>
+ <text id="IDS_COM_POP_DELETED">Ezabatua</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Kendu?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Dagoeneko bada. Berridatzi?</text>
+ <text id="IDS_COM_POP_DELETING">Ezabatzen...</text>
+ <text id="IDS_COM_POP_DONE">Amaituta</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segundo</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamera erroilua</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Eskuinera biratu</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Errepikatu</text>
+ <text id="IDS_COM_POP_SAVED">Gordeta</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Disolbatu</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Ausazko ordena</text>
+ <text id="IDS_COM_POP_MOVING">Mugitzen...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Errorea mugitzerakoan</text>
+ <text id="IDS_COM_BODY_VIDEOS">Bideoak</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Fitx. mota ez da onartzen</text>
+ <text id="IDS_COM_BODY_RENAME">Berrizendatu</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Osatua</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Haut. den.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Album guztiak</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Izena aldatu</text>
+ <text id="IDS_COM_BODY_MOVE">Mugitu</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Ezin da ezabatu</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Eskuinera biratu</text>
+ <text id="IDS_IV_BODY_INTERVAL">Tartea</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Dagoeneko badago</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Albuma sortu</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Elementurik ez</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Itsua</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Errorea gordetzerakoan</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">تعداد کاراکترها به حداکثر رسیده</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">اسلايد شو</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">به حداکثر تعداد مجاز فایل رسیده اید</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">تنظیمات نمایش اسلاید</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">انتخاب همه</text>
+ <text id="IDS_COM_POP_DELETE_Q">حذف شود؟</text>
+ <text id="IDS_COM_BODY_EDIT">تصحيح</text>
+ <text id="IDS_COM_BODY_MESSAGE">پيام</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">دانلودها</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">نام آلبوم از قبل موجود است</text>
+ <text id="IDS_COM_OPT_SAVE">ثبت</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20ثانیه</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">فعال سازی</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">چرخش به چپ</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2ثانیه</text>
+ <text id="IDS_COM_BODY_MESSAGES">پيام ها</text>
+ <text id="IDS_COM_SK_DONE">انجام</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">تغییر نام ممکن نیست.\nفایل در حال استفاده است</text>
+ <text id="IDS_COM_BODY_EMAIL">ایمیل</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">نویسه ها نامعتبر است</text>
+ <text id="IDS_COM_POP_MOVED">منتقل شد</text>
+ <text id="IDS_COM_POP_CANCEL">لغو</text>
+ <text id="IDS_COM_BODY_SELECTED">منتخب</text>
+ <text id="IDS_COM_BODY_DELETE">حذف</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">زیرنویس ها</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">لغو</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">به حداکثر تعداد کاراکتر های (%d) رسیده اید</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">به حداکثر تعداد کاراکتر های (%d) رسیده اید</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">اسلاید شو</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">کشویی</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">شروع نمایش اسلاید</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s از قبل وجود دارد</text>
+ <text id="IDS_COM_BODY_LOADING">در حال دانلود...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">آلبوم ها</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">تغییر نام امکانپذیر نیست. نام آلبوم از قبل موجود است</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">عملکرد انجام نشد</text>
+ <text id="IDS_COM_POP_SAVING_ING">درحال ثبت…</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">جلوه تغییر وضعیت</text>
+ <text id="IDS_COM_BODY_MUSIC">موزیک</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d مورد انتخاب شد</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">ايجاد پوشه؟</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">عدم موفقیت در حذف</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 مورد انتخاب شد</text>
+ <text id="IDS_COM_BODY_VIDEO">فيلم</text>
+ <text id="IDS_IV_OPT_ZOOM">زوم</text>
+ <text id="IDS_COM_BODY_COPY">کپی</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">فاصله زمانی نمایش اسلاید</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">پخش کننده فیلم</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">نمایش اسلاید</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">ثانيه</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">چرخش به چپ</text>
+ <text id="IDS_EBOOK_BODY_PAGE">صفحه</text>
+ <text id="IDS_COM_POP_COPYING_ING">در حال کپی...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10ثانیه</text>
+ <text id="IDS_COM_POP_PROCESSING">در حال انجام...</text>
+ <text id="IDS_COM_BODY_GALLERY">گالری</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">بدون نام</text>
+ <text id="IDS_COM_BODY_IMAGES">تصاوير</text>
+ <text id="IDS_MEDIABR_BODY_FADE">ناپدید شدن تدریجی</text>
+ <text id="IDS_COM_HEADER_EDIT">تصحيح</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 ثانيه</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">موردی برای انتخاب وجود ندارد</text>
+ <text id="IDS_COM_POP_DELETED">حذف شد</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">حذف؟</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">از قبل وجود دارد. رونویسی شود؟</text>
+ <text id="IDS_COM_POP_DELETING">در حال حذف...</text>
+ <text id="IDS_COM_POP_DONE">انجام</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3ثانیه</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">فهرست دوربین</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">چرخش به راست</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">تکرار</text>
+ <text id="IDS_COM_POP_SAVED">ثبت شد</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">مخلوط شدن تصاویر</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">انتخاب دستگاه</text>
+ <text id="IDS_COM_POP_MOVING">در حال انتقال</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">عدم موفقیت در انتقال</text>
+ <text id="IDS_COM_BODY_VIDEOS">فیلمها</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">نوع فایل پشتیبانی نشده</text>
+ <text id="IDS_COM_BODY_RENAME">تعويض نام</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">انجام شد</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">انتخاب همه</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">همه آلبوم ها</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">تعويض نام</text>
+ <text id="IDS_COM_BODY_MOVE">انتقال</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">غير قابل حذف</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">چرخش به راست</text>
+ <text id="IDS_IV_BODY_INTERVAL">مدت زمان</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">موجود است</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">ایجاد آلبوم</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">موردی نیست</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">چراغ چشمک زن</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">عدم موفقیت در ذخیره سازی</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Merkkien enimmäismäärä saavutettu</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diaesitys</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Tiedostojen enimmäismäärä on ylitetty</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Kuvaesityksen asetukset</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Valitse kaikki</text>
+ <text id="IDS_COM_POP_DELETE_Q">Poistetaanko?</text>
+ <text id="IDS_COM_BODY_EDIT">Muokkaa</text>
+ <text id="IDS_COM_BODY_MESSAGE">Viesti</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Lataukset</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumin nimi jo käytössä</text>
+ <text id="IDS_COM_OPT_SAVE">Tallenna</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekuntia</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivointi</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Kierrä vastapäivään</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekuntia</text>
+ <text id="IDS_COM_BODY_MESSAGES">Viestit</text>
+ <text id="IDS_COM_SK_DONE">Valmis</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Ei voi nimetä uudelleen</text>
+ <text id="IDS_COM_BODY_EMAIL">Sähköposti</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Virheellisiä merkkejä</text>
+ <text id="IDS_COM_POP_MOVED">Siirretty</text>
+ <text id="IDS_COM_POP_CANCEL">Peruuta</text>
+ <text id="IDS_COM_BODY_SELECTED">Valittu</text>
+ <text id="IDS_COM_BODY_DELETE">Poista</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Tekstitys</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Peruuta</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Merkkien enimmäismäärä (%d) on saavutettu</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Merkkien enimmäismäärä (%d) on saavutettu</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diaesitys</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Dia</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Käynnistä kuvaesitys</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s on jo olemassa</text>
+ <text id="IDS_COM_BODY_LOADING">Ladataan...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumit</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Ei voi nimetä uudelleen. Albumin nimi on jo käytössä</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Toiminto epäonnistui</text>
+ <text id="IDS_COM_POP_SAVING_ING">Tallennetaan...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Siirtymätehoste</text>
+ <text id="IDS_COM_BODY_MUSIC">Musiikki</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d kohdetta valittu</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Luodaanko kansio?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Poisto epäonnistui</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 kohde valittu</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoomaus</text>
+ <text id="IDS_COM_BODY_COPY">Kopioi</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Kuvaesityksen aikaväli</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videosoitin</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Kuvaesitys</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekuntia</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Kierrä vastapäivään</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Sivu</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopioidaan...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekuntia</text>
+ <text id="IDS_COM_POP_PROCESSING">Käsitellään...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galleria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Ei nimeä</text>
+ <text id="IDS_COM_BODY_IMAGES">Kuvat</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Häivytä</text>
+ <text id="IDS_COM_HEADER_EDIT">Muokkaa</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekuntia</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ei valittuja kohteita</text>
+ <text id="IDS_COM_POP_DELETED">Poistettu</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Poistetaanko?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">On jo olemassa. Päivitetäänkö?</text>
+ <text id="IDS_COM_POP_DELETING">Poistetaan...</text>
+ <text id="IDS_COM_POP_DONE">Valmis</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekuntia</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamerarulla</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Kierrä myötäpäivään</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Toista</text>
+ <text id="IDS_COM_POP_SAVED">Tallennettu</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Ristikuva</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Sekoitus</text>
+ <text id="IDS_COM_POP_MOVING">Siirretään...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Siirto epäonnistui</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videot</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tiedostotyyppiä ei tueta</text>
+ <text id="IDS_COM_BODY_RENAME">Nimeä uudelleen</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Valmis</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">V. kaikki</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Kaikki albumit</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Vaihda nimi</text>
+ <text id="IDS_COM_BODY_MOVE">Siirrä</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Ei voi poistaa</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Kierrä myötäpäivään</text>
+ <text id="IDS_IV_BODY_INTERVAL">Väli</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">On jo olemassa</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Luo albumi</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Ei kohteita</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Kaihdin</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Tallentaminen epäonnistui</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Nb. max. de caractères atteint</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diaporama</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Nombre maximum de fichiers dépassé</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Paramètres du diaporama</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Sélectionner tout</text>
+ <text id="IDS_COM_POP_DELETE_Q">Supprimer ?</text>
+ <text id="IDS_COM_BODY_EDIT">Modifier</text>
+ <text id="IDS_COM_BODY_MESSAGE">Message</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Télécharg.</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nom d'album déjà utilisé</text>
+ <text id="IDS_COM_OPT_SAVE">Enreg.</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 secondes</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activation</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Pivoter vers la gauche</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 secondes</text>
+ <text id="IDS_COM_BODY_MESSAGES">Messages</text>
+ <text id="IDS_COM_SK_DONE">OK</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Impossible de renommer l'élément</text>
+ <text id="IDS_COM_BODY_EMAIL">Courriel</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caractères non valides</text>
+ <text id="IDS_COM_POP_MOVED">Déplacé</text>
+ <text id="IDS_COM_POP_CANCEL">Annuler</text>
+ <text id="IDS_COM_BODY_SELECTED">Sélectionné</text>
+ <text id="IDS_COM_BODY_DELETE">Supprimer</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Sous-titres</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Annuler</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Nombre maximum de caractères (%d) atteint</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Nombre maximum de caractères (%d) atteint</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diaporama</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Diapo</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Lancer le diaporama</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s existe déjà</text>
+ <text id="IDS_COM_BODY_LOADING">Chargement...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Impossible de renommer l'élément. Nom d'album déjà utilisé</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Échec de l'opération</text>
+ <text id="IDS_COM_POP_SAVING_ING">Enregistrement ...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Effet de transition</text>
+ <text id="IDS_COM_BODY_MUSIC">Musique</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d éléments sélectionnés</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Créer un dossier ?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Échec de suppression</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 élément sélectionné</text>
+ <text id="IDS_COM_BODY_VIDEO">Vidéo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copier</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervalle du diaporama</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Lecteur vidéo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diaporama</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">secondes</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Pivoter vers la gauche</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Page</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copie ...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 secondes</text>
+ <text id="IDS_COM_POP_PROCESSING">Traitement…</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerie</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Aucun nom</text>
+ <text id="IDS_COM_BODY_IMAGES">Images</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Fondu</text>
+ <text id="IDS_COM_HEADER_EDIT">Modifier</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 secondes</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Aucun élément sélectionné</text>
+ <text id="IDS_COM_POP_DELETED">Supprimé</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Retirer?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Existe déjà. L'écraser?</text>
+ <text id="IDS_COM_POP_DELETING">Suppression ...</text>
+ <text id="IDS_COM_POP_DONE">OK</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 secondes</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Pellicule</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Pivoter vers la droite</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Répéter</text>
+ <text id="IDS_COM_POP_SAVED">Enregistré</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Fondu enchainé</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Mode aléatoire</text>
+ <text id="IDS_COM_POP_MOVING">Déplacement...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Échec du déplacement</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vidéos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Type fichier non supporté</text>
+ <text id="IDS_COM_BODY_RENAME">Renommer</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">OK</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Sélectionner tout</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Tous les albums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Modifier le nom</text>
+ <text id="IDS_COM_BODY_MOVE">Déplacer</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Suppression impossible</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Pivoter vers la droite</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalle</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Existe déjà</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Créer un album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Aucun élément</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Stores vénitiens</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Échec de l'enregistrement</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Nb. max. de caractères atteint</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diaporama</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Nombre maximum de fichiers dépassé</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Paramètres du diaporama</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Sélect. tout</text>
+ <text id="IDS_COM_POP_DELETE_Q">Supprimer ?</text>
+ <text id="IDS_COM_BODY_EDIT">Modifier</text>
+ <text id="IDS_COM_BODY_MESSAGE">Message</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Téléchargements</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nom d'album déjà utilisé</text>
+ <text id="IDS_COM_OPT_SAVE">Enregistrer</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 secondes</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activation</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotation à gauche</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 secondes</text>
+ <text id="IDS_COM_BODY_MESSAGES">Messages</text>
+ <text id="IDS_COM_SK_DONE">Effectué</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Impossible de renommer l'élément</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caractères non valides</text>
+ <text id="IDS_COM_POP_MOVED">Déplacé</text>
+ <text id="IDS_COM_POP_CANCEL">Annuler</text>
+ <text id="IDS_COM_BODY_SELECTED">Sélectionné</text>
+ <text id="IDS_COM_BODY_DELETE">Supprimer</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Sous-titres</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Annuler</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Le nombre maximum de caractères (%d) est atteint</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Le nombre maximum de caractères (%d) est atteint</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diaporama</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Défilement</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Lancer le diaporama</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s existe déjà</text>
+ <text id="IDS_COM_BODY_LOADING">Chargement en cours.</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Impossible de renommer l'élément. Nom d'album déjà utilisé</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Échec de l'opération</text>
+ <text id="IDS_COM_POP_SAVING_ING">Enregistrement...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Effet de transition</text>
+ <text id="IDS_COM_BODY_MUSIC">Musique</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d éléments sélectionnés</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Créer un dossier ?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Échec de suppression</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 élément sélectionné</text>
+ <text id="IDS_COM_BODY_VIDEO">Vidéo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copier</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervalle du diaporama</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Lecteur vidéo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diaporama</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">secondes</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotation à gauche</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Page</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copie...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 secondes</text>
+ <text id="IDS_COM_POP_PROCESSING">En cours...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerie</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Aucun nom</text>
+ <text id="IDS_COM_BODY_IMAGES">Images</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Fondu</text>
+ <text id="IDS_COM_HEADER_EDIT">Modifier</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 secondes</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Aucun élément sélectionné</text>
+ <text id="IDS_COM_POP_DELETED">Supprimé</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Supprimer ?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Existe déjà. L' écraser ?</text>
+ <text id="IDS_COM_POP_DELETING">Suppression...</text>
+ <text id="IDS_COM_POP_DONE">Effectué</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 secondes</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Pellicule</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotation à droite</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Répéter</text>
+ <text id="IDS_COM_POP_SAVED">Enregistré</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Fondu enchaîné</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Mode aléatoire</text>
+ <text id="IDS_COM_POP_MOVING">Déplacement...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Échec du déplacement</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vidéos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Type fichier non supporté</text>
+ <text id="IDS_COM_BODY_RENAME">Renommer</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">OK</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Sélect. tt</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Tous les albums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Modifier le nom</text>
+ <text id="IDS_COM_BODY_MOVE">Déplacer</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Suppression impossible</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotation à droite</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalle</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Existe déjà</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Créer un album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Aucun élément</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Stores vénitiens</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Échec de l'enregistrement</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Uaslíon na gcarachtar bainte amach</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Taispeántas sleamhnán</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Uaslíon na gcomhad sáraithe</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Socruithe taispeántais sleamhnán</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Roghnaigh gach</text>
+ <text id="IDS_COM_POP_DELETE_Q">Scrios?</text>
+ <text id="IDS_COM_BODY_EDIT">Cuir in eagar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Teachtaireacht</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Ioslódálacha</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Ainm albaim in úsáid cheana</text>
+ <text id="IDS_COM_OPT_SAVE">Sábháil</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 soicind</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Gníomhachtú</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rothlaigh ar chlé</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 shoicind</text>
+ <text id="IDS_COM_BODY_MESSAGES">Teachtaireachtaí</text>
+ <text id="IDS_COM_SK_DONE">Déanta</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Ní féidir athainmniú</text>
+ <text id="IDS_COM_BODY_EMAIL">R-phost</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Carachtair neamhbhailí</text>
+ <text id="IDS_COM_POP_MOVED">Bogtha</text>
+ <text id="IDS_COM_POP_CANCEL">Cuir ar ceal</text>
+ <text id="IDS_COM_BODY_SELECTED">Roghnaithe</text>
+ <text id="IDS_COM_BODY_DELETE">Scrios</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Fotheidil</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cuir ar ceal</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Uaslíon na gcarachtar (%d) bainte amach</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Uaslíon na gcarachtar (%d) bainte amach</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Sleamhnán</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Sleamhnán</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Tosaigh ar thaispeántas sleamhnán</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">Tá %s ann cheana</text>
+ <text id="IDS_COM_BODY_LOADING">Ag lódáil...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albaim</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Ní féidir athainmniú. Ainm an albaim in úsáid cheana</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Theip ar oibríocht</text>
+ <text id="IDS_COM_POP_SAVING_ING">Ag sábháil...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Maisíocht trasdula</text>
+ <text id="IDS_COM_BODY_MUSIC">Ceol</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d mír roghnaithe</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Déan fillteán?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Theip ar scriosadh</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 mhír roghnaithe</text>
+ <text id="IDS_COM_BODY_VIDEO">Físeán</text>
+ <text id="IDS_IV_OPT_ZOOM">Zúmáil</text>
+ <text id="IDS_COM_BODY_COPY">Cóipeáil</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Feileastram</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Eatramh taispeántais sleamhnán</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Seinnteoir Físeán</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Taispeántas sleamhnán</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">soicindí</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rothlaigh ar chlé</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Leathanach</text>
+ <text id="IDS_COM_POP_COPYING_ING">Ag cóipeáil...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 soicind</text>
+ <text id="IDS_COM_POP_PROCESSING">Ag próiseáil...</text>
+ <text id="IDS_COM_BODY_GALLERY">Gailearaí</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Níl ainm ann</text>
+ <text id="IDS_COM_BODY_IMAGES">Íomhánna</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Céimnigh</text>
+ <text id="IDS_COM_HEADER_EDIT">Cuir in eagar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 shoicind</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Níor roghnaíodh míreanna</text>
+ <text id="IDS_COM_POP_DELETED">Scriosta</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Bain?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Ann cheana. Forscríobh?</text>
+ <text id="IDS_COM_POP_DELETING">Ag scriosadh...</text>
+ <text id="IDS_COM_POP_DONE">Déanta</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 shoicind</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Rolla ceamara</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rothlaigh ar dheis</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Déan arís</text>
+ <text id="IDS_COM_POP_SAVED">Sábháilte</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Leáigh</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Suaitheadh</text>
+ <text id="IDS_COM_POP_MOVING">Ag bogadh...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Theip ar bhogadh</text>
+ <text id="IDS_COM_BODY_VIDEOS">Físeáin</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Cineál comhaid gan tacú</text>
+ <text id="IDS_COM_BODY_RENAME">Athainmnigh</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Curtha i gcrích</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Rogh. gach</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Gach albam</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Athraigh ainm</text>
+ <text id="IDS_COM_BODY_MOVE">Bog</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Ní féidir scriosadh</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rothlaigh ar dheis</text>
+ <text id="IDS_IV_BODY_INTERVAL">Eatramh</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Ann cheana</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Déan albam</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Níl míreanna ann</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Dallóg</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Theip ar shábháil</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Número máximo de caracteres alcanzado</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Presentación de diapositivas</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Superouse o número máximo de arquivos</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Axustes de presentación</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Seleccionar todo</text>
+ <text id="IDS_COM_POP_DELETE_Q">Eliminar?</text>
+ <text id="IDS_COM_BODY_EDIT">Editar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mensaxe</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Descargas</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nome de álbum xa en uso</text>
+ <text id="IDS_COM_OPT_SAVE">Gardar</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segundos</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activación</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Xirar á esquerda</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segundos</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mensaxes</text>
+ <text id="IDS_COM_SK_DONE">Finalizado</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Non se pode cambiar o nome</text>
+ <text id="IDS_COM_BODY_EMAIL">Correo electrónico</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caracteres non válidos</text>
+ <text id="IDS_COM_POP_MOVED">Movido</text>
+ <text id="IDS_COM_POP_CANCEL">Cancelar</text>
+ <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>
+ <text id="IDS_COM_BODY_DELETE">Eliminar</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtítulos</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancelar</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Alcanzouse o número máximo de carácteres (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Alcanzouse o número máximo de carácteres (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diapos</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Diapositiva</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Iniciar presentación de diapositivas</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s xa existe</text>
+ <text id="IDS_COM_BODY_LOADING">Cargando...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Álbums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Non se pode cambiar o nome. Nome de álbum xa en uso</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Fallo na operación</text>
+ <text id="IDS_COM_POP_SAVING_ING">Gardando...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efecto de transición</text>
+ <text id="IDS_COM_BODY_MUSIC">Música</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementos seleccionados</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Crear carpeta?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Erro ao eliminar</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 elemento seleccionado</text>
+ <text id="IDS_COM_BODY_VIDEO">Vídeo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copiar</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervalo de presentación</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Reprodutor de Vídeo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Presentación</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segundos</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Xirar á esquerda</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Páxina</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copiando...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segundos</text>
+ <text id="IDS_COM_POP_PROCESSING">Procesando...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galería</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Sen nome</text>
+ <text id="IDS_COM_BODY_IMAGES">Imaxes</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Atenuar</text>
+ <text id="IDS_COM_HEADER_EDIT">Editar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segundos</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Non hai elementos seleccionados</text>
+ <text id="IDS_COM_POP_DELETED">Eliminado</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Eliminar?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Xa existe. Sobrescribir?</text>
+ <text id="IDS_COM_POP_DELETING">Eliminando...</text>
+ <text id="IDS_COM_POP_DONE">Finalizado</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segundos</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Rolo de cámara</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Xirar á dereita</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetir</text>
+ <text id="IDS_COM_POP_SAVED">Gardado</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Fundir</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Orde aleatoria</text>
+ <text id="IDS_COM_POP_MOVING">Movendo...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Erro ao mover</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vídeos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipo de arq. non admitido</text>
+ <text id="IDS_COM_BODY_RENAME">C. nome</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Completada</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Selec todo</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Todos os álbums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Cambiar nome</text>
+ <text id="IDS_COM_BODY_MOVE">Mover</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Non se pode eliminar</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Xirar á dereita</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalo</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Xa existe</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Crear álbum</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Sen elementos</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Persiana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Erro ao gardar</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">वर्णो की संख्या अधिकतम पहुँची</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">स्लाइड शो</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">फ़ाइल की संख्या अधिकतम तक पहुँची</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">स्लाइड शो सेटिंग्स</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">सभी चुनें</text>
+ <text id="IDS_COM_POP_DELETE_Q">हटाएँ?</text>
+ <text id="IDS_COM_BODY_EDIT">संपादित करें</text>
+ <text id="IDS_COM_BODY_MESSAGE">सन्देश</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">डाउनलोड</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">अल्बम नाम पहले से उपयोग में</text>
+ <text id="IDS_COM_OPT_SAVE">सुरक्षित</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 सेकंड</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">सक्रियण</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">बाएँ घुमाएँ</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 सेकंड</text>
+ <text id="IDS_COM_BODY_MESSAGES">सन्देश</text>
+ <text id="IDS_COM_SK_DONE">हुआ</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">नाम बदलने में अक्षम</text>
+ <text id="IDS_COM_BODY_EMAIL">ईमेल</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">अमान्य वर्ण</text>
+ <text id="IDS_COM_POP_MOVED">ले जाया गया</text>
+ <text id="IDS_COM_POP_CANCEL">रद्द करें</text>
+ <text id="IDS_COM_BODY_SELECTED">चुना गया</text>
+ <text id="IDS_COM_BODY_DELETE">हटाएँ</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">उपशीर्षक</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">रद्द करें</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">वर्णों की अधिकतम संख्या (%d) तक पहुँच गया</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">वर्णों की अधिकतम संख्या (%d) तक पहुँच गया</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">स्लाइड शो</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">स्लाइड</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">स्लाइडशो प्रारंभ करें</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s पहले से मौजूद है</text>
+ <text id="IDS_COM_BODY_LOADING">लोड हो रहा है...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">एल्बम्स</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">पुनर्नामित करने में अक्षम. अल्बम नाम पहले से उपयोग में</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">कार्रवाई विफल</text>
+ <text id="IDS_COM_POP_SAVING_ING">सुरक्षित हो रहा है...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">परिवर्तन प्रभाव</text>
+ <text id="IDS_COM_BODY_MUSIC">संगीत</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d मदें चयनित</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">फोल्डर बनाएं?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">हटाना विफल</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 मद चयनित</text>
+ <text id="IDS_COM_BODY_VIDEO">विडियो</text>
+ <text id="IDS_IV_OPT_ZOOM">ज़ूम</text>
+ <text id="IDS_COM_BODY_COPY">कॉपी करें</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">आइरिस</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">स्लाइड शो अंतराल</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">वीडियो प्लेयर</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">स्लाइड शो</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">सेकेंड</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">बाएँ घुमाएँ</text>
+ <text id="IDS_EBOOK_BODY_PAGE">पेज</text>
+ <text id="IDS_COM_POP_COPYING_ING">कॉपी कर रहा है…</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 सेकंड</text>
+ <text id="IDS_COM_POP_PROCESSING">प्रोसेस हो रहा है…</text>
+ <text id="IDS_COM_BODY_GALLERY">गैलरी</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">नाम नहीं</text>
+ <text id="IDS_COM_BODY_IMAGES">छवियाँ</text>
+ <text id="IDS_MEDIABR_BODY_FADE">फीका</text>
+ <text id="IDS_COM_HEADER_EDIT">संपादित करें</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 सेकंड</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">कोई मद चयनित नहीं</text>
+ <text id="IDS_COM_POP_DELETED">हटाया गया</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">हटाएँ?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">पहले से मौजूद है। ओवरराइट करें?</text>
+ <text id="IDS_COM_POP_DELETING">हटाया जा रहा है…</text>
+ <text id="IDS_COM_POP_DONE">हुआ</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 सेकंड</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">कैमरा रोल</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">दाएँ घुमाएँ</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">दोहराव</text>
+ <text id="IDS_COM_POP_SAVED">सुरक्षित किया</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">विलय</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">शफ़ल</text>
+ <text id="IDS_COM_POP_MOVING">ले जा रहा है…</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">ले जाना विफल हुआ</text>
+ <text id="IDS_COM_BODY_VIDEOS">विडियो</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">असमर्थित फ़ाइल प्रकार</text>
+ <text id="IDS_COM_BODY_RENAME">पुन: नाम दें</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">पूर्ण</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">सभी चुनें</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">सभी एलबम्स</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">नाम बदलें</text>
+ <text id="IDS_COM_BODY_MOVE">ले जाएँ</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">हटाने में अक्षम</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">दाएँ घुमाएँ</text>
+ <text id="IDS_IV_BODY_INTERVAL">अन्तराल</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">पहले से ही मौजूद</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">अल्बम बनाएँ</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">कोई मदें नहीं</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">ब्लाइंड</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">सुरक्षित करना विफल</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maks. broj znakova</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Prezentacija</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maks. broj datoteka</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Postavke prezentacije</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Odaberi sve</text>
+ <text id="IDS_COM_POP_DELETE_Q">Obrisati?</text>
+ <text id="IDS_COM_BODY_EDIT">Uredi</text>
+ <text id="IDS_COM_BODY_MESSAGE">Poruka</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Skidanja</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Već postoji naziv albuma</text>
+ <text id="IDS_COM_OPT_SAVE">Spremi</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sek</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Uključivanje</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotiraj ulijevo</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sek</text>
+ <text id="IDS_COM_BODY_MESSAGES">Poruke</text>
+ <text id="IDS_COM_SK_DONE">OK</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nemoguće preimenovati</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Neispravni znakovi</text>
+ <text id="IDS_COM_POP_MOVED">Premješteno</text>
+ <text id="IDS_COM_POP_CANCEL">Prekid</text>
+ <text id="IDS_COM_BODY_SELECTED">Odabrano</text>
+ <text id="IDS_COM_BODY_DELETE">Obriši</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Titlovi</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Prekid</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimalan broj znakova (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimalan broj znakova (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Prezentacija</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Listanje</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Pokreni prezentaciju</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s već postoji</text>
+ <text id="IDS_COM_BODY_LOADING">Učitavanje...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumi</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nemoguće preimenovati. Već postoji naziv albuma</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Neuspješno</text>
+ <text id="IDS_COM_POP_SAVING_ING">Spremanje...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efekt prijelaza</text>
+ <text id="IDS_COM_BODY_MUSIC">Glazba</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d odabranih stavki</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Nova mapa?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Brisanje neuspješno</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 stavka odabrana</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Kopiraj</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval prezentacije</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video Player</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Prezentacija</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekundi</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotiraj ulijevo</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Stranica</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopiranje...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sek</text>
+ <text id="IDS_COM_POP_PROCESSING">Procesiranje...</text>
+ <text id="IDS_COM_BODY_GALLERY">Album</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nema imena</text>
+ <text id="IDS_COM_BODY_IMAGES">Slike</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Zatamni</text>
+ <text id="IDS_COM_HEADER_EDIT">Uredi</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sek</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ništa odabrano</text>
+ <text id="IDS_COM_POP_DELETED">Obrisano</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Ukloniti?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Već postoji. Piši preko?</text>
+ <text id="IDS_COM_POP_DELETING">Brisanje...</text>
+ <text id="IDS_COM_POP_DONE">OK</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sek</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Snimke kamere</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotiraj udesno</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Ponavljanje</text>
+ <text id="IDS_COM_POP_SAVED">Spremljeno</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Razrijedi</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Nasumično</text>
+ <text id="IDS_COM_POP_MOVING">Premještanje...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Premještanje neuspješno</text>
+ <text id="IDS_COM_BODY_VIDEOS">Video</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nepodržana vrsta datoteka</text>
+ <text id="IDS_COM_BODY_RENAME">Preimenuj</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Obavljeno</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Označi sve</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Svi albumi</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Promijenite ime</text>
+ <text id="IDS_COM_BODY_MOVE">Premjesti</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Brisanje nemoguće</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotiraj udesno</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Već postoji</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Novi album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Nema stavki</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Roleta</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Spremanje neuspješno</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Nincs hely több karakternek</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diavetítés</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Elérte a fájlok maximális számát</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Diabemutató beállításai</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Összes kijelölése</text>
+ <text id="IDS_COM_POP_DELETE_Q">Törli?</text>
+ <text id="IDS_COM_BODY_EDIT">Szerkeszt</text>
+ <text id="IDS_COM_BODY_MESSAGE">Üzenet</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Letöltések</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Ilyen albumnév már van</text>
+ <text id="IDS_COM_OPT_SAVE">Ment</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 másodperc</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivál</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Forgatás balra</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 másodperc</text>
+ <text id="IDS_COM_BODY_MESSAGES">Üzenetek</text>
+ <text id="IDS_COM_SK_DONE">Kész</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nem lehet átnevezni</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Érvénytelen karakterek</text>
+ <text id="IDS_COM_POP_MOVED">Áthelyezve</text>
+ <text id="IDS_COM_POP_CANCEL">Mégse</text>
+ <text id="IDS_COM_BODY_SELECTED">Kiválasztott</text>
+ <text id="IDS_COM_BODY_DELETE">Töröl</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Feliratok</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Mégse</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Elérte a karakterek maximális számát (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Elérte a karakterek maximális számát (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diavet.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Dia</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Diabemutató indítása</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">Már van %s nevű fájl</text>
+ <text id="IDS_COM_BODY_LOADING">Betöltés...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumok</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nem lehet átnevezni. Ilyen albumnév már van</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Sikertelen művelet</text>
+ <text id="IDS_COM_POP_SAVING_ING">Mentés...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Áttűnés</text>
+ <text id="IDS_COM_BODY_MUSIC">Zenék</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d tétel kijelölve</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Mappát hoz létre?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Törlés sikertelen</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 tétel kijelölve</text>
+ <text id="IDS_COM_BODY_VIDEO">Videó</text>
+ <text id="IDS_IV_OPT_ZOOM">Nagyítás</text>
+ <text id="IDS_COM_BODY_COPY">Másol</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Írisz</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Diabemutató intervalluma</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videolejátszó</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diabemutató</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">másodperc</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Forgatás balra</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Oldal</text>
+ <text id="IDS_COM_POP_COPYING_ING">Másolás...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 másodperc</text>
+ <text id="IDS_COM_POP_PROCESSING">Feldolgozás folyamatban</text>
+ <text id="IDS_COM_BODY_GALLERY">Galéria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nincs név</text>
+ <text id="IDS_COM_BODY_IMAGES">Képek</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Áttűnés</text>
+ <text id="IDS_COM_HEADER_EDIT">Szerkeszt</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 másodperc</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nincs kiválasztott tétel</text>
+ <text id="IDS_COM_POP_DELETED">Törölve</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Törli?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Már létezik. Felülírja?</text>
+ <text id="IDS_COM_POP_DELETING">Törlés...</text>
+ <text id="IDS_COM_POP_DONE">Kész</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 másodperc</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Filmszalag</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Forgatás jobbra</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Ismétlés</text>
+ <text id="IDS_COM_POP_SAVED">Mentve</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Áttűnés</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Véletlen sorrend</text>
+ <text id="IDS_COM_POP_MOVING">Áthelyezés...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Az áthelyezés sikertelen</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videók</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nem támogatott fájltípus</text>
+ <text id="IDS_COM_BODY_RENAME">Átnevez</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Kész</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Mind kijel.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Összes album</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Név módosítása</text>
+ <text id="IDS_COM_BODY_MOVE">Áthelyez</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Nem törölhető</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Forgatás jobbra</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervallum</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Már létezik</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Album létrehozása</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Nincs tétel</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Rács</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">A mentés nem sikerült</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Հասել եք նիշերի առավելագույն քանակին</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Սլայդ շոու</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Ֆայլերի առավելագույն քանակը գերազանցվել է</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Սահկահանդեսի ընտրանքները</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Ընտրել բոլորը</text>
+ <text id="IDS_COM_POP_DELETE_Q">Ջնջե՞լ</text>
+ <text id="IDS_COM_BODY_EDIT">Խմբագրել</text>
+ <text id="IDS_COM_BODY_MESSAGE">Հաղորդագրություն</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Բեռնումներ</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Ալբմի անունն արդեն գրծվմ է</text>
+ <text id="IDS_COM_OPT_SAVE">Պահպանել</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 վայրկյան</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Ակտիվացում</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Պտտել ձախ</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 վայրկյան</text>
+ <text id="IDS_COM_BODY_MESSAGES">Հղրդգրթ</text>
+ <text id="IDS_COM_SK_DONE">Պատրաստ</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Հնարավոր չէ վերանվանել</text>
+ <text id="IDS_COM_BODY_EMAIL">Էլ.փոստ</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Անվավեր նիշեր</text>
+ <text id="IDS_COM_POP_MOVED">Տեղափոխված է</text>
+ <text id="IDS_COM_POP_CANCEL">Չեղարկել</text>
+ <text id="IDS_COM_BODY_SELECTED">Ընտրված</text>
+ <text id="IDS_COM_BODY_DELETE">Ջնջել</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Ենթավերնագրեր</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Չեղարկել</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Հասել է նիշերի առավելագույն քանակին (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Հասել է նիշերի առավելագույն քանակին (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Սլյդ շոու</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Սլայդ</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Սկսել սլայդերի ցուցադրում</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s-ն արդեն գոյություն ունի</text>
+ <text id="IDS_COM_BODY_LOADING">Բեռնում է...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Ալբոմներ</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Անհնար է վերանվանել: Ալբոմի անունն արդեն գործածվում է</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Գործողությունը ձախողվեց</text>
+ <text id="IDS_COM_POP_SAVING_ING">Պահպանում է...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Փոխանցման էֆեկտ</text>
+ <text id="IDS_COM_BODY_MUSIC">Երաժշտությն</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d տարր է ընտրվել</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Ստեղծե՞լ թղթապանակ</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Ջնջումը ձախողվեց</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 տարր է ընտրվել</text>
+ <text id="IDS_COM_BODY_VIDEO">Վիդեո</text>
+ <text id="IDS_IV_OPT_ZOOM">Մասշտաբ</text>
+ <text id="IDS_COM_BODY_COPY">Պատճենել</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Ծիածան</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Սահկահանդեսի միջակայքը</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Տեսանվագարկիչ</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Սահկահանդես</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">վայրկյաններ</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Պտտել ձախ</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Էջ</text>
+ <text id="IDS_COM_POP_COPYING_ING">Պատճենում է...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 վայրկյան</text>
+ <text id="IDS_COM_POP_PROCESSING">Ընթացքում է</text>
+ <text id="IDS_COM_BODY_GALLERY">Պատկերասրահ</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Անուն չկա</text>
+ <text id="IDS_COM_BODY_IMAGES">Պատկերներ</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Անհետացող</text>
+ <text id="IDS_COM_HEADER_EDIT">Խմբագրել</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 վայրկյան</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Որևէ տարր ընտրված չէ</text>
+ <text id="IDS_COM_POP_DELETED">Ջնջված է</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Հեռացնե՞լ</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Արդեն գոյություն ունի: Վերագրանցե՞լ</text>
+ <text id="IDS_COM_POP_DELETING">Ջնջվում է...</text>
+ <text id="IDS_COM_POP_DONE">Կատարված է</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 վայրկյան</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Խցիկի հոլովակ</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Պտտել աջ</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Կրկնել</text>
+ <text id="IDS_COM_POP_SAVED">Պահպանվեց</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Լուծել</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Պատահական</text>
+ <text id="IDS_COM_POP_MOVING">Տեղափոխում...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Տեղափոխումը ձախողվեց</text>
+ <text id="IDS_COM_BODY_VIDEOS">Տեսահոլովակներ</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Ֆայլի չապահովված տիպ</text>
+ <text id="IDS_COM_BODY_RENAME">Վերանվանել</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Ավարտված է</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Ընտրել բլր</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Բոլոր ալբոմները</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Փոխել անունը</text>
+ <text id="IDS_COM_BODY_MOVE">Տեղափոխել</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Անհար է ջնջել</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Պտտել աջ</text>
+ <text id="IDS_IV_BODY_INTERVAL">Դադար</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Արդեն գոյություն ունի</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Ստեղծել ալբոմ</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Տարրեր չկան</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Գալարավարագույր</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Պահպանումը ձախողվեց</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Hámarksfjölda stafa hefur verið náð</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Glærusýning</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Komið er fram yfir hámarksfjölda skráa</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Stillingar skyggnusýningar</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Velja allt</text>
+ <text id="IDS_COM_POP_DELETE_Q">Á að eyða?</text>
+ <text id="IDS_COM_BODY_EDIT">Breyta</text>
+ <text id="IDS_COM_BODY_MESSAGE">Skilaboð</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Niðurhal</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Heitið er þegar í notkun</text>
+ <text id="IDS_COM_OPT_SAVE">Vista</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekúndur</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Virkjun</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Snúið til vinstri</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekúndur</text>
+ <text id="IDS_COM_BODY_MESSAGES">Skilaboð</text>
+ <text id="IDS_COM_SK_DONE">Lokið</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Mistókst að breyta heiti</text>
+ <text id="IDS_COM_BODY_EMAIL">Tölvupóstur</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Ógildir stafir</text>
+ <text id="IDS_COM_POP_MOVED">Flutt</text>
+ <text id="IDS_COM_POP_CANCEL">Hætta við</text>
+ <text id="IDS_COM_BODY_SELECTED">Valið</text>
+ <text id="IDS_COM_BODY_DELETE">Eyða</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Texti</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Hætta við</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Hámarkfjölda stafa (%d) hefur verið náð</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Hámarkfjölda stafa (%d) hefur verið náð</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Skyggnur</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Glæra</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Hefja skyggnusýningu</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s er til fyrir</text>
+ <text id="IDS_COM_BODY_LOADING">Hleð...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Möppur</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Mistókst að endurnefna. Heitið er þegar í notkun</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Aðgerð mistókst</text>
+ <text id="IDS_COM_POP_SAVING_ING">Vista...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Skipting</text>
+ <text id="IDS_COM_BODY_MUSIC">Tónlist</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d atriði valin</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Á að búa til möppu?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Ekki tókst að eyða</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 atriði valið</text>
+ <text id="IDS_COM_BODY_VIDEO">Myndskeið</text>
+ <text id="IDS_IV_OPT_ZOOM">Aðdráttur</text>
+ <text id="IDS_COM_BODY_COPY">Afrita</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Augasteinn</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Tími milli mynda</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Myndspilari</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Skyggnusýning</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekúndur</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Snúið til vinstri</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Síða</text>
+ <text id="IDS_COM_POP_COPYING_ING">Afritun stendur yfir...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekúndur</text>
+ <text id="IDS_COM_POP_PROCESSING">Vinnsla í gangi...</text>
+ <text id="IDS_COM_BODY_GALLERY">Gallerí</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Ekkert heiti</text>
+ <text id="IDS_COM_BODY_IMAGES">Myndir</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Lækka</text>
+ <text id="IDS_COM_HEADER_EDIT">Breyta</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekúndur</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Það eru engir hlutir valdir</text>
+ <text id="IDS_COM_POP_DELETED">Eytt</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Á að fjarlægja?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Er þegar til. Viltu skrifa yfir?</text>
+ <text id="IDS_COM_POP_DELETING">Verið er að eyða...</text>
+ <text id="IDS_COM_POP_DONE">Lokið</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekúndur</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Myndarúlla</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Snúið til hægri</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Endurtaka</text>
+ <text id="IDS_COM_POP_SAVED">Vistað</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Leysa upp</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Stokka</text>
+ <text id="IDS_COM_POP_MOVING">Verið er að flytja...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Ekki tókst að flytja</text>
+ <text id="IDS_COM_BODY_VIDEOS">Myndskeið</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Óstudd skráargerð</text>
+ <text id="IDS_COM_BODY_RENAME">Endurnefna</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Lokið</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Velja allt</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Allar plötur</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Breyta heiti</text>
+ <text id="IDS_COM_BODY_MOVE">Færa</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Það er ekki hægt að eyða</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Snúið til hægri</text>
+ <text id="IDS_IV_BODY_INTERVAL">Bil</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Er þegar til</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Búa til albúm</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Engin atriði</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Rimlagardína</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Mistókst að vista</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Raggiunto numero massimo di caratteri</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Presentazione</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Superato numero massimo di file</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Impostazioni presentazione</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Seleziona tutto</text>
+ <text id="IDS_COM_POP_DELETE_Q">Eliminare?</text>
+ <text id="IDS_COM_BODY_EDIT">Modifica</text>
+ <text id="IDS_COM_BODY_MESSAGE">Messaggio</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Download</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nome album già in uso</text>
+ <text id="IDS_COM_OPT_SAVE">Salva</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 secondi</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Attivazione</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Ruota a sinistra</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 secondi</text>
+ <text id="IDS_COM_BODY_MESSAGES">Messaggi</text>
+ <text id="IDS_COM_SK_DONE">Fatto</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Impossibile rinominare</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caratteri non validi</text>
+ <text id="IDS_COM_POP_MOVED">Spostato</text>
+ <text id="IDS_COM_POP_CANCEL">Annulla</text>
+ <text id="IDS_COM_BODY_SELECTED">Selezionato</text>
+ <text id="IDS_COM_BODY_DELETE">Elimina</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Sottotitoli</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Annulla</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Raggiunto numero massimo di caratteri (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Raggiunto numero massimo di caratteri (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Present.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Scorrimento</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Avvia presentazione</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s esiste già</text>
+ <text id="IDS_COM_BODY_LOADING">Caricamento...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Album</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Impossibile rinominare. Nome album già in uso</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operazione non eseguita</text>
+ <text id="IDS_COM_POP_SAVING_ING">Salvataggio...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Effetto di transizione</text>
+ <text id="IDS_COM_BODY_MUSIC">Musica</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementi selezionati</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Creare cartella?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Eliminazione non riuscita</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 elemento selezionato</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copia</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iride</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervallo presentazione</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Lettore video</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Presentazione</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">secondi</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Ruota a sinistra</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Pagina</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copia...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 secondi</text>
+ <text id="IDS_COM_POP_PROCESSING">Elaborazione...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galleria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nessun nome</text>
+ <text id="IDS_COM_BODY_IMAGES">Immagini</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Sfumatura</text>
+ <text id="IDS_COM_HEADER_EDIT">Modifica</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 secondi</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nessun elemento selezionato</text>
+ <text id="IDS_COM_POP_DELETED">Eliminato/i</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Rimuovere?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Già esistente. Sovrascrivere?</text>
+ <text id="IDS_COM_POP_DELETING">Eliminazione...</text>
+ <text id="IDS_COM_POP_DONE">Fatto</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 secondi</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Foto personali</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Ruota a destra</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Ripeti</text>
+ <text id="IDS_COM_POP_SAVED">Salvato</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissolvenza</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Riproduzione casuale</text>
+ <text id="IDS_COM_POP_MOVING">Spostamento...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Spostamento non riuscito</text>
+ <text id="IDS_COM_BODY_VIDEOS">Video</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipo di file non support.</text>
+ <text id="IDS_COM_BODY_RENAME">Rinomina</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Fatto</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Sel. tutto</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Tutti gli album</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Cambia nome</text>
+ <text id="IDS_COM_BODY_MOVE">Sposta</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Impossibile eliminare</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Ruota a destra</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervallo</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Già esiste</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Crea album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Nessun elemento</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Veneziana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Errore durante il salvataggio</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">最大文字数に達しました。</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">スライドショー</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">ファイルの最大件数を超えています。</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">スライドショーの設定</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">全て選択</text>
+ <text id="IDS_COM_POP_DELETE_Q">削除しますか?</text>
+ <text id="IDS_COM_BODY_EDIT">編集</text>
+ <text id="IDS_COM_BODY_MESSAGE">メッセージ</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">ダウンロード</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">アルバム名は既に使用しています。</text>
+ <text id="IDS_COM_OPT_SAVE">保存</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20秒</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">アクティベーション</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">左に回転</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2秒</text>
+ <text id="IDS_COM_BODY_MESSAGES">メッセージ</text>
+ <text id="IDS_COM_SK_DONE">完了</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">名前を変更できません。</text>
+ <text id="IDS_COM_BODY_EMAIL">Eメール</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">無効な文字です。</text>
+ <text id="IDS_COM_POP_MOVED">移動しました。</text>
+ <text id="IDS_COM_POP_CANCEL">キャンセル</text>
+ <text id="IDS_COM_BODY_SELECTED">選択済み</text>
+ <text id="IDS_COM_BODY_DELETE">削除</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">字幕</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">キャンセル</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">最大文字数(%d)に達しました。</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">最大文字数(%d)に達しました。</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">スライドショー</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">スライド</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">スライドショーを開始</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%sは既に存在します。</text>
+ <text id="IDS_COM_BODY_LOADING">読み込み中...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">アルバム</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">名前を変更できません。アルバム名は既に使用されています</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">操作に失敗しました。</text>
+ <text id="IDS_COM_POP_SAVING_ING">保存中...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">通過効果</text>
+ <text id="IDS_COM_BODY_MUSIC">音楽</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d件選択</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">フォルダを作成しますか?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">削除できませんでした。</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1件選択</text>
+ <text id="IDS_COM_BODY_VIDEO">動画</text>
+ <text id="IDS_IV_OPT_ZOOM">ズーム</text>
+ <text id="IDS_COM_BODY_COPY">コピー</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">アイリス</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">スライドショーの間隔</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">動画</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">スライドショー</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">秒</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">左に回転</text>
+ <text id="IDS_EBOOK_BODY_PAGE">ページ</text>
+ <text id="IDS_COM_POP_COPYING_ING">コピー中...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10秒</text>
+ <text id="IDS_COM_POP_PROCESSING">処理中...</text>
+ <text id="IDS_COM_BODY_GALLERY">ギャラリー</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">名前なし</text>
+ <text id="IDS_COM_BODY_IMAGES">画像</text>
+ <text id="IDS_MEDIABR_BODY_FADE">フェード</text>
+ <text id="IDS_COM_HEADER_EDIT">編集</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5秒</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">アイテムを選択していません。</text>
+ <text id="IDS_COM_POP_DELETED">削除しました。</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">削除しますか?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">同名ファイルがあります。上書きしますか?</text>
+ <text id="IDS_COM_POP_DELETING">削除中...</text>
+ <text id="IDS_COM_POP_DONE">完了</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3秒</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">カメラロール</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">右に回転</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">繰り返し</text>
+ <text id="IDS_COM_POP_SAVED">保存しました。</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">ディゾルブ</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">シャッフル</text>
+ <text id="IDS_COM_POP_MOVING">移動中...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">移動に失敗しました。</text>
+ <text id="IDS_COM_BODY_VIDEOS">動画</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">未対応のファイルです</text>
+ <text id="IDS_COM_BODY_RENAME">名前を変更</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">完了しました。</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">全て選択</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">全アルバム</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">名前を変更</text>
+ <text id="IDS_COM_BODY_MOVE">移動</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">削除できません。</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">右に回転</text>
+ <text id="IDS_IV_BODY_INTERVAL">間隔</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">既に登録されています。</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">アルバム作成</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">アイテムがありません。</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">ブラインド</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">保存に失敗しました。</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">სლაიდშოუ</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">გადაჭარბებულია ფაილების მაქსიმალური რაოდენობა</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">სლაიდ–შოუს პარამეტრები</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">ყველას არჩევა</text>
+ <text id="IDS_COM_POP_DELETE_Q">წაიშალოს?</text>
+ <text id="IDS_COM_BODY_EDIT">შეცვლა</text>
+ <text id="IDS_COM_BODY_MESSAGE">შეტყობინება</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">გადმოწერილები</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">ალბომის სახელი უკვე არის</text>
+ <text id="IDS_COM_OPT_SAVE">შენახვა</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 წამი</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">გააქტიურება</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">მარცხნივ მოტრიალება</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 წამი</text>
+ <text id="IDS_COM_BODY_MESSAGES">შეტყობინებები</text>
+ <text id="IDS_COM_SK_DONE">შესრულდა</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">სახელს ვერ შეცვლით</text>
+ <text id="IDS_COM_BODY_EMAIL">ელ-ფოსტა</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">სიმბოლოები არასწორია</text>
+ <text id="IDS_COM_POP_MOVED">გადატანილია</text>
+ <text id="IDS_COM_POP_CANCEL">გაუქმება</text>
+ <text id="IDS_COM_BODY_SELECTED">შერჩეული</text>
+ <text id="IDS_COM_BODY_DELETE">წაშლა</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">სუბტიტრები</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">გაუქმება</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">მიღწეულია სიმბოლოების მაქსიმალური რაოდენობა (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">სლაიდ–შოუ</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">სლაიდი</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">სლაიდშოუს დაწყება</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s უკვე არსებობს</text>
+ <text id="IDS_COM_BODY_LOADING">იტვირთება...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">ალბომები</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">სახელს ვერ შეცვლით. ალბომის სახელი უკვე გამოყენებულია</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">ოპერაცია ვერ შესრულდა</text>
+ <text id="IDS_COM_POP_SAVING_ING">ინახება...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">გადასვლის ეფექტი</text>
+ <text id="IDS_COM_BODY_MUSIC">მუსიკა</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">არჩეულია %d ელემენტი</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">შექმნით საქაღალდეს?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">წაშლა არ მოხერხდა</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">არჩეულია 1 ელემენტი</text>
+ <text id="IDS_COM_BODY_VIDEO">ვიდეო</text>
+ <text id="IDS_IV_OPT_ZOOM">მასშტაბი</text>
+ <text id="IDS_COM_BODY_COPY">ასლი</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">ირისი</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">სლაიდ–შოუს ინტერვალი</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">ვიდეო პლეერი</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">სლაიდ–შოუ</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">წამი</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">მარცხნივ მოტრიალება</text>
+ <text id="IDS_EBOOK_BODY_PAGE">გვერდი</text>
+ <text id="IDS_COM_POP_COPYING_ING">კოპირდება...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 წამი</text>
+ <text id="IDS_COM_POP_PROCESSING">მუშავდება...</text>
+ <text id="IDS_COM_BODY_GALLERY">გალერეა</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">უსახელო</text>
+ <text id="IDS_COM_BODY_IMAGES">გამოსახულებები</text>
+ <text id="IDS_MEDIABR_BODY_FADE">ნელ-ნელა ჩაქრობა</text>
+ <text id="IDS_COM_HEADER_EDIT">შეცვლა</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 წამი</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">ელემენტი არ არის შერჩეული</text>
+ <text id="IDS_COM_POP_DELETED">წაშლილია</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">წაიშალოს?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">უკვე არსებობს. გადავაწერო?</text>
+ <text id="IDS_COM_POP_DELETING">წაშლა...</text>
+ <text id="IDS_COM_POP_DONE">შესრულებულია</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 წამი</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">ვიდეოფრაგმენტი</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">მარჯვნივ მოტრიალება</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">გამეორება</text>
+ <text id="IDS_COM_POP_SAVED">შენახულია</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">თანდათან გაქრობა</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">გადანაცვლება</text>
+ <text id="IDS_COM_POP_MOVING">გადატანა...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">გადატანა ვერ შესრულდა</text>
+ <text id="IDS_COM_BODY_VIDEOS">ვიდეოები</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">ფაილის ტიპი გაუთვალისწინ.</text>
+ <text id="IDS_COM_BODY_RENAME">ხელახლა დასათაურება</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">დასრულდა</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">ყველა</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">ყველა ალბომი</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">სახელის შეცვლა</text>
+ <text id="IDS_COM_BODY_MOVE">გადატანა</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">წაშლა შეუძლებელია</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">მარჯვნივ მოტრიალება</text>
+ <text id="IDS_IV_BODY_INTERVAL">ინტერვალი</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">უკვე არის</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">ალბომის შექმნა</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">ელემენტები არ არის</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">დაბინდვა</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">ვერ შეინახა</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Таңбалардың ен көп саны артты</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Слайд-шоу</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Ең көп файлдар санынан асып кетті</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Слайдшоу параметрлері</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Бәрін бөлектеу</text>
+ <text id="IDS_COM_POP_DELETE_Q">Өшіресіз бе?</text>
+ <text id="IDS_COM_BODY_EDIT">Өзгерту</text>
+ <text id="IDS_COM_BODY_MESSAGE">Хабарлама</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Жазылған</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Альбом атауы пайдаланылуда</text>
+ <text id="IDS_COM_OPT_SAVE">Сақтау</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 секунд</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Активтеу</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Солға бұру</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 секунд</text>
+ <text id="IDS_COM_BODY_MESSAGES">Хабарламалар</text>
+ <text id="IDS_COM_SK_DONE">Дайын</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Атын өзгерту мүмкін емес</text>
+ <text id="IDS_COM_BODY_EMAIL">Эл. пошта</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Қате әріптер</text>
+ <text id="IDS_COM_POP_MOVED">Орналастырылды</text>
+ <text id="IDS_COM_POP_CANCEL">Тоқтату</text>
+ <text id="IDS_COM_BODY_SELECTED">Таңдалды</text>
+ <text id="IDS_COM_BODY_DELETE">Жою</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Субтитрлер</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Тоқтату</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Ең көп таңбалар санына (%d) жетті</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Ең көп таңбалар санына (%d) жетті</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Слайдшоу</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Слайд</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Слайдшоуды бастау</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s бар</text>
+ <text id="IDS_COM_BODY_LOADING">Жазылуда...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Альбомдар</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Атауын өзгерту мүмкін емес. Альбомның атауы пайдаланылуда</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Әрекет сәтсіз аяқталды</text>
+ <text id="IDS_COM_POP_SAVING_ING">Сақталуда...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Өтпелі әсер</text>
+ <text id="IDS_COM_BODY_MUSIC">Музыка</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d элемент таңдалды</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Қалта құрасыз ба?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Жою үстінде үзіліп кетті</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 элемент таңдалды</text>
+ <text id="IDS_COM_BODY_VIDEO">Бейне</text>
+ <text id="IDS_IV_OPT_ZOOM">Ауқымы</text>
+ <text id="IDS_COM_BODY_COPY">Көшіру</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Жыланқияқ</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Слайдшоу аралығы</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Бейне ойнатқыш</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Слайдшоу</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">секунд</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Солға бұру</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Бет</text>
+ <text id="IDS_COM_POP_COPYING_ING">Көшірілуде...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 секунд</text>
+ <text id="IDS_COM_POP_PROCESSING">Өңделуде...</text>
+ <text id="IDS_COM_BODY_GALLERY">Галерея</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Ондай есім жоқ</text>
+ <text id="IDS_COM_BODY_IMAGES">Суреттер</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Тегіс пайда болу</text>
+ <text id="IDS_COM_HEADER_EDIT">Өзгерту</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 секунд</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Мазмұны таңдалған жоқ</text>
+ <text id="IDS_COM_POP_DELETED">Жойылды</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Жоясыз ба?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Бар. Қайта жазу керек пе?</text>
+ <text id="IDS_COM_POP_DELETING">Жойылуда...</text>
+ <text id="IDS_COM_POP_DONE">Аяқталды</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 секунд</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Камера білігі</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Оңға бұру</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Қайталау</text>
+ <text id="IDS_COM_POP_SAVED">Сақталған</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Жоқ болу</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Кездейсоқ тәртіп</text>
+ <text id="IDS_COM_POP_MOVING">Орналастырылды</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Орналастырылмады</text>
+ <text id="IDS_COM_BODY_VIDEOS">Бейнежазбалар</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Қолданылмайтын файл түрі</text>
+ <text id="IDS_COM_BODY_RENAME">Атын өзгерту</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Аяқталды</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Барл. таң.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Барлық альбомдар</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Атын өзгерту</text>
+ <text id="IDS_COM_BODY_MOVE">Орналастыру</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Жою мүмкін емес</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Оңға бұру</text>
+ <text id="IDS_IV_BODY_INTERVAL">Аралық</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Қолданыста бар</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Альбом жасау</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Баптар жоқ</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Көрінбейді</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Сақтау сәтсіз</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">입력 가능한 최대 글자수를 초과하였습니다</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">슬라이드쇼</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">최대 파일 수를 초과하였습니다</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">슬라이드쇼 설정</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">모두 선택</text>
+ <text id="IDS_COM_POP_DELETE_Q">삭제할까요?</text>
+ <text id="IDS_COM_BODY_EDIT">편집</text>
+ <text id="IDS_COM_BODY_MESSAGE">메시지</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">다운로드 관리</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">사용 중인 이름입니다</text>
+ <text id="IDS_COM_OPT_SAVE">저장</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20초</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">실행</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">왼쪽으로 회전</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2초</text>
+ <text id="IDS_COM_BODY_MESSAGES">메시지</text>
+ <text id="IDS_COM_SK_DONE">완료</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">이름을 변경할 수 없습니다</text>
+ <text id="IDS_COM_BODY_EMAIL">이메일</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">글자가 바르지 않습니다</text>
+ <text id="IDS_COM_POP_MOVED">이동되었습니다</text>
+ <text id="IDS_COM_POP_CANCEL">취소</text>
+ <text id="IDS_COM_BODY_SELECTED">단일 선택</text>
+ <text id="IDS_COM_BODY_DELETE">삭제</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">자막</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">취소</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">최대 글자 수(%d개)를 초과하였습니다</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">최대 글자 수(%d개)를 초과하였습니다</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">슬라이드쇼</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">슬라이드</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">슬라이드쇼 시작</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s이(가) 저장되어 있습니다</text>
+ <text id="IDS_COM_BODY_LOADING">로딩 중...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">앨범</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">사용 중인 앨범 이름이므로 변경할 수 없습니다</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">작업을 수행하지 못하였습니다</text>
+ <text id="IDS_COM_POP_SAVING_ING">저장 중...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">전환 효과</text>
+ <text id="IDS_COM_BODY_MUSIC">음악</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d개의 항목이 선택되었습니다</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">폴더를 추가할까요?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">삭제하지 못하였습니다</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1개의 항목이 선택되었습니다</text>
+ <text id="IDS_COM_BODY_VIDEO">동영상</text>
+ <text id="IDS_IV_OPT_ZOOM">확대/축소</text>
+ <text id="IDS_COM_BODY_COPY">복사</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">아이리스</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">슬라이드쇼 전환 간격</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">비디오 플레이어</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">슬라이드쇼</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">초</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">왼쪽으로 회전</text>
+ <text id="IDS_EBOOK_BODY_PAGE">페이지</text>
+ <text id="IDS_COM_POP_COPYING_ING">복사 중...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10초</text>
+ <text id="IDS_COM_POP_PROCESSING">처리 중...</text>
+ <text id="IDS_COM_BODY_GALLERY">갤러리</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">이름이 없습니다</text>
+ <text id="IDS_COM_BODY_IMAGES">이미지</text>
+ <text id="IDS_MEDIABR_BODY_FADE">페이드</text>
+ <text id="IDS_COM_HEADER_EDIT">편집</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5초</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">선택된 항목이 없습니다</text>
+ <text id="IDS_COM_POP_DELETED">삭제되었습니다</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">제거할까요?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">사용 중인 이름입니다. 덮어쓸까요?</text>
+ <text id="IDS_COM_POP_DELETING">삭제 중...</text>
+ <text id="IDS_COM_POP_DONE">완료</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3초</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">카메라 앨범</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">오른쪽으로 회전</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">반복</text>
+ <text id="IDS_COM_POP_SAVED">저장되었습니다</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">디졸브</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">셔플</text>
+ <text id="IDS_COM_POP_MOVING">이동 중...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">이동하지 못하였습니다</text>
+ <text id="IDS_COM_BODY_VIDEOS">동영상</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">지원되지 않는 파일 형식입니다</text>
+ <text id="IDS_COM_BODY_RENAME">이름 변경</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">완료되었습니다</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">모두 선택</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">모든 앨범</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">이름 변경</text>
+ <text id="IDS_COM_BODY_MOVE">이동</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">삭제할 수 없습니다</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">오른쪽으로 회전</text>
+ <text id="IDS_IV_BODY_INTERVAL">간격</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">이미 저장되어 있습니다</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">앨범 추가</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">항목이 없습니다</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">블라인드</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">저장하지 못하였습니다</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Sasniegts maksimālais rakstzīmju skaits</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slaidrāde</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Pārsniegts maksimālais failu skaits</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slaidrādes iestatījumi</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Izv. visu</text>
+ <text id="IDS_COM_POP_DELETE_Q">Vai dzēst?</text>
+ <text id="IDS_COM_BODY_EDIT">Rediģēt</text>
+ <text id="IDS_COM_BODY_MESSAGE">Ziņa</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Lejupielādes</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Alb.nosauk. jau tiek liet.</text>
+ <text id="IDS_COM_OPT_SAVE">Saglabāt</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekundes</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivizēšana</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Pagriezt pa kreisi</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekundes</text>
+ <text id="IDS_COM_BODY_MESSAGES">Ziņas</text>
+ <text id="IDS_COM_SK_DONE">Gatavs</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nevar pārdēvēt</text>
+ <text id="IDS_COM_BODY_EMAIL">E-pasts</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Nederīgas rakstzīmes</text>
+ <text id="IDS_COM_POP_MOVED">Pārvietots</text>
+ <text id="IDS_COM_POP_CANCEL">Atcelt</text>
+ <text id="IDS_COM_BODY_SELECTED">Izvēlēts</text>
+ <text id="IDS_COM_BODY_DELETE">Dzēst</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtitri</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Atcelt</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Sasniegts maksimālais rakstzīmju skaits (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Sasniegts maksimālais rakstzīmju skaits (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slaidrāde</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slaids</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Sākt slaidrādi</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s jau pastāv</text>
+ <text id="IDS_COM_BODY_LOADING">Ielādē...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumi</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nevar pārdēvēt. Albuma nosaukums jau tiek lietots</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Darbība neizdevās</text>
+ <text id="IDS_COM_POP_SAVING_ING">Saglabā...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Pārejas efekts</text>
+ <text id="IDS_COM_BODY_MUSIC">Mūzika</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Ir izvēlēti %d objekti</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Vai izveidot mapi?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Neizdevās izdzēst</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Ir izvēlēts 1 objekts</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Tālummaiņa</text>
+ <text id="IDS_COM_BODY_COPY">Kopēt</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Varavīksne</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slaidrādes intervāls</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video atskaņotājs</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slaidrāde</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekundes</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Pagriezt pa kreisi</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Lapa</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopē...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekundes</text>
+ <text id="IDS_COM_POP_PROCESSING">Notiek apstrāde...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerija</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nav vārda</text>
+ <text id="IDS_COM_BODY_IMAGES">Attēli</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Izgaist</text>
+ <text id="IDS_COM_HEADER_EDIT">Rediģēt</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekundes</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nav izvēlētu objektu</text>
+ <text id="IDS_COM_POP_DELETED">Izdzēsts</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Vai noņemt?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Jau pastāv. Vai pārrakstīt?</text>
+ <text id="IDS_COM_POP_DELETING">Dzēš...</text>
+ <text id="IDS_COM_POP_DONE">Gatavs</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekundes</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kam.fotoatt.rul.</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Pagriezt pa labi</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Atkārtot</text>
+ <text id="IDS_COM_POP_SAVED">Saglabāts</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Izšķīdināt</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Jaukt</text>
+ <text id="IDS_COM_POP_MOVING">Pārvieto...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Pārvietošana neizdevās</text>
+ <text id="IDS_COM_BODY_VIDEOS">Video</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Neatbalstīts faila tips</text>
+ <text id="IDS_COM_BODY_RENAME">Pārdēvēt</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Pabeigts</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Izv. visu</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Visi albumi</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Mainīt vārdu</text>
+ <text id="IDS_COM_BODY_MOVE">Pārvietot</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Nevar izdzēst</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Pagriezt pa labi</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervāls</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Jau pastāv</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Izveidot albumu</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Nav vienumu</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Aizēnošana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Saglabāšana neizdevās</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Pasiektas didžiausias simbolių skaičius</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Skaidrių demonstravimas</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Viršytas didžiausias leistinas failų skaičius</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Skaidrių rodymo nustatymai</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Pasirinkti viską</text>
+ <text id="IDS_COM_POP_DELETE_Q">Ar trinti?</text>
+ <text id="IDS_COM_BODY_EDIT">Redaguoti</text>
+ <text id="IDS_COM_BODY_MESSAGE">Žinutė</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Atsisiųsti elem.</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumo pavadinimas jau yra</text>
+ <text id="IDS_COM_OPT_SAVE">Išsaugoti</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekundžių</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktyvinimas</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Sukti į kairę</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekundės</text>
+ <text id="IDS_COM_BODY_MESSAGES">Žinutės</text>
+ <text id="IDS_COM_SK_DONE">Atlikta</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Neįmanoma pervardinti</text>
+ <text id="IDS_COM_BODY_EMAIL">El. paštas</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Neteisingi simboliai</text>
+ <text id="IDS_COM_POP_MOVED">Perkelta</text>
+ <text id="IDS_COM_POP_CANCEL">Atšaukti</text>
+ <text id="IDS_COM_BODY_SELECTED">Pasirinkta</text>
+ <text id="IDS_COM_BODY_DELETE">Trinti</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtitrai</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Atšaukti</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Pasiektas didžiausias simbolių skaičius (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Pasiektas didžiausias simbolių skaičius (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Skaid.rod.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Skaidrė</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Pradėti skaidrių rodymą</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s jau yra</text>
+ <text id="IDS_COM_BODY_LOADING">Įkeliama...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumai</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Neįmanoma pakeisti pavadinimo. Toks albumo pavadinimas jau yra</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Veiksmas nepavyko</text>
+ <text id="IDS_COM_POP_SAVING_ING">Įrašoma...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Perėjimo efektas</text>
+ <text id="IDS_COM_BODY_MUSIC">Muzika</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Pasirinkta elementų: %d</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Ar kurti aplanką?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Ištrinti nepavyko</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Pasirinktas 1 elementas</text>
+ <text id="IDS_COM_BODY_VIDEO">Vaizdo įrašas</text>
+ <text id="IDS_IV_OPT_ZOOM">Mastelio keitimas</text>
+ <text id="IDS_COM_BODY_COPY">Kopijuoti</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Rainelė</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Skaidrių rodymo intervalas</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Vaizdo įrašų leistuvas</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Skaidrių rodymas</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekundės</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Sukti į kairę</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Puslapis</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopijuojama...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekundžių</text>
+ <text id="IDS_COM_POP_PROCESSING">Apdorojama...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerija</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nėra vardo</text>
+ <text id="IDS_COM_BODY_IMAGES">Vaizdai</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Išblukimas</text>
+ <text id="IDS_COM_HEADER_EDIT">Redaguoti</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekundės</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Niekas nepasirinkta</text>
+ <text id="IDS_COM_POP_DELETED">Ištrinta</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Ar šalinti?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Jau yra. Perrašyti?</text>
+ <text id="IDS_COM_POP_DELETING">Trinama...</text>
+ <text id="IDS_COM_POP_DONE">Atlikta</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekundės</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Nuotr. rodymas</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Sukti į dešinę</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Kartoti</text>
+ <text id="IDS_COM_POP_SAVED">Išsaugota</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Panaikinti</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Maišyti</text>
+ <text id="IDS_COM_POP_MOVING">Perkeliama...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Perkelti nepavyko</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vaizdo įrašai</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nepalaikomas failo tipas</text>
+ <text id="IDS_COM_BODY_RENAME">Pervardyti</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Atlikta</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Rin. Viską</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Visi albumai</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Keisti vardą</text>
+ <text id="IDS_COM_BODY_MOVE">Perkelti</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Ištrinti nepavyko</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Sukti į dešinę</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalas</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Jau yra</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Sukurti albumą</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Elementų nėra</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Žaliuzės</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Išsaugoti nepavyko</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Достигнат е максималниот број знаци</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Слајдови</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Максималниот број фајлови е надминат</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Опции за слајдовите</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Избери ги сите</text>
+ <text id="IDS_COM_POP_DELETE_Q">Да се избрише?</text>
+ <text id="IDS_COM_BODY_EDIT">Измени</text>
+ <text id="IDS_COM_BODY_MESSAGE">Порака</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Преземено</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Името на албумот постои</text>
+ <text id="IDS_COM_OPT_SAVE">Сочувај</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 секунди</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Активирање</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Ротирај лево</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 секунди</text>
+ <text id="IDS_COM_BODY_MESSAGES">Пораки</text>
+ <text id="IDS_COM_SK_DONE">Готово</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Не може да се преименува</text>
+ <text id="IDS_COM_BODY_EMAIL">Е-пошта</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Погрешни знаци</text>
+ <text id="IDS_COM_POP_MOVED">Преместено</text>
+ <text id="IDS_COM_POP_CANCEL">Откажи</text>
+ <text id="IDS_COM_BODY_SELECTED">Избраните</text>
+ <text id="IDS_COM_BODY_DELETE">Избриши</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Титли</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Откажи</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Достигнат е максималниот број знаци (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Достигнат е максималниот број знаци (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Слајдови</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Слајд</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Почни слајдови</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s веќе постои</text>
+ <text id="IDS_COM_BODY_LOADING">Активирање...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Албуми</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Не може да се преименува. Името на албумот постои</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Неуспешна операција</text>
+ <text id="IDS_COM_POP_SAVING_ING">Се снима...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Премин</text>
+ <text id="IDS_COM_BODY_MUSIC">Музика</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Избрани се %d записи</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Направи нова папка?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Неуспешно бришење</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Избран е 1 запис</text>
+ <text id="IDS_COM_BODY_VIDEO">Видео-запис</text>
+ <text id="IDS_IV_OPT_ZOOM">Зголемено</text>
+ <text id="IDS_COM_BODY_COPY">Копирај</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Зеница</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Период на слајдовите</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Видео-плеер</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Слајдови</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">секунди</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Ротирај лево</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Страна</text>
+ <text id="IDS_COM_POP_COPYING_ING">Се копира...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 секунди</text>
+ <text id="IDS_COM_POP_PROCESSING">Обработување...</text>
+ <text id="IDS_COM_BODY_GALLERY">Галерија</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Нема име</text>
+ <text id="IDS_COM_BODY_IMAGES">Слики</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Затемнување</text>
+ <text id="IDS_COM_HEADER_EDIT">Измени</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 секунди</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Не се избрани содржини</text>
+ <text id="IDS_COM_POP_DELETED">Избришано</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Отстрани?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Веќе постои. Пресними?</text>
+ <text id="IDS_COM_POP_DELETING">Се брише...</text>
+ <text id="IDS_COM_POP_DONE">Извршено</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 секунди</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Ролна на камера</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Ротирај десно</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Повторување</text>
+ <text id="IDS_COM_POP_SAVED">Меморирано</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Растворање</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Произволно</text>
+ <text id="IDS_COM_POP_MOVING">Се преместува...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Неуспешно преместување</text>
+ <text id="IDS_COM_BODY_VIDEOS">Видео-записи</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Неподдржан вид фајл</text>
+ <text id="IDS_COM_BODY_RENAME">Преименувај</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Завршено</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Изб. сите</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Сите албуми</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Смени име</text>
+ <text id="IDS_COM_BODY_MOVE">Премести</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Не може да се избрише</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Ротирај десно</text>
+ <text id="IDS_IV_BODY_INTERVAL">Интервал</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Веќе постои</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Нов албум</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Нема записи</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Ролетна</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Неуспешно снимање</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maximumaantal tekens bereikt</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diapresentatie</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maximumaantal bestanden overschreden</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Instellingen diashow</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Alles selecteren</text>
+ <text id="IDS_COM_POP_DELETE_Q">Verwijderen?</text>
+ <text id="IDS_COM_BODY_EDIT">Bewerken</text>
+ <text id="IDS_COM_BODY_MESSAGE">Bericht</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumnaam al in gebruik</text>
+ <text id="IDS_COM_OPT_SAVE">Opslaan</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 seconden</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Inschakelen</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Linksom draaien</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 seconden</text>
+ <text id="IDS_COM_BODY_MESSAGES">Berichten</text>
+ <text id="IDS_COM_SK_DONE">Gereed</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Kan de naam niet wijzigen</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Ongeldige tekens</text>
+ <text id="IDS_COM_POP_MOVED">Verplaatst</text>
+ <text id="IDS_COM_POP_CANCEL">Annuleren</text>
+ <text id="IDS_COM_BODY_SELECTED">Geselecteerd</text>
+ <text id="IDS_COM_BODY_DELETE">Wissen</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Ondertitels</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Annuleren</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximumaantal tekens (%d) bereikt</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maximumaantal tekens (%d) bereikt</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diashow</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Pictogram</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Diashow starten</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s bestaat al</text>
+ <text id="IDS_COM_BODY_LOADING">Laden...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albums</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Kan de naam niet wijzigen. Albumnaam al in gebruik</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Bewerking is mislukt</text>
+ <text id="IDS_COM_POP_SAVING_ING">Opslaan...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Overgangseffect</text>
+ <text id="IDS_COM_BODY_MUSIC">Muziek</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d items geselecteerd</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Map maken?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Verwijderen mislukt</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 item geselecteerd</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoomen</text>
+ <text id="IDS_COM_BODY_COPY">Kopiëren</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval diashow</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videospeler</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diashow</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">seconden</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Linksom draaien</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Pagina</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopiëren...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 seconden</text>
+ <text id="IDS_COM_POP_PROCESSING">Verwerken...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerij</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Geen naam</text>
+ <text id="IDS_COM_BODY_IMAGES">Afbeeldingen</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Uitvloeien</text>
+ <text id="IDS_COM_HEADER_EDIT">Bewerken</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 seconden</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Geen items geselecteerd</text>
+ <text id="IDS_COM_POP_DELETED">Verwijderd</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Verwijderen?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Bestaat al. Overschrijven?</text>
+ <text id="IDS_COM_POP_DELETING">Verwijderen...</text>
+ <text id="IDS_COM_POP_DONE">Gereed</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 seconden</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Camerarol</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rechtsom draaien</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Herhalen</text>
+ <text id="IDS_COM_POP_SAVED">Opgeslagen</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Oplossen</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Willekeurig</text>
+ <text id="IDS_COM_POP_MOVING">Verplaatsen...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Verplaatsen is mislukt</text>
+ <text id="IDS_COM_BODY_VIDEOS">Video's</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Niet-onderst. bestandtype</text>
+ <text id="IDS_COM_BODY_RENAME">Naam wijzigen</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Voltooid</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Alles sel.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Alle albums</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Naam wijzigen</text>
+ <text id="IDS_COM_BODY_MOVE">Verplaatsen</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Kan niet verwijderen</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rechtsom draaien</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Bestaat al</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Album maken</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Geen items</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Jaloezie</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Opslaan mislukt</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Nådd maksimalt antall tegn</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Bildefremvisning</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maks. antall filer overskredet</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Bildefremvisninginnstillinger</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Merk alt</text>
+ <text id="IDS_COM_POP_DELETE_Q">Slette?</text>
+ <text id="IDS_COM_BODY_EDIT">Rediger</text>
+ <text id="IDS_COM_BODY_MESSAGE">Melding</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Nedlastinger</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumnavn allerede i bruk</text>
+ <text id="IDS_COM_OPT_SAVE">Lagre</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekunder</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivering</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Roter mot klokken</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekunder</text>
+ <text id="IDS_COM_BODY_MESSAGES">Meldinger</text>
+ <text id="IDS_COM_SK_DONE">Utført</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Kan ikke gi nytt navn</text>
+ <text id="IDS_COM_BODY_EMAIL">E-post</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Ugyldige tegn</text>
+ <text id="IDS_COM_POP_MOVED">Flyttet</text>
+ <text id="IDS_COM_POP_CANCEL">Avbryt</text>
+ <text id="IDS_COM_BODY_SELECTED">Valgt</text>
+ <text id="IDS_COM_BODY_DELETE">Slett</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Undertekster</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Avbryt</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimalt antall tegn (%d) er nådd</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimalt antall tegn (%d) er nådd</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Bildevisn</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Lysbilde</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Start bildefremvisning</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s finnes allerede</text>
+ <text id="IDS_COM_BODY_LOADING">Åpner...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Album</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Kan ikke gi nytt navn. Albumnavnet er allerede i bruk</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operasjonen mislyktes</text>
+ <text id="IDS_COM_POP_SAVING_ING">Lagrer...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Overgangseffekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Musikk</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementer valgt</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Opprette mappe?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Kunne ikke slette</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 element valgt</text>
+ <text id="IDS_COM_BODY_VIDEO">Videoklipp</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Kopier</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Bildefremvisningsintervall</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videospiller</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Bildefremvisning</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekunder</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Roter mot klokken</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Side</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopierer...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekunder</text>
+ <text id="IDS_COM_POP_PROCESSING">Behandler...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galleri</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Ingen navn</text>
+ <text id="IDS_COM_BODY_IMAGES">Bilder</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Fade</text>
+ <text id="IDS_COM_HEADER_EDIT">Rediger</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekunder</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Det er ikke valgt noen elementer</text>
+ <text id="IDS_COM_POP_DELETED">Slettet</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Fjerne?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Finnes allerede. Vil du overskrive?</text>
+ <text id="IDS_COM_POP_DELETING">Sletter...</text>
+ <text id="IDS_COM_POP_DONE">Utført</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekunder</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamerabilder</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Roter med klokken</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Gjenta</text>
+ <text id="IDS_COM_POP_SAVED">Lagret</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Oppløs</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Tilfeldig avspilling</text>
+ <text id="IDS_COM_POP_MOVING">Flytter...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Flyttingen mislyktes</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videoklipp</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Filtypen støttes ikke</text>
+ <text id="IDS_COM_BODY_RENAME">Endre navn</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Fullført</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Velg alle</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Alle album</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Endre navn</text>
+ <text id="IDS_COM_BODY_MOVE">Flytt</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Kan ikke slette</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Roter med klokken</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervall</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Finnes allerede</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Lag album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Ingen elementer</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Persienne</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Kunne ikke lagre</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Osiągnięto maksymalną liczbę znaków</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Pokaz slajdów</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Przekroczono maksymalną liczbę plików</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Ustawienia pokazu slajdów</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Zaznacz wszystko</text>
+ <text id="IDS_COM_POP_DELETE_Q">Usunąć?</text>
+ <text id="IDS_COM_BODY_EDIT">Edytuj</text>
+ <text id="IDS_COM_BODY_MESSAGE">Wiadomość</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Pobrane</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nazwa albumu już w użyciu</text>
+ <text id="IDS_COM_OPT_SAVE">Zapisz</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sek.</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktywacja</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Obróć w lewo</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sek.</text>
+ <text id="IDS_COM_BODY_MESSAGES">Wiadomości</text>
+ <text id="IDS_COM_SK_DONE">Gotowe</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nie można zmienić nazwy</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Nieprawidłowe znaki</text>
+ <text id="IDS_COM_POP_MOVED">Przeniesiono</text>
+ <text id="IDS_COM_POP_CANCEL">Anuluj</text>
+ <text id="IDS_COM_BODY_SELECTED">Wybrany</text>
+ <text id="IDS_COM_BODY_DELETE">Usuń</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Napisy</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Anuluj</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Osiągnięto maksymalną liczbę znaków (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Osiągnięto maksymalną liczbę znaków (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Pok. slajd</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slajd</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Rozpocznij pokaz slajdów</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s już istnieje</text>
+ <text id="IDS_COM_BODY_LOADING">Ładuję...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumy</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nie można zmienić nazwy. Nazwa albumu już w użyciu</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operacja nie powiodła się</text>
+ <text id="IDS_COM_POP_SAVING_ING">Zapisywanie...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efekt przejścia menu</text>
+ <text id="IDS_COM_BODY_MUSIC">Muzyka</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Wybrane elementy: %d</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Utworzyć katalog ?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Błąd usuwania</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Wybrane elementy: 1</text>
+ <text id="IDS_COM_BODY_VIDEO">Film</text>
+ <text id="IDS_IV_OPT_ZOOM">Powiększenie</text>
+ <text id="IDS_COM_BODY_COPY">Kopiuj</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Koło</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Czas wyświetlania slajdów</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Odtwarzacz wideo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Pokaz slajdów</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">s</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Obróć w lewo</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Strony</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopiowanie...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sek.</text>
+ <text id="IDS_COM_POP_PROCESSING">Przetwarzanie...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galeria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Bez nazwy</text>
+ <text id="IDS_COM_BODY_IMAGES">Obrazy</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Zanikanie</text>
+ <text id="IDS_COM_HEADER_EDIT">Edytuj</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sek.</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nie wybrano elementów</text>
+ <text id="IDS_COM_POP_DELETED">Usunięto</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Usunąć?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Już istnieje. Zamienić?</text>
+ <text id="IDS_COM_POP_DELETING">Usuwanie...</text>
+ <text id="IDS_COM_POP_DONE">Gotowe</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sek.</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Rolka aparatu</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Obróć w prawo</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Powtórz</text>
+ <text id="IDS_COM_POP_SAVED">Zapisano</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Przenikanie</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Kolejność losowa</text>
+ <text id="IDS_COM_POP_MOVING">Przenoszenie...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Błąd przenoszenia</text>
+ <text id="IDS_COM_BODY_VIDEOS">Filmy</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nieobsługiwany typ pliku</text>
+ <text id="IDS_COM_BODY_RENAME">Zmień nazwę</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Zakończono</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Zazn. wsz.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Wszystkie albumy</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Zmień nazwę</text>
+ <text id="IDS_COM_BODY_MOVE">Przenieś</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Nie można usunąć</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Obróć w prawo</text>
+ <text id="IDS_IV_BODY_INTERVAL">Okres</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Już istnieje</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Utwórz album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Brak elementów</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Zasłona</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Błąd zapisywania</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Número máximo de caracteres atingido</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Exibição de slides</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Número máximo de arquivos excedido</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Configurações da apresentação de slides</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Selecionar tudo</text>
+ <text id="IDS_COM_POP_DELETE_Q">Apagar?</text>
+ <text id="IDS_COM_BODY_EDIT">Editar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mensagem</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Downloads</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nome de álbum existente</text>
+ <text id="IDS_COM_OPT_SAVE">Salvar</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segundos</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Ativação</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Girar para a esquerda</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segundos</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mensagens</text>
+ <text id="IDS_COM_SK_DONE">Concluído</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Impossível renomear</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caracteres inválidos</text>
+ <text id="IDS_COM_POP_MOVED">Movido</text>
+ <text id="IDS_COM_POP_CANCEL">Cancelar</text>
+ <text id="IDS_COM_BODY_SELECTED">Selecionado</text>
+ <text id="IDS_COM_BODY_DELETE">Apagar</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Legendas</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancelar</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) atingido</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) atingido</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Ver slides</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Transição</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Iniciar apresentação de slides</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s já existente</text>
+ <text id="IDS_COM_BODY_LOADING">Carregando...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Álbuns</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Impossível renomear. Nome de álbum já utilizado</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operação falhou</text>
+ <text id="IDS_COM_POP_SAVING_ING">Salvando...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efeito de transição</text>
+ <text id="IDS_COM_BODY_MUSIC">Músicas</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d itens selecionados</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">criar pasta?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Erro ao apagar</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 item selecionado</text>
+ <text id="IDS_COM_BODY_VIDEO">Vídeo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copiar</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervalo da apresentação de slides</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video Player</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Apresentação de slides</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segundos</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Girar para a esquerda</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Página</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copiando...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segundos</text>
+ <text id="IDS_COM_POP_PROCESSING">Processando…</text>
+ <text id="IDS_COM_BODY_GALLERY">Galeria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Sem nome</text>
+ <text id="IDS_COM_BODY_IMAGES">Imagens</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Desbotar</text>
+ <text id="IDS_COM_HEADER_EDIT">Editar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segundos</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Sem itens selecionados</text>
+ <text id="IDS_COM_POP_DELETED">Apagado</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Remover?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Já existe. Substituir?</text>
+ <text id="IDS_COM_POP_DELETING">Apagando…</text>
+ <text id="IDS_COM_POP_DONE">Concluído</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segundos</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Giro da câmera</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Girar para a direita</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetir</text>
+ <text id="IDS_COM_POP_SAVED">Salvo</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissolver</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Modo aleatório</text>
+ <text id="IDS_COM_POP_MOVING">Movendo…</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Erro ao mover</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vídeos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipo de arq. não suportado</text>
+ <text id="IDS_COM_BODY_RENAME">Renomear</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Concluído</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Sel. Tudo</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Todos os álbuns</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Alterar nome</text>
+ <text id="IDS_COM_BODY_MOVE">Mover</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Impossível apagar</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Girar para a direita</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalo</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Já existe</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Criar álbum</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Sem itens</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Persiana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Erro ao salvar</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Número máximo de caracteres atingido.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Apresentação de slides</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Número máximo de ficheiros excedido</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Definições da apresentação de slides</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Seleccionar tudo</text>
+ <text id="IDS_COM_POP_DELETE_Q">Eliminar?</text>
+ <text id="IDS_COM_BODY_EDIT">Editar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mensagem</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Transferências</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nome de álbum já utilizado</text>
+ <text id="IDS_COM_OPT_SAVE">Guardar</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segundos</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activação</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rodar para a esquerda</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segundos</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mensagem</text>
+ <text id="IDS_COM_SK_DONE">Concluído</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Impossível mudar nome</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caracteres inválidos</text>
+ <text id="IDS_COM_POP_MOVED">Movido</text>
+ <text id="IDS_COM_POP_CANCEL">Cancelar</text>
+ <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>
+ <text id="IDS_COM_BODY_DELETE">Eliminar</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Legendas</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancelar</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) atingido</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) atingido</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diaporama</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slide</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Iniciar apresentação de slides</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s já existente</text>
+ <text id="IDS_COM_BODY_LOADING">A carregar...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Álbuns</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Impossível mudar o nome. Nome de álbum já utilizado</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operação falhou</text>
+ <text id="IDS_COM_POP_SAVING_ING">A guardar...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efeito de transição</text>
+ <text id="IDS_COM_BODY_MUSIC">Música</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d itens seleccionados</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Criar pasta?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Falha ao apagar</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 item seleccionado</text>
+ <text id="IDS_COM_BODY_VIDEO">Vídeo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copiar</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Íris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Duração da apresentação</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Leitor de Vídeo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Apresentação de slides</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segundos</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rodar para a esquerda</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Página</text>
+ <text id="IDS_COM_POP_COPYING_ING">A copiar...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segundos</text>
+ <text id="IDS_COM_POP_PROCESSING">A processar...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galeria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Sem nome</text>
+ <text id="IDS_COM_BODY_IMAGES">Imagens</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Saída gradual</text>
+ <text id="IDS_COM_HEADER_EDIT">Editar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segundos</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Sem itens seleccionados</text>
+ <text id="IDS_COM_POP_DELETED">Eliminado</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Remover?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Já existe. Substituir?</text>
+ <text id="IDS_COM_POP_DELETING">A eliminar...</text>
+ <text id="IDS_COM_POP_DONE">Concluído</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segundos</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Rolo da câmara</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rodar para a direita</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetir</text>
+ <text id="IDS_COM_POP_SAVED">Guardado</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dissolver</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Aleatório</text>
+ <text id="IDS_COM_POP_MOVING">A mover...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Falha ao mover</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vídeos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipo fich. não suportado</text>
+ <text id="IDS_COM_BODY_RENAME">Mudar nome</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Concluída</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Selec. tudo</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Todos os álbuns</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Alterar nome</text>
+ <text id="IDS_COM_BODY_MOVE">Mover</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Impossível apagar.</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rodar para a direita</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalo</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Já existe</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Criar álbum</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Sem itens</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Persiana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Falha ao gravar</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Adăugare la marcaje</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Expuneri diapozitive</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Numărul maxim de fişiere a fost depăşit</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Setări expunere diapozitive</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Selectare toate</text>
+ <text id="IDS_COM_POP_DELETE_Q">Ştergeţi?</text>
+ <text id="IDS_COM_BODY_EDIT">Editare</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mesaj</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Descărcări</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Numele este deja în uz</text>
+ <text id="IDS_COM_OPT_SAVE">Salvare</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 secunde</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activare</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotire stânga</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 secunde</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mesaje</text>
+ <text id="IDS_COM_SK_DONE">Gata</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Imposibil de redenumit</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caractere nevalide</text>
+ <text id="IDS_COM_POP_MOVED">Mutat</text>
+ <text id="IDS_COM_POP_CANCEL">Anulare</text>
+ <text id="IDS_COM_BODY_SELECTED">Selectat</text>
+ <text id="IDS_COM_BODY_DELETE">Ştergere</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtitrare</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Anulare</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Numărul maxim de caractere (%d) a fost atins</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Numărul maxim de caractere (%d) a fost atins</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Ex. diap.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Diapozitiv</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Începere expunere de diapozitive</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s există deja</text>
+ <text id="IDS_COM_BODY_LOADING">Încărcare...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albume</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Imposibil de redenumit. Numele albumului este deja în uz</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operaţie nereuşită</text>
+ <text id="IDS_COM_POP_SAVING_ING">Se salvează...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efect de tranziţie</text>
+ <text id="IDS_COM_BODY_MUSIC">Muzică</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elemente selectate</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Creaţi folder?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Ştergerea nu a reuşit</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 element selectat</text>
+ <text id="IDS_COM_BODY_VIDEO">Videoclip</text>
+ <text id="IDS_IV_OPT_ZOOM">Panoramare</text>
+ <text id="IDS_COM_BODY_COPY">Copiere</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Curcubeu</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval expunere diapozitive</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Player video</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Expunere diapozitive</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">secunde</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotire stânga</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Pagină</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copiere...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 secunde</text>
+ <text id="IDS_COM_POP_PROCESSING">Se procesează...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerie</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nici un nume</text>
+ <text id="IDS_COM_BODY_IMAGES">Imagini</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Estompare</text>
+ <text id="IDS_COM_HEADER_EDIT">Editare</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 secunde</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Niciun element selectat</text>
+ <text id="IDS_COM_POP_DELETED">Şters</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Eliminare?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Există deja. Suprascrieţi?</text>
+ <text id="IDS_COM_POP_DELETING">Se şterge...</text>
+ <text id="IDS_COM_POP_DONE">Efectuat</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 secunde</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Capturi cameră</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotire dreapta</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetare</text>
+ <text id="IDS_COM_POP_SAVED">Salvat</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Dizolvare</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Amestecare</text>
+ <text id="IDS_COM_POP_MOVING">Mutare</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Mutarea nu a reuşit</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videoclipuri</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tip de fişier neacceptat</text>
+ <text id="IDS_COM_BODY_RENAME">Redenumire</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Finalizat</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Sel. int.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Toate albumele</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Schimbare nume</text>
+ <text id="IDS_COM_BODY_MOVE">Mutare</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Imposibil de şters</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotire dreapta</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Există deja</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Creare album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Niciun element</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Jaluzele</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Salvare nereuşită</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Достигнуто максимальное число символов</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Слайд-шоу</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Превышено максимальное число файлов</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Параметры</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Выбрать все</text>
+ <text id="IDS_COM_POP_DELETE_Q">Удалить?</text>
+ <text id="IDS_COM_BODY_EDIT">Изменить</text>
+ <text id="IDS_COM_BODY_MESSAGE">Сообщение</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Загрузки</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Имя альбома используется</text>
+ <text id="IDS_COM_OPT_SAVE">Соxранить</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 секунд</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Активация</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Повернуть влево</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 секунды</text>
+ <text id="IDS_COM_BODY_MESSAGES">Сообщения</text>
+ <text id="IDS_COM_SK_DONE">Готово</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Невозможно переименовать</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Недопустимые символы</text>
+ <text id="IDS_COM_POP_MOVED">Перемещено</text>
+ <text id="IDS_COM_POP_CANCEL">Отмена</text>
+ <text id="IDS_COM_BODY_SELECTED">Выбрано</text>
+ <text id="IDS_COM_BODY_DELETE">Удалить</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Субтитры</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Отмена</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Достигнуто максимальное число символов (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Достигнуто максимальное число символов (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Слайд-шоу</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Слайд-шоу</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Запустить</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s уже существует</text>
+ <text id="IDS_COM_BODY_LOADING">Загрузка...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Альбомы</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Невозможно переименовать. Имя альбома уже используется</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Сбой операции</text>
+ <text id="IDS_COM_POP_SAVING_ING">Сохранение...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Эффект перехода</text>
+ <text id="IDS_COM_BODY_MUSIC">Музыка</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Выбрано элементов: %d</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Создать папку?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Сбой удаления</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Выбран 1 элемент</text>
+ <text id="IDS_COM_BODY_VIDEO">Видео</text>
+ <text id="IDS_IV_OPT_ZOOM">Масштаб</text>
+ <text id="IDS_COM_BODY_COPY">Копировать</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Радуга</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Интервал для слайд-шоу</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Видео\nплеер</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Слайд-шоу</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">сек.</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Повернуть влево</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Страница</text>
+ <text id="IDS_COM_POP_COPYING_ING">Копирование...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 секунд</text>
+ <text id="IDS_COM_POP_PROCESSING">Обработка...</text>
+ <text id="IDS_COM_BODY_GALLERY">Галерея</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Нет имени</text>
+ <text id="IDS_COM_BODY_IMAGES">Картинки</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Растворение</text>
+ <text id="IDS_COM_HEADER_EDIT">Изменить</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 секунд</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Элементы не выбраны</text>
+ <text id="IDS_COM_POP_DELETED">Удалено</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Удалить?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Уже существует. Перезаписать?</text>
+ <text id="IDS_COM_POP_DELETING">Удаление...</text>
+ <text id="IDS_COM_POP_DONE">Готово</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 секунды</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Каталог фото</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Повернуть вправо</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Повторить</text>
+ <text id="IDS_COM_POP_SAVED">Соxранено</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Растворение</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Случайный порядок</text>
+ <text id="IDS_COM_POP_MOVING">Перемещение...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Сбой перемещения</text>
+ <text id="IDS_COM_BODY_VIDEOS">Видео</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Неподдерживаемый тип файла</text>
+ <text id="IDS_COM_BODY_RENAME">Переименовать</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Завершено</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Выбр. все</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Все альбомы</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Изменить имя</text>
+ <text id="IDS_COM_BODY_MOVE">Переместить</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Невозможно удалить</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Повернуть вправо</text>
+ <text id="IDS_IV_BODY_INTERVAL">Интервал</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Уже существует</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Создать альбом</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Нет элементов</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Жалюзи</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Сбой сохранения</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="2.0.0.201306151404" Dversion="20120315">
+ <Popup id="IDL_DEL_PROGRESSING_POPUP">
+ <property accessibilityHint="" color="" titleText="" titleTextColor=""/>
+ <layout height="264.0" mode="Portrait" style="" type="NONE" width="692.0"/>
+ <layout height="281.0" mode="Landscape" style="" type="NONE" width="620.0"/>
+ </Popup>
+ <Label id="IDC_LABEL_POPUP_CENTER_BACKGROUND" parent="IDL_DEL_PROGRESSING_POPUP">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout height="128.0" mode="Portrait" width="632.0" x="10.0" y="10.0"/>
+ <layout height="172.0" mode="Landscape" width="596.0" x="0.0" y="0.0"/>
+ </Label>
+ <Label id="IDC_LABEL_POPUP_BOTTOM_BACKGROUND" parent="IDL_DEL_PROGRESSING_POPUP">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_NORMAL" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout height="96.0" mode="Portrait" width="612.0" x="20.0" y="151.0"/>
+ <layout height="96.0" mode="Landscape" width="596.0" x="5.0" y="187.0"/>
+ </Label>
+ <Label id="IDC_ANIMATION_HEADER" parent="IDL_DEL_PROGRESSING_POPUP">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="" textColor="#7F7F7F" textSize="40.0" textStyle="LABEL_TEXT_STYLE_BOLD" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout height="46.0" mode="Portrait" width="596.0" x="28.0" y="25.0"/>
+ <layout height="47.0" mode="Landscape" width="564.0" x="16.0" y="27.0"/>
+ </Label>
+ <Progress id="IDC_PROGRESS_BAR" parent="IDL_DEL_PROGRESSING_POPUP">
+ <property accessibilityHint="" backgroundColor="" barBackgroundColor="" barColor="" leftText="" max="100" min="0" rightText="" showValueState="true" value="50"/>
+ <layout height="50.0" mode="Portrait" style="PROGRESS_STYLE_NONE" width="564.0" x="44.0" y="75.0"/>
+ <layout height="39.0" mode="Landscape" style="PROGRESS_STYLE_NONE" width="548.0" x="32.0" y="84.0"/>
+ </Progress>
+ <Button id="IDC_CANCEL_BUTTON" parent="IDL_DEL_PROGRESSING_POPUP">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout height="72.0" mode="Portrait" width="400.0" x="128.0" y="162.0"/>
+ <layout height="72.0" mode="Landscape" width="400.0" x="98.0" y="197.0"/>
+ </Button>
+ <Label id="IDC_COUNTER_LABEL" parent="IDL_DEL_PROGRESSING_POPUP">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="" backgroundColorOpacity="0" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="Label1" textColor="" textSize="33.0" textStyle="LABEL_TEXT_STYLE_BOLD" topMargin="0" verticalAlign="ALIGN_TOP"/>
+ <layout height="38.0" mode="Portrait" width="197.0" x="461.0" y="113.0"/>
+ <layout height="45.0" mode="Landscape" width="233.0" x="380.0" y="124.0"/>
+ </Label>
+</ScenePopup>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="2.0.0.201306281023" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_ALBUM_LIST">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ <layout mode="Landscape" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="0" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="false" showMenuButton="false"/>
+ <itemSet/>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="0" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="0" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="0" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="0" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="0" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="0" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="0" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="0" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="0" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="0" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="2.0.0.201306281023" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_ALBUM_LIST_EDITOR">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ <layout mode="Landscape" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" showMenuButton="false"/>
+ <itemSet>
+ <footerItem accessibilityHint="" actionId="908" disabledIconPath="T01_toolbar_icon_share_dim_web.png" highlightedIconPath="" normalIconPath="T01_controlbar_icon_share02.png" pressedIconPath="" selectedIconPath="" text=""/>
+ <footerItem accessibilityHint="" actionId="905" disabledIconPath="T01_toolbar_icon_delete_dim_web.png" highlightedIconPath="" normalIconPath="T01_controlbar_icon_delete.png" pressedIconPath="" selectedIconPath="" text=""/>
+ </itemSet>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="::IDS_COM_HEADER_EDIT" titleTextColor=""/>
+ <itemSet>
+ <buttonItem accessibilityHint="" actionId="201" disabledBGBitmapPath="" disabledIconPath="" highlightedBGBitmapPath="" highlightedIconPath="" normalBGBitmapPath="" normalIconPath="00_icon_select_all_web.png" position="BUTTON_POSITION_RIGHT" pressedBGBitmapPath="" pressedIconPath="00_icon_select_all_press_web.png" style="BUTTON_ITEM_STYLE_ICON" text="" type="right"/>
+ </itemSet>
+ </Header>
+ <Label id="IDC_LABEL_ALBUM_LIST_EDITOR_SELECTED" parent="IDL_FORM_ALBUM_LIST_EDITOR">
+ <property accessibilityHint="" backgroundBitmapPath="" backgroundColor="#444444" backgroundColorOpacity="100" horizontalAlign="ALIGN_LEFT" leftMargin="16" text="::IDS_ST_POP_NO_ITEMS_SELECTED" textColor="#FFFFFF" textSize="33.0" textStyle="LABEL_TEXT_STYLE_BOLD" topMargin="0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="IDL_FORM_ALBUM_LIST_EDITOR" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="48.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_FORM_ALBUM_LIST_EDITOR" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_FORM_ALBUM_LIST_EDITOR" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="0.0" y="1038.0"/>
+ <layout bottomRelation="IDL_FORM_ALBUM_LIST_EDITOR" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="44.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_FORM_ALBUM_LIST_EDITOR" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_FORM_ALBUM_LIST_EDITOR" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="1280.0" x="0.0" y="500.0"/>
+ </Label>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="2.0.0.201307091413" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_ALBUM_NAME_EDITOR">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ <layout mode="Landscape" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON_TEXT" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" showMenuButton="false"/>
+ <itemSet/>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="::IDS_COM_BODY_RENAME" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+ <EditField id="IDC_EDITFIELD_NAME" parent="IDL_FORM_ALBUM_NAME_EDITOR">
+ <property accessibilityHint="" disabledBGBitmapPath="" disabledColor="" disabledColorOpacity="100" disabledTextColor="" ellipsisPosition="ELLIPSIS_POSITION_END" enableClear="true" groupStyle="GROUP_STYLE_NONE" guideText="" guideTextColor="" highlightedBGBitmapPath="" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalMargin="16.0" inputStyle="INPUT_STYLE_OVERLAY" keypadAction="KEYPAD_ACTION_ENTER" keypadEnabled="true" limitLength="255" linkTextColor="" lowerCaseMode="false" normalBGBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedColor="" pressedColorOpacity="100" text="" textHorizontalAlignment="ALIGNMENT_LEFT" textSize="45.0" titleStyle="EDIT_FIELD_TITLE_STYLE_NONE" titleText="" titleTextColor="" verticalMargin="12.0" viewMode="false"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="100.0" horizontalFitPolicy="FIT_POLICY_PARENT" leftRelation="None" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="None" rightRelationType="" style="EDIT_FIELD_STYLE_NORMAL" topRelation="" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="720.0" x="0" y="0.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="120.0" horizontalFitPolicy="FIT_POLICY_PARENT" leftRelation="" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" style="EDIT_FIELD_STYLE_NORMAL" topRelation="" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_FIXED" width="1280.0" x="0" y="21.0"/>
+ </EditField>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="2.0.0.201306281023" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_FILE_LIST">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Portrait" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="NONE"/>
+ <layout mode="Landscape" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="NONE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" showMenuButton="false"/>
+ <itemSet/>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="File View" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="2.0.0.201306281023" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_FILE_LIST_EDITOR">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="NONE"/>
+ <layout mode="Landscape" style="FORM_STYLE_HEADER|FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="NONE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_BUTTON_ICON" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" showMenuButton="false"/>
+ <itemSet>
+ <footerItem accessibilityHint="" actionId="908" disabledIconPath="T01_toolbar_icon_share_dim_web.png" highlightedIconPath="" normalIconPath="T01_controlbar_icon_share02.png" pressedIconPath="" selectedIconPath="" text=""/>
+ <footerItem accessibilityHint="" actionId="905" disabledIconPath="T01_toolbar_icon_delete_dim_web.png" highlightedIconPath="" normalIconPath="T01_controlbar_icon_delete.png" pressedIconPath="" selectedIconPath="" text=""/>
+ </itemSet>
+ </Footer>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="::IDS_COM_BODY_GALLERY" titleTextColor=""/>
+ <itemSet>
+ <buttonItem accessibilityHint="" actionId="201" disabledBGBitmapPath="" disabledIconPath="" highlightedBGBitmapPath="" highlightedIconPath="" normalBGBitmapPath="" normalIconPath="00_icon_select_all_web.png" position="BUTTON_POSITION_RIGHT" pressedBGBitmapPath="" pressedIconPath="00_icon_select_all_press_web.png" style="BUTTON_ITEM_STYLE_ICON" text="" type="right"/>
+ </itemSet>
+ </Header>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+
+<Scene Bversion="2.0.0.201306151404" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_IMAGE_CROP">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ <layout mode="Landscape" style="FORM_STYLE_FOOTER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Footer>
+ <property backgroundBitmapPath="" color="" colorOpacity="100" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" footerStyle="FOOTER_STYLE_TAB" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" showMenuButton="false"/>
+ <itemSet/>
+ </Footer>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE Scene SYSTEM "UIForm.dtd">
+<Scene Bversion="2.0.0.201306281023" Dversion="20120315">
+ <LogicalCoordinate>720</LogicalCoordinate>
+ <Form id="IDL_FORM_SETTING_MAIN">
+ <property backgroundColor="" backgroundColorOpacity="100" notificationTrayOpenEnabled="false" orientation="Automatic" softKey0NormalIcon="" softKey0PressedIcon="" softKey0Text="" softKey1NormalIcon="" softKey1PressedIcon="" softKey1Text="" title="" titleAlign="ALIGN_CENTER" titleIcon="" translucentFooter="false" translucentHeader="false" translucentIndicator="false"/>
+ <layout mode="Portrait" style="FORM_STYLE_HEADER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ <layout mode="Landscape" style="FORM_STYLE_HEADER|FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE|FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE" type="LAYOUT_RELATIVE"/>
+ </Form>
+ <Header>
+ <property accessibilityHint="" backgroundBitmapPath="" color="" colorOpacity="100" descriptionText="" descriptionTextColor="" disabledButtonColor="" disabledButtonColorOpacity="100" disabledButtonTextColor="" disabledItemColor="" disabledItemColorOpacity="100" disabledItemTextColor="" headerStyle="HEADER_STYLE_TITLE" highlightedButtonColor="" highlightedButtonColorOpacity="100" highlightedButtonTextColor="" highlightedItemColor="" highlightedItemColorOpacity="100" highlightedItemTextColor="" normalButtonColor="" normalButtonColorOpacity="100" normalButtonTextColor="" normalItemColor="" normalItemColorOpacity="100" normalItemTextColor="" pressedButtonColor="" pressedButtonColorOpacity="100" pressedButtonTextColor="" pressedItemColor="" pressedItemColorOpacity="100" pressedItemTextColor="" selectedItemColor="" selectedItemColorOpacity="100" selectedItemTextColor="" showBackButton="false" titleIconPath="" titleText="" titleTextColor=""/>
+ <itemSet/>
+ </Header>
+ <GroupedListView id="IDC_SETTING_LIST" parent="IDL_FORM_SETTING_MAIN">
+ <property backgroundBitmapPath="" backgroundColor="#F9F9F9" backgroundColorOpacity="100" bitmapPathOfEmptyList="" colorOfEmptyListText="" itemDivider="true" itemDividerColor="#8E9AA3" listScrollStyle="SCROLL_STYLE_FADE_OUT" scrollInputMode="SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION" sectionColor="" sweepEnabled="false" textOfEmptyList=""/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="1184.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_FORM_SETTING_MAIN" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="IDL_FORM_SETTING_MAIN" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" style="CUSTOM_LIST_STYLE_NORMAL" topRelation="" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_PARENT" width="720.0" x="0.0" y="0"/>
+ <layout bottomRelation="IDL_FORM_SETTING_MAIN" bottomRelationType="RECT_EDGE_RELATION_BOTTOM_TO_BOTTOM" centerHorizontal="false" centerVertical="false" height="629.0" horizontalFitPolicy="FIT_POLICY_PARENT" leftRelation="IDL_FORM_SETTING_MAIN" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="IDL_FORM_SETTING_MAIN" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" style="CUSTOM_LIST_STYLE_NORMAL" topRelation="IDL_FORM_SETTING_MAIN" topRelationType="RECT_EDGE_RELATION_TOP_TO_TOP" verticalFitPolicy="FIT_POLICY_PARENT" width="1280.0" x="0" y="0"/>
+ </GroupedListView>
+</Scene>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<!DOCTYPE ScenePopup SYSTEM "UIForm.dtd">
+<ScenePopup Bversion="2.0.0.201306151404" Dversion="20120315">
+ <Popup id="IDL_SLIDESHOW_SETTING_POPUP">
+ <property accessibilityHint="" color="#FFFFFF" titleText="::IDS_MEDIABR_OPT_SLIDESHOW" titleTextColor=""/>
+ <layout height="440.0" mode="Portrait" style="" type="LAYOUT_RELATIVE" width="620.0"/>
+ <layout height="410.0" mode="Landscape" style="" type="LAYOUT_RELATIVE" width="600.0"/>
+ </Popup>
+ <ListView id="IDC_POPUP_LIST" parent="IDL_SLIDESHOW_SETTING_POPUP">
+ <property backgroundBitmapPath="" backgroundColor="#FFFFFF" backgroundColorOpacity="0" bitmapPathOfEmptyList="" colorOfEmptyListText="" itemDivider="true" itemDividerColor="" listScrollStyle="SCROLL_STYLE_FADE_OUT" scrollInputMode="SCROLL_INPUT_MODE_ALLOW_ANY_DIRECTION" sweepEnabled="false" textOfEmptyList=""/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="226.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_SLIDESHOW_SETTING_POPUP" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="3.5" marginRight="3.5" marginTop="0.0" mode="Portrait" rightRelation="IDL_SLIDESHOW_SETTING_POPUP" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="613.0" x="3.5" y="3.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="224.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="IDL_SLIDESHOW_SETTING_POPUP" leftRelationType="RECT_EDGE_RELATION_LEFT_TO_LEFT" marginBottom="0.0" marginLeft="3.5" marginRight="3.5" marginTop="0.0" mode="Landscape" rightRelation="IDL_SLIDESHOW_SETTING_POPUP" rightRelationType="RECT_EDGE_RELATION_RIGHT_TO_RIGHT" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="593.0" x="3.5" y="2.0"/>
+ </ListView>
+ <Button id="IDC_BUTTON" parent="IDL_SLIDESHOW_SETTING_POPUP">
+ <property DisabledBitmapX="0.0" DisabledBitmapY="0.0" NormalBitmapX="0.0" NormalBitmapY="0.0" PressedBitmapX="0.0" PressedBitmapY="0.0" accessibilityHint="" disableTextColor="" disabledBGBitmapPath="" disabledBitmapPath="" disabledColor="" disabledColorOpacity="100" highlightedBGBitmapPath="" highlightedBitmapPath="" highlightedBitmapX="0.0" highlightedBitmapY="0.0" highlightedColor="" highlightedColorOpacity="100" highlightedTextColor="" horizontalAlign="ALIGN_CENTER" normalBGBitmapPath="" normalBitmapPath="" normalColor="" normalColorOpacity="100" normalTextColor="" pressedBGBitmapPath="" pressedBitmapPath="" pressedColor="" pressedColorOpacity="100" pressedTextColor="" text="::IDS_COM_POP_CANCEL" textSize="33.0" verticalAlign="ALIGN_MIDDLE"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="72.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Portrait" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="432.0" x="92.0" y="263.0"/>
+ <layout bottomRelation="" bottomRelationType="" centerHorizontal="false" centerVertical="false" height="67.0" horizontalFitPolicy="FIT_POLICY_FIXED" leftRelation="" leftRelationType="" marginBottom="0.0" marginLeft="0.0" marginRight="0.0" marginTop="0.0" mode="Landscape" rightRelation="" rightRelationType="" topRelation="" topRelationType="" verticalFitPolicy="FIT_POLICY_FIXED" width="381.0" x="102.0" y="238.0"/>
+ </Button>
+</ScenePopup>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Bol dosiahnutý maximálny počet znakov</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Prezentácia</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Prekročil sa maximálny počet súborov</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Nastavenia prezentácie</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Vybrať všetky</text>
+ <text id="IDS_COM_POP_DELETE_Q">Odstrániť?</text>
+ <text id="IDS_COM_BODY_EDIT">Upraviť</text>
+ <text id="IDS_COM_BODY_MESSAGE">Správa</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Stiahnuté položky</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Názov albumu sa už používa</text>
+ <text id="IDS_COM_OPT_SAVE">Uložiť</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekúnd</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivácia</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Otočiť doľava</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekundy</text>
+ <text id="IDS_COM_BODY_MESSAGES">Správy</text>
+ <text id="IDS_COM_SK_DONE">Hotovo</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nedá sa premenovať</text>
+ <text id="IDS_COM_BODY_EMAIL">E-mail</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Neplatné znaky</text>
+ <text id="IDS_COM_POP_MOVED">Presunuté</text>
+ <text id="IDS_COM_POP_CANCEL">Zrušiť</text>
+ <text id="IDS_COM_BODY_SELECTED">Vybrané</text>
+ <text id="IDS_COM_BODY_DELETE">Odstrániť</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Titulky</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Zrušiť</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Dosiahol sa maximálny počet znakov (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Dosiahol sa maximálny počet znakov (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Prezent.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Vysunutie</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Spustiť prezentáciu</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s už existuje</text>
+ <text id="IDS_COM_BODY_LOADING">Načítava sa...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumy</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nedá sa premenovať. Názov albumu sa už používa</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operácia zlyhala</text>
+ <text id="IDS_COM_POP_SAVING_ING">Ukladanie...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efekt prechodu</text>
+ <text id="IDS_COM_BODY_MUSIC">Hudba</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Vybraté položky: %d</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Vytvoriť priečinok?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Vymazanie sa nepodarilo</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 vybratá položka</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Kopírovať</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Clona</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval prezentácie</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Prehrávač videí</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Prezentácia</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekundy</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Otočiť doľava</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Stránka</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopírovanie...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekúnd</text>
+ <text id="IDS_COM_POP_PROCESSING">Prebieha spracovanie...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galéria</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Žiadny názov</text>
+ <text id="IDS_COM_BODY_IMAGES">Obrázky</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Stmievanie</text>
+ <text id="IDS_COM_HEADER_EDIT">Upraviť</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekúnd</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nie sú vybraté žiadne položky</text>
+ <text id="IDS_COM_POP_DELETED">Odstránené</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Odstrániť?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Už existuje. Prepísať?</text>
+ <text id="IDS_COM_POP_DELETING">Odstraňovanie...</text>
+ <text id="IDS_COM_POP_DONE">Hotovo</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekundy</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kat. fotoaparátu</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Otočiť doprava</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Opakovať</text>
+ <text id="IDS_COM_POP_SAVED">Uložené</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Prelínanie</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Náhodné poradie</text>
+ <text id="IDS_COM_POP_MOVING">Presúvanie...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Presunutie sa nepodarilo</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videá</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nepodporovaný typ súboru</text>
+ <text id="IDS_COM_BODY_RENAME">Premenovať</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Dokončené</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Vybrať vš.</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Všetky albumy</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Zmeniť názov</text>
+ <text id="IDS_COM_BODY_MOVE">Presunúť</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Nedá sa odstrániť</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Otočiť doprava</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Už existuje</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Vytvoriť album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Žiadne položky</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Roleta</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Uloženie sa nepodarilo</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Doseženo je največje dovoljeno število znakov</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Diaprojekcija</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Največje dovoljeno število datotek je preseženo</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Nastavitve diaprojekcije</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Izberi vse</text>
+ <text id="IDS_COM_POP_DELETE_Q">Izbrišem?</text>
+ <text id="IDS_COM_BODY_EDIT">Uredi</text>
+ <text id="IDS_COM_BODY_MESSAGE">Sporočilo</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Prenosi</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Ime albuma se že uporablja</text>
+ <text id="IDS_COM_OPT_SAVE">Shrani</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekund</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Vklop</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Zavrti v levo</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekundi</text>
+ <text id="IDS_COM_BODY_MESSAGES">Sporočila</text>
+ <text id="IDS_COM_SK_DONE">Končano</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Ni mogoče preimenovati</text>
+ <text id="IDS_COM_BODY_EMAIL">E-pošta</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Neveljavni znaki</text>
+ <text id="IDS_COM_POP_MOVED">Premaknjeno</text>
+ <text id="IDS_COM_POP_CANCEL">Prekliči</text>
+ <text id="IDS_COM_BODY_SELECTED">Izbrano</text>
+ <text id="IDS_COM_BODY_DELETE">Izbriši</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Podnapisi</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Prekliči</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Doseženo je največje število znakov (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Doseženo je največje število znakov (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Diaproj.</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Prehod</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Začni diaprojekcijo</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s že obstaja</text>
+ <text id="IDS_COM_BODY_LOADING">Nalaganje...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumi</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Ni mogoče preimenovati. Ime albuma se že uporablja</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Postopek ni uspel</text>
+ <text id="IDS_COM_POP_SAVING_ING">Shranjujem</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Učinek prehoda</text>
+ <text id="IDS_COM_BODY_MUSIC">Glasba</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d predmetov izbranih</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Ustvarim mapo?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Brisanje ni uspelo</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 predmet je izbran</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Povečava</text>
+ <text id="IDS_COM_BODY_COPY">Kopiraj</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Mavrica</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval diaprojekcije</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video predvajalnik</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Diaprojekcija</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekund</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Zavrti v levo</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Stran</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopiram ...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekund</text>
+ <text id="IDS_COM_POP_PROCESSING">Obdelujem...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerija</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Brez imena</text>
+ <text id="IDS_COM_BODY_IMAGES">Slike</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Zatemnitev</text>
+ <text id="IDS_COM_HEADER_EDIT">Uredi</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekund</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ni izbranih predmetov</text>
+ <text id="IDS_COM_POP_DELETED">Izbrisano</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Odstranim?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Že obstaja. Prepišem?</text>
+ <text id="IDS_COM_POP_DELETING">Brišem</text>
+ <text id="IDS_COM_POP_DONE">Končano</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekunde</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Mapa s slikami</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Zavrti v desno</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Ponovi</text>
+ <text id="IDS_COM_POP_SAVED">Shranjeno</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Raztopi</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Naključno</text>
+ <text id="IDS_COM_POP_MOVING">Premikam</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Premikanje ni uspelo</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videoposnetki</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nepodprta vrsta datoteke</text>
+ <text id="IDS_COM_BODY_RENAME">Preimenuj</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Končano</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Izberi vse</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Vsi albumi</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Spremeni ime</text>
+ <text id="IDS_COM_BODY_MOVE">Premakni</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Brisanje ni mogoče</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Zavrti v desno</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Že obstaja</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Ustvari album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Ni predmetov</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Zastor</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Shranjevanje ni uspelo</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Alcanzado el número máximo de caracteres</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Presentación de diapositivas</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Alcanzado el número máximo de archivos</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Configuración de presentación de diapositivas</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Seleccionar todo</text>
+ <text id="IDS_COM_POP_DELETE_Q">¿Eliminar?</text>
+ <text id="IDS_COM_BODY_EDIT">Editar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mensajes</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Descargas</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nombre de álbum ya en uso</text>
+ <text id="IDS_COM_OPT_SAVE">Guardar</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segundos</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activación</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Girar a la izquierda</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segundos</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mensajes</text>
+ <text id="IDS_COM_SK_DONE">Hecho</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Imposible cambiar el nombre</text>
+ <text id="IDS_COM_BODY_EMAIL">Correo electrónico</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caracteres no válidos</text>
+ <text id="IDS_COM_POP_MOVED">Movido</text>
+ <text id="IDS_COM_POP_CANCEL">Cancelar</text>
+ <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>
+ <text id="IDS_COM_BODY_DELETE">Eliminar</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtítulos</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancelar</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) alcanzado</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) alcanzado</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Pres diap</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Diapositiva</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Iniciar presentación de diapositivas</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s ya existe</text>
+ <text id="IDS_COM_BODY_LOADING">Cargando...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Álbumes</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">No se puede cambiar el nombre. Nombre de álbum ya en uso</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Error de funcionamiento</text>
+ <text id="IDS_COM_POP_SAVING_ING">Guardando...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efecto de transición</text>
+ <text id="IDS_COM_BODY_MUSIC">Música</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementos seleccionados</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">¿Crear carpeta?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Error al borrar</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 elemento seleccionado</text>
+ <text id="IDS_COM_BODY_VIDEO">Vídeo</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copiar</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervalo de presentación de diapositivas</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Reproductor de vídeo</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Presentación de diapositivas</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segundos</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Girar a la izquierda</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Página</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copiando...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segundos</text>
+ <text id="IDS_COM_POP_PROCESSING">Procesando...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galería</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Sin nombre</text>
+ <text id="IDS_COM_BODY_IMAGES">Imágenes</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Desaparición</text>
+ <text id="IDS_COM_HEADER_EDIT">Editar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segundos</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Ningún elemento seleccionado</text>
+ <text id="IDS_COM_POP_DELETED">Eliminado</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">¿Eliminar?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Ya existe. ¿Desea reemplazarlo?</text>
+ <text id="IDS_COM_POP_DELETING">Eliminando...</text>
+ <text id="IDS_COM_POP_DONE">Eliminar</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segundos</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Carrete</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Girar a la derecha</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetir</text>
+ <text id="IDS_COM_POP_SAVED">Guardado</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Fundir</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Reproducción aleatoria</text>
+ <text id="IDS_COM_POP_MOVING">Moviendo...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Error al mover</text>
+ <text id="IDS_COM_BODY_VIDEOS">Vídeos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipo de archiv no admitido</text>
+ <text id="IDS_COM_BODY_RENAME">Renombrar</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Finalizado</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Seleccionar todo</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Todos los álbumes</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Cambiar nombre</text>
+ <text id="IDS_COM_BODY_MOVE">Mover</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">No se puede eliminar</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Girar a la derecha</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalo</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Ya existe</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Crear álbum</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Ningún elemento</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Efecto persiana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Error al guardar</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Se ha alcanzado el número máximo de caracteres</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Presentación de diapositivas </text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Se ha excedido el número máximo de archivos</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Configuración de presentación de diapositivas</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Todo</text>
+ <text id="IDS_COM_POP_DELETE_Q">¿Eliminar?</text>
+ <text id="IDS_COM_BODY_EDIT">Editar</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mensaje</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Descargas</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Nombre de álbum ya existe</text>
+ <text id="IDS_COM_OPT_SAVE">Guardar</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 segundos</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Activación</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Girar a la izquierda</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 segundos</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mensajes</text>
+ <text id="IDS_COM_SK_DONE">Realizado</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">No se puede renombrar</text>
+ <text id="IDS_COM_BODY_EMAIL">Correo</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Caracteres no válidos</text>
+ <text id="IDS_COM_POP_MOVED">Movido</text>
+ <text id="IDS_COM_POP_CANCEL">Cancelar</text>
+ <text id="IDS_COM_BODY_SELECTED">Seleccionado</text>
+ <text id="IDS_COM_BODY_DELETE">Eliminar</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Subtítulos</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Cancelar</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) alcanzado</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Número máximo de caracteres (%d) alcanzado</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Pres diap</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Deslizar</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Iniciar presentación de diapositivas</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s ya existe</text>
+ <text id="IDS_COM_BODY_LOADING">Cargando...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Álbumes</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">No se puede renombrar. Nombre de álbum ya existe</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Error de funcionamiento</text>
+ <text id="IDS_COM_POP_SAVING_ING">Guardando...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efecto de transición</text>
+ <text id="IDS_COM_BODY_MUSIC">Música</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d elementos seleccionados</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">crear carpeta?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Error al eliminar</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 elemento seleccionado</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Copiar</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Intervalo de presentación de diapositivas</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Reproductor de Video</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Presentación de diapositivas</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">segundos</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Girar a la izquierda</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Página</text>
+ <text id="IDS_COM_POP_COPYING_ING">Copiando...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 segundos</text>
+ <text id="IDS_COM_POP_PROCESSING">Procesando...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galería</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Sin nombre</text>
+ <text id="IDS_COM_BODY_IMAGES">Imágenes</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Aparecer</text>
+ <text id="IDS_COM_HEADER_EDIT">Editar</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 segundos</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">No se ha seleccionado nada</text>
+ <text id="IDS_COM_POP_DELETED">Eliminado</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">¿Eliminar?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Ya existe. ¿Desea sustituirlo?</text>
+ <text id="IDS_COM_POP_DELETING">Eliminando...</text>
+ <text id="IDS_COM_POP_DONE">Realizado</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 segundos</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Carrete</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Girar a la derecha</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Repetir</text>
+ <text id="IDS_COM_POP_SAVED">Guardado</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Fundir</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Aleatorio</text>
+ <text id="IDS_COM_POP_MOVING">Moviendo…</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Error al mover</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videos</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Tipo de arch. no admitido</text>
+ <text id="IDS_COM_BODY_RENAME">Renombrar</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Completo</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Todo</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Todos los álbumes</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Renombrar</text>
+ <text id="IDS_COM_BODY_MOVE">Mover</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">No puede eliminar</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Girar a la derecha</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervalo</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Ya existe</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Crear álbum</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Ningún elemento</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Persiana</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Error al guardar</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Dostignut maksimalan broj karaktera</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slajd-šou</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Dostignut je maksimalan broj fajlova</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Podešavanja za slajd-šou</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Izaberi sve</text>
+ <text id="IDS_COM_POP_DELETE_Q">Obriši?</text>
+ <text id="IDS_COM_BODY_EDIT">Izmeni</text>
+ <text id="IDS_COM_BODY_MESSAGE">Poruka</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Preuzimanja</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Naziv albuma već u upotr.</text>
+ <text id="IDS_COM_OPT_SAVE">Sačuvaj</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekundi</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivacija</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotiraj ulevo</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekunde</text>
+ <text id="IDS_COM_BODY_MESSAGES">Poruke</text>
+ <text id="IDS_COM_SK_DONE">Gotovo</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nemoguće preimenovati</text>
+ <text id="IDS_COM_BODY_EMAIL">E-pošta</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Neispravni karakteri</text>
+ <text id="IDS_COM_POP_MOVED">Premešteno</text>
+ <text id="IDS_COM_POP_CANCEL">Poništi</text>
+ <text id="IDS_COM_BODY_SELECTED">Označeno</text>
+ <text id="IDS_COM_BODY_DELETE">Obriši</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Titlovi</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Poništi</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Dostignut maksimalan broj karaktera (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Dostignut maksimalan broj karaktera (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slajd-šou</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slajd</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Pokreni slajd-šou</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s već postoji</text>
+ <text id="IDS_COM_BODY_LOADING">Učitavanje...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albumi</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nemoguće preimenovati. Naziv albuma već u upotrebi</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operacija neuspešna</text>
+ <text id="IDS_COM_POP_SAVING_ING">Memorisanje...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Efekat prelaza</text>
+ <text id="IDS_COM_BODY_MUSIC">Muzika</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d stavke/i označene/o</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Kreiraj folder?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Brisanje neuspešno</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 stavka izabrana</text>
+ <text id="IDS_COM_BODY_VIDEO">Video zapis</text>
+ <text id="IDS_IV_OPT_ZOOM">Zumiranje</text>
+ <text id="IDS_COM_BODY_COPY">Kopiraj</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Interval za slajd-šou</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video plejer</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slajd-šou</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekunde</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotiraj ulevo</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Strana</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopiranje...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekundi</text>
+ <text id="IDS_COM_POP_PROCESSING">Obrada...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galerija</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nema imena</text>
+ <text id="IDS_COM_BODY_IMAGES">Slike</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Izbledi</text>
+ <text id="IDS_COM_HEADER_EDIT">Izmeni</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekundi</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Nema izabranih stavki</text>
+ <text id="IDS_COM_POP_DELETED">Obrisano</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Ukloni?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Već postoji. Prebriši?</text>
+ <text id="IDS_COM_POP_DELETING">Brisanje...</text>
+ <text id="IDS_COM_POP_DONE">Gotovo</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekunde</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Traka kamere</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotiraj udesno</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Ponovi</text>
+ <text id="IDS_COM_POP_SAVED">Sačuvano</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Rastvori</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Nasumično</text>
+ <text id="IDS_COM_POP_MOVING">Premeštanje</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Premeštanje neuspešno</text>
+ <text id="IDS_COM_BODY_VIDEOS">Video zapisi</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Nepodržani tip fajla</text>
+ <text id="IDS_COM_BODY_RENAME">Preimenuj</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Završeno</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Izab. sve</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Svi albumi</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Promeni ime</text>
+ <text id="IDS_COM_BODY_MOVE">Premesti</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Nemoguće obrisati</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotiraj udesno</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Već postoji</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Kreiraj album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Nema stavki</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Roletna</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Memorisanje neuspešno</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maximalt antal tecken har använts</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Bildspel</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Högstsa antal filer har överskridits</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Bildspelsinställningar</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Välj alla</text>
+ <text id="IDS_COM_POP_DELETE_Q">Radera?</text>
+ <text id="IDS_COM_BODY_EDIT">Redigera</text>
+ <text id="IDS_COM_BODY_MESSAGE">Meddelande</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Nedladdningar</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albumnamnet används redan</text>
+ <text id="IDS_COM_OPT_SAVE">Spara</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 sekunder</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Aktivera</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Rotera moturs</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 sekunder</text>
+ <text id="IDS_COM_BODY_MESSAGES">Meddelanden</text>
+ <text id="IDS_COM_SK_DONE">Klar</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Kan inte byta namn</text>
+ <text id="IDS_COM_BODY_EMAIL">E-post</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Ogiltiga tecken</text>
+ <text id="IDS_COM_POP_MOVED">Flyttad</text>
+ <text id="IDS_COM_POP_CANCEL">Avbryt</text>
+ <text id="IDS_COM_BODY_SELECTED">Markerade</text>
+ <text id="IDS_COM_BODY_DELETE">Radera</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Textning</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Avbryt</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Högsta antal tecken (%d) har uppnåtts</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Högsta antal tecken (%d) har uppnåtts</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Bildspel</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Bild</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Starta bildspel</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s finns redan</text>
+ <text id="IDS_COM_BODY_LOADING">Laddar...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Album</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Kan inte byta namn. Albumnamnet används redan</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Åtgärden misslyckades</text>
+ <text id="IDS_COM_POP_SAVING_ING">Sparar...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Övergångseffekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Musik</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d objekt valda</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Skapa mapp?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Radering misslyckades</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 valt objekt</text>
+ <text id="IDS_COM_BODY_VIDEO">Videoklipp</text>
+ <text id="IDS_IV_OPT_ZOOM">Zoom</text>
+ <text id="IDS_COM_BODY_COPY">Kopiera</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Bildspelsintervall</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Videospelare</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Bildspel</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">sekunder</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Rotera moturs</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Sida</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopierar...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 sekunder</text>
+ <text id="IDS_COM_POP_PROCESSING">Bearbetar...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galleri</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Inget namn</text>
+ <text id="IDS_COM_BODY_IMAGES">Bilder</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Tona</text>
+ <text id="IDS_COM_HEADER_EDIT">Redigera</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 sekunder</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Inga objekt valda</text>
+ <text id="IDS_COM_POP_DELETED">Raderad</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Ta bort?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Används redan.\nSkriv över?</text>
+ <text id="IDS_COM_POP_DELETING">Raderar...</text>
+ <text id="IDS_COM_POP_DONE">Klar</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 sekunder</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamerarulle</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Rotera medurs</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Upprepa</text>
+ <text id="IDS_COM_POP_SAVED">Sparad</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Lös upp</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Blanda</text>
+ <text id="IDS_COM_POP_MOVING">Flyttar...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Det gick inte att flytta</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videoklipp</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Filtypen stöds ej</text>
+ <text id="IDS_COM_BODY_RENAME">Byt namn</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Slutförd</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Välj allt</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Alla album</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Byt namn</text>
+ <text id="IDS_COM_BODY_MOVE">Flytta</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Kan inte radera</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Rotera medurs</text>
+ <text id="IDS_IV_BODY_INTERVAL">Intervall</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Finns redan</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Skapa album</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Inga objekt</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Fördragning</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Det gick inte att spara</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">จำนวนตัวอักษรเกินขอบเขต</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">เลื่อนชม</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">เกินจำนวนไฟล์สูงสุดแล้ว</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">การกำหนดการแสดงสไลด์</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">เลือกทั้งหมด</text>
+ <text id="IDS_COM_POP_DELETE_Q">ลบ?</text>
+ <text id="IDS_COM_BODY_EDIT">แก้ไข</text>
+ <text id="IDS_COM_BODY_MESSAGE">ข้อความ</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">ดาวน์โหลด</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">ชื่ออัลบั้มใช้อยู่แล้ว</text>
+ <text id="IDS_COM_OPT_SAVE">บันทึก</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 วินาที</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">ใช้งาน</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">หมุนซ้าย</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 วินาที</text>
+ <text id="IDS_COM_BODY_MESSAGES">ข้อความ</text>
+ <text id="IDS_COM_SK_DONE">เรียบร้อย</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">เปลี่ยนชื่อไม่ได้</text>
+ <text id="IDS_COM_BODY_EMAIL">อีเมล์</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">อักขระไม่ถูกต้อง</text>
+ <text id="IDS_COM_POP_MOVED">ย้ายเรียบร้อย</text>
+ <text id="IDS_COM_POP_CANCEL">ยกเลิก</text>
+ <text id="IDS_COM_BODY_SELECTED">เลือก</text>
+ <text id="IDS_COM_BODY_DELETE">ลบ</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">คำบรรยาย</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">ยกเลิก</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">ถึงจำนวนตัวอักษรสูงสุด (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">ถึงจำนวนตัวอักษรสูงสุด (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">สไลด์โชว์</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">สไลด์</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">เริ่มการแสดงสไลด์</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s มีอยู่แล้ว</text>
+ <text id="IDS_COM_BODY_LOADING">โหลด...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">อัลบั้ม</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">ไม่สามารถเปลี่ยนชื่อ ชื่ออัลบั้มใช้อยู่แล้ว</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">การทำงานล้มเหลว</text>
+ <text id="IDS_COM_POP_SAVING_ING">บันทึก... </text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">เอฟเฟ็กต์การเปลี่ยน</text>
+ <text id="IDS_COM_BODY_MUSIC">เพลง</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">เลือก %d รายการแล้ว</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">สร้างแฟ้มใหม่?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">ลบผิดพลาด</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">เลือก 1 รายการ</text>
+ <text id="IDS_COM_BODY_VIDEO">วีดีโอ</text>
+ <text id="IDS_IV_OPT_ZOOM">ซูม</text>
+ <text id="IDS_COM_BODY_COPY">คัดลอก</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">ไอริส</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">ช่วงเวลาการแสดงแบบสไลด์</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">เครื่องเล่นวีดีโอ</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">สไลด์โชว์</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">วินาที</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">หมุนซ้าย</text>
+ <text id="IDS_EBOOK_BODY_PAGE">หน้า</text>
+ <text id="IDS_COM_POP_COPYING_ING">กำลังคัดลอก...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 วินาที</text>
+ <text id="IDS_COM_POP_PROCESSING">ดำเนินการ...</text>
+ <text id="IDS_COM_BODY_GALLERY">แกลเลอรี่</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">ไม่มีชื่อ</text>
+ <text id="IDS_COM_BODY_IMAGES">รูปภาพ</text>
+ <text id="IDS_MEDIABR_BODY_FADE">จางหายไป</text>
+ <text id="IDS_COM_HEADER_EDIT">แก้ไข</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 วินาที</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">ไม่มีรายการที่เลือก</text>
+ <text id="IDS_COM_POP_DELETED">ลบแล้ว</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">ลบ?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">มีอยู่แล้ว เขียนทับ?</text>
+ <text id="IDS_COM_POP_DELETING">ลบ...</text>
+ <text id="IDS_COM_POP_DONE">เรียบร้อย</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 วินาที</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">การหมุนกล้อง</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">หมุนขวา</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">ซ้ำ</text>
+ <text id="IDS_COM_POP_SAVED">บันทึก\nเรียบร้อย</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">ละลาย</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">สับเพลง</text>
+ <text id="IDS_COM_POP_MOVING">กำลังย้าย...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">การย้าย\nผิดพลาด</text>
+ <text id="IDS_COM_BODY_VIDEOS">วีดีโอ</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">ไม่รองรับ\nชนิดไฟล์</text>
+ <text id="IDS_COM_BODY_RENAME">เปลี่ยนชื่อ</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">เรียบร้อย</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">เลือกหมด</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">อัลบั้มทั้งหมด</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">เปลี่ยนชื่อ</text>
+ <text id="IDS_COM_BODY_MOVE">ย้าย</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">ลบไม่ได้</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">หมุนขวา</text>
+ <text id="IDS_IV_BODY_INTERVAL">ช่วงเวลา</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">มีอยู่แล้ว</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">สร้างอัลบั้มใหม่</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">ไม่มีรายการ</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">บัง</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">การบันทึกผิดพลาด</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Maksimum karakter sayısına ulaşıldı</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slayt gösterisi</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Maksimum dosya sayısı aşıldı</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slayt gösterisi ayarları</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Hepsini seç</text>
+ <text id="IDS_COM_POP_DELETE_Q">Sil?</text>
+ <text id="IDS_COM_BODY_EDIT">Düzenle</text>
+ <text id="IDS_COM_BODY_MESSAGE">Mesaj</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">İndirilenler</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albüm adı zaten kullanılıyor</text>
+ <text id="IDS_COM_OPT_SAVE">Kaydet</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 saniye</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Etkinleştirme</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Saat yönünün tersine döndür</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 saniye</text>
+ <text id="IDS_COM_BODY_MESSAGES">Mesajlar</text>
+ <text id="IDS_COM_SK_DONE">Kaydet</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Yeniden adlandırılamıyor. Dosya kullanımda.</text>
+ <text id="IDS_COM_BODY_EMAIL">E-posta</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Geçersiz karakter</text>
+ <text id="IDS_COM_POP_MOVED">Taşındı</text>
+ <text id="IDS_COM_POP_CANCEL">İptal</text>
+ <text id="IDS_COM_BODY_SELECTED">Seçili</text>
+ <text id="IDS_COM_BODY_DELETE">Sil</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Altyazılar</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">İptal</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimum karakter sayısına (%d) ulaşıldı</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Maksimum karakter sayısına (%d) ulaşıldı</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slayt şov</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slayt</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Slayt gösterisini başlat</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s zaten var</text>
+ <text id="IDS_COM_BODY_LOADING">Yükleniyor...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albümler</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Yeniden adlandırılamıyor. Albüm adı zaten kullanılıyor</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">İşlem başarısız</text>
+ <text id="IDS_COM_POP_SAVING_ING">Kaydediliyor…</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Geçiş efekti</text>
+ <text id="IDS_COM_BODY_MUSIC">Müzik</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d öğe seçildi</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Klasör oluşturulsun mu?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Silinemedi</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 öğe seçildi</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Yakınlaştır</text>
+ <text id="IDS_COM_BODY_COPY">Kopyala</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">İris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slayt gösterisi aralığı</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video Oynatıcı</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slayt gösterisi</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">saniye</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Saat yönünün tersine döndür</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Sayfa</text>
+ <text id="IDS_COM_POP_COPYING_ING">Kopyalanıyor...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 saniye</text>
+ <text id="IDS_COM_POP_PROCESSING">Uygulanıyor...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galeri</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">İsim yok</text>
+ <text id="IDS_COM_BODY_IMAGES">Resimler</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Soldur</text>
+ <text id="IDS_COM_HEADER_EDIT">Düzenle</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 saniye</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Seçili öğe yok</text>
+ <text id="IDS_COM_POP_DELETED">Silindi</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Kaldır?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Zaten var. Üzerine yazılsın mı?</text>
+ <text id="IDS_COM_POP_DELETING">Siliniyor...</text>
+ <text id="IDS_COM_POP_DONE">Tamamlandı</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 saniye</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamera klasörü</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Saat yönünde döndür</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Tekrarla</text>
+ <text id="IDS_COM_POP_SAVED">Kaydedildi</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Çöz</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Karışık</text>
+ <text id="IDS_COM_POP_MOVING">Taşıyor...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Taşıma başarısız</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videolar</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Desteklenmeyen dosya türü</text>
+ <text id="IDS_COM_BODY_RENAME">Yeniden adlandır</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Tamamlandı</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Tümünü seç</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Tüm albümler</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">İsim değiştir</text>
+ <text id="IDS_COM_BODY_MOVE">Taşı</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Silinemiyor</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Saat yönünde döndür</text>
+ <text id="IDS_IV_BODY_INTERVAL">Aralık</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Zaten var</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Albüm oluştur</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Öğe yok</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Kör</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Kaydetme başarısız</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Досягнуто максимальної кількості символів</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Слайд-шоу</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Перевищено максимальну кількість файлів</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Установки слайд-шоу</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Вибрати всі</text>
+ <text id="IDS_COM_POP_DELETE_Q">Видалити?</text>
+ <text id="IDS_COM_BODY_EDIT">Редагувати</text>
+ <text id="IDS_COM_BODY_MESSAGE">Повідомлення</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Завантаження</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Ім’я альбому вже викор.</text>
+ <text id="IDS_COM_OPT_SAVE">Зберегти</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 секунд</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Активація</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Обернути ліворуч</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 секунди</text>
+ <text id="IDS_COM_BODY_MESSAGES">Повідомлення</text>
+ <text id="IDS_COM_SK_DONE">Готово</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Неможливо перейменувати</text>
+ <text id="IDS_COM_BODY_EMAIL">Email</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Хибні символи</text>
+ <text id="IDS_COM_POP_MOVED">Переміщено</text>
+ <text id="IDS_COM_POP_CANCEL">Скасувати</text>
+ <text id="IDS_COM_BODY_SELECTED">Вибране</text>
+ <text id="IDS_COM_BODY_DELETE">Видалити</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Субтитри</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Скасувати</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Досягнуто максимальної кількості символів: %d</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Досягнуто максимальної кількості символів: %d</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Слайд-шоу</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Слайд</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Розпочати слайд-шоу</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s вже існує</text>
+ <text id="IDS_COM_BODY_LOADING">Завантаження...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Альбоми</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Неможливо перейменувати. Ім’я альбому вже використовується</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Збій операції</text>
+ <text id="IDS_COM_POP_SAVING_ING">Збереження...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Ефект переходу</text>
+ <text id="IDS_COM_BODY_MUSIC">Музика</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">Вибрано %d об’єктів</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Створити папку?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Збій видалення</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">Вибрано 1 об’єкт</text>
+ <text id="IDS_COM_BODY_VIDEO">Відео</text>
+ <text id="IDS_IV_OPT_ZOOM">Масштаб</text>
+ <text id="IDS_COM_BODY_COPY">Копіювати</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Ірісова діафрагма</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Інтервал слайд-шоу</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Відеоплеєр</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Слайд-шоу</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">секунди</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Обернути ліворуч</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Сторінка</text>
+ <text id="IDS_COM_POP_COPYING_ING">Копіювання...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 секунд</text>
+ <text id="IDS_COM_POP_PROCESSING">Обробка...</text>
+ <text id="IDS_COM_BODY_GALLERY">Галерея</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Немає імені</text>
+ <text id="IDS_COM_BODY_IMAGES">Зображення</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Загасання</text>
+ <text id="IDS_COM_HEADER_EDIT">Редагувати</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 секунд</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Об’єкти не вибрані</text>
+ <text id="IDS_COM_POP_DELETED">Видалено</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Видалити?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Вже існує. Переписати?</text>
+ <text id="IDS_COM_POP_DELETING">Видалення...</text>
+ <text id="IDS_COM_POP_DONE">Готово</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 секунди</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Плівка камери</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">Обернути праворуч</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Повторення</text>
+ <text id="IDS_COM_POP_SAVED">Збережено</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Розчинення</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Випадковий порядок</text>
+ <text id="IDS_COM_POP_MOVING">Переміщення...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Збій переміщення</text>
+ <text id="IDS_COM_BODY_VIDEOS">Відео</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Непідтримуваний тип файла</text>
+ <text id="IDS_COM_BODY_RENAME">Перейменувати</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Завершено</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Вибр. всі</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Усі альбоми</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Змінити ім'я</text>
+ <text id="IDS_COM_BODY_MOVE">Перемістити</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Неможливо видалити</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">Обернути праворуч</text>
+ <text id="IDS_IV_BODY_INTERVAL">Інтервал</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Вже існує</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Створити альбом</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Немає об’єктів</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Жалюзі</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Збій збереження</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">کریکٹر کی حد ہو گئی</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">سلائیڈ شو</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">فائلوں کی زیادہ سے زیادہ تعداد تجاوز کرگئی</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">سلائڈ شو سیٹنگیں</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">تمام منتخب کریں</text>
+ <text id="IDS_COM_POP_DELETE_Q">مٹانا؟</text>
+ <text id="IDS_COM_BODY_EDIT">تبدیلی</text>
+ <text id="IDS_COM_BODY_MESSAGE">پیغام</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">ڈاؤن لوڈز</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">البم نام پہلے استعمال میں</text>
+ <text id="IDS_COM_OPT_SAVE">محفوظ</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 سیکنڈز</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">ایکٹیویشن</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">بائيں گھمائيں</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 سیکینڈ</text>
+ <text id="IDS_COM_BODY_MESSAGES">پیغامات</text>
+ <text id="IDS_COM_SK_DONE">ٹھیک ہے</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">نیا نام دینے سے قاصر</text>
+ <text id="IDS_COM_BODY_EMAIL">ای میل</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">ناجائز حروف</text>
+ <text id="IDS_COM_POP_MOVED">منتقل ہوا</text>
+ <text id="IDS_COM_POP_CANCEL">منسوخ</text>
+ <text id="IDS_COM_BODY_SELECTED">انتخاب ہوگیا</text>
+ <text id="IDS_COM_BODY_DELETE">مٹانا</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">ذیلی عنوانات</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">منسوخ</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">حروف کی انتہائی تعداد (%d) آن پہنچی</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">حروف کی انتہائی تعداد (%d) آن پہنچی</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">سلائڈ شو</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">سلائیڈ</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">سلائڈ شو شروع کریں</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s پہلے سے موجود ہے</text>
+ <text id="IDS_COM_BODY_LOADING">لوڈنگ...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">البمز</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">نیا نام دینے سے قاصر۔ البم نام پہلے سے استعمال میں ہے</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">عملیہ ناکام ہوگیا</text>
+ <text id="IDS_COM_POP_SAVING_ING">محفوظ۔۔۔</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">تبدیل کا اثر</text>
+ <text id="IDS_COM_BODY_MUSIC">میوزک</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d اشیا منتخب ہوگئیں</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">فولڈر تخلیق کریں؟</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">مٹانا فیل</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 شے منتخب ہوگئی</text>
+ <text id="IDS_COM_BODY_VIDEO">ویڈیو</text>
+ <text id="IDS_IV_OPT_ZOOM">زوم</text>
+ <text id="IDS_COM_BODY_COPY">کاپی</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">وقفہ سلائڈ شو</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">ویڈیو پلیئر</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">سلائڈ شو</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">سیکنڈز</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">بائيں گھمائيں</text>
+ <text id="IDS_EBOOK_BODY_PAGE">صفحہ</text>
+ <text id="IDS_COM_POP_COPYING_ING">کاپی ہورہی ہے...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 سیکنڈز</text>
+ <text id="IDS_COM_POP_PROCESSING">پروسیسنگ</text>
+ <text id="IDS_COM_BODY_GALLERY">گیلری</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">نام نہیں</text>
+ <text id="IDS_COM_BODY_IMAGES">تصویر</text>
+ <text id="IDS_MEDIABR_BODY_FADE">فیڈ</text>
+ <text id="IDS_COM_HEADER_EDIT">تبدیلی</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 سیکنڈز</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">کوئی آئٹم پشند نہیں کیا</text>
+ <text id="IDS_COM_POP_DELETED">مٹ گیا</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">مٹائیں؟</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">پہلے سے موجود ہے۔ اس کے اوپر لکھیں؟</text>
+ <text id="IDS_COM_POP_DELETING">مٹ رہا ہے...</text>
+ <text id="IDS_COM_POP_DONE">ٹھیک ہے</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 سیکینڈ</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">کیمرا رول کریں</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">دائيں طرف گھمائيں</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">دھرائیں</text>
+ <text id="IDS_COM_POP_SAVED">محفوظ ہوا</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">گھل جانا</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">شفل</text>
+ <text id="IDS_COM_POP_MOVING">بھیج رہا ہے...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">ہلانے فیل</text>
+ <text id="IDS_COM_BODY_VIDEOS">ویڈیوز</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">غیر تائید کردہ فائل قسم</text>
+ <text id="IDS_COM_BODY_RENAME">نام بدلیں</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">مکمل</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">سب منتخب</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">تمام البمز</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">نام میں تبدیلی</text>
+ <text id="IDS_COM_BODY_MOVE">منتقل</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">مٹا نہیں سکا</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">دائيں طرف گھمائيں</text>
+ <text id="IDS_IV_BODY_INTERVAL">وقفہ</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">پہلے سے موجود</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">البم تخلیق کریں</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">ائیٹمز نہیں ہے</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">چلمن</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">مہفوظ کرنا فیل</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">Belgilar soni ruxsat etilgan maksimal miqdorga yetdi</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">Slayd-shou</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">Fayllar soni maksimal miqdordan oshib ketdi</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">Slayd-shou parametrlari</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">Barchasini tanlash</text>
+ <text id="IDS_COM_POP_DELETE_Q">O'chirilsinmi?</text>
+ <text id="IDS_COM_BODY_EDIT">Tahrirlash</text>
+ <text id="IDS_COM_BODY_MESSAGE">Xabar</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">Yuklanishlar</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">Albom nomi ishlatilmoqda</text>
+ <text id="IDS_COM_OPT_SAVE">Saqlash</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 soniya</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">Faollashtirish</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">Chapga aylantir.</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 soniya</text>
+ <text id="IDS_COM_BODY_MESSAGES">Xabarlar</text>
+ <text id="IDS_COM_SK_DONE">Bajarildi</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">Nomini o‘zgartirib bo‘lmaydi</text>
+ <text id="IDS_COM_BODY_EMAIL">E-pochta</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">Mumkin bo‘lmagan belgilar</text>
+ <text id="IDS_COM_POP_MOVED">Ko‘chirilgan</text>
+ <text id="IDS_COM_POP_CANCEL">Bekor qilish</text>
+ <text id="IDS_COM_BODY_SELECTED">Tanlangan</text>
+ <text id="IDS_COM_BODY_DELETE">O'chirish</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">Tagsarlavhalar</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">Bekor qilish</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Belgilar soni ruxsat etilgan maksimal miqdorga (%d) yetdi</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">Belgilar soni ruxsat etilgan maksimal miqdorga (%d) yetdi</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">Slayd-shou</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">Slayd</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">Slayd-shouni boshlash</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s avvaldan mavjud</text>
+ <text id="IDS_COM_BODY_LOADING">Yuklanmoqda...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">Albom</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">Nomni o‘zgartirib bo‘lmaydi. Albom nomi avvaldan ishlatilmoqda</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">Operatsiya bajarilmadi</text>
+ <text id="IDS_COM_POP_SAVING_ING">Saqlanmoqda...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">Almashuvchi effekt</text>
+ <text id="IDS_COM_BODY_MUSIC">Musiqa</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">%d element tanlangan</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">Jild yaratilsinmi?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">Yo‘q qilish bajarilmadi</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">1 element tanlangan</text>
+ <text id="IDS_COM_BODY_VIDEO">Video</text>
+ <text id="IDS_IV_OPT_ZOOM">Masshtabni o‘zgartirish</text>
+ <text id="IDS_COM_BODY_COPY">Nusxa olish</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Gulsapsar</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">Slayd-shou intervali</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">Video pleyer</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">Slayd-shou</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">soniya</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">Chapga aylantir.</text>
+ <text id="IDS_EBOOK_BODY_PAGE">Sahifa</text>
+ <text id="IDS_COM_POP_COPYING_ING">Nusxa ko‘chirilmoqda...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 soniya</text>
+ <text id="IDS_COM_POP_PROCESSING">Bajarilmoqda...</text>
+ <text id="IDS_COM_BODY_GALLERY">Galereya</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">Nom yo‘q</text>
+ <text id="IDS_COM_BODY_IMAGES">Tasvirlar</text>
+ <text id="IDS_MEDIABR_BODY_FADE">Xiralashish</text>
+ <text id="IDS_COM_HEADER_EDIT">Tahrirlash</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 soniya</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">Element tanlanmagan</text>
+ <text id="IDS_COM_POP_DELETED">O'chirildi</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">Olib tashlansinmi?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">Avvaldan mavjud. Ustidan yozilsinmi?</text>
+ <text id="IDS_COM_POP_DELETING">O'chirilmoqda…</text>
+ <text id="IDS_COM_POP_DONE">Bajarildi</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 soniya</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">Kamera roli</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">O‘ngga aylantir.</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">Takrorlash</text>
+ <text id="IDS_COM_POP_SAVED">Saqlandi</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">Erish</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">Tasodifiy</text>
+ <text id="IDS_COM_POP_MOVING">Ko‘chirilmoqda...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">Ko‘chirib bo‘lmadi</text>
+ <text id="IDS_COM_BODY_VIDEOS">Videolar</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">Quvvat-maydigan fayl turi</text>
+ <text id="IDS_COM_BODY_RENAME">Nom o‘zgartirish</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">Yakunlandi</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">Bar. tanla</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">Barcha albomlar</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">Nomni o‘zgartirish</text>
+ <text id="IDS_COM_BODY_MOVE">Ko‘chirish</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">Yo‘q qilib bo‘lmaydi</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">O‘ngga aylantir.</text>
+ <text id="IDS_IV_BODY_INTERVAL">Interval</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">Avvaldan mavjud</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">Albom yaratish</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">Elementlar yo‘q</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">Jalyuzi</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">Saqlab bo‘lmadi</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">已达到最大字符限制</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">幻灯片</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">已超过最大文件数</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">幻灯片播放设定</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">全选</text>
+ <text id="IDS_COM_POP_DELETE_Q">删除?</text>
+ <text id="IDS_COM_BODY_EDIT">编辑</text>
+ <text id="IDS_COM_BODY_MESSAGE">信息</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">下载列表</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">相册名已使用</text>
+ <text id="IDS_COM_OPT_SAVE">存储</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 秒</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">激活</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">向左旋转</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 秒</text>
+ <text id="IDS_COM_BODY_MESSAGES">信息</text>
+ <text id="IDS_COM_SK_DONE">完成</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">无法重命名</text>
+ <text id="IDS_COM_BODY_EMAIL">电子邮件</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">字符无效</text>
+ <text id="IDS_COM_POP_MOVED">已移动</text>
+ <text id="IDS_COM_POP_CANCEL">取消</text>
+ <text id="IDS_COM_BODY_SELECTED">已选择</text>
+ <text id="IDS_COM_BODY_DELETE">删除</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">字幕</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">取消</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">已达到最大字符数(%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">已达到最大字符数(%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">幻灯片</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">幻灯片</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">开始播放幻灯片</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s 已存在</text>
+ <text id="IDS_COM_BODY_LOADING">载入中…</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">相册</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">无法重命名。相册名已使用</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">操作失败</text>
+ <text id="IDS_COM_POP_SAVING_ING">正在保存...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">转换效果</text>
+ <text id="IDS_COM_BODY_MUSIC">音乐</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">已选择%d个项目</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">创建文件夹吗?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">删除失败</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">已选择1个项目</text>
+ <text id="IDS_COM_BODY_VIDEO">录像</text>
+ <text id="IDS_IV_OPT_ZOOM">缩放</text>
+ <text id="IDS_COM_BODY_COPY">复制</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">彩色效果</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">幻灯片播放间隔</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">视频播放器</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">幻灯片</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">秒</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">向左旋转</text>
+ <text id="IDS_EBOOK_BODY_PAGE">页面</text>
+ <text id="IDS_COM_POP_COPYING_ING">正在复制...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 秒</text>
+ <text id="IDS_COM_POP_PROCESSING">处理中...</text>
+ <text id="IDS_COM_BODY_GALLERY">图库</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">无名称</text>
+ <text id="IDS_COM_BODY_IMAGES">图片</text>
+ <text id="IDS_MEDIABR_BODY_FADE">淡出</text>
+ <text id="IDS_COM_HEADER_EDIT">编辑</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 秒</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">未选择项目</text>
+ <text id="IDS_COM_POP_DELETED">已删除</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">移除?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">已存在。覆盖?</text>
+ <text id="IDS_COM_POP_DELETING">删除中..</text>
+ <text id="IDS_COM_POP_DONE">完成</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 秒</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">滚动照相机</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">向右旋转</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">重复</text>
+ <text id="IDS_COM_POP_SAVED">已保存</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">溶解</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">随机播放</text>
+ <text id="IDS_COM_POP_MOVING">移动中...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">移动失败</text>
+ <text id="IDS_COM_BODY_VIDEOS">视频</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">不支持的文件类型</text>
+ <text id="IDS_COM_BODY_RENAME">重命名</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">已完成</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">选择全部</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">所有相册</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">更改名称</text>
+ <text id="IDS_COM_BODY_MOVE">移动</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">无法删除</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">向右旋转</text>
+ <text id="IDS_IV_BODY_INTERVAL">间隔</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">已经存在</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">新建相册</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">无项目</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">百叶窗</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">储存失败</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">字元數目已達上限</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">投影片播放</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">已超過檔案數量上限</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">投影片設定</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">選擇全部</text>
+ <text id="IDS_COM_POP_DELETE_Q">刪除嗎?</text>
+ <text id="IDS_COM_BODY_EDIT">編輯</text>
+ <text id="IDS_COM_BODY_MESSAGE">訊息</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">下載項目</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">相簿名稱已使用</text>
+ <text id="IDS_COM_OPT_SAVE">儲存</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 秒</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">啟動</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">左轉</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 秒</text>
+ <text id="IDS_COM_BODY_MESSAGES">訊息</text>
+ <text id="IDS_COM_SK_DONE">完成</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">無法重新命名</text>
+ <text id="IDS_COM_BODY_EMAIL">電子郵件</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">字元無效</text>
+ <text id="IDS_COM_POP_MOVED">已移動</text>
+ <text id="IDS_COM_POP_CANCEL">取消</text>
+ <text id="IDS_COM_BODY_SELECTED">已選擇</text>
+ <text id="IDS_COM_BODY_DELETE">刪除</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">字幕</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">取消</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">已達字元數目上限 (%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">已達字元數目上限 (%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">投影片放映</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">滑動</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">開始播放投影片</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s 已存在</text>
+ <text id="IDS_COM_BODY_LOADING">正在載入...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">相薄</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">無法重新命名。相簿名稱已使用</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">操作失敗</text>
+ <text id="IDS_COM_POP_SAVING_ING">正在儲存...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">過場效果</text>
+ <text id="IDS_COM_BODY_MUSIC">音樂</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">已選擇 %d 個項目</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">要建立資料夾嗎?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">刪除失敗</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">已選擇 1 個項目</text>
+ <text id="IDS_COM_BODY_VIDEO">影片</text>
+ <text id="IDS_IV_OPT_ZOOM">縮放</text>
+ <text id="IDS_COM_BODY_COPY">複製</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">光圈</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">投影片間隔</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">影片播放器</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">投影片</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">秒</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">左轉</text>
+ <text id="IDS_EBOOK_BODY_PAGE">頁面</text>
+ <text id="IDS_COM_POP_COPYING_ING">正在複製...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 秒</text>
+ <text id="IDS_COM_POP_PROCESSING">正在處理...</text>
+ <text id="IDS_COM_BODY_GALLERY">媒體瀏覽器</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">無名稱</text>
+ <text id="IDS_COM_BODY_IMAGES">圖像</text>
+ <text id="IDS_MEDIABR_BODY_FADE">褪色</text>
+ <text id="IDS_COM_HEADER_EDIT">編輯</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 秒</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">未選擇項目</text>
+ <text id="IDS_COM_POP_DELETED">已刪除</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">要移除嗎?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">已存在。要覆蓋嗎?</text>
+ <text id="IDS_COM_POP_DELETING">正在刪除...</text>
+ <text id="IDS_COM_POP_DONE">完成</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 秒</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">相簿</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">右轉</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">重複</text>
+ <text id="IDS_COM_POP_SAVED">已儲存</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">融化</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">隨機播放</text>
+ <text id="IDS_COM_POP_MOVING">正在移動...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">移動失敗</text>
+ <text id="IDS_COM_BODY_VIDEOS">影片</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">不支援的檔案類型</text>
+ <text id="IDS_COM_BODY_RENAME">重新命名</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">已完成</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">選擇全部</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">全部專輯</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">更改名稱</text>
+ <text id="IDS_COM_BODY_MOVE">移動</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">無法刪除</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">右轉</text>
+ <text id="IDS_IV_BODY_INTERVAL">間隔</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">已存在</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">建立相簿</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">無項目</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">百葉窗</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">儲存失敗</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">已达最大字符数量</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">幻灯片播放</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">已超过最大文件数</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">幻灯片播放设定</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">全选</text>
+ <text id="IDS_COM_POP_DELETE_Q">删除?</text>
+ <text id="IDS_COM_BODY_EDIT">编辑</text>
+ <text id="IDS_COM_BODY_MESSAGE">讯息</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">下载</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">相册名已使用</text>
+ <text id="IDS_COM_OPT_SAVE">储存</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20秒</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">启动</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">向左旋转</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2秒</text>
+ <text id="IDS_COM_BODY_MESSAGES">讯息</text>
+ <text id="IDS_COM_SK_DONE">已完成</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">无法重命名</text>
+ <text id="IDS_COM_BODY_EMAIL">电邮</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">字符无效</text>
+ <text id="IDS_COM_POP_MOVED">已移动</text>
+ <text id="IDS_COM_POP_CANCEL">取消</text>
+ <text id="IDS_COM_BODY_SELECTED">已选定</text>
+ <text id="IDS_COM_BODY_DELETE">删除</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">说明字幕</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">取消</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">已达到最大字符数(%d)</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">已达到最大字符数(%d)</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">幻灯片</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">滑动</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">开始播放幻灯片</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s 已存在</text>
+ <text id="IDS_COM_BODY_LOADING">裝载中…</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">相册</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">无法重命名。相册名已使用</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">操作失败</text>
+ <text id="IDS_COM_POP_SAVING_ING">储存中…</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">转换效果</text>
+ <text id="IDS_COM_BODY_MUSIC">音乐</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">已选择%d个项目</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">创建文件夹吗?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">删除失败</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">已选择1个项目</text>
+ <text id="IDS_COM_BODY_VIDEO">录像</text>
+ <text id="IDS_IV_OPT_ZOOM">变焦</text>
+ <text id="IDS_COM_BODY_COPY">复制</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">Iris 效果</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">幻灯片播放间隔</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">视频播放器</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">幻灯片</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">秒</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">向左旋转</text>
+ <text id="IDS_EBOOK_BODY_PAGE">页面</text>
+ <text id="IDS_COM_POP_COPYING_ING">复制中…</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 秒</text>
+ <text id="IDS_COM_POP_PROCESSING">处理中…</text>
+ <text id="IDS_COM_BODY_GALLERY">画廊</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">无名称</text>
+ <text id="IDS_COM_BODY_IMAGES">图像</text>
+ <text id="IDS_MEDIABR_BODY_FADE">淡出</text>
+ <text id="IDS_COM_HEADER_EDIT">编辑</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5秒</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">未选择项目</text>
+ <text id="IDS_COM_POP_DELETED">已删除</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">移除?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">已存在。覆盖?</text>
+ <text id="IDS_COM_POP_DELETING">删除中…</text>
+ <text id="IDS_COM_POP_DONE">已完成</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3秒</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">滚动照相机</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">向右旋转</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">重复</text>
+ <text id="IDS_COM_POP_SAVED">已储存</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">溶化</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">随机播放</text>
+ <text id="IDS_COM_POP_MOVING">移动中…</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">移动失败</text>
+ <text id="IDS_COM_BODY_VIDEOS">录像</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">不支持的文件类型</text>
+ <text id="IDS_COM_BODY_RENAME">重命名</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">已完成</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">选择全部</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">所有相册</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">更改名称</text>
+ <text id="IDS_COM_BODY_MOVE">移动</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">无法删除</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">向右旋转</text>
+ <text id="IDS_IV_BODY_INTERVAL">间隔</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">已经存在</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">新建相册</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">无项目</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">百叶窗</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">储存失败</text>
+</string_table>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+ This XML file was automatically generated by UiBuilder - do not modify by hand.
+-->
+<string_table Bversion="2.0.0.201305021903" Dversion="20120315">
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED">已達字元數上限</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE_SHOW">投影片放映</text>
+ <text id="IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED">已超過檔案數量上限</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS">投影片設定</text>
+ <text id="IDS_COM_BODY_SELECT_ALL">全選</text>
+ <text id="IDS_COM_POP_DELETE_Q">要刪除嗎?</text>
+ <text id="IDS_COM_BODY_EDIT">編輯</text>
+ <text id="IDS_COM_BODY_MESSAGE">訊息</text>
+ <text id="IDS_COM_BODY_DOWNLOADS">下載</text>
+ <text id="IDS_MEDIABR_POP_ALBUM_NAME_ALREADY_IN_USE_ABB">相簿名稱已被使用</text>
+ <text id="IDS_COM_OPT_SAVE">儲存</text>
+ <text id="IDS_MEDIABR_BODY_20_SECONDS">20 秒</text>
+ <text id="IDS_MEDIABR_BODY_ACTIVATION">啟動</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_LEFT">向左旋轉</text>
+ <text id="IDS_MEDIABR_OPT_2_SECONDS">2 秒</text>
+ <text id="IDS_COM_BODY_MESSAGES">訊息</text>
+ <text id="IDS_COM_SK_DONE">完成</text>
+ <text id="IDS_MEDIABR_POP_UNABLE_TO_RENAME">無法重新命名</text>
+ <text id="IDS_COM_BODY_EMAIL">電子郵件</text>
+ <text id="IDS_COM_POP_INVALID_CHARACTERS">字元無效</text>
+ <text id="IDS_COM_POP_MOVED">已移動</text>
+ <text id="IDS_COM_POP_CANCEL">取消</text>
+ <text id="IDS_COM_BODY_SELECTED">已選擇</text>
+ <text id="IDS_COM_BODY_DELETE">刪除</text>
+ <text id="IDS_MEDIABR_BODY_SUBTITLES">字幕</text>
+ <text id="IDS_COM_BODY_EDIT_CANCEL">取消</text>
+ <text id="IDS_IV_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">達到%d個最大字元</text>
+ <text id="IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_HPD_REACHED">達到%d個最大字元</text>
+ <text id="IDS_MEDIABR_BUTTON_SLIDE_SHOW">投影片放映</text>
+ <text id="IDS_MEDIABR_OPT_SLIDE">投影片</text>
+ <text id="IDS_MEDIABR_OPT_START_SLIDESHOW">開始播放投影片</text>
+ <text id="IDS_COM_POP_PS_ALREADY_EXISTS">%s 已存在</text>
+ <text id="IDS_COM_BODY_LOADING">正在載入...</text>
+ <text id="IDS_MEDIABR_BUTTON_ALBUMS">相簿</text>
+ <text id="IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB">無法重新命名。相簿名稱已被使用</text>
+ <text id="IDS_COM_BODY_OPERATION_FAILED">操作失敗</text>
+ <text id="IDS_COM_POP_SAVING_ING">正在儲存...</text>
+ <text id="IDS_MEDIABR_BODY_TRANSITION_EFFECT">轉換效果</text>
+ <text id="IDS_COM_BODY_MUSIC">音樂</text>
+ <text id="IDS_VR_POP_PD_ITEMS_SELECTED">已選擇 %d 項目</text>
+ <text id="IDS_MEDIABR_POP_CREATE_FOLDER_Q">要建立資料夾嗎?</text>
+ <text id="IDS_COM_POP_DELETE_FAILED">刪除失敗</text>
+ <text id="IDS_VR_POP_1_ITEM_SELECTED">已選擇 1 項目</text>
+ <text id="IDS_COM_BODY_VIDEO">影片</text>
+ <text id="IDS_IV_OPT_ZOOM">縮放</text>
+ <text id="IDS_COM_BODY_COPY">複製</text>
+ <text id="IDS_MEDIABR_MBODY_IRIS_M_EFFECT">光圈</text>
+ <text id="IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL">投影片放映間隔</text>
+ <text id="IDS_COM_BODY_VIDEO_PLAYER">影片播放器</text>
+ <text id="IDS_MEDIABR_OPT_SLIDESHOW">投影片</text>
+ <text id="IDS_COM_BODY_SECONDS_LC">秒</text>
+ <text id="IDS_IV_OPT_ROTATE_LEFT">向左旋轉</text>
+ <text id="IDS_EBOOK_BODY_PAGE">頁面</text>
+ <text id="IDS_COM_POP_COPYING_ING">正在複製...</text>
+ <text id="IDS_MEDIABR_BODY_10_SECONDS">10 秒</text>
+ <text id="IDS_COM_POP_PROCESSING">正在處理...</text>
+ <text id="IDS_COM_BODY_GALLERY">媒體瀏覽器</text>
+ <text id="IDS_MEDIABR_POP_NO_NAME">無姓名</text>
+ <text id="IDS_COM_BODY_IMAGES">圖像</text>
+ <text id="IDS_MEDIABR_BODY_FADE">淡化</text>
+ <text id="IDS_COM_HEADER_EDIT">編輯</text>
+ <text id="IDS_MEDIABR_BODY_5_SECONDS">5 秒</text>
+ <text id="IDS_ST_POP_NO_ITEMS_SELECTED">無已選項目</text>
+ <text id="IDS_COM_POP_DELETED">已刪除</text>
+ <text id="IDS_MEDIABR_POPUP_REMOVE_Q">要移除嗎?</text>
+ <text id="IDS_MEDIABR_POP_ALREADY_EXISTS_OVERWRITE_Q">已存在。要覆寫嗎?</text>
+ <text id="IDS_COM_POP_DELETING">正在刪除...</text>
+ <text id="IDS_COM_POP_DONE">完成</text>
+ <text id="IDS_MEDIABR_OPT_3_SECONDS">3 秒</text>
+ <text id="IDS_MEDIABR_BODY_CAMERA_ROLL_ABB">相簿</text>
+ <text id="IDS_IV_OPT_ROTATE_RIGHT">向右旋轉</text>
+ <text id="IDS_MEDIABR_BODY_REPEAT">重複</text>
+ <text id="IDS_COM_POP_SAVED">已儲存</text>
+ <text id="IDS_MEDIABR_BODY_DISSOLVE">分解</text>
+ <text id="IDS_MEDIABR_BODY_SHUFFLE">隨機播放</text>
+ <text id="IDS_COM_POP_MOVING">正在移動...</text>
+ <text id="IDS_COM_POP_MOVING_FAILED">移動失敗</text>
+ <text id="IDS_COM_BODY_VIDEOS">影片</text>
+ <text id="IDS_MEDIABR_BODY_UNSUPPORTED_FILE_TYPE_ABB">不支援的檔案類型</text>
+ <text id="IDS_COM_BODY_RENAME">重新命名</text>
+ <text id="IDS_MEDIABR_POP_COMPLETED">已完成</text>
+ <text id="IDS_COM_BODY_SELECT_ALL_ABB">選擇所有</text>
+ <text id="IDS_MEDIABR_BODY_ALL_ALBUMS">所有相簿</text>
+ <text id="IDS_COM_BODY_CHANGE_NAME">變更名稱</text>
+ <text id="IDS_COM_BODY_MOVE">移動</text>
+ <text id="IDS_COM_POP_UNABLE_TO_DELETE">無法刪除</text>
+ <text id="IDS_MEDIABR_OPT_ROTATE_RIGHT">向右旋轉</text>
+ <text id="IDS_IV_BODY_INTERVAL">間隔</text>
+ <text id="IDS_COM_POP_ALREDY_EXISTS">已存在</text>
+ <text id="IDS_MEDIABR_OPT_CREATE_ALBUM">建立專輯</text>
+ <text id="IDS_COM_BODY_NO_ITEMS">無項目</text>
+ <text id="IDS_MEDIABR_BODY_BLIND">百頁窗</text>
+ <text id="IDS_COM_POP_SAVING_FAILED">儲存失敗</text>
+</string_table>
--- /dev/null
+#IMAGE_VIEWER_SETTING
+SLIDESHOW_INTERVAL_VALUE=3
+TRANSITION_EFFECT_VALUE=0
+REPEAT_VALUE=0
+SHUFFLE_VALUE=0
\ No newline at end of file
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumInfo.cpp
+ * @brief This is the implementation file for AlbumInfo class.
+ */
+
+#include "GlAlbumInfo.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+
+AlbumInfo::AlbumInfo(void)
+ : __pDirectoryFullPathList(null)
+ , __pContentIdList(null)
+ , __pFolderThumnailBitmap(null)
+{
+}
+
+AlbumInfo::~AlbumInfo(void)
+{
+ if (__pDirectoryFullPathList != null)
+ {
+ delete __pDirectoryFullPathList;
+ }
+
+ if (__pContentIdList != null)
+ {
+ delete __pContentIdList;
+ }
+
+ if (__pFolderThumnailBitmap != null)
+ {
+ delete __pFolderThumnailBitmap;
+ }
+}
+
+String
+AlbumInfo::GetAlbumName(void) const
+{
+ String returnValue;
+ if ((__albumName != null) && (__albumName.GetLength() > 0))
+ {
+ returnValue = __albumName;
+ }
+
+ return returnValue;
+}
+
+void
+AlbumInfo::SetAlbumName(const String& albumName)
+{
+ if (&albumName == null)
+ {
+ __albumName = EMPTY_SPACE;
+ }
+ else
+ {
+ __albumName = String(albumName);
+ }
+}
+
+String
+AlbumInfo::GetDirectory(int index) const
+{
+ String fullDirPath = *(static_cast<String*>(__pDirectoryFullPathList->GetAt(index)));
+ return fullDirPath;
+}
+
+IList*
+AlbumInfo::GetDirectoryListN(void) const
+{
+ if (__pDirectoryFullPathList == null)
+ {
+ return null;
+ }
+
+ IList* pDirectoryFullPathList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ IEnumerator* pEnum = __pDirectoryFullPathList->GetEnumeratorN();
+ String* pItem = null;
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ pItem = new (std::nothrow) String((static_cast<String*>(pEnum->GetCurrent()))->GetPointer());
+ pDirectoryFullPathList->Add(pItem);
+ }
+ delete pEnum;
+
+ return pDirectoryFullPathList;
+}
+
+void
+AlbumInfo::ClearDirectoryList(void)
+{
+ if (__pDirectoryFullPathList != null)
+ {
+ delete __pDirectoryFullPathList;
+ }
+
+ __pDirectoryFullPathList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+}
+
+void
+AlbumInfo::AppendDirectory(const String& directoryPath)
+{
+ if (&directoryPath == null || directoryPath == EMPTY_SPACE)
+ {
+ return;
+ }
+
+ if (__pDirectoryFullPathList == null)
+ {
+ __pDirectoryFullPathList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ }
+
+ __pDirectoryFullPathList->Add(new (std::nothrow) String(directoryPath));
+}
+
+void
+AlbumInfo::AppendDirectoryList(const ICollection& directoryList)
+{
+ if (&directoryList == null || directoryList.GetCount() == 0)
+ {
+ return;
+ }
+ if (__pDirectoryFullPathList == null)
+ {
+ __pDirectoryFullPathList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ }
+ IEnumerator* pEnum = directoryList.GetEnumeratorN();
+ String* pItem = null;
+
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ pItem = new (std::nothrow) String((static_cast<String*>(pEnum->GetCurrent()))->GetPointer());
+ __pDirectoryFullPathList->Add(pItem);
+ }
+ delete pEnum;
+}
+
+int
+AlbumInfo::GetDirectoryCount(void) const
+{
+ if (__pDirectoryFullPathList == null)
+ {
+ return 0;
+ }
+ else
+ {
+ return __pDirectoryFullPathList->GetCount();
+ }
+}
+
+IList*
+AlbumInfo::GetContentIdListN(void) const
+{
+ if (__pContentIdList == null)
+ {
+ return null;
+ }
+
+ IList* pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ IEnumerator* pEnum = __pContentIdList->GetEnumeratorN();
+ ContentId* pItem;
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ pItem = new (std::nothrow) ContentId(*static_cast<ContentId*>(pEnum->GetCurrent()));
+ pContentIdList->Add(pItem);
+ }
+ delete pEnum;
+
+ return pContentIdList;
+}
+
+ContentId
+AlbumInfo::GetContentId(int index) const
+{
+ ContentId contentId = *(static_cast<ContentId*>(__pContentIdList->GetAt(index)));
+ return contentId;
+}
+
+result
+AlbumInfo::Construct(void)
+{
+ __albumName = EMPTY_SPACE;
+ __pDirectoryFullPathList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ __pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ result r = E_SUCCESS;
+ if (GetLastResult() != E_SUCCESS || __pDirectoryFullPathList == null || __pContentIdList == null)
+ {
+ delete __pDirectoryFullPathList;
+ __pDirectoryFullPathList = null;
+ delete __pContentIdList;
+ __pContentIdList = null;
+ r = E_FAILURE;
+ }
+
+ return r;
+}
+
+result
+AlbumInfo::Construct(const String& albumName, ContentType contentType, const IList& directoryList,
+ const IList& contentIdList)
+{
+ if (&albumName == null)
+ {
+ __albumName = EMPTY_SPACE;
+ }
+ else
+ {
+ __albumName = albumName;
+ }
+
+ if (&directoryList == null)
+ {
+ ClearDirectoryList();
+ }
+ else
+ {
+ ClearDirectoryList();
+ AppendDirectoryList(directoryList);
+ }
+
+ if (&contentIdList == null)
+ {
+ ClearContentIdList();
+ }
+ else
+ {
+ AppendContentIdList(contentIdList);
+ }
+
+ return E_SUCCESS;
+}
+
+result
+AlbumInfo::Construct(const AlbumInfo& albumInfo)
+{
+ if (&albumInfo == null)
+ {
+ __albumName = EMPTY_SPACE;
+ ClearDirectoryList();
+ ClearContentIdList();
+ return E_SUCCESS;
+ }
+ __albumName = albumInfo.GetAlbumName();
+
+ ClearDirectoryList();
+ IList* pDirList = albumInfo.GetDirectoryListN();
+ AppendDirectoryList(*pDirList);
+ delete pDirList;
+
+ ClearContentIdList();
+ IList* pContentIdList = albumInfo.GetContentIdListN();
+ AppendContentIdList(*pContentIdList);
+ delete pContentIdList;
+
+ return E_SUCCESS;
+}
+
+void
+AlbumInfo::ClearContentIdList(void)
+{
+ if (__pContentIdList != null)
+ {
+ delete __pContentIdList;
+ }
+
+ __pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+}
+
+void
+AlbumInfo::AppendContentId(const ContentId& contentId)
+{
+ if (&contentId == null)
+ {
+ return;
+ }
+
+ if (__pContentIdList == null)
+ {
+ __pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ }
+ ContentId* pItem = new (std::nothrow) ContentId(contentId);
+ __pContentIdList->Add(pItem);
+}
+
+void
+AlbumInfo::AppendContentIdList(const ICollection& contentIdList)
+{
+ if (&contentIdList == null || contentIdList.GetCount() == 0)
+ {
+ return;
+ }
+
+ if (__pContentIdList == null)
+ {
+ __pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ }
+
+ IEnumerator* pEnum = contentIdList.GetEnumeratorN();
+ ContentId* pItem = null;
+
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ pItem = new (std::nothrow) ContentId(*(static_cast<ContentId*>(pEnum->GetCurrent())));
+ __pContentIdList->Add(pItem);
+ }
+ delete pEnum;
+}
+
+void
+AlbumInfo::ClearAll(void)
+{
+ if (__pDirectoryFullPathList != null)
+ {
+ delete __pDirectoryFullPathList;
+ __pDirectoryFullPathList = null;
+ }
+
+ if (__pContentIdList != null)
+ {
+ delete __pContentIdList;
+ __pContentIdList = null;
+ }
+}
+
+int
+AlbumInfo::GetContentIdCount(void) const
+{
+ if (__pContentIdList == null)
+ {
+ return 0;
+ }
+ else
+ {
+ return __pContentIdList->GetCount();
+ }
+}
+
+result
+AlbumInfo::RemoveContentIdAt(const int index)
+{
+ result r = E_SUCCESS;
+
+ if (__pContentIdList != null)
+ {
+ r = __pContentIdList->RemoveAt(index, true);
+ }
+
+ return r;
+}
+
+void
+AlbumInfo::SetFolderThumnailBitmap(Bitmap* pFolderThumnailBitmap)
+{
+ __pFolderThumnailBitmap = pFolderThumnailBitmap;
+}
+
+Bitmap*
+AlbumInfo::GetFolderThumnailBitmap(void) const
+{
+ return __pFolderThumnailBitmap;
+}
+
+AlbumInfoType
+AlbumInfo::GetAlbumInfoType(void) const
+{
+ return ALBUM_INFO_TYPE_FOLDER;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumListEditorForm.cpp
+ * @brief This is the implementation file for AlbumListEditorForm class.
+ */
+
+#include "GlAlbumInfo.h"
+#include "GlAlbumListEditorForm.h"
+#include "GlAlbumListPresentationModel.h"
+#include "GlProgressAnimation.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const unsigned int COLOR_DELETE_BUTTON_NORMAL = Color32<208, 82, 82>::Value;
+static const unsigned int COLOR_DELETE_BUTTON_PRESSED = Color32<194, 71, 71>::Value;
+static const unsigned int COLOR_DELETE_BUTTON_TEXT = Color32<248, 246, 239>::Value;
+static const String RESERVED_CAMERA_PATH = Environment::GetMediaPath() + L"Camera" + DIRECTORY_SEPARATOR;
+static const String RESERVED_CAMERA_PATH_EXT = Environment::GetExternalStoragePath() + L"Camera" + DIRECTORY_SEPARATOR;
+static const String RESERVED_MEDIA_PATH = Environment::GetMediaPath();
+static const String RESERVED_EXTERNAL_MEDIA_PATH = Environment::GetExternalStoragePath();
+
+static const int GAP_W_POPUP_ITEM = 10;
+static const int W_DELETE_POPUP = 688;
+static const int H_DELETE_POPUP = 230;
+static const int H_DELETE_LABEL = 80;
+static const int Y_DELETE_BUTTON = 132;
+static const int H_DELETE_BUTTON = 74;
+static const int W_DELETE_BUTTON = 318;
+static const int Y_DELETE_LABEL = 32;
+
+static const int FORMAT_BUFFER_SIZE = 256;
+
+static const Color COLOR_FOLDER_BITMAP_DIM(Color::GetColor(COLOR_ID_BLACK));
+static const int ALPHA_FOLDER_BITMAP_DIM = 70;
+
+static const int IDA_ALBUM_EDIT = 503;
+
+AlbumListEditorForm::AlbumListEditorForm(void)
+ : __checkedCount(0)
+ , __pSelectCountLabel(null)
+ , __pEditorFolderIconList(null)
+ , __pShareContextMenu(null)
+ , __pDeletePopup(null)
+ , __pFileUpdateTimer(null)
+ , __pPresentationModel(null)
+ , __isScanProgress(false)
+{
+ AppLogDebug("ENTER");
+ _pProgressAnim = null;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AlbumListEditorForm::~AlbumListEditorForm(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumListEditorForm::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Form::Construct(IDL_FORM_ALBUM_LIST_EDITOR);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumListEditorForm::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+
+ SetOrientation(ORIENTATION_AUTOMATIC);
+ AddOrientationEventListener(*this);
+
+ __pPresentationModel = AlbumListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ r = __pPresentationModel->AddPresentationModelListener(this);
+
+ SetFormBackEventListener(this);
+ GetHeader()->AddActionEventListener(*this);
+ GetFooter()->AddActionEventListener(*this);
+
+ r = InitializeControl();
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("[%s] Unable to set InitializeControl.", GetErrorMessage(r));
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumListEditorForm::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ r = __pPresentationModel->RemovePresentationModelListener(*this);
+ __pPresentationModel->RemoveContentEventListener(*this);
+
+ if (__pDeletePopup != null)
+ {
+ delete __pDeletePopup;
+ __pDeletePopup = null;
+ }
+ if (__pFileUpdateTimer != null)
+ {
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+AlbumListEditorForm::ShowAnimation(void)
+{
+ Rectangle clientRect= GetClientAreaBounds();
+ Rectangle rect(0, 0, clientRect.width, clientRect.height);
+ _pProgressAnim = new (std::nothrow) ProgressAnimation;
+ _pProgressAnim->Construct(rect);
+ AddControl(_pProgressAnim);
+ SetControlAlwaysOnTop(*_pProgressAnim,true);
+ _pProgressAnim->SetShowState(true);
+ GetFooter()->SetEnabled(false);
+ _pProgressAnim->AnimationStart();
+ _pProgressAnim->Draw();
+}
+void
+AlbumListEditorForm::StopAnimation(void)
+{
+ if (_pProgressAnim)
+ {
+ _pProgressAnim->AnimationStop();
+ _pProgressAnim->SetShowState(false);
+ RemoveControl(_pProgressAnim);
+ GetFooter()->SetEnabled(true);
+ _pProgressAnim = null;
+ }
+}
+
+void
+AlbumListEditorForm::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+ int maxCount = __pPresentationModel->GetFolderCount();
+ if (__pDeletePopup != null)
+ {
+ if (__pDeletePopup->IsVisible() == true)
+ {
+ __pDeletePopup->Destroy();
+ __pDeletePopup = null;
+ InitializePopup();
+ }
+ }
+
+ for (int i = 0; i < maxCount; ++i)
+ {
+ __pEditorFolderIconList->SetItemChecked(i, false);
+ }
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumListEditorForm::InitializeControl(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ String tempString;
+
+ __pSelectCountLabel = static_cast<Label*>(GetControl(L"IDC_LABEL_ALBUM_LIST_EDITOR_SELECTED"));
+ AppAssert(__pSelectCountLabel);
+
+ CreateIconListView();
+ __checkedCount = GetCheckedFolderCount();
+
+
+ r = InitializePopup();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumListEditorForm::InitializePopup(void)
+{
+ AppLogDebug("ENTER");
+ if (__pDeletePopup == null)
+ {
+ __pDeletePopup = new (std::nothrow) Popup();
+ __pDeletePopup->Construct(false, Dimension(W_DELETE_POPUP, H_DELETE_POPUP));
+ __pDeletePopup->SetPropagatedKeyEventListener(this);
+
+ Rectangle popupClientBounds = __pDeletePopup->GetClientAreaBounds();
+
+ Label* pLabel = new (std::nothrow) Label();
+ pLabel->Construct(Rectangle(0, Y_DELETE_LABEL, popupClientBounds.width, H_DELETE_LABEL),
+ ResourceManager::GetString(L"IDS_COM_POP_DELETE_Q"));
+ pLabel->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ pLabel->SetTextConfig(34,LABEL_TEXT_STYLE_BOLD);
+
+ Button* pDeleteButton = new (std::nothrow) Button();
+ pDeleteButton->Construct(Rectangle(popupClientBounds.width / 2 + GAP_W_POPUP_ITEM, Y_DELETE_BUTTON, W_DELETE_BUTTON, H_DELETE_BUTTON),
+ ResourceManager::GetString(L"IDS_COM_BODY_DELETE"));
+ pDeleteButton->SetColor(BUTTON_STATUS_NORMAL, COLOR_DELETE_BUTTON_NORMAL);
+ pDeleteButton->SetColor(BUTTON_STATUS_PRESSED, COLOR_DELETE_BUTTON_PRESSED);
+ pDeleteButton->SetTextColor(COLOR_DELETE_BUTTON_TEXT);
+ pDeleteButton->SetActionId(IDA_DELETE_POPUP_DEL);
+ pDeleteButton->AddActionEventListener(*this);
+
+ Button* pCancelButton = new (std::nothrow) Button();
+ pCancelButton->Construct(Rectangle(16, Y_DELETE_BUTTON, W_DELETE_BUTTON, H_DELETE_BUTTON),
+ ResourceManager::GetString(L"IDS_COM_POP_CANCEL"));
+ pCancelButton->SetActionId(IDA_DELETE_POPUP_CANCEL);
+ pCancelButton->AddActionEventListener(*this);
+
+ __pDeletePopup->AddControl(pLabel);
+ __pDeletePopup->AddControl(pDeleteButton);
+ __pDeletePopup->AddControl(pCancelButton);
+ }
+ else
+ {
+ __pDeletePopup->SetShowState(true);
+ __pDeletePopup->Show();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+AlbumListEditorForm::CreateIconListView(void)
+{
+ AppLogDebug("ENTER");
+
+
+ __pEditorFolderIconList = new IconListView();
+ __pEditorFolderIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height - __pSelectCountLabel->GetHeight()),
+ Dimension(348, 348), ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ __pEditorFolderIconList->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT);
+ __pEditorFolderIconList->SetTouchAnimationEnabled(false);
+ __pEditorFolderIconList->SetItemProvider(*this);
+ __pEditorFolderIconList->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pEditorFolderIconList->AddIconListViewItemEventListener(*this);
+
+ Bitmap* pBitmap = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+
+ if (pBitmap != null)
+ {
+ __pEditorFolderIconList->SetBitmapOfEmptyList(pBitmap);
+ delete pBitmap;
+ }
+
+ __pEditorFolderIconList->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+
+ AddControl(__pEditorFolderIconList);
+
+ __pEditorFolderIconList->SetShowState(true);
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+AlbumListEditorForm::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pPresentationModel->GetFolderCount();
+}
+
+IconListViewItem*
+AlbumListEditorForm::CreateItem(int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ Bitmap* pBitmap = null;
+ Canvas* pEditAlbumCanvas = null;
+ Bitmap* pEditAlbumBitmap = null;
+ Bitmap* pBitmapRenameBg = null;
+ Bitmap* pBitmapRename = null;
+ String albumName;
+ int canvasWidth = 75;
+ int canvasHeight = 75;
+
+ IconListViewItem* pIconListviewItem = new (std::nothrow) IconListViewItem();
+
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(index));
+
+ Bitmap* pAlbumBitmap = pAlbumInfo->GetFolderThumnailBitmap();
+ if (pAlbumBitmap == null)
+ {
+ __pPresentationModel->RequestThumbnail(index, 0);
+ }
+
+ pBitmap = __pPresentationModel->CreateMergeBitmapN(index);
+
+ if (__pEditorFolderIconList->IsItemChecked(index) == true)
+ {
+ if (pBitmap != null)
+ {
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+ Color dimColor(COLOR_FOLDER_BITMAP_DIM);
+ dimColor.SetAlpha(ALPHA_FOLDER_BITMAP_DIM);
+ Canvas canvas;
+ canvas.Construct(bufferInfo);
+ canvas.FillRectangle(dimColor, canvas.GetBounds());
+ Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
+ pSelectedBitmap->Construct(canvas, canvas.GetBounds());
+ pIconListviewItem->Construct(*pBitmap, null, pSelectedBitmap);
+ delete pSelectedBitmap;
+ }
+ }
+ else
+ {
+ pIconListviewItem->Construct(*pBitmap);
+ }
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+
+ pBitmapRenameBg = ResourceManager::GetBitmapN(IDB_ALBUM_EDIT_RENAME_BG);
+ pBitmapRename = ResourceManager::GetBitmapN(IDB_ALBUM_EDIT_RENAME);
+
+ if (pBitmapRenameBg != null && pBitmapRename != null)
+ {
+
+ pEditAlbumCanvas = new (std::nothrow) Canvas();
+ pEditAlbumCanvas->Construct(Rectangle(0, 0, canvasWidth, canvasHeight));
+ pEditAlbumCanvas->DrawBitmap(Point(0, 6), *pBitmapRenameBg);
+ pEditAlbumCanvas->DrawBitmap(Point(0, 6), *pBitmapRename);
+
+
+ pEditAlbumBitmap = new (std::nothrow) Bitmap();
+
+ if (pEditAlbumBitmap != NULL)
+ {
+ pEditAlbumBitmap->Construct(*pEditAlbumCanvas, Rectangle(0, 0, canvasWidth, canvasHeight));
+
+ }
+ delete pEditAlbumCanvas;
+
+ albumName = pAlbumInfo->GetAlbumName();
+
+ if (albumName == ALL_ALBUMS_REAL_NAME)
+ {
+ albumName = ResourceManager::GetString(L"IDS_MEDIABR_BODY_ALL_ALBUMS");
+ }
+
+ String reservedCameraName = ResourceManager::GetString(L"IDS_MEDIABR_BODY_CAMERA_ROLL_ABB");
+ String albumPath = pAlbumInfo->GetDirectory(0);
+ albumPath.Append(DIRECTORY_SEPARATOR);
+
+ if (index == 0 || (reservedCameraName.Equals(albumName, true) &&
+ (RESERVED_CAMERA_PATH.Equals(albumPath, true) || RESERVED_CAMERA_PATH_EXT.Equals(albumPath, true)))
+ || RESERVED_MEDIA_PATH.Equals(albumPath, true) || RESERVED_EXTERNAL_MEDIA_PATH.Equals(albumPath, true))
+ {
+ // rename disabled
+ }
+ else
+ {
+ pIconListviewItem->SetOverlayBitmap(IDA_ALBUM_EDIT, pEditAlbumBitmap, ALIGNMENT_RIGHT, ALIGNMENT_TOP);
+ }
+
+ if (pEditAlbumBitmap != null)
+ {
+ delete pEditAlbumBitmap;
+ }
+ }
+
+ if (pBitmapRenameBg)
+ {
+ delete pBitmapRenameBg;
+ }
+ if (pBitmapRename)
+ {
+ delete pBitmapRename;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListviewItem;
+}
+
+void
+AlbumListEditorForm::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+
+ if (status == ICON_LIST_VIEW_ITEM_CHECKED || status == ICON_LIST_VIEW_ITEM_UNCHECKED)
+ {
+ if (status == ICON_LIST_VIEW_ITEM_CHECKED)
+ {
+ ++__checkedCount;
+ }
+ else if (status == ICON_LIST_VIEW_ITEM_UNCHECKED)
+ {
+ --__checkedCount;
+ }
+
+ String tempString;
+ if (__checkedCount == 0)
+ {
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (__checkedCount == 1)
+ {
+ tempString = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ tempString.Format(FORMAT_BUFFER_SIZE, ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), __checkedCount);
+ }
+
+ __pSelectCountLabel->SetText(tempString);
+ __pSelectCountLabel->RequestRedraw();
+ __pEditorFolderIconList->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnIconListViewOverlayBitmapSelected (IconListView &iconListView, int index,
+ int overlayBitmapId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
+ ArrayList* pSelectedIndex = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pSelectedIndex->Construct();
+ //Adding the Action Type
+ pSelectedIndex->Add(new (std::nothrow) Integer(ALBUM_RENAME));
+ pSelectedIndex->Add(new (std::nothrow) Integer(FILE_ACTION_MOVE));
+ pSelectedIndex->Add(new (std::nothrow) Integer(index));
+
+ if (__pEditorFolderIconList->IsItemChecked(index) == false)
+ {
+ __pEditorFolderIconList->SetItemChecked(index,true);
+ }
+ else
+ {
+ __pEditorFolderIconList->SetItemChecked(index,false);
+ }
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_NAME_EDITOR), pSelectedIndex);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+AlbumListEditorForm::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+result
+AlbumListEditorForm::DeleteFolder(void)
+{
+
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList->GetCount() <= 0)
+ {
+ delete pIndexList;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+
+ if (__pFileUpdateTimer != null)
+ {
+ delete __pFileUpdateTimer;
+ }
+ __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_DELETE);
+ result r = __pFileUpdateTimer->StartTimer();
+
+ if (IsFailed(r))
+ {
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ return E_FAILURE;
+ }
+ else
+ {
+ __pPresentationModel->SetUpdateProgressStatus(true);
+ }
+ return E_SUCCESS;
+}
+
+IList*
+AlbumListEditorForm::GetItemCheckedIndexListN(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ Integer* pIndex = null;
+
+ if (__pEditorFolderIconList!=null)
+ {
+ int loopCount = __pPresentationModel->GetFolderCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pEditorFolderIconList->IsItemChecked(i) == true)
+ {
+ pIndex = new (std::nothrow) Integer(i);
+ pList->Add(pIndex);
+ AppLogDebug("checked index(%d)", i);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pList;
+}
+
+void
+AlbumListEditorForm::SetAllCheckState(const bool state)
+{
+ AppLogDebug("ENTER");
+
+ int maxCount = __pPresentationModel->GetFolderCount();
+ String tempString;
+
+ if (state == true)
+ {
+ if (maxCount == 1)
+ {
+ tempString = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED;");
+ }
+ else
+ {
+ tempString.Format(FORMAT_BUFFER_SIZE,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), maxCount);
+ }
+ }
+ else
+ {
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+
+ for (int i = 0; i < maxCount; ++i)
+ {
+ __pEditorFolderIconList->SetItemChecked(i, state);
+ __pEditorFolderIconList->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+
+ __pEditorFolderIconList->Draw();
+ __pSelectCountLabel->SetText(tempString);
+ __pSelectCountLabel->RequestRedraw();
+ __checkedCount = GetCheckedFolderCount();
+
+ SetButtonState();
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+AlbumListEditorForm::GetCheckedFolderCount(void) const
+{
+ AppLogDebug("ENTER");
+ int maxCount = __pPresentationModel->GetFolderCount();
+ int count = 0;
+
+ for (int i = 0; i < maxCount; ++i)
+ {
+ if (__pEditorFolderIconList->IsItemChecked (i))
+ {
+ ++count;
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return count;
+}
+
+void
+AlbumListEditorForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ switch (actionId)
+ {
+ case IDA_ALBUM_LIST_SELECT_ALL:
+ {
+ if (__pPresentationModel->GetFolderCount() == GetCheckedFolderCount())
+ {
+ SetAllCheckState(false);
+ }
+ else
+ {
+ SetAllCheckState(true);
+ }
+ }
+ break;
+
+ case IDA_FOOTER_DELETE:
+ {
+ __pDeletePopup->SetShowState(true);
+ __pDeletePopup->Show();
+ }
+ break;
+
+ case IDA_FOOTER_SHARE:
+ {
+
+ if (__pShareContextMenu != NULL)
+ {
+ delete __pShareContextMenu;
+ __pShareContextMenu = null;
+ }
+
+
+ Bitmap* pBitmapEmailContextItem = null;
+ Bitmap* pBitmapMessageContextItem = null;
+ pBitmapEmailContextItem = ResourceManager::GetBitmapN(IDB_IMAGE_CONTEXT_EMAIL_ICON);
+ pBitmapMessageContextItem = ResourceManager::GetBitmapN(IDB_IMAGE_CONTEXT_MESSAGE_ICON);
+
+ __pShareContextMenu = new (std::nothrow) ContextMenu();
+ __pShareContextMenu->Construct(Point(GetClientAreaBounds().width/3 + 15, GetClientAreaBounds().height + __pSelectCountLabel->GetHeight() + 5),
+ CONTEXT_MENU_STYLE_LIST, CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD);
+
+ if ( pBitmapMessageContextItem != null)
+ {
+ __pShareContextMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_MESSAGE"),
+ IDA_CONTEXT_MENU_MESSAGE , *pBitmapMessageContextItem, null, null);
+
+ delete pBitmapMessageContextItem;
+ }
+
+ if ( pBitmapEmailContextItem != null)
+ {
+ __pShareContextMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_EMAIL"), IDA_CONTEXT_MENU_EMAIL,
+ *pBitmapEmailContextItem, null, null);
+
+ delete pBitmapEmailContextItem;
+ }
+
+ __pShareContextMenu->SetFocusable(true);
+ __pShareContextMenu->AddActionEventListener(*this);
+ __pShareContextMenu->SetShowState(true);
+ __pShareContextMenu->Show();
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_MESSAGE:
+ {
+ OnRequestMessage();
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_EMAIL:
+ {
+ OnRequestEmail();
+ }
+ break;
+
+ case IDA_DELETE_POPUP_DEL:
+ {
+ __pDeletePopup->SetShowState(false);
+ __pDeletePopup->Show();
+ DeleteFolder();
+ }
+ break;
+
+ case IDA_DELETE_POPUP_CANCEL:
+ {
+ __pDeletePopup->SetShowState(false);
+ __pDeletePopup->Show();
+ }
+ break;
+
+ default:
+ break;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+ if(__isScanProgress)
+ {
+ return;
+ }
+}
+
+void
+AlbumListEditorForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("ENTER");
+ if(__isScanProgress)
+ {
+ return;
+ }
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER OnSceneActivatedN");
+ String tempString;
+
+
+ int count = __pPresentationModel->GetFolderCount();
+
+ __pPresentationModel->AddContentEventListener(this);
+
+ __checkedCount = GetCheckedFolderCount();
+
+ if (previousSceneId == IDSCN_ALBUM_NAME_EDITOR)
+ {
+
+ if (__checkedCount == 0)
+ {
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else
+ {
+ tempString.Format(FORMAT_BUFFER_SIZE,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), __checkedCount);
+ }
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_ALL);
+
+ for (int index = 0; index < count; ++index)
+ {
+ __pEditorFolderIconList->SetItemChecked(index,false);
+ }
+
+ __pEditorFolderIconList->UpdateList();
+ __checkedCount = 0;
+
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+
+ __pSelectCountLabel->SetText(tempString);
+ __pSelectCountLabel->Invalidate(true);
+
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemoveContentEventListener(*this);
+
+ if (nextSceneId != IDSCN_ALBUM_NAME_EDITOR)
+ {
+ int loopCount = __pPresentationModel->GetFolderCount();
+
+ for (int count = 0; count < loopCount; ++count)
+ {
+ __pEditorFolderIconList->SetItemChecked(count,false);
+ }
+ __pEditorFolderIconList->UpdateList();
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ Update();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ __pEditorFolderIconList->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ Invalidate(true);
+}
+
+void
+AlbumListEditorForm::OnScanDirStart()
+{
+ AppLogDebug("SANTHOSH ENTER");
+ GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, false);
+ Invalidate(true);
+ __isScanProgress = true;
+ AppLogDebug("SANTHOSH EXIT");
+}
+void
+AlbumListEditorForm::OnScanDirComplete()
+{
+ AppLogDebug("SANTHOSH ENTER");
+ GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, true);
+ Invalidate(true);
+ __isScanProgress = false;
+ AppLogDebug("SANTHOSH EXIT");
+}
+
+void
+AlbumListEditorForm::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->SetUpdateProgressStatus(false);
+ SetAllCheckState(false);
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_ALL);
+ __pEditorFolderIconList->UpdateList();
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+AlbumListEditorForm::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
+{
+ AppLogDebug("ENTER");
+
+ if (keyEventInfo.GetKeyCode() == KEY_BACK || keyEventInfo.GetKeyCode() == KEY_ESC)
+ {
+ __pDeletePopup->SetShowState(false);
+ __pDeletePopup->Show();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return false;
+}
+
+result
+AlbumListEditorForm::Update(void)
+{
+ AppLogDebug("ENTER");
+ result r = __pEditorFolderIconList->UpdateList();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+AlbumListEditorForm::OnRequestMessage(void)
+{
+ AppLogDebug("ENTER");
+
+ int checkCount = GetCheckedFolderCount();
+
+ if (checkCount <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+
+ int maxCount = __pPresentationModel->GetFolderCount();
+ ContentManager contentManager;
+ result r = contentManager.Construct();
+ if (r == E_SUCCESS)
+ {
+ if (maxCount <= 0)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ for (int i = 0; i < maxCount; ++i)
+ {
+ if (__pEditorFolderIconList->IsItemChecked (i))
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(i));
+ IList* pContentIdList = pAlbumInfo->GetContentIdListN();
+ int loopCount = pContentIdList->GetCount();
+ for (int k = 0; k < loopCount; ++k)
+ {
+ ContentId* pContentId = static_cast<ContentId*>(pContentIdList->GetAt(k));
+ ContentInfo* pContentInfo = contentManager.GetContentInfoN(*pContentId);
+
+ if (pContentInfo == null)
+ {
+ break;
+ }
+
+ pArrayList->Add(new (std::nothrow) String(pContentInfo->GetContentPath()));
+ }
+
+ if (i == 0)
+ {
+ break;
+ }
+ }
+ }
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_MESSAGE_TYPE), new (std::nothrow) String(APPCONTROL_DATA_MMS));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_MESSAGE, APPCONTROL_OPERATION_ID_COMPOSE,
+ null, null, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::OnRequestEmail(void)
+{
+ AppLogDebug("ENTER");
+
+ int checkCount = GetCheckedFolderCount();
+
+ if (checkCount <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+
+ int maxCount = __pPresentationModel->GetFolderCount();
+ ContentManager contentManager;
+ result r = contentManager.Construct();
+ if (r == E_SUCCESS)
+ {
+ if (maxCount <= 0)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ for (int i = 0; i < maxCount; ++i)
+ {
+ if (__pEditorFolderIconList->IsItemChecked(i))
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(i));
+ IList* pContentIdList = pAlbumInfo->GetContentIdListN();
+ int loopCount = pContentIdList->GetCount();
+ for (int k = 0; k < loopCount; ++k)
+ {
+ ContentId* pContentId = static_cast<ContentId*>(pContentIdList->GetAt(k));
+ ContentInfo* pContentInfo = contentManager.GetContentInfoN(*pContentId);
+
+ if (pContentInfo == null)
+ {
+ break;
+ }
+
+ pArrayList->Add(new (std::nothrow) String(pContentInfo->GetContentPath()));
+ }
+
+ if (i == 0)
+ {
+ break;
+ }
+ }
+ }
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_EMAIL, APPCONTROL_OPERATION_ID_COMPOSE,
+ new (std::nothrow) String(APPCONTROL_URI_MAIL_TO), null, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::SetFooterButtonsState(const bool enableState)
+{
+ AppLogDebug("ENTER");
+ Footer* pFooter = GetFooter();
+ AppAssert(pFooter);
+
+ if (enableState == true)
+ {
+ pFooter->SetItemEnabled(0, true);
+ pFooter->SetItemEnabled(1, true);
+ }
+ else
+ {
+ pFooter->SetItemEnabled(0, false);
+ pFooter->SetItemEnabled(1, false);
+ }
+
+ pFooter->RequestRedraw(true);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListEditorForm::SetButtonState(void)
+{
+ AppLogDebug("ENTER");
+ if (GetCheckedFolderCount() > 0)
+ {
+ AppLogDebug("BUTTONSTATE : Request Enable");
+ SetFooterButtonsState(true);
+ }
+ else
+ {
+ AppLogDebug("BUTTONSTATE : Request disable");
+ SetFooterButtonsState(false);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+
+void
+AlbumListEditorForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+
+ IList* pIndexList = GetItemCheckedIndexListN();
+
+ if (__pEditorFolderIconList != null)
+ {
+ RemoveControl(__pEditorFolderIconList);
+ }
+
+ __pEditorFolderIconList = new IconListView();
+
+ if (orientationStatus == ORIENTATION_STATUS_PORTRAIT)
+ {
+ __pEditorFolderIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height- __pSelectCountLabel->GetHeight()),
+ Dimension(348, 348), ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ }
+ else if (orientationStatus == ORIENTATION_STATUS_LANDSCAPE || orientationStatus == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
+ {
+ int horizontalSpacing = 8;
+ int verticalSpacing = 60;
+ int height = 424;
+ int width = 410;
+
+ __pEditorFolderIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height - __pSelectCountLabel->GetHeight()),
+ Dimension(width, height), ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+
+ __pEditorFolderIconList->SetItemSpacing(horizontalSpacing, verticalSpacing);
+ __pEditorFolderIconList->SetMargin(MARGIN_TYPE_TOP,40);
+ }
+
+ Bitmap* pBitmap = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+
+ if (pBitmap != null)
+ {
+ __pEditorFolderIconList->SetBitmapOfEmptyList(pBitmap);
+ delete pBitmap;
+ }
+
+ __pEditorFolderIconList->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT);
+ __pEditorFolderIconList->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pEditorFolderIconList->SetTouchAnimationEnabled(false);
+ __pEditorFolderIconList->SetItemProvider(*this);
+ __pEditorFolderIconList->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pEditorFolderIconList->AddIconListViewItemEventListener(*this);
+
+ AddControl(__pEditorFolderIconList);
+
+ int loopCount = pIndexList->GetCount();
+ int index = -1;
+ for (int count = 0; count < loopCount; ++count)
+ {
+ Integer* pRealIndex = static_cast<Integer*>(pIndexList->GetAt(count));
+ index = pRealIndex->ToInt();
+ __pEditorFolderIconList->SetItemChecked(index, true);
+ __pEditorFolderIconList->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+
+ if (_pProgressAnim != null)
+ {
+ _pProgressAnim->ChangeOrientation(Form::GetBounds());
+ _pProgressAnim->Invalidate(true);
+ }
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumListForm.cpp
+ * @brief This is the implementation file for AlbumListForm class.
+ */
+
+#include "GlAlbumInfo.h"
+#include "GlAlbumListForm.h"
+#include "GlAlbumListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlResourceManager.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const int W_FOLDER_SIZE = 348;
+static const int H_FOLDER_SIZE = 348;
+
+AlbumListForm::AlbumListForm(void)
+ : __itemCount(0)
+ , __pAlbumViewIconList(null)
+ , __pOptionMenu(null)
+ , __pPresentationModel(null)
+
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AlbumListForm::~AlbumListForm(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumListForm::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Form::Construct(IDL_FORM_ALBUM_LIST);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumListForm::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+
+ SetOrientation(ORIENTATION_AUTOMATIC);
+ AddOrientationEventListener(*this);
+
+ __pPresentationModel = AlbumListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_IMAGE);
+ }
+ else if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_VIDEO)
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_VIDEO);
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_VIDEO);
+ }
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_ALL);
+ }
+
+ AppLogDebug("ENTER __pPresentationModel(%x)", __pPresentationModel);
+
+ r = InitializeHeader();
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("[%s] Unable to set header.", GetErrorMessage(r));
+ }
+
+ r = InitializeFooter();
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("[%s] Unable to set footer.", GetErrorMessage(r));
+ }
+
+ __itemCount = __pPresentationModel->GetFolderCount();
+ CreateIconListView();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumListForm::InitializeHeader(void)
+{
+ AppLogDebug("ENTER");
+ Header* pHeader = GetHeader();
+ if (pHeader == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_SYSTEM;
+ }
+
+ result r = pHeader->SetStyle(HEADER_STYLE_TITLE);
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return r;
+ }
+
+ pHeader->SetTitleText(ResourceManager::GetString(L"IDS_COM_BODY_GALLERY"));
+ pHeader->AddActionEventListener(*this);
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return E_SUCCESS;
+}
+
+result
+AlbumListForm::InitializeFooter(void)
+{
+ AppLogDebug("ENTER");
+ Footer* pFooter = GetFooter();
+ if (pFooter == null)
+ {
+ AppLogDebug("EXIT 1");
+ return E_SYSTEM;
+ }
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ SetFormBackEventListener(this);
+ pFooter->SetShowState(false);
+ }
+ else
+ {
+ pFooter->SetShowState(true);
+ pFooter->SetStyle(FOOTER_STYLE_BUTTON_ICON);
+ pFooter->RemoveAllItems();
+
+ FooterItem itemCamera;
+ itemCamera.Construct(IDA_FOOTER_CAMERA);
+ itemCamera.SetText(ResourceManager::GetString(L"EMPTY_SPACE"));
+ Bitmap* pBitmap1 = ResourceManager::GetBitmapN(IDB_CONTROLBAR_CAMERA);
+ if (pBitmap1 != null)
+ {
+ itemCamera.SetIcon(FOOTER_ITEM_STATUS_NORMAL, pBitmap1);
+ }
+ pFooter->AddItem(itemCamera);
+ delete pBitmap1;
+
+ __pOptionMenu = new (std::nothrow) OptionMenu();
+ __pOptionMenu->Construct();
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_HEADER_EDIT"),IDA_FOOTER_EDIT);
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_HEADER_EDIT"), IDA_FOOTER_EDIT);
+ __pOptionMenu->SetShowState(false);
+ __pOptionMenu->AddActionEventListener(*this);
+ SetFormMenuEventListener(this);
+ SetFormBackEventListener(this);
+ }
+
+ pFooter->AddActionEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+AlbumListForm::CreateIconListView(void)
+{
+ AppLogDebug("ENTER");
+ Dimension itemSize(W_FOLDER_SIZE, H_FOLDER_SIZE);
+
+ __pAlbumViewIconList = new IconListView();
+ __pAlbumViewIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height),
+ Dimension(W_FOLDER_SIZE, H_FOLDER_SIZE), ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ __pAlbumViewIconList->SetItemProvider(*this);
+ __pAlbumViewIconList->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pAlbumViewIconList->AddIconListViewItemEventListener(*this);
+
+
+
+ Bitmap* pBitmap = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+
+ if (pBitmap != null)
+ {
+ __pAlbumViewIconList->SetBitmapOfEmptyList(pBitmap);
+ delete pBitmap;
+ }
+ __pAlbumViewIconList->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+
+ AddControl(__pAlbumViewIconList);
+
+ __pAlbumViewIconList->SetShowState(true);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+AlbumListForm::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+IconListViewItem*
+AlbumListForm::CreateItem(int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+
+ Bitmap* pBitmap = null;
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+ if (pAlbumInfoList != null)
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(index));
+ if (pAlbumInfo != null)
+ {
+ Bitmap* pAlbumBitmap = pAlbumInfo->GetFolderThumnailBitmap();
+
+ if (pAlbumBitmap == null)
+ {
+ __pPresentationModel->RequestThumbnail(index, 0);
+ }
+
+ pBitmap = __pPresentationModel->CreateMergeBitmapN(index);
+
+ if (pBitmap != null)
+ {
+ IconListViewItem* pIconListview = new (std::nothrow) IconListViewItem();
+ pIconListview->Construct(*pBitmap);
+ delete pBitmap;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListview;
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+}
+
+void
+AlbumListForm::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+ if (status == ICON_LIST_VIEW_ITEM_SELECTED)
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(index));
+ AlbumInfo* pSendAlbumInfo = new (std::nothrow) AlbumInfo();
+ pSendAlbumInfo->Construct(*pAlbumInfo);
+
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ pArrayList->Add(pSendAlbumInfo);
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_IMAGE_LIST_EDITOR), pArrayList);
+ }
+ else if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_VIDEO)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_VIDEO_LIST_EDITOR), pArrayList);
+ }
+ else
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_IMAGE_LIST_EDITOR), pArrayList);
+ }
+ }
+ else
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST), pArrayList);
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+AlbumListForm::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+result
+AlbumListForm::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ __pPresentationModel->RemoveContentEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+AlbumListForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
+ switch (actionId)
+ {
+ case IDA_FOOTER_CAMERA:
+ {
+ const String mimeType = APPCONTROL_MIME_IMAGE_JPG;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_CAMERA_ALLOW_SWITCH),
+ new (std::nothrow) String(APPCONTROL_DATA_TRUE));
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_CAMERA,
+ APPCONTROL_OPERATION_ID_CREATE_CONTENT, null, &mimeType, pDataList, this);
+
+ }
+ break;
+
+ case IDA_FOOTER_EDIT:
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST_EDITOR));
+ }
+ break;
+
+ default:
+ break;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("ENTER");
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null && pApp->GetFrameActivated() == true)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_CANCELED, null);
+ pApp->Terminate();
+ }
+ }
+ else
+ {
+ AppLogDebug("APP_CONTROL_MODE_MAIN");
+ UiApp* pApp = UiApp::GetInstance();
+ pApp->Terminate();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->AddContentEventListener(this);
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
+ {
+ __pPresentationModel->ClearThumbnailRequests(false);
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_IMAGE);
+ }
+ else if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_VIDEO)
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_VIDEO);
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_VIDEO);
+ }
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_ALL);
+ }
+ __itemCount = __pPresentationModel->GetFolderCount();
+
+ if (__pAlbumViewIconList != null)
+ {
+ __pAlbumViewIconList->UpdateList();
+ }
+
+ Invalidate(true);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemoveContentEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+
+ if (__pOptionMenu != null && __pOptionMenu ->GetShowState() == true)
+ {
+ __pOptionMenu->SetShowState(false);
+ __pOptionMenu->Show();
+ }
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_IMAGE);
+ }
+ else if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_VIDEO)
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_VIDEO);
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_VIDEO);
+ }
+ }
+ else
+ {
+ __pPresentationModel->InitializeAlbumInfoList(CONTENT_TYPE_ALL);
+ }
+
+ __itemCount = __pPresentationModel->GetFolderCount();
+ __pAlbumViewIconList->UpdateList();
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ Update();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ __pAlbumViewIconList->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListForm::OnAppControlCompleteResponseReceived(const AppId& appId, const Tizen::Base::String& operationId,
+ AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
+{
+ AppLogDebug("OnAppControlCompleteResponseReceived : %d", appControlResult);
+
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ TryReturnVoid(pGalleryApp != null, "pGalleryApp is null");
+ pGalleryApp->SetFrameEnabled(true);
+}
+
+result
+AlbumListForm::Update(void)
+{
+ AppLogDebug("ENTER");
+ result r = __pAlbumViewIconList->UpdateList();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+AlbumListForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+
+ if (__pOptionMenu == null || GetItemCount() == 0)
+ {
+ return;
+ }
+
+ __pOptionMenu->SetShowState(true);
+ __pOptionMenu->Show();
+}
+
+void
+AlbumListForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+ if (__pAlbumViewIconList != null)
+ {
+ RemoveControl(__pAlbumViewIconList);
+ }
+
+ __pAlbumViewIconList = new IconListView();
+
+ if (orientationStatus == ORIENTATION_STATUS_PORTRAIT)
+ {
+ __pAlbumViewIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height),
+ Dimension(W_FOLDER_SIZE, H_FOLDER_SIZE), ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ }
+ else if (orientationStatus == ORIENTATION_STATUS_LANDSCAPE || orientationStatus == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
+ {
+ int horizontalSpacing = 8;
+ int verticalSpacing = 60;
+ int height = 424;
+ int width = 410;
+
+ __pAlbumViewIconList->Construct(Rectangle(0, 0, GetClientAreaBounds().width, GetClientAreaBounds().height),
+ Dimension(width, height), ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+
+ __pAlbumViewIconList->SetItemSpacing(horizontalSpacing, verticalSpacing);
+ __pAlbumViewIconList->SetMargin(MARGIN_TYPE_TOP,60);
+ }
+
+ Bitmap* pBitmap = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+
+ if (pBitmap != null)
+ {
+ __pAlbumViewIconList->SetBitmapOfEmptyList(pBitmap);
+ delete pBitmap;
+ }
+
+ __pAlbumViewIconList->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+
+ __pAlbumViewIconList->SetItemProvider(*this);
+ __pAlbumViewIconList->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pAlbumViewIconList->AddIconListViewItemEventListener(*this);
+
+ AddControl(__pAlbumViewIconList);
+
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumListPresentationModel.cpp
+ * @brief This is the implementation file for AlbumListPresentationModel class.
+ */
+
+#include <cstdlib>
+#include <FMedia.h>
+#include <FSystem.h>
+
+#include "GlAlbumInfo.h"
+#include "GlAlbumListPresentationModel.h"
+#include "GlAlbumRenameEventListener.h"
+#include "GlContentUpdateEventListener.h"
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlThumbnailEvent.h"
+#include "GlThumbnailEventArg.h"
+#include "GlThumbnailProvider.h"
+#include "GlTimerScanDirListener.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Ui::Controls;
+
+static const int ICON_CAP = 3;
+static const int FOLDER_CAP = 8;
+static const int ICON_SIZE = 107;
+static const int FOLDER_SIZE_WIDTH = 348;
+static const int FOLDER_SIZE_HEIGHT = 348;
+
+static const int CANVAS_HEIGHT = 71;
+static const int CANVAS_WIDTH = 326;
+
+static const int FONT_SIZE_FOLDER_NAME = 32;
+static const int FONT_SIZE_FOLDER_DATE = 25;
+static const int FONT_SIZE_FOLDER_COUNT = 45;
+static const int FONT_SIZE_FOLDER_COUNT_SMALL = 35;
+
+static const int CANVAS_IMAGE_FOLDER_HEIGHT = 48;
+static const int CANVAS_IMAGE_FOLDER_WIDTH = 48;
+static const int IMAGE_COUNT_WIDTH = 100;
+static const int IMAGE_COUNT_HEIGHT = 60;
+static const int CANVAS_MARGIN_LEFT = 10;
+static const int GAP = 10;
+static const int HEIGHT_OFFSET = 5;
+static const int Y_POS_CANVAS = 260;
+static const int FOLDER_NAME_WIDTH = 165;
+static const int FOLDER_NAME_HEIGHT = 38;
+
+
+static const int ALPHA_BG = 110;
+
+static const Color COLOR_CANVAS_BG (Color::GetColor(COLOR_ID_BLACK));
+
+static const String RESERVED_MEDIA_PATH = Environment::GetMediaPath();
+static const String RESERVED_CAMERA_PATH = Environment::GetMediaPath() + L"Camera";
+static const String RESERVED_CAMERA_PATH_EXT = Environment::GetExternalStoragePath() + L"Camera";
+static const String RESERVED_DOWNLOAD_PATH = Environment::GetMediaPath() + L"Downloads";
+static const String DATE_TIME = L"DateTime";
+
+static const int FORMAT_BUFFER_SIZE = 256;
+
+static const int DOUBLE_NUMBER = 2;
+static const int TRIPLE_NUMBER = 3;
+
+AlbumListPresentationModel* AlbumListPresentationModel::__pPresentationModelInstance = null;
+ArrayList* AlbumListPresentationModel::__pPresentationModelListener = null;
+ArrayList* AlbumListPresentationModel::__pContentEventListener = null;
+ThumbnailProvider* AlbumListPresentationModel::__pThumbnailProvider = null;
+ThumbnailEvent* AlbumListPresentationModel::__pThumbnailEvent = null;
+IList* AlbumListPresentationModel::__pAlbumInfoList = null;
+
+AlbumListPresentationModel::AlbumListPresentationModel(void)
+ : __pFolderBackgroundBitmap(null)
+ , __pAlbumListener(null)
+ , __appControlMode(APPCONTROL_MODE_MAIN)
+ , __appControlMediaType(APPCONTROL_MEDIA_TYPE_IMAGE)
+ , __appControlSelectionMode(APPCONTROL_SELECTION_MODE_SINGLE)
+ , __updateProgressStatus(false)
+ , __pTimerScanListener(null)
+ , __scanCount(0)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AlbumListPresentationModel::~AlbumListPresentationModel(void)
+{
+ AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ delete __pFolderBackgroundBitmap;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AlbumListPresentationModel*
+AlbumListPresentationModel::GetInstance(void)
+{
+ AppLogDebug("ENTER");
+ if (__pPresentationModelInstance == null)
+ {
+ CreateInstance();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pPresentationModelInstance;
+}
+
+result
+AlbumListPresentationModel::Construct(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModelListener = new (std::nothrow) ArrayList();
+ __pPresentationModelListener->Construct();
+
+ ContentUpdateEventListener::GetInstance();
+ __pContentEventListener = new (std::nothrow) ArrayList();
+ __pContentEventListener->Construct();
+
+ IThumbnailEventListener* pThumbnailEventListener = static_cast<IThumbnailEventListener*>(this);
+ __pThumbnailEvent = new (std::nothrow) ThumbnailEvent();
+ __pThumbnailEvent->AddListener(*pThumbnailEventListener, true);
+
+ DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+
+ __pThumbnailProvider = ThumbnailProvider::GetInstance();
+ AppLogDebug("ENTER1");
+ GalleryApp* pApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ const IMap* pArguments = pApp->GetAppControlArguments();
+ String operationId = pApp->GetAppControlOperationId();
+
+ if (operationId.CompareTo(APPCONTROL_OPERATION_ID_MAIN) == 0)
+ {
+ __appControlMode = APPCONTROL_MODE_MAIN;
+ }
+ else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_PICK) == 0)
+ {
+ __appControlMode = APPCONTROL_MODE_PICK;
+
+ String mimeType = pApp->GetMimeType();
+ if (mimeType.IsEmpty() != true)
+ {
+ if (mimeType.StartsWith(APPCONTROL_DATA_VIDEO, 0) == true)
+ {
+ __appControlMediaType = APPCONTROL_MEDIA_TYPE_VIDEO;
+ }
+ }
+ if (pArguments != null)
+ {
+ const String* selectionMode =
+ static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_SELECTION_MODE)));
+ if (selectionMode != null && selectionMode->CompareTo(APPCONTROL_DATA_MULTIPLE) == 0)
+ {
+ __appControlSelectionMode = APPCONTROL_SELECTION_MODE_MULTIPLE;
+ }
+ }
+ }
+ else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_CONFIGURE) == 0)
+ {
+ __appControlMode = APPCONTROL_MODE_SETTING;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+AlbumListPresentationModel::CreateInstance(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModelInstance = new (std::nothrow) AlbumListPresentationModel;
+ result r = __pPresentationModelInstance->Construct();
+
+ if (IsFailed(r) == true)
+ {
+ delete __pPresentationModelInstance;
+ __pPresentationModelInstance = null;
+ AppLogDebug("EXIT false");
+ return;
+ }
+ std::atexit(DestroyInstance);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListPresentationModel::DestroyInstance(void)
+{
+ AppLogDebug("ENTER");
+
+ delete __pThumbnailEvent;
+ __pThumbnailEvent = null;
+
+ if (__pAlbumInfoList != null)
+ {
+ delete __pAlbumInfoList;
+ __pAlbumInfoList = null;
+ }
+
+ if (__pPresentationModelListener != null)
+ {
+ delete __pPresentationModelListener;
+ __pPresentationModelListener = null;
+ }
+
+ if (__pContentEventListener != null)
+ {
+ delete __pContentEventListener;
+ __pContentEventListener = null;
+ }
+
+ delete __pPresentationModelInstance;
+ __pPresentationModelInstance = null;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumListPresentationModel::AddPresentationModelListener(IAlbumEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ result r = __pPresentationModelListener->Add(listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumListPresentationModel::RemovePresentationModelListener(IAlbumEventListener& listner)
+{
+ AppLogDebug("ENTER");
+ result r = __pPresentationModelListener->Remove(listner);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+AlbumListPresentationModel::AddContentEventListener(const IFormContentUpdateEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ if (__pContentEventListener != null)
+ {
+ __pContentEventListener->RemoveAll();
+ __pContentEventListener->Add((Object*)listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ }
+}
+
+void
+AlbumListPresentationModel::RemoveContentEventListener(const IFormContentUpdateEventListener& listener)
+{
+ AppLogDebug("ENTER");
+ __pContentEventListener->Remove(listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListPresentationModel::CallAlbumChangedEvent(void)
+{
+ AppLogDebug("ENTER");
+ if (__pPresentationModelListener->GetCount() > 0)
+ {
+ IEnumerator* pEnum = __pPresentationModelListener->GetEnumeratorN();
+
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ IAlbumEventListener* pListener = null;
+ pListener = static_cast<IAlbumEventListener*>(pEnum->GetCurrent());
+ pListener->OnFileInfoChanged(CONTENT_TYPE_ALL);
+ }
+
+ delete pEnum;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumListPresentationModel::RenameAlbum(const String& orgPath, const String& newPath,
+ IAlbumRenameEventListener* pAlbumListener)
+{
+ AppLogDebug("ENTER");
+ result r = Directory::Rename(orgPath, newPath);
+ if (IsFailed(r))
+ {
+ AppLogDebug("Album Rename failed(%s)", GetErrorMessage(r));
+ }
+ else
+ {
+ __pAlbumListener = pAlbumListener;
+ __renameNewPath = newPath;\r
+ r = ContentManager::ScanDirectory(newPath, true, NULL, __reqId);\r
+ AppLogDebug("Content scan failed (%s)", GetErrorMessage(r));
+ r = ContentManager::ScanDirectory(orgPath, true, NULL, __reqId);\r
+ AppLogDebug("Content scan failed (%s)", GetErrorMessage(r));
+ }
+ AppLogDebug("EXIT");
+ return r;
+}
+
+void
+AlbumListPresentationModel::ShowAnimation(void)
+{
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->ShowAnimation();
+ }
+ delete pEventEnum;
+}
+
+void
+AlbumListPresentationModel::StopAnimation(void)
+{
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->StopAnimation();
+ }
+ delete pEventEnum;
+}
+
+void
+AlbumListPresentationModel::AddTimerScanListener(ITimerScanDirListener* pListener, int scanCount)
+{
+ __pTimerScanListener = pListener;
+ __scanCount = scanCount;
+}
+
+void
+AlbumListPresentationModel::RemoveTimerScanListener(void)
+{
+ __pTimerScanListener = null;
+ __scanCount = 0;
+}
+
+bool
+AlbumListPresentationModel::OnContentScanCompleted (const Tizen::Base::String &scanPath)\r
+{
+ AppLogDebug("ENTER");\r
+ if (__pTimerScanListener)
+ {
+ __scanCount--;
+ if ( __scanCount == 0 )
+ {
+ __pTimerScanListener->OnTimerScanDirComplete();
+ }
+ return false;
+ }
+ if (__pAlbumListener && ( scanPath == __renameNewPath))\r
+ {
+ InitializeAlbumInfoList(CONTENT_TYPE_ALL);
+ __pAlbumListener->OnAlbumRenameComplete();
+ __renameNewPath = L"";
+ AppLogDebug("EXIT");
+ return true;
+ }
+ AppLogDebug("EXIT");
+ return false;
+}
+
+void
+AlbumListPresentationModel::DrawPartialImage(Canvas& canvas, AlbumInfo* pAlbumInfo, const Rectangle& rectNew)
+{
+ AppLogDebug("ENTER");
+ if (&canvas == null || __pFolderBackgroundBitmap == null || pAlbumInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ canvas.DrawBitmap(rectNew, *__pFolderBackgroundBitmap);
+
+ Bitmap* pBitmap = pAlbumInfo->GetFolderThumnailBitmap();
+
+ if (pBitmap != null)
+ {
+ Rectangle rectFirst(ICON_CAP+FOLDER_CAP, ICON_CAP,
+ ICON_CAP * DOUBLE_NUMBER + ICON_SIZE * TRIPLE_NUMBER,
+ ICON_CAP * DOUBLE_NUMBER + ICON_SIZE * TRIPLE_NUMBER);
+ canvas.DrawBitmap(rectFirst, *pBitmap);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListPresentationModel::DrawFontImage(Canvas& canvas, AlbumInfo* pAlbumInfo, int index)
+{
+ AppLogDebug("ENTER");
+
+ if (&canvas == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ Point pointText;
+ String strCnt;
+ Bitmap* pBitmap = null;
+ Font ftFolderName, ftDate, ftCnt,ftCntSmall;
+ EnrichedText enText;
+ EnrichedText enTextCount;
+ TextElement textElement;
+ TextElement textElementCount;
+
+ int allContentCount = pAlbumInfo->GetContentIdCount();
+ strCnt.Format(FORMAT_BUFFER_SIZE, L"%d", allContentCount);
+
+ String strFolderName = pAlbumInfo->GetAlbumName();
+
+ if (strFolderName == ALL_ALBUMS_REAL_NAME)
+ {
+ strFolderName = ResourceManager::GetString(L"IDS_MEDIABR_BODY_ALL_ALBUMS");
+ }
+
+ String strDirectory = pAlbumInfo->GetDirectory(0);
+ AppLog("The directory path is %ls" , strDirectory.GetPointer());
+
+ Rectangle rectCanvas(ICON_CAP + FOLDER_CAP, Y_POS_CANVAS, CANVAS_WIDTH, CANVAS_HEIGHT);
+ Color bgColor(COLOR_CANVAS_BG);
+ bgColor.SetAlpha(ALPHA_BG);
+ canvas.FillRectangle(bgColor, rectCanvas);
+
+
+ if (strDirectory == RESERVED_DOWNLOAD_PATH)
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_ALBUM_ICON_DOWNLOAD);
+ }
+ else if (strDirectory == RESERVED_CAMERA_PATH || strDirectory == RESERVED_CAMERA_PATH_EXT)
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_ALBUM_ICON_CAMERA);
+ }
+ else
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_ALBUM_ICON_FOLDER);
+ }
+
+ if (pBitmap != null)
+ {
+ canvas.DrawBitmap(Rectangle(ICON_CAP + FOLDER_CAP, rectCanvas.y + HEIGHT_OFFSET, CANVAS_IMAGE_FOLDER_WIDTH,
+ CANVAS_IMAGE_FOLDER_HEIGHT), *pBitmap);
+ delete pBitmap;
+ }
+
+ ftFolderName.Construct(FONT_STYLE_PLAIN, FONT_SIZE_FOLDER_NAME);
+ ftDate.Construct(FONT_STYLE_PLAIN, FONT_SIZE_FOLDER_DATE);
+ ftCnt.Construct(FONT_STYLE_PLAIN, FONT_SIZE_FOLDER_COUNT);
+ ftCntSmall.Construct(FONT_STYLE_PLAIN, FONT_SIZE_FOLDER_COUNT_SMALL);
+
+ enText.Construct(Dimension(FOLDER_NAME_WIDTH, FOLDER_NAME_HEIGHT));
+ enText.SetHorizontalAlignment(TEXT_ALIGNMENT_LEFT);
+
+ textElement.Construct(strFolderName);
+ textElement.SetFont(ftFolderName);
+ textElement.SetTextColor(Color::GetColor(COLOR_ID_WHITE));
+ enText.SetTextAbbreviationEnabled(true);
+ enText.Add(textElement);
+
+ enTextCount.Construct(Dimension(IMAGE_COUNT_WIDTH, IMAGE_COUNT_HEIGHT));
+ enTextCount.SetHorizontalAlignment(TEXT_ALIGNMENT_RIGHT);
+
+ textElementCount.Construct(strCnt);
+
+ if (strCnt.GetLength() > 3)
+ {
+ textElementCount.SetFont(ftCntSmall);
+ }
+ else
+ {
+ textElementCount.SetFont(ftCnt);
+ }
+ textElementCount.SetTextColor(Color::GetColor(COLOR_ID_WHITE));
+ enTextCount.SetTextAbbreviationEnabled(true);
+ enTextCount.Add(textElementCount);
+
+ pointText = Point(CANVAS_MARGIN_LEFT + CANVAS_IMAGE_FOLDER_WIDTH + GAP + FOLDER_NAME_WIDTH,
+ rectCanvas.y + HEIGHT_OFFSET);
+ canvas.SetFont(ftCnt);
+ canvas.SetForegroundColor(Color::GetColor(COLOR_ID_WHITE));
+ canvas.DrawText(pointText, enTextCount);
+
+ pointText = Point(CANVAS_MARGIN_LEFT + CANVAS_IMAGE_FOLDER_WIDTH + GAP,
+ rectCanvas.y + GAP + HEIGHT_OFFSET);
+ canvas.SetForegroundColor(Color::GetColor(COLOR_ID_WHITE));
+ canvas.DrawText(pointText, enText);
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+Bitmap*
+AlbumListPresentationModel::CreateMergeBitmapN(const int index)
+{
+ AppLogDebug("ENTER index(%d)", index);
+
+ if (__pAlbumInfoList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(__pAlbumInfoList->GetAt(index));
+
+ Bitmap* pBitmapNew = new (std::nothrow) Bitmap();
+ BufferInfo bufferinfo;
+ Canvas canvas;
+ Rectangle rectNew(0, 0, FOLDER_SIZE_WIDTH, FOLDER_SIZE_HEIGHT);
+ Dimension size(FOLDER_SIZE_WIDTH, FOLDER_SIZE_HEIGHT);
+
+ result r = pBitmapNew->Construct(size, BITMAP_PIXEL_FORMAT_ARGB8888);
+ if (r != E_SUCCESS)
+ {
+ delete pBitmapNew;
+ AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ pBitmapNew->Lock(bufferinfo);
+ r = canvas.Construct(bufferinfo);
+ if (r != E_SUCCESS)
+ {
+ delete pBitmapNew;
+ AppLogDebug("EXIT 4(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ DrawPartialImage(canvas, pAlbumInfo, rectNew);
+ DrawFontImage(canvas, pAlbumInfo, index);
+
+ pBitmapNew->Unlock();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pBitmapNew;
+}
+
+result
+AlbumListPresentationModel::StartAppControl(const String& providerId, const String& operationId,
+ const String* pUriData, const String* pMimeType, const HashMap* pDataList,
+ IAppControlResponseListener* pListener)
+{
+ AppLogDebug("ENTER");
+ FileListPresentationModel::GetInstance()->ClearProviderId();
+ AppControl* pAc = AppManager::FindAppControlN(providerId, operationId);
+ if (pAc == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+ result r = pAc->Start(pUriData, pMimeType, pDataList, pListener);
+
+ if (r == E_SUCCESS)
+ {
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ pGalleryApp->SetFrameEnabled(false);
+ }
+
+ delete pAc;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+String
+AlbumListPresentationModel::GetDirectoryName(String& directoryPath) const
+{
+ AppLogDebug("ENTER");
+ String directoryName;
+ int lastIndex = -1;
+
+ directoryPath.LastIndexOf(DIRECTORY_SEPARATOR, directoryPath.GetLength() - 1, lastIndex);
+ directoryPath.SubString(lastIndex + 1, directoryName);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return directoryName;
+}
+
+int
+AlbumListPresentationModel::GetFolderCount(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pAlbumInfoList->GetCount();
+}
+
+void
+AlbumListPresentationModel::InitializeAlbumInfoList(const ContentType& contentType)
+{
+ AppLogDebug("ENTER");
+
+ if (__pFolderBackgroundBitmap == null)
+ {
+ __pFolderBackgroundBitmap = ResourceManager::GetBitmapN(IDB_MAIN_FOLDER_BACKGROUND);
+ }
+
+ if (__pAlbumInfoList != null)
+ {
+ delete __pAlbumInfoList;
+ }
+ __pAlbumInfoList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ ContentDirectory directory;
+
+ if (contentType == CONTENT_TYPE_ALL)
+ {
+ IListT<ContentType>* pListT = new (std::nothrow) ArrayListT<ContentType>();
+ TryReturnVoid(pListT != null, "Unable to Create ArrayListT");
+ pListT->Add(CONTENT_TYPE_IMAGE);
+ pListT->Add(CONTENT_TYPE_VIDEO);
+
+ result r = directory.Construct(*pListT);
+ delete pListT;
+
+ if (r != E_SUCCESS)
+ {
+ delete __pAlbumInfoList;
+ __pAlbumInfoList = null;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(r));
+ return;
+ }
+ }
+ else
+ {
+ result r = directory.Construct(contentType);
+ if (r != E_SUCCESS)
+ {
+ delete __pAlbumInfoList;
+ __pAlbumInfoList = null;
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(r));
+ return;
+ }
+ }
+
+ IList* pContentDirectoryPathList = directory.GetContentDirectoryPathListN(SORT_ORDER_ASCENDING);
+ String* pDirPath = null;
+ AlbumInfo* pAlbumInfo = null;
+
+ AlbumInfo* pAllAlbumInfo = new (std::nothrow) AlbumInfo();
+ AlbumInfo* pCameraAlbumInfo = new (std::nothrow) AlbumInfo();
+ AlbumInfo* pDownloadAlbumInfo = new (std::nothrow) AlbumInfo();
+ AlbumInfo* pNoNameAlbumInfo = new (std::nothrow) AlbumInfo();
+
+ result r = pAllAlbumInfo->Construct();
+ TryCatch(IsFailed(r) == E_SUCCESS,,"new pNoNameAlbumInfo is %s",GetErrorMessage(r));
+ pAllAlbumInfo->SetAlbumName(ALL_ALBUMS_REAL_NAME);
+
+ r = pCameraAlbumInfo->Construct();
+ TryCatch(IsFailed(r) == E_SUCCESS,,"new pNoNameAlbumInfo is %s",GetErrorMessage(r));
+ pCameraAlbumInfo->SetAlbumName(ResourceManager::GetString(L"IDS_MEDIABR_BODY_CAMERA_ROLL_ABB"));
+
+ r = pDownloadAlbumInfo->Construct();
+ TryCatch(IsFailed(r) == E_SUCCESS,,"new pNoNameAlbumInfo is %s",GetErrorMessage(r));
+ pDownloadAlbumInfo->SetAlbumName(ResourceManager::GetString(L"IDS_COM_BODY_DOWNLOADS"));
+
+ r = pNoNameAlbumInfo->Construct();
+ TryCatch(IsFailed(r) == E_SUCCESS,,"new pNoNameAlbumInfo is %s",GetErrorMessage(r));
+ pNoNameAlbumInfo->SetAlbumName(ResourceManager::GetString(L"IDS_MEDIABR_POP_NO_NAME"));
+
+ if ((pContentDirectoryPathList != null) && (pContentDirectoryPathList->GetCount() > 0))
+ {
+ IEnumerator* pEnum = pContentDirectoryPathList->GetEnumeratorN();
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ pDirPath = static_cast<String*>(pEnum->GetCurrent());
+ String mediaPath = RESERVED_MEDIA_PATH;
+ int length = mediaPath.GetLength();
+ mediaPath.Remove(length-1,1);
+
+ if (pDirPath == null)
+ {
+ continue;
+ }
+ if ((*pDirPath == RESERVED_CAMERA_PATH) ||(*pDirPath == RESERVED_CAMERA_PATH_EXT))
+ {
+ IList* pContentIdList = GetContentIdListInDirectoryN(*pDirPath, contentType);
+
+ if (pContentIdList != null)
+ {
+ pCameraAlbumInfo->AppendDirectory(*pDirPath);
+ pCameraAlbumInfo->AppendContentIdList(*pContentIdList);
+
+ pAllAlbumInfo->AppendDirectory(*pDirPath);
+ pAllAlbumInfo->AppendContentIdList(*pContentIdList);
+ delete pContentIdList;
+ }
+ }
+ else if (*pDirPath == RESERVED_DOWNLOAD_PATH)
+ {
+ IList* pContentIdList = GetContentIdListInDirectoryN(*pDirPath, contentType);
+
+ if (pContentIdList != null)
+ {
+ pDownloadAlbumInfo->AppendDirectory(*pDirPath);
+ pDownloadAlbumInfo->AppendContentIdList(*pContentIdList);
+
+ pAllAlbumInfo->AppendDirectory(*pDirPath);
+ pAllAlbumInfo->AppendContentIdList(*pContentIdList);
+
+ pContentIdList->RemoveAll(true);
+ delete pContentIdList;
+ }
+ }
+ else if (*pDirPath == mediaPath)
+ {
+ IList* pContentIdList = GetContentIdListInDirectoryN(*pDirPath, contentType);
+
+ if (pContentIdList != null)
+ {
+ pNoNameAlbumInfo->AppendDirectory(*pDirPath);
+ pNoNameAlbumInfo->AppendContentIdList(*pContentIdList);
+
+ pAllAlbumInfo->AppendDirectory(*pDirPath);
+ pAllAlbumInfo->AppendContentIdList(*pContentIdList);
+
+ pContentIdList->RemoveAll(true);
+ delete pContentIdList;
+ }
+ }
+ else
+ {
+ IList* pContentIdList = GetContentIdListInDirectoryN(*pDirPath, contentType);
+
+ if (pContentIdList != null)
+ {
+ if (pContentIdList->GetCount() > 0)
+ {
+ pAlbumInfo = new (std::nothrow) AlbumInfo();
+ IList* pSubDirList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ pSubDirList->Add(new (std::nothrow) String(*pDirPath));
+
+ pAlbumInfo->Construct(GetDirectoryNameFromFullPath(*pDirPath), contentType, *pSubDirList,
+ *pContentIdList);
+
+ pAllAlbumInfo->AppendDirectory(*pDirPath);
+ pAllAlbumInfo->AppendContentIdList(*pContentIdList);
+
+ pSubDirList->RemoveAll(true);
+ delete pSubDirList;
+ }
+
+ if (pContentIdList != NULL)
+ {
+ pContentIdList->RemoveAll(true);
+ delete pContentIdList;
+ }
+ }
+ if (pAlbumInfo != null && pAlbumInfo->GetContentIdCount() > 0)
+ {
+ __pAlbumInfoList->Add(pAlbumInfo);
+ AppLog("Adding album");
+ }
+ else
+ {
+ delete pAlbumInfo;
+ }
+ pAlbumInfo = null;
+ }
+ }
+
+ int insertIndex = 0;
+ if (pAllAlbumInfo->GetContentIdCount() > 0)
+ {
+ __pAlbumInfoList->InsertAt((Object&)*pAllAlbumInfo, insertIndex++);
+ }
+ else
+ {
+ delete pAllAlbumInfo;
+ }
+
+ if (pCameraAlbumInfo->GetContentIdCount() > 0)
+ {
+ __pAlbumInfoList->InsertAt((Object&)*pCameraAlbumInfo, insertIndex++);
+ }
+ else
+ {
+ delete pCameraAlbumInfo;
+ }
+
+ if (pDownloadAlbumInfo->GetContentIdCount() > 0)
+ {
+ __pAlbumInfoList->InsertAt((Object&)*pDownloadAlbumInfo, insertIndex++);
+ }
+ else
+ {
+ delete pDownloadAlbumInfo;
+ }
+
+ if (pNoNameAlbumInfo->GetContentIdCount() > 0)
+ {
+ __pAlbumInfoList->InsertAt((Object&)*pNoNameAlbumInfo, insertIndex++);
+ }
+ else
+ {
+ delete pNoNameAlbumInfo;
+ }
+
+ delete pEnum;
+ }
+ else
+ {
+ delete pAllAlbumInfo;
+ delete pCameraAlbumInfo;
+ delete pDownloadAlbumInfo;
+ delete pNoNameAlbumInfo;
+ }
+
+ if (pContentDirectoryPathList != null)
+ {
+ pContentDirectoryPathList->RemoveAll(true);
+ delete pContentDirectoryPathList;
+ }
+ ClearThumbnailRequests(false);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return;
+
+CATCH:
+if (pContentDirectoryPathList != null)
+{
+ pContentDirectoryPathList->RemoveAll(true);
+ delete pContentDirectoryPathList;
+}
+ delete pAllAlbumInfo;
+ delete pCameraAlbumInfo;
+ delete pDownloadAlbumInfo;
+ delete pNoNameAlbumInfo;
+}
+
+String
+AlbumListPresentationModel::GetDirectoryNameFromFullPath(const String& fullPath)const
+{
+ AppLogDebug("ENTER");
+ if (fullPath == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+ String delim(DIRECTORY_SEPARATOR);
+ StringTokenizer st(fullPath,delim);
+ String token;
+ while (st.HasMoreTokens())
+ {
+ st.GetNextToken(token);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return token;
+}
+
+IList*
+AlbumListPresentationModel::GetContentIdListInDirectoryN(const String& directoryPath, ContentType contentType)const
+{
+ AppLogDebug("ENTER");
+
+ if (&directoryPath == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+
+ ContentDirectory directory;
+ const String contentDirectoryPath = directoryPath;
+ if (contentType == CONTENT_TYPE_ALL)
+ {
+ IListT<ContentType>* pListT = new (std::nothrow) ArrayListT<ContentType>();
+ pListT->Add(CONTENT_TYPE_IMAGE);
+ pListT->Add(CONTENT_TYPE_VIDEO);
+ result r = directory.Construct(*pListT);
+ delete pListT;
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+ }
+ else
+ {
+ result r = directory.Construct(contentType);
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+ }
+
+ int pageNo = 1;
+ int countPerPage = directory.GetContentDirectoryItemCount(contentDirectoryPath);
+
+ IList* pContentInfoList = directory.GetContentDirectoryItemListN(contentDirectoryPath, pageNo, countPerPage,
+ DATE_TIME, SORT_ORDER_DESCENDING);
+
+ IList* pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ if ((pContentInfoList != null) && (pContentInfoList->GetCount() > 0))
+ {
+ IEnumerator* pEnum = pContentInfoList->GetEnumeratorN();
+ ContentId* pItem;
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ ContentInfo* pContentInfo = static_cast<ContentInfo*>(pEnum->GetCurrent());
+ pItem = new (std::nothrow) ContentId(pContentInfo->GetContentId());
+ pContentIdList->Add(pItem);
+ }
+ delete pEnum;
+ }
+
+ if (pContentInfoList != NULL)
+ {
+ pContentInfoList->RemoveAll(true);
+ delete pContentInfoList;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pContentIdList;
+}
+
+result
+AlbumListPresentationModel::DeleteContentFile(const String& filePath)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ r = File::Remove(filePath);
+ AppLogDebug("Exit");
+ return r;
+}
+
+AppControlMode
+AlbumListPresentationModel::GetAppControlMode(void) const
+{
+ AppLogDebug("Enter");
+ AppLogDebug("Exit");
+ return __appControlMode;
+}
+
+AppControlMediaType
+AlbumListPresentationModel::GetAppControlMediaType(void) const
+{
+ AppLogDebug("Enter");
+ AppLogDebug("Exit");
+ return __appControlMediaType;
+}
+
+AppControlSelectionMode
+AlbumListPresentationModel::GetAppControlSelectionMode(void) const
+{
+ AppLogDebug("Enter");
+ AppLogDebug("Exit");
+ return __appControlSelectionMode;
+}
+
+IList*
+AlbumListPresentationModel::GetAlbumInfoList(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pAlbumInfoList;
+}
+
+IList* AlbumListPresentationModel::GetContentIdListAtIndexN(const IList& indexList) const
+{
+ AppLogDebug("ENTER");
+ ContentDirectory directory;
+ IList* pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ IListT<ContentType>* pListT = new (std::nothrow) ArrayListT<ContentType>();
+ TryReturn(pListT != null,null, "Unable to Create ArrayListT");
+ pListT->Add(CONTENT_TYPE_IMAGE);
+ pListT->Add(CONTENT_TYPE_VIDEO);
+
+ result r = directory.Construct(*pListT);
+ delete pListT;
+
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+ delete pContentIdList;
+ return null;
+ }
+
+ if (static_cast<const Integer*>(indexList.GetAt(0))->ToInt() == 0) //if all-album is selected, get all files for delete
+ {
+ IList* pContentDirectoryPathList = directory.GetContentDirectoryPathListN(SORT_ORDER_ASCENDING);
+ String* pDirPath = null;
+ if ((pContentDirectoryPathList != null) && (pContentDirectoryPathList->GetCount() > 0))
+ {
+ int loopCount = pContentDirectoryPathList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pDirPath = static_cast<String*>(pContentDirectoryPathList->GetAt(i));
+ pContentIdList->AddItems(*(GetContentIdListInDirectoryN(*pDirPath, CONTENT_TYPE_ALL)));
+ }
+ }
+ }
+ else
+ {
+ if(__pAlbumInfoList != null)
+ {
+ int loopCount = indexList.GetCount();
+ AlbumInfo* pInfo = null;
+ for (int i = 0; i < loopCount; ++i)
+ {
+ int index = static_cast<const Integer*>(indexList.GetAt(i))->ToInt();
+ pInfo = static_cast<AlbumInfo*>(__pAlbumInfoList->GetAt(index));
+
+ if(pInfo != null)
+ {
+ IList* pList = pInfo->GetContentIdListN();
+ if(pList != null)
+ {
+ pContentIdList->AddItems(*pList);
+ }
+ }
+ }
+ }
+ }
+ return pContentIdList;
+}
+
+void
+AlbumListPresentationModel::OnThumbnailReceivedN(IEventArg& eventArg)
+{
+ AppLogDebug("ENTER");
+ if (&eventArg != null)
+ {
+ ThumbnailEventArg* pThumbnailEventArg = static_cast<ThumbnailEventArg*>(&eventArg);
+ if (pThumbnailEventArg == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+ ThumbnailInfo* pThumbnailInfo = pThumbnailEventArg->GetThumbnailInfoN();
+ if (pThumbnailInfo == null)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ ContentId contentId = pThumbnailInfo->GetContentId();
+ ArrayList* pUpdateFolderIndex = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ if (__pAlbumInfoList != null)
+ {
+ int outterLoopCount = __pAlbumInfoList->GetCount();
+ for (int x = 0; x < outterLoopCount; ++x)
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(__pAlbumInfoList->GetAt(x));
+ int innerLoopCount = pAlbumInfo->GetContentIdCount();
+ for (int i = 0; i < innerLoopCount; ++i)
+ {
+ if (i >= FOLDER_BITMAP_MAX)
+ {
+ break;
+ }
+
+ if (contentId == pAlbumInfo->GetContentId(i))
+ {
+ if (pAlbumInfo->GetFolderThumnailBitmap() == null)
+ {
+ pAlbumInfo->SetFolderThumnailBitmap(pThumbnailInfo->GetBitmapN());
+ pUpdateFolderIndex->Add(new (std::nothrow) Integer(x));
+ }
+ }
+ }
+ }
+ }
+
+ delete pThumbnailInfo;
+
+ if (__pPresentationModelListener->GetCount() > 0)
+ {
+ IEnumerator* pEnum = __pPresentationModelListener->GetEnumeratorN();
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ IAlbumEventListener* pListener = null;
+ pListener = static_cast<IAlbumEventListener*>(pEnum->GetCurrent());
+
+ int loopCount = pUpdateFolderIndex->GetCount();
+ for (int k = 0; k < loopCount; ++k)
+ {
+ Integer *pIndex = (Integer*)pUpdateFolderIndex->GetAt(k);
+ int folderIndex = pIndex->ToInt();
+ pListener->OnThumbnailDecoded(folderIndex);
+ }
+ }
+ delete pEnum;
+ }
+
+ delete pUpdateFolderIndex;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListPresentationModel::OnContentCreated(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ if (pInterface != null)
+ {
+ pInterface->OnContentUpdated();
+ }
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+AlbumListPresentationModel::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+AlbumListPresentationModel::OnContentDeleted(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+AlbumListPresentationModel::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+ AppLogDebug("ENTER");
+ if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
+ {
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumListPresentationModel::SetUpdateProgressStatus(const bool status)
+{
+ AppLogDebug("ENTER status = %d",status);
+ __updateProgressStatus = status;
+ AppLogDebug("EXIT");
+}
+
+result
+AlbumListPresentationModel::RotateImage(const ContentId&, RotateMode rotateMode)
+{
+ return E_SUCCESS;
+}
+
+void
+AlbumListPresentationModel::RequestThumbnail(const int folderIndex, const int pathIndex)
+{
+ AppLogDebug("ENTER : folderIndex(%d), pathIndex(%d)", folderIndex, pathIndex);
+
+ ContentId contentId;
+ if (__pAlbumInfoList != null)
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(__pAlbumInfoList->GetAt(folderIndex));
+ contentId = pAlbumInfo->GetContentId(pathIndex);
+ }
+
+ __pThumbnailProvider->RequestThumbnail(contentId, __pThumbnailEvent);
+ AppLogDebug("EXIT");
+}
+
+void
+AlbumListPresentationModel::ClearThumbnailRequests(const bool appTerminating)
+{
+ AppLogDebug("ENTER");
+ if (__pThumbnailProvider != null)
+ {
+ __pThumbnailProvider->ClearThumbnailRequests(appTerminating);
+ }
+ AppLogDebug("EXIT");
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAlbumNameEditorForm.cpp
+ * @brief This is the implementation file for AlbumNameEditorForm class.
+ */
+
+#include <FMedia.h>
+#include <FText.h>
+
+#include "GlAlbumInfo.h"
+#include "GlAlbumListPresentationModel.h"
+#include "GlAlbumNameEditorForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlFileMoveTimer.h"
+#include "GlProgressAnimation.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Text;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const unsigned int COLOR_NAME_EDIT_FIELD = Color32<255, 255, 255>::Value;
+
+AlbumNameEditorForm::AlbumNameEditorForm(void)
+ : __pNameEditField(null)
+ , __folderIndex(0)
+ , __modalMsgBoxResult(0)
+ , __textLength(0)
+ , __mountState(false)
+ , __isCreateAlbum(false)
+ , __isKeyPadOpen(false)
+ , __albumNameEditorMode(ALBUM_NAME_EDITOR_MODE_RENAME)
+ , __pMessageBox(null)
+ , __pMoveIndexList(null)
+ , __fileActionMode(FILE_ACTION_MOVE)
+ , __pFileMove(null)
+ , __pPresentationModel(null)
+ , __pFilePresentationModel(null)
+{
+ AppLogDebug("ENTER");
+ _overlayMsg = false;
+ _pProgressAnim = null;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AlbumNameEditorForm::~AlbumNameEditorForm(void)
+{
+ AppLogDebug("ENTER");
+ delete __pFileMove;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumNameEditorForm::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(L"IDL_FORM_ALBUM_NAME_EDITOR");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AlbumNameEditorForm::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ __pFilePresentationModel = FileListPresentationModel::GetInstance();
+
+ SetOrientation(ORIENTATION_AUTOMATIC);
+ AddOrientationEventListener(*this);
+
+ Header* pHeader = GetHeader();
+
+ pHeader->SetStyle(HEADER_STYLE_TITLE);
+
+ FooterItem itemSave;
+ itemSave.Construct(IDA_BUTTON_CREATE_NAME_SAVE);
+ itemSave.SetText(ResourceManager::GetString(L"IDS_COM_OPT_SAVE"));
+
+ GetFooter()->AddItem(itemSave);
+ GetFooter()->AddActionEventListener(*this);
+ GetFooter()->Invalidate(true);
+
+ SetFormBackEventListener(this);
+ SetActionBarsVisible(FORM_ACTION_BAR_FOOTER, true);
+
+ __pNameEditField = static_cast<EditField*>(GetControl(L"IDC_EDITFIELD_NAME"));
+ __pNameEditField->AddTextEventListener(*this);
+ __pNameEditField->SetColor(EDIT_STATUS_NORMAL, COLOR_NAME_EDIT_FIELD);
+ __pNameEditField->SetOverlayKeypadCommandButtonVisible(false);
+ __pNameEditField->AddKeypadEventListener(*this);
+ __pNameEditField->AddActionEventListener(*this);
+
+ return E_SUCCESS;
+}
+
+void
+AlbumNameEditorForm::OnTextValueChanged(const Control& source)
+{
+ String currentInput;
+ String currentText;
+ String specialCharacters(L"/");
+ String byteCountForInput;
+ int byteCount = 0;
+ int inputLength = 0;
+ int tempLength = 255;
+ int textToCheck = 0;
+ MessageBox messageBox;
+ Utf8Encoding utf8;
+
+ FooterItemStatus currentStatus = FOOTER_ITEM_STATUS_NORMAL;
+
+ result r = E_SUCCESS;
+
+ if (__pNameEditField != null)
+ {
+ byteCountForInput = __pNameEditField->GetText();
+ r = utf8.GetByteCount(byteCountForInput, byteCount);
+ AppLogDebug("result is %s",GetErrorMessage(r));
+ AppLogDebug("Byte count is %d",byteCount);
+ }
+
+ if (__pNameEditField != null)
+ {
+ currentText = __pNameEditField->GetText();
+ textToCheck = currentText.GetLength() - __textLength;
+ if (currentText.IsEmpty())
+ {
+ if (GetFooter() != null)
+ {
+ GetFooter()->SetItemEnabled(0, false);
+ GetFooter()->Invalidate(true);
+ }
+ }
+ else
+ {
+ if (GetFooter() != null)
+ {
+ GetFooter()->GetItemStatus(0, currentStatus);
+
+ if (currentStatus == FOOTER_ITEM_STATUS_DISABLED)
+ {
+ GetFooter()->SetItemEnabled(0,true);
+ GetFooter()->Invalidate(true);
+ }
+ }
+ }
+
+ if (currentText.StartsWith(".", 0))
+ {
+ String invalidCharacterString;
+ String validString;
+ String msg = ResourceManager::GetString(L"IDS_COM_POP_INVALID_CHARACTERS");
+ CreateMessage(msg);
+ validString = __pNameEditField->GetText();
+
+ if (validString.GetLength() > 1)
+ {
+ validString.Remove(0,1);
+ __pNameEditField->SetText(validString);
+ }
+ else
+ {
+ __pNameEditField->SetText("");
+
+ if (GetFooter() != null)
+ {
+ GetFooter()->SetItemEnabled(0, false);
+ GetFooter()->Invalidate(true);
+ }
+ }
+ __pNameEditField->ShowKeypad();
+ }
+
+ currentInput = __pNameEditField->GetText();
+
+ if (currentInput.Contains(specialCharacters[0]))
+ {
+ String msg = ResourceManager::GetString(L"IDS_COM_POP_INVALID_CHARACTERS");
+ CreateMessage(msg);
+ currentInput.Replace("/", "");
+ __pNameEditField->SetText(currentInput);
+
+ if (currentInput == L"")
+ {
+ if (GetFooter() != null)
+ {
+ GetFooter()->SetItemEnabled(0, false);
+ GetFooter()->Invalidate(true);
+ }
+ }
+ }
+
+ byteCountForInput = __pNameEditField->GetText();
+ r = utf8.GetByteCount(byteCountForInput, inputLength);
+
+ if ( inputLength == tempLength )
+ {
+ String msg = ResourceManager::GetString(L"IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED");
+ CreateMessage(msg);
+ __pNameEditField->ShowKeypad();
+ return;
+ }
+ else if (inputLength > tempLength)
+ {
+ String maxCharacterString;
+ String currentInputCharacter;
+ int checkByteCount = 0;
+ int lengthOfFinalString = 0;
+ int currentCharacter = 0;
+
+ String msg = ResourceManager::GetString(L"IDS_COM_POP_MAXIMUM_NUMBER_OF_CHARACTERS_REACHED");
+ CreateMessage(msg);
+ currentText = __pNameEditField->GetText();
+
+ for (currentCharacter=0; checkByteCount < tempLength; ++currentCharacter)
+ {
+ currentInputCharacter.Clear();
+ currentInputCharacter = currentText[currentCharacter];
+ r = utf8.GetByteCount(currentInputCharacter, byteCount);
+ if (r != E_SUCCESS)
+ {
+ break;
+ }
+ AppLogDebug("result of byte count is %s",GetErrorMessage(r));
+ checkByteCount = checkByteCount + byteCount;
+
+ if (checkByteCount < tempLength)
+ {
+ ++lengthOfFinalString;
+ }
+ }
+
+ r = __pNameEditField->GetText().SubString(0, lengthOfFinalString, currentInput);
+ AppLogDebug("current input is %S", currentInput.GetPointer());
+ r = __pNameEditField->SetText(currentInput);
+ __pNameEditField->ShowKeypad();
+ return;
+ }
+
+ r = utf8.GetByteCount(__pNameEditField->GetText(), byteCount);
+ __textLength = byteCount;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::OnTextValueChangeCanceled(const Control& source)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AlbumNameEditorForm::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void AlbumNameEditorForm::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ Invalidate(true);
+}
+
+void AlbumNameEditorForm::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
+{
+ _overlayMsg = false;
+ if (res != COMPLETE_SUCCESS)
+ {
+ __pNameEditField->SetText(__nameEditFieldPreText);
+ __pNameEditField->HideKeypad();
+ __pNameEditField->Draw();
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoBackward(BackwardSceneTransition(__callerSceneId));
+ }
+}
+
+void
+AlbumNameEditorForm::OnRenameAlbum(String& strOri)
+{
+ AppLogDebug("Rename Album");
+ String path;
+ int index = 0;
+ strOri.Reverse();
+ strOri.IndexOf(DIRECTORY_SEPARATOR, 0, index);
+ strOri.Reverse();
+ strOri.SubString(0, (strOri.GetLength() - index), path);
+ path.Append(__nameEditFieldText);
+
+ //Rename
+ result r = __pPresentationModel->RenameAlbum(strOri, path, this);
+
+ if (IsFailed(r))
+ {
+ AppLogDebug("Unable to rename Album %s", GetErrorMessage(r));
+ if (__pMessageBox == null)
+ {
+ __pMessageBox = new (std::nothrow) MessageBox();
+ if (r == E_FILE_ALREADY_EXIST)
+ {
+ __pMessageBox->Construct(L"", ResourceManager::GetString(L"IDS_MEDIABR_BODY_UNABLE_TO_RENAME_ALBUM_NAME_ALREADY_IN_USE_ABB"),
+ MSGBOX_STYLE_NONE, 3000);
+
+ }
+ else
+ {
+ __pMessageBox->Construct(L"", ResourceManager::GetString(L"IDS_MEDIABR_POP_UNABLE_TO_RENAME"),
+ MSGBOX_STYLE_NONE, 3000);
+ }
+ int modalResult = 0;
+ _overlayMsg = true;
+ __pMessageBox->ShowAndWait(modalResult);
+ _overlayMsg = false;
+ delete __pMessageBox;
+ __pMessageBox = null;
+ __pNameEditField->SetEnabled(true);
+ __pNameEditField->ShowKeypad();
+ }
+ }
+ else
+ {
+ //Add a popup here
+ Rectangle clientRect = Form::GetBounds();
+ Rectangle rect(0, 0, clientRect.width, clientRect.height);
+ _pProgressAnim = new (std::nothrow) ProgressAnimation;
+ _pProgressAnim->Construct(rect);
+ AddControl(_pProgressAnim);
+ _pProgressAnim->SetShowState(true);
+ GetFooter()->SetEnabled(false);
+ _pProgressAnim->AnimationStart();
+ _pProgressAnim->Draw();
+ _overlayMsg = true;
+ }
+}
+
+void
+AlbumNameEditorForm::ShowAnimation()
+{
+ Rectangle clientRect= GetClientAreaBounds();
+ Rectangle rect(0, 0, clientRect.width, clientRect.height);
+ _pProgressAnim = new (std::nothrow) ProgressAnimation;
+ _pProgressAnim->Construct(rect);
+ AddControl(_pProgressAnim);
+ _pProgressAnim->SetShowState(true);
+ GetFooter()->SetEnabled(false);
+ _pProgressAnim->AnimationStart();
+ _pProgressAnim->Draw();
+ _overlayMsg = true;
+}
+
+void
+AlbumNameEditorForm::StopAnimation(void)
+{
+ if (_pProgressAnim)
+ {
+ _pProgressAnim->AnimationStop();
+ _pProgressAnim->SetShowState(false);
+ RemoveControl(_pProgressAnim);
+ GetFooter()->SetEnabled(true);
+ _pProgressAnim = null;
+ _overlayMsg = false;
+ }
+}
+
+void
+AlbumNameEditorForm::OnCreateAlbum(void)
+{
+ String path;
+ path.Append(Tizen::System::Environment::GetMediaPath());
+ path.Append(__nameEditFieldText);
+
+ if (__previousSceneId != IDSCN_ALL_LIST_EDITOR && __previousSceneId != IDSCN_ALL_LIST_SELECTION)
+ {
+ Directory::Create(path, true);
+ }
+
+ __nameEditFieldPreText = __nameEditFieldText;
+
+ if (path.IsEmpty())
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ delete __pMoveIndexList;
+ __pMoveIndexList = null;
+ return;
+ }
+
+ if (__pMoveIndexList == null || __pMoveIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ delete __pMoveIndexList;
+ __pMoveIndexList = null;
+ return;
+ }
+
+ delete __pFileMove;
+ __pFileMove = new (std::nothrow) FileMoveTimer(path, __pMoveIndexList, __pFilePresentationModel, this);
+ if (__fileActionMode == FILE_ACTION_COPY)
+ {
+ AppLogDebug("Rash: Setting to Copy in AlbumNameEditor");
+ __pFileMove->SetCopy();
+ }
+ else
+ {
+ __pFileMove->ClearCopy();
+ }
+ result r = __pFileMove->StartTimer();
+
+ if (IsFailed(r))
+ {
+ delete __pFileMove;
+ __pFileMove = null;
+ __pNameEditField->SetText(__nameEditFieldPreText);
+ __pNameEditField->HideKeypad();
+ __pNameEditField->Draw();
+
+ String msg = ResourceManager::GetString(L"IDS_COM_BODY_OPERATION_FAILED");
+ CreateMessage(msg);
+ AppLogDebug("MoveToContentFileList content failed (%s)", GetErrorMessage(r));
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoBackward(BackwardSceneTransition(__callerSceneId));
+ }
+ else
+ {
+ AppLogDebug("MoveToContentFileList content in progress");
+ _overlayMsg = true;
+ __fileActionMode = FILE_ACTION_MOVE;
+ }
+}
+
+void
+AlbumNameEditorForm::OnAlbumRenameComplete(void)
+{
+ //Hide popup here..
+ _pProgressAnim->AnimationStop();
+ _pProgressAnim->SetShowState(false);
+ RemoveControl(_pProgressAnim);
+ _overlayMsg = false;
+ GetFooter()->SetEnabled(true);
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoBackward((BackwardSceneTransition(IDSCN_ALBUM_LIST)));
+}
+
+void
+AlbumNameEditorForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ String path;
+ __nameEditFieldText = __pNameEditField->GetText();
+
+ if (__albumNameEditorMode == ALBUM_NAME_EDITOR_MODE_RENAME)
+ {
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(__folderIndex));
+ path = pAlbumInfo->GetDirectory(0);
+ }
+
+ switch (actionId)
+ {
+ case IDA_BUTTON_CREATE_NAME_SAVE:
+ {
+ __pNameEditField->SetEnabled(false);
+ __isCreateAlbum = false;
+ GetFooter()->SetItemEnabled(0, false);
+
+ if (__albumNameEditorMode == ALBUM_NAME_EDITOR_MODE_CREATE)
+ {
+ if (__isKeyPadOpen == true )
+ {
+ __pNameEditField->HideKeypad();
+ __isCreateAlbum = true;
+ }
+ else
+ {
+ OnCreateAlbum();
+ }
+
+ }
+ else if (__albumNameEditorMode == ALBUM_NAME_EDITOR_MODE_RENAME)
+ {
+ String albumName = __pNameEditField->GetText();
+ if (__originalText.Equals(albumName, true))
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoBackward(BackwardSceneTransition());
+ }
+ else
+ {
+ OnRenameAlbum(path);
+ }
+ }
+ break;
+ }
+
+ default:
+ break;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("ENTER");
+ if (_pProgressAnim != null)
+ {
+ if (_pProgressAnim->GetShowState())
+ {
+ return;
+ }
+ }
+
+ if (__albumNameEditorMode == ALBUM_NAME_EDITOR_MODE_CREATE)
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(__callerSceneId));
+ }
+ else
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST_EDITOR));
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel = AlbumListPresentationModel::GetInstance();
+ __previousSceneId = previousSceneId;
+
+ DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ __pPresentationModel->AddContentEventListener(this);
+
+ if (pArgs != null)
+ {
+ Integer* pAlbumTypePtr = static_cast<Integer*>(pArgs->GetAt(ALBUM_FIRST_ELEMENT));
+ if (pAlbumTypePtr->ToInt() == ALBUM_CREATE)
+ {
+ AppLogDebug("ALBUM_NAME_EDITOR_MODE_CREATE");
+ __albumNameEditorMode = ALBUM_NAME_EDITOR_MODE_CREATE;
+ }
+ else if (pAlbumTypePtr->ToInt() == ALBUM_RENAME)
+ {
+ AppLogDebug("ALBUM_NAME_EDITOR_MODE_RENAME");
+ __albumNameEditorMode = ALBUM_NAME_EDITOR_MODE_RENAME;
+ }
+ pArgs->RemoveAt(ALBUM_FIRST_ELEMENT, true);
+ }
+
+ if (pArgs != null)
+ {
+ Integer* operationTypePtr = static_cast<Integer*>(pArgs->GetAt(ALBUM_FIRST_ELEMENT));
+ if (operationTypePtr->ToInt() == FILE_ACTION_MOVE)
+ {
+ AppLogDebug("Rash: FILE_MOVE_ACTION");
+ __fileActionMode = FILE_ACTION_MOVE;
+ }
+ else if (operationTypePtr->ToInt() == FILE_ACTION_COPY)
+ {
+ AppLogDebug("Rash: FILE_COPY_ACTION");
+ __fileActionMode = FILE_ACTION_COPY;
+ }
+ pArgs->RemoveAt(ALBUM_FIRST_ELEMENT, true);
+ }
+
+ if (previousSceneId == IDSCN_ALBUM_LIST_EDITOR)
+ {
+ if (pArgs != null)
+ {
+ IEnumerator* pEnum = pArgs->GetEnumeratorN();
+ if (pEnum->MoveNext() == E_SUCCESS)
+ {
+ Integer *index = static_cast<Integer*>(pEnum->GetCurrent());
+ if (index != null)
+ {
+ __folderIndex = index->ToInt();
+ }
+ }
+ delete pEnum;
+ delete pArgs;
+ pArgs = NULL;
+ }
+ }
+
+ if (previousSceneId == IDSCN_ALL_LIST_EDITOR
+ || previousSceneId == IDSCN_IMAGE_LIST_EDITOR
+ || previousSceneId == IDSCN_VIDEO_LIST_EDITOR
+ || previousSceneId == IDSCN_ALL_LIST_SELECTION)
+ {
+ if (previousSceneId == IDSCN_ALL_LIST_EDITOR)
+ {
+ AppLogDebug("[MOVE] previousSceneId = IDSCN_ALL_LIST_EDITOR");
+ }
+ else if (previousSceneId == IDSCN_ALL_LIST_SELECTION)
+ {
+ AppLogDebug("[MOVE] previousSceneId = IDSCN_ALL_LIST_SELECTION");
+ }
+
+ __callerSceneId = previousSceneId;
+ }
+ else
+ {
+ __callerSceneId = EMPTY_SPACE;
+ }
+
+ if (__albumNameEditorMode == ALBUM_NAME_EDITOR_MODE_CREATE)
+ {
+ __nameEditFieldText = EMPTY_SPACE;
+ __nameEditFieldPreText = EMPTY_SPACE;
+ __pNameEditField->SetText(__nameEditFieldText);
+ __nameEditFieldTempText = __nameEditFieldText;
+ __pNameEditField->ShowKeypad();
+ __pNameEditField->SetFocus();
+
+ GetHeader()->SetTitleText(ResourceManager::GetString(L"IDS_MEDIABR_OPT_CREATE_ALBUM"));
+ GetFooter()->SetItemEnabled(0, false);
+ GetFooter()->Invalidate(true);
+ }
+ else
+ {
+ int byteCount = 0;
+ Utf8Encoding utf8;
+ IList* pAlbumInfoList = __pPresentationModel->GetAlbumInfoList();
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pAlbumInfoList->GetAt(__folderIndex));
+
+ String strName = pAlbumInfo->GetAlbumName();
+ __nameEditFieldText = strName;
+ __nameEditFieldPreText = strName;
+ __pNameEditField->SetText(__nameEditFieldText);
+ __nameEditFieldTempText = __nameEditFieldText;
+ GetHeader()->SetTitleText(ResourceManager::GetString(L"IDS_COM_BODY_RENAME"));
+ __pNameEditField->SetOverlayKeypadCommandButtonVisible(false);
+ __pNameEditField->ShowKeypad();
+ __pNameEditField->SetFocus();
+ __originalText = __pNameEditField->GetText();
+ utf8.GetByteCount(__nameEditFieldText, byteCount);
+ __textLength = byteCount;
+ GetFooter()->SetItemEnabled(0, true);
+ GetFooter()->Invalidate(true);
+ }
+
+ if (pArgs != NULL)
+ {
+ __pMoveIndexList = pArgs;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+
+ if(__pNameEditField->IsEnabled() == false)
+ {
+ __pNameEditField->SetEnabled(true);
+ }
+
+ __isKeyPadOpen = false;
+
+ __pPresentationModel->RemoveContentEventListener(*this);
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+
+ if (__mountState == false)
+ {
+ if (__pFileMove && __pFileMove->IsStarted())
+ {
+ __pFileMove->Cancel();
+ delete __pFileMove;
+ __pFileMove = null;
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ }
+ else
+ {
+ __mountState = false;
+ }
+}
+
+void
+AlbumNameEditorForm::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+ AppLogDebug("ENTER");
+
+ if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
+ {
+ if (__pFileMove && __pFileMove->IsStarted())
+ {
+ __pFileMove->Cancel();
+ delete __pFileMove;
+ __pFileMove = null;
+ }
+ __mountState = false;
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ }
+ else
+ {
+ __mountState = true;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::CreateMessage(String& str)
+{
+ if (__pMessageBox == null)
+ {
+ __pMessageBox = new(std::nothrow) MessageBox;
+
+ if (__pMessageBox != null)
+ {
+ __pMessageBox->Construct(L"", str, MSGBOX_STYLE_OK, 3000);
+ __pMessageBox->ShowAndWait(__modalMsgBoxResult);
+
+ delete __pMessageBox;
+ __pMessageBox = null;
+ __modalMsgBoxResult = 0;
+ }
+ }
+}
+
+void
+AlbumNameEditorForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+ if (_pProgressAnim != null)
+ {
+ _pProgressAnim->ChangeOrientation(Form::GetBounds());
+ _pProgressAnim->Invalidate(true);
+ }
+}
+
+void
+AlbumNameEditorForm::OnKeypadClosed(Tizen::Ui::Control& source)
+{
+ AppLogDebug("ENTER");
+
+ if ( __isCreateAlbum == true)
+ {
+ OnCreateAlbum();
+ __isCreateAlbum = false;
+ }
+ __isKeyPadOpen = false;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AlbumNameEditorForm::OnKeypadOpened(Tizen::Ui::Control& source)
+{
+ AppLogDebug("ENTER");
+ __isKeyPadOpen = true;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAllListEditorPanel.cpp
+ * @brief This is the implementation file for AllListEditorPanel class.
+ */
+
+#include <FContent.h>
+#include "GlAllListEditorPanel.h"
+#include "GlCommonUtil.h"
+#include "GlFileUpdateTimer.h"
+#include "GlFileListEditorForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const float H_COUNT_LABEL = 48.0f;
+static const float H_COUNT_LABEL_BUTTON = 42.0f;
+static const float W_COUNT_LABEL_BUTTON = 42.0f;
+static const int COUNT_LABEL_FONT_SIZE = 33;
+static const int H_CONTENT_MARGIN = 9;
+static const int W_CONTENT_MARGIN = 6;
+static const int W_CONTENT_SPACE = 6;
+static const int H_CONTENT_SPACE = 6;
+static const int LENGTH_COUNT_LABEL = 256;
+static const unsigned int COLOR_COUNT_LABEL = Color32<68, 68, 68>::Value;
+static const unsigned int COLOR_SELECT_COUNT_FONT = Color32<255, 255, 255>::Value;
+static const unsigned int COLOR_COUNT_LABEL_BUTTON = Color32<120, 120, 120>::Value;
+static const Color COLOR_THUMBNAIL_DIM (Color::GetColor(COLOR_ID_BLACK));
+static const int ALPHA_THUMBNAIL_DIM = 70;
+
+static const Rectangle RECT_INITIAL (0, 0, 10, 10);
+
+AllListEditorPanel::AllListEditorPanel(void)
+ : __itemCount(0)
+ , __pContentIconListView(null)
+ , __pLabelSelectCnt(null)
+ , __pButtonSelectRegion(null)
+ , __pFileUpdateTimer(null)
+ , __pFileListEditorForm(null)
+ , __pPresentationModel(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AllListEditorPanel::~AllListEditorPanel(void)
+{
+ AppLogDebug("ENTER");
+ delete __pFileUpdateTimer;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AllListEditorPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(RECT_INITIAL);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListEditorPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+
+ FloatRectangle clientAreaBounds = pForm->GetClientAreaBoundsF();
+ SetBounds(0.0f, 0.0f, clientAreaBounds.width, clientAreaBounds.height);
+
+
+ __pContentIconListView = new (std::nothrow) IconListView();
+ __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width, clientAreaBounds.height - H_COUNT_LABEL),
+ DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetMargin(MARGIN_TYPE_LEFT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_RIGHT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_TOP, H_CONTENT_MARGIN);
+ __pContentIconListView->SetItemSpacing(W_CONTENT_SPACE, H_CONTENT_SPACE);
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __pLabelSelectCnt = new (std::nothrow) Label();
+ String strTmp;
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED").GetPointer();
+ __pLabelSelectCnt->Construct(
+ FloatRectangle(0, clientAreaBounds.height - H_COUNT_LABEL, clientAreaBounds.width, H_COUNT_LABEL), strTmp);
+ __pLabelSelectCnt->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ __pLabelSelectCnt->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ __pLabelSelectCnt->SetBackgroundColor(COLOR_COUNT_LABEL);
+ __pLabelSelectCnt->SetTextColor(Color(COLOR_SELECT_COUNT_FONT));
+ __pLabelSelectCnt->SetTextConfig(COUNT_LABEL_FONT_SIZE, LABEL_TEXT_STYLE_BOLD);
+ AddControl(__pLabelSelectCnt);
+ __pLabelSelectCnt->Invalidate(true);
+
+ __pButtonSelectRegion = new (std::nothrow) Button();
+ __pButtonSelectRegion->Construct(FloatRectangle(clientAreaBounds.width - W_COUNT_LABEL_BUTTON - 10,
+ clientAreaBounds.height - H_COUNT_LABEL_BUTTON - 4, W_COUNT_LABEL_BUTTON, H_COUNT_LABEL_BUTTON),
+ EMPTY_SPACE);
+ __pButtonSelectRegion->SetActionId(IDA_BUTTON_MOVE_TO_SELECTION);
+ __pButtonSelectRegion->SetColor(BUTTON_STATUS_NORMAL, COLOR_COUNT_LABEL_BUTTON);
+ Bitmap* pSelectionBitmap = ResourceManager::GetBitmapN(IDB_BUTTON_MOVE_SELECTION);
+ if (pSelectionBitmap != null)
+ {
+ Rectangle buttonRegionRect = __pButtonSelectRegion->GetBounds();
+ pSelectionBitmap->Scale(Dimension(buttonRegionRect.width, buttonRegionRect.height));
+ __pButtonSelectRegion->SetNormalBitmap(Point(buttonRegionRect.width, buttonRegionRect.height),
+ *pSelectionBitmap);
+ }
+ AddControl(__pButtonSelectRegion);
+
+ if (pSelectionBitmap != null)
+ {
+ delete pSelectionBitmap;
+ }
+ __pButtonSelectRegion->AddActionEventListener(*this);
+
+ __itemCount = 0;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+AllListEditorPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ __pPresentationModel->RemoveContentEventListener(__pFileListEditorForm);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+AllListEditorPanel::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ switch (actionId)
+ {
+ case IDA_BUTTON_CHECKED:
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i=0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == false)
+ {
+ __pContentIconListView->SetItemChecked(i, true);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ SetButtonState();
+ }
+ break;
+
+ case IDA_BUTTON_UNCHECKED:
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == true)
+ {
+ __pContentIconListView->SetItemChecked(i,false);
+ }
+ }
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ __pContentIconListView->UpdateList();
+ SetButtonState();
+ }
+ break;
+
+ case IDA_BUTTON_MOVE_TO_SELECTION:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ IList* pList = GetItemCheckedIndexListN();
+ if (pList == null)
+ {
+ pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ }
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST_SELECTION), pList);
+ }
+ else
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST_SELECTION));
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+AllListEditorPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+IconListViewItem*
+AllListEditorPanel::CreateItem(int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ IconListViewItem* pIconListviewItem;
+ Bitmap* pBitmap = null;
+ String* pItemText = null;
+ result r = __pPresentationModel->GetThumbnailInSyncCacheN(index, pItemText, pBitmap);
+ if (pBitmap == null || r == E_FAILURE)
+ {
+ __pPresentationModel->RequestThumbnail(index);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ if (pItemText == null)
+ {
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+ else if ((*pItemText) != ResourceManager::GetString(L"EMPTY_SPACE"))
+ {
+ delete pItemText;
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ if (__pContentIconListView->IsItemChecked(index) == true)
+ {
+ if (pBitmap != null)
+ {
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+ Color dimColor(COLOR_THUMBNAIL_DIM);
+ dimColor.SetAlpha(ALPHA_THUMBNAIL_DIM);
+
+ Canvas canvas;
+ canvas.Construct(bufferInfo);
+ canvas.FillRectangle(dimColor, canvas.GetBounds());
+
+ Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
+ pSelectedBitmap->Construct(canvas, canvas.GetBounds());
+ pIconListviewItem = new (std::nothrow) IconListViewItem();
+ pIconListviewItem->Construct(*pBitmap, pItemText, pSelectedBitmap);
+ delete pSelectedBitmap;
+ }
+ else
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ delete pItemText;
+ return null;
+ }
+ }
+ else
+ {
+ pIconListviewItem = new (std::nothrow) IconListViewItem();
+ pIconListviewItem->Construct(*pBitmap, pItemText);
+ }
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListviewItem;
+}
+
+bool
+AllListEditorPanel::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+AllListEditorPanel::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+ if (status == ICON_LIST_VIEW_ITEM_CHECKED || status == ICON_LIST_VIEW_ITEM_UNCHECKED)
+ {
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if (contentType == CONTENT_TYPE_ALL
+ || contentType == CONTENT_TYPE_IMAGE
+ || contentType == CONTENT_TYPE_VIDEO)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ if (index >= 0)
+ {
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+
+ ChangeOrientation();
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+ __pFileListEditorForm = dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturnVoid(__pFileListEditorForm != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+ __pPresentationModel->AddContentEventListener(__pFileListEditorForm);
+
+ if (previousSceneId == IDSCN_ALL_LIST_SELECTION)
+ {
+ if (pArgs != null)
+ {
+ if (__pContentIconListView != null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ __pContentIconListView->SetItemChecked(i, false);
+ }
+ __pContentIconListView->UpdateList();
+ }
+
+ if (pArgs->GetCount() > 0) //SomeItems are Still Selected.
+ {
+ IList* pSeletedIndexList = pArgs;
+ int loopCount = pSeletedIndexList->GetCount();
+ if (__pContentIconListView != null)
+ {
+ for (int i = 0; i < loopCount; ++i)
+ {
+ int index = static_cast<Integer*>(pSeletedIndexList->GetAt(i))->ToInt();
+ __pContentIconListView->SetItemChecked(index, true);
+ }
+ __pContentIconListView->UpdateList();
+ }
+ }
+ }
+
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ }
+ else if (previousSceneId == IDSCN_ALL_LIST)
+ {
+ ResetSelection();
+ }
+
+ SetButtonState();
+
+ __pFileListEditorForm->SetTitleText(ResourceManager::GetString(L"IDS_COM_BODY_EDIT"));
+
+ if (pArgs != null && pArgs->GetCount() > 0 && previousSceneId != IDSCN_ALL_LIST_SELECTION)
+ {
+ String* pDirectory = static_cast<String*>(pArgs->GetAt(0));
+ if (pDirectory != null && pDirectory->GetLength() > 0)
+ {
+ __pFileListEditorForm->MoveToAlbum(*pDirectory);
+ }
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemoveContentEventListener(__pFileListEditorForm);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+AllListEditorPanel::GetItemCheckedCount(void) const
+{
+ AppLogDebug("ENTER");
+ int count = 0;
+ if (__pContentIconListView != null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ ++count;
+ }
+ else
+ {
+ AppLog("Index i = %d is Not Checked", i);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return count;
+}
+
+IList*
+AllListEditorPanel::GetItemCheckedIndexListN(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ Integer* pIndex = null;
+
+ if (__pContentIconListView!=null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == true)
+ {
+ pIndex = new (std::nothrow) Integer(i);
+ pList->Add(pIndex);
+ AppLogDebug("checked index(%d)", i);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pList;
+}
+
+result
+AllListEditorPanel::OnRequestDelete(void)
+{
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList->GetCount() <= 0)
+ {
+ delete pIndexList;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_DELETE);
+ result r = __pFileUpdateTimer->StartTimer();
+
+ if (IsFailed(r))
+ {
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ return E_FAILURE;
+ }
+ else
+ {
+ __pPresentationModel->SetUpdateProgressStatus(true);
+ }
+ return E_SUCCESS;
+}
+
+void AllListEditorPanel::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ __pFileListEditorForm->Invalidate(true);
+}
+
+void AllListEditorPanel::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
+{
+ __pPresentationModel->SetUpdateProgressStatus(false);
+
+ __pLabelSelectCnt->SetText(ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED"));
+ __pLabelSelectCnt->RequestRedraw(true);
+
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ if (GetItemCount() > 0)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST,SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_ADD_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
+ }
+ else
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST,SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_ADD_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::ChangeOrientation(void)
+{
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ const Form* pForm = dynamic_cast<Form*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturn(pForm != null,, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ FloatRectangle clientAreaBounds = pForm->GetClientAreaBoundsF();
+ SetBounds(0.0f, 0.0f, clientAreaBounds.width, clientAreaBounds.height);
+ __pContentIconListView->SetBounds(0.0f, 0.0f, clientAreaBounds.width, clientAreaBounds.height - H_COUNT_LABEL);
+ __pLabelSelectCnt->SetBounds(0.0f, clientAreaBounds.height - H_COUNT_LABEL, clientAreaBounds.width, H_COUNT_LABEL);
+ __pButtonSelectRegion->SetBounds(clientAreaBounds.width - W_COUNT_LABEL_BUTTON - 10.0f,
+ clientAreaBounds.height - H_COUNT_LABEL_BUTTON - 4.0f, W_COUNT_LABEL_BUTTON, H_COUNT_LABEL_BUTTON);
+}
+
+result
+AllListEditorPanel::OnRequestMessage(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null || pIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ Integer* pIndex = null;
+ int checkedIndex;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pIndex = static_cast<Integer*>(pIndexList->GetAt(i));
+ if (pIndex != null)
+ {
+ checkedIndex = pIndex->ToInt();
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(checkedIndex)));
+ }
+ }
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_MESSAGE_TYPE), new (std::nothrow) String(APPCONTROL_DATA_MMS));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_MESSAGE, APPCONTROL_OPERATION_ID_COMPOSE, null,
+ null, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListEditorPanel::OnRequestEmail(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null || pIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ Integer* pIndex = null;
+ int checkedIndex;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pIndex = static_cast<Integer*>(pIndexList->GetAt(i));
+ if (pIndex != null)
+ {
+ checkedIndex = pIndex->ToInt();
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(checkedIndex)));
+ }
+ }
+
+ const String uriData = APPCONTROL_URI_MAIL_TO;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_EMAIL, APPCONTROL_OPERATION_ID_COMPOSE,
+ &uriData, null, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListEditorPanel::OnRequestSlideShow(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+
+ Integer* pRealIndex = null;
+ int realIndex = -1;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pRealIndex = static_cast<Integer*>(pIndexList->GetAt(i));
+ if (pRealIndex != null)
+ {
+ realIndex = pRealIndex->ToInt();
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(realIndex)));
+ }
+ }
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_SLIDE_SHOW));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+ const String mimeType = APPCONTROL_MIME_IMAGE_ALL;
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
+ &mimeType, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ delete pIndexList;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+AllListEditorPanel::ResetSelection(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+
+ for (int index = 0; index < __itemCount; ++index)
+ {
+ __pContentIconListView->SetItemChecked(index, false);
+ __pContentIconListView->RefreshList(index,LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+
+ String strTmp;
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::SetButtonState(void)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ if (GetItemCheckedCount() > 0)
+ {
+ AppLogDebug("BUTTONSTATE : Request Enable");
+ __pFileListEditorForm->SetFooterButtonsState(true);
+ __pButtonSelectRegion->SetShowState(true);
+ }
+ else
+ {
+ AppLogDebug("BUTTONSTATE : Request disable");
+ __pFileListEditorForm->SetFooterButtonsState(false);
+ __pButtonSelectRegion->SetShowState(false);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListEditorPanel::OnSelectAllPressed(void)
+{
+ bool needToSelectAll = true;
+ int checkedCount = GetItemCheckedCount();
+ int totalFileCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ if (checkedCount == totalFileCount)
+ {
+ needToSelectAll = false;
+ }
+
+ if (needToSelectAll == true)
+ {
+ for (int i = 0; i < totalFileCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == false)
+ {
+ __pContentIconListView->SetItemChecked(i,true);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ }
+ else
+ {
+ for (int i = 0; i < totalFileCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == true)
+ {
+ __pContentIconListView->SetItemChecked(i, false);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ }
+
+ String tempString;
+ if (needToSelectAll == true)
+ {
+ tempString.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), totalFileCount);
+ }
+ else
+ {
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+
+ __pLabelSelectCnt->SetText(tempString);
+ __pLabelSelectCnt->RequestRedraw(true);
+ SetButtonState();
+}
+
+result
+AllListEditorPanel::OnRequestRotate(RotateMode rotateMode)
+{
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+ else if (pIndexList->GetCount() <= 0)
+ {
+ delete pIndexList;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_ROTATE, rotateMode);
+ result r = __pFileUpdateTimer->StartTimer();
+
+ if (IsFailed(r))
+ {
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ return E_FAILURE;
+ }
+ else
+ {
+ __pPresentationModel->SetUpdateProgressStatus(true);
+ }
+ return E_SUCCESS;
+}
+
+void AllListEditorPanel::CancelUpdateProgress(void)
+{
+ if (__pFileUpdateTimer!= null && __pFileUpdateTimer->IsStarted())
+ {
+ __pFileUpdateTimer->Cancel();
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ }
+}
+
+void
+AllListEditorPanel::OnScanDirStart()
+{
+ AppLogDebug("ENTER");
+ __pFileListEditorForm->SetProgressState(true);
+ AppLogDebug("EXIT");
+}
+void
+AllListEditorPanel::OnScanDirComplete()
+{
+ AppLogDebug("ENTER");
+ __pFileListEditorForm->SetProgressState(false);
+ AppLogDebug("EXIT");
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAllListPanel.cpp
+ * @brief This is the implementation file for AllListPanel class.
+ */
+
+#include "GlAlbumInfo.h"
+#include "GlAllListPanel.h"
+#include "GlCommonUtil.h"
+#include "GlFileListForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const Rectangle RECT_INITIAL (0, 0, 10, 10);
+static const int W_CLIENT = 720;
+static const int H_CONTENT_MARGIN = 9;
+static const int W_CONTENT_MARGIN = 6;
+static const int W_CONTENT_SPACE = 6;
+static const int H_CONTENT_SPACE = 6;
+
+AllListPanel::AllListPanel(void)
+ : __itemCount(0)
+ , __pContentIconListView(null)
+ , __pPresentationModel(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AllListPanel::~AllListPanel(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListPanel::Refresh(void)
+{
+ AppLogDebug("ENTER");
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_IMAGE)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_IMAGE);
+ }
+ else if (__pPresentationModel->GetAppControlMediaType() == APPCONTROL_MEDIA_TYPE_VIDEO)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_VIDEO);
+ }
+ else
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_VIDEO);
+ }
+ }
+ else
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ }
+
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ if (__itemCount == 0)
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager", GetErrorMessage(GetLastResult()));
+
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALBUM_LIST,SCENE_TRANSITION_ANIMATION_TYPE_NONE,SCENE_DESTROY_OPTION_KEEP));
+ }
+ else
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager", GetErrorMessage(GetLastResult()));
+
+ FileListForm* pFileListForm = dynamic_cast<FileListForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ if (pFileListForm != null)
+ {
+ pFileListForm->SetMenuState(true);
+ }
+ }
+
+ __pContentIconListView->UpdateList();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AllListPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(RECT_INITIAL);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ AppAssert(pForm);
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ clientAreaBounds.x = clientAreaBounds.y = 0;
+ SetBounds(clientAreaBounds);
+
+ __pContentIconListView = new (std::nothrow) IconListView();
+ __pContentIconListView->Construct(Rectangle(0, 0, W_CLIENT, clientAreaBounds.height),
+ DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetMargin(MARGIN_TYPE_LEFT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_RIGHT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_TOP, H_CONTENT_MARGIN);
+ __pContentIconListView->SetItemSpacing(W_CONTENT_SPACE, H_CONTENT_SPACE);
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ result r = AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __itemCount = 0;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST)
+ {
+ FileListForm* pFileListForm = dynamic_cast<FileListForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ __pPresentationModel->RemoveContentEventListener(pFileListForm);
+ }
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+int
+AllListPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+IconListViewItem*
+AllListPanel::CreateItem(int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ Bitmap* pBitmap=null;
+ String* pItemText=null;
+ result r = __pPresentationModel->GetThumbnailInSyncCacheN(index, pItemText, pBitmap);
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+
+ IconListViewItem* pIconListviewItem = new (std::nothrow) IconListViewItem();
+
+ if (pBitmap == null)
+ {
+ __pPresentationModel->RequestThumbnail(index);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ if (pItemText == null)
+ {
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+ else if ((*pItemText) != ResourceManager::GetString(L"EMPTY_SPACE"))
+ {
+ delete pItemText;
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ if (pItemText != null)
+ {
+ pIconListviewItem->Construct(*pBitmap, pItemText);
+ }
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListviewItem;
+}
+
+bool
+AllListPanel::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+AllListPanel::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ if (status == ICON_LIST_VIEW_ITEM_SELECTED)
+ {
+ if (__pPresentationModel->GetCurrentAlbumContentInfoCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ ArrayList* pArrayList = new (std::nothrow) ArrayList();
+ pArrayList->Construct();
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(i)));
+ }
+
+ String listIndex;
+ listIndex.Format(10, L"%d", index);
+ const String mimeType = APPCONTROL_MIME_IMAGE_ALL;
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_IMAGE));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), pArrayList);
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_INDEX), new (std::nothrow) String(listIndex));
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
+ &mimeType, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ String* pTemp = null;
+ loopCount = pArrayList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pTemp = static_cast<String*>(pArrayList->GetAt(i));
+ AppLog("print temp(%ls)", pTemp->GetPointer());
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if (contentType == CONTENT_TYPE_ALL || contentType == CONTENT_TYPE_IMAGE
+ || contentType == CONTENT_TYPE_VIDEO)
+ {
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ if (index >= 0)
+ {
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListPanel::ChangeOrientation(void)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ const Form* pForm = dynamic_cast<Form*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturn(pForm != null,, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ SetBounds(0, 0, clientAreaBounds.width, clientAreaBounds.height);
+ __pContentIconListView->SetBounds(0, 0, clientAreaBounds.width, clientAreaBounds.height);
+}
+
+void
+AllListPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ ChangeOrientation();
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ if (currentSceneId == IDSCN_ALL_LIST)
+ {
+ if (previousSceneId == IDSCN_ALBUM_LIST && pArgs != null)
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pArgs->GetAt(0));
+ if (pAlbumInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+ IList* pDirectoryList = pAlbumInfo->GetDirectoryListN();
+ __pPresentationModel->SetCurrentAlbumInfo(pAlbumInfo->GetAlbumName(), *pDirectoryList);
+ if (pDirectoryList != null)
+ {
+ delete pDirectoryList;
+ }
+
+ delete pArgs;
+
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ else
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ }
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST)
+ {
+ FileListForm* pFileListForm = dynamic_cast<FileListForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ if (pFileListForm != null)
+ {
+ pFileListForm->SetTitleText(__pPresentationModel->GetCurrentAlbumName());
+
+ if (__itemCount == 0)
+ {
+ pFileListForm->SetMenuState(false);
+ }
+ else
+ {
+ pFileListForm->SetMenuState(true);
+ }
+
+ }
+ __pPresentationModel->AddContentEventListener(pFileListForm);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListPanel::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST)
+ {
+ FileListForm* pFileListForm = dynamic_cast<FileListForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ __pPresentationModel->RemoveContentEventListener(pFileListForm);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlAllListSelectionPanel.cpp
+ * @brief This is the implementation file for AllListSelectionPanel class.
+ */
+
+#include "GlAllListSelectionPanel.h"
+#include "GlCommonUtil.h"
+#include "GlFileListEditorForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+#include "GlFileUpdateTimer.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const int LENGTH_COUNT_LABEL = 256;
+static const int H_CONTENT_MARGIN = 9;
+static const int W_CONTENT_MARGIN = 6;
+static const int W_CONTENT_SPACE = 6;
+static const int H_CONTENT_SPACE = 6;
+static const Color COLOR_THUMBNAIL_DIM (Color::GetColor(COLOR_ID_BLACK));
+static const int ALPHA_THUMBNAIL_DIM = 70;
+
+static const Rectangle RECT_INITIAL (0, 0, 10, 10);
+
+AllListSelectionPanel::AllListSelectionPanel(void)
+ : __itemCount(0)
+ , __pContentIconListView(null)
+ , __pSeletedIndexList(null)
+ , __pFileListEditorForm(null)
+ , __pFileUpdateTimer(null)
+ , __pPresentationModel(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+AllListSelectionPanel::~AllListSelectionPanel(void)
+{
+ AppLogDebug("ENTER");
+ delete __pFileUpdateTimer;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+AllListSelectionPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return Construct(RECT_INITIAL); // Should be set proper area at OnInitializing()
+}
+
+result
+AllListSelectionPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ clientAreaBounds.x = clientAreaBounds.y = 0;
+ result r = SetBounds(clientAreaBounds);
+
+ __pContentIconListView = new (std::nothrow) IconListView();
+ __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width, clientAreaBounds.height),
+ DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetMargin(MARGIN_TYPE_LEFT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_RIGHT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_TOP, H_CONTENT_MARGIN);
+ __pContentIconListView->SetItemSpacing(W_CONTENT_SPACE, H_CONTENT_SPACE);
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_LEFT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __itemCount = 0;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListSelectionPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ if (__pSeletedIndexList != null)
+ {
+ delete __pSeletedIndexList;
+ __pSeletedIndexList = null;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+int
+AllListSelectionPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+IconListViewItem*
+AllListSelectionPanel::CreateItem(int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ IconListViewItem* pIconListviewItem;
+ Bitmap* pBitmap = null;
+ String* pItemText = null;
+
+ int realIndex = GetRealindexFromVirtualIndex(index);
+ result r = __pPresentationModel->GetThumbnailInSyncCacheN(realIndex, pItemText, pBitmap);
+ if (pBitmap == null || r == E_FAILURE)
+ {
+ __pPresentationModel->RequestThumbnail(realIndex);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ if (pItemText == null)
+ {
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+ else if ((*pItemText) != ResourceManager::GetString(L"EMPTY_SPACE"))
+ {
+ delete pItemText;
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ if (__pContentIconListView->IsItemChecked(index) == true)
+ {
+ if (pBitmap != null)
+ {
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+
+ Color dimColor(COLOR_THUMBNAIL_DIM);
+ dimColor.SetAlpha(ALPHA_THUMBNAIL_DIM);
+
+ Canvas canvas;
+ canvas.Construct(bufferInfo);
+ canvas.FillRectangle(dimColor, canvas.GetBounds());
+
+ Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
+ pSelectedBitmap->Construct(canvas, canvas.GetBounds());
+ pIconListviewItem = new (std::nothrow) IconListViewItem();
+ pIconListviewItem->Construct(*pBitmap, pItemText, pSelectedBitmap);
+ delete pSelectedBitmap;
+ }
+ else
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ delete pItemText;
+ return null;
+ }
+
+ }
+ else
+ {
+ pIconListviewItem = new (std::nothrow) IconListViewItem();
+ pIconListviewItem->Construct(*pBitmap, pItemText);
+ }
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListviewItem;
+}
+
+bool
+AllListSelectionPanel::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+AllListSelectionPanel::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+ if (status == ICON_LIST_VIEW_ITEM_CHECKED || status == ICON_LIST_VIEW_ITEM_UNCHECKED)
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ String strTmp;
+ strTmp.Format(LENGTH_COUNT_LABEL, L"%ls (%d)",
+ ResourceManager::GetString(L"IDS_COM_BODY_SELECTED").GetPointer(), GetItemCheckedCount());
+ __pFileListEditorForm->SetTitleText(strTmp);
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ if (index >= 0)
+ {
+ int virtualIndex = -1;
+ int loopCount = __pSeletedIndexList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ virtualIndex = GetVirtualIndexFromRealIndex(index);
+ if (virtualIndex >= 0)
+ {
+ __pContentIconListView->RefreshList(virtualIndex, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ break;
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+
+ ChangeOrientation();
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ __pFileListEditorForm = dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturnVoid(__pFileListEditorForm != null, "[%s] fail to get FileListEditorForm.", GetErrorMessage(GetLastResult()));
+ __pPresentationModel->AddContentEventListener(__pFileListEditorForm);
+
+ if (previousSceneId == IDSCN_ALL_LIST_EDITOR)
+ {
+ if (pArgs != null)
+ {
+ __pSeletedIndexList = pArgs;
+ }
+ ResetSelection();
+ int loopCount = __pSeletedIndexList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ __pContentIconListView->SetItemChecked(i, true);
+ __pContentIconListView->RequestRedraw(true);
+ }
+ }
+ SetButtonState();
+
+ if (pArgs != null && pArgs->GetCount() > 0)
+ {
+ String* pDirectory = static_cast<String*>(pArgs->GetAt(0));
+ if (pDirectory != null && pDirectory->GetLength() > 0)
+ {
+ __pFileListEditorForm->MoveToAlbum(*pDirectory);
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemoveContentEventListener(__pFileListEditorForm);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+AllListSelectionPanel::GetItemCheckedCount(void) const
+{
+ AppLogDebug("ENTER");
+ int count = 0;
+ if (__pContentIconListView != null && __pSeletedIndexList != null)
+ {
+ int loopCount = __pSeletedIndexList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ ++count;
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return count;
+}
+
+IList*
+AllListSelectionPanel::GetItemCheckedIndexListN(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ Integer* pIndex = null;
+
+ if (__pContentIconListView!=null)
+ {
+ int realIndex = -1;
+ int loopCount = __pSeletedIndexList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ realIndex = GetRealindexFromVirtualIndex(i);
+ pIndex = new (std::nothrow) Integer(realIndex);
+ pList->Add(pIndex);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pList;
+}
+
+int
+AllListSelectionPanel::GetRealindexFromVirtualIndex(const int virtualIndex) const
+{
+ if (__pSeletedIndexList == null || __pSeletedIndexList->GetCount() == 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return -1;
+ }
+
+ Integer* pRealIndex = static_cast<Integer*>(__pSeletedIndexList->GetAt(virtualIndex));
+ int realIndex = -1;
+ if (pRealIndex != null)
+ {
+ realIndex = pRealIndex->ToInt();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return realIndex;
+}
+
+int
+AllListSelectionPanel::GetVirtualIndexFromRealIndex(const int realIndex) const
+{
+ int returnValue = -1;
+ int loopCount = __pSeletedIndexList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ Integer* pRealIndex = static_cast<Integer*>(__pSeletedIndexList->GetAt(i));
+ int index = -1;
+ if (pRealIndex != null)
+ {
+ index = pRealIndex->ToInt();
+ }
+
+ if (index == realIndex)
+ {
+ returnValue = i;
+ break;
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return returnValue;
+}
+
+result
+AllListSelectionPanel::OnRequestDelete(void)
+{
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_DELETE);
+ result r = __pFileUpdateTimer->StartTimer();
+
+ if (IsFailed(r))
+ {
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ return E_FAILURE;
+ }
+ else
+ {
+ __pPresentationModel->SetUpdateProgressStatus(true);
+ }
+
+ return E_SUCCESS;
+}
+
+void AllListSelectionPanel::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ __pFileListEditorForm->Invalidate(true);
+}
+
+void AllListSelectionPanel::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
+{
+ __pPresentationModel->SetUpdateProgressStatus(false);
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.",
+ GetErrorMessage(GetLastResult()));
+
+ String strTmp;
+ String selectString = ResourceManager::GetString(L"IDS_COM_BODY_SELECTED");
+ strTmp.Format(LENGTH_COUNT_LABEL, L"%ls (%d)", selectString.GetPointer(), 0);
+ __pFileListEditorForm->SetTitleText(strTmp);
+
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+
+ if (GetItemCount() > 0)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
+ }
+ else
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::ChangeOrientation()
+{
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ const Form* pForm = dynamic_cast<Form*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturn(pForm != null,, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ SetBounds(0, 0, clientAreaBounds.width, clientAreaBounds.height);
+ __pContentIconListView->SetBounds(0, 0, clientAreaBounds.width, clientAreaBounds.height);
+}
+
+result
+AllListSelectionPanel::OnRequestMessage(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null || pIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ Integer* pIndex = null;
+ int checkedIndex;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pIndex = static_cast<Integer*>(pIndexList->GetAt(i));
+ if (pIndex != null)
+ {
+ checkedIndex = pIndex->ToInt();
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(checkedIndex)));
+ }
+ }
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_MESSAGE_TYPE), new (std::nothrow) String(APPCONTROL_DATA_MMS));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_MESSAGE, APPCONTROL_OPERATION_ID_COMPOSE, null,
+ null, pDataList, null);
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListSelectionPanel::OnRequestEmail(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null || pIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ Integer* pIndex = null;
+ int checkedIndex;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pIndex = static_cast<Integer*>(pIndexList->GetAt(i));
+ if (pIndex != null)
+ {
+ checkedIndex = pIndex->ToInt();
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(checkedIndex)));
+ }
+ }
+
+ const String uriData = APPCONTROL_URI_MAIL_TO;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_EMAIL, APPCONTROL_OPERATION_ID_COMPOSE,
+ &uriData, null, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+AllListSelectionPanel::OnRequestSlideShow(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+
+ Integer* pRealIndex = null;
+ int realIndex = -1;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pRealIndex = static_cast<Integer*>(pIndexList->GetAt(i));
+ if (pRealIndex != null)
+ {
+ realIndex = pRealIndex->ToInt();
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(realIndex)));
+ }
+ }
+
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_SLIDE_SHOW));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+ const String mimeType = APPCONTROL_MIME_IMAGE_ALL;
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
+ &mimeType, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+AllListSelectionPanel::ResetSelection(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_ALL);
+ if (__pSeletedIndexList == null)
+ {
+ __itemCount = 0;
+ }
+ else
+ {
+ __itemCount = __pSeletedIndexList->GetCount();
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ String strTmp;
+ String bodyText = ResourceManager::GetString(L"IDS_COM_BODY_SELECTED");
+ strTmp.Format(LENGTH_COUNT_LABEL, L"%ls (%d)", bodyText.GetPointer(), __itemCount);
+ __pFileListEditorForm->SetTitleText(strTmp);
+
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::SetButtonState(void)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ if (GetItemCheckedCount() > 0)
+ {
+ AppLogDebug("BUTTONSTATE : Request Enable");
+ __pFileListEditorForm->SetFooterButtonsState(true);
+ }
+ else
+ {
+ AppLogDebug("BUTTONSTATE : Request disable");
+ __pFileListEditorForm->SetFooterButtonsState(false);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+AllListSelectionPanel::OnSelectAllPressed(void)
+{
+ bool needToSelectAll = true;
+ int checkedCount = GetItemCheckedCount();
+ if (checkedCount == __itemCount)
+ {
+ needToSelectAll = false;
+ }
+
+ if (needToSelectAll == true)
+ {
+ for (int i = 0; i < __itemCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == false)
+ {
+ __pContentIconListView->SetItemChecked(i, true);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ }
+ else
+ {
+ for (int i = 0; i < __itemCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == true)
+ {
+ __pContentIconListView->SetItemChecked(i, false);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ String tempString;
+ if (needToSelectAll == true)
+ {
+ tempString.Format(LENGTH_COUNT_LABEL, L"%ls (%d)",
+ ResourceManager::GetString(L"IDS_COM_BODY_SELECTED").GetPointer(), __itemCount);
+ }
+ else
+ {
+ tempString.Format(LENGTH_COUNT_LABEL, L"%ls (%d)",
+ ResourceManager::GetString(L"IDS_COM_BODY_SELECTED").GetPointer(), 0);
+ }
+ __pFileListEditorForm->SetTitleText(tempString);
+
+ SetButtonState();
+}
+
+result
+AllListSelectionPanel::OnRotateRequested(RotateMode rotateMode)
+{
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+ if (pIndexList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+ else if (pIndexList->GetCount() <= 0)
+ {
+ delete pIndexList;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = new (std::nothrow) FileUpdateTimer(pIndexList, __pPresentationModel, this, FILE_ACTION_ROTATE, rotateMode);
+ result r = __pFileUpdateTimer->StartTimer();
+
+ if (IsFailed(r))
+ {
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ return E_FAILURE;
+ }
+ else
+ {
+ __pPresentationModel->SetUpdateProgressStatus(true);
+ }
+ return E_SUCCESS;
+}
+
+void AllListSelectionPanel::CancelUpdateProgress(void)
+{
+ if (__pFileUpdateTimer!= null && __pFileUpdateTimer->IsStarted())
+ {
+ __pFileUpdateTimer->Cancel();
+ delete __pFileUpdateTimer;
+ __pFileUpdateTimer = null;
+ }
+}
+
+void
+AllListSelectionPanel::OnScanDirStart()
+{
+ AppLogDebug("ENTER");
+ __pFileListEditorForm->SetProgressState(true);
+ AppLogDebug("EXIT");
+}
+void
+AllListSelectionPanel::OnScanDirComplete()
+{
+ AppLogDebug("ENTER");
+ __pFileListEditorForm->SetProgressState(false);
+ AppLogDebug("EXIT");
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlBaseForm.cpp
+ * @brief This is the implementation file for GlBaseForm class.
+ */
+
+#include "GlFileListPresentationModel.h"
+#include "GlBaseForm.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Base::Utility;
+
+IList*
+BaseForm::GetMoveFileIndexList(String& moveDir, IList* pMoveIndexList, FileListPresentationModel* pPresentationModel, bool isCopyOp)
+{
+ if (&moveDir == null || moveDir.IsEmpty())
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+
+ if (pMoveIndexList == null || pMoveIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+
+ IList* pCollisionList = pPresentationModel->GetCollisionIndexListN(*pMoveIndexList, moveDir);
+
+ if (pCollisionList != null)
+ {
+ int loopCount = pCollisionList->GetCount();
+ int collisionCount = 0;
+ for (int i = 0; i < loopCount; ++i)
+ {
+ String* pCollisionString = const_cast<String*>(static_cast<const String*>(pCollisionList->GetAt(i)));
+ String tmpString;
+
+ if (pCollisionString != null)
+ {
+ tmpString = (*pCollisionString);
+ }
+
+ String delim(MULTI_ITEM_SEPARATOR);
+ StringTokenizer st(tmpString, delim);
+ String token;
+
+ int collisionIndex;
+ String fileName;
+
+ if (st.HasMoreTokens() == true)
+ {
+ st.GetNextToken(token);
+ Integer::Parse(token, collisionIndex);
+
+ if (st.HasMoreTokens() == true)
+ {
+ st.GetNextToken(fileName);
+ }
+
+ int innerLoopCount = pMoveIndexList->GetCount();
+ for (int j = 0; j < innerLoopCount; ++j)
+ {
+ if (collisionIndex == (const_cast<Integer*>(static_cast<const Integer*>
+ (pMoveIndexList->GetAt(j))))->ToInt())
+ {
+ pMoveIndexList->RemoveAt(j, true);
+ --j;
+ --innerLoopCount;
+ ++collisionCount;
+ }
+ }
+ }
+ }
+
+ pCollisionList->RemoveAll(true);
+ delete pCollisionList;
+
+ if (collisionCount > 0)
+ {
+ MessageBox messageBox;
+
+ if ( isCopyOp)
+ {
+ messageBox.Construct(L"", L"Unable to copy some files. Same files exists",
+ MSGBOX_STYLE_NONE, 3000);
+ }
+ else
+ {
+ messageBox.Construct(L"", L"Unable to move some files. Same files exists",
+ MSGBOX_STYLE_NONE, 3000);
+ }
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+ }
+ return pMoveIndexList;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlCommonUtil.cpp
+ * @brief This is the implementation file for CommonUtil class.
+ */
+
+#include <GlTypes.h>
+
+#include "GlCommonUtil.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Graphics;
+
+static const int W_DEFAULT_THUMBNAIL = 171;
+static const int H_DEFAULT_THUMBNAIL = 127;
+static const int BASE_STANDARD = 1000;
+static const int FORMAT_TIME = 10;
+static const String DATETIME_FORMAT = L"%02d:%02d:%02d";
+
+Bitmap*
+CommonUtil::GetEmptyThumbnailN(void)
+{
+ Rectangle mainRect(0, 0, W_DEFAULT_THUMBNAIL, H_DEFAULT_THUMBNAIL);
+ Bitmap* pBitmap = new (std::nothrow) Bitmap();
+ result r = pBitmap->Construct(mainRect);
+ if (r != E_SUCCESS)
+ {
+ delete pBitmap;
+ return null;
+ }
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+ Canvas mainCanvas;
+ mainCanvas.Construct(bufferInfo);
+ mainCanvas.FillRectangle(Color::GetColor(COLOR_ID_WHITE), mainCanvas.GetBounds());
+ mainCanvas.DrawBitmap(mainRect, *pBitmap);
+ return pBitmap;
+}
+
+String
+CommonUtil::DurationToTimeString(const long duration)
+{
+ String strTime;
+ DateTime dateTime;
+ dateTime.AddSeconds(duration / BASE_STANDARD);
+ strTime.Format(FORMAT_TIME, DATETIME_FORMAT.GetPointer(), dateTime.GetHour(), dateTime.GetMinute(), dateTime.GetSecond());
+ return strTime;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlContentUpdateEventListener.cpp
+ * @brief This is the implementation file for ContentUpdateEventListener class.
+ */
+
+#include <FApp.h>
+#include <FUi.h>
+#include "GlContentUpdateEventListener.h"
+#include "GlFileListPresentationModel.h"
+#include "GlAlbumListPresentationModel.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+
+ContentUpdateEventListener* ContentUpdateEventListener::__pContentUpdateEventListener = null;
+
+ContentUpdateEventListener::ContentUpdateEventListener(void)
+ : __pContentManager(null)
+ , __isTimerActive(false)
+ , __changeNotificationReceived(false)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT");
+}
+
+ContentUpdateEventListener::~ContentUpdateEventListener(void)
+{
+ AppLogDebug("ENTER");
+
+ if(__pContentManager != null)
+ {
+ __pContentManager->RemoveContentUpdateEventListener(*this);
+ delete __pContentManager;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ContentUpdateEventListener*
+ContentUpdateEventListener::GetInstance(void)
+{
+ AppLogDebug("ENTER");
+
+ if (__pContentUpdateEventListener == null)
+ {
+ CreateInstance();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pContentUpdateEventListener;
+}
+
+void ContentUpdateEventListener::AddContentListener(void)
+{
+ if(__pContentManager != null)
+ {
+ __pContentManager->AddContentUpdateEventListener(*this);
+ }
+}
+
+void ContentUpdateEventListener::RemoveContentListener(void)
+{
+ if(__pContentManager != null)
+ {
+ __pContentManager->RemoveContentUpdateEventListener(*this);
+ }
+}
+
+result
+ContentUpdateEventListener::Construct(void)
+{
+ AppLogDebug("ENTER");
+
+ __pContentManager = new (std::nothrow) ContentManager();
+
+ if (__pContentManager != null)
+ {
+ __pContentManager->Construct();
+ __pContentManager->AddContentUpdateEventListener(*this);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return E_SUCCESS;
+}
+
+void
+ContentUpdateEventListener::CreateInstance(void)
+{
+ AppLogDebug("ENTER");
+ __pContentUpdateEventListener = new (std::nothrow) ContentUpdateEventListener();
+
+ if (__pContentUpdateEventListener != null)
+ {
+ result r = __pContentUpdateEventListener->Construct();
+
+ if (IsFailed(r) == true)
+ {
+ delete __pContentUpdateEventListener;
+ __pContentUpdateEventListener = null;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+ }
+
+ std::atexit(DestroyInstance);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ContentUpdateEventListener::DestroyInstance(void)
+{
+ AppLogDebug("ENTER");
+
+ if (__pContentUpdateEventListener != null)
+ {
+ delete __pContentUpdateEventListener;
+ __pContentUpdateEventListener = null;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+ContentUpdateEventListener::GetChangeNotificationStatus()
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT");
+ return __changeNotificationReceived;
+}
+
+void
+ContentUpdateEventListener::ResumeOperation()
+{
+ AppLogDebug("ENTER");
+ AlbumListPresentationModel::GetInstance()->OnContentDeleted();
+ FileListPresentationModel::GetInstance()->OnContentDeleted();
+ __changeNotificationReceived = false;
+ AppLogDebug("EXIT");
+}
+
+String
+ContentUpdateEventListener::GetDirecotyNameFromFullPath(const String& fullPath)const
+{
+ AppLogDebug("ENTER");
+ if (fullPath == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+ String delim(DIRECTORY_SEPARATOR);
+ StringTokenizer st(fullPath,delim);
+ String token;
+ String tokenPrev;
+ while (st.HasMoreTokens())
+ {
+ tokenPrev = token;
+ st.GetNextToken(token);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return tokenPrev;
+}
+
+void
+ContentUpdateEventListener::OnContentFileCreated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r)
+{
+ AppLogDebug("ENTER");
+ if ( !__isTimerActive && ( contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO) )
+ {
+ Tizen::Content::ContentInfo* cntInfo = __pContentManager->GetContentInfoN(contentId);
+
+ if ( cntInfo != NULL)
+ {
+ String path = cntInfo->GetContentPath();
+ String dirName = GetDirecotyNameFromFullPath(path);
+
+ FileListPresentationModel* pFileListPM = FileListPresentationModel::GetInstance();
+ pFileListPM->AddDirectoryIfNew(dirName);
+ AlbumListPresentationModel::GetInstance()->OnContentCreated();
+ pFileListPM->OnContentCreated();
+ }
+ }
+
+ AppLogDebug("EXIT");
+}
+
+void
+ContentUpdateEventListener::OnContentFileUpdated(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r)
+{
+ AppLogDebug("ENTER");
+
+ if ( !__isTimerActive && ( contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO) )
+ {
+ AlbumListPresentationModel::GetInstance()->OnContentUpdated();
+ FileListPresentationModel::GetInstance()->OnContentUpdated();
+ }
+ else
+ {
+ FileListPresentationModel::GetInstance()->OnContentUpdated(contentId);
+ }
+ AppLogDebug("EXIT");
+}
+
+void
+ContentUpdateEventListener::OnContentFileDeleted(Tizen::Content::ContentId contentId, Tizen::Content::ContentType contentType, result r)
+{
+ AppLogDebug("ENTER");
+
+ if ( !__isTimerActive && ( contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO) )
+ {
+ Tizen::App::UiApp* appPtr = Tizen::App::UiApp::GetInstance();
+ if (appPtr->GetAppUiState() == Tizen::App::APP_UI_STATE_FOREGROUND)
+ {
+ AlbumListPresentationModel::GetInstance()->OnContentDeleted();
+ FileListPresentationModel::GetInstance()->OnContentDeleted();
+ }
+ else
+ {
+ __changeNotificationReceived = true;
+ }
+
+ }
+ AppLogDebug("EXIT");
+}
+
+void
+ContentUpdateEventListener::OnContentDirectoryScanCompleted(const Tizen::Base::String& directoryPath, result r)
+{
+ AppLogDebug("ENTER");
+
+ if ( __isTimerActive )
+ {
+ AlbumListPresentationModel::GetInstance()->OnContentScanCompleted( directoryPath );
+ return;
+ }
+ Tizen::App::UiApp* appPtr = Tizen::App::UiApp::GetInstance();
+ if (appPtr->GetAppUiState() == Tizen::App::APP_UI_STATE_FOREGROUND)
+ {
+ AlbumListPresentationModel::GetInstance()->OnContentDeleted();
+ FileListPresentationModel::GetInstance()->OnContentDeleted();
+ AlbumListPresentationModel::GetInstance()->OnContentScanCompleted(directoryPath);
+ }
+ else
+ {
+ bool renameHandled = AlbumListPresentationModel::GetInstance()->OnContentScanCompleted(directoryPath);
+ if (!renameHandled)
+ {
+ __changeNotificationReceived = true;
+ }
+ }\r
+
+ AppLogDebug("EXIT");
+}
+void
+ContentUpdateEventListener::SetTimerActive(void)
+{
+ __isTimerActive = true;
+}
+
+void
+ContentUpdateEventListener::ReSetTimerActive(void)
+{
+ __isTimerActive = false;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ *@file: DropDownCustomItem
+ *@brief: To create Drop Down custom item
+ *
+ */
+
+#include <FApp.h>
+#include "GlDropDownCustomItem.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Controls;
+
+const int DropDownCustomItem::IDA_FORMAT_BITMAP = 101;
+const int DropDownCustomItem::IDA_FORMAT_MAIN_STRING = 102;
+const int DropDownCustomItem::IDA_FORMAT_SUB_STRING = 103;
+const int DropDownCustomItem::IDA_FORMAT_DROPPER = 104;
+
+DropDownCustomItem::DropDownCustomItem(void)
+ : __currentState(DROP_DOWN_ITEM_STATE_CLOSED)
+ , __height(0)
+ , __width(0)
+{
+}
+
+DropDownCustomItem::~DropDownCustomItem(void)
+{
+}
+
+result
+DropDownCustomItem::Construct(int width, int height)
+{
+ __width = width;
+ __height = height + 28;
+ Dimension dim(__width, __height);
+ result r = CustomItem::Construct(dim, LIST_ANNEX_STYLE_NORMAL);
+ return r;
+}
+
+void
+DropDownCustomItem::SetMainText(const Tizen::Base::String& text)
+{
+ __mainText = text;
+}
+
+String
+DropDownCustomItem::GetMainText(void) const
+{
+ return __mainText;
+}
+
+void
+DropDownCustomItem::SetSubText(const Tizen::Base::String& text)
+{
+ __subText = text;
+}
+
+String
+DropDownCustomItem::GetSubText(void) const
+{
+ return __subText;
+}
+
+result
+DropDownCustomItem::Make(int fontsize, int itemHeight)
+{
+ AppLogDebug("DropDownCustomItem::Make entered");
+
+ int xMargin = 26;
+ int yMargin = 22;
+ int subTextHeight = 42;
+ int mainTextHeight = itemHeight - yMargin - subTextHeight + 15;
+
+ Tizen::Graphics::Bitmap* pDropperBitmapNormal = null;
+ Tizen::Graphics::Bitmap* pDropperBitmapPressed = null;
+
+ AddElement(Rectangle(xMargin, yMargin, __width - 126, mainTextHeight), IDA_FORMAT_MAIN_STRING,__mainText, fontsize,
+ CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT, CUSTOM_COLOR_TRANSPARENT);
+ AddElement(Rectangle(xMargin, yMargin + mainTextHeight, __width - 126, subTextHeight), IDA_FORMAT_SUB_STRING,__subText, 34, CUSTOM_COLOR_GREY , CUSTOM_COLOR_LISTVIEW_TEXT, CUSTOM_COLOR_LISTVIEW_TEXT);
+
+ AppResource* pAppResource = UiApp::GetInstance()->GetAppResource();
+ if (pAppResource)
+ {
+ if (GetCurState() == DROP_DOWN_ITEM_STATE_CLOSED)
+ {
+ pDropperBitmapNormal = pAppResource->GetBitmapN(IDB_LIST_EXPAND_CLOSED, BITMAP_PIXEL_FORMAT_ARGB8888);
+ pDropperBitmapPressed = pAppResource->GetBitmapN(IDB_LIST_EXPAND_CLOSED_PRESS, BITMAP_PIXEL_FORMAT_ARGB8888);
+ }
+ else
+ {
+ pDropperBitmapNormal = pAppResource->GetBitmapN(IDB_LIST_EXPAND_OPENED, BITMAP_PIXEL_FORMAT_ARGB8888);
+ pDropperBitmapPressed = pAppResource->GetBitmapN(IDB_LIST_EXPAND_OPENED_PRESS, BITMAP_PIXEL_FORMAT_ARGB8888);
+ }
+
+ AddElement(Rectangle(__width - 85, (__height - 64) / 2, 64, 64), IDA_FORMAT_DROPPER, *pDropperBitmapNormal, pDropperBitmapPressed, pDropperBitmapNormal);
+ delete pDropperBitmapNormal;
+ delete pDropperBitmapPressed;
+ }
+
+ return E_SUCCESS;
+}
+
+DropDownItemState
+DropDownCustomItem::GetCurState(void) const
+{
+ return __currentState;
+}
+
+void
+DropDownCustomItem::SetCurState(const DropDownItemState state)
+{
+ __currentState = state;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileListEditorForm.cpp
+ * @brief This is the implementation file for FileListEditorForm class.
+ */
+
+#include "GlAllListEditorPanel.h"
+#include "GlAllListSelectionPanel.h"
+#include "GlFileListEditorForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlImageListEditorPanel.h"
+#include "GlProgressAnimation.h"
+#include "GlResourceManager.h"
+#include "GlSlideSettingListener.h"
+#include "GlSlideShowPopUp.h"
+#include "GlTypes.h"
+#include "GlVideoListEditorPanel.h"
+#include "GlFileMoveTimer.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+using namespace Tizen::Base::Utility;
+
+static const int GAP_W_POPUP_ITEM = 10;
+static const int W_DELETE_POPUP = 688;
+static const int H_DELETE_POPUP = 230;
+static const int H_DELETE_LABEL = 80;
+static const int Y_DELETE_BUTTON = 132;
+static const int H_DELETE_BUTTON = 74;
+static const int W_DELETE_BUTTON = 318;
+static const int H_TOAST_LABEL = 48;
+static const int Y_DELETE_LABEL = 32;
+
+static const unsigned int COLOR_DELETE_BUTTON_NORMAL = Color32<208, 82, 82>::Value;
+static const unsigned int COLOR_DELETE_BUTTON_PRESSED = Color32<194, 71, 71>::Value;
+static const unsigned int COLOR_DELETE_BUTTON_TEXT = Color32<248, 246, 239>::Value;
+
+static const String RESERVED_MEDIA_PATH = Environment::GetMediaPath();
+
+FileListEditorForm::FileListEditorForm(void)
+ : __pShareContextMenu(null)
+ , __pOptionMenu(null)
+ , __pDeletePopup(null)
+ , __morePosition(Point(0, 0))
+ , __pContentDirectoryList(null)
+ , __pContentDirectoryNameList(null)
+ , __pPopUp(null)
+ , __pFileMove(null)
+ , __isCopyOperation(false)
+ , __pPresentationModel(null)
+ , __isScanProgress(false)
+{
+ AppLogDebug("ENTER");
+ _overlayMsg = false;
+ _pProgressAnim = null;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+FileListEditorForm::~FileListEditorForm(void)
+{
+ AppLogDebug("ENTER");
+ if (__pContentDirectoryList != null)
+ {
+ __pContentDirectoryList->RemoveAll(true);
+ delete __pContentDirectoryList;
+ __pContentDirectoryList = null;
+ }
+
+ if (__pPopUp != null)
+ {
+ delete __pPopUp;
+ __pPopUp = null;
+ }
+
+ if (__pContentDirectoryNameList != null)
+ {
+ __pContentDirectoryNameList->RemoveAll(true);
+ delete __pContentDirectoryNameList;
+ __pContentDirectoryNameList = null;
+ }
+ delete __pFileMove;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+FileListEditorForm::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(FORM_STYLE_NORMAL | FORM_STYLE_HEADER | FORM_STYLE_FOOTER | FORM_STYLE_LANDSCAPE_INDICATOR_AUTO_HIDE | FORM_STYLE_PORTRAIT_INDICATOR_AUTO_HIDE);
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+FileListEditorForm::ShowAnimation()
+{
+ AppLogDebug("ENTER");
+ Rectangle clientRect= GetClientAreaBounds();
+ Rectangle rect(0, 0, clientRect.width, clientRect.height);
+ _pProgressAnim = new (std::nothrow) ProgressAnimation;
+ _pProgressAnim->Construct(rect);
+ AddControl(_pProgressAnim);
+ _pProgressAnim->SetShowState(true);
+ GetFooter()->SetEnabled(false);
+ _pProgressAnim->AnimationStart();
+ _pProgressAnim->Draw();
+ _overlayMsg = true;
+ AppLogDebug("EXIT");
+}
+
+void
+FileListEditorForm::StopAnimation(void)
+{
+ AppLogDebug("ENTER");
+ if (_pProgressAnim)
+ {
+ _pProgressAnim->AnimationStop();
+ _pProgressAnim->SetShowState(false);
+ RemoveControl(_pProgressAnim);
+ GetFooter()->SetEnabled(true);
+ _pProgressAnim = null;
+ _overlayMsg = false;
+ }
+ AppLogDebug("EXIT");
+}
+
+result
+FileListEditorForm::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ Header* pHeader = GetHeader();
+ TryReturn(pHeader != null, E_FAILURE, "[%s] fail to get the header.", GetErrorMessage(GetLastResult()));
+
+ SetOrientation(ORIENTATION_AUTOMATIC);
+ AddOrientationEventListener(*this);
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+
+ pHeader->SetStyle(HEADER_STYLE_TITLE);
+ pHeader->SetTitleText(ResourceManager::GetString(L"IDS_COM_BODY_EDIT"));
+
+ if ((__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK
+ && __pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_SINGLE) == false)
+ {
+ Bitmap* pNormalBitmap = ResourceManager::GetBitmapN(IDB_ICON_SELECT_ALL);
+ Bitmap* pPressBitmap = ResourceManager::GetBitmapN(IDB_ICON_SELECT_ALL_PRESS);
+ ButtonItem selectAll;
+ selectAll.Construct(BUTTON_ITEM_STYLE_ICON, IDA_FILE_LIST_SELECT_ALL);
+ selectAll.SetIcon(BUTTON_ITEM_STATUS_NORMAL, pNormalBitmap);
+ selectAll.SetIcon(BUTTON_ITEM_STATUS_PRESSED, pPressBitmap);
+ pHeader->SetButton(BUTTON_POSITION_LEFT, selectAll);
+ delete pNormalBitmap;
+ delete pPressBitmap;
+ }
+
+ pHeader->AddActionEventListener(*this);
+
+ InitializeFooter();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+FileListEditorForm::InitializeFooter(void)
+{
+ AppLogDebug("ENTER");
+ Footer* pFooter = GetFooter();
+ TryReturn(pFooter != null, E_FAILURE, "[%s] fail to get the footer.", GetErrorMessage(GetLastResult()));
+ pFooter->RemoveAllItems();
+
+ result r = E_SUCCESS;
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+
+ FooterItem footerConfirm;
+ footerConfirm.Construct(IDA_FOOTER_CONFIRM);
+ footerConfirm.SetText(ResourceManager::GetString(L"IDS_COM_SK_DONE"));
+ pFooter->AddItem(footerConfirm);
+ pFooter->SetItemEnabled(0, false);
+ pFooter->SetShowState(true);
+ pFooter->Invalidate(true);
+ }
+ else
+ {
+ pFooter->SetStyle(FOOTER_STYLE_SEGMENTED_TEXT);
+ pFooter->SetShowState(false);
+ pFooter->Invalidate(true);
+ }
+
+ SetFormBackEventListener(this);
+
+ }
+ else
+ {
+ pFooter->SetStyle(FOOTER_STYLE_BUTTON_ICON_TEXT);
+ SetFormMenuEventListener(this);
+
+ FooterItem footerShare;
+ r = footerShare.Construct(IDA_FOOTER_SHARE);
+ TryReturn(r == E_SUCCESS, r, "[%s] Unable to construct footer item", GetErrorMessage(r));
+ Bitmap* pBitmapShare = ResourceManager::GetBitmapN(IDB_CONTROLBAR_SHARE);
+ Bitmap* pBitmapShareDim = ResourceManager::GetBitmapN(IDB_CONTROLBAR_SHARE_DIM);
+
+ if (pBitmapShare != null && pBitmapShareDim != null)
+ {
+ footerShare.SetIcon(FOOTER_ITEM_STATUS_NORMAL, pBitmapShare);
+ footerShare.SetIcon(FOOTER_ITEM_STATUS_DISABLED, pBitmapShareDim);
+ }
+
+ r = pFooter->AddItem(footerShare);
+ delete pBitmapShare;
+ delete pBitmapShareDim;
+ TryReturn(r == E_SUCCESS, r, "[%s] Unable to add item", GetErrorMessage(r));
+
+ FooterItem footerDelete;
+ r = footerDelete.Construct(IDA_FOOTER_DELETE);
+ TryReturn(r == E_SUCCESS, r, "[%s] Unable to construct footer item", GetErrorMessage(r));
+ Bitmap* pBitmapDelete = ResourceManager::GetBitmapN(IDB_CONTROLBAR_DELETE);
+ Bitmap* pBitmapDeleteDim = ResourceManager::GetBitmapN(IDB_CONTROLBAR_DELETE_DIM);
+
+ if (pBitmapDelete != null && pBitmapDeleteDim != null)
+ {
+ footerDelete.SetIcon(FOOTER_ITEM_STATUS_NORMAL, pBitmapDelete);
+ footerDelete.SetIcon(FOOTER_ITEM_STATUS_DISABLED, pBitmapDeleteDim);
+ }
+
+ r = pFooter->AddItem(footerDelete);
+ delete pBitmapDelete;
+ delete pBitmapDeleteDim;
+ TryReturn(r == E_SUCCESS, r, "[%s] Unable to add item", GetErrorMessage(r));
+
+ SetFormBackEventListener(this);
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ int checkedCount = 0;
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ checkedCount = pEditorPanel->GetItemCheckedCount();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null)
+ {
+ checkedCount = pSelectionPanel->GetItemCheckedCount();
+ }
+ }
+
+ AppLogDebug("GetItemCheckedCount(%d)", checkedCount);
+
+ if (__pOptionMenu != null)
+ {
+ delete __pOptionMenu;
+ __pOptionMenu = null;
+ }
+
+ __pOptionMenu = new (std::nothrow) OptionMenu();
+ __pOptionMenu->Construct();
+ __pOptionMenu->AddActionEventListener(*this);
+
+ if (__pContentDirectoryNameList != null)
+ {
+ __pContentDirectoryNameList->RemoveAll(true);
+ delete __pContentDirectoryNameList;
+ __pContentDirectoryNameList = null;
+ }
+
+ SetUpPopup();
+ }
+
+ pFooter->AddActionEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+String
+FileListEditorForm::GetDirecotyNameFromFullPath(const String& fullPath)const
+{
+ AppLogDebug("ENTER");
+ if (fullPath == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+ String delim(DIRECTORY_SEPARATOR);
+ StringTokenizer st(fullPath,delim);
+ String token;
+ while (st.HasMoreTokens())
+ {
+ st.GetNextToken(token);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return token;
+}
+
+result
+FileListEditorForm::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemoveContentEventListener(this);
+
+ if (__pOptionMenu != null)
+ {
+ __pOptionMenu->RemoveActionEventListener(*this);
+ delete __pOptionMenu;
+ __pOptionMenu = null;
+ }
+
+ if (__pShareContextMenu != null)
+ {
+ __pShareContextMenu->RemoveActionEventListener(*this);
+ delete __pShareContextMenu;
+ __pShareContextMenu = null;
+ }
+
+ if (__pDeletePopup != null)
+ {
+ delete __pDeletePopup;
+ __pDeletePopup = null;
+ }
+ _overlayMsg = false;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+FileListEditorForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER(actionId=%d)", actionId);
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ switch (actionId)
+ {
+ case IDA_FILE_LIST_SELECT_ALL:
+ SelectAllPressed();
+ break;
+
+ case IDA_FOOTER_SHARE:
+ {
+ if (__pShareContextMenu != NULL)
+ {
+ delete __pShareContextMenu;
+ __pShareContextMenu = null;
+ }
+
+ Bitmap* pBitmapEmailContextItem = null;
+ Bitmap* pBitmapMessageContextItem = null;
+ pBitmapEmailContextItem = ResourceManager::GetBitmapN(IDB_IMAGE_CONTEXT_EMAIL_ICON);
+ pBitmapMessageContextItem = ResourceManager::GetBitmapN(IDB_IMAGE_CONTEXT_MESSAGE_ICON);
+
+ __pShareContextMenu = new (std::nothrow) ContextMenu();
+ __pShareContextMenu->Construct(Point(GetClientAreaBounds().width/3 + 15, GetClientAreaBounds().height),
+ CONTEXT_MENU_STYLE_LIST, CONTEXT_MENU_ANCHOR_DIRECTION_UPWARD);
+
+ if ( pBitmapMessageContextItem != null)
+ {
+ __pShareContextMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_MESSAGE"),
+ IDA_CONTEXT_MENU_SHARE_MESSAGE, *pBitmapMessageContextItem, null, null);
+ delete pBitmapMessageContextItem;
+ }
+
+ if ( pBitmapEmailContextItem != null)
+ {
+ __pShareContextMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_EMAIL"),
+ IDA_CONTEXT_MENU_SHARE_EMAIL, *pBitmapEmailContextItem, null, null);
+ delete pBitmapEmailContextItem;
+ }
+ __pShareContextMenu->SetFocusable(true);
+ __pShareContextMenu->AddActionEventListener(*this);
+
+
+ Rectangle rect = source.GetBounds();
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ __pShareContextMenu->SetAnchorPosition(Point(rect.width / 8 * 3, rect.y));
+ }
+ else
+ {
+ __pShareContextMenu->SetAnchorPosition(Point(rect.width / 8 * 3, rect.y - H_TOAST_LABEL));
+ }
+
+ __pShareContextMenu->SetShowState(true);
+ __pShareContextMenu->Show();
+
+ }
+ break;
+
+ case IDA_FOOTER_DELETE:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null && pEditorPanel->GetItemCheckedCount() > 0)
+ {
+ __pDeletePopup->SetShowState(true);
+ __pDeletePopup->Show();
+ _overlayMsg = true;
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ ImageListEditorPanel* pEditorPanel = dynamic_cast<ImageListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null && pEditorPanel->GetItemCheckedCount() > 0)
+ {
+ __pDeletePopup->SetShowState(true);
+ __pDeletePopup->Show();
+ _overlayMsg = true;
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ VideoListEditorPanel* pEditorPanel = dynamic_cast<VideoListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null && pEditorPanel->GetItemCheckedCount() > 0)
+ {
+ __pDeletePopup->SetShowState(true);
+ __pDeletePopup->Show();
+ _overlayMsg = true;
+ }
+ }
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null && pSelectionPanel->GetItemCheckedCount() > 0)
+ {
+ __pDeletePopup->SetShowState(true);
+ __pDeletePopup->Show();
+ _overlayMsg = true;
+ }
+ }
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_MORE_EDIT:
+ {
+ break;
+ }
+
+ case IDA_CONTEXT_MENU_MORE_ADD_TAG:
+ {
+ break;
+ }
+
+ case IDA_CONTEXT_MENU_MORE_COPY:
+
+ case IDA_CONTEXT_MENU_MORE_MOVE:
+ {
+ if (actionId == IDA_CONTEXT_MENU_MORE_MOVE)
+ {
+ __isCopyOperation = false;
+ }
+ else if (actionId == IDA_CONTEXT_MENU_MORE_COPY)
+ {
+ __isCopyOperation = true;
+ }
+
+ RefreshFolderList();
+
+ __pOptionMenu->SetShowState(true);
+ __pOptionMenu->Show();
+
+
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_MORE_SLIDE_SHOW:
+ {
+ if (__pPopUp != NULL)
+ {
+ delete __pPopUp;
+ __pPopUp = NULL;
+ }
+ __pPopUp = new (std::nothrow) SlideShowPopUp();
+
+ if (__pPopUp != null)
+ {
+ __pPopUp->Initialize();
+ __pPopUp->SetEventListner(this);
+ __pPopUp->SetShowState(true);
+ __pPopUp->Show();
+ }
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_SHARE_MESSAGE:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnRequestMessage();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null)
+ {
+ pSelectionPanel->OnRequestMessage();
+ }
+ }
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_SHARE_EMAIL:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnRequestEmail();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null)
+ {
+ pSelectionPanel->OnRequestEmail();
+ }
+ }
+ }
+ break;
+
+ case IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pListEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pListEditorPanel)
+ {
+ IList* pList = pListEditorPanel->GetItemCheckedIndexListN();
+ pList->InsertAt(new (std::nothrow) Integer(ALBUM_CREATE), ALBUM_FIRST_ELEMENT);
+ if (__isCopyOperation)
+ {
+ pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_COPY), ALBUM_SECOND_ELEMENT);
+ }
+ else
+ {
+ pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_MOVE), ALBUM_SECOND_ELEMENT);
+ }
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_NAME_EDITOR), pList);
+ }
+
+ }
+ else
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pSelectionPanel != null)
+ {
+ IList* pList = pSelectionPanel->GetItemCheckedIndexListN();
+ pList->InsertAt(new (std::nothrow) Integer(ALBUM_CREATE), ALBUM_FIRST_ELEMENT);
+ if (__isCopyOperation)
+ {
+ pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_COPY), ALBUM_SECOND_ELEMENT);
+ }
+ else
+ {
+ pList->InsertAt(new (std::nothrow) Integer(FILE_ACTION_MOVE), ALBUM_SECOND_ELEMENT);
+ }
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_NAME_EDITOR), pList);
+ }
+ }
+ }
+ }
+ break;
+
+ case IDA_DELETE_POPUP_DEL:
+ {
+ _overlayMsg = false;
+ __pDeletePopup->SetShowState(false);
+ __pDeletePopup->Invalidate(true);
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ result r = pEditorPanel->OnRequestDelete();
+ if (IsFailed(r))
+ {
+ AppLogDebug("OnRequestDelete failed with %s", GetErrorMessage(r));
+ }
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pSelectionPanel != null)
+ {
+ result r = pSelectionPanel->OnRequestDelete();
+ if (IsFailed(r))
+ {
+ AppLogDebug("OnRequestDelete failed with %s", GetErrorMessage(r));
+ }
+ }
+ }
+ }
+ break;
+
+ case IDA_DELETE_POPUP_CANCEL:
+ {
+ _overlayMsg = false;
+ __pDeletePopup->SetShowState(false);
+ __pDeletePopup->Invalidate(true);
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_ROTATE_LEFT:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ RotateMode rotateMode = ROTATE_MODE_LEFT;
+ pEditorPanel->OnRequestRotate(rotateMode);
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pSelectionPanel != null)
+ {
+ RotateMode rotateMode = ROTATE_MODE_LEFT;
+ pSelectionPanel->OnRotateRequested(rotateMode);
+ }
+ }
+ }
+ break;
+
+ case IDA_CONTEXT_MENU_ROTATE_RIGHT:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ RotateMode rotateMode = ROTATE_MODE_RIGHT;
+ pEditorPanel->OnRequestRotate(rotateMode);
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pSelectionPanel != null)
+ {
+ RotateMode rotateMode = ROTATE_MODE_RIGHT;
+ pSelectionPanel->OnRotateRequested(rotateMode);
+ }
+ }
+ }
+ break;
+
+ case IDA_FOOTER_CONFIRM:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ ImageListEditorPanel* pEditorPanel = dynamic_cast<ImageListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnRequestAppExitWithMultipleSelectionAppControlResult();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ VideoListEditorPanel* pEditorPanel = dynamic_cast<VideoListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnRequestAppExitWithMultipleSelectionAppControlResult();
+ }
+ }
+ }
+ break;
+
+ default:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ if ((IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START <= actionId) &&
+ (actionId <= IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM + 1000))
+ {
+ if (__pContentDirectoryList == null)
+ {
+ return;
+ }
+ if (__pContentDirectoryList->GetCount() > actionId - IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START)
+ {
+ String* pDirectory = static_cast<String*>
+ (__pContentDirectoryList->GetAt(actionId - IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START));
+
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pEditorPanel != null)
+ {
+ delete __pFileMove;
+ IList* pItemIndexList = pEditorPanel->GetItemCheckedIndexListN();
+ __pFileMove = new (std::nothrow) FileMoveTimer(*pDirectory, pItemIndexList, __pPresentationModel, this);
+ if (__isCopyOperation)
+ {
+ __pFileMove->SetCopy();
+ }
+
+ result r = __pFileMove->StartTimer();
+ if (IsFailed(r))
+ {
+ delete __pFileMove;
+ __pFileMove = null;
+ __isCopyOperation = false;
+ }
+ else
+ {
+ _overlayMsg = true;
+ }
+ }
+ }
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ if ((IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START <= actionId) &&
+ (actionId <= IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM + 1000))
+ {
+ if (__pContentDirectoryList == null)
+ {
+
+ return;
+ }
+ if (__pContentDirectoryList->GetCount() > actionId - IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START)
+ {
+ String* pDirectory = static_cast<String*>
+ (__pContentDirectoryList->GetAt(actionId - IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START));
+
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pSelectionPanel != null)
+ {
+ delete __pFileMove;
+ IList* pItemIndexList = pSelectionPanel->GetItemCheckedIndexListN();
+ __pFileMove = new (std::nothrow) FileMoveTimer(*pDirectory, pItemIndexList, __pPresentationModel, this);
+ if (__isCopyOperation)
+ {
+ __pFileMove->SetCopy();
+ }
+ result r = __pFileMove->StartTimer();
+ if (IsFailed(r))
+ {
+ delete __pFileMove;
+ __pFileMove = null;
+ __isCopyOperation = false;
+ }
+ else
+ {
+ _overlayMsg = true;
+ }
+ }
+ }
+ }
+ }
+ break;
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ Invalidate(true);
+}
+
+
+void
+FileListEditorForm::OnScanDirStart()
+{
+ AppLogDebug("ENTER");
+ GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, false);
+ __isScanProgress = true;
+ Invalidate(true);
+ AppLogDebug("EXIT");
+}
+void
+FileListEditorForm::OnScanDirComplete()
+{
+ AppLogDebug("ENTER");
+ GetHeader()->SetButtonEnabled(BUTTON_POSITION_RIGHT, true);
+ __isScanProgress = false;
+ Invalidate(true);
+ AppLogDebug("EXIT");
+}
+
+
+bool
+FileListEditorForm::GetOverlayStatus(void) const
+{
+ return _overlayMsg;
+}
+
+void
+FileListEditorForm::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
+{
+ AppLogDebug("ENTER");
+ _overlayMsg = false;
+ __pPresentationModel->SetUpdateProgressStatus(false);
+ if (res != COMPLETE_SUCCESS)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_COM_BODY_OPERATION_FAILED"), MSGBOX_STYLE_OK, 3000);
+ int modalResult = 0;
+ _overlayMsg = true;
+ messageBox.ShowAndWait(modalResult);
+ _overlayMsg = false;
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST));
+ }
+ AppLogDebug("EXIT");
+}
+
+void
+FileListEditorForm::OnContentUpdated()
+{
+ AppLogDebug("ENTER");
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
+ if(__pDeletePopup != null)
+ {
+ if(__pDeletePopup->IsVisible() == true)
+ {
+ __pDeletePopup->Destroy();
+ __pDeletePopup = null;
+ _overlayMsg = false;
+ SetUpPopup();
+ }
+ }
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->CancelUpdateProgress();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null)
+ {
+ pSelectionPanel->CancelUpdateProgress();
+ }
+ }
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK
+ && pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
+
+ }
+ else if (_overlayMsg == false)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_NO_HISTORY, SCENE_DESTROY_OPTION_DESTROY));
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+FileListEditorForm::SetUpPopup(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+
+ if (__pDeletePopup != null)
+ {
+ delete __pDeletePopup;
+ __pDeletePopup = null;
+ }
+
+ __pDeletePopup = new (std::nothrow) Popup();
+ __pDeletePopup->Construct(false, Dimension(W_DELETE_POPUP, H_DELETE_POPUP));
+ __pDeletePopup->SetPropagatedKeyEventListener(this);
+
+ Rectangle popupClientBounds = __pDeletePopup->GetClientAreaBounds();
+
+ Label* pLabelText = new (std::nothrow) Label();
+ pLabelText->Construct(Rectangle(0, Y_DELETE_LABEL, popupClientBounds.width, H_DELETE_LABEL),
+ ResourceManager::GetString(L"IDS_COM_POP_DELETE_Q"));
+ pLabelText->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ pLabelText->SetTextConfig(34,LABEL_TEXT_STYLE_BOLD);
+ __pDeletePopup->AddControl(pLabelText);
+
+ Button* pDeleteButton = new (std::nothrow) Button();
+ pDeleteButton->Construct(Rectangle(popupClientBounds.width / 2 + GAP_W_POPUP_ITEM, Y_DELETE_BUTTON, W_DELETE_BUTTON, H_DELETE_BUTTON),
+ ResourceManager::GetString(L"IDS_COM_BODY_DELETE"));
+ pDeleteButton->SetColor(BUTTON_STATUS_NORMAL, COLOR_DELETE_BUTTON_NORMAL);
+ pDeleteButton->SetColor(BUTTON_STATUS_PRESSED, COLOR_DELETE_BUTTON_PRESSED);
+ pDeleteButton->SetTextColor(COLOR_DELETE_BUTTON_TEXT);
+ pDeleteButton->SetActionId(IDA_DELETE_POPUP_DEL);
+ pDeleteButton->AddActionEventListener(*this);
+ __pDeletePopup->AddControl(pDeleteButton);
+
+ Button* pButtonCancel = new (std::nothrow) Button();
+ pButtonCancel->Construct(Rectangle(16, Y_DELETE_BUTTON, W_DELETE_BUTTON, H_DELETE_BUTTON),
+ ResourceManager::GetString(L"IDS_COM_POP_CANCEL"));
+ pButtonCancel->SetActionId(IDA_DELETE_POPUP_CANCEL);
+ pButtonCancel->AddActionEventListener(*this);
+ __pDeletePopup->AddControl(pButtonCancel);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+FileListEditorForm::SetTitleText(const String& titleText)
+{
+ AppLogDebug("ENTER");
+ Header* pHeader = GetHeader();
+ TryReturnVoid(pHeader != null, "[%s] fail to get the header.", GetErrorMessage(GetLastResult()));
+ pHeader->SetTitleText(titleText);
+ pHeader->Invalidate(true);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::RefreshFolderList(void)
+{
+ AppLogDebug("ENTER");
+ ContentDirectory contentDirectory;
+ IListT<ContentType>* pContentTypeList = new (std::nothrow) ArrayListT<ContentType>();
+ pContentTypeList->Add(CONTENT_TYPE_IMAGE);
+ pContentTypeList->Add(CONTENT_TYPE_VIDEO);
+ result r = contentDirectory.Construct(*pContentTypeList);
+ if (r != E_SUCCESS)
+ {
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+ delete pContentTypeList;
+
+ if (__pContentDirectoryList != null)
+ {
+ __pContentDirectoryList->RemoveAll(true);
+ delete __pContentDirectoryList;
+ __pContentDirectoryList = null;
+ }
+ __pContentDirectoryList = contentDirectory.GetContentDirectoryPathListN(SORT_ORDER_NONE);
+
+ if (__pContentDirectoryNameList != NULL)
+ {
+ __pContentDirectoryNameList->RemoveAll(true);
+ delete __pContentDirectoryNameList;
+ __pContentDirectoryNameList = null;
+ }
+
+ __pContentDirectoryNameList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ String* pDirPath = null;
+ String* pDirName = null;
+ String mediaPath = RESERVED_MEDIA_PATH;
+ int length = mediaPath.GetLength();
+ mediaPath.Remove(length-1,1);
+
+ int loopCount = __pContentDirectoryList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pDirPath = static_cast<String*>(__pContentDirectoryList->GetAt(i));
+ pDirName = new (std::nothrow) String(GetDirecotyNameFromFullPath(*pDirPath));
+
+ if (*pDirPath == mediaPath)
+ {
+ *pDirName = ResourceManager::GetString(L"IDS_MEDIABR_POP_NO_NAME");
+ __pContentDirectoryNameList->Add(pDirName);
+ }
+ else
+ {
+ __pContentDirectoryNameList->Add(pDirName);
+ }
+ }
+
+ __pOptionMenu->RemoveAllItems();
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_CREATE_ALBUM"),
+ IDA_CONTEXTMENU_EDITOR_MOVE_CREATE_ALBUM);
+
+ loopCount = __pContentDirectoryNameList->GetCount();
+
+ String dirAllAlbums = L"All albums";
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pDirName = static_cast<String*>(__pContentDirectoryNameList->GetAt(i));
+
+ if (*pDirName != __pPresentationModel->GetCurrentAlbumName() || *pDirName == dirAllAlbums)
+ {
+ __pOptionMenu->AddItem(*(new (std::nothrow) String(*pDirName)),
+ IDA_CONTEXTMENU_EDITOR_MOVE_ALBUM_ARRAY_START + i);
+ }
+ }
+
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("ENTER");
+
+ if(__isScanProgress)
+ {
+ AppLog (" Skip the call");
+ return;
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALBUM_LIST));
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALBUM_LIST));
+ }
+ }
+ else
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALL_LIST));
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_IMAGE_LIST));
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_VIDEO_LIST));
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ if (__pShareContextMenu != null && __pShareContextMenu->GetShowState() == true)
+ {
+ __pShareContextMenu->SetShowState(false);
+ }
+ else
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null)
+ {
+ IList* pList = pSelectionPanel->GetItemCheckedIndexListN();
+ if (pList == null)
+ {
+ pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ }
+
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST_EDITOR, SCENE_TRANSITION_ANIMATION_TYPE_NONE,
+ SCENE_HISTORY_OPTION_ADD_HISTORY, SCENE_DESTROY_OPTION_DESTROY), pList);
+ }
+ }
+ }
+ else
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALL_LIST));
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::SetFooterButtonsState(const bool enableState)
+{
+ AppLogDebug("ENTER");
+ Footer* pFooter = GetFooter();
+ TryReturnVoid(pFooter != null, "[%s] fail to get the footer.", GetErrorMessage(GetLastResult()));
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (enableState == true)
+ {
+ pFooter->SetButtonEnabled(BUTTON_POSITION_LEFT, true);
+ pFooter->SetItemEnabled(0, true);
+ }
+ else
+ {
+ pFooter->SetButtonEnabled(BUTTON_POSITION_LEFT, false);
+ pFooter->SetItemEnabled(0, false);
+ }
+ }
+ else
+ {
+ if (enableState == true)
+ {
+ pFooter->SetItemEnabled(0, true);
+ pFooter->SetItemEnabled(1, true);
+ }
+ else
+ {
+ pFooter->SetItemEnabled(0, false);
+ pFooter->SetItemEnabled(1, false);
+ }
+ }
+ pFooter->RequestRedraw(true);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GetCurrentScene();
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->ChangeOrientation();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ ImageListEditorPanel* pEditorPanel = dynamic_cast<ImageListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->ChangeOrientation();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ VideoListEditorPanel* pEditorPanel = dynamic_cast<VideoListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->ChangeOrientation();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pEditorPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->ChangeOrientation();
+ }
+ }
+
+ if (_pProgressAnim != null)
+ {
+ _pProgressAnim->ChangeOrientation(Form::GetBounds());
+ _pProgressAnim->Invalidate(true);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+FileListEditorForm::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
+{
+ AppLogDebug("ENTER");
+
+ if(keyEventInfo.GetKeyCode() == KEY_BACK || keyEventInfo.GetKeyCode() == KEY_ESC)
+ {
+ _overlayMsg = false;
+ __pDeletePopup->SetShowState(false);
+ __pDeletePopup->Invalidate(true);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return false;
+}
+
+result
+FileListEditorForm::MoveToAlbum(const String& destDirectory)
+{
+ AppLogDebug("ENTER");
+ result r = E_FAILURE;
+ String albumName = __pPresentationModel->ConvertToAlbumName(destDirectory);
+ if (albumName != EMPTY_SPACE)
+ {
+ IList* pDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pDirectoryList->Add(new (std::nothrow) String(destDirectory));
+ __pPresentationModel->SetCurrentAlbumInfo(albumName, *pDirectoryList);
+ __pPresentationModel->SetCurrentAlbumContentType(CONTENT_TYPE_ALL);
+ delete pDirectoryList;
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST));
+ r = E_SUCCESS;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+FileListEditorForm::SelectAllPressed(void)
+{
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GetCurrentScene();
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnSelectAllPressed();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ ImageListEditorPanel* pEditorPanel = dynamic_cast<ImageListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnSelectAllPressed();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ VideoListEditorPanel* pEditorPanel = dynamic_cast<VideoListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnSelectAllPressed();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pEditorPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnSelectAllPressed();
+ }
+ }
+}
+
+void
+FileListEditorForm::OnSlideSettingPopUpItemSelected(int index)
+{
+ if (__pPopUp != NULL)
+ {
+ __pPopUp->SetShowState(false);
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
+ if (index == 0)
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ pEditorPanel->OnRequestSlideShow();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>
+ (pSceneManager->GetCurrentScene()->GetPanel());
+
+ if (pSelectionPanel != null)
+ {
+ pSelectionPanel->OnRequestSlideShow();
+ }
+ }
+ }
+ else if (index == 1)
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager", GetErrorMessage(GetLastResult()));
+
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SETTING_MAIN));
+ }
+}
+
+void
+FileListEditorForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemoveContentEventListener(this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->AddContentEventListener(this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListEditorForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+ if(__isScanProgress)
+ {
+ return;
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ int checkedCount = 0;
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pEditorPanel = dynamic_cast<AllListEditorPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pEditorPanel != null)
+ {
+ checkedCount = pEditorPanel->GetItemCheckedCount();
+ }
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pSelectionPanel = dynamic_cast<AllListSelectionPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pSelectionPanel != null)
+ {
+ checkedCount = pSelectionPanel->GetItemCheckedCount();
+ }
+ }
+
+ if (__pShareContextMenu != null && __pShareContextMenu->GetShowState() == true)
+ {
+ __pShareContextMenu->SetShowState(false);
+ }
+
+ if (checkedCount < 2 && __pPresentationModel->GetCurrentAlbumName() == ALL_ALBUMS_REAL_NAME )
+ {
+ return; // no option Menu items in this case
+ }
+
+ if (checkedCount > 0)
+ {
+ if (__pOptionMenu == null)
+ {
+ return;
+ }
+
+ __pOptionMenu->RemoveAllItems();
+
+ if ( __pPresentationModel->GetCurrentAlbumName() != ALL_ALBUMS_REAL_NAME )
+ {
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_MOVE"),
+ IDA_CONTEXT_MENU_MORE_MOVE);
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_BODY_COPY"),
+ IDA_CONTEXT_MENU_MORE_COPY);
+ }
+
+ if (checkedCount > 1)
+ {
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_SLIDESHOW"),
+ IDA_CONTEXT_MENU_MORE_SLIDE_SHOW);
+ }
+
+ if ( __pPresentationModel->GetCurrentAlbumName() != ALL_ALBUMS_REAL_NAME )
+ {
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_LEFT"),IDA_CONTEXT_MENU_ROTATE_LEFT);
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_IV_OPT_ROTATE_RIGHT"),IDA_CONTEXT_MENU_ROTATE_RIGHT);
+ }
+
+ __pOptionMenu->SetShowState(true);
+ __pOptionMenu->Show();
+ }
+}
+
+void
+FileListEditorForm::SetProgressState(const bool progressState)
+{
+ __isScanProgress = progressState;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileListForm.cpp
+ * @brief This is the implementation file for FileListForm class.
+ */
+
+#include "GlAlbumInfo.h"
+#include "GlAllListPanel.h"
+#include "GlFileListForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlResourceManager.h"
+#include "GlSlideSettingListener.h"
+#include "GlSlideShowPopUp.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+using namespace Tizen::Content;
+
+FileListForm::FileListForm(void)
+ : __menuState(true)
+ , __pOptionMenu(null)
+ , __pPopUp(null)
+ , __pPresentationModel(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+FileListForm::~FileListForm(void)
+{
+ AppLogDebug("ENTER");
+
+ if (__pPopUp != NULL)
+ {
+ delete __pPopUp;
+ __pPopUp = NULL;
+ }
+
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+FileListForm::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Form::Construct(IDL_FORM_FILE_LIST);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+result
+FileListForm::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ Header* pHeader = GetHeader();
+ TryReturn(pHeader != null, E_FAILURE, "[%s] fail to get the Header.", GetErrorMessage(GetLastResult()));
+
+ SetFormMenuEventListener(this);
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+
+ InitializeFooter();
+ SetFormBackEventListener(this);
+ SetOrientation(ORIENTATION_AUTOMATIC);
+ AddOrientationEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+FileListForm::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+
+ if (__pOptionMenu != null)
+ {
+ delete __pOptionMenu;
+ __pOptionMenu = null;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+FileListForm::OnContentUpdated()
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ static_cast<AllListPanel*>(pSceneManager->GetCurrentScene()->GetPanel())->Refresh();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager", GetErrorMessage(GetLastResult()));
+
+ switch (actionId)
+ {
+ case IDA_FOOTER_EDIT:
+ {
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST_EDITOR));
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_IMAGE_LIST_EDITOR));
+ }
+ else if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_VIDEO_LIST_EDITOR));
+ }
+ else
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST_EDITOR));
+ }
+ }
+ break;
+
+ case IDA_FOOTER_SLIDESHOW:
+ {
+
+ if (__pPopUp != NULL)
+ {
+ delete __pPopUp;
+ __pPopUp = NULL;
+ }
+ __pPopUp = new (std::nothrow) SlideShowPopUp();
+
+ if (__pPopUp != null)
+ {
+ __pPopUp->Initialize();
+ __pPopUp->SetEventListner(this);
+ __pPopUp->SetShowState(true);
+ __pPopUp->Show();
+ }
+ }
+ break;
+
+ case IDA_FOOTER_CAMERA:
+ {
+ const String mimeType = APPCONTROL_MIME_IMAGE_JPG;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_CAMERA_ALLOW_SWITCH), new (std::nothrow) String(APPCONTROL_DATA_TRUE));
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_CAMERA, APPCONTROL_OPERATION_ID_CREATE_CONTENT,
+ null, &mimeType, pDataList, this);
+ }
+ break;
+
+ default:
+ break;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager", GetErrorMessage(GetLastResult()));
+
+ pSceneManager->GoBackward(BackwardSceneTransition(IDSCN_ALBUM_LIST));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListForm::OnOrientationChanged(const Tizen::Ui::Control &source, Tizen::Ui::OrientationStatus orientationStatus)
+{
+
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GetCurrentScene();
+
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_ALL_LIST)
+ {
+ AllListPanel* pListPanel = dynamic_cast<AllListPanel*>(pSceneManager->GetCurrentScene()->GetPanel());
+ if (pListPanel != null)
+ {
+ pListPanel->ChangeOrientation();
+ }
+ }
+}
+
+result
+FileListForm::InitializeFooter(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ Footer* pFooter = GetFooter();
+ TryReturn(pFooter != null, E_FAILURE, "[%s] fail to get the Footer.", GetErrorMessage(GetLastResult()));
+
+ pFooter->RemoveAllItems();
+ pFooter->SetStyle(FOOTER_STYLE_BUTTON_ICON);
+
+ FooterItem itemCamera;
+ itemCamera.Construct(IDA_FOOTER_CAMERA);
+ Bitmap* pBitmapCamera = ResourceManager::GetBitmapN(IDB_CONTROLBAR_CAMERA);
+ if (pBitmapCamera != null)
+ {
+ itemCamera.SetIcon(FOOTER_ITEM_STATUS_NORMAL, pBitmapCamera);
+ }
+ pFooter->AddItem(itemCamera);
+
+ delete pBitmapCamera;
+
+ if (__pOptionMenu != null)
+ {
+ delete __pOptionMenu;
+ __pOptionMenu = null;
+ }
+
+ __pOptionMenu = new (std::nothrow) OptionMenu();
+ __pOptionMenu->Construct();
+
+ if (__pPresentationModel->GetCurrentAlbumContentInfoCount() > 1)
+ {
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_MEDIABR_OPT_SLIDESHOW"), IDA_FOOTER_SLIDESHOW);
+ }
+
+ if (__pPresentationModel->GetCurrentAlbumContentInfoCount() == 0)
+ {
+ __pOptionMenu->SetEnabled(false);
+ }
+ else
+ {
+ __pOptionMenu->AddItem(ResourceManager::GetString(L"IDS_COM_HEADER_EDIT"), IDA_FOOTER_EDIT);
+ __pOptionMenu->AddActionEventListener(*this);
+ }
+
+ pFooter->AddActionEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+FileListForm::SetTitleText(const String& titleText)
+{
+ AppLogDebug("ENTER");
+ Header* pHeader = GetHeader();
+ TryReturnVoid(pHeader != null, "[%s] fail to get the Header.", GetErrorMessage(GetLastResult()));
+
+ if (titleText == ALL_ALBUMS_REAL_NAME)
+ {
+ String text = ResourceManager::GetString(L"IDS_MEDIABR_BODY_ALL_ALBUMS");
+ pHeader->SetTitleText(text);
+ }
+ else
+ {
+ pHeader->SetTitleText(titleText);
+ }
+
+ pHeader->Show();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListForm::OnSlideSettingPopUpItemSelected(int index)
+{
+ if (__pPopUp != NULL)
+ {
+ __pPopUp->SetShowState(false);
+ }
+
+ if (index == 0)
+ {
+ result r = E_SUCCESS;
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(i)));
+ }
+
+ const String mimeType = APPCONTROL_MIME_IMAGE_ALL;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_SLIDE_SHOW));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+
+ r = __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
+ &mimeType, pDataList, null);
+
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+ }
+ else if (index == 1)
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager", GetErrorMessage(GetLastResult()));
+
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SETTING_MAIN));
+ }
+}
+
+void
+FileListForm::SetMenuState(bool state)
+{
+ __menuState = state;
+}
+
+void
+FileListForm::OnFormMenuRequested (Tizen::Ui::Controls::Form &source)
+{
+
+ if (__menuState == true)
+ {
+ InitializeFooter();
+
+ if (__pOptionMenu == null)
+ {
+ return;
+ }
+
+ __pOptionMenu->SetShowState(true);
+ __pOptionMenu->Show();
+ }
+}
+
+void
+FileListForm::OnAppControlCompleteResponseReceived(const AppId& appId, const Tizen::Base::String& operationId,
+ AppCtrlResult appControlResult, const Tizen::Base::Collection::IMap* pExtraData)
+{
+ AppLogDebug("OnAppControlCompleteResponseReceived : %d", appControlResult);
+
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ TryReturnVoid(pGalleryApp != null, "pGalleryApp is null");
+ pGalleryApp->SetFrameEnabled(true);
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileListPresentationModel.cpp
+ * @brief This is the implementation file for FileListPresentationModel class.
+ */
+
+#include <cstdlib>
+#include <FMedia.h>
+#include <FSystem.h>
+#include "GlCommonUtil.h"
+#include "GlFileListPresentationModel.h"
+#include "GlContentUpdateEventListener.h"
+#include "GlGalleryApp.h"
+#include "GlThumbnailEvent.h"
+#include "GlThumbnailEventArg.h"
+#include "GlThumbnailProvider.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+
+static const String CONTENT_INFO_ORDER = L"ContentFileName";
+
+static const int SIZE_PAGE_NO = 1;
+static const int SIZE_CONUNT_PER_PAGE = 3000;
+static const int SIZE_ICON_LIST_CACHE = 50;
+static const int W_DURATION_TEXT = 44;
+static const int H_DURATION_TEXT = 4;
+static const int W_DURATION = 171;
+static const int H_DURATION = 32;
+static const int W_DEFAULT_THUMBNAIL = 171;
+static const int H_DEFAULT_THUMBNAIL = 127;
+static const int W_WIDE_THUMBNAIL = 171;
+static const int H_WIDE_THUMBNAIL = 127;
+static const int W_PLAY_FG = 64;
+static const int H_PLAY_FG = 64;
+static const int GAP_W_PLAY_FG = (W_DEFAULT_THUMBNAIL -W_PLAY_FG)/2;
+static const int GAP_H_PLAY_FG = (H_DEFAULT_THUMBNAIL - H_PLAY_FG)/2;
+static const int GAP_H_DURATION = H_DEFAULT_THUMBNAIL - H_DURATION;
+static const int ALPHA_DURATION = 70;
+static const int FONT_SIZE_DURATION = 24;
+static const Dimension DIMENSION_REAL_ICON (171,127);
+static const Rectangle RECTANGLE_THUMBNAIL_OFFSET_POSION (1, 1, 171, 127);
+static const Rectangle RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION (1, 1, 171, 127);
+static const Color COLOR_DURATION_BG (Color::GetColor(COLOR_ID_BLACK));
+static const Color COLOR_TEXT_OUTLINE (Color::GetColor(COLOR_ID_WHITE));
+
+static const String RESERVED_MEDIA_PATH = Environment::GetMediaPath();
+static const String RESERVED_CAMERA_PATH = Environment::GetMediaPath() + L"Camera";
+static const String RESERVED_CAMERA_PATH_EXT = Environment::GetExternalStoragePath() + L"Camera";
+static const String RESERVED_DOWNLOAD_PATH = Environment::GetMediaPath() + L"Downloads";
+
+FileListPresentationModel* FileListPresentationModel::__pPresentationModelInstance = null;
+ThumbnailProvider* FileListPresentationModel::__pThumbnailProvider = null;
+ThumbnailEvent* FileListPresentationModel::__pThumbnailEvent = null;
+ArrayList* FileListPresentationModel::__pPresentationModelListener = null;
+ArrayList* FileListPresentationModel::__pContentEventListener = null;
+ArrayList* FileListPresentationModel::__pIconListViewCache = null;
+IList* FileListPresentationModel::__pDirectoryList = null;
+IList* FileListPresentationModel::__pContentInfoList = null;
+
+FileListPresentationModel::FileListPresentationModel(void)
+ : __pContentManager(null)
+ , __albumContentType(CONTENT_TYPE_ALL)
+ , __appControlMode(APPCONTROL_MODE_MAIN)
+ , __appControlMediaType(APPCONTROL_MEDIA_TYPE_IMAGE)
+ , __appControlSelectionMode(APPCONTROL_SELECTION_MODE_SINGLE)
+ , __pContentIdList(null)
+ , __updateProgressStatus(false)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+FileListPresentationModel::~FileListPresentationModel(void)
+{
+ AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ if (__pContentIdList)
+ {
+ __pContentIdList->RemoveAll(true);
+ delete __pContentIdList;
+ __pContentIdList = null;
+ }
+ delete __pContentManager;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+FileListPresentationModel*
+FileListPresentationModel::GetInstance(void)
+{
+ AppLogDebug("ENTER");
+ if (__pPresentationModelInstance == null)
+ {
+ CreateInstance();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pPresentationModelInstance;
+}
+
+result
+FileListPresentationModel::Construct(void)
+{
+ AppLogDebug("ENTER");
+
+ IThumbnailEventListener* pThumbnailEventListener = static_cast<IThumbnailEventListener*>(this);
+ __pThumbnailEvent = new (std::nothrow) ThumbnailEvent();
+ __pThumbnailEvent->AddListener(*pThumbnailEventListener, true);
+
+ DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+
+ ContentUpdateEventListener::GetInstance();
+ __pContentManager = new (std::nothrow) ContentManager();
+ __pContentManager->Construct();
+
+ if (__pIconListViewCache != null)
+ {
+ __pIconListViewCache->RemoveAll(true);
+ delete __pIconListViewCache;
+ __pIconListViewCache = null;
+ }
+ __pIconListViewCache = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ __pIconListViewCache->Construct(SIZE_ICON_LIST_CACHE);
+
+ if (__pDirectoryList != null)
+ {
+ delete __pDirectoryList;
+ }
+ __pDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ if (__pContentInfoList != null)
+ {
+ delete __pContentInfoList;
+ }
+ __pContentInfoList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ __pPresentationModelListener = new (std::nothrow) ArrayList();
+ __pPresentationModelListener->Construct();
+
+ __pContentEventListener = new (std::nothrow) ArrayList();
+ __pContentEventListener->Construct();
+
+ __pThumbnailProvider = ThumbnailProvider::GetInstance();
+
+ GalleryApp* pApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ const IMap* pArguments = pApp->GetAppControlArguments();
+ String operationId = pApp->GetAppControlOperationId();
+
+ if (operationId.CompareTo(APPCONTROL_OPERATION_ID_MAIN) == 0)
+ {
+ __appControlMode = APPCONTROL_MODE_MAIN;
+ }
+ else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_PICK) == 0)
+ {
+ __appControlMode = APPCONTROL_MODE_PICK;
+
+ String mimeType = pApp->GetMimeType();
+ if (mimeType.IsEmpty() != true)
+ {
+ if (mimeType.StartsWith(APPCONTROL_DATA_VIDEO, 0) == true)
+ {
+ __appControlMediaType = APPCONTROL_MEDIA_TYPE_VIDEO;
+ }
+ }
+ if (pArguments != null)
+ {
+ const String* selectionMode = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_SELECTION_MODE)));
+
+ if (pApp->GetMimeType().StartsWith(APPCONTROL_DATA_VIDEO, 0) == true)
+ {
+ __appControlMediaType = APPCONTROL_MEDIA_TYPE_VIDEO;
+ }
+
+ if (selectionMode != null && selectionMode->CompareTo(APPCONTROL_DATA_MULTIPLE) == 0)
+ {
+ __appControlSelectionMode = APPCONTROL_SELECTION_MODE_MULTIPLE;
+ }
+ }
+ }
+ else if (operationId.CompareTo(APPCONTROL_OPERATION_ID_CONFIGURE) == 0)
+ {
+ __appControlMode = APPCONTROL_MODE_SETTING;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+FileListPresentationModel::CreateInstance(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModelInstance = new (std::nothrow) FileListPresentationModel();
+ result r = __pPresentationModelInstance->Construct();
+ if (IsFailed(r) == true)
+ {
+ delete __pPresentationModelInstance;
+ __pPresentationModelInstance = null;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ std::atexit(DestroyInstance);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListPresentationModel::DestroyInstance(void)
+{
+ AppLogDebug("ENTER");
+
+ delete __pThumbnailEvent;
+
+ if (__pIconListViewCache != null)
+ {
+ __pIconListViewCache->RemoveAll(true);
+ delete __pIconListViewCache;
+ __pIconListViewCache = null;
+ }
+
+ if (__pDirectoryList != null)
+ {
+ delete __pDirectoryList;
+ __pDirectoryList = null;
+ }
+
+ if (__pContentInfoList != null)
+ {
+ delete __pContentInfoList;
+ __pContentInfoList = null;
+ }
+
+ if (__pPresentationModelListener != null)
+ {
+ delete __pPresentationModelListener;
+ __pPresentationModelListener = null;
+ }
+
+ if (__pContentEventListener != null)
+ {
+ delete __pContentEventListener;
+ __pContentEventListener = null;
+ }
+
+ delete __pPresentationModelInstance;
+ __pPresentationModelInstance = null;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+String
+FileListPresentationModel::GetFileNameFromFullPath(const String& fullPath, const bool withExt) const
+{
+ AppLogDebug("ENTER");
+ if (fullPath.CompareTo(EMPTY_SPACE) == 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return EMPTY_SPACE;
+ }
+
+ String delim(DIRECTORY_SEPARATOR);
+ StringTokenizer st(fullPath,delim);
+ String token;
+ while (st.HasMoreTokens())
+ {
+ st.GetNextToken(token);
+ }
+
+ if (withExt == true)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return token;
+ }
+ else
+ {
+ String subDelim(FILE_EXT_SEPARATOR);
+ StringTokenizer subSt(token, subDelim);
+ String subToken;
+ subSt.GetNextToken(subToken);
+ AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+
+ return subToken;
+ }
+}
+
+String
+FileListPresentationModel::GetDirecotyNameFromFullPath(const String& fullPath)const
+{
+ AppLogDebug("ENTER");
+ if (fullPath == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+ String delim(DIRECTORY_SEPARATOR);
+ StringTokenizer st(fullPath,delim);
+ String token;
+ while (st.HasMoreTokens())
+ {
+ st.GetNextToken(token);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return token;
+}
+
+bool
+FileListPresentationModel::IsContainContentInDirectory(const String& directoryPath, ContentType contentType) const
+{
+ AppLogDebug("ENTER");
+ IListT<ContentType>* pContentTypeList = new (std::nothrow) ArrayListT<ContentType>();
+ if (&directoryPath == null || pContentTypeList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return false;
+ }
+
+ if (contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_ALL)
+ {
+ pContentTypeList->Add(CONTENT_TYPE_IMAGE);
+ }
+ if (contentType == CONTENT_TYPE_VIDEO || contentType == CONTENT_TYPE_ALL)
+ {
+ pContentTypeList->Add(CONTENT_TYPE_VIDEO);
+ }
+
+ ContentDirectory contentDirectory;
+ result r = contentDirectory.Construct(*pContentTypeList);
+ if (pContentTypeList != null)
+ {
+ delete pContentTypeList;
+ }
+ TryReturn(r == E_SUCCESS, false, "[%s] Unable to construct ContentDirectory", GetErrorMessage(r));
+
+ bool returnValue = false;
+ int pageNo = SIZE_PAGE_NO;
+ int countPerPage = SIZE_CONUNT_PER_PAGE;
+
+ IList* pContentList = contentDirectory.GetContentDirectoryItemListN(directoryPath, pageNo, countPerPage,
+ CONTENT_INFO_ORDER, SORT_ORDER_ASCENDING);
+
+ if (pContentList == null || pContentList->GetCount() <= 0)
+ {
+ returnValue = false;
+ }
+ else
+ {
+ returnValue = true;
+ }
+
+ if (pContentList != null)
+ {
+ delete pContentList;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return returnValue;
+}
+
+result
+FileListPresentationModel::GetThumbnailInSyncCacheN(const int index, String*& pName, Bitmap*& pThumbnail)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ Bitmap* pOriginalBitmap = null;
+ Bitmap* pDestinationBitmap = null;
+ ContentInfo* pContentInfo = null;
+
+ if (__pContentInfoList != null && index < __pContentInfoList->GetCount())
+ {
+ pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
+ if (pContentInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+ }
+ else
+ {
+ AppLogDebug("EXIT 2 __pContentInfoList(%x) index(%d)", __pContentInfoList, index);
+ return E_FAILURE;
+ }
+
+ ThumbnailInfo* pThumbnailInfo = GetThumbnailInfoFromInternalBufferN(pContentInfo->GetContentId());
+ if (pThumbnailInfo != null)
+ {
+ pName = new (std::nothrow) String(pThumbnailInfo->GetFilePath());
+ pOriginalBitmap = pThumbnailInfo->GetBitmapN();
+ }
+
+ if ((pThumbnailInfo != null)&&(pThumbnailInfo->GetContentType() == CONTENT_TYPE_VIDEO))
+ {
+ if (pOriginalBitmap != null)
+ {
+ pDestinationBitmap = CoverVideoOverlayedImageOnThumbnailN(*pOriginalBitmap, *pThumbnailInfo);
+ delete pOriginalBitmap;
+ }
+ }
+ else
+ {
+ pDestinationBitmap = pOriginalBitmap;
+ }
+
+ if (pDestinationBitmap != null)
+ {
+ Bitmap* pThumbnailBgBitmap = ResourceManager::GetBitmapN(IDB_VIDEOTHUMBNAIL_BG);
+ Rectangle thumbnailRect(RECTANGLE_THUMBNAIL_OFFSET_POSION);
+ pDestinationBitmap->Scale(Dimension(RECTANGLE_THUMBNAIL_OFFSET_POSION.width - RECTANGLE_THUMBNAIL_OFFSET_POSION.x
+ , RECTANGLE_THUMBNAIL_OFFSET_POSION.height - RECTANGLE_THUMBNAIL_OFFSET_POSION.y));
+ if (pThumbnailBgBitmap != null)
+ {
+ pThumbnailBgBitmap->Scale(DIMENSION_REAL_ICON);
+ pThumbnail = GetShadedBackgroundBitmapN(*pThumbnailBgBitmap, *pDestinationBitmap, thumbnailRect);
+ delete pThumbnailBgBitmap;
+ delete pDestinationBitmap;
+ }
+ else
+ {
+ pThumbnail = pDestinationBitmap;
+ }
+ }
+ else
+ {
+ pThumbnail = null;
+ }
+
+ if (pThumbnailInfo != null)
+ {
+ delete pThumbnailInfo;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+FileListPresentationModel::GetThumbnailVideoInSyncCacheN(const int index,
+ String*& pName, Bitmap*& pThumbnail, String*& pDuration) const
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ ContentInfo* pContentInfo = null;
+ Bitmap* pOriginalBitmap = null;
+
+ if (__pContentInfoList != null && index < __pContentInfoList->GetCount())
+ {
+ pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
+ if (pContentInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+ }
+ else
+ {
+ AppLogDebug("EXIT 2 __pContentInfoList(%x) index(%d)", __pContentInfoList, index);
+ return E_FAILURE;
+ }
+
+ ThumbnailInfo* pThumbnailInfo = GetThumbnailInfoFromInternalBufferN(pContentInfo->GetContentId());
+ if (pThumbnailInfo != null)
+ {
+ pName = new (std::nothrow) String(pThumbnailInfo->GetFilePath());
+ pOriginalBitmap = pThumbnailInfo->GetBitmapN();
+ pDuration = new (std::nothrow) String(CommonUtil::DurationToTimeString(pThumbnailInfo->GetDuration()));
+ }
+ else
+ {
+ pName = new (std::nothrow) String(EMPTY_SPACE);
+ pDuration = new (std::nothrow) String(CommonUtil::DurationToTimeString(0));
+ }
+
+ if (pOriginalBitmap != null)
+ {
+ Bitmap* pThumbnailBgBitmap = ResourceManager::GetBitmapN(IDB_VIDEOTHUMBNAIL_BG);
+ Rectangle thumbnailRect(RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION);
+ pOriginalBitmap->Scale(Dimension(RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.width - RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.x
+ , RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.height - RECTANGLE_VIDEO_THUMBNAIL_OFFSET_POSION.y));
+ if (pThumbnailBgBitmap != null)
+ {
+ pThumbnailBgBitmap->Scale(Dimension(W_WIDE_THUMBNAIL, H_WIDE_THUMBNAIL));
+ pThumbnail = GetShadedBackgroundBitmapN(*pThumbnailBgBitmap, *pOriginalBitmap, thumbnailRect);
+ delete pThumbnailBgBitmap;
+ }
+ delete pOriginalBitmap;
+ }
+ else
+ {
+ pThumbnail = null;
+ }
+
+ if (pThumbnail != null)
+ {
+ pThumbnail->Scale(Dimension(W_WIDE_THUMBNAIL, H_WIDE_THUMBNAIL));
+ }
+
+ if (pThumbnailInfo != null)
+ {
+ delete pThumbnailInfo;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+FileListPresentationModel::RequestThumbnail(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ ContentInfo* pContentInfo = null;
+
+ if (__pContentInfoList != null && index < __pContentInfoList->GetCount())
+ {
+ pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
+ if (pContentInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+ }
+ else
+ {
+ AppLogDebug("EXIT 2 __pContentInfoList(%x) index(%d)", __pContentInfoList, index);
+
+ return;
+ }
+
+ __pThumbnailProvider->RequestThumbnail(pContentInfo->GetContentId(), __pThumbnailEvent);
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::RequestThumbnail(const ContentId& contentId)
+{
+ __pThumbnailProvider->RequestThumbnail(contentId, __pThumbnailEvent);
+}
+
+void
+FileListPresentationModel::ClearThumbnailRequests(const bool appTerminating)
+{
+ AppLogDebug("ENTER");
+
+ if (__pThumbnailProvider != null)
+ {
+ __pThumbnailProvider->ClearThumbnailRequests(appTerminating);
+ }
+
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnThumbnailReceivedN(IEventArg& eventArg)
+{
+ AppLogDebug("ENTER");
+
+ if (&eventArg != null)
+ {
+ ThumbnailEventArg* pThumbnailEventArg = static_cast<ThumbnailEventArg*>(&eventArg);
+ if (pThumbnailEventArg == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+ ThumbnailInfo* pThumbnailInfo = pThumbnailEventArg->GetThumbnailInfoN();
+ if (pThumbnailInfo == null)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ bool isMatch = false;
+ ContentId contentId = pThumbnailInfo->GetContentId();
+
+ if (__pIconListViewCache != null)
+ {
+ IEnumerator* pEnum = __pIconListViewCache->GetEnumeratorN();
+ Bitmap* pBitmap = null;
+ while (pEnum->MoveNext() == E_SUCCESS)
+ {
+ ThumbnailInfo* pTempThumbnailInfo = static_cast<ThumbnailInfo*>(pEnum->GetCurrent());
+
+ if (contentId == pTempThumbnailInfo->GetContentId())
+ {
+ AppLogDebug("[CHASEFIRE] PM receive (%ls)", pThumbnailInfo->GetFilePath().GetPointer());
+ pBitmap = pThumbnailInfo->GetBitmapN();
+ pTempThumbnailInfo->SetBitmap(*pBitmap);
+ delete pBitmap;
+
+ pTempThumbnailInfo->SetContentType(pThumbnailInfo->GetContentType());
+ pTempThumbnailInfo->SetDuration(pThumbnailInfo->GetDuration());
+ delete pThumbnailInfo;
+ isMatch = true;
+ break;
+ }
+ }
+
+ delete pEnum;
+
+ if (isMatch == false)
+ {
+ if (SIZE_ICON_LIST_CACHE <= __pIconListViewCache->GetCount())
+ {
+ __pIconListViewCache->RemoveAt(0, true);
+ }
+ AppLogDebug("[CHASEFIRE] (all:%d) Add Thumbail(%ls)", __pIconListViewCache->GetCount(),
+ pThumbnailInfo->GetFilePath().GetPointer());
+ __pIconListViewCache->Add(pThumbnailInfo);
+ }
+ }
+
+ int index = -1;
+ int loopCount = __pContentInfoList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (contentId == (static_cast<ContentInfo*>(__pContentInfoList->GetAt(i)))->GetContentId())
+ {
+ index = i;
+ break;
+ }
+ }
+
+ IAlbumEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pPresentationModelListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IAlbumEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnThumbnailDecoded(index);
+ }
+ delete pEventEnum;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListPresentationModel::OnContentCreated(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ if (__pContentEventListener == null)
+ {
+ AppLogDebug("EXIT");
+ return;
+ }
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ if (pInterface != null)
+ {
+ pInterface->OnContentUpdated();
+ }
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnContentUpdated(const ContentId& contentId)
+{
+ AppLogDebug("ENTER");
+ RequestThumbnail(contentId);
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ //Clear the ImageCaches when content is updated like rotate.
+ if (__pContentEventListener->GetCount())
+ {
+ ClearImageCache();
+ }
+
+ IFormContentUpdateEventListener* pInterface = null;
+ if (__pContentEventListener == null)
+ {
+ AppLogDebug("EXIT");
+ return;
+ }
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnContentDeleted(void)
+{
+ AppLogDebug("ENTER");
+ if (__updateProgressStatus == true)
+ {
+ AppLogDebug("EXIT update in application");
+ return;
+ }
+ IFormContentUpdateEventListener* pInterface = null;
+ if (__pContentEventListener == null)
+ {
+ AppLogDebug("EXIT");
+ return;
+ }
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ ClearThumbnailRequests();
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::AddPresentationModelListener(const IAlbumEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModelListener->Add((Object*)listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListPresentationModel::RemovePresentationModelListener(const IAlbumEventListener& listener)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModelListener->Remove(listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+FileListPresentationModel::AddContentEventListener(const IFormContentUpdateEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ if (__pContentEventListener != null)
+ {
+ __pContentEventListener->RemoveAll();
+ __pContentEventListener->Add((Object*)listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ }
+}
+
+void
+FileListPresentationModel::RemoveContentEventListener(const IFormContentUpdateEventListener* listener)
+{
+ AppLogDebug("ENTER");
+ __pContentEventListener->Remove(*listener);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ThumbnailInfo*
+FileListPresentationModel::GetThumbnailInfoFromInternalBufferN(const ContentId& contentId) const
+{
+ AppLogDebug("ENTER");
+ ThumbnailInfo* pThumbnailInfo = null;
+ ThumbnailInfo* pTempThumbnailInfo = null;
+ if (__pIconListViewCache != null)
+ {
+ int loopCount = __pIconListViewCache->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pTempThumbnailInfo = static_cast<ThumbnailInfo*>(__pIconListViewCache->GetAt(i));
+ if (contentId == pTempThumbnailInfo->GetContentId())
+ {
+
+ pThumbnailInfo = new (std::nothrow) ThumbnailInfo();
+ Bitmap* pBitmap = pTempThumbnailInfo->GetBitmapN();
+ pThumbnailInfo->Construct(pTempThumbnailInfo->GetContentId(), pTempThumbnailInfo->GetFilePath(),
+ *pBitmap, pTempThumbnailInfo->GetContentType(), pTempThumbnailInfo->GetDuration());
+ delete pBitmap;
+ break;
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pThumbnailInfo;
+}
+
+void
+FileListPresentationModel::ShowAnimation(void)
+{
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->ShowAnimation();
+ }
+ delete pEventEnum;
+}
+
+void
+FileListPresentationModel::StopAnimation(void)
+{
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->StopAnimation();
+ }
+ delete pEventEnum;
+}
+result
+FileListPresentationModel::DeleteContentFileList(const IList& contentIndexList)
+{
+ AppLogDebug("ENTER");
+ if (&contentIndexList == null || contentIndexList.GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+ }
+
+ IList * pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ int loopCount = contentIndexList.GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ const Integer* pIndex = static_cast<const Integer*>(contentIndexList.GetAt(i));
+
+ if ((pIndex != null) && (pIndex->ToInt())>=0 && __pContentInfoList->GetCount() > pIndex->ToInt())
+ {
+ pContentIdList->Add(new (std::nothrow) ContentId((static_cast<ContentInfo*>
+ (__pContentInfoList->GetAt(pIndex->ToInt())))->GetContentId()));
+ }
+ }
+
+ loopCount = pContentIdList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ ContentId* pContentId = static_cast<ContentId*>(pContentIdList->GetAt(i));
+ if (pContentId != null)
+ {
+ ContentInfo* cntInfo = __pContentManager->GetContentInfoN(*pContentId);
+ if (cntInfo)
+ {
+ String filePath = cntInfo->GetContentPath();
+ delete cntInfo;
+ DeleteContentFile(filePath);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+IList*
+FileListPresentationModel::GetCollisionIndexListN(const IList& contentIndexList, const String& destDirectory)
+{
+ AppLogDebug("ENTER");
+ if (&contentIndexList == null || contentIndexList.GetCount() <= 0 || &destDirectory == null
+ || destDirectory.IsEmpty() == true)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ if (File::IsFileExist(destDirectory) == false)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ IList * pCollisionInfoList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ ContentInfo* pContentInfo = null;
+ int loopCount = contentIndexList.GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ const Integer* pIndex = static_cast<const Integer*>(contentIndexList.GetAt(i));
+
+ if ((pIndex != null) && (pIndex->ToInt()) >= 0 && __pContentInfoList->GetCount() > pIndex->ToInt())
+ {
+ pContentInfo = const_cast<ContentInfo*>(static_cast<const ContentInfo*>(__pContentInfoList->GetAt(pIndex->ToInt())));
+ String filePath = pContentInfo->GetContentPath();
+ String fileName = GetFileNameFromFullPath(filePath, true);
+
+ String destPath;
+ if (destDirectory.EndsWith(DIRECTORY_SEPARATOR) == true)
+ {
+ destPath.Append(destDirectory);
+ destPath.Append(fileName);
+ }
+ else
+ {
+ destPath.Append(destDirectory);
+ destPath.Append(DIRECTORY_SEPARATOR);
+ destPath.Append(fileName);
+ }
+
+ if (File::IsFileExist(destPath) == true)
+ {
+ pCollisionInfoList->Add(*(new (std::nothrow) String(pIndex->ToString() + MULTI_ITEM_SEPARATOR + fileName)));
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pCollisionInfoList;
+}
+
+result
+FileListPresentationModel::MoveToContentFileList(const IList& contentIndexList, const String& destDirectory)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ if (&contentIndexList == null || contentIndexList.GetCount() <= 0 || &destDirectory == null || destDirectory.IsEmpty() == true)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+ }
+
+ if (File::IsFileExist(destDirectory) == false)
+ {
+ Directory::Create(destDirectory, true);
+ }
+
+ delete __pContentIdList;
+ __pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ int loopCount = contentIndexList.GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ const Integer* pIndex = static_cast<const Integer*>(contentIndexList.GetAt(i));
+
+ if ((pIndex != null) && (pIndex->ToInt())>=0 && __pContentInfoList->GetCount() > pIndex->ToInt())
+ {
+ __pContentIdList->Add(new (std::nothrow) ContentId((static_cast<ContentInfo*>(__pContentInfoList->GetAt(pIndex->ToInt())))->GetContentId()));
+ }
+ }
+
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+FileListPresentationModel::DeleteContentFile(const String& filePath)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ r = File::Remove(filePath);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+FileListPresentationModel::MoveToContentFile(const String& filePath, const String& destDirectory, const bool isCopyOperation)
+{
+ AppLogDebug("ENTER");
+ if (destDirectory.IsEmpty() == true)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+ result r = E_SUCCESS;
+
+ if (filePath.GetLength() < 4)
+ {
+ AppLogDebug("EXIT 3(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+
+ String destPath;
+ if (destDirectory.EndsWith(DIRECTORY_SEPARATOR) == true)
+ {
+ destPath.Append(destDirectory);
+ destPath.Append(GetFileNameFromFullPath(filePath, true));
+ }
+ else
+ {
+ destPath.Append(destDirectory);
+ destPath.Append(DIRECTORY_SEPARATOR);
+ destPath.Append(GetFileNameFromFullPath(filePath, true));
+ }
+
+ if (destPath.CompareTo(filePath) == 0)
+ {
+ AppLogDebug("EXIT 4(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+
+ while (File::IsFileExist(destPath) == true)
+ {
+ int index = 0;
+ r = destPath.IndexOf(FILE_EXT_SEPARATOR, 0, index);
+ if (!IsFailed(r))
+ {
+ if (index < 0)
+ {
+ return E_FAILURE;
+ }
+ else
+ {
+ destPath.Insert(Math::Rand()%10, index);
+ }
+ }
+ else
+ {
+ return E_FAILURE;
+ }
+ }
+
+ r = File::Copy(filePath, destPath, false);
+
+ if (r == E_STORAGE_FULL)
+ {
+ File::Remove(destPath);
+ }
+
+ if (r == E_SUCCESS)
+ {
+ if (isCopyOperation == false)
+ {
+ File::Remove(filePath); // if Move Op remove original file
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+FileListPresentationModel::ClearProviderId(void)
+{
+ __providerId.Clear();
+}
+
+result
+FileListPresentationModel::StartAppControl(const String& providerId, const String& operationId,
+ const String* pUriData, const Tizen::Base::String* pMimeType, const HashMap* pDataList,
+ IAppControlResponseListener* pListener)
+{
+ AppLogDebug("ENTER");
+ AppControl* pAc = AppManager::FindAppControlN(providerId, operationId);
+
+ ClearProviderId();
+ __providerId.Append(providerId);
+
+ if (pAc == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+ }
+ result r = pAc->Start(pUriData, pMimeType, pDataList, pListener);
+
+ if (r == E_SUCCESS)
+ {
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ pGalleryApp->SetFrameEnabled(false);
+ }
+
+ delete pAc;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+FileListPresentationModel::SetCurrentAlbumInfo(const String& albumName, const IList& directoryList)
+{
+ AppLogDebug("ENTER");
+
+ if (&directoryList != null)
+ {
+ if (__pDirectoryList != null && __pDirectoryList->GetCount() > 0)
+ {
+ bool isMatched = false;
+ int outterLoopCount = __pDirectoryList->GetCount();
+ int innerLoopCount = 0;
+ for (int i = 0; i < outterLoopCount; ++i)
+ {
+ isMatched = false;
+ innerLoopCount = directoryList.GetCount();
+ for (int j = 0; j < innerLoopCount; ++j)
+ {
+ if (static_cast<String*>(__pDirectoryList->GetAt(i))->CompareTo(
+ *(const_cast<String*>(static_cast<const String*>(directoryList.GetAt(j))))) == 0)
+ {
+ isMatched = true;
+ break;
+ }
+ }
+ }
+
+ outterLoopCount = directoryList.GetCount();
+ for (int i = 0; i < outterLoopCount; ++i)
+ {
+ isMatched = false;
+ innerLoopCount = __pDirectoryList->GetCount();
+ for (int j = 0; j < innerLoopCount; ++j)
+ {
+ if (const_cast<String*>(static_cast<const String*>(directoryList.GetAt(i)))->CompareTo(
+ *(static_cast<String*>(__pDirectoryList->GetAt(j)))) == 0)
+ {
+ isMatched = true;
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ __albumName = albumName;
+ __providerId.Clear();
+
+ if (__pDirectoryList != null)
+ {
+ delete __pDirectoryList;
+ }
+ __pDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ int loopCount = directoryList.GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ __pDirectoryList->Add(new (std::nothrow) String(*(const_cast<String*>
+ (static_cast<const String*>(directoryList.GetAt(i))))));
+ }
+
+ if (__pContentInfoList != null)
+ {
+ delete __pContentInfoList;
+ __pContentInfoList = null;
+ }
+
+ if (GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ AppControlMediaType appControlMediaType = GetAppControlMediaType();
+ if (appControlMediaType == APPCONTROL_MEDIA_TYPE_IMAGE)
+ {
+ __albumContentType = CONTENT_TYPE_IMAGE;
+ }
+ else if (appControlMediaType == APPCONTROL_MEDIA_TYPE_VIDEO)
+ {
+ __albumContentType = CONTENT_TYPE_VIDEO;
+ }
+ }
+ __pContentInfoList = GetContentInfoListInDirectoryListN(*__pDirectoryList, __albumContentType);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+FileListPresentationModel::RefreshCurrentAlbumContentInfoList(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ result r = RefreshContentInfoList(contentType);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+FileListPresentationModel::AddDirectoryIfNew(const String& dirName)
+{
+
+ bool isMatched = false;
+ int dirCount = __pDirectoryList->GetCount();
+ String fullDirName;
+ fullDirName = Environment::GetMediaPath();
+ fullDirName.Append(dirName);
+
+ if (__albumName != ALL_ALBUMS_REAL_NAME) //we are not in All albums
+ {
+ return;
+ }
+
+ for (int i = 0; i < dirCount; ++i)
+ {
+ if (static_cast<String*>(__pDirectoryList->GetAt(i))->CompareTo(fullDirName) == 0)
+ {
+ isMatched = true;
+ break;
+ }
+ }
+
+ if (!isMatched)
+ {
+ __pDirectoryList->Add(new (std::nothrow) String(fullDirName));
+ }
+}
+
+result
+FileListPresentationModel::RefreshContentInfoList(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if ((contentType != CONTENT_TYPE_ALL) && (contentType != CONTENT_TYPE_IMAGE) && (contentType != CONTENT_TYPE_VIDEO))
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+ }
+
+ if ((__pDirectoryList == null) || (__pDirectoryList->GetCount() <= 0))
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+ }
+
+ __albumContentType = contentType;
+
+ if (__pContentInfoList != null)
+ {
+ delete __pContentInfoList;
+ __pContentInfoList = null;
+ }
+
+ __pContentInfoList = GetContentInfoListInDirectoryListN(*__pDirectoryList, __albumContentType);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+String
+FileListPresentationModel::GetCurrentAlbumName(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __albumName;
+}
+
+void
+FileListPresentationModel::SetCurrentAlbumName(const String& albumName)
+{
+ AppLogDebug("ENTER");
+ if (&albumName == null)
+ {
+ __albumName = EMPTY_SPACE;
+ }
+ else
+ {
+ __albumName = albumName;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ContentType
+FileListPresentationModel::GetCurrentAlbumContentType(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __albumContentType;
+}
+
+void
+FileListPresentationModel::SetCurrentAlbumContentType(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ __albumContentType = contentType;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+IList*
+FileListPresentationModel::GetAlbumDirectoryListN(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pAlbumDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ if (__pDirectoryList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return pAlbumDirectoryList;
+ }
+
+ String* pDirectory = null;
+ int loopCount = __pDirectoryList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pDirectory = static_cast<String*>(__pDirectoryList->GetAt(i));
+ pAlbumDirectoryList->Add(new (std::nothrow) String(*pDirectory));
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pAlbumDirectoryList;
+}
+
+IList*
+FileListPresentationModel::GetAlbumContentInfoList(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pContentList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ if (__pContentInfoList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return pContentList;
+ }
+
+ ContentInfo* pContentInfo = null;
+ int loopCount = __pContentInfoList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(i));
+ pContentList->Add(pContentInfo);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pContentList;
+}
+
+ContentInfo*
+FileListPresentationModel::GetContentInfo(const int index) const
+{
+ AppLogDebug("ENTER");
+ if (__pContentInfoList == null || __pContentInfoList->GetCount() == 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ if (index < 0 || index >= __pContentInfoList->GetCount())
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+ ContentInfo* pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pContentInfo;
+}
+
+IList* FileListPresentationModel::GetContentIdListAtIndexN(const IList& indexList) const
+{
+ AppLogDebug("ENTER");
+ IList* pContentIdList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ int loopCount = indexList.GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ const Integer* pIndex = static_cast<const Integer*>(indexList.GetAt(i));
+
+ if ((pIndex != null) && (pIndex->ToInt())>=0 && __pContentInfoList->GetCount() > pIndex->ToInt())
+ {
+ ContentInfo* pContentInfo = const_cast<ContentInfo*>(static_cast<const ContentInfo*>(__pContentInfoList->GetAt(pIndex->ToInt())));
+ pContentIdList->Add(new (std::nothrow) ContentId(pContentInfo->GetContentId()));
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return pContentIdList;
+}
+
+int
+FileListPresentationModel::GetCurrentAlbumContentInfoCount(void) const
+{
+ AppLogDebug("ENTER");
+ if (__pContentInfoList == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return 0;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pContentInfoList->GetCount();
+}
+
+ContentId
+FileListPresentationModel::GetContentInfoIndex(const int index) const
+{
+ AppLogDebug("ENTER");
+ if (__pContentInfoList == null || __pContentInfoList->GetCount() == 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return 0;
+ }
+
+ if (index < 0 || index >= __pContentInfoList->GetCount())
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return 0;
+ }
+ ContentInfo* pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
+ ContentId contentId = pContentInfo->GetContentId();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return contentId;
+}
+
+String
+FileListPresentationModel::GetContentFilePath(const int index) const
+{
+ AppLogDebug("ENTER index(%d)", index);
+ if (__pContentInfoList == null || __pContentInfoList->GetCount() == 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return EMPTY_SPACE;
+ }
+
+ if (index < 0 || index >= __pContentInfoList->GetCount())
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return EMPTY_SPACE;
+ }
+
+ ContentInfo* pContentInfo = static_cast<ContentInfo*>(__pContentInfoList->GetAt(index));
+ String contentPath = pContentInfo->GetContentPath();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return contentPath;
+}
+
+Bitmap*
+FileListPresentationModel::CoverVideoOverlayedImageOnThumbnailN(Bitmap& thumbnail,
+ const ThumbnailInfo& thumbmailInfo)
+{
+ AppLogDebug("ENTER");
+ Bitmap* pOverlayedImage = null;
+
+ if (&thumbmailInfo != null)
+ {
+ long duration = thumbmailInfo.GetDuration();
+
+ Canvas mainCanvas;
+ if (&thumbnail != null)
+ {
+ BufferInfo bufferInfo;
+ thumbnail.Lock(bufferInfo, INFINITE);
+ thumbnail.Unlock();
+ mainCanvas.Construct(bufferInfo);
+ }
+ else
+ {
+ Rectangle mainRect(0, 0, W_DEFAULT_THUMBNAIL, H_DEFAULT_THUMBNAIL);
+ mainCanvas.Construct(mainRect);
+ mainCanvas.FillRectangle(Color::GetColor(COLOR_ID_BLACK), mainRect);
+ }
+
+ Rectangle playRect(GAP_W_PLAY_FG, GAP_H_PLAY_FG, W_PLAY_FG, H_PLAY_FG);
+ Bitmap* playBitmap = ResourceManager::GetBitmapN(IDB_VIDEOTHUMBNAIL_PLAY);
+ if (playBitmap != null)
+ {
+ mainCanvas.DrawBitmap(playRect, *playBitmap);
+ delete playBitmap;
+ }
+
+ Canvas durCanvas;
+ Rectangle durSize(0, 0, W_DURATION, H_DURATION);
+ Rectangle durRect(0, GAP_H_DURATION, W_DURATION, H_DURATION);
+ Color durColor(COLOR_DURATION_BG);
+ durColor.SetAlpha(ALPHA_DURATION);
+ durCanvas.Construct(durSize);
+ durCanvas.FillRectangle(durColor, durSize);
+ Font durFont;
+ durFont.Construct(FONT_STYLE_PLAIN, FONT_SIZE_DURATION);
+ durCanvas.SetFont(durFont);
+ durCanvas.DrawText(Point(W_DURATION_TEXT, H_DURATION_TEXT),
+ CommonUtil::DurationToTimeString(duration), COLOR_TEXT_OUTLINE);
+ Bitmap durBitmap;
+ durBitmap.Construct(durCanvas, durCanvas.GetBounds());
+ mainCanvas.DrawBitmap(durRect, durBitmap);
+
+ pOverlayedImage = new (std::nothrow) Bitmap();
+ pOverlayedImage->Construct(mainCanvas, mainCanvas.GetBounds());
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pOverlayedImage;
+}
+
+Bitmap*
+FileListPresentationModel::GetShadedBackgroundBitmapN(Bitmap& bgBitmap,
+ const Bitmap& originalBitmap, const Rectangle& originalBitmapPosition) const
+{
+ AppLogDebug("ENTER");
+ if (&originalBitmap == null || &originalBitmap == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return null;
+ }
+
+ BufferInfo bufferInfo;
+ bgBitmap.Lock(bufferInfo, INFINITE);
+ bgBitmap.Unlock();
+ Canvas mainCanvas;
+ mainCanvas.Construct(bufferInfo);
+ mainCanvas.Clear();
+ mainCanvas.DrawBitmap(originalBitmapPosition, originalBitmap);
+
+ Bitmap* pMainImage = new (std::nothrow) Bitmap();
+ pMainImage->Construct(mainCanvas,mainCanvas.GetBounds());
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pMainImage;
+}
+
+IList*
+FileListPresentationModel::GetContentInfoListInDirectoryListN(const IList& contentDirectoryList,
+ ContentType contentType)const
+{
+ AppLogDebug("ENTER");
+ IList* pContentList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+
+ if ((&contentDirectoryList == null) || (contentDirectoryList.GetCount() == 0)
+ || ((contentType != CONTENT_TYPE_IMAGE) && (contentType != CONTENT_TYPE_VIDEO) && (contentType != CONTENT_TYPE_ALL)))
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return pContentList;
+ }
+
+ ContentDirectory contentDirectory;
+ IListT<ContentType>* pContentTypeList = new (std::nothrow) ArrayListT<ContentType>();
+ if (contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_ALL)
+ {
+ pContentTypeList->Add(CONTENT_TYPE_IMAGE);
+ }
+ if (contentType == CONTENT_TYPE_VIDEO || contentType == CONTENT_TYPE_ALL)
+ {
+ pContentTypeList->Add(CONTENT_TYPE_VIDEO);
+ }
+ result r = contentDirectory.Construct(*pContentTypeList);
+ delete pContentTypeList;
+
+ if (r == E_SUCCESS)
+ {
+ int pageNo = SIZE_PAGE_NO;
+ int countPerPage = SIZE_CONUNT_PER_PAGE;
+ String* pContentDirectory = null;
+
+ int loopCount = contentDirectoryList.GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ IList* pIList = null;
+ pContentDirectory = const_cast<String*>(static_cast<const String*>(contentDirectoryList.GetAt(i)));
+ if (pContentDirectory != null)
+ {
+ pIList = contentDirectory.GetContentDirectoryItemListN(*pContentDirectory, pageNo, countPerPage,
+ CONTENT_INFO_ORDER, SORT_ORDER_NONE);
+
+ if (pIList != null)
+ {
+ pContentList->AddItems(*pIList);
+ }
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pContentList;
+}
+
+String
+FileListPresentationModel::ConvertToAlbumName(const String& targetPath)const
+{
+ AppLogDebug("ENTER");
+ String albumName;
+ if (&targetPath == null || targetPath.GetLength() == 0)
+ {
+ return albumName;
+ }
+
+ String mediaPath = RESERVED_MEDIA_PATH;
+ int length = mediaPath.GetLength();
+ mediaPath.Remove(length-1,1);
+
+
+ if (targetPath == RESERVED_CAMERA_PATH || targetPath == RESERVED_CAMERA_PATH_EXT)
+ {
+ albumName = ResourceManager::GetString(L"IDS_MEDIABR_BODY_CAMERA_ROLL_ABB");
+ }
+ else if (targetPath == RESERVED_DOWNLOAD_PATH)
+ {
+ albumName = ResourceManager::GetString(L"IDS_COM_BODY_DOWNLOADS");
+ }
+ else if (targetPath == mediaPath)
+ {
+
+ albumName = ResourceManager::GetString(L"IDS_MEDIABR_POP_NO_NAME");
+ }
+ else
+ {
+ String directoryName = GetDirecotyNameFromFullPath(targetPath);
+ albumName = directoryName;
+ }
+
+ return albumName;
+}
+
+AppControlMode
+FileListPresentationModel::GetAppControlMode(void) const
+{
+ AppLogDebug("Enter");
+ AppLogDebug("Exit");
+
+ return __appControlMode;
+}
+
+AppControlMediaType
+FileListPresentationModel::GetAppControlMediaType(void) const
+{
+ AppLogDebug("Enter");
+ AppLogDebug("Exit");
+
+ return __appControlMediaType;
+}
+
+AppControlSelectionMode
+FileListPresentationModel::GetAppControlSelectionMode(void) const
+{
+ AppLogDebug("Enter");
+ AppLogDebug("Exit");
+
+ return __appControlSelectionMode;
+}
+
+void
+FileListPresentationModel::SetUpdateProgressStatus(const bool status)
+{
+ AppLogDebug("ENTER status = %d",status);
+ __updateProgressStatus = status;
+ AppLogDebug("EXIT");
+}
+
+result
+FileListPresentationModel::RotateImage(const Tizen::Content::ContentId& contentId, RotateMode rotateMode)
+{
+ result r = E_SUCCESS;
+ ImageBuffer rotateBuffer;
+ ImageBuffer* pRotatedBuffer = null;
+ ImageFormat imageFormat;
+ Image img;
+ ContentInfo* cntInfo = __pContentManager->GetContentInfoN(contentId);
+ if (!cntInfo)
+ {
+ return E_FAILURE;
+ }
+ String filePath = cntInfo->GetContentPath();
+ delete cntInfo;
+
+ ContentType contentType = ContentManagerUtil::CheckContentType(filePath);
+ if (contentType == CONTENT_TYPE_VIDEO)
+ {
+ return r;
+ }
+
+ r = img.Construct();
+
+ if (r == E_SUCCESS)
+ {
+ imageFormat = img.GetImageFormat(filePath);
+
+ r = rotateBuffer.Construct(filePath);
+ if (r == E_SUCCESS)
+ {
+ if (rotateMode == ROTATE_MODE_RIGHT)
+ {
+ pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_90);
+ }
+ else
+ {
+ pRotatedBuffer = rotateBuffer.RotateN(IMAGE_ROTATION_270);
+ }
+ }
+
+ if (pRotatedBuffer != null)
+ {
+ r = pRotatedBuffer->EncodeToFile(filePath, imageFormat, true, 100);
+ delete pRotatedBuffer;
+ ContentManager::ScanFile(filePath);
+ }
+ }
+
+ return r;
+}
+
+void
+FileListPresentationModel::ClearImageCache(void)
+{
+ AppLogDebug("ENTER");
+
+ if(__pIconListViewCache != null)
+ {
+ bool clearThumbnailReq = true;
+ while(__pIconListViewCache->GetCount() != 0)
+ {
+ //This is to Clear the Thumbnail Reuqests only Once
+ if(clearThumbnailReq == true)
+ {
+ ClearThumbnailRequests();
+ clearThumbnailReq = false;
+ }
+ __pIconListViewCache->RemoveAt(0, true);
+ }
+ }
+ AppLogDebug("EXIT");
+}
+
+void
+FileListPresentationModel::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+ AppLogDebug("ENTER");
+ if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
+ {
+ IFormContentUpdateEventListener* pInterface = null;
+ IEnumerator* pEventEnum = __pContentEventListener->GetEnumeratorN();
+ while (pEventEnum->MoveNext() == E_SUCCESS)
+ {
+ pInterface = static_cast<IFormContentUpdateEventListener*>(pEventEnum->GetCurrent());
+ pInterface->OnContentUpdated();
+ }
+ delete pEventEnum;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file FileMoveTimer.cpp
+ * @brief This is the source file for FileMoveTimer class.
+ */
+
+#include <FBase.h>
+#include <FContent.h>
+#include <FMedia.h>
+#include <FSystem.h>
+#include <FUi.h>
+
+#include "GlFileListPresentationModel.h"
+#include "GlFileMoveTimer.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Io;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+FileMoveTimer::FileMoveTimer(String& destDirectory, IList* list, FileListPresentationModel* presentationModel,
+ IFileOpInvalidateListener* pInvalidate, bool isCopyOperation)
+ : GlTimerBase(pInvalidate, FILE_ACTION_MOVE)
+ , __pMoveIndexList(list)
+ , __moveToDir(destDirectory)
+ , __isCopyOperation(false)
+ , __pPresentationModel(presentationModel)
+ , __scanDirMap(SingleObjectDeleter)
+ , __pContentManager(null)
+{
+ AppLogDebug("ENTER");
+ __scanDirMap.Construct();
+ DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ AppLogDebug("EXIT");
+}
+
+FileMoveTimer::~FileMoveTimer(void)
+{
+ AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ ScanDirectories();
+ delete __pMoveIndexList;
+ delete __pContentManager;
+ AppLogDebug("EXIT");
+}
+
+IList *
+FileMoveTimer::TimerStart(void)
+{
+ AppLogDebug("ENTER");
+ if (&__moveToDir == null || __moveToDir.IsEmpty())
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+
+ if (__pMoveIndexList == null || __pMoveIndexList->GetCount() <= 0)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+ return null;
+ }
+
+ if (__pMoveIndexList->GetCount() > 0)
+ {
+ __pContentManager = new (std::nothrow) ContentManager();
+ __pContentManager->Construct();
+ if (__isCopyOperation == true)
+ {
+ SetActionMode(FILE_ACTION_COPY);
+ }
+ if (File::IsFileExist(__moveToDir) == false)
+ {
+ result r = Directory::Create(__moveToDir, true);
+ AppLog("The directory create result is 2(%s)", GetErrorMessage(r));
+
+ if ( r == E_STORAGE_FULL)
+ {
+ return null;
+ }
+
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ IList* pCntIdList = __pPresentationModel->GetContentIdListAtIndexN(*__pMoveIndexList);
+ return pCntIdList;
+ }
+ else
+ {
+ return null;
+ }
+}
+
+result
+FileMoveTimer::TimerExpired(const Object* contentId)
+{
+ AppLogDebug("ENTER");
+ const ContentId* cntId = static_cast<const ContentId*>(contentId);
+ if(cntId == null)
+ {
+ return E_FAILURE;
+ }
+ ContentInfo* cntInfo = __pContentManager->GetContentInfoN(*cntId);
+ if (cntInfo)
+ {
+ String filePath = cntInfo->GetContentPath();
+ delete cntInfo;
+ result r = __pPresentationModel->MoveToContentFile(filePath, __moveToDir, __isCopyOperation);
+ if (!IsFailed(r))
+ {
+ if (__isCopyOperation == false)
+ {
+ //For Move operation, add the directory being moved from for scanning
+ String dirPath;
+ int index =0;
+ result r = filePath.LastIndexOf(DIRECTORY_SEPARATOR, filePath.GetLength() - 1, index);
+ TryReturn(r == E_SUCCESS, false, "[%s] Unable to get Dirpath", GetErrorMessage(r));
+ filePath.SubString(0, index, dirPath);
+ if(!__scanDirMap.ContainsKey(dirPath))
+ {
+ __scanDirMap.Add(new String(dirPath), new Integer(0));
+ }
+ }
+ if (!__scanDirMap.ContainsKey(__moveToDir))
+ {
+ __scanDirMap.Add(new String(__moveToDir), new Integer(0));
+ }
+ }
+ return r;
+ }
+ return E_FAILURE;
+}
+
+result
+FileMoveTimer::ScanDirectories(void)
+{
+ AppLogDebug("ENTER");
+ RequestId reqId;
+ result r = E_FAILURE;
+ if (__scanDirMap.GetCount() > 0)
+ {
+ AppLogDebug("Print AlbumScanMoveToDirPath 2(%d)", __scanDirMap.GetCount());
+ IMapEnumerator* pMapEnum = __scanDirMap.GetMapEnumeratorN();
+ String* pKey = null;
+ while (pMapEnum->MoveNext() == E_SUCCESS)
+ {
+ pKey = static_cast< String* > (pMapEnum->GetKey());
+ r = ContentManager::ScanDirectory(*(pKey), true, null, reqId);
+ }
+ __scanDirMap.RemoveAll();
+ delete pMapEnum;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(r));
+ return r;
+}
+
+void
+FileMoveTimer::TimerCancel(int, enum FileActionCancelRes res)
+{
+ AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ if (res == CANCEL_USER || (res == CANCEL_SYS_ERROR && GetMovedCount() > 0) )
+ {
+ String albumName = __pPresentationModel->ConvertToAlbumName(__moveToDir);
+
+ if (albumName != EMPTY_SPACE)
+ {
+ IList* pDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pDirectoryList->Add(new (std::nothrow) String(__moveToDir));
+ __pPresentationModel->SetCurrentAlbumInfo(albumName, *pDirectoryList);
+ __pPresentationModel->SetCurrentAlbumContentType(CONTENT_TYPE_ALL);
+ delete pDirectoryList;
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST));
+ }
+ }
+ else if (res == CANCEL_SYS_ERROR && GetMovedCount() == 0)
+ {
+ if (__isCopyOperation == true)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", L"Unable to copy files.",
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+ }
+ AppLogDebug("EXIt");
+}
+
+int
+FileMoveTimer::GetDirScanCount()
+{
+ AppLogDebug("ENTER");
+ IMapEnumerator* pMapEnum = __scanDirMap.GetMapEnumeratorN();
+ String* pKey = null;
+ while (pMapEnum->MoveNext() == E_SUCCESS)
+ {
+ pKey = static_cast< String* > (pMapEnum->GetKey());
+ if (File::IsFileExist(*pKey) == false)
+ {
+ __scanDirMap.Remove(*pKey);
+ }
+ }
+ delete pMapEnum;
+ return __scanDirMap.GetCount();
+}
+
+void
+FileMoveTimer::TimerComplete(int, enum FileActionCompleteRes res)
+{
+ AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ String albumName = __pPresentationModel->ConvertToAlbumName(__moveToDir);
+
+ if (albumName != EMPTY_SPACE)
+ {
+ IList* pDirectoryList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pDirectoryList->Add(new (std::nothrow) String(__moveToDir));
+ __pPresentationModel->SetCurrentAlbumInfo(albumName, *pDirectoryList);
+ __pPresentationModel->SetCurrentAlbumContentType(CONTENT_TYPE_ALL);
+ delete pDirectoryList;
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALL_LIST));
+ }
+ AppLogDebug("EXIt");
+}
+
+void
+FileMoveTimer::SetCopy(void)
+{
+ __isCopyOperation = true;
+}
+
+void
+FileMoveTimer::ClearCopy(void)
+{
+ __isCopyOperation = false;
+}
+
+
+void
+FileMoveTimer::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+ AppLogDebug("ENTER");
+ if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED)
+ {
+ String sdcPath = Environment::GetExternalStoragePath();
+ IMapEnumerator* pMapEnum = __scanDirMap.GetMapEnumeratorN();
+ String* pKey = null;
+ while (pMapEnum->MoveNext() == E_SUCCESS)
+ {
+ pKey = static_cast< String* > (pMapEnum->GetKey());
+ if (pKey->StartsWith(sdcPath, 0))
+ {
+ __scanDirMap.Remove(*pKey);
+ }
+ }
+ delete pMapEnum;
+ }
+ AppLogDebug("EXIT");
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFileUpdateTimer.cpp
+ * @brief This is the source file for FileUpdateTimer class.
+ */
+
+#include <FIo.h>
+
+#include "GlFileUpdateTimer.h"
+#include "GlFileListPresentationModel.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Io;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+FileUpdateTimer::FileUpdateTimer(Tizen::Base::Collection::IList* pDelList
+ , IContentFileUpdateManager* pFDM
+ , IFileOpInvalidateListener* invalidate
+ , FileActionMode actionId
+ , RotateMode rotateMode)
+ : GlTimerBase(invalidate, actionId)
+ , __pUpdateIndexList(pDelList)
+ , __pFileUpdateManager(pFDM)
+ , __rotateMode(rotateMode)
+ , __scanDirMap(SingleObjectDeleter)
+ , __pContentManager(null)
+{
+ __scanDirMap.Construct();
+ DeviceManager::AddDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+}
+
+FileUpdateTimer::~FileUpdateTimer(void)
+{
+ AppLogDebug("ENTER");
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+ ScanDirectories();
+ delete __pUpdateIndexList;
+ delete __pContentManager;
+ AppLogDebug("EXIT");
+}
+
+IList *
+FileUpdateTimer::TimerStart(void)
+{
+ AppLogDebug("ENTER");
+ __pContentManager = new (std::nothrow) ContentManager();
+ __pContentManager->Construct();
+ IList* pCntIdList = __pFileUpdateManager->GetContentIdListAtIndexN(*__pUpdateIndexList);
+ AppLogDebug("EXIT");
+ return pCntIdList;
+}
+
+result
+FileUpdateTimer::TimerExpired(const Object* contentId)
+{
+ AppLogDebug("ENTER");
+ if (_actionId == FILE_ACTION_DELETE)
+ {
+ const ContentId* cntId = static_cast<const ContentId*>(contentId);
+ if(cntId == null)
+ {
+ return E_FAILURE;
+ }
+ ContentInfo* cntInfo = __pContentManager->GetContentInfoN(*cntId);
+ if (cntInfo)
+ {
+ String filePath = cntInfo->GetContentPath();
+ delete cntInfo;
+ result r = __pFileUpdateManager->DeleteContentFile(filePath);
+ if (!IsFailed(r))
+ {
+ String dirPath;
+ int index =0;
+ result r = filePath.LastIndexOf(DIRECTORY_SEPARATOR, filePath.GetLength() - 1, index);
+ TryReturn(r == E_SUCCESS, false, "[%s] Unable to get Dirpath", GetErrorMessage(r));
+ filePath.SubString(0, index, dirPath);
+ if(!__scanDirMap.ContainsKey(dirPath))
+ {
+ __scanDirMap.Add(new String(dirPath), new Integer(0));
+ }
+ }
+ return r;
+ }
+ else
+ {
+ return E_FAILURE;
+ }
+ }
+ else
+ {
+ result r = E_SUCCESS;
+ const ContentId* cntId = static_cast<const ContentId*>(contentId);
+ if (contentId != null)
+ {
+ r = __pFileUpdateManager->RotateImage(*cntId, __rotateMode);
+ if ( r == E_SUCCESS )
+ {
+ __pFileUpdateManager->RequestThumbnail(*cntId); // do not request thumbnail for video files
+ }
+ else
+ {
+ return r;
+ }
+ }
+ return r;
+ }
+ AppLogDebug("EXIT");
+}
+
+result
+FileUpdateTimer::ScanDirectories(void)
+{
+ AppLogDebug("ENTER");
+ RequestId reqId;
+ result r = E_SUCCESS;
+ if (_actionId == FILE_ACTION_DELETE)
+ {
+ int scanCount = __scanDirMap.GetCount();
+ if( scanCount == 0)
+ {
+ return r;
+ }
+ IMapEnumerator* pMapEnum = __scanDirMap.GetMapEnumeratorN();
+ String* pKey = null;
+ while (pMapEnum->MoveNext() == E_SUCCESS)
+ {
+ pKey = static_cast< String* > (pMapEnum->GetKey());
+ r = ContentManager::ScanDirectory(*(pKey), true, null, reqId);
+ }
+ __scanDirMap.RemoveAll();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(r));
+ return r;
+ }
+ else
+ {
+ AppLogDebug("EXIT, nothing to be done");
+ return E_SUCCESS;
+ }
+}
+
+int
+FileUpdateTimer::GetDirScanCount()
+{
+ IMapEnumerator* pMapEnum = __scanDirMap.GetMapEnumeratorN();
+ String* pKey = null;
+ while (pMapEnum->MoveNext() == E_SUCCESS)
+ {
+ pKey = static_cast< String* > (pMapEnum->GetKey());
+ if (File::IsFileExist(*pKey) == false)
+ {
+ __scanDirMap.Remove(*pKey);
+ }
+ }
+ delete pMapEnum;
+ return __scanDirMap.GetCount();
+}
+
+void
+FileUpdateTimer::OnDeviceStateChanged(DeviceType deviceType, const Tizen::Base::String& state)
+{
+ AppLogDebug("ENTER");
+ if (deviceType == DEVICE_TYPE_STORAGE_CARD && state == DEVICE_STORAGE_CARD_UNMOUNTED &&
+ _actionId == FILE_ACTION_DELETE)
+ {
+ String sdcPath = Environment::GetExternalStoragePath();
+ IMapEnumerator* pMapEnum = __scanDirMap.GetMapEnumeratorN();
+ String* pKey = null;
+ while (pMapEnum->MoveNext() == E_SUCCESS)
+ {
+ pKey = static_cast< String* > (pMapEnum->GetKey());
+ if (pKey->StartsWith(sdcPath, 0))
+ {
+ __scanDirMap.Remove(*pKey);
+ }
+ }
+ delete pMapEnum;
+ }
+ AppLogDebug("EXIT");
+}
+
+void
+FileUpdateTimer::TimerCancel(int, enum FileActionCancelRes res)
+{
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+}
+void
+FileUpdateTimer::TimerComplete(int, enum FileActionCompleteRes res)
+{
+ DeviceManager::RemoveDeviceEventListener(DEVICE_TYPE_STORAGE_CARD, *this);
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlFormFactory.cpp
+ * @brief This is the implementation file for FormFactory class.
+ */
+
+#include "GlAlbumListEditorForm.h"
+#include "GlAlbumListForm.h"
+#include "GlAlbumNameEditorForm.h"
+#include "GlFileListEditorForm.h"
+#include "GlFileListForm.h"
+#include "GlFormFactory.h"
+#include "GlImageCropForm.h"
+#include "GlSettingMainForm.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+FormFactory::FormFactory(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+FormFactory::~FormFactory(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+Form*
+FormFactory::CreateFormN(const String& formId, const SceneId& sceneId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ Form* pNewForm = null;
+
+ if (formId == IDC_FORM_ALBUM_LIST)
+ {
+ AlbumListForm* pForm = new (std::nothrow) AlbumListForm();
+ pForm->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pForm);
+ pNewForm = pForm;
+ }
+ else if (formId == IDC_FORM_ALBUM_LIST_EDITOR)
+ {
+ AlbumListEditorForm* pForm = new (std::nothrow) AlbumListEditorForm();
+ pForm->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pForm);
+ pNewForm = pForm;
+ }
+ else if (formId == IDC_FORM_ALBUM_NAME_EDITOR)
+ {
+ AlbumNameEditorForm* pForm = new (std::nothrow) AlbumNameEditorForm();
+ pForm->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pForm);
+ pNewForm = pForm;
+ }
+ else if (formId == IDC_FORM_FILE_LIST)
+ {
+ FileListForm* pForm = new (std::nothrow) FileListForm();
+ pForm->Initialize();
+ pNewForm = pForm;
+ }
+ else if (formId == IDC_FORM_FILE_LIST_EDITOR)
+ {
+ FileListEditorForm* pForm = new (std::nothrow) FileListEditorForm();
+ pForm->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pForm);
+ pNewForm = pForm;
+ }
+ else if (formId == IDC_FORM_SETTING_MAIN)
+ {
+ SettingMainForm* pForm = new (std::nothrow) SettingMainForm();
+ pForm->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pForm);
+ pNewForm = pForm;
+ }
+ else if (formId == IDC_FORM_IMAGE_CROP)
+ {
+ ImageCropForm* pForm = new (std::nothrow) ImageCropForm();
+ pForm->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pForm);
+ pNewForm = pForm;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pNewForm;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlGalleryApp.cpp
+ * @brief This is the implementation file for GalleryApp class.
+ */
+
+#include <FUi.h>
+#include "GlAlbumListPresentationModel.h"
+#include "GlContentUpdateEventListener.h"\r
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlMainFrame.h"
+#include "GlSettingPresentationModel.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+GalleryApp::GalleryApp(void)
+ : __requestId(0)
+ , __pArguments(null)
+ , __appControlResult(APP_CTRL_RESULT_SUCCEEDED)
+ , __frameActivated(false)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+GalleryApp::~GalleryApp(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+UiApp*
+GalleryApp::CreateInstance(void)
+{
+ AppLogDebug("ENTER");
+ UiApp* pUiApp = new (std::nothrow) GalleryApp();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pUiApp;
+}
+
+String
+GalleryApp::GetAppControlOperationId(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __operationId;
+}
+
+String
+GalleryApp::GetMimeType(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return __mimeType;
+}
+
+const IMap*
+GalleryApp::GetAppControlArguments(void) const
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pArguments;
+}
+
+void
+GalleryApp::SendAppControlResult(const AppCtrlResult appControlResult, const IMap* pExtraData)
+{
+ AppLogDebug("ENTER");
+ AppControlProviderManager* pAppManager = AppControlProviderManager::GetInstance();
+ result r = pAppManager->SendAppControlResult(__requestId, appControlResult, pExtraData);
+ if (r == E_MAX_EXCEEDED)
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_RCS_BODY_MAXIMUM_NUMBER_OF_FILES_EXCEEDED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ }
+
+ AppLogDebug("appControlResult is %d", appControlResult);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+GalleryApp::OnAppInitializing(AppRegistry& appRegistry)
+{
+ AppLogDebug("ENTER");
+ AppControlProviderManager::GetInstance()->SetAppControlProviderEventListener(this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+bool
+GalleryApp::OnAppInitialized(void)
+{
+ AppLogDebug("ENTER");
+ MainFrame* pMainFrame = new (std::nothrow) MainFrame();
+ pMainFrame->Construct();
+ AddFrame(*pMainFrame);
+
+ SettingInfo::AddSettingEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+bool
+GalleryApp::OnAppTerminating(AppRegistry& appRegistry, bool forcedTermination)
+{
+ AppLogDebug("ENTER");\r
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();\r
+ if (pContentListener)\r
+ {\r
+ pContentListener->RemoveContentListener();\r
+ }\r
+ AlbumListPresentationModel* pAlbumListPresentationModel = AlbumListPresentationModel::GetInstance();
+ if (pAlbumListPresentationModel != null)
+ {
+ pAlbumListPresentationModel->ClearThumbnailRequests(true);
+ }
+ FileListPresentationModel* pFileListPresentationModel = FileListPresentationModel::GetInstance();
+ if (pFileListPresentationModel != null)
+ {
+ pFileListPresentationModel->ClearThumbnailRequests(true);
+ }
+
+ delete __pArguments;
+ __pArguments = null;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+GalleryApp::OnForeground(void)
+{
+ AppLogDebug("ENTER");
+ static bool bFirst = true;
+ if (bFirst)
+ {
+ bFirst = false;
+ return;
+ }
+
+ MainFrame* pMainFrame = dynamic_cast<MainFrame*>(GetFrameAt(0));
+ if (pMainFrame)
+ {
+ pMainFrame->SetEnabled(true);
+ pMainFrame->Invalidate(true);
+ }
+
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ if (pContentListener->GetChangeNotificationStatus() == true)
+ {
+ pContentListener->ResumeOperation();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GalleryApp::OnAppControlRequestReceived(RequestId reqId, const String& operationId,
+ const String* pUriData, const String* pMimeType, const IMap* pExtraData)
+{
+ AppLogDebug("ENTER");
+ __requestId = reqId;
+ __operationId = operationId;
+
+ if (pMimeType != null)
+ {
+ __mimeType = *pMimeType;
+ }
+ if (pExtraData != null)
+ {
+ HashMap* pArguments = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pArguments->Construct();
+
+ const String* pKey = null;
+ const String* pValue = null;
+ IList* pKeyList = pExtraData->GetKeysN();
+
+ int loopCount = pKeyList->GetCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pKey = static_cast<const String*>(pKeyList->GetAt(i));
+ pValue = static_cast<const String*>(pExtraData->GetValue(*pKey));
+
+ pArguments->Add(new (std::nothrow) String(*pKey), new (std::nothrow) String(*pValue));
+ }
+ __pArguments = pArguments;
+ delete pKeyList;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GalleryApp::OnSettingChanged(String& key)
+{
+ AppLogDebug("ENTER key(%ls)", key.GetPointer());
+ if (key.CompareTo(SETTING_KEY_LANGUAGE) == 0 || key.CompareTo(SETTING_KEY_FONT_SIZE) == 0)
+ {
+ UiApp::GetInstance()->Terminate();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GalleryApp::SetFrameEnabled(const bool enabled)
+{
+ MainFrame* pMainFrame = dynamic_cast<MainFrame*>(GetFrameAt(0));
+ if (pMainFrame)
+ {
+ pMainFrame->SetEnabled(enabled);
+ }
+}
+
+void
+GalleryApp::SetFrameActivated(bool frameActivated)
+{
+ __frameActivated = frameActivated;
+}
+
+bool
+GalleryApp::GetFrameActivated(void) const
+{
+ return __frameActivated;
+}
+
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlGalleryEntry.cpp
+ * @brief This is the implementation file for GalleryEntry class.
+ */
+
+#include "GlGalleryApp.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif // __cplusplus
+
+//
+// The entry function of Tizen application called by the operating system.
+//
+_EXPORT_ int
+OspMain(int argc, char *pArgv[])
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("Application started.");
+ ArrayList args(SingleObjectDeleter);
+ args.Construct();
+ for (int i = 0; i < argc; i++)
+ {
+ args.Add(new (std::nothrow) String(pArgv[i]));
+ }
+
+ result r = Tizen::App::UiApp::Execute(GalleryApp::CreateInstance, &args);
+ TryLog(r == E_SUCCESS, "[%s] Application execution failed", GetErrorMessage(r));
+ AppLogDebug("Application finished.");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return static_cast<int>(r);
+}
+#ifdef __cplusplus
+}
+#endif // __cplusplus
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlImageCrop.cpp
+ * @brief This is the implementation file for Image Crop.
+ */
+
+#include <FApp.h>
+#include <FMedia.h>
+#include <FSystem.h>
+#include <FText.h>
+#include "GlGalleryApp.h"
+#include "GlImageCropForm.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Io;
+using namespace Tizen::Media;
+using namespace Tizen::System;
+using namespace Tizen::Text;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const unsigned int COLOR_GALLERY_BG = Color32<31,31,31>::Value;
+static const unsigned int CROP_BOX_RECTANGLE_COLOR = Color32<199, 110, 6>::Value;
+static const int CROP_BOX_LINE_WIDTH = 5;
+static const int H_CROP_RECTANGLE = 20;
+static const wchar_t* PATH_DATA_DIRECTORY_IN_CROP = L"data/";
+static const wchar_t* FILE_NAME_SEPARATOR = L"_";
+static const int MAX_FILE_LENGHT = 255;
+static const int CROP_BOX_OFFSET = 20;
+
+ImageCropForm::ImageCropForm(void)
+ : __sourceFilePath(L"")
+ , __cropMode(APPCONTROL_DATA_CROP_TYPE_FIT_TO_SCREEN)
+ , __pCanvas(null)
+ , __pCurrentBitmap(null)
+ , __pRectangleBitmap(null)
+ , __imageFormat(IMG_FORMAT_NONE)
+ , __imageBuffer(null)
+ , __pointLocation(OUTSIDE_CROPBOX)
+ , __isOrientationChanged(false)
+ , __imageHeight(0)
+ , __imageWidth(0)
+ , __statusValue(-1)
+ , __formHeight(0)
+ , __formWidth(0)
+ , __skipMoveEvent(0)
+
+{
+}
+
+ImageCropForm::~ImageCropForm(void)
+{
+ if (__pCurrentBitmap != null)
+ {
+ delete __pCurrentBitmap;
+ }
+ if (__pRectangleBitmap != null)
+ {
+ delete __pRectangleBitmap;
+ }
+ if (__pCanvas != null)
+ {
+ delete __pCanvas;
+ }
+}
+
+bool
+ImageCropForm::Initialize(void)
+{
+ Form::Construct(IDL_FORM_IMAGE_CROP);
+
+ return true;
+}
+
+result
+ImageCropForm::OnInitializing(void)
+{
+ AppLogDebug("OnInitializing");
+
+ AppResource* pAppResource = null;
+ pAppResource = UiApp::App::GetInstance()->GetAppResource();
+
+ if (pAppResource != null)
+ {
+ __pRectangleBitmap = pAppResource->GetBitmapN(IDB_IMAGE_CROP_RECTANGLE);
+ }
+
+ Footer* pFooter = GetFooter();
+ if (pFooter != null)
+ {
+ pFooter->AddActionEventListener(*this);
+ pFooter->RemoveAllItems();
+ pFooter->SetStyle(FOOTER_STYLE_BUTTON_TEXT);
+
+ FooterItem footerItem1;
+ footerItem1.Construct(IDA_BUTTON_SAVE);
+ footerItem1.SetText(ResourceManager::GetString(L"IDS_COM_OPT_SAVE"));
+
+ pFooter->AddItem(footerItem1);
+ }
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ AddTouchEventListener(*this);
+ AddOrientationEventListener(*this);
+ SetFormBackEventListener(this);
+
+ return E_SUCCESS;
+}
+
+result
+ImageCropForm::OnDraw(void)
+{
+ AppLogDebug("OnDraw");
+ result r = E_SUCCESS;
+
+ if (__pCanvas != null)
+ {
+ __pCanvas->Clear();
+ r = __pCanvas->SetLineWidth(CROP_BOX_LINE_WIDTH);
+ r = __pCanvas->DrawBitmap(Rectangle(__imageBox.x, __imageBox.y, __imageBox.width, __imageBox.height), *__pCurrentBitmap); // Image to be cropped
+ r = __pCanvas->DrawRectangle(Rectangle(__cropBox.x, __cropBox.y, __cropBox.width, __cropBox.height)); // Cropbox rectangle
+ r = __pCanvas->DrawBitmap(Rectangle((__cropBox.x + __cropBox.width / 2) - (H_CROP_RECTANGLE / 2), __cropBox.y - (H_CROP_RECTANGLE / 2), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); // Top Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle((__cropBox.x + __cropBox.width / 2) - (H_CROP_RECTANGLE / 2), (__cropBox.y + __cropBox.height - (H_CROP_RECTANGLE / 2)), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); // Bottom Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle(__cropBox.x - (H_CROP_RECTANGLE / 2), (__cropBox.y + __cropBox.height / 2) - (H_CROP_RECTANGLE / 2), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); //Left Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle(__cropBox.x + __cropBox.width - (H_CROP_RECTANGLE / 2), (__cropBox.y + __cropBox.height / 2) - (H_CROP_RECTANGLE / 2), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); //Right Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle(__cropBox.x - (H_CROP_RECTANGLE / 2), __cropBox.y - (H_CROP_RECTANGLE / 2), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); // Top Left Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle(__cropBox.x + __cropBox.width - (H_CROP_RECTANGLE / 2), __cropBox.y - (H_CROP_RECTANGLE / 2), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); // Top Right Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle(__cropBox.x + __cropBox.width - (H_CROP_RECTANGLE / 2), (__cropBox.y + __cropBox.height - (H_CROP_RECTANGLE / 2)), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); // Bottom Right Rectangle
+ r = __pCanvas->DrawBitmap(Rectangle(__cropBox.x - (H_CROP_RECTANGLE / 2), (__cropBox.y + __cropBox.height - (H_CROP_RECTANGLE / 2)), H_CROP_RECTANGLE, H_CROP_RECTANGLE), *__pRectangleBitmap); // Bottom Left Rectangle
+ __pCanvas->SetBackgroundColor(COLOR_GALLERY_BG);
+ }
+
+ return r;
+}
+
+void
+ImageCropForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("OnFormBackRequested");
+
+ SceneManager::GetInstance()->GoBackward(BackwardSceneTransition());
+}
+
+void
+ImageCropForm::OnActionPerformed(const Tizen::Ui::Control& source, int actionId)
+{
+ AppLogDebug("OnActionPerformed");
+ result r = E_SUCCESS;
+
+ switch(actionId)
+ {
+ case IDA_BUTTON_SAVE:
+ {
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+
+ if (pApp != null && pApp->GetAppControlOperationId() == APPCONTROL_OPERATION_ID_PICK)
+ {
+ ImageBuffer* pCropBuffer = null;
+ int count = 1;
+ int index = 0;
+
+ String destFilePath;
+ destFilePath.Append(App::GetInstance()->GetAppSharedPath());
+ destFilePath.Append(PATH_DATA_DIRECTORY_IN_CROP);
+ destFilePath.Append(GetFileName(__sourceFilePath));
+ destFilePath.Reverse();
+ r = destFilePath.IndexOf(FILE_EXT_SEPARATOR, 0, index);
+ destFilePath.Reverse();
+ if (r != E_SUCCESS)
+ {
+ index = 0;
+ destFilePath.Append(FILE_EXT_SEPARATOR);
+ }
+ destFilePath.Insert(FILE_NAME_SEPARATOR, destFilePath.GetLength() - index - 1);
+ destFilePath.Insert(count, destFilePath.GetLength() - index - 1);
+
+ if (__imageFormat != IMG_FORMAT_JPG || __imageFormat != IMG_FORMAT_PNG || __imageFormat != IMG_FORMAT_BMP)
+ {
+ destFilePath.Remove(destFilePath.GetLength() - index, index);
+ destFilePath.Append(CONTENT_EXT_JPG);
+ }
+
+ while (File::IsFileExist(destFilePath) == true)
+ {
+ count++;
+ destFilePath.Clear();
+ destFilePath.Append(App::GetInstance()->GetAppSharedPath());
+ destFilePath.Append(PATH_DATA_DIRECTORY_IN_CROP);
+ destFilePath.Append(GetFileName(__sourceFilePath));
+ destFilePath.Insert(FILE_NAME_SEPARATOR, destFilePath.GetLength() - index - 1);
+ destFilePath.Insert(count, destFilePath.GetLength() - index - 1);
+ if (__imageFormat != IMG_FORMAT_JPG || __imageFormat != IMG_FORMAT_PNG || __imageFormat != IMG_FORMAT_BMP)
+ {
+ destFilePath.Remove(destFilePath.GetLength() - index, index);
+ destFilePath.Append(CONTENT_EXT_JPG);
+ }
+ }
+
+ AppCtrlResult appControlResult = APP_CTRL_RESULT_FAILED;
+ HashMap* pMap = null;
+ int inputLength = 0;
+ Utf8Encoding utf8;
+ r = utf8.GetByteCount(GetFileName(destFilePath), inputLength);
+
+ while (inputLength > MAX_FILE_LENGHT)
+ {
+ destFilePath.IndexOf(FILE_NAME_SEPARATOR, 0, index);
+ destFilePath.Remove(index - 1, 1);
+ r = utf8.GetByteCount(GetFileName(destFilePath), inputLength);
+ }
+
+ pCropBuffer = __imageBuffer->CropN(((__cropBox.x - __imageBox.x) * __imageWidth) / __imageBox.width, ((__cropBox.y - __imageBox.y) * __imageHeight) / __imageBox.height,
+ (__cropBox.width * __imageWidth) / __imageBox.width, (__cropBox.height * __imageHeight) / __imageBox.height);
+
+ if (pCropBuffer != null)
+ {
+ if (__imageFormat == IMG_FORMAT_JPG || __imageFormat == IMG_FORMAT_PNG || __imageFormat == IMG_FORMAT_BMP)
+ {
+ r = pCropBuffer->EncodeToFile(destFilePath, __imageFormat, true, 100);
+ }
+ else
+ {
+ r = pCropBuffer->EncodeToFile(destFilePath, IMG_FORMAT_JPG, true, 100);
+ }
+ delete pCropBuffer;
+
+ if (r == E_SUCCESS )
+ {
+ ArrayList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pList->Add(new (std::nothrow) String(destFilePath));
+
+ pMap = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pMap->Construct();
+ pMap->Add(new (std::nothrow) String(APPCONTROL_KEY_DATA_SELECTED), pList);
+
+ appControlResult = APP_CTRL_RESULT_SUCCEEDED;
+ }
+ else
+ {
+ appControlResult = APP_CTRL_RESULT_FAILED;
+ }
+ }
+ else
+ {
+ appControlResult = APP_CTRL_RESULT_FAILED;
+ }
+
+ pApp->SendAppControlResult(appControlResult, pMap);
+ pApp->Terminate();
+ }
+ }
+ break;
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return;
+}
+
+void
+ImageCropForm::OnOrientationChanged(const Control &source, OrientationStatus orientationStatus)
+{
+ AppLogDebug("OnOrientationChanged");
+
+ __isOrientationChanged = true;
+ SetValue();
+
+ if (__pCanvas != null)
+ {
+ __pCanvas->Clear();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageCropForm::OnTouchPressed(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+ AppLogDebug("OnTouchPressed");
+
+ __touchStart = currentPosition;
+ CheckCurrentPosition(currentPosition);
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageCropForm::OnTouchMoved(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+ if (++__skipMoveEvent % 5 != 0)
+ {
+ return;
+ }
+ else
+ {
+ __skipMoveEvent = 0;
+ }
+
+ int deltaX = currentPosition.x - __touchStart.x;
+ int deltaY = currentPosition.y - __touchStart.y;
+ if (__cropMode.Equals(APPCONTROL_DATA_CROP_TYPE_AUTO, false))
+ {
+ switch(__pointLocation)
+ {
+ case INSIDE_TOP_RECTANGLE:
+ {
+ if ((__cropBox.y + deltaY) > __imageBox.y && deltaY < (__cropBox.height - (H_CROP_RECTANGLE * 3)))
+ {
+ __cropBox.y += deltaY;
+ __cropBox.height -= deltaY;
+ }
+ }
+ break;
+
+ case INSIDE_BOTTOM_RECTANGLE:
+ {
+ if ((__cropBox.y + __cropBox.height + deltaY) < (__imageBox.y + __imageBox.height)
+ && (__cropBox.height + deltaY) > (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.height += deltaY;
+ }
+ }
+ break;
+
+ case INSIDE_LEFT_RECTANGLE:
+ {
+ if ((__cropBox.x + deltaX) > __imageBox.x && deltaX < __cropBox.width - (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.x += deltaX;
+ __cropBox.width -= deltaX;
+ }
+ }
+ break;
+
+ case INSIDE_RIGHT_RECTANGLE:
+ {
+ if ((__cropBox.x + __cropBox.width + deltaX) < (__imageBox.x + __imageBox.width)
+ && __cropBox.width + deltaX > (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.width += deltaX;
+ }
+ }
+ break;
+
+ case INSIDE_TOP_LEFT_RECTANGLE:
+ {
+ if ((__cropBox.y + deltaY) > __imageBox.y && deltaY < (__cropBox.height - (H_CROP_RECTANGLE * 3))
+ && (__cropBox.x + deltaX) > __imageBox.x && deltaX < __cropBox.width - (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.y += deltaY;
+ __cropBox.height -= deltaY;
+ __cropBox.x += deltaX;
+ __cropBox.width -= deltaX;
+ }
+ }
+ break;
+
+ case INSIDE_TOP_RIGHT_RECTANGLE:
+ {
+ if ((__cropBox.y + deltaY) > __imageBox.y && deltaY < (__cropBox.height - (H_CROP_RECTANGLE * 3))
+ && (__cropBox.x + __cropBox.width + deltaX) < (__imageBox.x + __imageBox.width) && __cropBox.width + deltaX > (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.width += deltaX;
+ __cropBox.y += deltaY;
+ __cropBox.height -= deltaY;
+ }
+ }
+ break;
+
+ case INSIDE_BOTTOM_LEFT_RECTANGLE:
+ {
+ if ((__cropBox.y + __cropBox.height + deltaY) < (__imageBox.y + __imageBox.height) && (__cropBox.height + deltaY) > (H_CROP_RECTANGLE * 3)
+ && (__cropBox.x + deltaX) > __imageBox.x && deltaX < __cropBox.width - (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.x += deltaX;
+ __cropBox.width -= deltaX;
+ __cropBox.height += deltaY;
+ }
+ }
+ break;
+
+ case INSIDE_BOTTOM_RIGHT_RECTANGLE:
+ {
+ if ((__cropBox.x + __cropBox.width + deltaX) < (__imageBox.x + __imageBox.width) && __cropBox.width + deltaX > (H_CROP_RECTANGLE * 3)
+ && (__cropBox.y + __cropBox.height + deltaY) < (__imageBox.y + __imageBox.height) && (__cropBox.height + deltaY) > (H_CROP_RECTANGLE * 3))
+ {
+ __cropBox.width += deltaX;
+ __cropBox.height += deltaY;
+ }
+ }
+ break;
+
+ case INSIDE_CROPBOX:
+ {
+ if ((__cropBox.x + deltaX) > __imageBox.x)
+ {
+ __cropBox.x += deltaX;
+ }
+ else
+ {
+ __cropBox.x = __imageBox.x;
+ }
+ if ((__cropBox.y + deltaY) > __imageBox.y)
+ {
+ __cropBox.y += deltaY;
+ }
+ else
+ {
+ __cropBox.y = __imageBox.y;
+ }
+ if ((__cropBox.x + __cropBox.width + deltaX) > (__imageBox.x + __imageBox.width))
+ {
+ __cropBox.x = __imageBox.x + __imageBox.width - __cropBox.width;
+ }
+ if ((__cropBox.y + __cropBox.height + deltaY) > (__imageBox.y + __imageBox.height))
+ {
+ __cropBox.y = __imageBox.y + __imageBox.height - __cropBox.height;
+ }
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+ else if (__cropMode.Equals(APPCONTROL_DATA_CROP_TYPE_FIT_TO_SCREEN, false))
+ {
+ if (__pointLocation == INSIDE_LEFT_RECTANGLE || __pointLocation == INSIDE_BOTTOM_LEFT_RECTANGLE
+ || __pointLocation == INSIDE_TOP_LEFT_RECTANGLE)
+ {
+ int temp = __cropBox.height;
+ int height = (__formHeight * (__cropBox.width - (2 * deltaX))) /__formWidth;
+ temp = height - temp;
+ if ((__cropBox.width - (2 * deltaX) > (H_CROP_RECTANGLE * 3)) && (!(height >= __imageBox.height || (__cropBox.width - (2 * deltaX)) >= __imageBox.width)))
+ {
+ if (__cropBox.x + deltaX >= __imageBox.x && __cropBox.x + __cropBox.width - deltaX <= __imageBox.x + __imageBox.width
+ && __cropBox.y - (temp / 2) >= __imageBox.y && __cropBox.y + __cropBox.height + (temp / 2) < __imageBox.y + __imageBox.height
+ && (__cropBox.width - (2 * deltaX) > (H_CROP_RECTANGLE * 3)))
+ {
+ __cropBox.x += deltaX;
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.height = height;
+ __cropBox.y = __cropBox.y - (temp / 2);
+ }
+ else if ((__cropBox.y + __cropBox.height) <= (__imageBox.y + __imageBox.height)
+ && __cropBox.width < __imageBox.width
+ && __cropBox.x + deltaX >= __imageBox.x && __cropBox.y - temp >= __imageBox.y )
+ {
+ if (__cropBox.x + __cropBox.width - deltaX <= __imageBox.x + __imageBox.width
+ && __cropBox.x + deltaX >= __imageBox.x)
+ {
+ __cropBox.x += deltaX;
+ }
+ else
+ {
+ __cropBox.x = __cropBox.x + (2 * deltaX);
+ }
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.height = height;
+ __cropBox.y = __cropBox.y - temp;
+ }
+ else if (__cropBox.y - (temp / 2) <= __imageBox.y && __cropBox.width - (deltaX) <= __imageBox.width
+ && __cropBox.x + deltaX >= __imageBox.x && __cropBox.y + __cropBox.height + temp <= __imageBox.y + __imageBox.height)
+ {
+ if (__cropBox.x + __cropBox.width - deltaX <= __imageBox.x + __imageBox.width)
+ {
+ __cropBox.x += deltaX;
+ }
+ else
+ {
+ __cropBox.x = __cropBox.x + (2 * deltaX);
+ }
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.height = height;
+ }
+ }
+ }
+ else if (__pointLocation == INSIDE_RIGHT_RECTANGLE || __pointLocation == INSIDE_BOTTOM_RIGHT_RECTANGLE
+ || __pointLocation == INSIDE_TOP_RIGHT_RECTANGLE)
+ {
+ deltaX *= -1;
+ int temp = __cropBox.height;
+ int height = (__formHeight * (__cropBox.width - (2 * deltaX))) / __formWidth;
+ temp = height - temp;
+ if ((__cropBox.width - (2 * deltaX) > (H_CROP_RECTANGLE * 3)) && (!(height >= __imageBox.height || (__cropBox.width - (2 * deltaX)) >= __imageBox.width)))
+ {
+ if (deltaX < __cropBox.width - (H_CROP_RECTANGLE * 3))
+ {
+ if (__cropBox.x + deltaX > __imageBox.x && __cropBox.x + __cropBox.width - deltaX <= __imageBox.x + __imageBox.width
+ && __cropBox.y - (temp / 2) > __imageBox.y && __cropBox.y + __cropBox.height + (temp / 2) < __imageBox.y + __imageBox.height)
+ {
+ __cropBox.x += deltaX;
+ __cropBox.width = __cropBox.width - (2 * deltaX);;
+ __cropBox.height = height;
+ __cropBox.y = __cropBox.y - (temp / 2);
+ }
+ else if ((__cropBox.y + __cropBox.height + (temp / 2)) >= (__imageBox.y + __imageBox.height)
+ && __cropBox.x + __cropBox.width - (2 * deltaX) <= __imageBox.x + __imageBox.width
+ && __cropBox.x - deltaX >= __imageBox.x && __cropBox.y - temp >= __imageBox.y )
+ {
+ if (__cropBox.x + __cropBox.width - deltaX <= __imageBox.x + __imageBox.width
+ && __cropBox.x + deltaX >= __imageBox.x)
+ {
+ __cropBox.x += deltaX;
+ }
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.height = height;
+ __cropBox.y = __cropBox.y - temp;
+ }
+ else if (__cropBox.y - (temp / 2) <= __imageBox.y && __cropBox.width - (deltaX) <= __imageBox.width
+ && __cropBox.x + deltaX <= __imageBox.x && __cropBox.y + __cropBox.height + temp <= __imageBox.y + __imageBox.height)
+ {
+ if (__cropBox.x + deltaX >= __imageBox.x)
+ {
+ __cropBox.x += deltaX;
+ }
+ else
+ {
+ __cropBox.x = __imageBox.x;
+ }
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.height = height;
+ }
+ else if (__cropBox.y - (temp / 2) <= __imageBox.y && __cropBox.x + deltaX >= __imageBox.x
+ && __cropBox.x + __cropBox.width - deltaX <= __imageBox.x + __imageBox.width
+ && __cropBox.y + __cropBox.height + temp <= __imageBox.y + __imageBox.height)
+ {
+ __cropBox.x += deltaX;
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.height = height;
+ }
+ else if (__cropBox.x + deltaX <= __imageBox.x && __cropBox.y - (temp / 2) >= __imageBox.y
+ && __cropBox.x + __cropBox.width - (2 * deltaX) <= __imageBox.x + __imageBox.width
+ && __cropBox.y + __cropBox.height + temp <= __imageBox.y + __imageBox.height)
+ {
+ __cropBox.width = __cropBox.width - (2 * deltaX);
+ __cropBox.y = __cropBox.y - (temp / 2);
+ __cropBox.height = height;
+ }
+ }
+ }
+ }
+ else if (__pointLocation == INSIDE_TOP_RECTANGLE)
+ {
+ int temp = __cropBox.width;
+ int width = (__formWidth * (__cropBox.height - (2 * deltaY))) / __formHeight;
+ temp = width - temp;
+ if (__cropBox.height - (2 * deltaY) > (__formHeight * (H_CROP_RECTANGLE * 3)) / __formWidth && (!(__cropBox.height - (2 * deltaY) >= __imageBox.height || width >= __imageBox.width)))
+ {
+ if (__cropBox.x - (temp /2 ) > __imageBox.x && __cropBox.x + __cropBox.width + temp < __imageBox.x + __imageBox.width
+ && __cropBox.y + (deltaY) > __imageBox.y && __cropBox.y + __cropBox.height - (2 * deltaY) < __imageBox.y + __imageBox.height)
+ {
+ __cropBox.y += deltaY;
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ __cropBox.width = width;
+ __cropBox.x = __cropBox.x - (temp / 2);
+ }
+ else if (__cropBox.x - (temp / 2) < __imageBox.x)
+ {
+ if (__cropBox.x + __cropBox.width + temp <= __imageBox.x + __imageBox.width)
+ {
+ __cropBox.width = width;
+ }
+ if (__cropBox.y + deltaY >= __imageBox.y)
+ {
+ __cropBox.y += deltaY;
+ }
+ if (__cropBox.y + __cropBox.height - (2 * deltaY) < __imageBox.y + __imageBox.height)
+ {
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ }
+ else if (__cropBox.y + __cropBox.height - (2 * deltaY) >= __imageBox.x + __imageBox.height
+ && __cropBox.y + (2 * deltaY) >= __imageBox.y)
+ {
+ if (__cropBox.x - temp >= __imageBox.x
+ && __cropBox.x + __cropBox.width + temp > __imageBox.x + __imageBox.width)
+ {
+ __cropBox.x = __cropBox.x - temp;
+ }
+ else if (__cropBox.x - temp >= __imageBox.x)
+ {
+ __cropBox.x = __cropBox.x - temp / 2;
+ }
+ if (__cropBox.x + __cropBox.width + temp <= __imageBox.x + __imageBox.width)
+ {
+ __cropBox.width = width;
+ }
+ if (__cropBox.y + (2 * deltaY) >= __imageBox.y)
+ {
+ __cropBox.y = __cropBox.y + (2 * deltaY);
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ }
+ else if (__cropBox.x + __cropBox.width + (temp / 2) > __imageBox.x + __imageBox.width
+ && __cropBox.x - temp >= __imageBox.x && __cropBox.y + deltaY >= __imageBox.y
+ && __cropBox.y + __cropBox.height - (2 * deltaY) <= __imageBox.y + __imageBox.height)
+ {
+ __cropBox.x = __cropBox.x - temp;
+ __cropBox.width = width;
+ __cropBox.y += deltaY;
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ }
+ }
+ else if (__pointLocation == INSIDE_BOTTOM_RECTANGLE)
+ {
+ deltaY = deltaY * (-1);
+ int temp = __cropBox.width;
+ int width = (__formWidth * (__cropBox.height - (2 * deltaY))) / __formHeight;
+ temp = width - temp;
+ if (__cropBox.height - (2 * deltaY) > (__formHeight * (H_CROP_RECTANGLE * 3)) / __formWidth && (!(__cropBox.height - (2 * deltaY) >= __imageBox.height || width >= __imageBox.width)))
+ {
+ if (__cropBox.x - (temp / 2) >= __imageBox.x && __cropBox.x + __cropBox.width + temp < __imageBox.x + __imageBox.width
+ && __cropBox.y + deltaY > __imageBox.y && __cropBox.y + __cropBox.height - (2 * deltaY) < __imageBox.y + __imageBox.height)
+ {
+ __cropBox.y += deltaY;
+ __cropBox.height = __cropBox.height - (2 * deltaY);;
+ __cropBox.width = width;
+ __cropBox.x = __cropBox.x - (temp / 2);
+ }
+ else if (__cropBox.y + deltaY < __imageBox.y && __cropBox.y + __cropBox.height - (2 * deltaY) < __imageBox.y + __imageBox.height
+ && __cropBox.x - (temp / 2) > __imageBox.x && __cropBox.x + __cropBox.width + temp < __imageBox.x + __imageBox.width)
+ {
+ __cropBox.x = __cropBox.x - (temp / 2);
+ __cropBox.width = width;
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ else if (__cropBox.x + __cropBox.width + temp > __imageBox.x + __imageBox.width
+ && __cropBox.y + deltaY >= __imageBox.y && __cropBox.y + __cropBox.height + temp <= __imageBox.y + __imageBox.height
+ && __cropBox.x - temp >= __imageBox.x)
+ {
+ __cropBox.x = __cropBox.x - temp;
+ __cropBox.y += deltaY;
+ __cropBox.width = width;
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ else if (__cropBox.x + __cropBox.width + temp >= __imageBox.x + __imageBox.width
+ && __cropBox.y + deltaY <= __imageBox.y && __cropBox.x - temp > __imageBox.x
+ && __cropBox.y + __cropBox.height + temp < __imageBox.y + __imageBox.height)
+ {
+ __cropBox.x -= temp;
+ __cropBox.width = width;
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ else if (__cropBox.x - temp < __imageBox.x && __cropBox.x + __cropBox.width + temp <= __imageBox.x + __imageBox.width
+ && __cropBox.y + __cropBox.height - (2 * deltaY) <= __imageBox.y + __imageBox.height)
+ {
+ if (__cropBox.y + deltaY >= __imageBox.y)
+ {
+ __cropBox.y += deltaY;
+ }
+ __cropBox.width = width;
+ __cropBox.height = __cropBox.height - (2 * deltaY);
+ }
+ }
+ }
+ else if (__pointLocation == INSIDE_CROPBOX)
+ {
+ if ((__cropBox.x + deltaX) > __imageBox.x)
+ {
+ __cropBox.x += deltaX;
+ }
+ else
+ {
+ __cropBox.x = __imageBox.x;
+ }
+ if ((__cropBox.y + deltaY) > __imageBox.y)
+ {
+ __cropBox.y += deltaY;
+ }
+ else
+ {
+ __cropBox.y = __imageBox.y;
+ }
+ if ((__cropBox.x + __cropBox.width + deltaX) > (__imageBox.x + __imageBox.width))
+ {
+ __cropBox.x = __imageBox.x + __imageBox.width - __cropBox.width;
+ }
+ if ((__cropBox.y + __cropBox.height + deltaY) > (__imageBox.y + __imageBox.height))
+ {
+ __cropBox.y = __imageBox.y + __imageBox.height - __cropBox.height;
+ }
+ }
+ }
+ RequestRedraw(false);
+ __touchStart = currentPosition;
+}
+
+void
+ImageCropForm::OnTouchReleased(const Tizen::Ui::Control& source, const Tizen::Graphics::Point& currentPosition, const Tizen::Ui::TouchEventInfo& touchInfo)
+{
+ AppLogDebug("OnTouchReleased");
+
+ __pointLocation = OUTSIDE_CROPBOX;
+}
+
+void
+ImageCropForm::OnSceneActivatedN(const SceneId& previousSceneId, const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("OnSceneActivatedN");
+
+ __pPresentationModel->AddContentEventListener(this);
+
+ if (pArgs != null)
+ {
+ __sourceFilePath = *(static_cast<String*>(pArgs->GetAt(0)));
+ pArgs->RemoveAll(true);
+ delete pArgs;
+
+ if (__sourceFilePath.IsEmpty() == false)
+ {
+ if ( __imageBuffer != null)
+ {
+ delete __imageBuffer;
+ __imageBuffer = null;
+ }
+
+ __imageBuffer = new (std::nothrow) ImageBuffer();
+
+ result r = __imageBuffer->Construct(__sourceFilePath.GetPointer());
+ if (r == E_SUCCESS)
+ {
+ __imageWidth = __imageBuffer->GetWidth();
+ __imageHeight = __imageBuffer->GetHeight();
+
+ int physicalHeight = CoordinateSystem::ConvertToPhysicalY(__imageHeight);
+ int physicalWidth = CoordinateSystem::ConvertToPhysicalX(__imageWidth);
+ __pCurrentBitmap = __imageBuffer->GetBitmapN(BITMAP_PIXEL_FORMAT_ARGB8888, physicalWidth, physicalHeight);
+ SetValue();
+
+ Image img;
+ r = img.Construct();
+ if (r == E_SUCCESS)
+ {
+ __imageFormat = img.GetImageFormat(__sourceFilePath);
+ }
+ }
+ else
+ {
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null && pApp->GetAppControlOperationId() == APPCONTROL_OPERATION_ID_PICK)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_FAILED, null);
+ pApp->Terminate();
+ }
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageCropForm::OnSceneDeactivated(const SceneId& currentSceneId, const SceneId& nextSceneId)
+{
+ AppLogDebug("OnSceneDeactivated");
+ __pPresentationModel->RemoveContentEventListener(this);
+ RemoveOrientationEventListener(*this);
+}
+
+void
+ImageCropForm::CheckCurrentPosition(const Point currentPosition)
+{
+ AppLogDebug("CheckCurrentPosition");
+
+ if (currentPosition.x > ((__cropBox.x + __cropBox.width / 2) - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < ((__cropBox.x + __cropBox.width / 2) + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > (__cropBox.y - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < (__cropBox.y + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_TOP_RECTANGLE;
+ }
+ else if (currentPosition.x > (__cropBox.x - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < (__cropBox.x + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > ((__cropBox.y + __cropBox.height / 2) - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < ((__cropBox.y + __cropBox.height / 2) + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_LEFT_RECTANGLE;
+ }
+ else if (currentPosition.x > (__cropBox.x + __cropBox.width - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < (__cropBox.x + __cropBox.width + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > ((__cropBox.y + __cropBox.height / 2) - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < ((__cropBox.y + __cropBox.height / 2) + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_RIGHT_RECTANGLE;
+ }
+ else if (currentPosition.x > ((__cropBox.x + __cropBox.width / 2) - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < ((__cropBox.x + __cropBox.width / 2) + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > (__cropBox.y + __cropBox.height - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < (__cropBox.y + __cropBox.height + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_BOTTOM_RECTANGLE;
+ }
+ else if (currentPosition.x > (__cropBox.x - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < (__cropBox.x + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > (__cropBox.y - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < (__cropBox.y +(H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_TOP_LEFT_RECTANGLE;
+ }
+ else if (currentPosition.x > ((__cropBox.x + __cropBox.width / 2) - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < (__cropBox.x + __cropBox.width + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > (__cropBox.y - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < (__cropBox.y +(H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_TOP_RIGHT_RECTANGLE;
+ }
+ else if (currentPosition.x > (__cropBox.x + __cropBox.width - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < (__cropBox.x + __cropBox.width + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > (__cropBox.y + __cropBox.height - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < (__cropBox.y + __cropBox.height + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_BOTTOM_RIGHT_RECTANGLE;
+ }
+ else if (currentPosition.x > (__cropBox.x - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.x < (__cropBox.x + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET)
+ && currentPosition.y > (__cropBox.y + __cropBox.height - (H_CROP_RECTANGLE / 2) - CROP_BOX_OFFSET) && currentPosition.y < (__cropBox.y + __cropBox.height + (H_CROP_RECTANGLE / 2) + CROP_BOX_OFFSET))
+ {
+ __pointLocation = INSIDE_BOTTOM_LEFT_RECTANGLE;
+ }
+ else if (currentPosition.x > __cropBox.x && currentPosition.x < (__cropBox.x + __cropBox.width) && currentPosition.y > __cropBox.y && currentPosition.y < (__cropBox.y + __cropBox.height))
+ {
+ __pointLocation = INSIDE_CROPBOX;
+ }
+ else
+ {
+ __pointLocation = OUTSIDE_CROPBOX;
+ }
+ return;
+}
+
+void
+ImageCropForm::SetValue(void)
+{
+ int prevHeight = __imageBox.height;
+ int prevWidth = __imageBox.width;
+ int prevImageboxX = __imageBox.x;
+ int prevImageBoxY = __imageBox.y;
+
+ if (GetOrientationStatus() == ORIENTATION_STATUS_PORTRAIT)
+ {
+ __formHeight = Form::GetBounds().height;
+ __formWidth = Form::GetBounds().width;
+ }
+ else if (GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE || GetOrientationStatus() == ORIENTATION_STATUS_LANDSCAPE_REVERSE)
+ {
+ __formHeight = Form::GetBounds().width;
+ __formWidth = Form::GetBounds().height;
+ }
+
+ float clientAreaRatio = (GetClientAreaBoundsF().height) / GetClientAreaBoundsF().width;
+
+ if (__imageWidth >= GetClientAreaBounds().width || __imageHeight > GetClientAreaBounds().height)
+ {
+ float imageRatio = __imageHeight / (float) __imageWidth;
+ if (imageRatio < clientAreaRatio)
+ {
+ __imageBox.width = GetClientAreaBounds().width;
+ __imageBox.height = (__imageHeight * __imageBox.width) / __imageWidth;
+ __imageBox.x = GetClientAreaBounds().x;
+ __imageBox.y = GetClientAreaBounds().y + (GetClientAreaBounds().height - __imageBox.height) / 2;
+ }
+ else
+ {
+ __imageBox.height = GetClientAreaBounds().height;
+ __imageBox.width = (__imageWidth * __imageBox.height) / __imageHeight;
+ __imageBox.x = (GetClientAreaBounds().width - __imageBox.width) / 2;
+ __imageBox.y = GetClientAreaBounds().y;
+ }
+ }
+ else
+ {
+ __imageBox.height = __imageHeight;
+ __imageBox.width = __imageWidth;
+ __imageBox.x = (GetClientAreaBounds().width - __imageBox.width) / 2;
+ __imageBox.y = GetClientAreaBounds().y + (GetClientAreaBounds().height - __imageBox.height) / 2 ;
+ }
+ if (__isOrientationChanged == false)
+ {
+ if (__imageBox.height > __imageBox.width)
+ {
+ __cropBox.width = (2 * __imageBox.width) / 3;
+ __cropBox.height = (__formHeight * __cropBox.width / __formWidth);
+ if (__cropBox.height > __imageBox.height)
+ {
+ __cropBox.height = (2 * __imageBox.height) / 3;
+ __cropBox.width = (__cropBox.height * __formWidth) / __formHeight;
+ }
+ __cropBox.y = __imageBox.y + (__imageBox.height - __cropBox.height) / 2;
+ __cropBox.x = __imageBox.x + (__imageBox.width - __cropBox.width) / 2;
+ }
+ else
+ {
+ __cropBox.height = (2 *__imageBox.height) / 3;
+ __cropBox.width = (__formWidth * __cropBox.height / __formHeight);
+ if (__cropBox.width > __imageBox.width)
+ {
+ __cropBox.width = (2 * __imageBox.width) / 3;
+ __cropBox.height = (__formHeight * __cropBox.width) / __formWidth;
+ }
+ __cropBox.y = __imageBox.y + (__imageBox.height - __cropBox.height) / 2;
+ __cropBox.x = __imageBox.x + (__imageBox.width - __cropBox.width) / 2;
+ }
+ }
+ else
+ {
+ float temp = __imageBox.x + ((__cropBox.x - prevImageboxX) * __imageBox.width) / (float) prevWidth;
+ __cropBox.x = (temp + 0.5);
+ temp = __imageBox.y + ((__cropBox.y - prevImageBoxY) * __imageBox.height) / (float) prevHeight;
+ __cropBox.y = (temp + 0.5);
+ temp = (__cropBox.height * __imageBox.height) / (float) prevHeight;
+ __cropBox.height = (temp + 0.5);
+ temp = (__cropBox.width * __imageBox.width) / (float) prevWidth;
+ __cropBox.width = (temp + 0.5);
+ }
+ __pCanvas = GetCanvasN(0.0f, 0.0f, GetClientAreaBoundsF().width, GetClientAreaBoundsF().height);
+ if (__pCanvas != null)
+ {
+ __pCanvas->SetBackgroundColor(COLOR_GALLERY_BG);
+ __pCanvas->SetForegroundColor(CROP_BOX_RECTANGLE_COLOR);
+ }
+}
+
+String
+ImageCropForm::GetFileName(const String& filePath, bool isCheckExe) const
+{
+ String strResult;
+ int lastIndex = -1 ;
+
+ filePath.LastIndexOf(DIRECTORY_SEPARATOR, filePath.GetLength() - 1, lastIndex);
+ filePath.SubString(lastIndex+1, strResult);
+
+ if (isCheckExe == true)
+ {
+ String strTemp = strResult;
+
+ lastIndex = -1;
+ strTemp.LastIndexOf(FILE_EXT_SEPARATOR, strTemp.GetLength() - 1, lastIndex);
+ strTemp.SubString(0, lastIndex, strResult);
+ }
+
+ return strResult;
+}
+
+void
+ImageCropForm::OnContentUpdated()
+{
+ AppLogDebug("ENTER");
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+
+ AppLogDebug("EXIT(%s)");
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlImageListEditorPanel.cpp
+ * @brief This is the implementation file for ImageListEditorPanel class.
+ */
+
+#include <FContent.h>
+#include <FMedia.h>
+#include "GlAlbumInfo.h"
+#include "GlCommonUtil.h"
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlImageListEditorPanel.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+#include "GlFileUpdateTimer.h"
+#include "GlFileListEditorForm.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const int H_SELECTALL_REGION = 112;
+static const int COUNT_LABEL_FONT_SIZE = 33;
+static const unsigned int COLOR_COUNT_LABEL = Color32<68, 68, 68>::Value;
+static const unsigned int COLOR_SELECT_COUNT_FONT = Color32<255, 255, 255>::Value;
+static const Color COLOR_THUMBNAIL_DIM (Color::GetColor(COLOR_ID_BLACK));
+static const float H_COUNT_LABEL = 48.0f;
+static const int LENGTH_COUNT_LABEL = 256;
+static const int ALPHA_THUMBNAIL_DIM = 70;
+static const Rectangle RECT_INITIAL (0, 0, 10, 10);
+static const int H_CROP_RECTANGLE = 20;
+
+ImageListEditorPanel::ImageListEditorPanel(void)
+ : __itemCount(0)
+ , __pContentIconListView(null)
+ , __pCheckButton(null)
+ , __pLabelSelectCnt(null)
+ , __pPresentationModel(null)
+ , __pFileListEditorForm(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ImageListEditorPanel::~ImageListEditorPanel(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+ImageListEditorPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(RECT_INITIAL);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+ImageListEditorPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+ __itemCount = 0;
+
+ FloatRectangle clientAreaBounds = pForm->GetClientAreaBoundsF();
+ SetBounds(0.0f, 0.0f, clientAreaBounds.width, clientAreaBounds.height);
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ __pContentIconListView = new (std::nothrow) IconListView();
+
+ if (__pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width, clientAreaBounds.height - H_COUNT_LABEL),
+ DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_MARK,
+ ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __pLabelSelectCnt = new (std::nothrow) Label();
+
+ __pLabelSelectCnt->Construct(FloatRectangle(0, clientAreaBounds.height - H_COUNT_LABEL,
+ clientAreaBounds.width, H_COUNT_LABEL), ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED"));
+ __pLabelSelectCnt->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ __pLabelSelectCnt->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ __pLabelSelectCnt->SetBackgroundColor(COLOR_COUNT_LABEL);
+ __pLabelSelectCnt->SetTextColor(Color(COLOR_SELECT_COUNT_FONT));
+ __pLabelSelectCnt->SetTextConfig(COUNT_LABEL_FONT_SIZE, LABEL_TEXT_STYLE_BOLD);
+ AddControl(__pLabelSelectCnt);
+ }
+ else
+ {
+ __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width, clientAreaBounds.height),
+ DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_NORMAL,
+ ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+ }
+ }
+ else
+ {
+ __pContentIconListView = new (std::nothrow) IconListView();
+ __pContentIconListView->Construct(Rectangle(0, H_SELECTALL_REGION, clientAreaBounds.width,
+ clientAreaBounds.height - H_SELECTALL_REGION), DIMENSION_DEFAULT_THUMBNAIL,
+ ICON_LIST_VIEW_STYLE_MARK, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __pLabelSelectCnt = new (std::nothrow) Label();
+ __pLabelSelectCnt->Construct(
+ Rectangle(0, clientAreaBounds.height - H_COUNT_LABEL, clientAreaBounds.width, H_COUNT_LABEL),
+ ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED"));
+ __pLabelSelectCnt->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ __pLabelSelectCnt->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ __pLabelSelectCnt->SetBackgroundColor(COLOR_COUNT_LABEL);
+ __pLabelSelectCnt->SetTextColor(Color(COLOR_SELECT_COUNT_FONT));
+ AddControl(__pLabelSelectCnt);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+ImageListEditorPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+int
+ImageListEditorPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+IconListViewItem*
+ImageListEditorPanel::CreateItem(int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ IconListViewItem* pIconListviewItem = new (std::nothrow) IconListViewItem();
+ Bitmap* pBitmap = null;
+ String* pItemText = null;
+
+ result r = __pPresentationModel->GetThumbnailInSyncCacheN(index, pItemText, pBitmap);
+ if (pBitmap == null || r == E_FAILURE)
+ {
+ __pPresentationModel->RequestThumbnail(index);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ if (pItemText == null)
+ {
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+ else if ((*pItemText) != ResourceManager::GetString(L"EMPTY_SPACE"))
+ {
+ delete pItemText;
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ if (__pContentIconListView->IsItemChecked(index) == true)
+ {
+ if (pBitmap != null)
+ {
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+ Color dimColor(COLOR_THUMBNAIL_DIM);
+ dimColor.SetAlpha(ALPHA_THUMBNAIL_DIM);
+
+ Canvas canvas;
+ canvas.Construct(bufferInfo);
+ canvas.FillRectangle(dimColor, canvas.GetBounds());
+
+ Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
+ pSelectedBitmap->Construct(canvas, canvas.GetBounds());
+ pIconListviewItem->Construct(*pBitmap, pItemText, pSelectedBitmap);
+ delete pSelectedBitmap;
+ }
+ else
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ delete pIconListviewItem;
+ delete pItemText;
+ return null;
+ }
+ }
+ else
+ {
+ pIconListviewItem->Construct(*pBitmap, pItemText);
+ }
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListviewItem;
+}
+
+bool
+ImageListEditorPanel::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+ImageListEditorPanel::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+
+ if (status == ICON_LIST_VIEW_ITEM_CHECKED || status == ICON_LIST_VIEW_ITEM_UNCHECKED)
+ {
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ else
+ {
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ if (__pCheckButton->IsSelected())
+ {
+ __pCheckButton->SetSelected(false);
+ }
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+
+ if ( __pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK
+ && __pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_SINGLE)
+ {
+ if (status == ICON_LIST_VIEW_ITEM_SELECTED)
+ {
+ GalleryApp* pApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ const IMap* pArguments = pApp->GetAppControlArguments();
+ const String* cropMode = null;
+
+ if (pArguments != null)
+ {
+ cropMode = static_cast<const String*>(pArguments->GetValue(String(APPCONTROL_KEY_IMAGEVIEWER_MODE)));
+ }
+
+ int width = 0;
+ int height = 0;
+ ImageFormat imageFormat = IMG_FORMAT_NONE;
+ result r = E_SUCCESS;
+ r = ImageBuffer::GetImageInfo(__pPresentationModel->GetContentFilePath(index), imageFormat, width, height);
+
+ if (cropMode != null && r == E_SUCCESS && width > (H_CROP_RECTANGLE * 5) && height > (H_CROP_RECTANGLE * 5))
+ {
+ ArrayList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(index)));
+ SceneManager::GetInstance()->GoForward(ForwardSceneTransition(IDSCN_IMAGE_CROP), pList);
+ }
+ else
+ {
+
+ HashMap* pMap = new (std::nothrow) HashMap(SingleObjectDeleter);
+ result r = pMap->Construct();
+ if (r == E_SUCCESS)
+ {
+
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ r = pArrayList->Construct();
+ if (r == E_SUCCESS)
+ {
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(index)));
+ pMap->Add(new (std::nothrow) String(APPCONTROL_KEY_DATA_SELECTED), (Object*)pArrayList);
+
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_SUCCEEDED, pMap);
+ pApp->Terminate();
+ }
+ else
+ {
+ delete pMap;
+ }
+ }
+ else
+ {
+ delete pArrayList;
+ delete pMap;
+ }
+ }
+ else
+ {
+ delete pMap;
+ }
+ }
+ }
+ }
+ SetButtonState();
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListEditorPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if (contentType == CONTENT_TYPE_IMAGE)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_IMAGE);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListEditorPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)",index);
+ if (index >= 0)
+ {
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListEditorPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+
+ ChangeOrientation();
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (currentSceneId == IDSCN_IMAGE_LIST_EDITOR)
+ {
+ if (previousSceneId == IDSCN_ALBUM_LIST)
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pArgs->GetAt(0));
+ if (pAlbumInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ IList* pDirectoryList = pAlbumInfo->GetDirectoryListN();
+ __pPresentationModel->SetCurrentAlbumInfo(pAlbumInfo->GetAlbumName(), *pDirectoryList);
+
+ if (pDirectoryList != null)
+ {
+ delete pDirectoryList;
+ }
+ delete pArgs;
+
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ }
+ }
+ else
+ {
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->RequestRedraw(true);
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ __pFileListEditorForm = dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturnVoid(__pFileListEditorForm != null, "[%s] fail to get FileListEditorForm.", GetErrorMessage(GetLastResult()));
+
+ String titleText = __pPresentationModel->GetCurrentAlbumName();
+
+ if (titleText == ALL_ALBUMS_REAL_NAME)
+ {
+ String text = ResourceManager::GetString(L"IDS_MEDIABR_BODY_ALL_ALBUMS");
+ __pFileListEditorForm->SetTitleText(text);
+ }
+ else
+ {
+ __pFileListEditorForm->SetTitleText(titleText);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListEditorPanel::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+ImageListEditorPanel::GetItemCheckedCount(void) const
+{
+ AppLogDebug("ENTER");
+ int count = 0;
+ if (__pContentIconListView != null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ ++count;
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return count;
+}
+
+IList*
+ImageListEditorPanel::GetItemCheckedIndexListN(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ Integer* pIndex = null;
+
+ if (__pContentIconListView != null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ AppLogDebug("ENTER loopCount(%d)", loopCount);
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ pIndex = new (std::nothrow) Integer(i);
+ AppLogDebug("ENTER loopCount(%d)", loopCount);
+ AppLogDebug("ENTER loopCount(%d)", pIndex->ToInt());
+ pList->Add(pIndex);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pList;
+}
+
+void ImageListEditorPanel::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ FileListEditorForm* pFileListEditorForm =
+ dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturnVoid(pFileListEditorForm != null, "[%s] fail to get SceneManager.",
+ GetErrorMessage(GetLastResult()));
+ pFileListEditorForm->Invalidate(true);
+}
+
+void ImageListEditorPanel::OnFileOpComplete(enum FileActionMode actionId, enum FileActionCompleteRes res)
+{
+}
+
+void
+ImageListEditorPanel::OnRequestAppExitWithMultipleSelectionAppControlResult(void)
+{
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+
+ if (pIndexList->GetCount() <= 0)
+ {
+ delete pIndexList;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+ int loopCount = pIndexList->GetCount();
+ Integer* pTemp = null;
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pTemp = static_cast<Integer*>(pIndexList->GetAt(i));
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(pTemp->ToInt())));
+ }
+
+ HashMap* pMap = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pMap->Construct();
+ pMap->Add(new (std::nothrow) String(APPCONTROL_KEY_DATA_SELECTED), pArrayList);
+
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_SUCCEEDED, pMap);
+ pApp->Terminate();
+ }
+
+ delete pIndexList;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListEditorPanel::OnSelectAllPressed(void)
+{
+ bool needToSelectAll = true;
+ int checkedCount = GetItemCheckedCount();
+ int totalFileCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ if (checkedCount == totalFileCount)
+ {
+ needToSelectAll = false;
+ }
+
+ if (needToSelectAll == true)
+ {
+ for (int i = 0; i < totalFileCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == false)
+ {
+ __pContentIconListView->SetItemChecked(i, true);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ if (__pFileListEditorForm != null)
+ {
+ __pFileListEditorForm->SetFooterButtonsState(true);
+ }
+ }
+ }
+ else
+ {
+ for (int i = 0; i < totalFileCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == true)
+ {
+ __pContentIconListView->SetItemChecked(i, false);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ if (__pFileListEditorForm != null)
+ {
+ __pFileListEditorForm->SetFooterButtonsState(false);
+ }
+ }
+ }
+
+ String tempString;
+ if (needToSelectAll == true)
+ {
+ tempString.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), totalFileCount);
+ }
+ else
+ {
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+
+ __pLabelSelectCnt->SetText(tempString);
+ __pLabelSelectCnt->RequestRedraw(true);
+}
+
+void
+ImageListEditorPanel::SetButtonState(void)
+{
+ AppLogDebug("ENTER");
+
+ TryReturnVoid(__pFileListEditorForm != null, "[%s] __pFileListEditorForm is null", GetErrorMessage(GetLastResult()));
+
+ if (GetItemCheckedCount() > 0)
+ {
+ AppLogDebug("BUTTONSTATE : Request Enable");
+ __pFileListEditorForm->SetFooterButtonsState(true);
+ }
+ else
+ {
+ AppLogDebug("BUTTONSTATE : Request disable");
+ __pFileListEditorForm->SetFooterButtonsState(false);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListEditorPanel::ChangeOrientation(void)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ const Form* pForm = dynamic_cast<Form*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturn(pForm != null,, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ FloatRectangle clientAreaBounds = pForm->GetClientAreaBoundsF();
+ SetBounds(0.0f, 0.0f, clientAreaBounds.width, clientAreaBounds.height);
+ if (__pLabelSelectCnt != NULL)
+ {
+ __pLabelSelectCnt->SetBounds(0.0f, clientAreaBounds.height - H_COUNT_LABEL, clientAreaBounds.width, H_COUNT_LABEL);
+ }
+ __pContentIconListView->SetBounds(0.0f, 0.0f, clientAreaBounds.width, clientAreaBounds.height -H_COUNT_LABEL);
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlImageListPanel.cpp
+ * @brief This is the implementation file for ImageListPanel class.
+ */
+
+#include <FContent.h>
+#include <FMedia.h>
+#include "GlAlbumInfo.h"
+#include "GlCommonUtil.h"
+#include "GlFileListForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlImageListPanel.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const Rectangle RECT_INITIAL (0, 0, 10, 10);
+static const int W_CLIENT = 720;
+static const int H_CONTENT_MARGIN = 24;
+static const int W_CONTENT_MARGIN = 14;
+static const int W_CONTENT_SPACE = 20;
+static const int H_CONTENT_SPACE = 24;
+
+ImageListPanel::ImageListPanel(void)
+ : __itemCount(0)
+ , __pContentIconListView(null)
+ , __pPresentationModel(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ImageListPanel::~ImageListPanel(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+ImageListPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(RECT_INITIAL);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+ImageListPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ clientAreaBounds.x = clientAreaBounds.y = 0;
+ SetBounds(clientAreaBounds);
+ __pContentIconListView = new (std::nothrow) IconListView();
+ __pContentIconListView->Construct(Rectangle(0, 0, W_CLIENT, clientAreaBounds.height),
+ DIMENSION_DEFAULT_THUMBNAIL, ICON_LIST_VIEW_STYLE_NORMAL, ICON_LIST_VIEW_SCROLL_DIRECTION_VERTICAL);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetMargin(MARGIN_TYPE_LEFT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_RIGHT, W_CONTENT_MARGIN);
+ __pContentIconListView->SetMargin(MARGIN_TYPE_TOP, H_CONTENT_MARGIN);
+ __pContentIconListView->SetItemSpacing(W_CONTENT_SPACE, H_CONTENT_SPACE);
+ __pContentIconListView->SetItemBorderStyle(ICON_LIST_VIEW_ITEM_BORDER_STYLE_NONE);
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->SetCheckBoxPosition(ICON_LIST_VIEW_CHECK_BOX_POSITION_TOP_RIGHT);
+ __pContentIconListView->AddIconListViewItemEventListener(*this);
+ __pContentIconListView->SetTouchAnimationEnabled(false);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+ __itemCount = 0;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+ImageListPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+int
+ImageListPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+IconListViewItem*
+ImageListPanel::CreateItem(int index)
+{
+ AppLogDebug("ENTER");
+ IconListViewItem* pIconListviewItem = new (std::nothrow) IconListViewItem();
+ Bitmap* pBitmap = null;
+ String* pItemText = null;
+ result r = __pPresentationModel->GetThumbnailInSyncCacheN(index, pItemText, pBitmap);
+ if (pBitmap == null || r == E_FAILURE)
+ {
+ __pPresentationModel->RequestThumbnail(index);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ if (pItemText == null)
+ {
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+ else if ((*pItemText) != ResourceManager::GetString(L"EMPTY_SPACE"))
+ {
+ delete pItemText;
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ pIconListviewItem->Construct(*pBitmap, pItemText);
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pIconListviewItem;
+}
+
+bool
+ImageListPanel::DeleteItem(int index, IconListViewItem* pItem)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+ImageListPanel::OnIconListViewItemStateChanged(IconListView& view, int index, IconListViewItemStatus status)
+{
+ AppLogDebug("ENTER");
+ if (status == ICON_LIST_VIEW_ITEM_SELECTED)
+ {
+ ArrayList* pArrayList = new (std::nothrow) ArrayList();
+ pArrayList->Construct();
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(i)));
+ }
+ String listIndex;
+ listIndex.Format(10, L"%d", index);
+
+ const String mimeType = APPCONTROL_MIME_IMAGE_ALL;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_IMAGE));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pArrayList);
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_INDEX), new (std::nothrow) String(listIndex));
+
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
+ &mimeType, pDataList, null);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if (contentType == CONTENT_TYPE_IMAGE)
+ {
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ if (index >= 0)
+ {
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ if (currentSceneId == IDSCN_IMAGE_LIST)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_IMAGE);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_IMAGE_LIST)
+ {
+ FileListForm* pFileListForm = dynamic_cast<FileListForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ if (pFileListForm != null)
+ {
+ pFileListForm->SetTitleText(__pPresentationModel->GetCurrentAlbumName());
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ImageListPanel::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlMainFrame.cpp
+ * @brief This is the implementation file for MainFrame class.
+ */
+
+#include <FUi.h>
+#include "GlGalleryApp.h"
+#include "GlFormFactory.h"
+#include "GlMainFrame.h"
+#include "GlPanelFactory.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+MainFrame::MainFrame(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+MainFrame::~MainFrame(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+MainFrame::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ static FormFactory formFactory;
+ static PanelFactory panelFactory;
+
+ AddFrameEventListener(*this);
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+
+ r = pSceneManager->RegisterFormFactory(formFactory);
+ r = pSceneManager->RegisterPanelFactory(panelFactory);
+
+ r = pSceneManager->RegisterScene(IDSCN_ALBUM_LIST, IDC_FORM_ALBUM_LIST, IDC_PANEL_BLANK);
+ r = pSceneManager->RegisterScene(IDSCN_ALBUM_LIST_EDITOR, IDC_FORM_ALBUM_LIST_EDITOR, IDC_PANEL_BLANK);
+ r = pSceneManager->RegisterScene(IDSCN_ALBUM_NAME_EDITOR, IDC_FORM_ALBUM_NAME_EDITOR, IDC_PANEL_BLANK);
+
+ r = pSceneManager->RegisterScene(IDSCN_ALL_LIST, IDC_FORM_FILE_LIST, IDC_PANEL_ALL_LIST);
+ r = pSceneManager->RegisterScene(IDSCN_IMAGE_LIST, IDC_FORM_FILE_LIST, IDC_PANEL_IMAGE_LIST);
+ r = pSceneManager->RegisterScene(IDSCN_VIDEO_LIST, IDC_FORM_FILE_LIST, IDC_PANEL_VIDEO_LIST);
+
+ r = pSceneManager->RegisterScene(IDSCN_ALL_LIST_EDITOR, IDC_FORM_FILE_LIST_EDITOR, IDC_PANEL_ALL_LIST_EDITOR);
+ r = pSceneManager->RegisterScene(IDSCN_IMAGE_LIST_EDITOR, IDC_FORM_FILE_LIST_EDITOR, IDC_PANEL_IMAGE_LIST_EDITOR);
+ r = pSceneManager->RegisterScene(IDSCN_VIDEO_LIST_EDITOR, IDC_FORM_FILE_LIST_EDITOR, IDC_PANEL_VIDEO_LIST_EDITOR);
+
+ r = pSceneManager->RegisterScene(IDSCN_ALL_LIST_SELECTION, IDC_FORM_FILE_LIST_EDITOR,
+ IDC_PANEL_ALL_LIST_SELECTION);
+
+ r = pSceneManager->RegisterScene(IDSCN_SETTING_MAIN, IDC_FORM_SETTING_MAIN, IDC_PANEL_BLANK);
+ r = pSceneManager->RegisterScene(IDSCN_SETTING_INTERVAL, IDC_FORM_SETTING_INTERVAL, IDC_PANEL_BLANK);
+ r = pSceneManager->RegisterScene(IDSCN_SETTING_TRANSITION, IDC_FORM_SETTING_TRANSITION, IDC_PANEL_BLANK);
+ r = pSceneManager->RegisterScene(IDSCN_IMAGE_CROP, IDC_FORM_IMAGE_CROP, IDC_PANEL_BLANK);
+
+ SceneId sceneId;
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+
+ String operationID = pGalleryApp->GetAppControlOperationId();
+
+ if (operationID.CompareTo(APPCONTROL_OPERATION_ID_MAIN) == 0)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST), null);
+ }
+ else if (operationID.CompareTo(APPCONTROL_OPERATION_ID_PICK) == 0)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST), null);
+ }
+ else if (operationID.CompareTo(APPCONTROL_OPERATION_ID_CONFIGURE) == 0)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_SETTING_MAIN), null);
+ }
+ else
+ {
+ pGalleryApp->Terminate();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+MainFrame::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+MainFrame::OnFrameActivated(const Frame& source)
+{
+ AppLogDebug("OnFrameActivated");
+
+ GalleryApp* pGalleryApp = static_cast<GalleryApp*>(GalleryApp::GetInstance());
+ if (pGalleryApp != null)
+ {
+ pGalleryApp->SetFrameActivated(true);
+ }
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlPanelFactory.cpp
+ * @brief This is the implementation file for PanelFactory class.
+ */
+
+#include "GlAllListEditorPanel.h"
+#include "GlAllListPanel.h"
+#include "GlAllListSelectionPanel.h"
+#include "GlImageListEditorPanel.h"
+#include "GlImageListPanel.h"
+#include "GlPanelFactory.h"
+#include "GlVideoListEditorPanel.h"
+#include "GlVideoListPanel.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+PanelFactory::PanelFactory()
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+PanelFactory::~PanelFactory()
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+Panel*
+PanelFactory::CreatePanelN(const String& panelId, const SceneId& sceneId)
+{
+ AppLogDebug("ENTER");
+ Panel* pNewPanel = null;
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+
+ if (panelId == IDC_PANEL_ALL_LIST)
+ {
+ AllListPanel* pPanel = new (std::nothrow) AllListPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ else if (panelId == IDC_PANEL_IMAGE_LIST)
+ {
+ ImageListPanel* pPanel = new (std::nothrow) ImageListPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ else if (panelId == IDC_PANEL_VIDEO_LIST)
+ {
+ VideoListPanel* pPanel = new (std::nothrow) VideoListPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ else if (panelId == IDC_PANEL_ALL_LIST_EDITOR)
+ {
+ AllListEditorPanel* pPanel = new (std::nothrow) AllListEditorPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ else if (panelId == IDC_PANEL_IMAGE_LIST_EDITOR)
+ {
+ ImageListEditorPanel* pPanel = new (std::nothrow) ImageListEditorPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ else if (panelId == IDC_PANEL_VIDEO_LIST_EDITOR)
+ {
+ VideoListEditorPanel* pPanel = new (std::nothrow) VideoListEditorPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ else if (panelId == IDC_PANEL_ALL_LIST_SELECTION)
+ {
+ AllListSelectionPanel* pPanel = new (std::nothrow) AllListSelectionPanel();
+ pPanel->Initialize();
+ pSceneManager->AddSceneEventListener(sceneId, *pPanel);
+ pNewPanel = pPanel;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pNewPanel;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlProgressAnimation.cpp
+ * @brief This is the implementation file for GlProgressAnimation class.
+ */
+
+#include <FApp.h>
+#include "GlProgressAnimation.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+ProgressAnimation::ProgressAnimation(void)
+ : __pAnimation(null)
+ , __pAnimationFrameList(null)
+{
+}
+
+ProgressAnimation::~ProgressAnimation(void)
+{
+ if (__pAnimationFrameList != null)
+ {
+ delete __pAnimationFrameList;
+ }
+}
+
+result
+ProgressAnimation::Construct(Tizen::Graphics::Rectangle rect)
+{
+ Panel::Construct(rect);
+
+ AppResource *pAppResource = Application::GetInstance()->GetAppResource();
+ if (pAppResource != null)
+ {
+ Bitmap *pBitmap0 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS1);
+ Bitmap *pBitmap1 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS2);
+ Bitmap *pBitmap2 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS3);
+ Bitmap *pBitmap3 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS4);
+ Bitmap *pBitmap4 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS5);
+ Bitmap *pBitmap5 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS6);
+ Bitmap *pBitmap6 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS7);
+ Bitmap *pBitmap7 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS8);
+ Bitmap *pBitmap8 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS9);
+ Bitmap *pBitmap9 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS10);
+ Bitmap *pBitmap10 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS11);
+ Bitmap *pBitmap11 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS12);
+ Bitmap *pBitmap12 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS13);
+ Bitmap *pBitmap13 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS14);
+ Bitmap *pBitmap14 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS15);
+ Bitmap *pBitmap15 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS16);
+ Bitmap *pBitmap16 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS17);
+ Bitmap *pBitmap17 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS18);
+ Bitmap *pBitmap18 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS19);
+ Bitmap *pBitmap19 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS20);
+ Bitmap *pBitmap20 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS21);
+ Bitmap *pBitmap21 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS22);
+ Bitmap *pBitmap22 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS23);
+ Bitmap *pBitmap23 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS24);
+ Bitmap *pBitmap24 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS25);
+ Bitmap *pBitmap25 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS26);
+ Bitmap *pBitmap26 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS27);
+ Bitmap *pBitmap27 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS28);
+ Bitmap *pBitmap28 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS29);
+ Bitmap *pBitmap29 = pAppResource->GetBitmapN(IDB_ALBUM_RENAME_PROGRESS30);
+
+ // Create AnimationFrames
+ long duration = DURATION / PROGRESS_COUNT;
+ AnimationFrame *pAniFrame1 = new (std::nothrow) AnimationFrame(*pBitmap0, duration);
+ AnimationFrame *pAniFrame2 = new (std::nothrow) AnimationFrame(*pBitmap1, duration);
+ AnimationFrame *pAniFrame3 = new (std::nothrow) AnimationFrame(*pBitmap2, duration);
+ AnimationFrame *pAniFrame4 = new (std::nothrow) AnimationFrame(*pBitmap3, duration);
+ AnimationFrame *pAniFrame5 = new (std::nothrow) AnimationFrame(*pBitmap4, duration);
+ AnimationFrame *pAniFrame6 = new (std::nothrow) AnimationFrame(*pBitmap5, duration);
+ AnimationFrame *pAniFrame7 = new (std::nothrow) AnimationFrame(*pBitmap6, duration);
+ AnimationFrame *pAniFrame8 = new (std::nothrow) AnimationFrame(*pBitmap7, duration);
+ AnimationFrame *pAniFrame9 = new (std::nothrow) AnimationFrame(*pBitmap8, duration);
+ AnimationFrame *pAniFrame10 = new (std::nothrow) AnimationFrame(*pBitmap9, duration);
+ AnimationFrame *pAniFrame11 = new (std::nothrow) AnimationFrame(*pBitmap10, duration);
+ AnimationFrame *pAniFrame12 = new (std::nothrow) AnimationFrame(*pBitmap11, duration);
+ AnimationFrame *pAniFrame13 = new (std::nothrow) AnimationFrame(*pBitmap12, duration);
+ AnimationFrame *pAniFrame14 = new (std::nothrow) AnimationFrame(*pBitmap13, duration);
+ AnimationFrame *pAniFrame15 = new (std::nothrow) AnimationFrame(*pBitmap14, duration);
+ AnimationFrame *pAniFrame16 = new (std::nothrow) AnimationFrame(*pBitmap15, duration);
+ AnimationFrame *pAniFrame17 = new (std::nothrow) AnimationFrame(*pBitmap16, duration);
+ AnimationFrame *pAniFrame18 = new (std::nothrow) AnimationFrame(*pBitmap17, duration);
+ AnimationFrame *pAniFrame19 = new (std::nothrow) AnimationFrame(*pBitmap18, duration);
+ AnimationFrame *pAniFrame20 = new (std::nothrow) AnimationFrame(*pBitmap19, duration);
+ AnimationFrame *pAniFrame21 = new (std::nothrow) AnimationFrame(*pBitmap20, duration);
+ AnimationFrame *pAniFrame22 = new (std::nothrow) AnimationFrame(*pBitmap21, duration);
+ AnimationFrame *pAniFrame23 = new (std::nothrow) AnimationFrame(*pBitmap22, duration);
+ AnimationFrame *pAniFrame24 = new (std::nothrow) AnimationFrame(*pBitmap23, duration);
+ AnimationFrame *pAniFrame25 = new (std::nothrow) AnimationFrame(*pBitmap24, duration);
+ AnimationFrame *pAniFrame26 = new (std::nothrow) AnimationFrame(*pBitmap25, duration);
+ AnimationFrame *pAniFrame27 = new (std::nothrow) AnimationFrame(*pBitmap26, duration);
+ AnimationFrame *pAniFrame28 = new (std::nothrow) AnimationFrame(*pBitmap27, duration);
+ AnimationFrame *pAniFrame29 = new (std::nothrow) AnimationFrame(*pBitmap28, duration);
+ AnimationFrame *pAniFrame30 = new (std::nothrow) AnimationFrame(*pBitmap29, duration);
+
+ // Create AnimationList
+ __pAnimationFrameList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ __pAnimationFrameList->Construct();
+ __pAnimationFrameList->Add(*pAniFrame1);
+ __pAnimationFrameList->Add(*pAniFrame2);
+ __pAnimationFrameList->Add(*pAniFrame3);
+ __pAnimationFrameList->Add(*pAniFrame4);
+ __pAnimationFrameList->Add(*pAniFrame5);
+ __pAnimationFrameList->Add(*pAniFrame6);
+ __pAnimationFrameList->Add(*pAniFrame7);
+ __pAnimationFrameList->Add(*pAniFrame8);
+ __pAnimationFrameList->Add(*pAniFrame9);
+ __pAnimationFrameList->Add(*pAniFrame10);
+ __pAnimationFrameList->Add(*pAniFrame11);
+ __pAnimationFrameList->Add(*pAniFrame12);
+ __pAnimationFrameList->Add(*pAniFrame13);
+ __pAnimationFrameList->Add(*pAniFrame14);
+ __pAnimationFrameList->Add(*pAniFrame15);
+ __pAnimationFrameList->Add(*pAniFrame16);
+ __pAnimationFrameList->Add(*pAniFrame17);
+ __pAnimationFrameList->Add(*pAniFrame18);
+ __pAnimationFrameList->Add(*pAniFrame19);
+ __pAnimationFrameList->Add(*pAniFrame20);
+ __pAnimationFrameList->Add(*pAniFrame21);
+ __pAnimationFrameList->Add(*pAniFrame22);
+ __pAnimationFrameList->Add(*pAniFrame23);
+ __pAnimationFrameList->Add(*pAniFrame24);
+ __pAnimationFrameList->Add(*pAniFrame25);
+ __pAnimationFrameList->Add(*pAniFrame26);
+ __pAnimationFrameList->Add(*pAniFrame27);
+ __pAnimationFrameList->Add(*pAniFrame28);
+ __pAnimationFrameList->Add(*pAniFrame29);
+ __pAnimationFrameList->Add(*pAniFrame30);
+
+ // Deallocate a Bitmap.
+ delete pBitmap0;
+ delete pBitmap1;
+ delete pBitmap2;
+ delete pBitmap3;
+ delete pBitmap4;
+ delete pBitmap5;
+ delete pBitmap6;
+ delete pBitmap7;
+ delete pBitmap8;
+ delete pBitmap9;
+ delete pBitmap10;
+ delete pBitmap11;
+ delete pBitmap12;
+ delete pBitmap13;
+ delete pBitmap14;
+ delete pBitmap15;
+ delete pBitmap16;
+ delete pBitmap17;
+ delete pBitmap18;
+ delete pBitmap19;
+ delete pBitmap20;
+ delete pBitmap21;
+ delete pBitmap22;
+ delete pBitmap23;
+ delete pBitmap24;
+ delete pBitmap25;
+ delete pBitmap26;
+ delete pBitmap27;
+ delete pBitmap28;
+ delete pBitmap29;
+
+ // Create Animation
+ __pAnimation = new (std::nothrow) Animation();
+ __pAnimation->Construct(Rectangle((rect.width / 2 - 60 / 2), (rect.height / 2 - 30), 60, 60), *__pAnimationFrameList);
+ __pAnimation->SetRepeatCount(10000);
+ AddControl(__pAnimation);
+ }
+
+ return E_SUCCESS;
+}
+
+void
+ProgressAnimation::AnimationStart(void)
+{
+ __pAnimation->SetShowState(true);
+ __pAnimation->Play();
+}
+
+void
+ProgressAnimation::AnimationStop(void)
+{
+ __pAnimation->Stop();
+ __pAnimation->SetShowState(false);
+}
+
+void
+ProgressAnimation::ChangeOrientation(Tizen::Graphics::Rectangle rect)
+{
+ Panel::SetBounds(rect);
+ __pAnimation->SetBounds((rect.width / 2 - 60 / 2), (rect.height / 2 - 30), 60, 60);
+ __pAnimation->Invalidate(true);
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlProgressBar.cpp
+ * @brief This is the implementation file for GlProgressBar class.
+ */
+
+#include <FApp.h>
+#include <FUi.h>
+
+#include "GlProgressBar.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+
+GlProgressBar::GlProgressBar(IActionEventListener* listener, IPropagatedKeyEventListener* propagatedListener)
+ : __totalVal(1)
+ , __curVal(1)
+ , __pFileProgressingPopup(null)
+ , __pFileProgressingProgress(null)
+ , __pFileProgressingHeaderLabel(null)
+ , __pFileProgressingLabel(null)
+ , __pFileCounterLabel(null)
+ , __pFileProgressingCancelButton(null)
+ , __pActionListener(listener)
+ , __pPropagatedListener(propagatedListener)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+GlProgressBar::~GlProgressBar(void)
+{
+ AppLogDebug("ENTER");
+ if (__pFileProgressingPopup != null)
+ {
+ delete __pFileProgressingPopup;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GlProgressBar::HideFileProgressingPopup(void)
+{
+ AppLogDebug("ENTER");
+ if (__pFileProgressingPopup != null && __pFileProgressingPopup->IsVisible())
+ {
+ __pFileProgressingPopup->SetShowState(false);
+
+ delete __pFileProgressingPopup;
+ __pFileProgressingPopup = null;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+GlProgressBar::CreateFileProgressingPopup(void)
+{
+ AppLogDebug("ENTER");
+ __pFileProgressingPopup = new (std::nothrow) Popup();
+ result r = __pFileProgressingPopup->Construct(L"IDL_DEL_PROGRESSING_POPUP");
+
+ if (__pFileProgressingPopup != null && r == E_SUCCESS)
+ {
+
+ __pFileProgressingPopup->SetPropagatedKeyEventListener(__pPropagatedListener);
+
+ __pFileProgressingCancelButton = static_cast<Button*>(__pFileProgressingPopup->GetControl(L"IDC_CANCEL_BUTTON", true));
+
+ if (__pFileProgressingCancelButton != null)
+ {
+ __pFileProgressingCancelButton->SetActionId(IDA_PROGRESSBAR_CANCEL);
+ __pFileProgressingCancelButton->AddActionEventListener(*__pActionListener);
+ __pFileProgressingCancelButton->SetShowState(true);
+ }
+
+ __pFileProgressingProgress = static_cast<Progress*>(__pFileProgressingPopup->GetControl(L"IDC_PROGRESS_BAR", true));
+
+ if (__pFileProgressingProgress != null)
+ {
+ __pFileProgressingProgress->SetName(L"IDC_ANIMATION_PROGRESS");
+ __pFileProgressingProgress->SetValue(0);
+ }
+
+ __pFileProgressingHeaderLabel = static_cast<Label*>(__pFileProgressingPopup->GetControl(L"IDC_ANIMATION_HEADER", true));
+
+ if (__pFileProgressingHeaderLabel != null)
+ {
+ __pFileProgressingHeaderLabel->SetName(L"IDC_ANIMATION_HEADER");
+ __pFileProgressingHeaderLabel->SetShowState(true);
+ }
+
+ __pFileProgressingLabel = static_cast<Label*>(__pFileProgressingPopup->GetControl(L"IDC_ANIMATION_LABEL", true));
+
+ if (__pFileProgressingLabel != null)
+ {
+ __pFileProgressingLabel->SetName(L"IDC_FILE_COUNT_LABEL");
+ __pFileProgressingLabel->SetShowState(true);
+ }
+
+ __pFileCounterLabel = static_cast<Label*>(__pFileProgressingPopup->GetControl(L"IDC_COUNTER_LABEL", true));
+
+ if (__pFileCounterLabel != null)
+ {
+ __pFileCounterLabel->SetText(L"");
+ __pFileCounterLabel->SetTextColor(CUSTOM_COLOR_GREY);
+ __pFileCounterLabel->SetShowState(true);
+ }
+
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return r;
+}
+
+void
+GlProgressBar::ShowFileProgressingPopup(const int val, enum FileActionMode action)
+{
+ AppLogDebug("ENTER");
+ CreateFileProgressingPopup();
+
+ if (val > 0)
+ {
+ __totalVal = val;
+ }
+ else
+ {
+ __totalVal = 1;
+ }
+ __pFileProgressingProgress->SetRange(1, val);
+
+ if (__pFileProgressingPopup != null)
+ {
+ if (__pFileProgressingHeaderLabel != null)
+ {
+ switch (action)
+ {
+ case FILE_ACTION_MOVE:
+ __pFileProgressingHeaderLabel->SetText(ResourceManager::GetString(L"IDS_COM_POP_MOVING"));
+ break;
+
+ case FILE_ACTION_DELETE:
+ __pFileProgressingHeaderLabel->SetText(ResourceManager::GetString(L"IDS_COM_POP_DELETING"));
+ break;
+
+ case FILE_ACTION_COPY:
+ __pFileProgressingHeaderLabel->SetText(ResourceManager::GetString(L"IDS_COM_POP_COPYING_ING"));
+ break;
+
+ case FILE_ACTION_ROTATE:
+ __pFileProgressingHeaderLabel->SetText(ResourceManager::GetString(L"IDS_COM_POP_PROCESSING"));
+ break;
+
+ default:
+ break;
+ }
+
+ __pFileProgressingHeaderLabel->Invalidate(true);
+ }
+
+ __pFileProgressingPopup->SetShowState(true);
+ __pFileProgressingPopup->Show();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GlProgressBar::IncProgress(const int count)
+{
+ AppLogDebug("ENTER");
+ String counter;
+ __curVal = count;
+ __pFileProgressingProgress->SetValue(count);
+
+ counter.Append(count);
+ counter.Append(L"/");
+ counter.Append(__totalVal);
+
+ if (__pFileCounterLabel != null)
+ {
+ __pFileCounterLabel->SetText(counter);
+ __pFileCounterLabel->Invalidate(true);
+ }
+
+ __pFileProgressingPopup->SetShowState(true);
+ __pFileProgressingPopup->Show();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file: RadioCustomItem.cpp
+ *@brief: The RadioCustomItem
+ */
+
+#include <FApp.h>
+#include <FUiControls.h>
+
+#include "GlRadioCustomItem.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Controls;
+
+
+const int RadioCustomItem::IDA_FORMAT_STRING = 500;
+
+
+RadioCustomItem::RadioCustomItem(void)
+ : __isSelected(false)
+ , __width(0)
+ , __height(0)
+{
+}
+
+RadioCustomItem::~RadioCustomItem(void)
+{
+}
+
+result
+RadioCustomItem::Construct(int width, int height)
+{
+ result r = E_FAILURE;
+ __width = width;
+ __height = height;
+ const Dimension dim(width, height);
+ r = CustomItem::Construct(dim, LIST_ANNEX_STYLE_RADIO);
+
+ return r;
+}
+
+void
+RadioCustomItem::SetText(const Tizen::Base::String& text)
+{
+ __text = text;
+}
+
+String
+RadioCustomItem::GetText(void) const
+{
+ return __text;
+}
+
+result
+RadioCustomItem::Make(int fontSize)
+{
+ result r = E_FAILURE;
+ Color textColor = CUSTOM_COLOR_LISTVIEW_TEXT2;
+ Color pressedTextColor = CUSTOM_COLOR_LISTVIEW_TEXT;
+
+ AppLogDebug("RadioCustomItem::the text is %ls",__text.GetPointer());
+ r = AddElement(Rectangle(16, 5, __width - 85 - 16, __height), IDA_FORMAT_STRING, __text, fontSize, textColor, textColor, textColor, true);
+ TryCatch(!IsFailed(r),,"RadioCustomItem::the value is %s",GetErrorMessage(r));
+
+ CATCH:
+ return r;
+}
+
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlResourceManager.cpp
+ * @brief This is the implementation file for ResourceManager class.
+ */
+
+#include <FApp.h>
+#include "GlResourceManager.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+
+Bitmap*
+ResourceManager::GetBitmapN(const String& id)
+{
+ AppResource* pAppResource = Application::GetInstance()->GetAppResource();
+ if (pAppResource == null)
+ {
+ return null;
+ }
+
+ return pAppResource->GetBitmapN(id);
+}
+
+String
+ResourceManager::GetString(const String& id)
+{
+ AppResource* pAppResource = Application::GetInstance()->GetAppResource();
+ if (pAppResource == null)
+ {
+ return L"";
+ }
+
+ String str;
+ result r = pAppResource->GetString(id, str);
+
+ if (r != E_SUCCESS)
+ {
+ return L"";
+ }
+ return str;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlSettingMainForm.cpp
+ * @brief This is the implementation file for SettingMainForm class.
+ */
+
+#include "GlDropDownCustomItem.h"
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlRadioCustomItem.h"
+#include "GlResourceManager.h"
+#include "GlSettingMainForm.h"
+#include "GlSettingPresentationModel.h"
+#include "GlSettingToggleCustomItem.h"
+#include "GlTypes.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::System;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+SettingMainForm::SettingMainForm(void)
+ : __pList(null)
+ , __pPresentationModel(null)
+ , __contentUpdated(false)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+SettingMainForm::~SettingMainForm(void)
+{
+ AppLogDebug("ENTER");
+ if (pGroupItemCount)
+ {
+ delete[] pGroupItemCount;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+SettingMainForm::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Form::Construct(IDL_FORM_SETTING_MAIN);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+SettingMainForm::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel = SettingPresentationModel::GetInstance();
+ SettingInfo::AddSettingEventListener(*this);
+
+ Header* pHeader = GetHeader();
+ AppAssert(pHeader);
+ pHeader->SetStyle(HEADER_STYLE_TITLE);
+ pHeader->SetTitleText(ResourceManager::GetString(L"IDS_COM_BODY_GALLERY"));
+
+ __pList = static_cast<GroupedListView*>(GetControl(L"IDC_SETTING_LIST"));
+
+ if (__pList != null)
+ {
+ __pList->SetItemProvider(*this);
+ __pList->AddGroupedListViewItemEventListener(*this);
+ }
+
+ SetFormBackEventListener(this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+SettingMainForm::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ SettingInfo::RemoveSettingEventListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+void
+SettingMainForm::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+
+ switch (actionId)
+ {
+ default:
+ {
+ break;
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+SettingMainForm::OnFormBackRequested(Form& source)
+{
+ AppLogDebug("ENTER");
+
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null)
+ {
+ if (pApp->GetAppControlOperationId() == APPCONTROL_OPERATION_ID_CONFIGURE)
+ {
+ if (pApp->GetFrameActivated() == true)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_TERMINATED, null);
+ pApp->Terminate();
+ }
+ }
+ else
+ {
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ if (__contentUpdated)
+ {
+ pSceneManager->GoForward(ForwardSceneTransition(IDSCN_ALBUM_LIST));
+ }
+ else
+ {
+ pSceneManager->GoBackward(BackwardSceneTransition());
+ }
+ }
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+SettingMainForm::OnContentUpdated(void)
+{
+ AppLogDebug("ENTER");
+ __contentUpdated = true;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+SettingMainForm::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ FileListPresentationModel::GetInstance()->AddContentEventListener(this);
+ __pPresentationModel->CreateDefaultRegistry();
+ InitializeSettingValues();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+SettingMainForm::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ __contentUpdated = false;
+ __pPresentationModel->DeleteRegistry();
+ FileListPresentationModel::GetInstance()->RemoveContentEventListener(this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+SettingMainForm::OnGroupedListViewItemStateChanged(GroupedListView& listView, int groupIndex, int itemIndex, int elementId, ListItemStatus status)
+{
+ int effectiveIndex = 0;
+ int inputValue = 0;
+
+ effectiveIndex = effectiveIndex + itemIndex;
+
+ if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_DROPDOWN)
+ {
+ AppLogDebug("refreshing data child count is %d", settingInfo[effectiveIndex].childCount);
+ if (settingInfo[effectiveIndex].isOpen == false)
+ {
+ settingInfo[effectiveIndex].isOpen = true;
+ settingInfo[effectiveIndex].childCount = 0;
+ for (int iter = effectiveIndex + 1; iter < SETTING_MAX; ++iter)
+ {
+ if (settingInfo[iter].itemType == ITEM_TYPE_RADIO)
+ {
+ ++settingInfo[effectiveIndex].childCount;
+ }
+ else
+ {
+ break;
+ }
+ }
+ listView.UpdateList();
+ }
+ else
+ {
+ settingInfo[effectiveIndex].isOpen = false;
+ listView.UpdateList();
+ }
+ }
+ else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_RADIO)
+ {
+ int parentIndex = 0;
+ for (parentIndex = effectiveIndex; parentIndex > SETTING_INVALID; parentIndex--)
+ {
+ if (settingInfo[parentIndex].itemType == ITEM_TYPE_DROPDOWN)
+ {
+ break;
+ }
+ }
+ settingInfo[parentIndex].subText = settingInfo[effectiveIndex].titleText;
+
+ for (int iter = 0; iter < settingInfo[parentIndex].childCount; ++iter)
+ {
+ if (parentIndex + iter + 1 != effectiveIndex)
+ {
+ AppLogDebug("long effectiveIndex %d set to false", itemIndex - (effectiveIndex - parentIndex) + iter + 1);
+ settingInfo[parentIndex + iter + 1].isSelected = false;
+ }
+ else
+ {
+ AppLogDebug("effectiveIndex %d set to true", effectiveIndex);
+ settingInfo[effectiveIndex].isSelected = true;
+ }
+ }
+
+ Invalidate(true);
+ }
+ else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_TOGGLE)
+ {
+ if (settingInfo[effectiveIndex].isSelected == true)
+ {
+ settingInfo[effectiveIndex].isSelected = false;
+ }
+ else
+ {
+ settingInfo[effectiveIndex].isSelected = true;
+ }
+ if (__pList != null)
+ {
+ __pList->SetItemChecked(groupIndex, itemIndex, settingInfo[effectiveIndex].isSelected);
+ }
+ }
+
+ switch (effectiveIndex)
+ {
+ case SETTING_INTERVAL_2:
+ {
+ inputValue = 2;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER, ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL,
+ inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_INTERVAL_3:
+ {
+ inputValue = 3;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL, inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_INTERVAL_5:
+ {
+ inputValue = 5;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL, inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_INTERVAL_10:
+ {
+ inputValue = 10;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL, inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_INTERVAL_20:
+ {
+ inputValue = 20;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL, inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_TRANSITION_PAGE:
+ {
+ inputValue = 0;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_TRANSITION_EFFECT, inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_TRANSITION_DISSOLVE:
+ {
+ inputValue = 1;
+ result r = __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_TRANSITION_EFFECT, inputValue);
+ if (r == E_SUCCESS)
+ {
+ AppLogDebug(" Passed");
+ }
+
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_TRANSITION_ZOOM:
+ {
+ inputValue = 2;
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_TRANSITION_EFFECT, inputValue);
+ listView.UpdateList();
+ }
+ break;
+
+ case SETTING_REPEAT:
+ {
+ int repeatValue = 0;
+
+ __pPresentationModel->GetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_REPEAT_VALUE, repeatValue);
+
+ if (repeatValue == 0)
+ {
+ inputValue = 1;
+ }
+ else
+ {
+ inputValue = 0;
+ }
+
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_REPEAT_VALUE, inputValue);
+ }
+ break;
+
+ case SETTING_SHUFFLE:
+ {
+ int shuffleValue = 0;
+
+ __pPresentationModel->GetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SHUFFLE_VALUE, shuffleValue);
+
+ if (shuffleValue == 0)
+ {
+ inputValue = 1;
+ }
+ else
+ {
+ inputValue = 0;
+ }
+
+ __pPresentationModel->SetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SHUFFLE_VALUE, inputValue);
+ }
+ break;
+
+ default:
+ break;
+ }
+}
+
+GroupItem*
+SettingMainForm::CreateGroupItem(int groupIndex, int itemWidth)
+{
+ GroupItem* pItem = new (std::nothrow) GroupItem();
+ if (pItem == null)
+ {
+ return null;
+ }
+ result r = pItem->Construct(Dimension(itemWidth, 46));
+ if (IsFailed(r))
+ {
+ delete pItem;
+ return null;
+ }
+
+ String text;
+ switch (groupIndex)
+ {
+ case 0:
+ text = ResourceManager::GetString(L"IDS_MEDIABR_OPT_SLIDESHOW");
+ break;
+
+ default:
+ break;
+ }
+
+ pItem->SetElement(text, null);
+
+ AppLogDebug("background color set result %s", GetErrorMessage(r));
+
+ pItem->SetTextColor(CUSTOM_COLOR_SETTINGS_GROUPTITLE);
+ return pItem;
+}
+
+ListItemBase*
+SettingMainForm::CreateItem(int groupIndex, int itemIndex, int itemWidth)
+{
+ AppLog("SettingMainForm::CreateItem --> groupIndex : %d, itemIndex: %d itemWidth: %d ", groupIndex, itemIndex,
+ itemWidth);
+
+ result r = E_SUCCESS;
+ int effectiveIndex = 0;
+ const Color ITEM_BACKGROUND_COLOR = CUSTOM_COLOR_SETTINGS_LISTITEM_BACKGROUND;
+ const Color ITEM_RADIO_ITEM_BACKGROUND_COLOR = CUSTOM_COLOR_SETTINGS_LISTITEM_RADIO_BACKGROUND;
+ const Color ITEM_BACKGROUND_COLOR_HIGHLIGHTED = CUSTOM_BACKGROUND_COLOR_LISTVIEW_PRESSED_HIGHLIGHTED;
+
+ effectiveIndex = effectiveIndex + itemIndex;
+ AppLogDebug("SettingMainForm::CreateItem --> groupIndex : %d, itemIndex: %d itemWidth: %d effectiveIndex %d", groupIndex, itemIndex, itemWidth, effectiveIndex);
+
+ String fontSizeStr;
+ int fontSize = 0;
+ int itemHeight = 0;
+ int defaultHeight = 112;
+ int defaultFontSize = 44;
+
+ SettingInfo::GetValue("http://tizen.org/setting/font.size", fontSizeStr);
+ AppLog("the font value is %S",fontSizeStr.GetPointer());
+
+ if(fontSizeStr == "medium")
+ {
+ fontSize = 44;
+ itemHeight = defaultHeight + (fontSize - defaultFontSize);
+ }
+ else if(fontSizeStr == "huge")
+ {
+ fontSize = 81;
+ itemHeight = defaultHeight + (fontSize - defaultFontSize);
+ }
+ else if(fontSizeStr == "giant")
+ {
+ fontSize = 98;
+ itemHeight = defaultHeight + (fontSize - defaultFontSize);
+ }
+ else if(fontSizeStr == "small")
+ {
+ fontSize = 36;
+ itemHeight = defaultHeight + (fontSize - defaultFontSize);
+ }
+ else if(fontSizeStr == "large")
+ {
+ fontSize = 64;
+ itemHeight = defaultHeight + (fontSize - defaultFontSize);
+ }
+ else
+ {
+ fontSize = 44;
+ itemHeight = defaultHeight;
+ }
+
+
+ if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_TOGGLE)
+ {
+ SettingToggleCustomItem* pItem = new (std::nothrow) SettingToggleCustomItem();
+ r = pItem->Construct(itemWidth, itemHeight);
+
+ if (IsFailed(r))
+ {
+ delete pItem;
+ return null;
+ }
+
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, ITEM_BACKGROUND_COLOR);
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
+
+ if (__pList != null)
+ {
+ __pList->SetItemChecked(groupIndex, itemIndex, settingInfo[effectiveIndex].isSelected);
+ }
+
+ pItem->SetText(settingInfo[effectiveIndex].titleText);
+ pItem->Make(fontSize);
+
+ return pItem;
+ }
+ else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_DROPDOWN)
+ {
+ DropDownCustomItem* pItem = new (std::nothrow) DropDownCustomItem();
+ r = pItem->Construct(itemWidth,itemHeight);
+ if (IsFailed(r))
+ {
+ delete pItem;
+ return null;
+ }
+
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, ITEM_BACKGROUND_COLOR);
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
+
+ pItem->SetMainText(settingInfo[effectiveIndex].titleText);
+ pItem->SetSubText(settingInfo[effectiveIndex].subText);
+ if (settingInfo[effectiveIndex].isOpen)
+ {
+ pItem->SetCurState(DROP_DOWN_ITEM_STATE_OPENED);
+ }
+ else
+ {
+ pItem->SetCurState(DROP_DOWN_ITEM_STATE_CLOSED);
+ }
+
+ r = pItem->Make(fontSize,itemHeight);
+
+ if (IsFailed(r))
+ {
+ delete pItem;
+ return null;
+ }
+
+ return pItem;
+ }
+ else if (settingInfo[effectiveIndex].itemType == ITEM_TYPE_RADIO)
+ {
+ RadioCustomItem* pItem = new (std::nothrow) RadioCustomItem();
+ int parentIndex = 0;
+
+ for (parentIndex = effectiveIndex; parentIndex > SETTING_INVALID; parentIndex--)
+ {
+ if (settingInfo[parentIndex].itemType == ITEM_TYPE_DROPDOWN)
+ break;
+ }
+
+ if (settingInfo[parentIndex].isOpen == false)
+ {
+ r = pItem->Construct(itemWidth, 0);
+ __pList->SetItemEnabled(groupIndex, itemIndex,false);
+ AppLogDebug("construct with height 0 %s", GetErrorMessage(r));
+ return pItem;
+ }
+ else
+ {
+ pItem->Construct(itemWidth, itemHeight);
+ __pList->SetItemEnabled(groupIndex, itemIndex, true);
+ }
+
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, ITEM_RADIO_ITEM_BACKGROUND_COLOR);
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_PRESSED, ITEM_BACKGROUND_COLOR_HIGHLIGHTED);
+
+ pItem->SetText(settingInfo[effectiveIndex].titleText);
+ AppLogDebug("effectiveIndex %d SettingInfo[effectiveIndex].isSelected %d", effectiveIndex, settingInfo[effectiveIndex].isSelected);
+
+ __pList->SetItemChecked(groupIndex,itemIndex,settingInfo[effectiveIndex].isSelected);
+ pItem->Make(fontSize);
+
+ return pItem;
+ }
+ else
+ {
+ return null;
+ }
+}
+
+bool
+SettingMainForm::DeleteGroupItem(int groupIndex, GroupItem* pItem, int itemWidth)
+{
+ delete pItem;
+ return true;
+}
+
+bool
+SettingMainForm::DeleteItem(int groupIndex, int itemIndex, ListItemBase* pItem, int itemWidth)
+{
+ delete pItem;
+ return true;
+}
+
+int
+SettingMainForm::GetGroupCount(void)
+{
+ int groupCount = 1;
+
+ return groupCount;
+}
+
+int
+SettingMainForm::GetItemCount(int groupIndex)
+{
+ AppLog(" SettingMainForm::GetItemCount --> groupIndex : %d,", groupIndex);
+ return pGroupItemCount[groupIndex];
+}
+
+void
+SettingMainForm::InitializeSettingValues(void)
+{
+ pGroupItemCount = new (std::nothrow) int[1];
+ pGroupItemCount[0] = 12;
+ int interval = 0;
+ int transitionValue = 0;
+ int repeatValue = 0;
+ int shuffletValue = 0;
+ String selectedInterval;
+ String selectedTransition;
+
+ for (int iter = (int) SETTING_INVALID + 1; iter < (int) SETTING_MAX; ++iter)
+ {
+ settingInfo[iter].isSelected = false;
+ }
+
+ result r =__pPresentationModel->GetValue(SECTION_NAME_IMAGE_VIEWER, ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL,
+ interval);
+
+ if (r == E_SUCCESS)
+ {
+ switch (interval)
+ {
+ case 2:
+ {
+ selectedInterval = ResourceManager::GetString(L"IDS_MEDIABR_OPT_2_SECONDS");
+ settingInfo[SETTING_INTERVAL_2].isSelected = true;
+ }
+ break;
+
+ case 3:
+ {
+ selectedInterval = ResourceManager::GetString(L"IDS_MEDIABR_OPT_3_SECONDS");
+ settingInfo[SETTING_INTERVAL_3].isSelected = true;
+ }
+ break;
+
+ case 5:
+ {
+ selectedInterval = ResourceManager::GetString(L"IDS_MEDIABR_BODY_5_SECONDS");
+ settingInfo[SETTING_INTERVAL_5].isSelected = true;
+ }
+ break;
+
+ case 10:
+ {
+ selectedInterval = ResourceManager::GetString(L"IDS_MEDIABR_BODY_10_SECONDS");
+ settingInfo[SETTING_INTERVAL_10].isSelected = true;
+ }
+ break;
+
+ case 20:
+ {
+ selectedInterval = ResourceManager::GetString(L"IDS_MEDIABR_BODY_20_SECONDS");
+ settingInfo[SETTING_INTERVAL_20].isSelected = true;
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ r = __pPresentationModel->GetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_TRANSITION_EFFECT, transitionValue);
+
+ if (r == E_SUCCESS)
+ {
+ switch (transitionValue)
+ {
+ case 0:
+ {
+ selectedTransition = ResourceManager::GetString(L"IDS_EBOOK_BODY_PAGE");
+ settingInfo[SETTING_TRANSITION_PAGE].isSelected = true;
+ }
+ break;
+
+ case 1:
+ {
+ selectedTransition = ResourceManager::GetString(L"IDS_MEDIABR_BODY_DISSOLVE");
+ settingInfo[SETTING_TRANSITION_DISSOLVE].isSelected = true;
+ }
+ break;
+
+ case 2:
+ {
+ selectedTransition = ResourceManager::GetString(L"IDS_IV_OPT_ZOOM");
+ settingInfo[SETTING_TRANSITION_ZOOM].isSelected = true;
+ }
+ break;
+
+ default:
+ break;
+ }
+ }
+
+ settingInfo[SETTING_SLIDESHOW_INTERVAL_TITLE].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_SLIDESHOW_INTERVAL");
+ settingInfo[SETTING_SLIDESHOW_INTERVAL_TITLE].subText = selectedInterval;
+ settingInfo[SETTING_SLIDESHOW_INTERVAL_TITLE].itemType = ITEM_TYPE_DROPDOWN;
+
+ settingInfo[SETTING_INTERVAL_2].titleText = ResourceManager::GetString(L"IDS_MEDIABR_OPT_2_SECONDS");
+ settingInfo[SETTING_INTERVAL_2].subText = L"";
+ settingInfo[SETTING_INTERVAL_2].itemType = ITEM_TYPE_RADIO;
+
+ settingInfo[SETTING_INTERVAL_3].titleText = ResourceManager::GetString(L"IDS_MEDIABR_OPT_3_SECONDS");
+ settingInfo[SETTING_INTERVAL_3].subText = L"";
+ settingInfo[SETTING_INTERVAL_3].itemType = ITEM_TYPE_RADIO;
+
+ settingInfo[SETTING_INTERVAL_5].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_5_SECONDS");
+ settingInfo[SETTING_INTERVAL_5].subText = L"";
+ settingInfo[SETTING_INTERVAL_5].itemType = ITEM_TYPE_RADIO;
+
+ settingInfo[SETTING_INTERVAL_10].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_10_SECONDS");
+ settingInfo[SETTING_INTERVAL_10].subText = L"";
+ settingInfo[SETTING_INTERVAL_10].itemType = ITEM_TYPE_RADIO;
+
+ settingInfo[SETTING_INTERVAL_20].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_20_SECONDS");
+ settingInfo[SETTING_INTERVAL_20].subText = L"";
+ settingInfo[SETTING_INTERVAL_20].itemType = ITEM_TYPE_RADIO;
+
+ r = __pPresentationModel->GetValue(SECTION_NAME_IMAGE_VIEWER, ENTRY_NAME_IMAGE_VIEWER_REPEAT_VALUE, repeatValue);
+
+ settingInfo[SETTING_REPEAT].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_REPEAT");
+ settingInfo[SETTING_REPEAT].itemType = ITEM_TYPE_TOGGLE;
+
+ if (repeatValue == 0)
+ {
+ settingInfo[SETTING_REPEAT].isSelected = false;
+ }
+ else
+ {
+ settingInfo[SETTING_REPEAT].isSelected = true;
+ }
+
+ r = __pPresentationModel->GetValue(SECTION_NAME_IMAGE_VIEWER,
+ ENTRY_NAME_IMAGE_VIEWER_SHUFFLE_VALUE, shuffletValue);
+
+ settingInfo[SETTING_SHUFFLE].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_SHUFFLE");
+ settingInfo[SETTING_SHUFFLE].itemType = ITEM_TYPE_TOGGLE;
+
+ if (shuffletValue == 0)
+ {
+ settingInfo[SETTING_SHUFFLE].isSelected = false;
+ }
+ else
+ {
+ settingInfo[SETTING_SHUFFLE].isSelected = true;
+ }
+
+ settingInfo[SETTING_TRANSITION_EFFECT_TITLE].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_TRANSITION_EFFECT");
+ settingInfo[SETTING_TRANSITION_EFFECT_TITLE].subText = selectedTransition;
+ settingInfo[SETTING_TRANSITION_EFFECT_TITLE].itemType = ITEM_TYPE_DROPDOWN;
+
+ settingInfo[SETTING_TRANSITION_PAGE].titleText = ResourceManager::GetString(L"IDS_EBOOK_BODY_PAGE");
+ settingInfo[SETTING_TRANSITION_PAGE].subText = L"";
+ settingInfo[SETTING_TRANSITION_PAGE].itemType = ITEM_TYPE_RADIO;
+
+ settingInfo[SETTING_TRANSITION_DISSOLVE].titleText = ResourceManager::GetString(L"IDS_MEDIABR_BODY_DISSOLVE");
+ settingInfo[SETTING_TRANSITION_DISSOLVE].subText = L"";
+ settingInfo[SETTING_TRANSITION_DISSOLVE].itemType = ITEM_TYPE_RADIO;
+
+ settingInfo[SETTING_TRANSITION_ZOOM].titleText = ResourceManager::GetString(L"IDS_IV_OPT_ZOOM");
+ settingInfo[SETTING_TRANSITION_ZOOM].subText = L"";
+ settingInfo[SETTING_TRANSITION_ZOOM].itemType = ITEM_TYPE_RADIO;
+}
+
+SettingMainForm::SettingItemInfo::SettingItemInfo(void)
+ : childCount(0)
+ , isOpen(false)
+ , isSelected(false)
+{
+}
+
+
+void
+SettingMainForm::OnSettingChanged(String& key)
+{
+ AppLogDebug("ENTER");
+ if (key == L"http://tizen.org/setting/font.size")
+ {
+ __pList->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlSettingPresentationModel.cpp
+ * @brief This is the implementation file for SettingPresentationModel class.
+ */
+
+#include <cstdlib>
+#include "GlSettingPresentationModel.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Io;
+
+static const int DEFAULT_VALUE_EFFECT_SLIDE = 0;
+static const int DEFAULT_VALUE_INTERVAL = 3;
+static const int DEFAULT_VALUE_REPEAT = 0;
+static const int DEFAULT_VALUE_SHUFFLE = 0;
+
+const wchar_t* GALLERY_APP_ID = L"ijudt7w61q.Gallery";
+
+const wchar_t* PATH_DATA_DIRECTORY = L"data/";
+const wchar_t* PATH_GALLERY_DEFAULT_SETTINGS = L"GalleryDefaultSettings.ini";
+
+const wchar_t* SECTION_GALLERY = L"GALLRY_SETTING";
+const wchar_t* SECTION_IMAGE_VIEWER = L"IMAGE_VIEWER_SETTING";
+const wchar_t* SECTION_VIDEO_PLAYER = L"VIDEO_PLAYER_SETTING";
+
+const wchar_t* SLIDESHOW_INTERVAL_VALUE = L"SLIDESHOW_INTERVAL_VALUE";
+const wchar_t* TRANSITION_EFFECT_VALUE = L"TRANSITION_EFFECT_VALUE";
+const wchar_t* REPEAT_VALUE = L"REPEAT_VALUE";
+const wchar_t* SHUFFLE_VALUE = L"SHUFFLE_VALUE";
+
+SettingPresentationModel* SettingPresentationModel::__pPresentationModelInstance = null;
+
+SettingPresentationModel::SettingPresentationModel(void)
+ : __pDefaultGalleryRegistry(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+SettingPresentationModel::~SettingPresentationModel(void)
+{
+ AppLogDebug("ENTER");
+ delete __pDefaultGalleryRegistry;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+SettingPresentationModel*
+SettingPresentationModel::GetInstance(void)
+{
+ AppLogDebug("ENTER");
+ if (__pPresentationModelInstance == null)
+ {
+ CreateInstance();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pPresentationModelInstance;
+}
+
+result
+SettingPresentationModel::Construct(void)
+{
+ AppLogDebug("ENTER");
+ return E_SUCCESS;
+}
+
+void
+SettingPresentationModel::CreateInstance(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModelInstance = new (std::nothrow) SettingPresentationModel;
+ result r = __pPresentationModelInstance->Construct();
+
+ if (IsFailed(r) == true)
+ {
+ delete __pPresentationModelInstance;
+ __pPresentationModelInstance = null;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ std::atexit(DestroyInstance);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+SettingPresentationModel::DestroyInstance(void)
+{
+ AppLogDebug("ENTER");
+ delete __pPresentationModelInstance;
+ __pPresentationModelInstance = null;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+SettingPresentationModel::GetValue(const String& strSectionName, const String& entryName, int& value) const
+{
+ AppLogDebug("ENTER");
+ result r = __pDefaultGalleryRegistry->GetValue(strSectionName, entryName, value);
+ TryCatch(r == E_SUCCESS,, "Registry::GetValue() failed[%s]", GetErrorMessage(r));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+
+CATCH:
+ AppLogDebug("EXIT with exception(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+SettingPresentationModel::GetValue(const String& strSectionName, const String& entryName, String& value) const
+{
+ AppLogDebug("ENTER");
+ result r = __pDefaultGalleryRegistry->GetValue(strSectionName, entryName, value);
+ TryCatch(r == E_SUCCESS,, "Registry::GetValue() failed[%s]", GetErrorMessage(r));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+
+CATCH:
+ AppLogDebug("EXIT with exception(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+SettingPresentationModel::SetValue(const String& strSectionName, const String& entryName, const int value)
+{
+ AppLogDebug("ENTER");
+ result r= __pDefaultGalleryRegistry->SetValue(strSectionName, entryName, value);
+ TryCatch(r == E_SUCCESS,, "Registry::SetValue() failed[%s]", GetErrorMessage(r));
+ r = __pDefaultGalleryRegistry->Flush();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+
+CATCH:
+ AppLogDebug("EXIT with exception(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+SettingPresentationModel::SetValue(const String& strSectionName, const String& entryName, const String& value)
+{
+ AppLogDebug("ENTER");
+ result r = __pDefaultGalleryRegistry->SetValue(strSectionName, entryName, value);
+ TryCatch(r == E_SUCCESS,, "Registry::SetValue() failed[%s]", GetErrorMessage(r));
+ r = __pDefaultGalleryRegistry->Flush();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+
+CATCH:
+ AppLogDebug("EXIT with exception(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+SettingPresentationModel::CreateDefaultRegistry(void)
+{
+ AppLogDebug("ENTER");
+ result r = E_SUCCESS;
+ AppManager* pAppManager = AppManager::GetInstance();
+ TryReturn(pAppManager != null, E_FAILURE, "Failed to get AppManager");
+ String pathGalleryDefaultSetting =
+ pAppManager->GetAppSharedPath(GALLERY_APP_ID) + PATH_DATA_DIRECTORY + PATH_GALLERY_DEFAULT_SETTINGS;
+ AppLogDebug("pathGalleryDefaultSetting(%ls)", pathGalleryDefaultSetting.GetPointer());
+
+ __pDefaultGalleryRegistry = new (std::nothrow) Registry();
+ if (File::IsFileExist(pathGalleryDefaultSetting))
+ {
+ AppLogDebug("Already exist default settings file");
+
+ __pDefaultGalleryRegistry->Construct(pathGalleryDefaultSetting, "r+");
+ }
+ else
+ {
+ AppLogDebug("Creating default settings file");
+
+ __pDefaultGalleryRegistry->Construct(pathGalleryDefaultSetting, "w+");
+ r = __pDefaultGalleryRegistry->AddSection(SECTION_IMAGE_VIEWER);
+ TryCatch(r == E_SUCCESS,, "Registry::AddSection() failed[%s]", GetErrorMessage(r));
+
+ r = __pDefaultGalleryRegistry->AddValue(SECTION_IMAGE_VIEWER, SLIDESHOW_INTERVAL_VALUE,
+ DEFAULT_VALUE_INTERVAL);
+ TryCatch(r == E_SUCCESS,, "Registry::AddValue() failed[%s]", GetErrorMessage(r));
+
+ r = __pDefaultGalleryRegistry->AddValue(SECTION_IMAGE_VIEWER, TRANSITION_EFFECT_VALUE,
+ DEFAULT_VALUE_EFFECT_SLIDE);
+ TryCatch(r == E_SUCCESS,, "Registry::AddValue() failed[%s]", GetErrorMessage(r));
+
+ r = __pDefaultGalleryRegistry->AddValue(SECTION_IMAGE_VIEWER, REPEAT_VALUE,
+ DEFAULT_VALUE_REPEAT);
+ TryCatch(r == E_SUCCESS,, "Registry::AddValue() failed[%s]", GetErrorMessage(r));
+
+ r = __pDefaultGalleryRegistry->AddValue(SECTION_IMAGE_VIEWER, SHUFFLE_VALUE,
+ DEFAULT_VALUE_SHUFFLE);
+ TryCatch(r == E_SUCCESS,, "Registry::AddValue() failed[%s]", GetErrorMessage(r));
+
+ r = __pDefaultGalleryRegistry->Flush();
+ TryCatch(r == E_SUCCESS,, "Registry::Flush() failed[%s]", GetErrorMessage(r));
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+
+CATCH:
+ delete __pDefaultGalleryRegistry;
+ __pDefaultGalleryRegistry = null;
+ AppLogDebug("EXIT with exception(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+void
+SettingPresentationModel::DeleteRegistry(void)
+{
+ if (__pDefaultGalleryRegistry != null )
+ {
+ delete __pDefaultGalleryRegistry;
+ __pDefaultGalleryRegistry = null;
+ }
+}
--- /dev/null
+//
+
+// Copyright (c) 2012 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.
+//
+
+//!Internet SettingToggleCustomItem class
+/*@file: SettingToggleCustomItem.cpp
+ *@brief: The SettingToggleCustomItem
+ *
+ */
+
+#include <FUiControls.h>
+
+#include "GlSettingToggleCustomItem.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui::Controls;
+
+static const int IDA_FORMAT_STRING = 101;
+
+SettingToggleCustomItem::SettingToggleCustomItem(void)
+ : __width(0)
+ , __height(0)
+{
+}
+
+SettingToggleCustomItem::~SettingToggleCustomItem(void)
+{
+}
+
+result
+SettingToggleCustomItem::Construct(int width, int height)
+{
+ result r = E_FAILURE;
+
+ __width = width;
+ __height = height;
+ const Dimension dim(width, height);
+ r = CustomItem::Construct(dim, LIST_ANNEX_STYLE_ONOFF_SLIDING);
+
+ return r;
+}
+
+void
+SettingToggleCustomItem::SetText(const Tizen::Base::String& text)
+{
+ __text = text;
+}
+
+String
+SettingToggleCustomItem::GetText(void) const
+{
+ return __text;
+}
+
+result
+SettingToggleCustomItem::Make(int fontSize)
+{
+ const Color textColor = CUSTOM_COLOR_TRANSPARENT;
+ const Color pressedTextColor = CUSTOM_COLOR_TRANSPARENT;
+ const int X_Margin = 26;
+ const int Y_Margin = 26;
+
+ AddElement(Rectangle(X_Margin, Y_Margin, __width - 200, __height - 2* Y_Margin), IDA_FORMAT_STRING, __text, fontSize, textColor, pressedTextColor, pressedTextColor, true);
+
+ return E_SUCCESS;
+}
--- /dev/null
+//
+// Tizen Native SDK
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file SlideShowPopUp.cpp
+ * @brief This file contains the definitions of the SlideShowPopUp class.
+ */
+
+#include <FUiScenes.h>
+
+#include "GlResourceManager.h"
+#include "GlSlideSettingListener.h"
+#include "GlSlideShowPopUp.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Graphics;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const int ID_FORMAT_START = 501;
+static const int ID_FORMAT_SETTING = 502;
+static const int ID_CANCEL_BUTTON = 503;
+
+SlideShowPopUp::SlideShowPopUp(void)
+ : __pList(null)
+ , __pListener(null)
+{
+}
+
+SlideShowPopUp::~SlideShowPopUp(void)
+{
+}
+
+bool
+SlideShowPopUp::Initialize(void)
+{
+ Button* pCancelButton = null;
+ Popup::Construct(L"IDL_SLIDESHOW_SETTING_POPUP");
+ Popup::SetPropagatedKeyEventListener(this);
+
+ __pList = static_cast<ListView*>(GetControl(L"IDC_POPUP_LIST"));
+
+ if (__pList == null)
+ {
+ return false;
+ }
+
+ __pList->SetItemProvider(*this);
+ __pList->AddListViewItemEventListener(*this);
+
+ pCancelButton = static_cast<Button*>(GetControl(L"IDC_BUTTON", true));
+
+ if (pCancelButton != null)
+ {
+ pCancelButton->AddActionEventListener(*this);
+ pCancelButton->SetActionId(ID_CANCEL_BUTTON);
+ }
+
+ return true;
+}
+
+result
+SlideShowPopUp::OnTerminating(void)
+{
+ return E_SUCCESS;
+}
+
+void
+SlideShowPopUp::OnActionPerformed(const Control& source, int actionId)
+{
+ switch (actionId)
+ {
+ case ID_CANCEL_BUTTON:
+ {
+ Popup::SetShowState(false);
+ Popup::Show();
+ }
+ break;
+
+ default:
+ break;
+ }
+ return;
+}
+
+void
+SlideShowPopUp::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)
+{
+ if (__pListener != null)
+ {
+ __pListener->OnSlideSettingPopUpItemSelected(index);
+ }
+}
+
+bool
+SlideShowPopUp::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
+{
+ AppLogDebug("ENTER");
+
+ if(keyEventInfo.GetKeyCode() == KEY_BACK || keyEventInfo.GetKeyCode() == KEY_ESC)
+ {
+ Popup::SetShowState(false);
+ Popup::Show();
+ }
+ return false;
+}
+
+ListItemBase*
+SlideShowPopUp::CreateItem(int index, int itemWidth)
+{
+ ListAnnexStyle style = LIST_ANNEX_STYLE_NORMAL;
+ int listItemHeight = 112;
+
+ CustomItem* pItem = new (std::nothrow) CustomItem();
+ result r = pItem->Construct(Dimension(GetClientAreaBounds().width, listItemHeight), style);
+ pItem->SetBackgroundColor(LIST_ITEM_DRAWING_STATUS_NORMAL, Color::GetColor(COLOR_ID_WHITE));
+
+ if (IsFailed(r))
+ {
+ AppLogDebug("Create Item Failed with error %s", GetErrorMessage(r));
+ return null;
+ }
+
+ switch (index)
+ {
+ case 0:
+ {
+ pItem->AddElement(Rectangle(25, 0, GetClientAreaBounds().width -50, listItemHeight), ID_FORMAT_START,
+ ResourceManager::GetString(L"IDS_MEDIABR_OPT_START_SLIDESHOW"), true);
+ }
+ break;
+
+ case 1:
+ {
+ pItem->AddElement(Rectangle(25, 0, GetClientAreaBounds().width -50, listItemHeight), ID_FORMAT_SETTING,
+ ResourceManager::GetString(L"IDS_MEDIABR_BODY_SLIDESHOW_SETTINGS"), true);
+ }
+ break;
+
+ break;
+ default:
+ break;
+ }
+
+ return pItem;
+}
+
+bool
+SlideShowPopUp::DeleteItem(int index, ListItemBase* pItem, int itemWidth)
+{
+ return true;
+}
+
+int
+SlideShowPopUp::GetItemCount(void)
+{
+ return 2;
+}
+
+void
+SlideShowPopUp::SetEventListner(ISlideSettingListener* listner)
+{
+ __pListener = listner;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailEvent.cpp
+ * @brief This is the implementation file for ThumbnailEvent class.
+ */
+
+#include <FBase.h>
+#include "GlThumbnailEvent.h"
+#include "GlThumbnailEventListener.h"
+
+using namespace Tizen::Base::Runtime;
+
+ThumbnailEvent::~ThumbnailEvent(void)
+{
+}
+
+void
+ThumbnailEvent::FireImpl(IEventListener& listener, const IEventArg& eventArg)
+{
+ IThumbnailEventListener* plistener = static_cast<IThumbnailEventListener*> (&listener);
+ if (plistener != null)
+ {
+ plistener->OnThumbnailReceivedN(*(const_cast<IEventArg*>(&eventArg)));
+ }
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailEventArg.cpp
+ * @brief This is the implementation file for ThumbnailEventArg class.
+ */
+
+#include <FGraphics.h>
+#include "GlThumbnailEventArg.h"
+#include "GlThumbnailInfo.h"
+
+using namespace std;
+using namespace Tizen::Graphics;
+
+ThumbnailEventArg::ThumbnailEventArg(ThumbnailInfo* pThumbnailInfo)
+ : _pThumbnailInfo(pThumbnailInfo)
+{
+}
+
+ThumbnailEventArg::~ThumbnailEventArg(void)
+{
+ if (_pThumbnailInfo != null)
+ {
+ delete _pThumbnailInfo;
+ }
+}
+
+ThumbnailInfo*
+ThumbnailEventArg::GetThumbnailInfoN(void)
+{
+ if (_pThumbnailInfo == null)
+ {
+ return null;
+ }
+
+ Bitmap* pBitmap = _pThumbnailInfo->GetBitmapN();
+ ThumbnailInfo* pThumbnailInfo = new (std::nothrow) ThumbnailInfo();
+ pThumbnailInfo->Construct(_pThumbnailInfo->GetContentId(), _pThumbnailInfo->GetFilePath(),
+ *pBitmap, _pThumbnailInfo->GetContentType(), _pThumbnailInfo->GetDuration());
+
+ delete pBitmap;
+
+ return pThumbnailInfo;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailInfo.cpp
+ * @brief This is the implementation file for ThumbnailInfo class.
+ */
+
+#include <FGraphics.h>
+#include "GlThumbnailInfo.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+
+ThumbnailInfo::ThumbnailInfo(void)
+ : __pBitmap(null)
+ , __contentType(CONTENT_TYPE_IMAGE)
+ , __duration(0)
+{
+}
+
+ThumbnailInfo::~ThumbnailInfo(void)
+{
+ delete __pBitmap;
+}
+
+void
+ThumbnailInfo::Construct(const ContentId& contentId, const String& filePath,
+ const Bitmap& bitmap, const ContentType contentType, const long duration)
+{
+ __contentId = contentId;
+ __filePath = filePath;
+ __pBitmap = CloneBitmapN(bitmap);
+ __contentType = contentType;
+ __duration = duration;
+}
+
+ContentId
+ThumbnailInfo::GetContentId(void) const
+{
+ return __contentId;
+}
+
+String
+ThumbnailInfo::GetFilePath(void) const
+{
+ return __filePath;
+}
+
+void
+ThumbnailInfo::SetFilePath(const String& filePath)
+{
+ if (&filePath == null)
+ {
+ __filePath = EMPTY_SPACE;
+ }
+ else
+ {
+ __filePath = filePath;
+ }
+}
+
+Bitmap*
+ThumbnailInfo::GetBitmapN(void) const
+{
+ return CloneBitmapN(*__pBitmap);
+}
+
+void
+ThumbnailInfo::SetBitmap(const Bitmap& bitmap)
+{
+ if (__pBitmap)
+ {
+ delete __pBitmap;
+ }
+ __pBitmap = CloneBitmapN(bitmap);
+}
+
+ContentType
+ThumbnailInfo::GetContentType(void) const
+{
+ return __contentType;
+}
+
+void
+ThumbnailInfo::SetContentType(ContentType contentType)
+{
+ __contentType = contentType;
+}
+
+long
+ThumbnailInfo::GetDuration(void) const
+{
+ return __duration;
+}
+
+void
+ThumbnailInfo::SetDuration(long duration)
+{
+ __duration = duration;
+}
+
+Bitmap*
+ThumbnailInfo::CloneBitmapN(const Bitmap& bitmap) const
+{
+ Bitmap* pResultBitmap = null;
+ if (&bitmap != null)
+ {
+ Rectangle mainRect(0, 0, bitmap.GetWidth(), bitmap.GetHeight());
+ Canvas mainCanvas;
+ mainCanvas.Construct(mainRect);
+ mainCanvas.DrawBitmap(mainRect, bitmap);
+ pResultBitmap = new (std::nothrow) Bitmap();
+ result r = pResultBitmap->Construct(mainCanvas, mainRect);
+ TryCatch(r == E_SUCCESS,, "pResultBitmap->Construct Failed:%s", GetErrorMessage(r));
+ }
+ return pResultBitmap;
+
+CATCH:
+ delete pResultBitmap;
+ pResultBitmap = null;
+
+ return null;
+
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailJob.cpp
+ * @brief This is the implementation file for ThumbnailJob class.
+ */
+
+#include <FContent.h>
+#include "GlThumbnailEvent.h"
+#include "GlThumbnailJob.h"
+
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Content;
+
+ThumbnailJob::ThumbnailJob(void)
+ : __requestId(0)
+ , __pRequestEvent(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT");
+}
+
+ThumbnailJob::~ThumbnailJob(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT");
+}
+
+void
+ThumbnailJob::Construct(const ContentId& contentId, const unsigned long requestId,
+ const ThumbnailEvent* pRequestEvent)
+{
+ AppLogDebug("ENTER");
+ __contentId = contentId;
+ __requestId = requestId;
+ __pRequestEvent = pRequestEvent;
+ AppLogDebug("EXIT");
+}
+
+ContentId
+ThumbnailJob::GetContentId(void) const
+{
+ return __contentId;
+}
+
+unsigned long
+ThumbnailJob::GetRequestId(void) const
+{
+ return __requestId;
+}
+
+const ThumbnailEvent*
+ThumbnailJob::GetEvent(void) const
+{
+ return __pRequestEvent;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlThumbnailProvider.cpp
+ * @brief This is the implementation file for ThumbnailProvider class.
+ */
+
+#include <cstdlib>
+#include <FContent.h>
+#include <FMedia.h>
+#include "GlResourceManager.h"
+#include "GlThumbnailEvent.h"
+#include "GlThumbnailEventArg.h"
+#include "GlThumbnailJob.h"
+#include "GlThumbnailProvider.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Base::Utility;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+
+ThumbnailProvider* ThumbnailProvider::__pThumbnailProviderInstance = null;
+ArrayList* ThumbnailProvider::__pThumbnailEventListener = null;
+
+ThumbnailProvider::ThumbnailProvider(void)
+ : __pMutexCmd(null)
+ , __pCmdQueue(null)
+ , __requestId(0)
+ , __isAppTerminating(false)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ThumbnailProvider::~ThumbnailProvider(void)
+{
+ AppLogDebug("ENTER");
+ if (__pThumbnailProviderInstance != null)
+ {
+ __pThumbnailProviderInstance->Stop();
+ __pThumbnailProviderInstance->Join();
+ }
+
+ if (__pThumbnailEventListener != null)
+ {
+ delete __pThumbnailEventListener;
+ }
+
+ if (__pMutexCmd != null)
+ {
+ delete __pMutexCmd;
+ }
+
+ if (__pCmdQueue != null)
+ {
+ delete __pCmdQueue;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ThumbnailProvider*
+ThumbnailProvider::GetInstance(void)
+{
+ AppLogDebug("ENTER");
+ if (__pThumbnailProviderInstance == null)
+ {
+ CreateInstance();
+ __pThumbnailProviderInstance->Start();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __pThumbnailProviderInstance;
+}
+
+result
+ThumbnailProvider::Construct(void)
+{
+ AppLogDebug("ENTER");
+
+ __pThumbnailEventListener = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ result r = __pThumbnailEventListener->Construct();
+ TryCatch(r == E_SUCCESS,, "[%s] Unable to set event listener", GetErrorMessage(r));
+
+ __pMutexCmd = new (std::nothrow) Mutex();
+ r = __pMutexCmd->Create();
+ TryCatch(r == E_SUCCESS,, "[%s] Unable to create mutex", GetErrorMessage(r));
+
+ if (__pCmdQueue != null)
+ {
+ delete __pCmdQueue;
+ }
+ __pCmdQueue = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ r = __pCmdQueue->Construct();
+ TryCatch(r == E_SUCCESS,, "[%s] Unable to construct queue", GetErrorMessage(r));
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return EventDrivenThread::Construct();
+
+CATCH:
+ if (__pThumbnailEventListener != null)
+ {
+ delete __pThumbnailEventListener;
+ __pThumbnailEventListener = null;
+ }
+
+ if (__pMutexCmd != null)
+ {
+ delete __pMutexCmd;
+ __pMutexCmd = null;
+ }
+
+ if (__pCmdQueue != null)
+ {
+ delete __pCmdQueue;
+ __pCmdQueue = null;
+ }
+ AppLogDebug("EXIT with exception(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_FAILURE;
+}
+
+void
+ThumbnailProvider::CreateInstance(void)
+{
+ AppLogDebug("ENTER");
+ __pThumbnailProviderInstance = new (std::nothrow) ThumbnailProvider();
+ result r = __pThumbnailProviderInstance->Construct();
+
+ if (IsFailed(r) == true)
+ {
+ delete __pThumbnailProviderInstance;
+ __pThumbnailProviderInstance = null;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ std::atexit(DestroyInstance);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ThumbnailProvider::DestroyInstance(void)
+{
+ AppLogDebug("ENTER");
+ delete __pThumbnailProviderInstance;
+ __pThumbnailProviderInstance = null;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ThumbnailProvider::Release(void)
+{
+ AppLogDebug("ENTER");
+ if (__pThumbnailProviderInstance != null)
+ {
+ delete __pThumbnailProviderInstance;
+ __pThumbnailProviderInstance = null;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ThumbnailProvider::RequestThumbnail(const ContentId& contentId, const ThumbnailEvent* event)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("[THREAD] Request Job - (MainThread)");
+
+ if (contentId.ToString().IsEmpty() == true || event == null
+ || __pMutexCmd == null || __pCmdQueue == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ __pMutexCmd->Acquire();
+
+ AppLogDebug("__pMutexCmd: %x", __pMutexCmd);
+
+ ThumbnailJob* pThumbnailJob = new (std::nothrow) ThumbnailJob();
+ AppLogDebug("pThumbnailJob: %x", pThumbnailJob);
+ pThumbnailJob->Construct(contentId, ++__requestId, event);
+ __pCmdQueue->Add(pThumbnailJob);
+
+ __pMutexCmd->Release();
+
+ SendUserEvent(null, null);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ThumbnailProvider::ClearThumbnailRequests(const bool appTerminating)
+{
+ AppLogDebug("ENTER");
+ if (__pMutexCmd != null)
+ {
+ __pMutexCmd->Acquire();
+ if (__pCmdQueue != null && __pCmdQueue->GetCount() > 0)
+ {
+ __pCmdQueue->RemoveAll(true);
+ }
+
+ if (appTerminating == true)
+ {
+ __isAppTerminating = true;
+ }
+ __pMutexCmd->Release();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+bool
+ThumbnailProvider::OnStart(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+ThumbnailProvider::OnStop(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+ThumbnailProvider::OnUserEventReceivedN(RequestId requestId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("[THREAD] Receive Job Message - (SubThread)");
+ ThumbnailJob* pThumbnailJob = null;
+ ThumbnailInfo* pThumbnailInfo = null;
+ ContentId contentId;
+
+ if (__pMutexCmd == null || __pCmdQueue == null)
+ {
+ delete pArgs;
+ AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ __pMutexCmd->Acquire();
+ if (__pCmdQueue->GetCount() > 0)
+ {
+ pThumbnailJob = static_cast<ThumbnailJob*>(__pCmdQueue->GetAt(0));
+ if (pThumbnailJob == null)
+ {
+ __pCmdQueue->RemoveAt(0);
+ __pMutexCmd->Release();
+ return;
+ }
+
+ unsigned long requestId = pThumbnailJob->GetRequestId();
+ ContentId contentId = pThumbnailJob->GetContentId();
+ __pMutexCmd->Release();
+
+ pThumbnailInfo = GetThumbnailInfoN(contentId);
+
+ __pMutexCmd->Acquire();
+ pThumbnailJob = static_cast<ThumbnailJob*>(__pCmdQueue->GetAt(0));
+
+ if (pThumbnailJob != null && pThumbnailInfo != null && requestId == pThumbnailJob->GetRequestId())
+ {
+ ContentType contentType = pThumbnailInfo->GetContentType();
+ if (contentType == CONTENT_TYPE_IMAGE || contentType == CONTENT_TYPE_VIDEO)
+ {
+ ThumbnailEvent* pThumbnailEvent = const_cast<ThumbnailEvent*>(pThumbnailJob->GetEvent());
+ if (pThumbnailEvent != null)
+ {
+ if (__isAppTerminating != true)
+ {
+ ThumbnailEventArg* pSendingArg = new (std::nothrow)ThumbnailEventArg(pThumbnailInfo);
+ pThumbnailEvent->Fire(*pSendingArg);
+ }
+ }
+ }
+ else
+ {
+ delete pThumbnailInfo;
+ }
+ __pCmdQueue->RemoveAt(0, true);
+ }
+ else
+ {
+ delete pThumbnailInfo;
+ }
+ }
+ __pMutexCmd->Release();
+
+ delete pArgs;
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+ThumbnailInfo*
+ThumbnailProvider::GetThumbnailInfoN(const ContentId& contentId) const
+{
+ AppLogDebug("ENTER");
+ ThumbnailInfo* pNewThumbnailInfo = null;
+
+ ContentManager contentManager;
+ result r = contentManager.Construct();
+ if (r == E_SUCCESS)
+ {
+ Bitmap* pBitmap = null;
+ long duration = 0;
+
+ ContentInfo* pContentInfo = contentManager.GetContentInfoN(contentId);
+
+ if (pContentInfo != null)
+ {
+ String path = pContentInfo->GetContentPath();
+ if (path.EndsWith(L"tif") != true
+ && path.EndsWith(L"tiff") != true
+ && path.EndsWith(L"wbmp") != true
+ && path.EndsWith(L"TIF") != true
+ && path.EndsWith(L"TIFF") != true
+ && path.EndsWith(L"WBMP") != true)
+ {
+ pBitmap = pContentInfo->GetThumbnailN();
+ }
+
+ if (pBitmap == null)
+ {
+ pBitmap = GetThumbnailByDecodeN(pContentInfo->GetContentPath(), pContentInfo->GetContentType());
+ if (pBitmap == null)
+ {
+ pBitmap = ResourceManager::GetBitmapN(IDB_NO_CONTENTS_BROKEN);
+ }
+ }
+ pBitmap->Scale(DIMENSION_DEFAULT_THUMBNAIL);
+
+ ContentType contentType = pContentInfo->GetContentType();
+
+ if (contentType == CONTENT_TYPE_VIDEO)
+ {
+ VideoContentInfo* pVideoContentInfo = static_cast<VideoContentInfo*>(pContentInfo);
+ duration = pVideoContentInfo->GetDuration();
+ }
+
+ pNewThumbnailInfo = new (std::nothrow) ThumbnailInfo();
+ pNewThumbnailInfo->Construct(contentId, pContentInfo->GetContentPath(), *pBitmap, contentType, duration);
+ delete pBitmap;
+ delete pContentInfo;
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pNewThumbnailInfo;
+}
+
+Bitmap*
+ThumbnailProvider::GetThumbnailByDecodeN(const String& filePath, const ContentType contentType) const
+{
+ AppLogDebug("ENTER");
+ Bitmap* pBitmap = null;
+ if (&filePath == null || filePath.GetLength() <= 0)
+ {
+ pBitmap = new (std::nothrow) Bitmap();
+ pBitmap->Construct(DIMENSION_DEFAULT_THUMBNAIL, BITMAP_PIXEL_FORMAT_RGB565);
+ }
+ else
+ {
+ if (contentType == CONTENT_TYPE_IMAGE)
+ {
+ ImageBuffer pImageBuffer;
+ result r = pImageBuffer.Construct(filePath);
+ if (r == E_SUCCESS)
+ {
+ pBitmap = pImageBuffer.GetBitmapN(BITMAP_PIXEL_FORMAT_ARGB8888, BUFFER_SCALING_AUTO);
+ }
+ }
+ else if (contentType == CONTENT_TYPE_VIDEO)
+ {
+ VideoFrameExtractor extractor;
+ result r = extractor.Construct(filePath, MEDIA_PIXEL_FORMAT_RGB565LE);
+ if (r == E_SUCCESS)
+ {
+ ImageBuffer* pImageBuffer = extractor.GetFrameN(0);
+ if (pImageBuffer != null)
+ {
+ pBitmap = pImageBuffer->GetBitmapN(BITMAP_PIXEL_FORMAT_RGB565, BUFFER_SCALING_AUTO);
+ delete pImageBuffer;
+ }
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pBitmap;
+}
+
+String
+ThumbnailProvider::GetFileNameFromFullPath(const String& fullPath, bool withExt) const
+{
+ AppLogDebug("ENTER");
+ if (fullPath.CompareTo(EMPTY_SPACE) == 0)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return EMPTY_SPACE;
+ }
+
+ String delim(DIRECTORY_SEPARATOR);
+ StringTokenizer st(fullPath,delim);
+ String token;
+ while (st.HasMoreTokens())
+ {
+ st.GetNextToken(token);
+ }
+
+ if (withExt == true)
+ {
+ AppLogDebug("EXIT 2(%s)", GetErrorMessage(GetLastResult()));
+
+ return token;
+ }
+ else
+ {
+ String subDelim(FILE_EXT_SEPARATOR);
+ StringTokenizer subSt(token, subDelim);
+ String subToken;
+ subSt.GetNextToken(subToken);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return subToken;
+ }
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlTimerBase.cpp
+ * @brief This is the source file for GlTimerBase class.
+ */
+
+#include <FBase.h>
+#include <FUi.h>
+
+#include "GlAlbumListPresentationModel.h"
+#include "GlContentUpdateEventListener.h"
+#include "GlFileListPresentationModel.h"
+#include "GlProgressBar.h"
+#include "GlTimerBase.h"
+#include "GlTypes.h"
+
+using namespace Tizen::Ui;
+using namespace Tizen::Base::Runtime;
+using namespace Tizen::Ui::Controls;
+
+GlTimerBase::GlTimerBase(IFileOpInvalidateListener* invalidateListener, enum FileActionMode actionId)
+ : _actionId(actionId)
+ , __pContentIdList(null)
+ , __moveToCount(0)
+ , __pMoveProBar(null)
+ , __pInvalidate(invalidateListener)
+ , __isStarted(false)
+ , __timerRes(CANCEL_BY_USER)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+GlTimerBase::~GlTimerBase(void)
+{
+ AppLogDebug("ENTER");
+ __pInvalidate = null;
+ AlbumListPresentationModel::GetInstance()->RemoveTimerScanListener();
+ FileListPresentationModel::GetInstance()->StopAnimation();
+ AlbumListPresentationModel::GetInstance()->StopAnimation();
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->ReSetTimerActive();
+
+ if (__pContentIdList != null && __pContentIdList->GetCount() > 0 && __isStarted)
+ {
+ __moveTimer.Cancel();
+ __isStarted = false;
+ }
+ delete __pContentIdList;
+ if (__pMoveProBar)
+ {
+ __pMoveProBar->HideFileProgressingPopup();
+ delete __pMoveProBar;
+ }
+ AppLogDebug("EXIT");
+}
+
+bool
+GlTimerBase::StartTimer(void)
+{
+ AppLogDebug("ENTER");
+ __pContentIdList = TimerStart();
+ if (__pContentIdList != null && __pContentIdList->GetCount() > 0)
+ {
+ AppLogDebug("Starting timer");
+ __pMoveProBar = new (std::nothrow) GlProgressBar(static_cast<IActionEventListener*>(this),
+ static_cast<IPropagatedKeyEventListener*>(this));
+ __pMoveProBar->ShowFileProgressingPopup(__pContentIdList->GetCount(), _actionId);
+ __moveToCount = 0;
+ __moveTimer.Construct(*this);
+ __moveTimer.Start(60);
+ __isStarted = true;
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->SetTimerActive();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+ return E_SUCCESS;
+ }
+ AppLogDebug("EXIT1(%s)", GetErrorMessage(GetLastResult()));
+ return E_FAILURE;
+}
+
+void
+GlTimerBase::CancelTimer(void)
+{
+ AppLogDebug("ENTER");
+ __moveTimer.Cancel();
+ __pMoveProBar->HideFileProgressingPopup();
+ int scanCount = GetDirScanCount();
+ if (scanCount > 0)
+ {
+ AlbumListPresentationModel::GetInstance()->AddTimerScanListener(this, scanCount);
+ ScanDirectories();
+ __pInvalidate->OnScanDirStart();
+ FileListPresentationModel::GetInstance()->ShowAnimation();
+ AlbumListPresentationModel::GetInstance()->ShowAnimation();
+ }
+ else
+ {
+ OnOpCancelled(CANCEL_USER);
+ }
+ __isStarted = false;
+ __moveToCount = 0;
+ __timerRes = CANCEL_BY_USER;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GlTimerBase::OnTimerScanDirComplete()
+{
+ AppLogDebug("OnTimerScanDirComplete ENTER");
+
+ AlbumListPresentationModel::GetInstance()->RemoveTimerScanListener();
+ FileListPresentationModel::GetInstance()->StopAnimation();
+ AlbumListPresentationModel::GetInstance()->StopAnimation();
+ __pInvalidate->OnScanDirComplete();
+ switch(__timerRes)
+ {
+ case CANCEL_SYS:
+ AppLogDebug("CANCEL_SYS");
+ OnOpCancelled(CANCEL_SYS_ERROR);
+ break;
+ case CANCEL_BY_USER:
+ AppLogDebug("CANCEL_BY_USER");
+ OnOpCancelled(CANCEL_USER);
+ break;
+ case TIMER_COMPLETE:
+ AppLogDebug("TIMER_COMPLETE");
+ OnOpComplete(COMPLETE_SUCCESS);
+ break;
+ default:
+ break;
+ }
+ AppLogDebug("ENTER");
+}
+
+void
+GlTimerBase::OnTimerExpired(Timer& timer)
+{
+ AppLogDebug("ENTER");
+ if (&timer == &__moveTimer)
+ {
+ AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
+ if (__moveToCount < __pContentIdList->GetCount())
+ {
+ AppLogDebug("__pContentIdList count is %d", __pContentIdList->GetCount());
+ if (__pContentIdList->GetAt(__moveToCount) != null)
+ {
+ result r = TimerExpired(__pContentIdList->GetAt(__moveToCount));
+ if (IsFailed(r))
+ {
+ if (r == E_STORAGE_FULL || r == E_IO)
+ {
+ __moveTimer.Cancel();
+ __isStarted = false;
+ __timerRes = CANCEL_SYS;
+ __pMoveProBar->HideFileProgressingPopup();
+ int scanCount = GetDirScanCount();
+ if ( scanCount > 0)
+ {
+ AlbumListPresentationModel::GetInstance()->AddTimerScanListener(this, scanCount);
+ ScanDirectories();
+ __pInvalidate->OnScanDirStart();
+ FileListPresentationModel::GetInstance()->ShowAnimation();
+ AlbumListPresentationModel::GetInstance()->ShowAnimation();
+ }
+ else
+ {
+ MessageBox messageBox;
+ messageBox.Construct(L"", ResourceManager::GetString(L"IDS_COM_BODY_OPERATION_FAILED"),
+ MSGBOX_STYLE_NONE, 3000);
+ int modalResult;
+ messageBox.ShowAndWait(modalResult);
+ OnOpCancelled(CANCEL_SYS_ERROR);
+ }
+ AppLogDebug("OnTimerExpired EXIT(%s)", GetErrorMessage(r));
+ return;
+ }
+ //If the errors are file not found etc, skip this file and move to next.
+ }
+ }
+ ++__moveToCount;
+ __pMoveProBar->IncProgress(__moveToCount);
+ if (__pInvalidate)
+ {
+ __pInvalidate->OnFileOpInvalidate(_actionId);
+ }
+ __moveTimer.Start(1);
+ __isStarted = true;
+ }
+ else
+ {
+ __moveTimer.Cancel();
+ __pMoveProBar->HideFileProgressingPopup();
+ int scanCount = GetDirScanCount();
+ if (scanCount == 0)
+ {
+ __moveToCount = 0;
+ __isStarted = false;
+ __timerRes = TIMER_COMPLETE;
+ OnOpComplete(COMPLETE_SUCCESS);
+ return;
+ }
+ AlbumListPresentationModel::GetInstance()->AddTimerScanListener(this, scanCount);
+ ScanDirectories();
+ __pInvalidate->OnScanDirStart();
+ FileListPresentationModel::GetInstance()->ShowAnimation();
+ AlbumListPresentationModel::GetInstance()->ShowAnimation();
+ __isStarted = false;
+ __timerRes = TIMER_COMPLETE;
+ __moveToCount = 0;
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+GlTimerBase::OnActionPerformed(const Control& source, int actionId)
+{
+ AppLogDebug("ENTER");
+ switch (actionId)
+ {
+ case IDA_PROGRESSBAR_CANCEL:
+ {
+ CancelTimer();
+ }
+ break;
+
+ default:
+ break;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+GlTimerBase::GetMovedCount() const
+{
+ return __moveToCount;
+}
+
+void
+GlTimerBase::OnOpCancelled(enum FileActionCancelRes res)
+{
+ AppLogDebug("ENTER");
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->ReSetTimerActive();
+ if (__pInvalidate)
+ {
+ __pInvalidate->OnFileOpInvalidate(_actionId);
+ }
+ if (__moveToCount > 0)
+ {
+ if (__pInvalidate)
+ {
+ if (res != CANCEL_USER)
+ {
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_PARTIAL);
+ }
+ else
+ {
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
+ }
+ }
+ }
+ else
+ {
+ if (__pInvalidate)
+ {
+ if (res != CANCEL_USER)
+ {
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SYS_FAILURE);
+ }
+ else
+ {
+ __pInvalidate->OnFileOpComplete(_actionId, COMPLETE_SUCCESS);
+ }
+ }
+ }
+ TimerCancel(__moveToCount, res);
+ AppLogDebug("EXIT");
+}
+
+void
+GlTimerBase::OnOpComplete(enum FileActionCompleteRes res)
+{
+ AppLogDebug("ENTER");
+ ContentUpdateEventListener* pContentListener = ContentUpdateEventListener::GetInstance();
+ pContentListener->ReSetTimerActive();
+ if (__pInvalidate)
+ {
+ __pInvalidate->OnFileOpInvalidate(_actionId);
+ __pInvalidate->OnFileOpComplete(_actionId, res);
+ }
+ TimerComplete(__moveToCount, res);
+ AppLogDebug("EXIT");
+}
+
+void
+GlTimerBase::SetActionMode(const enum FileActionMode actionId)
+{
+ AppLogDebug("ENTER");
+ _actionId = actionId;
+ AppLogDebug("EXIT");
+}
+
+bool
+GlTimerBase::IsStarted(void)
+{
+ AppLogDebug("ENTER");
+ return __isStarted;
+}
+
+void
+GlTimerBase::Cancel(void)
+{
+ AppLogDebug("ENTER");
+ if (__isStarted)
+ {
+ __pMoveProBar->HideFileProgressingPopup();
+ __moveTimer.Cancel();
+ __isStarted = false;
+
+ int scanCount = GetDirScanCount();
+ if (scanCount > 0)
+ {
+ AlbumListPresentationModel::GetInstance()->AddTimerScanListener(this, scanCount);
+ ScanDirectories();
+ __pInvalidate->OnScanDirStart();
+ FileListPresentationModel::GetInstance()->ShowAnimation();
+ AlbumListPresentationModel::GetInstance()->ShowAnimation();
+ }
+ else
+ {
+ OnOpCancelled(CANCEL_SYS_ERROR);
+ }
+ }
+ AppLogDebug("EXIT");
+}
+
+bool
+GlTimerBase::OnKeyReleased(Control& source, const Tizen::Ui::KeyEventInfo& keyEventInfo)
+{
+ AppLogDebug("ENTER");
+
+ if(keyEventInfo.GetKeyCode() == KEY_BACK)
+ {
+ CancelTimer();
+ }
+ return true;
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlTypes.cpp
+ * @brief This is the implementation file for Types definition
+ */
+
+#include <FGraphics.h>
+#include "GlTypes.h"
+
+using namespace Tizen::Graphics;
+
+const wchar_t* IDL_FORM_ALBUM_LIST = L"IDL_FORM_ALBUM_LIST";
+const wchar_t* IDL_FORM_ALBUM_LIST_EDITOR = L"IDL_FORM_ALBUM_LIST_EDITOR";
+const wchar_t* IDL_FORM_FILE_LIST = L"IDL_FORM_FILE_LIST";
+const wchar_t* IDL_FORM_SETTING_MAIN = L"IDL_FORM_SETTING_MAIN";
+const wchar_t* IDL_FORM_SETTING_INTERVAL = L"IDL_FORM_SETTING_INTERVAL";
+const wchar_t* IDL_FORM_SETTING_TRANSITION = L"IDL_FORM_SETTING_TRANSITION";
+const wchar_t* IDL_FORM_IMAGE_CROP = L"IDL_FORM_IMAGE_CROP";
+
+const wchar_t* IDC_LABEL_ALBUM_LIST_EDITOR_SELECTED = L"IDC_LABEL_ALBUM_LIST_EDITOR_SELECTED";
+
+const wchar_t* IDC_FORM_ALBUM_LIST = L"AlbumListForm";
+const wchar_t* IDC_FORM_ALBUM_LIST_EDITOR = L"AlbumListEditorForm";
+const wchar_t* IDC_FORM_ALBUM_NAME_EDITOR = L"AlbumNameEditorForm";
+const wchar_t* IDC_FORM_FILE_LIST = L"FileListForm";
+const wchar_t* IDC_FORM_FILE_LIST_EDITOR = L"FileListEditorForm";
+const wchar_t* IDC_FORM_SETTING_MAIN = L"SettingMainForm";
+const wchar_t* IDC_FORM_SETTING_INTERVAL = L"SettingIntervalForm";
+const wchar_t* IDC_FORM_SETTING_TRANSITION = L"SettingTransitionForm";
+const wchar_t* IDC_FORM_IMAGE_CROP = L"ImageCropForm";
+
+const wchar_t* IDC_PANEL_BLANK = L"";
+const wchar_t* IDC_PANEL_ALL_LIST = L"AllListPanel";
+const wchar_t* IDC_PANEL_IMAGE_LIST = L"ImageListPanel";
+const wchar_t* IDC_PANEL_VIDEO_LIST = L"VideoListPanel";
+const wchar_t* IDC_PANEL_ALL_LIST_EDITOR = L"AllListEditorPanel";
+const wchar_t* IDC_PANEL_IMAGE_LIST_EDITOR = L"ImageListEditorPanel";
+const wchar_t* IDC_PANEL_VIDEO_LIST_EDITOR = L"VideoListEditorPanel";
+const wchar_t* IDC_PANEL_ALL_LIST_SELECTION = L"AllListSelectionPanel";
+
+const wchar_t* IDSCN_ALBUM_LIST = L"SceneAlbumList";
+const wchar_t* IDSCN_ALBUM_LIST_EDITOR = L"SceneAlbumListEditor";
+const wchar_t* IDSCN_ALBUM_NAME_EDITOR = L"SceneAlbumNameEditor";
+const wchar_t* IDSCN_ALL_LIST = L"SceneFileAllList";
+const wchar_t* IDSCN_IMAGE_LIST = L"SceneFileImageList";
+const wchar_t* IDSCN_VIDEO_LIST = L"SceneFileVideoList";
+const wchar_t* IDSCN_ALL_LIST_EDITOR = L"SceneFileAllListEditor";
+const wchar_t* IDSCN_IMAGE_LIST_EDITOR = L"SceneFileImageListEditor";
+const wchar_t* IDSCN_VIDEO_LIST_EDITOR = L"SceneFileVideoListEditor";
+const wchar_t* IDSCN_ALL_LIST_SELECTION = L"SceneFileAllListSelection";
+const wchar_t* IDSCN_SETTING_MAIN = L"SceneMainSetting";
+const wchar_t* IDSCN_SETTING_INTERVAL = L"SceneInvervalSetting";
+const wchar_t* IDSCN_SETTING_TRANSITION = L"SceneTransitionSetting";
+const wchar_t* IDSCN_IMAGE_CROP = L"SceneImageCrop";
+
+const wchar_t* APPCONTROL_PROVIDER_ID_CAMERA = L"tizen.camera";
+const wchar_t* APPCONTROL_PROVIDER_ID_MESSAGE = L"tizen.messages";
+const wchar_t* APPCONTROL_PROVIDER_ID_EMAIL = L"tizen.email";
+const wchar_t* APPCONTROL_PROVIDER_ID_IMAGE = L"tizen.imageviewer";
+
+const wchar_t* APPCONTROL_OPERATION_ID_PICK = L"http://tizen.org/appcontrol/operation/pick";
+const wchar_t* APPCONTROL_OPERATION_ID_VIEW = L"http://tizen.org/appcontrol/operation/view";
+const wchar_t* APPCONTROL_OPERATION_ID_CREATE_CONTENT = L"http://tizen.org/appcontrol/operation/create_content";
+const wchar_t* APPCONTROL_OPERATION_ID_COMPOSE = L"http://tizen.org/appcontrol/operation/compose";
+const wchar_t* APPCONTROL_OPERATION_ID_CONFIGURE = L"http://tizen.org/appcontrol/operation/configure";
+const wchar_t* APPCONTROL_OPERATION_ID_MAIN = L"http://tizen.org/appcontrol/operation/main";
+
+const wchar_t* APPCONTROL_KEY_TYPE = L"http://tizen.org/appcontrol/data/type";
+const wchar_t* APPCONTROL_KEY_PATH = L"http://tizen.org/appcontrol/data/path";
+const wchar_t* APPCONTROL_KEY_INDEX = L"http://tizen.org/appcontrol/data/index";
+const wchar_t* APPCONTROL_KEY_SELECTION_MODE = L"http://tizen.org/appcontrol/data/selection_mode";
+const wchar_t* APPCONTROL_KEY_DATA_SELECTED = L"http://tizen.org/appcontrol/data/selected";
+const wchar_t* APPCONTROL_KEY_MESSAGE_TYPE = L"http://tizen.org/appcontrol/data/message/type";
+const wchar_t* APPCONTROL_KEY_CAMERA_ALLOW_SWITCH = L"http://tizen.org/appcontrol/data/camera/allow_switch";
+const wchar_t* APPCONTROL_KEY_IMAGEVIEWER_MODE = L"http://tizen.org/appcontrol/data/image/crop_mode";
+
+const wchar_t* APPCONTROL_URI_MMS_TO = L"mmsto";
+const wchar_t* APPCONTROL_URI_MAIL_TO = L"mailto";
+
+const wchar_t* APPCONTROL_MIME_IMAGE_JPG = L"image/jpg";
+const wchar_t* APPCONTROL_MIME_IMAGE_ALL = L"image/*";
+
+const wchar_t* APPCONTROL_DATA_IMAGE = L"image";
+const wchar_t* APPCONTROL_DATA_VIDEO = L"video";
+const wchar_t* APPCONTROL_DATA_SINGLE = L"single";
+const wchar_t* APPCONTROL_DATA_MULTIPLE = L"multiple";
+const wchar_t* APPCONTROL_DATA_SLIDE_SHOW = L"slideshow";
+const wchar_t* APPCONTROL_DATA_SELECTION_MODE = L"http://tizen.org/appcontrol/data/selection/mode";
+const wchar_t* APPCONTROL_DATA_TRUE = L"true";
+const wchar_t* APPCONTROL_DATA_MMS = L"mms";
+const wchar_t* APPCONTROL_DATA_CROP_TYPE_AUTO = L"auto";
+const wchar_t* APPCONTROL_DATA_CROP_TYPE_FIT_TO_SCREEN = L"fit_to_screen";
+
+const wchar_t* APPCONTROL_RESULT_KEY_LEGACY_RESULT = L"http://tizen.org/appcontrol/data/legacyresult";
+
+const wchar_t* SETTING_KEY_LANGUAGE = L"http://tizen.org/setting/locale.language";
+const wchar_t* SETTING_KEY_FONT_SIZE = L"http://tizen.org/setting/font.size";
+
+const Dimension DIMENSION_DEFAULT_THUMBNAIL = Dimension(171,127);
+const int FOLDER_BITMAP_MAX = 7;
+
+const wchar_t* EMPTY_SPACE = L"";
+const wchar_t* SINGLE_SPACE = L" ";
+
+const wchar_t* DIRECTORY_SEPARATOR = L"/";
+const wchar_t* FILE_EXT_SEPARATOR = L".";
+const wchar_t* MULTI_ITEM_SEPARATOR = L";";
+
+const wchar_t* CONTENT_EXT_PNG = L".png";
+const wchar_t* CONTENT_EXT_BMP = L".bmp";
+const wchar_t* CONTENT_EXT_JPG = L".jpg";
+const wchar_t* CONTENT_EXT_GIF = L".gif";
+const wchar_t* CONTENT_EXT_TIF = L".tif";
+const wchar_t* CONTENT_EXT_MP4 = L".mp4";
+const wchar_t* CONTENT_EXT_3GP = L".3gp";
+const wchar_t* CONTENT_EXT_AVI = L".avi";
+const wchar_t* CONTENT_EXT_RM = L".rm";
+const wchar_t* CONTENT_EXT_WMV = L".wmv";
+const wchar_t* CONTENT_EXT_ASF = L".asf";
+
+const wchar_t* SECTION_NAME_GALLERY = L"GALLRY_SETTING";
+const wchar_t* SECTION_NAME_IMAGE_VIEWER = L"IMAGE_VIEWER_SETTING";
+const wchar_t* SECTION_NAME_VIDEO_PLAYER = L"VIDEO_PLAYER_SETTING";
+const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_INTERVAL = L"SLIDESHOW_INTERVAL_VALUE";
+const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_TRANSITION_EFFECT = L"TRANSITION_EFFECT_VALUE";
+const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SLIDESHOW_MUSIC = L"MUSIC_VALUE";
+const wchar_t* ENTRY_NAME_IMAGE_VIEWER_REPEAT_VALUE = L"REPEAT_VALUE";
+const wchar_t* ENTRY_NAME_IMAGE_VIEWER_SHUFFLE_VALUE = L"SHUFFLE_VALUE";
+
+const wchar_t* ALL_ALBUMS_REAL_NAME = L"asdqwezxc%%^^@@$$**";
+
+const wchar_t* FONT_SIZE_SETTING_INFO_KEY = L"http://tizen.org/setting/font.size";
+
+const wchar_t* IDB_BUTTON_CIRCLE_BACKGROUND = L"T01_button_circle_bg_normal.png";
+const wchar_t* IDB_BUTTON_RENAME = L"T01_button_rename.png";
+const wchar_t* IDB_CONTROLBAR_CAMERA = L"T01_controlbar_icon_camera.png";
+const wchar_t* IDB_CONTROLBAR_DELETE = L"T01_controlbar_icon_delete.png";
+const wchar_t* IDB_CONTROLBAR_DELETE_DIM = L"T01_toolbar_icon_delete_dim_web.png";
+const wchar_t* IDB_CONTROLBAR_MORE = L"T01_controlbar_icon_more.png";
+const wchar_t* IDB_CONTROLBAR_MORE_DISABLED = L"00_icon_more_dim.png";
+const wchar_t* IDB_CONTROLBAR_MORE_PRESSED = L"00_icon_more_press.png";
+const wchar_t* IDB_CONTROLBAR_SHARE = L"T01_controlbar_icon_share02.png";
+const wchar_t* IDB_CONTROLBAR_SHARE_DIM = L"T01_toolbar_icon_share_dim_web.png";
+const wchar_t* IDB_LISTVIEW_EMPTY = L"T01_Nocontents_picture.png";
+const wchar_t* IDB_MAIN_FOLDER_BACKGROUND = L"T01_main_folder_bg.png";
+const wchar_t* IDB_VIDEOTHUMBNAIL_BG = L"T01_places_thumbnail_bg.png";
+const wchar_t* IDB_VIDEOTHUMBNAIL_BOOKMARK = L"T01_icon_thumbnail_bookmark.png";
+const wchar_t* IDB_VIDEOTHUMBNAIL_FAVORITE = L"T01_icon_thumbnail_favorite.png";
+const wchar_t* IDB_VIDEOTHUMBNAIL_PLAY = L"T01_btn_play.png";
+const wchar_t* IDB_BUTTON_MOVE_SELECTION = L"T01_button_reveal.png";
+const wchar_t* IDB_NO_CONTENTS_BROKEN = L"T01_Nocontents_broken.png";
+const wchar_t* IDB_LIST_EXPAND_CLOSED = L"00_list_expand_closed.png";
+const wchar_t* IDB_LIST_EXPAND_CLOSED_PRESS = L"00_list_expand_closed_press.png";
+const wchar_t* IDB_LIST_EXPAND_OPENED = L"00_list_expand_opened.png";
+const wchar_t* IDB_LIST_EXPAND_OPENED_PRESS = L"00_list_expand_opened_press.png";
+const wchar_t* IDB_ICON_SELECT_ALL = L"00_icon_select_all_web.png";
+const wchar_t* IDB_ICON_SELECT_ALL_PRESS = L"00_icon_select_all_press_web.png";
+
+const wchar_t* DEVICE_STORAGE_CARD_MOUNTED = L"Mounted";
+const wchar_t* DEVICE_STORAGE_CARD_UNMOUNTED = L"Unmounted";
+const wchar_t* IDB_ALBUM_EDIT_RENAME_BG = L"T01_album_edit_rename_bg.png";
+const wchar_t* IDB_ALBUM_EDIT_RENAME = L"T01_album_edit_rename.png";
+const wchar_t* IDB_ALBUM_ICON_FOLDER = L"T01_album_icon_folder.png";
+const wchar_t* IDB_ALBUM_ICON_DOWNLOAD = L"T01_album_icon_download.png";
+const wchar_t* IDB_ALBUM_ICON_CAMERA = L"T01_album_icon_camera.png";
+
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS1 = L"00_list_process_01.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS2 = L"00_list_process_02.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS3 = L"00_list_process_03.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS4 = L"00_list_process_04.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS5 = L"00_list_process_05.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS6 = L"00_list_process_06.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS7 = L"00_list_process_07.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS8 = L"00_list_process_08.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS9 = L"00_list_process_09.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS10 = L"00_list_process_10.png";
+
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS11 = L"00_list_process_11.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS12 = L"00_list_process_12.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS13 = L"00_list_process_13.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS14 = L"00_list_process_14.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS15 = L"00_list_process_15.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS16 = L"00_list_process_16.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS17 = L"00_list_process_17.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS18 = L"00_list_process_18.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS19 = L"00_list_process_19.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS20 = L"00_list_process_20.png";
+
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS21 = L"00_list_process_21.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS22 = L"00_list_process_22.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS23 = L"00_list_process_23.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS24 = L"00_list_process_24.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS25 = L"00_list_process_25.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS26 = L"00_list_process_26.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS27 = L"00_list_process_27.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS28 = L"00_list_process_28.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS29 = L"00_list_process_29.png";
+const wchar_t* IDB_ALBUM_RENAME_PROGRESS30 = L"00_list_process_30.png";
+
+const wchar_t* IDB_IMAGE_CONTEXT_EMAIL_ICON = L"T01_1_face_tag_icon_email.png";
+const wchar_t* IDB_IMAGE_CONTEXT_MESSAGE_ICON = L"T01_1_face_tag_icon_message.png";
+
+const wchar_t* IDB_IMAGE_CROP_RECTANGLE = L"T01-1_crop_rectangle.png";
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlVideoListEditorPanel.cpp
+ * @brief This is the implementation file for VideoListEditorPanel class.
+ */
+
+#include <FContent.h>
+#include <FMedia.h>
+#include "GlAlbumInfo.h"
+#include "GlCommonUtil.h"
+#include "GlFileListPresentationModel.h"
+#include "GlGalleryApp.h"
+#include "GlResourceManager.h"
+#include "GlTypes.h"
+#include "GlVideoListEditorPanel.h"
+#include "GlFileListEditorForm.h"
+#include "GlFileUpdateTimer.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const unsigned int COLOR_COUNT_LABEL = Color32<68, 68, 68>::Value;
+static const unsigned int COLOR_SELECT_COUNT_FONT = Color32<255, 255, 255>::Value;
+static const Color COLOR_THUMBNAIL_DIM (Color::GetColor(COLOR_ID_BLACK));
+static const Rectangle RECT_VIDEO_THUMBNAIL(16, 16, 172, 128);
+static const Rectangle RECT_INITIAL(0, 0, 10, 10);
+
+static const int H_SELECTALL_REGION = 112;
+static const int ALPHA_THUMBNAIL_DIM = 70;
+static const int H_COUNT_LABEL = 48;
+static const int COUNT_LABEL_FONT_SIZE = 33;
+static const int LENGTH_COUNT_LABEL = 256;
+static const int W_CLIENT_REGION = 720;
+static const int H_VIDEO_ITEM = 160;
+static const int GAP_W_VIDEO_TITLE = 16+172+16;
+static const int GAP_H_VIDEO_TITLE = 22;
+static const int W_VIDEO_TITLE = (16+172+16)+(16+64+16);
+static const int H_VIDEO_TITLE = 64;
+static const int FONT_SIZE_TITLE = 36;
+static const int GAP_W_VIDEO_DURATION = 16+172+16;
+static const int GAP_H_VIDEO_DURATION = 22+64;
+static const int W_VIDEO_DURATION = (16+172+16)+(16+64+16);
+static const int H_VIDEO_DURATION = 48;
+static const int FONT_SIZE_DURATION = 32;
+
+VideoListEditorPanel::VideoListEditorPanel(void)
+ : __pContentIconListView(null)
+ , __pCheckButton(null)
+ , __pLabelSelectCnt(null)
+ , __itemCount(0)
+ , __pPresentationModel(null)
+ , __pFileDelete(null)
+ , __pFileListEditorForm(null)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+VideoListEditorPanel::~VideoListEditorPanel(void)
+{
+ AppLogDebug("ENTER");
+ delete __pFileDelete;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+VideoListEditorPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(RECT_INITIAL);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+VideoListEditorPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+ __itemCount = 0;
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ clientAreaBounds.x = clientAreaBounds.y = 0;
+ SetBounds(clientAreaBounds);
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ __pContentIconListView = new (std::nothrow) ListView();
+
+ if (__pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width, clientAreaBounds.height), true, false);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->AddListViewItemEventListener(*this);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __pLabelSelectCnt = new (std::nothrow) Label();
+ __pLabelSelectCnt->Construct(Rectangle(0, clientAreaBounds.height - H_COUNT_LABEL,
+ clientAreaBounds.width, H_COUNT_LABEL), ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED"));
+ __pLabelSelectCnt->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ __pLabelSelectCnt->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ __pLabelSelectCnt->SetBackgroundColor(COLOR_COUNT_LABEL);
+ __pLabelSelectCnt->SetTextColor(Color(COLOR_SELECT_COUNT_FONT));
+ __pLabelSelectCnt->SetTextConfig(COUNT_LABEL_FONT_SIZE, LABEL_TEXT_STYLE_BOLD);
+ AddControl(__pLabelSelectCnt);
+ }
+ else
+ {
+ __pContentIconListView->Construct(Rectangle(0, 0, clientAreaBounds.width,
+ clientAreaBounds.height), true, false);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->AddListViewItemEventListener(*this);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+ }
+ }
+ else
+ {
+ __pContentIconListView = new (std::nothrow) ListView();
+ __pContentIconListView->Construct(
+ Rectangle(0, H_SELECTALL_REGION, W_CLIENT_REGION, clientAreaBounds.height - H_SELECTALL_REGION),
+ true, false);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentIconListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentIconListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentIconListView->SetItemProvider(*this);
+ __pContentIconListView->AddListViewItemEventListener(*this);
+ AddControl(__pContentIconListView);
+ __pContentIconListView->SetShowState(true);
+
+ __pLabelSelectCnt = new (std::nothrow) Label();
+ __pLabelSelectCnt->Construct(
+ Rectangle(0, clientAreaBounds.height - H_COUNT_LABEL, clientAreaBounds.width, H_COUNT_LABEL),
+ ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED"));
+ __pLabelSelectCnt->SetTextVerticalAlignment(ALIGNMENT_MIDDLE);
+ __pLabelSelectCnt->SetTextHorizontalAlignment(ALIGNMENT_LEFT);
+ __pLabelSelectCnt->SetBackgroundColor(COLOR_COUNT_LABEL);
+ __pLabelSelectCnt->SetTextColor(Color(COLOR_SELECT_COUNT_FONT));
+ __pLabelSelectCnt->SetTextConfig(COUNT_LABEL_FONT_SIZE, LABEL_TEXT_STYLE_BOLD);
+ AddControl(__pLabelSelectCnt);
+
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+VideoListEditorPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+int
+VideoListEditorPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+ListItemBase*
+VideoListEditorPanel::CreateItem(int index, int itemWidth)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ CustomItem* pItem = new (std::nothrow) CustomItem();
+
+ Bitmap* pBitmap = null;
+ String* pItemText = null;
+ String* pTitle = null;
+ String* pDuration = null;
+
+ result r = __pPresentationModel->GetThumbnailVideoInSyncCacheN(index, pItemText, pBitmap, pDuration);
+ if (pBitmap == null || r == E_FAILURE)
+ {
+ __pPresentationModel->RequestThumbnail(index);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ if (pItemText == null)
+ {
+ pItemText = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ pTitle = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+
+ if (pDuration == null)
+ {
+ pDuration = new (std::nothrow) String(ResourceManager::GetString(L"EMPTY_SPACE"));
+ }
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ pItem->Construct(Dimension(itemWidth, H_VIDEO_ITEM), LIST_ANNEX_STYLE_MARK);
+
+ if (__pContentIconListView->IsItemChecked(index) == true)
+ {
+ if (pBitmap != null)
+ {
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+
+ Color dimColor(COLOR_THUMBNAIL_DIM);
+ dimColor.SetAlpha(ALPHA_THUMBNAIL_DIM);
+
+ Canvas canvas;
+ canvas.Construct(bufferInfo);
+ canvas.FillRectangle(dimColor, canvas.GetBounds());
+
+ Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
+ pSelectedBitmap->Construct(canvas, canvas.GetBounds());
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap, pSelectedBitmap);
+ delete pSelectedBitmap;
+ }
+ else
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ delete pTitle;
+ delete pItemText;
+ delete pDuration;
+ return null;
+ }
+ }
+ else
+ {
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap);
+ }
+
+ if (pTitle == null)
+ {
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ }
+ else if (pTitle->IsEmpty() == true)
+ {
+ delete pTitle;
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ }
+
+ Rectangle titleRect(GAP_W_VIDEO_TITLE, GAP_H_VIDEO_TITLE, itemWidth-W_VIDEO_TITLE, H_VIDEO_TITLE);
+ pItem->AddElement(titleRect, IDA_FORMAT_TITLE, *pTitle, FONT_SIZE_TITLE,
+ Color::GetColor(COLOR_ID_BLACK),null,null,false);
+
+ Rectangle durationRect(GAP_W_VIDEO_DURATION, GAP_H_VIDEO_DURATION, itemWidth-W_VIDEO_DURATION,
+ H_VIDEO_DURATION);
+ pItem->AddElement(durationRect, IDA_FORMAT_DURATION, *pDuration, FONT_SIZE_DURATION,
+ Color::GetColor(COLOR_ID_GREY),null,null,false);
+ }
+ else
+ {
+ pItem->Construct(Dimension(itemWidth, H_VIDEO_ITEM), LIST_ANNEX_STYLE_NORMAL);
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap);
+
+ if (pTitle == null)
+ {
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ }
+ else if (pTitle->IsEmpty() == true)
+ {
+ delete pTitle;
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ }
+
+ Rectangle titleRect(GAP_W_VIDEO_TITLE, GAP_H_VIDEO_TITLE, itemWidth-W_VIDEO_TITLE, H_VIDEO_TITLE);
+ pItem->AddElement(titleRect, IDA_FORMAT_TITLE, *pTitle, FONT_SIZE_TITLE,
+ Color::GetColor(COLOR_ID_BLACK), null, null, false);
+
+ Rectangle durationRect(GAP_W_VIDEO_DURATION, GAP_H_VIDEO_DURATION, itemWidth-W_VIDEO_DURATION,
+ H_VIDEO_DURATION);
+ pItem->AddElement(durationRect, IDA_FORMAT_DURATION, *pDuration, FONT_SIZE_DURATION,
+ Color::GetColor(COLOR_ID_GREY), null, null, false);
+ }
+ }
+ else
+ {
+ pItem->Construct(Dimension(itemWidth, H_VIDEO_ITEM), LIST_ANNEX_STYLE_MARK);
+ if (__pContentIconListView->IsItemChecked(index) == true)
+ {
+ if (pBitmap != null)
+ {
+ BufferInfo bufferInfo;
+ pBitmap->Lock(bufferInfo, INFINITE);
+ pBitmap->Unlock();
+ Color dimColor(COLOR_THUMBNAIL_DIM);
+ dimColor.SetAlpha(ALPHA_THUMBNAIL_DIM);
+
+ Canvas canvas;
+ canvas.Construct(bufferInfo);
+ canvas.FillRectangle(dimColor, canvas.GetBounds());
+
+ Bitmap* pSelectedBitmap = new (std::nothrow) Bitmap();
+ pSelectedBitmap->Construct(canvas, canvas.GetBounds());
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap, pSelectedBitmap);
+ delete pSelectedBitmap;
+ }
+ else
+ {
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap);
+ }
+ }
+ else
+ {
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap);
+ }
+
+ if (pTitle == null)
+ {
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ }
+ else if (pTitle->IsEmpty() == true)
+ {
+ delete pTitle;
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ }
+
+ Rectangle titleRect(GAP_W_VIDEO_TITLE, GAP_H_VIDEO_TITLE, itemWidth-W_VIDEO_TITLE, H_VIDEO_TITLE);
+ pItem->AddElement(titleRect, IDA_FORMAT_TITLE, *pTitle, FONT_SIZE_TITLE,
+ Color::GetColor(COLOR_ID_BLACK), null, null, false);
+
+ Rectangle durationRect(GAP_W_VIDEO_DURATION, GAP_H_VIDEO_DURATION, itemWidth - W_VIDEO_DURATION,
+ H_VIDEO_DURATION);
+ pItem->AddElement(durationRect, IDA_FORMAT_DURATION, *pDuration, FONT_SIZE_DURATION,
+ Color::GetColor(COLOR_ID_GREY), null, null, false);
+ }
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ if (pTitle != null)
+ {
+ delete pTitle;
+ }
+ if (pDuration != null)
+ {
+ delete pDuration;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pItem;
+}
+
+bool
+VideoListEditorPanel::DeleteItem(int index, ListItemBase* pItem, int itemWidth)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+VideoListEditorPanel::OnListViewItemStateChanged(ListView& listView, int index, int elementId,
+ ListItemStatus status)
+{
+ AppLogDebug("ENTER");
+
+ if (status == LIST_ITEM_STATUS_CHECKED || status == LIST_ITEM_STATUS_UNCHECKED)
+ {
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (__pPresentationModel->GetAppControlSelectionMode() == APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+ else
+ {
+ int checkedCount = GetItemCheckedCount();
+ String strTmp;
+ if (checkedCount == 0)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+ else if (checkedCount == 1)
+ {
+ strTmp = ResourceManager::GetString(L"IDS_VR_POP_1_ITEM_SELECTED");
+ }
+ else
+ {
+ strTmp.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), checkedCount);
+ }
+
+ __pLabelSelectCnt->SetText(strTmp);
+ __pLabelSelectCnt->RequestRedraw(true);
+ if (__pCheckButton->IsSelected())
+ {
+ __pCheckButton->SetSelected(false);
+ }
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ }
+
+ if ( __pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK
+ && __pPresentationModel->GetAppControlSelectionMode() != APPCONTROL_SELECTION_MODE_MULTIPLE)
+ {
+ if (status == LIST_ITEM_STATUS_SELECTED)
+ {
+ HashMap* pMap = new (std::nothrow) HashMap(SingleObjectDeleter);
+ result r = pMap->Construct();
+ if (r == E_SUCCESS)
+ {
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ pArrayList->Construct();
+
+ if (r == E_SUCCESS)
+ {
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(index)));
+ pMap->Add(new (std::nothrow) String(APPCONTROL_KEY_DATA_SELECTED), (Object*)pArrayList);
+
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_SUCCEEDED, pMap);
+ pApp->Terminate();
+ }
+ else
+ {
+ delete pMap;
+ }
+ }
+ }
+ else
+ {
+ delete pMap;
+ }
+ }
+ }
+ SetButtonState();
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListEditorPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if (contentType == CONTENT_TYPE_VIDEO)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_VIDEO);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListEditorPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ if (index >= 0)
+ {
+ __pContentIconListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListEditorPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ __pFileListEditorForm = dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ if (__pPresentationModel->GetAppControlMode() == APPCONTROL_MODE_PICK)
+ {
+ if (currentSceneId == IDSCN_VIDEO_LIST_EDITOR)
+ {
+ if (previousSceneId == IDSCN_ALBUM_LIST)
+ {
+ AlbumInfo* pAlbumInfo = static_cast<AlbumInfo*>(pArgs->GetAt(0));
+ if (pAlbumInfo == null)
+ {
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+
+ return;
+ }
+
+ IList* pDirectoryList = pAlbumInfo->GetDirectoryListN();
+ __pPresentationModel->SetCurrentAlbumInfo(pAlbumInfo->GetAlbumName(), *pDirectoryList);
+
+ if (pDirectoryList != null)
+ {
+ delete pDirectoryList;
+ }
+ delete pArgs;
+
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->UpdateList();
+ }
+ }
+ }
+ else
+ {
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentIconListView->RequestRedraw(true);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListEditorPanel::OnSceneDeactivated(const SceneId& currentSceneId,
+ const SceneId& nextSceneId)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+int
+VideoListEditorPanel::GetItemCheckedCount(void) const
+{
+ AppLogDebug("ENTER");
+ int count = 0;
+ if (__pContentIconListView != null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ ++count;
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return count;
+}
+
+IList*
+VideoListEditorPanel::GetItemCheckedIndexListN(void) const
+{
+ AppLogDebug("ENTER");
+ IList* pList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ Integer* pIndex = null;
+
+ if (__pContentIconListView != null)
+ {
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ for (int i = 0; i < loopCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i))
+ {
+ pIndex = new (std::nothrow) Integer(i);
+ pList->Add(pIndex);
+ }
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pList;
+}
+
+void
+VideoListEditorPanel::OnFileOpInvalidate(enum FileActionMode actionId)
+{
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ FileListEditorForm* pFileListEditorForm =
+ dynamic_cast<FileListEditorForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturnVoid(pFileListEditorForm != null, "[%s] fail to get SceneManager.",
+ GetErrorMessage(GetLastResult()));
+ pFileListEditorForm->Invalidate(true);
+}
+
+void
+VideoListEditorPanel::OnRequestAppExitWithMultipleSelectionAppControlResult(void)
+{
+ AppLogDebug("ENTER");
+ IList* pIndexList = GetItemCheckedIndexListN();
+
+ if (pIndexList->GetCount() <= 0)
+ {
+ delete pIndexList;
+ AppLogDebug("EXIT 1(%s)", GetErrorMessage(GetLastResult()));
+ return;
+ }
+
+ HashMap* pMap = new (std::nothrow) HashMap(SingleObjectDeleter);
+ result r = pMap->Construct();
+
+ if (r == E_SUCCESS)
+ {
+ ArrayList* pArrayList = new (std::nothrow) ArrayList(SingleObjectDeleter);
+ r = pArrayList->Construct();
+
+ if (r == E_SUCCESS)
+ {
+ Integer* pTemp = null;
+ int loopCount = pIndexList->GetCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pTemp = static_cast<Integer*>(pIndexList->GetAt(i));
+ pArrayList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(pTemp->ToInt())));
+ }
+
+ pMap->Add(new (std::nothrow) String(APPCONTROL_KEY_DATA_SELECTED), (Object*)pArrayList);
+
+ GalleryApp* pApp = dynamic_cast<GalleryApp*>(UiApp::GetInstance());
+ if (pApp != null)
+ {
+ pApp->SendAppControlResult(APP_CTRL_RESULT_SUCCEEDED, pMap);
+ pApp->Terminate();
+ }
+ else
+ {
+ delete pMap;
+ }
+ }
+ else
+ {
+ delete pMap;
+ delete pArrayList;
+ }
+ }
+ else
+ {
+ delete pMap;
+ }
+
+ delete pIndexList;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListEditorPanel::OnSelectAllPressed(void)
+{
+ bool needToSelectAll = true;
+ int checkedCount = GetItemCheckedCount();
+ int totalFileCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ if (checkedCount == totalFileCount)
+ {
+ needToSelectAll = false;
+ }
+
+ if (needToSelectAll == true)
+ {
+ for (int i = 0; i < totalFileCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == false)
+ {
+ __pContentIconListView->SetItemChecked(i, true);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ __pFileListEditorForm->SetFooterButtonsState(true);
+ }
+ }
+ else
+ {
+ for (int i = 0; i < totalFileCount; ++i)
+ {
+ if (__pContentIconListView->IsItemChecked(i) == true)
+ {
+ __pContentIconListView->SetItemChecked(i, false);
+ __pContentIconListView->RefreshList(i, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ __pFileListEditorForm->SetFooterButtonsState(false);
+ }
+ }
+
+ String tempString;
+ if (needToSelectAll == true)
+ {
+ tempString.Format(LENGTH_COUNT_LABEL,
+ ResourceManager::GetString(L"IDS_VR_POP_PD_ITEMS_SELECTED").GetPointer(), totalFileCount);
+ }
+ else
+ {
+ tempString = ResourceManager::GetString(L"IDS_ST_POP_NO_ITEMS_SELECTED");
+ }
+
+ __pLabelSelectCnt->SetText(tempString);
+ __pLabelSelectCnt->RequestRedraw(true);
+}
+
+void
+VideoListEditorPanel::SetButtonState(void)
+{
+ AppLogDebug("ENTER");
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ TryReturnVoid(pSceneManager != null, "[%s] fail to get SceneManager.", GetErrorMessage(GetLastResult()));
+
+ if (GetItemCheckedCount() > 0)
+ {
+ __pFileListEditorForm->SetFooterButtonsState(true);
+ }
+ else
+ {
+ __pFileListEditorForm->SetFooterButtonsState(false);
+ }
+
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListEditorPanel::ChangeOrientation(void)
+{
+ AppLogDebug("ENTER");
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ const Form* pForm = dynamic_cast<Form*>(pSceneManager->GetCurrentScene()->GetForm());
+ TryReturn(pForm != null,, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ SetBounds(0, 0, clientAreaBounds.width, clientAreaBounds.height);
+ __pContentIconListView->SetBounds(0, 0, clientAreaBounds.width, clientAreaBounds.height);
+}
--- /dev/null
+//
+// Copyright (c) 2012 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.
+//
+
+/**
+ * @file GlVideoListPanel.cpp
+ * @brief This is the implementation file for VideoListPanel class.
+ */
+
+#include <FContent.h>
+#include <FMedia.h>
+#include "GlAlbumInfo.h"
+#include "GlCommonUtil.h"
+#include "GlFileListForm.h"
+#include "GlFileListPresentationModel.h"
+#include "GlTypes.h"
+#include "GlVideoListPanel.h"
+
+using namespace Tizen::App;
+using namespace Tizen::Base;
+using namespace Tizen::Base::Collection;
+using namespace Tizen::Content;
+using namespace Tizen::Graphics;
+using namespace Tizen::Media;
+using namespace Tizen::Ui;
+using namespace Tizen::Ui::Controls;
+using namespace Tizen::Ui::Scenes;
+
+static const int H_VIDEO_ITEM = 160;
+static const int GAP_W_VIDEO_TITLE = 16+172+16;
+static const int GAP_H_VIDEO_TITLE = 22;
+static const int W_VIDEO_TITLE = (16+172+16)+(16+64+16);
+static const int H_VIDEO_TITLE = 64;
+static const int FONT_SIZE_TITLE = 36;
+static const int GAP_W_VIDEO_DURATION = 16+172+16;
+static const int GAP_H_VIDEO_DURATION = 22+64;
+static const int W_VIDEO_DURATION = (16+172+16)+(16+64+16);
+static const int H_VIDEO_DURATION = 48;
+static const int FONT_SIZE_DURATION = 32;
+static const int W_CLIENT_REGION = 720;
+static const Rectangle RECT_INITIAL (0, 0, 10, 10);
+static const Rectangle RECT_VIDEO_THUMBNAIL (16, 16, 172, 128);
+
+VideoListPanel::VideoListPanel(void)
+ : __itemCount(0)
+ , __pContentListView(null)
+ , __pPresentationModel(0)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+VideoListPanel::~VideoListPanel(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+result
+VideoListPanel::Initialize(void)
+{
+ AppLogDebug("ENTER");
+ result r = Construct(RECT_INITIAL);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return r;
+}
+
+result
+VideoListPanel::OnInitializing(void)
+{
+ AppLogDebug("ENTER");
+ const Form* pForm = dynamic_cast<Form*>(GetParent());
+ TryReturn(pForm != null, E_FAILURE, "[%s] fail to get the form.", GetErrorMessage(GetLastResult()));
+
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+ __pPresentationModel->ClearThumbnailRequests();
+ __pPresentationModel->AddPresentationModelListener(this);
+
+ Rectangle clientAreaBounds = pForm->GetClientAreaBounds();
+ clientAreaBounds.x = clientAreaBounds.y = 0;
+ SetBounds(clientAreaBounds);
+ __pContentListView = new (std::nothrow) ListView();
+ __pContentListView->Construct(Rectangle(0, 0, W_CLIENT_REGION, clientAreaBounds.height), true, false);
+ Bitmap* pBitmapEmpty = ResourceManager::GetBitmapN(IDB_LISTVIEW_EMPTY);
+ if (pBitmapEmpty != null)
+ {
+ __pContentListView->SetBitmapOfEmptyList(pBitmapEmpty);
+ delete pBitmapEmpty;
+ }
+ __pContentListView->SetTextOfEmptyList(ResourceManager::GetString(L"IDS_COM_BODY_NO_ITEMS"));
+ __pContentListView->SetItemProvider(*this);
+ __pContentListView->AddListViewItemEventListener(*this);
+ AddControl(__pContentListView);
+ __pContentListView->SetShowState(true);
+ __itemCount = 0;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+result
+VideoListPanel::OnTerminating(void)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel->RemovePresentationModelListener(*this);
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return E_SUCCESS;
+}
+
+int
+VideoListPanel::GetItemCount(void)
+{
+ AppLogDebug("ENTER");
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return __itemCount;
+}
+
+ListItemBase*
+VideoListPanel::CreateItem(int index, int itemWidth)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ CustomItem* pItem = new (std::nothrow) CustomItem();
+ pItem->Construct(Dimension(itemWidth, H_VIDEO_ITEM), LIST_ANNEX_STYLE_NORMAL);
+
+ Bitmap* pBitmap = null;
+ String* pItemText = null;
+ String* pTitle = null;
+ String* pDuration = null;
+
+ result r = __pPresentationModel->GetThumbnailVideoInSyncCacheN(index, pItemText, pBitmap, pDuration);
+ if (pBitmap == null || r == E_FAILURE)
+ {
+ __pPresentationModel->RequestThumbnail(index);
+ pBitmap = CommonUtil::GetEmptyThumbnailN();
+ }
+
+ pItem->AddElement(RECT_VIDEO_THUMBNAIL, IDA_FORMAT_THUMBNAIL, *pBitmap);
+ pTitle = new (std::nothrow) String(SINGLE_SPACE);
+ Rectangle titleRect(GAP_W_VIDEO_TITLE, GAP_H_VIDEO_TITLE, itemWidth-W_VIDEO_TITLE, H_VIDEO_TITLE);
+ pItem->AddElement(titleRect, IDA_FORMAT_TITLE, *pTitle, FONT_SIZE_TITLE,
+ Color::GetColor(COLOR_ID_BLACK), null, null, false);
+
+ Rectangle durationRect(GAP_W_VIDEO_DURATION, GAP_H_VIDEO_DURATION, itemWidth-W_VIDEO_DURATION,
+ H_VIDEO_DURATION);
+ pItem->AddElement(durationRect, IDA_FORMAT_DURATION, *pDuration, FONT_SIZE_DURATION,
+ Color::GetColor(COLOR_ID_GREY), null, null, false);
+
+ if (pBitmap != null)
+ {
+ delete pBitmap;
+ }
+ if (pItemText != null)
+ {
+ delete pItemText;
+ }
+ if (pTitle != null)
+ {
+ delete pTitle;
+ }
+ if (pDuration != null)
+ {
+ delete pDuration;
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return pItem;
+}
+
+bool
+VideoListPanel::DeleteItem(int index, ListItemBase* pItem, int itemWidth)
+{
+ AppLogDebug("ENTER");
+ delete pItem;
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+
+ return true;
+}
+
+void
+VideoListPanel::OnListViewItemStateChanged(ListView& listView, int index, int elementId, ListItemStatus status)
+{
+ AppLogDebug("ENTER");
+ if (status == LIST_ITEM_STATUS_SELECTED)
+ {
+ IList* pList = new (std::nothrow) ArrayList();
+ int loopCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+
+ for (int i = 0; i < loopCount; ++i)
+ {
+ pList->Add(new (std::nothrow) String(__pPresentationModel->GetContentFilePath(i)));
+ }
+ String listIndex;
+ listIndex.Format(10, L"%d", index);
+
+ const String mimeType = APPCONTROL_MIME_IMAGE_ALL;
+ HashMap* pDataList = new (std::nothrow) HashMap(SingleObjectDeleter);
+ pDataList->Construct();
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_TYPE), new (std::nothrow) String(APPCONTROL_DATA_IMAGE));
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_PATH), (Object*)pList);
+ pDataList->Add(new (std::nothrow) String(APPCONTROL_KEY_INDEX), new (std::nothrow) String(listIndex));
+
+ __pPresentationModel->StartAppControl(APPCONTROL_PROVIDER_ID_IMAGE, APPCONTROL_OPERATION_ID_VIEW, null,
+ &mimeType, pDataList, null);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListPanel::OnFileInfoChanged(const ContentType contentType)
+{
+ AppLogDebug("ENTER");
+ if (contentType == CONTENT_TYPE_VIDEO)
+ {
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentListView->UpdateList();
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListPanel::OnThumbnailDecoded(const int index)
+{
+ AppLogDebug("ENTER : index(%d)", index);
+ if (index >= 0)
+ {
+ __pContentListView->RefreshList(index, LIST_REFRESH_TYPE_ITEM_MODIFY);
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}
+
+void
+VideoListPanel::OnSceneActivatedN(const SceneId& previousSceneId,
+ const SceneId& currentSceneId, IList* pArgs)
+{
+ AppLogDebug("ENTER");
+ __pPresentationModel = FileListPresentationModel::GetInstance();
+
+ if (currentSceneId == IDSCN_VIDEO_LIST)
+ {
+ __pPresentationModel->RefreshCurrentAlbumContentInfoList(CONTENT_TYPE_VIDEO);
+ __itemCount = __pPresentationModel->GetCurrentAlbumContentInfoCount();
+ __pContentListView->UpdateList();
+ }
+
+ SceneManager* pSceneManager = SceneManager::GetInstance();
+ AppAssert(pSceneManager);
+ if (pSceneManager->GetCurrentSceneId() == IDSCN_VIDEO_LIST)
+ {
+ FileListForm* pFileListForm = dynamic_cast<FileListForm*>(pSceneManager->GetCurrentScene()->GetForm());
+ if (pFileListForm != null)
+ {
+ pFileListForm->SetTitleText(__pPresentationModel->GetCurrentAlbumName());
+ }
+ }
+ AppLogDebug("EXIT(%s)", GetErrorMessage(GetLastResult()));
+}