TizenRefApp-9007 [Gallery] Add startup modes support into PreviewPage with 54/142354/1
authorIgor Nazarov <i.nazarov@samsung.com>
Thu, 3 Aug 2017 12:44:04 +0000 (15:44 +0300)
committerIgor Nazarov <i.nazarov@samsung.com>
Thu, 3 Aug 2017 12:44:04 +0000 (15:44 +0300)
initial: Mode::NORMAL and Mode::SELECT

Change-Id: Ia9383464cbeb00d8ca962c31a7fa460e5925824e

gallery/presenters/pages/PreviewPage.cpp
gallery/presenters/pages/PreviewPage.h
gallery/presenters/pages/ThumbnailPage.cpp

index 88ad393c1b2c7451cc0d263f5a00a72023775f98..6f92c21ef9d58eb95a5548802926cbcc3791b601 100644 (file)
@@ -43,8 +43,8 @@ namespace gallery {
        // PreviewPage::Builder //
 
        PreviewPage::Builder::Builder() :
+               m_startupMode(Mode::NORMAL),
                m_startItemIndex(0),
-               m_selectModeStartup(false),
                m_autoSelectStartItem(false)
        {
        }
@@ -67,17 +67,17 @@ namespace gallery {
                return *this;
        }
 
-       PreviewPage::Builder &PreviewPage::Builder::setStartItemIndex(
-                       const int index)
+       PreviewPage::Builder &PreviewPage::Builder::setStartupMode(
+                       const Mode value)
        {
-               m_startItemIndex = index;
+               m_startupMode = value;
                return *this;
        }
 
-       PreviewPage::Builder &PreviewPage::Builder::setSelectModeStartup(
-                       const bool value)
+       PreviewPage::Builder &PreviewPage::Builder::setStartItemIndex(
+                       const int index)
        {
-               m_selectModeStartup = value;
+               m_startItemIndex = index;
                return *this;
        }
 
@@ -103,7 +103,7 @@ namespace gallery {
                }
 
                auto result = makeShared<PreviewPage>(
-                               m_navi, onExitRequest, m_album, m_selectModeStartup);
+                               m_navi, onExitRequest, m_album, m_startupMode);
 
                FAIL_RETURN_VALUE(result->prepare([this, &result](NaviItem &item)
                        {
@@ -111,7 +111,7 @@ namespace gallery {
                        }),
                        {}, "result->prepare() failed!");
 
-               if (m_selectModeStartup && m_autoSelectStartItem) {
+               if ((m_startupMode == Mode::SELECT) && m_autoSelectStartItem) {
                        result->selectItem(m_startItemIndex);
                }
 
@@ -207,10 +207,10 @@ namespace gallery {
                        const NaviframeSRef &navi,
                        const ExitRequestHandler &onExitRequest,
                        const IMediaAlbumSRef &album,
-                       const bool selectModeStartup) :
+                       const Mode startupMode) :
                Page(rc, navi, onExitRequest),
                m_album(album),
-               m_selectModeStartup(selectModeStartup),
+               m_startupMode(startupMode),
                m_selectCount(0),
                m_isInSelectMode(false),
                m_needReload(false)
@@ -295,7 +295,7 @@ namespace gallery {
                m_imageGrid = ImageGrid::Builder().
                                setListener(asWeakThis<ImageGrid::IListener>(this)).
                                setType(ImageGrid::Type::LINEAR).
-                               setSelectModeStartup(m_selectModeStartup).
+                               setSelectModeStartup(m_startupMode == Mode::SELECT).
                                build(*m_content);
                if (!m_imageGrid) {
                        LOG_RETURN(RES_FAIL, "ImageGrid::build() failed!");
@@ -349,7 +349,7 @@ namespace gallery {
                m_atspiHelper->registerWidget(m_smp->getSelectButton());
                m_atspiHelper->registerWidget(m_smp->getBottomButton());
 
-               if (m_selectModeStartup) {
+               if (m_startupMode == Mode::SELECT) {
                        switchToSelectMode();
                }
                if (startItemIndex > 0) {
@@ -390,7 +390,7 @@ namespace gallery {
 
        void PreviewPage::onAlbumChanged()
        {
-               if (m_selectModeStartup) {
+               if (m_startupMode == Mode::SELECT) {
                        requestExit();
                } else if (!isEmpty(m_album)) {
                        reload();
@@ -427,7 +427,7 @@ namespace gallery {
 
        void PreviewPage::onBackKey()
        {
-               if (m_isInSelectMode && !m_selectModeStartup) {
+               if (m_isInSelectMode && (m_startupMode != Mode::SELECT)) {
                        switchToNormalMode();
                        return;
                }
index 05a35913df848af41e37395e7de29d0c8734e5d0..a8f4048be9d4a4ebe7890f5a1f895fc490db43c7 100644 (file)
@@ -40,22 +40,27 @@ namespace gallery {
                        private MoreOptionsPresenter::IListener,
                        private SelectModePresenter::IListener {
        public:
+               enum class Mode {
+                       NORMAL,
+                       SELECT
+               };
+
                class Builder final {
                public:
                        Builder();
                        ~Builder();
                        Builder &setNaviframe(const ucl::NaviframeSRef &navi);
                        Builder &setAlbum(const IMediaAlbumSRef &album);
+                       Builder &setStartupMode(Mode value);
                        Builder &setStartItemIndex(int index);
-                       Builder &setSelectModeStartup(bool value);
                        Builder &setAutoSelectStartItem(bool value);
                        PreviewPageWRef build(
                                        const ExitRequestHandler &onExitRequest) const;
                private:
                        ucl::NaviframeSRef m_navi;
                        IMediaAlbumSRef m_album;
+                       Mode m_startupMode;
                        int m_startItemIndex;
-                       bool m_selectModeStartup;
                        bool m_autoSelectStartItem;
                };
 
@@ -66,7 +71,7 @@ namespace gallery {
                friend class ucl::ReffedObj<PreviewPage>;
                PreviewPage(ucl::IRefCountObj &rc, const ucl::NaviframeSRef &navi,
                                const ExitRequestHandler &onExitRequest,
-                               const IMediaAlbumSRef &album, bool selectModeStartup);
+                               const IMediaAlbumSRef &album, Mode startupMode);
                virtual ~PreviewPage();
 
                ucl::Result doPrepare(int startItemIndex, ucl::NaviItem &item);
@@ -130,7 +135,7 @@ namespace gallery {
 
        private:
                const IMediaAlbumSRef m_album;
-               const bool m_selectModeStartup;
+               const Mode m_startupMode;
                ImageGridSRef m_imageGrid;
                std::vector<ItemSRef> m_items;
                IJobSRef m_job;
index 52522a9e32fd34943fadd38f4b093a3e344d8296..2ae01303c842c64115a2a0e1eb83128e5c0e900e 100644 (file)
@@ -310,8 +310,9 @@ namespace gallery {
                m_page = PreviewPage::Builder().
                                setNaviframe(asShared(getNaviframe())).
                                setAlbum(m_album).
+                               setStartupMode(selectModeStartup ?
+                                               PreviewPage::Mode::SELECT : PreviewPage::Mode::NORMAL).
                                setStartItemIndex(itemIndex).
-                               setSelectModeStartup(selectModeStartup).
                                setAutoSelectStartItem(true).
                                build(WEAK_DELEGATE(
                                        ThumbnailPage::onPageExitRequest, asWeak(*this)));
@@ -326,8 +327,8 @@ namespace gallery {
                        m_page = PreviewPage::Builder().
                                        setNaviframe(asShared(getNaviframe())).
                                        setAlbum(m_album).
+                                       setStartupMode(PreviewPage::Mode::SELECT).
                                        setStartItemIndex(m_imageGrid->getScrolledToItemIndex()).
-                                       setSelectModeStartup(true).
                                        build(WEAK_DELEGATE(
                                                ThumbnailPage::onPageExitRequest, asWeak(*this)));
                        break;