// PreviewPage::Builder //
PreviewPage::Builder::Builder() :
+ m_startupMode(Mode::NORMAL),
m_startItemIndex(0),
- m_selectModeStartup(false),
m_autoSelectStartItem(false)
{
}
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;
}
}
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)
{
}),
{}, "result->prepare() failed!");
- if (m_selectModeStartup && m_autoSelectStartItem) {
+ if ((m_startupMode == Mode::SELECT) && m_autoSelectStartItem) {
result->selectItem(m_startItemIndex);
}
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)
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!");
m_atspiHelper->registerWidget(m_smp->getSelectButton());
m_atspiHelper->registerWidget(m_smp->getBottomButton());
- if (m_selectModeStartup) {
+ if (m_startupMode == Mode::SELECT) {
switchToSelectMode();
}
if (startItemIndex > 0) {
void PreviewPage::onAlbumChanged()
{
- if (m_selectModeStartup) {
+ if (m_startupMode == Mode::SELECT) {
requestExit();
} else if (!isEmpty(m_album)) {
reload();
void PreviewPage::onBackKey()
{
- if (m_isInSelectMode && !m_selectModeStartup) {
+ if (m_isInSelectMode && (m_startupMode != Mode::SELECT)) {
switchToNormalMode();
return;
}
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;
};
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);
private:
const IMediaAlbumSRef m_album;
- const bool m_selectModeStartup;
+ const Mode m_startupMode;
ImageGridSRef m_imageGrid;
std::vector<ItemSRef> m_items;
IJobSRef m_job;
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)));
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;