profile = mobile-3.0
# C/CPP Sources
-USER_SRCS = src/Common/MsgEngine/src/MsgThreadItem.cpp src/Common/Utils/src/VCalendarParser.cpp src/Conversation/Body/View/src/BodyView.cpp src/Conversation/ConvList/Controller/src/ConvList.cpp src/MsgThread/Controller/src/MsgThread.cpp src/Conversation/ConvList/Controller/src/BubbleCalEventEntity.cpp src/Conversation/Utils/src/MessageDetailContent.cpp src/Common/MsgEngine/src/private/MsgAddressPrivate.cpp src/MainApp/MainApp.cpp src/Common/MsgEngine/src/private/MsgReportPrivate.cpp src/Conversation/Utils/src/WorkingDir.cpp src/Common/View/src/ListItem.cpp src/MsgThread/Controller/src/BaseThreadListItem.cpp src/Viewer/Controller/src/SmilPlayer.cpp src/Common/MsgEngine/src/private/MsgTransportPrivate.cpp src/MsgThread/View/src/MsgThreadLayout.cpp src/Conversation/ContactList/Controller/src/ConvContactList.cpp src/Common/MsgEngine/src/Message.cpp src/Viewer/Utils/src/MediaPlayer.cpp src/Common/AppControl/src/AppControlDefault.cpp src/Common/View/src/ListView.cpp src/Settings/Controller/src/MsgOnSimCard.cpp src/Common/MsgEngine/src/MessageMms.cpp src/Conversation/Main/Controller/src/Conversation.cpp src/Common/MsgEngine/src/private/MsgConvMediaPrivate.cpp src/Common/MsgEngine/src/MsgTransport.cpp src/Viewer/View/src/SmilImageItemView.cpp src/Common/ContactManager/src/ContactRecord.cpp src/Conversation/ContactList/View/src/ConvContactListView.cpp src/MsgThread/Controller/src/ThreadSearchList.cpp src/MsgThread/View/src/MsgThreadSearchPanel.cpp src/Common/Controller/src/SaveAttachmentsPopup.cpp src/Common/Utils/src/FileUtils.cpp src/Common/View/src/ContextPopup.cpp src/Common/MsgEngine/src/MessageSMS.cpp src/Conversation/ConvList/Controller/src/BubbleContactEntity.cpp src/Conversation/ContactList/View/src/ContactListViewItem.cpp src/Common/MsgEngine/src/private/MessagePrivate.cpp src/Conversation/ConvList/Controller/src/BubbleAudioEntity.cpp src/Common/View/src/MbeRecipientsView.cpp src/MsgThread/Controller/src/ThreadListItem.cpp src/Settings/View/src/SettingsGroupListViewItem.cpp src/Common/View/src/Popup.cpp src/Common/Controller/src/ViewItemController.cpp src/Settings/Controller/src/Settings.cpp src/Common/ContactManager/src/ContactVCardParser.cpp src/Viewer/Controller/src/Viewer.cpp src/Viewer/Controller/src/SmilPage.cpp src/Conversation/ConvList/Controller/src/BubbleUnknownFileEntity.cpp src/Common/Utils/src/HwButtonListener.cpp src/Common/AppControl/src/AppControlCompose.cpp src/Common/MsgEngine/src/MsgUtils.cpp src/Conversation/ConvList/View/src/BubbleTextViewItem.cpp src/Common/Utils/src/PhoneNumberUtils.cpp src/Common/MsgEngine/src/private/MessageSMSPrivate.cpp src/Conversation/ConvList/Controller/src/BubbleEntityFactory.cpp src/Viewer/View/src/SmilPageLayout.cpp src/Common/View/src/View.cpp src/Conversation/Main/Controller/src/PopupRecipientListItem.cpp src/Common/MsgEngine/src/private/MsgConversationItemPrivate.cpp src/Common/Controller/src/FrameController.cpp src/Conversation/ConvList/View/src/DateLineViewItem.cpp src/Common/AppControl/src/AppControlCommand.cpp src/Viewer/View/src/SmilTextItemView.cpp src/Settings/View/src/SimMsgLayout.cpp src/Common/MsgEngine/src/private/MsgThreadItemPrivate.cpp src/Common/MsgEngine/src/MsgEngine.cpp src/Viewer/View/src/PlayerControl.cpp src/Common/AppControl/src/AppControlParser.cpp src/Common/Controller/src/ViewController.cpp src/Conversation/ConvList/View/src/BubbleIconTextLayoutItem.cpp src/Common/View/src/NaviFrameView.cpp src/Common/AppControl/src/FileViewer.cpp src/Common/Utils/src/PathUtils.cpp src/Conversation/ConvList/Controller/src/ComposeListItem.cpp src/Conversation/ConvList/Controller/src/DateLineItem.cpp src/Conversation/ConvList/View/src/BubbleItemContainer.cpp src/Common/AppControl/src/VoiceCall.cpp src/Common/View/src/Scroller.cpp src/Conversation/ConvList/Controller/src/BubbleVideoEntity.cpp src/Common/MsgEngine/src/MsgSettings.cpp src/Conversation/ContactList/Controller/src/ContactListItem.cpp src/Common/ContactManager/src/ContactVCardGenerator.cpp src/Viewer/View/src/SmilAudioItemView.cpp src/Common/Utils/src/LoggerImpl.cpp src/Conversation/ConvList/View/src/ConvSelectAll.cpp src/Common/ContactManager/src/ContactManager.cpp src/Conversation/Utils/src/AttachmentHandler.cpp src/Conversation/ConvList/View/src/ComposeListViewItem.cpp src/Common/MsgEngine/src/private/MsgAttachmentPrivate.cpp src/Common/View/src/ViewItem.cpp src/Conversation/AppControl/src/ContactPicker.cpp src/Common/MsgEngine/src/private/MsgMediaPrivate.cpp src/Viewer/View/src/SubjectLayout.cpp src/Conversation/Main/View/src/MessageInputPanel.cpp src/Conversation/Recipients/View/src/ConvRecipientsPanelView.cpp src/Common/Controller/src/BaseController.cpp src/Conversation/AppControl/src/AttachPanel.cpp src/Settings/Controller/src/SettingsSound.cpp src/Conversation/ConvList/View/src/ConvListViewItem.cpp src/Common/AppControl/src/Share.cpp src/Conversation/Body/Controller/src/Body.cpp src/Common/View/src/StandardWindow.cpp src/Common/MsgEngine/src/MsgConversationItem.cpp src/Common/MsgEngine/src/private/MessageMmsPrivate.cpp src/Viewer/View/src/SmilAttachmentItemView.cpp src/MsgThread/Controller/src/ThreadSearchListItem.cpp src/Common/View/src/DefaultLayout.cpp src/Conversation/Recipients/Controller/src/ConvRecipientsPanel.cpp src/Conversation/ConvList/View/src/BubbleVideoViewItem.cpp src/Common/View/src/PopupListItem.cpp src/Conversation/ConvList/View/src/BubbleViewItem.cpp src/Viewer/View/src/SmilVideoItemView.cpp src/Common/Controller/src/NaviFrameController.cpp src/MsgThread/Controller/src/ThreadList.cpp src/Common/Utils/src/TextDecorator.cpp src/Common/MsgEngine/src/MsgStorage.cpp src/Common/View/src/SelectAllListItem.cpp src/Conversation/ConvList/View/src/BubbleDownloadButtonViewItem.cpp src/Common/AppControl/src/ContactViewer.cpp src/Common/View/src/Box.cpp src/Common/Utils/src/ThumbnailMaker.cpp src/Common/View/src/NaviFrameItem.cpp src/Common/View/src/PopupList.cpp src/MsgThread/View/src/FloatingButton.cpp src/MsgThread/Controller/src/MsgSearchListItem.cpp src/Common/Controller/src/App.cpp src/Conversation/ConvList/View/src/ConvListLayout.cpp src/Common/View/src/PopupAttachmentListItem.cpp src/Common/MsgEngine/src/private/MsgComposerPrivate.cpp src/Viewer/View/src/ViewerLayout.cpp src/Common/Utils/src/MediaUtils.cpp src/Common/Controller/src/MbeRecipients.cpp src/Settings/Controller/src/SimListViewItem.cpp src/Common/Utils/src/TimeUtils.cpp src/Common/MsgEngine/src/private/MsgSettingsPrivate.cpp src/Viewer/View/src/SmilPlayerView.cpp src/MainApp/main.cpp src/Conversation/ConvList/View/src/BubbleImageViewItem.cpp src/Common/View/src/NoContentLayout.cpp src/Common/SystemSettingsManager/src/SystemSettingsManager.cpp src/Common/MsgEngine/src/MsgPage.cpp src/Common/AppControl/src/ContactEditor.cpp src/Conversation/Main/View/src/ConversationLayout.cpp src/Common/MsgEngine/src/private/MsgUtilsPrivate.cpp src/Common/View/src/PopupManager.cpp src/Settings/View/src/SettingsListViewItem.cpp src/Common/MsgEngine/src/private/MsgStoragePrivate.cpp src/Conversation/ConvList/Controller/src/ConvListItem.cpp src/Conversation/ConvList/View/src/BubbleBgViewItem.cpp src/MsgThread/View/src/ThreadListViewItem.cpp src/Common/MsgEngine/src/private/MsgPagePrivate.cpp src/Common/AppControl/src/AppControlUtils.cpp src/Conversation/AppControl/src/LaunchSettings.cpp
+USER_SRCS = src/Common/MsgEngine/src/MsgThreadItem.cpp src/Common/Utils/src/VCalendarParser.cpp src/Conversation/Body/View/src/BodyView.cpp src/Conversation/ConvList/Controller/src/ConvList.cpp src/MsgThread/Controller/src/MsgThread.cpp src/Common/Controller/src/SaveAttachmentsListItem.cpp src/Conversation/ConvList/Controller/src/BubbleCalEventEntity.cpp src/Conversation/Utils/src/MessageDetailContent.cpp src/Common/MsgEngine/src/private/MsgAddressPrivate.cpp src/MainApp/MainApp.cpp src/Common/MsgEngine/src/private/MsgReportPrivate.cpp src/Conversation/Utils/src/WorkingDir.cpp src/Common/View/src/ListItem.cpp src/MsgThread/Controller/src/BaseThreadListItem.cpp src/Viewer/Controller/src/SmilPlayer.cpp src/Common/MsgEngine/src/private/MsgTransportPrivate.cpp src/MsgThread/View/src/MsgThreadLayout.cpp src/Common/Controller/src/SaveAttachments.cpp src/Conversation/ContactList/Controller/src/ConvContactList.cpp src/Common/MsgEngine/src/Message.cpp src/Viewer/Utils/src/MediaPlayer.cpp src/Common/AppControl/src/AppControlDefault.cpp src/Common/View/src/ListView.cpp src/Settings/Controller/src/MsgOnSimCard.cpp src/Common/MsgEngine/src/MessageMms.cpp src/Conversation/Main/Controller/src/Conversation.cpp src/Common/MsgEngine/src/private/MsgConvMediaPrivate.cpp src/Common/MsgEngine/src/MsgTransport.cpp src/Viewer/View/src/SmilImageItemView.cpp src/Common/ContactManager/src/ContactRecord.cpp src/Conversation/ContactList/View/src/ConvContactListView.cpp src/MsgThread/Controller/src/ThreadSearchList.cpp src/MsgThread/View/src/MsgThreadSearchPanel.cpp src/Common/Utils/src/FileUtils.cpp src/Common/View/src/ContextPopup.cpp src/Common/MsgEngine/src/MessageSMS.cpp src/Conversation/ConvList/Controller/src/BubbleContactEntity.cpp src/Conversation/ContactList/View/src/ContactListViewItem.cpp src/Common/MsgEngine/src/private/MessagePrivate.cpp src/Conversation/ConvList/Controller/src/BubbleAudioEntity.cpp src/Common/View/src/MbeRecipientsView.cpp src/MsgThread/Controller/src/ThreadListItem.cpp src/Settings/View/src/SettingsGroupListViewItem.cpp src/Common/View/src/Popup.cpp src/Common/Controller/src/ViewItemController.cpp src/Settings/Controller/src/Settings.cpp src/Common/ContactManager/src/ContactVCardParser.cpp src/Viewer/Controller/src/Viewer.cpp src/Viewer/Controller/src/SmilPage.cpp src/Conversation/ConvList/Controller/src/BubbleUnknownFileEntity.cpp src/Common/Utils/src/HwButtonListener.cpp src/Common/AppControl/src/AppControlCompose.cpp src/Common/MsgEngine/src/MsgUtils.cpp src/Conversation/ConvList/View/src/BubbleTextViewItem.cpp src/Common/Utils/src/PhoneNumberUtils.cpp src/Common/MsgEngine/src/private/MessageSMSPrivate.cpp src/Conversation/ConvList/Controller/src/BubbleEntityFactory.cpp src/Viewer/View/src/SmilPageLayout.cpp src/Common/View/src/View.cpp src/Conversation/Main/Controller/src/PopupRecipientListItem.cpp src/Common/MsgEngine/src/private/MsgConversationItemPrivate.cpp src/Common/Controller/src/FrameController.cpp src/Conversation/ConvList/View/src/DateLineViewItem.cpp src/Common/AppControl/src/AppControlCommand.cpp src/Viewer/View/src/SmilTextItemView.cpp src/Settings/View/src/SimMsgLayout.cpp src/Common/MsgEngine/src/private/MsgThreadItemPrivate.cpp src/Common/MsgEngine/src/MsgEngine.cpp src/Viewer/View/src/PlayerControl.cpp src/Common/AppControl/src/AppControlParser.cpp src/Common/Controller/src/ViewController.cpp src/Conversation/ConvList/View/src/BubbleIconTextLayoutItem.cpp src/Common/View/src/NaviFrameView.cpp src/Common/AppControl/src/FileViewer.cpp src/Common/Utils/src/PathUtils.cpp src/Conversation/ConvList/Controller/src/ComposeListItem.cpp src/Conversation/ConvList/Controller/src/DateLineItem.cpp src/Conversation/ConvList/View/src/BubbleItemContainer.cpp src/Common/AppControl/src/VoiceCall.cpp src/Common/View/src/Scroller.cpp src/Conversation/ConvList/Controller/src/BubbleVideoEntity.cpp src/Common/MsgEngine/src/MsgSettings.cpp src/Conversation/ContactList/Controller/src/ContactListItem.cpp src/Common/ContactManager/src/ContactVCardGenerator.cpp src/Viewer/View/src/SmilAudioItemView.cpp src/Common/Utils/src/LoggerImpl.cpp src/Conversation/ConvList/View/src/ConvSelectAll.cpp src/Common/ContactManager/src/ContactManager.cpp src/Conversation/Utils/src/AttachmentHandler.cpp src/Conversation/ConvList/View/src/ComposeListViewItem.cpp src/Common/MsgEngine/src/private/MsgAttachmentPrivate.cpp src/Common/View/src/ViewItem.cpp src/Conversation/AppControl/src/ContactPicker.cpp src/Common/MsgEngine/src/private/MsgMediaPrivate.cpp src/Viewer/View/src/SubjectLayout.cpp src/Conversation/Main/View/src/MessageInputPanel.cpp src/Conversation/Recipients/View/src/ConvRecipientsPanelView.cpp src/Common/Controller/src/BaseController.cpp src/Conversation/AppControl/src/AttachPanel.cpp src/Settings/Controller/src/SettingsSound.cpp src/Conversation/ConvList/View/src/ConvListViewItem.cpp src/Common/AppControl/src/Share.cpp src/Conversation/Body/Controller/src/Body.cpp src/Common/View/src/StandardWindow.cpp src/Common/MsgEngine/src/MsgConversationItem.cpp src/Common/MsgEngine/src/private/MessageMmsPrivate.cpp src/Viewer/View/src/SmilAttachmentItemView.cpp src/MsgThread/Controller/src/ThreadSearchListItem.cpp src/Common/View/src/DefaultLayout.cpp src/Conversation/Recipients/Controller/src/ConvRecipientsPanel.cpp src/Conversation/ConvList/View/src/BubbleVideoViewItem.cpp src/Common/View/src/PopupListItem.cpp src/Conversation/ConvList/View/src/BubbleViewItem.cpp src/Viewer/View/src/SmilVideoItemView.cpp src/Common/Controller/src/NaviFrameController.cpp src/MsgThread/Controller/src/ThreadList.cpp src/Common/Utils/src/TextDecorator.cpp src/Common/MsgEngine/src/MsgStorage.cpp src/Common/View/src/SelectAllListItem.cpp src/Conversation/ConvList/View/src/BubbleDownloadButtonViewItem.cpp src/Common/AppControl/src/ContactViewer.cpp src/Common/View/src/Box.cpp src/Common/Utils/src/ThumbnailMaker.cpp src/Common/View/src/NaviFrameItem.cpp src/Common/View/src/PopupList.cpp src/MsgThread/View/src/FloatingButton.cpp src/MsgThread/Controller/src/MsgSearchListItem.cpp src/Common/Controller/src/App.cpp src/Conversation/ConvList/View/src/ConvListLayout.cpp src/Common/View/src/PopupAttachmentListItem.cpp src/Common/MsgEngine/src/private/MsgComposerPrivate.cpp src/Viewer/View/src/ViewerLayout.cpp src/Common/Utils/src/MediaUtils.cpp src/Common/Controller/src/MbeRecipients.cpp src/Settings/Controller/src/SimListViewItem.cpp src/Common/Utils/src/TimeUtils.cpp src/Common/MsgEngine/src/private/MsgSettingsPrivate.cpp src/Viewer/View/src/SmilPlayerView.cpp src/MainApp/main.cpp src/Conversation/ConvList/View/src/BubbleImageViewItem.cpp src/Common/View/src/NoContentLayout.cpp src/Common/SystemSettingsManager/src/SystemSettingsManager.cpp src/Common/MsgEngine/src/MsgPage.cpp src/Common/AppControl/src/ContactEditor.cpp src/Conversation/Main/View/src/ConversationLayout.cpp src/Common/MsgEngine/src/private/MsgUtilsPrivate.cpp src/Common/View/src/PopupManager.cpp src/Settings/View/src/SettingsListViewItem.cpp src/Common/MsgEngine/src/private/MsgStoragePrivate.cpp src/Conversation/ConvList/Controller/src/ConvListItem.cpp src/Conversation/ConvList/View/src/BubbleBgViewItem.cpp src/MsgThread/View/src/ThreadListViewItem.cpp src/Common/MsgEngine/src/private/MsgPagePrivate.cpp src/Common/AppControl/src/AppControlUtils.cpp src/Conversation/AppControl/src/LaunchSettings.cpp
# EDC Sources
USER_EDCS =
msgstr "رسالة نصية"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "تعذر تلقي هذه الرسالة. تمنع سياسة الحماية تلقي الرسائل."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "المرفقات المحفوظة في ملفاتي > التنزيلات."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Bu mesajı almaq olmadı. Təhlükəsizlik siyasəti mesajın qəbulunun qarşısını alır."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Mənim fayllarım > Yükləmələrdə saxlanan qoşmalar."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Това съобщение не може да се получи. Политиката за защита предотвратява получаването на съобщения."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Прикачените файлове са записани в Моите файлове > Изтегляния."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "No s'ha pogut rebre aquest missatge. La política de seguretat impedeix rebre missatges."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Fitxers adjunts desats a Els meus fitxers > Descàrregues."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Zprávu nelze přijmout. Zásady zabezpečení zakazují přijímání zpráv."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Přílohy byly uloženy do Moje soubory > Stažené."
msgstr "Sms"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Det var ikke muligt at modtage denne besked. Sikkerhedspolitikken forhindrer modtagelse af beskeder."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Vedhæftede filer gemt i Mine filer > Downloads."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Diese Nachricht konnte nicht angezeigt werden. Diese Sicherheitsrichtlinie verhindert den Empfang von Nachrichten."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Anhänge in „Eigene Dateien > Downloads“ gespeichert."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Δεν ήταν δυνατή η λήψη αυτού του μηνύματος. Η πολιτική ασφάλειας δεν επιτρέπει τη λήψη μηνυμάτων."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Τα συνημμένα αποθηκεύτηκαν στη θέση Τα Αρχεία Μου > Λήψεις."
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Attachments saved in My files > Downloads."
+
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Attachments saved in My files > Downloads."
+
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Attachments saved in My files > Downloads."
+
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "No se ha podido recibir este mensaje. La política de seguridad impide la recepción de mensajes."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Los archivos adjuntos se han guardado en Mis archivos > Descargas."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "No fue posible recibir este mensaje. La política de seguridad impide recibir mensajes."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Archivos adjuntos guardados en Mis archivos > Descargas."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Selle sõnumi vastuvõtmine nurjus. Turvalisuse poliis ei lase sõnumeid vastu võtta."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Manused salvestatud asukohta Minu failid > Allalaadimised."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Ezin izan da jaso mezua. Segurtasun politikak mezuak jasotzea galarazten du."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Nire fitxategiak > Deskargak atalean gorde dira eranskinak."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Viestin vastaanottaminen epäonnistui. Suojauskäytäntö estää viestien vastaanottamisen."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Liitteet tallennettu sijaintiin Omat tiedostot > Lataukset."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Impossible de recevoir ce message. La politique de sécurité empêche la réception de messages."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Pièces jointes enregistrées dans Mes fichiers > Téléchargements."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Impossible de recevoir ce message. La politique de sécurité empêche la réception de messages."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Pièces jointes enregistrées dans Mes fichiers > Téléchargements."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Ní féidir an teachtaireacht seo a fháil. Cuireann an beartas slándála cosc ar theachtaireachtaí a fháil."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Ceangaltáin sábháilte i Mo Chomhaid > Íoslódálacha."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Non se puido recibir esta mensaxe. A política de seguridade impide a recepción de mensaxes."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Adxuntos gardados en Os meus arquivos > Descargas."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Poruku nije moguće primiti. Sigurnosna pravila sprečavaju primanje poruka."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Privici spremljeni u Moje datoteke > Preuzimanja."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Nem lehet fogadni az üzenetet. A biztonsági házirend tiltja az üzenetek fogadását."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "A Saját fájlok > Letöltések mappába mentette a mellékleteket."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Չհաջողվեց ստանալ այս հաղորդագրությունը: Անվտանգության քաղաքականությունը թույլ չի տալիս հաղորդագրությունների ստացում:"
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Կցուրդները պահպանման տեղը՝ Իմ ֆայլերը > Ներբեռնումներ:"
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Ekki var hægt að taka á móti skilaboðunum. Öryggisstefnan kemur í veg fyrir móttöku skilaboða."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Viðhengi vistuð undir Skrárnar mínar > Niðurhal."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Impossibile ricevere il messaggio. Il criterio di protezione impedisce la ricezione dei messaggi."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Allegati salvati in Archivio > Download."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "このメッセージを受信できませんでした。メッセージの受信は、セキュリティポリシーによって制限されています。"
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "添付ファイルを[マイファイル] > [ダウンロード]に保存しました。"
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "ამ შეტყობინების მიღება ვერ მოხერხდა. უსაფრთხოების პოლიტიკა კრძალავს შეტყობინებების მიღებას."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "დანართი შენახულია ადგილზე: ჩემი ფაილები > ჩამოტვირთვები."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Бұл хабар алынбады. Қауіпсіздік саясаты хабар алуға жол бермейді."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Тіркемелер Менің файлдарым > Жүктеулер бөлімінде сақталды."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "보안 정책에 따라 메시지를 받을 수 없습니다."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "[내 파일 > 다운로드]에 첨부파일을 저장하였습니다."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Nepavyko gauti šios žinutės. Saugos politika neleidžia gauti žinučių."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Priedai išsaugomi Mano failai > Atsisiuntimai."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Nevarēja saņemt šo ziņu. Drošības politika neļauj saņemt ziņas."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Pielikumi saglabāti mapē Mani faili > Lejupielādes."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Не можеше да се добие оваа порака. Безбедносната политика го спречува добивањето пораки."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Прилозите се зачувани во Мои датотеки > Преземања."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Kunne ikke motta denne meldingen. Sikkerhetspolicyen hindrer mottak av meldinger."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Vedlegg er lagret i Mine filer > Nedlastinger."
msgstr "Sms"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Kan dit bericht niet ontvangen. Het beveiligingsbeleid verhindert het ontvangen van berichten."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Bijlagen opgeslagen in Mijn bestanden > Downloads."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Nie udało się odebrać tej wiadomości. Zasady zabezpieczeń uniemożliwiają odbieranie wiadomości."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Załączniki zapisano w Moje pliki > Pobrane."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Não foi possível receber esta mensagem. A política de segurança impede o recebimento de mensagens."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Anexos salvos em Meus Arquivos > Downloads."
msgstr "Falha ao gravar."
msgid "IDS_MSGF_POP_SAVED_IN_MY_FILES"
-msgstr "Guardado em Os meus ficheiros."
+msgstr "Guardado em Meus Ficheiros."
msgid "IDS_MSGF_POP_RETRIEVING_MESSAGE_FAILED"
msgstr "Falha na recepção da mensagem"
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Impossível receber esta mensagem. A política de segurança impede a recepção de mensagens."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Anexos guardados em Os Meus Ficheiros > Transferências."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Nu s-a putut primi mesajul. Politica de securitate împiedică primirea mesajelor."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Atașamentele au fost salvate în Fișierele mele > Descărcări."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Не удалось получить это сообщение. Политика безопасности запрещает получение сообщений."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Вложения сохранены в “Мои файлы > Загрузки”."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Nepodarilo sa načítať túto správu. Politika zabezpečenia zabraňuje prijímaniu správ."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Prílohy sa uložili do priečinka Moje súbory > Stiahnuté."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Tega sporočila ni mogoče prejeti. Varnostni pravilnik preprečuje prejemanje sporočil."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Priloge so shranjene v mapo Moje datoteke > Prenosi."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Ne možete da primite ovu poruku. Politika bezbednosti sprečava primanje poruka."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Prilozi su sačuvani u folderu Moji fajlovi > Preuzimanja."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Det gick inte att ta emot det här meddelandet. Säkerhetspolicyn förhindrar att meddelanden tas emot."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Bilagorna har sparats i Mina filer > Hämtningar."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Bu mesaj alınamadı. Güvenlik ilkesi mesaj almayı engelliyor."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Ekler, Dosyalarım > İndirilenler bölümüne kaydedildi."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Не вдалось отримати це повідомлення. Політика безпеки забороняє отримання повідомлень."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Вкладення збережено у «Мої файли» > «Завантаження»."
msgstr "SMS"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "Bu xabarni olib bo‘lmadi. Xavfsizlik siyosati xabarlar olishiga yo‘l qo‘ymaydi."
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "Biriktirmalar Fayllarim > Yuklanmalar’da saqlandi."
msgstr "短信"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "安全政策阻止接收信息,无法接收此信息。"
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "附件已保存在我的文件 > 下载中。"
msgstr "短訊"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "無法接收此訊息。安全性政策阻止接收訊息。"
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "附件已儲存至我的檔案 > 下載。"
msgstr "簡訊"
msgid "IDS_MSG_BODY_COULDNT_RECEIVE_THIS_MESSAGE_THE_SECURITY_POLICY_PREVENTS_RECEIVING_MESSAGES"
-msgstr "Couldn't receive this message. The security policy prevents receiving messages."
+msgstr "無法接收此訊息。安全性原則阻擋訊息的接收。"
+
+msgid "IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS"
+msgstr "儲存在我的檔案 > 下載中的附件。"
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef SaveAttachments_h_h
+#define SaveAttachments_h_h
+
+#include "FrameController.h"
+#include "HwButtonListener.h"
+#include "ListView.h"
+#include "SelectAllListItem.h"
+#include "MsgStorage.h"
+
+namespace Msg
+{
+ class SaveAttachments
+ : public FrameController
+ , private IHwButtonListener
+ , private IListViewListener
+ {
+ public:
+ SaveAttachments(NaviFrameController &parent, MsgId id);
+ virtual ~SaveAttachments();
+
+ private:
+ void create();
+ void createList();
+ void fillList();
+ void appendItem(const std::string &text, const std::string &path, PopupListItemPressedCb cb, void *userData);
+
+ void updateSelectItemsTitle();
+ void showSelectAllItem();
+
+ // NaviFrameItem:
+ virtual void onButtonClicked(NaviFrameItem &item, NaviButtonId buttonId);
+ virtual void onAttached(ViewItem &item);
+
+ // IHwButtonListener:
+ virtual void onHwBackButtonClicked();
+
+ virtual void onListItemChecked(ListItem &listItem);
+ void checkSelectAllItem(SelectAllListItem &item);
+ void checkItem(ListItem &item);
+ void updateSelectAllItem();
+ bool areAllItemsChecked() const;
+ int getAttachmentsCheckedCount() const;
+ bool shouldEnableSaveBtn() const;
+
+ void onNaviOkButtonClicked();
+ bool saveCheckedItems();
+ void showSavingFailedPopup();
+
+ private:
+ ListView *m_pList;
+ MsgId m_Id;
+ };
+}
+
+#endif /* SaveAttachments_h_h */
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#ifndef SaveAttachmentsListItem_h_
+#define SaveAttachmentsListItem_h_
+
+#include "ListItem.h"
+#include <string>
+
+namespace Msg
+{
+ class SaveAttachmentsListItem
+ : public ListItem
+ {
+ public:
+ SaveAttachmentsListItem(const std::string &text, const std::string &path);
+ virtual ~SaveAttachmentsListItem();
+
+ const std::string &getFilePath() const;
+
+ private:
+ virtual const char *getCheckPart(ListItem &item);
+ virtual std::string getText(ListItem &item, const char *part);
+
+ private:
+ std::string m_FileName;
+ std::string m_FilePath;
+ };
+}
+
+#endif // SaveAttachmentsListItem_h_
+++ /dev/null
-/*
- * Copyright (c) 2009-2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#ifndef SaveAttachmentsPopup_h_
-#define SaveAttachmentsPopup_h_
-
-#include "Popup.h"
-#include "ListView.h"
-#include "PopupAttachmentListItem.h"
-#include "App.h"
-#include "SelectAllListItem.h"
-#include "MessageMms.h"
-
-namespace Msg
-{
- class SelectAllListItem;
-
- class SaveAttachmentsPopup
- : public PopupList
- {
- public:
- SaveAttachmentsPopup(App &app, const MessageMms &mms);
- virtual ~SaveAttachmentsPopup();
-
- private:
- void create(const MessageMms &mms);
- void showSelectAllItem();
- bool areAllItemsChecked() const;
- void updateSelectAllItem();
- void fillList(const MessageMms &mms);
-
- // Buttons
- void onCancelButtonClicked(Popup &popup, int buttonId);
- void onSaveButtonClicked(Popup &popup, int buttonId);
- bool isSaveButtonNeedToBeEnable();
- void disableSaveButton(bool value);
-
- // Save button clicked
- bool saveCheckedItems();
- void showSavingFailedPopup();
-
- // List View Listener
- virtual void onListItemChecked(ListItem &listItem);
-
- void checkSelectAllItem(SelectAllListItem &item);
- void checkItem(ListItem &item);
-
- private:
- App &m_App;
- Evas_Object *m_SaveButton;
- };
-}
-
-#endif /* SaveAttachmentsPopup_h_ */
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include <SaveAttachments.h>
+#include "Config.h"
+#include "MsgEngine.h"
+#include "PathUtils.h"
+#include "FileUtils.h"
+#include "Logger.h"
+#include "App.h"
+#include "ListItem.h"
+#include "SaveAttachmentsListItem.h"
+#include "notification_status.h"
+
+using namespace Msg;
+
+SaveAttachments::SaveAttachments(NaviFrameController &parent, MsgId id)
+ : FrameController(parent)
+ , m_pList(nullptr)
+ , m_Id(id)
+{
+ create();
+}
+
+SaveAttachments::~SaveAttachments()
+{
+}
+
+void SaveAttachments::create()
+{
+ createList();
+
+ NaviBar &naviBar = getNaviBar();
+ naviBar.showButton(NaviOkButtonId, true);
+ updateSelectItemsTitle();
+ naviBar.disabledButton(NaviOkButtonId, true);
+ naviBar.setButtonText(NaviOkButtonId, msgt("IDS_MSG_ACBUTTON_DONE_ABB"));
+ naviBar.showButton(NaviCancelButtonId, true);
+}
+
+void SaveAttachments::onAttached(ViewItem &item)
+{
+ MSG_LOG("");
+ FrameController::onAttached(item);
+ setContent(*m_pList);
+}
+
+void SaveAttachments::createList()
+{
+ m_pList = new ListView(getParent());
+ m_pList->setListener(this);
+ m_pList->expand();
+ m_pList->setMultiSelection(false);
+ m_pList->setMode(ELM_LIST_COMPRESS);
+ m_pList->setCheckMode(true);
+ m_pList->show();
+
+ fillList();
+ if(m_pList->getItemsCount() > 1)
+ showSelectAllItem();
+
+ m_pList->checkAllItems(false);
+}
+
+void SaveAttachments::fillList()
+{
+ MessageMmsRef mms = std::dynamic_pointer_cast<MessageMms>(getMsgEngine().getStorage().getMessage(m_Id));
+ const MsgPageList &pageList = mms->getPageList();
+ for(int i = 0; i < pageList.getLength(); ++i)
+ {
+ const MsgMediaList &mediaList = pageList.at(i).getMediaList();
+ for(int j = 0; j < mediaList.getLength(); ++j)
+ {
+ MsgMedia::Type type = mediaList.at(j).getType();
+ if(type != MsgMedia::TextType && type != MsgMedia::UnknownType)
+ {
+ appendItem(mediaList.at(j).getFileName(), mediaList.at(j).getFilePath(), nullptr, this);
+ }
+ }
+ }
+
+ const MsgAttachmentList &attachmentList = mms->getAttachmentList();
+ for(int i = 0; i < attachmentList.getLength(); ++i)
+ {
+ appendItem(attachmentList.at(i).getFileName(), attachmentList.at(i).getFilePath(), nullptr, this);
+ }
+}
+
+void SaveAttachments::appendItem(const std::string &text, const std::string &path, PopupListItemPressedCb cb, void *userData)
+{
+ m_pList->appendItem(*new SaveAttachmentsListItem(text, path));
+}
+
+void SaveAttachments::updateSelectItemsTitle()
+{
+ int checked = getAttachmentsCheckedCount();
+ if(checked > 0)
+ getNaviBar().setTitle(msgArgs("IDS_MSG_HEADER_PD_SELECTED_ABB3", checked));
+ else
+ getNaviBar().setTitle(msgt("IDS_MSG_HEADER_SELECT_ITEMS_ABB3"));
+}
+
+int SaveAttachments::getAttachmentsCheckedCount() const
+{
+ auto items = m_pList->getItems<SaveAttachmentsListItem>();
+ int count = 0;
+ for(SaveAttachmentsListItem *item : items)
+ {
+ if(item->isCheckable() && item->getCheckedState())
+ ++count;
+ }
+ return count;
+}
+
+void SaveAttachments::showSelectAllItem()
+{
+ SelectAllListItem *item = dynamic_cast<SelectAllListItem*>(m_pList->getFirstItem());
+ if(!item)
+ {
+ item = new SelectAllListItem;
+ m_pList->prependItem(*item);
+ }
+}
+
+void SaveAttachments::onButtonClicked(NaviFrameItem &item, NaviButtonId buttonId)
+{
+ switch(buttonId)
+ {
+ case NaviCancelButtonId:
+ onHwBackButtonClicked();
+ break;
+
+ case NaviOkButtonId:
+ onNaviOkButtonClicked();
+ break;
+
+ default:
+ MSG_LOG_ERROR("Invalid buttonId: ", buttonId);
+ break;
+ }
+}
+
+void SaveAttachments::onNaviOkButtonClicked()
+{
+ MSG_LOG("");
+
+ bool result = saveCheckedItems();
+
+ if(result)
+ notification_status_message_post(msg("IDS_MSG_TPOP_ATTACHMENTS_SAVED_IN_MY_FILES_DOWNLOADS").cStr());
+ else
+ showSavingFailedPopup();
+
+ pop();
+}
+
+void SaveAttachments::onHwBackButtonClicked()
+{
+ pop();
+}
+
+void SaveAttachments::onListItemChecked(ListItem &listItem)
+{
+ MSG_LOG("");
+ if(SelectAllListItem *it = dynamic_cast<SelectAllListItem*>(&listItem))
+ checkSelectAllItem(*it);
+ else
+ checkItem(listItem);
+
+ updateSelectItemsTitle();
+}
+
+void SaveAttachments::checkSelectAllItem(SelectAllListItem &item)
+{
+ bool checked = item.getCheckedState();
+ m_pList->checkAllItems(checked);
+ getNaviBar().disabledButton(NaviOkButtonId, !checked);
+}
+
+void SaveAttachments::checkItem(ListItem &item)
+{
+ updateSelectAllItem();
+ getNaviBar().disabledButton(NaviOkButtonId, !shouldEnableSaveBtn());
+}
+
+void SaveAttachments::updateSelectAllItem()
+{
+ if(m_pList->getItems().size() > 1)
+ {
+ bool allChecked = areAllItemsChecked();
+
+ SelectAllListItem *selectAllItem = dynamic_cast<SelectAllListItem*>(m_pList->getFirstItem());
+ if(selectAllItem)
+ selectAllItem->setCheckedState(allChecked, true);
+ }
+}
+
+bool SaveAttachments::areAllItemsChecked() const
+{
+ ListItemCollection items = m_pList->getItems();
+
+ auto item = items.empty() ? items.begin() : ++items.begin();
+ for(; item != items.end(); ++item)
+ {
+ if((*item)->isCheckable() && !(*item)->getCheckedState())
+ return false;
+ }
+ return true;
+}
+
+bool SaveAttachments::shouldEnableSaveBtn() const
+{
+ ListItemCollection items = m_pList->getItems();
+ for(auto *item : items)
+ {
+ if(item->isCheckable() && item->getCheckedState())
+ return true;
+ }
+ return false;
+}
+
+bool SaveAttachments::saveCheckedItems()
+{
+ std::string filePathDst;
+ std::string dowloadPath = PathUtils::getDownloadPath();
+
+ auto items = m_pList->getItems<SaveAttachmentsListItem>();
+ std::list<std::string> files;
+
+ for(auto *item : items)
+ {
+ if(item->isCheckable() && item->getCheckedState())
+ files.push_back(item->getFilePath());
+ }
+
+ return FileUtils::saveFilesToStorage(files);
+}
+
+void SaveAttachments::showSavingFailedPopup()
+{
+ Popup &popup = getApp().getPopupManager().getPopup();
+ popup.setContent(msgt("IDS_MSGF_POP_SAVING_FAILED"));
+ popup.setTimeOut(1.0);
+ popup.show();
+}
--- /dev/null
+/*
+ * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+#include "Logger.h"
+#include "PathUtils.h"
+#include "TextDecorator.h"
+#include "ListItem.h"
+#include "SaveAttachmentsListItem.h"
+
+#include <Elementary.h>
+
+using namespace Msg;
+
+namespace
+{
+ ListItemStyleRef ItemStyle = ListItemStyle::create("type1");
+ Elm_Genlist_Item_Type type = ELM_GENLIST_ITEM_NONE;
+ const char *namePart = "elm.text";
+ const char *checkBoxPart = "elm.swallow.end";
+}
+
+SaveAttachmentsListItem::SaveAttachmentsListItem(const std::string &text, const std::string &path)
+ : ListItem(ItemStyle, type)
+ , m_FileName(text)
+ , m_FilePath(path)
+{
+}
+
+SaveAttachmentsListItem::~SaveAttachmentsListItem()
+{
+}
+
+std::string SaveAttachmentsListItem::getText(ListItem &item, const char *part)
+{
+ if(!strcmp(part, namePart))
+ return m_FileName;
+
+ return "";
+}
+
+const char *SaveAttachmentsListItem::getCheckPart(ListItem &item)
+{
+ return checkBoxPart;
+}
+
+const std::string &SaveAttachmentsListItem::getFilePath() const
+{
+ return m_FilePath;
+}
+++ /dev/null
-/*
- * Copyright (c) 2009-2016 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-#include "PopupAttachmentListItem.h"
-#include "SaveAttachmentsPopup.h"
-#include <string.h>
-#include "PopupManager.h"
-#include "MsgMedia.h"
-#include "FileUtils.h"
-#include <notification_status.h>
-
-using namespace Msg;
-
-SaveAttachmentsPopup::SaveAttachmentsPopup(App &app, const MessageMms &mms)
- : PopupList(app.getPopupManager())
- , m_App(app)
- , m_SaveButton(nullptr)
-{
- create(mms);
-}
-SaveAttachmentsPopup::~SaveAttachmentsPopup()
-{
-}
-
-void SaveAttachmentsPopup::create(const MessageMms &mms)
-{
- setTitle(msgt("IDS_MSG_OPT_SAVE_ATTACHMENTS_ABB"));
- addButton(msgt("IDS_MSG_BUTTON_CANCEL_ABB2"), Popup::CancelButtonId, POPUP_BUTTON_CB(SaveAttachmentsPopup, onCancelButtonClicked), this);
- m_SaveButton = addButton(msgt("IDS_MSG_BUTTON_SAVE_ABB2"), Popup::OkButtonId, POPUP_BUTTON_CB(SaveAttachmentsPopup, onSaveButtonClicked), this);
- disableSaveButton(true);
-
- getListView().setMode(ELM_LIST_COMPRESS);
- getListView().setCheckMode(true);
- getListView().setScrollerContentMinLimit(EINA_FALSE, EINA_TRUE);
-
- fillList(mms);
- if(getListView().getItems().size() > 1)
- showSelectAllItem();
-
- getListView().checkAllItems(false);
-}
-
-void SaveAttachmentsPopup::showSelectAllItem()
-{
- SelectAllListItem *item = dynamic_cast<SelectAllListItem*>(getListView().getFirstItem());
- if(!item)
- {
- item = new SelectAllListItem;
- getListView().prependItem(*item);
- }
-}
-
-bool SaveAttachmentsPopup::areAllItemsChecked() const
-{
- ListItemCollection items = getListView().getItems();
-
- auto item = items.empty() ? items.begin() : ++items.begin();
- for(; item != items.end(); ++item)
- {
- if((*item)->isCheckable() && !(*item)->getCheckedState())
- return false;
- }
- return true;
-}
-
-void SaveAttachmentsPopup::updateSelectAllItem()
-{
- if(getListView().getItems().size() > 1)
- {
- bool allChecked = areAllItemsChecked();
-
- SelectAllListItem *selectAllItem = dynamic_cast<SelectAllListItem*>(getListView().getFirstItem());
- if(selectAllItem)
- selectAllItem->setCheckedState(allChecked, true);
- }
-}
-
-void SaveAttachmentsPopup::fillList(const MessageMms &mms)
-{
- const MsgPageList &pageList = mms.getPageList();
- for(int i = 0; i < pageList.getLength(); ++i)
- {
- const MsgMediaList &mediaList = pageList.at(i).getMediaList();
- for(int j = 0; j < mediaList.getLength(); ++j)
- {
- MsgMedia::Type type = mediaList.at(j).getType();
- if(type != MsgMedia::TextType && type != MsgMedia::UnknownType)
- {
- appendItem(mediaList.at(j).getFileName(), mediaList.at(j).getFilePath(), nullptr, this);
- }
- }
- }
-
- const MsgAttachmentList &attachmentList = mms.getAttachmentList();
- for(int i = 0; i < attachmentList.getLength(); ++i)
- {
- appendItem(attachmentList.at(i).getFileName(), attachmentList.at(i).getFilePath(), nullptr, this);
- }
-}
-
-void SaveAttachmentsPopup::onCancelButtonClicked(Popup &popup, int buttonId)
-{
- popup.destroy();
-}
-
-void SaveAttachmentsPopup::onSaveButtonClicked(Popup &popup, int buttonId)
-{
- MSG_LOG("");
-
- bool result = saveCheckedItems();
- popup.destroy();
-
- if(result)
- notification_status_message_post(msg("IDS_MSGF_POP_SAVED_IN_MY_FILES").cStr());
- else
- showSavingFailedPopup();
-}
-
-bool SaveAttachmentsPopup::isSaveButtonNeedToBeEnable()
-{
- ListItemCollection items = getListView().getItems();
- for(auto *item : items)
- {
- if(item->isCheckable() && item->getCheckedState())
- return true;
- }
- return false;
-}
-
-void SaveAttachmentsPopup::disableSaveButton(bool value)
-{
- elm_object_disabled_set(m_SaveButton, value);
-}
-
-bool SaveAttachmentsPopup::saveCheckedItems()
-{
- std::string filePathDst;
- std::string dowloadPath = PathUtils::getDownloadPath();
-
- auto items = getListView().getItems<PopupAttachmentListItem>();
- std::list<std::string> files;
-
- for(auto *item : items)
- {
- if(item->isCheckable() && item->getCheckedState())
- files.push_back(item->getFilePath());
- }
-
- return FileUtils::saveFilesToStorage(files);
-}
-
-void SaveAttachmentsPopup::showSavingFailedPopup()
-{
- Popup &popup = m_App.getPopupManager().getPopup();
- popup.setContent(msgt("IDS_MSGF_POP_SAVING_FAILED"));
- popup.setTimeOut(1.0);
- popup.show();
-}
-
-void SaveAttachmentsPopup::onListItemChecked(ListItem &listItem)
-{
- if(SelectAllListItem *it = dynamic_cast<SelectAllListItem*>(&listItem))
- checkSelectAllItem(*it);
- else
- checkItem(listItem);
-}
-
-void SaveAttachmentsPopup::checkSelectAllItem(SelectAllListItem &item)
-{
- bool checked = item.getCheckedState();
- getListView().checkAllItems(checked);
- disableSaveButton(!checked);
-}
-
-void SaveAttachmentsPopup::checkItem(ListItem &item)
-{
- updateSelectAllItem();
- disableSaveButton(!isSaveButtonNeedToBeEnable());
-}
virtual void onForwardMsg(ConvListItem &item);
virtual void onResendMsg(ConvListItem &item);
virtual void onSlideShow(ConvListItem &item);
+ virtual void onSaveAttachments(ConvListItem &item);
// IContactManagerListener:
virtual void onContactChanged();
virtual void onSlideShow(MsgId id) {};
virtual void onEditDraftMsg(MsgId id) {};
virtual void onForwardMsg(MsgId id) {};
+ virtual void onSaveAttachments(MsgId id) {};
virtual void onConvListItemChecked() {};
virtual void onResendMsg(MsgId id) {};
};
virtual void onForwardMsg(ConvListItem &item) {};
virtual void onResendMsg(ConvListItem &item) {};
virtual void onSlideShow(ConvListItem &item) {};
+ virtual void onSaveAttachments(ConvListItem &item) {};
};
}
m_pListener->onResendMsg(item.getMsgId());
}
+void ConvList::onSaveAttachments(ConvListItem &item)
+{
+ if(m_pListener)
+ m_pListener->onSaveAttachments(item.getMsgId());
+}
+
void ConvList::onEditDraftMsg(ConvListItem &item)
{
if(m_pListener)
#include "CallbackAssist.h"
#include "FileUtils.h"
#include "TimeUtils.h"
-#include "SaveAttachmentsPopup.h"
#include "TextDecorator.h"
#include "MediaType.h"
#include "MediaUtils.h"
void ConvListItem::onSaveAttachmentsItemPressed(PopupListItem &item)
{
MSG_LOG("");
- MessageMmsRef mms = std::dynamic_pointer_cast<MessageMms>(m_App.getMsgEngine().getStorage().getMessage(m_MsgId));
- if(mms)
- {
- SaveAttachmentsPopup *popup = new SaveAttachmentsPopup(m_App, *mms);
- m_App.getPopupManager().reset(*popup);
- popup->show();
- }
+ item.getParent().destroy();
+ if(m_pListener)
+ m_pListener->onSaveAttachments(*this);
}
void ConvListItem::onCopyToSimCardItemPressed(PopupListItem &item)
virtual void onForwardMsg(MsgId id);
virtual void onResendMsg(MsgId id);
virtual void onSlideShow(MsgId id);
+ virtual void onSaveAttachments(MsgId id);
virtual void onConvListItemChecked();
// IAttachPanelListener:
#include "Viewer.h"
#include "PopupRecipientListItem.h"
#include "LaunchSettings.h"
-
#include <Elementary.h>
#include <sstream>
#include <notification.h>
+#include <SaveAttachments.h>
using namespace Msg;
navigateToSlideShow(id);
}
+void Conversation::onSaveAttachments(MsgId id)
+{
+ MSG_LOG("");
+ SaveAttachments *controller = new SaveAttachments(getParent(), id);
+ getParent().push(*controller);
+}
+
void Conversation::onConvListItemChecked()
{
getNaviBar().disabledButton(NaviOkButtonId, m_pConvList->getMessageCheckedCount() == 0);
#include "VoiceCall.h"
#include "ContactViewer.h"
#include "FileUtils.h"
-#include "SaveAttachmentsPopup.h"
-
#include <sstream>
#include <iomanip>
#include <algorithm>
+#include "SaveAttachments.h"
using namespace Msg;
{
MSG_LOG("");
item.getParent().destroy();
- SaveAttachmentsPopup *popup = new SaveAttachmentsPopup(getApp(), *m_Msg.get());
- getApp().getPopupManager().reset(*popup);
- popup->show();
+ SaveAttachments *controller = new SaveAttachments(getParent(), m_Msg->getId());
+ getParent().push(*controller);
}
void Viewer::onRecipItemClicked(Evas_Object *obj, void *eventInfo)