#ifndef __GALLERY_MODEL_GALLERY_H__
#define __GALLERY_MODEL_GALLERY_H__
-#include "types.h"
+#include "IMediaAlbum.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(Gallery);
+
class Gallery final : public ucl::NonCopyable {
public:
static GallerySRef newInstance();
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(IJob);
+
class IJob : public ucl::Polymorphic {
public:
virtual ucl::Result getResult() const = 0;
#ifndef __GALLERY_MODEL_I_MEDIA_ALBUM_H__
#define __GALLERY_MODEL_I_MEDIA_ALBUM_H__
-#include "types.h"
+#include "MediaItem.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(IMediaAlbum);
+
class IMediaAlbum : public ucl::Polymorphic {
public:
using EachCb = ucl::Delegate<bool(MediaItemSRef &&media)>;
#ifndef __GALLERY_MODEL_MEDIA_ITEM_H__
#define __GALLERY_MODEL_MEDIA_ITEM_H__
-#include "types.h"
+#include <vector>
+
+#include <media_content.h>
+
+#include "ucl/misc/AutoHandle.h"
+
+#include "IJob.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(MediaItem);
+
+ using MediaItems = std::vector<MediaItemSRef>;
+
class MediaItem : public ucl::Polymorphic {
public:
using ThumbnailPathGetCb =
#ifndef __GALLERY_MODEL_TYPES_H__
#define __GALLERY_MODEL_TYPES_H__
-#include <vector>
-
-#include <media_content.h>
-
-#include "ucl/misc/AutoHandle.h"
-
#include "../types.h"
namespace gallery {
MUSIC,
OTHERS
};
-
- UCL_DECLARE_REF_ALIASES(IJob);
-
- UCL_DECLARE_REF_ALIASES(Gallery);
-
- UCL_DECLARE_REF_ALIASES(IMediaAlbum);
-
- UCL_DECLARE_REF_ALIASES(MediaItem);
-
- using MediaItems = std::vector<MediaItemSRef>;
}
#endif // __GALLERY_MODEL_TYPES_H__
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(AlertDialog);
+
class AlertDialog final : public Presenter,
public ucl::IDisposable {
public:
+++ /dev/null
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __GALLERY_PRESENTERS_MORE_OPTIONS_LISTENER_H__
-#define __GALLERY_PRESENTERS_MORE_OPTIONS_LISTENER_H__
-
-#include "types.h"
-
-namespace gallery {
-
- class IMoreOptionsListener : public ucl::Polymorphic {
- public:
- virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option) = 0;
- virtual void onMoreOptionSelected(MoreOptionsPresenter &sender,
- const MoreOption &option) {};
- virtual void onMoreOptionsOpened(MoreOptionsPresenter &sender) {};
- virtual void onMoreOptionsClosed(MoreOptionsPresenter &sender) {};
- };
-}
-
-#endif // __GALLERY_PRESENTERS_MORE_OPTIONS_LISTENER_H__
+++ /dev/null
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __GALLERY_PRESENTERS_SELECT_MODE_LISTENER_H__
-#define __GALLERY_PRESENTERS_SELECT_MODE_LISTENER_H__
-
-#include "types.h"
-
-namespace gallery {
-
- class ISelectModeListener : public ucl::Polymorphic {
- public:
- virtual void onSelectModeEvent(int event) = 0;
- };
-}
-
-#endif // __GALLERY_PRESENTERS_SELECT_MODE_LISTENER_H__
#include "ucl/appfw/IInstance.h"
#include "ucl/appfw/IInstanceAppControlExt.h"
+#include "ucl/appfw/SysEventProvider.h"
#include "ucl/gui/Theme.h"
#include "ucl/gui/Naviframe.h"
-#include "types.h"
+#include "model/Gallery.h"
+#include "Page.h"
namespace gallery {
#ifndef __GALLERY_PRESENTERS_MORE_OPTIONS_PRESENTER_H__
#define __GALLERY_PRESENTERS_MORE_OPTIONS_PRESENTER_H__
+#include <list>
+
#include "ucl/misc/HashMap.h"
#include "Presenter.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(MoreOptionsPresenter);
+
class MoreOptionsPresenter final : public Presenter {
public:
+ UCL_DECLARE_REF_ALIASES(IListener);
+
+ struct Option {
+ int id;
+ ucl::TString text;
+ ucl::TString subText;
+ ucl::LayoutTheme iconTheme;
+ };
+
+ using MoreOptions = std::list<Option>;
+
class Builder {
public:
Builder();
~Builder();
bool isEmpty() const;
Builder &clear();
- Builder &addOption(MoreOption option);
+ Builder &addOption(Option option);
MoreOptionsPresenterSRef build(ucl::ElmWidget &parent) const;
private:
ucl::SharedRef<MoreOptions> m_options;
};
+ class IListener : public ucl::Polymorphic {
+ public:
+ virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
+ const Option &option) = 0;
+ virtual void onMoreOptionSelected(MoreOptionsPresenter &sender,
+ const Option &option) {};
+ virtual void onMoreOptionsOpened(MoreOptionsPresenter &sender) {};
+ virtual void onMoreOptionsClosed(MoreOptionsPresenter &sender) {};
+ };
+
public:
- void setListener(const IMoreOptionsListenerWRef &listener);
+ void setListener(const IListenerWRef &listener);
ucl::Widget &getWidget();
virtual ~MoreOptionsPresenter();
ucl::Result prepare(ucl::ElmWidget &parent);
- ucl::Result addItem(const MoreOption &option);
+ ucl::Result addItem(const Option &option);
bool resetTimer(double timeout);
void stopTimer();
private:
const MoreOptionsCSRef m_options;
- ucl::HashMap<void *, const MoreOption *> m_map;
+ ucl::HashMap<void *, const Option *> m_map;
ucl::ElmWidgetSRef m_widget;
- IMoreOptionsListenerWRef m_listener;
+ IListenerWRef m_listener;
Ecore_Timer *m_timer;
bool m_newOpenedState;
};
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(NoContentPage);
+
class NoContentPage final : public Page {
public:
class Builder {
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(Page);
+
class Page : public Presenter {
public:
using ExitRequestHandler = ucl::Delegate<void(Page &page)>;
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(Presenter);
+
class Presenter : public ucl::RefCountAware {
public:
struct DeactivatorInfo {
#include "Page.h"
-#include "view/IImageGridListener.h"
+#include "model/IMediaAlbum.h"
+#include "view/PageContent.h"
+#include "view/ImageGrid.h"
+
+#include "MoreOptionsPresenter.h"
+#include "SelectModePresenter.h"
+#include "AlertDialog.h"
+#include "ProcessingPresenter.h"
#include "AtspiHighlightHelper.h"
-#include "IMoreOptionsListener.h"
-#include "ISelectModeListener.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(PreviewPage);
+
class PreviewPage final : public Page,
- private IImageGridListener,
- private IMoreOptionsListener,
- private ISelectModeListener {
+ private ImageGrid::IListener,
+ private MoreOptionsPresenter::IListener,
+ private SelectModePresenter::IListener {
public:
class Builder {
public:
virtual void onBackKey() final override;
- // IImageGridListener //
+ // ImageGrid::IListener //
virtual void onItemRealized(int itemIndex) final override;
virtual void onItemUnrealized(int itemIndex) final override;
virtual void onItemEvent(int itemIndex,
- int event, int x, int y) final override;
+ ImageGrid::ItemEvent event, int x, int y) final override;
virtual void onTransitionFinished() final override;
virtual Elm_Interface_Atspi_Accessible *onAccessObjectRequest(
bool isFlowsTo) final override;
- // IMoreOptionsListener //
+ // MoreOptionsPresenter::IListener //
virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option) final override;
+ const MoreOptionsPresenter::Option &option) final override;
- // ISelectModeListener //
+ // SelectModePresenter::IListener //
- virtual void onSelectModeEvent(int event) final override;
+ virtual void onSelectModeEvent(
+ SelectModePresenter::Event event) final override;
private:
class Item;
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(ProcessingPresenter);
+
class ProcessingPresenter final : public Presenter {
public:
enum class IconType {
#include "Presenter.h"
+#include "view/PageContent.h"
+
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(SelectModePresenter);
+
class SelectModePresenter final : public Presenter {
public:
+ UCL_DECLARE_REF_ALIASES(IListener);
+
enum {
FLAG_NO_BOTTOM_BUTTON = 1,
FLAG_NO_MORE_OPTIONS = 2,
int m_flags;
};
- enum Event {
- EVENT_SELECT_ALL,
- EVENT_DESELECT_ALL,
- EVENT_BOTTOM_BUTTON_CLICK
+ enum class Event {
+ SELECT_ALL,
+ DESELECT_ALL,
+ BOTTOM_BUTTON_CLICK
+ };
+
+ class IListener : public ucl::Polymorphic {
+ public:
+ virtual void onSelectModeEvent(Event event) = 0;
};
public:
- void setListener(const ISelectModeListenerWRef &listener);
+ void setListener(const IListenerWRef &listener);
void setVisible(bool value);
bool isVisible() const;
ucl::StyledWidgetSRef m_selectButton;
ucl::StyledWidgetSRef m_bottomButton;
ucl::StyledWidgetSRef m_popup;
- ISelectModeListenerWRef m_listener;
+ IListenerWRef m_listener;
int m_totalCount;
int m_selectCount;
bool m_isVisible;
#include "Page.h"
-#include "view/IImageGridListener.h"
+#include "model/IMediaAlbum.h"
+#include "view/PageContent.h"
+#include "view/ImageGrid.h"
+
+#include "MoreOptionsPresenter.h"
#include "AtspiHighlightHelper.h"
-#include "IMoreOptionsListener.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(ThumbnailPage);
+
class ThumbnailPage final : public Page,
- private IImageGridListener,
- private IMoreOptionsListener {
+ private ImageGrid::IListener,
+ private MoreOptionsPresenter::IListener {
public:
class Builder {
public:
virtual void onActivateBy(const DeactivatorInfo &info) final override;
virtual void onDeactivateBy(const DeactivatorInfo &info) final override;
- // IImageGridListener //
+ // ImageGrid::IListener //
virtual void onItemRealized(int itemIndex) final override;
virtual void onItemUnrealized(int itemIndex) final override;
virtual void onItemEvent(int itemIndex,
- int event, int x, int y) final override;
+ ImageGrid::ItemEvent event, int x, int y) final override;
- // IMoreOptionsListener //
+ // MoreOptionsPresenter::IListener //
virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option) final override;
+ const MoreOptionsPresenter::Option &option) final override;
private:
class RealizedItem;
#include "Page.h"
#include "model/SoundManager.h"
+#include "model/MediaItem.h"
+
+#include "view/TouchParser.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(VideoPlayerPage);
+
class VideoPlayerPage final : public Page {
public:
class Builder {
#include "Page.h"
-#include "IMoreOptionsListener.h"
+#include "model/MediaItem.h"
+
+#include "view/PageContent.h"
+#include "view/ImageViewer.h"
+#include "view/TouchParser.h"
+
+#include "MoreOptionsPresenter.h"
+#include "ProcessingPresenter.h"
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(ViewerPage);
+
class ViewerPage final : public Page,
- private IMoreOptionsListener {
+ private MoreOptionsPresenter::IListener {
public:
class Builder {
public:
virtual void onBackKey() final override;
- // IMoreOptionsListener //
+ // MoreOptionsPresenter::IListener //
virtual void onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option) final override;
+ const MoreOptionsPresenter::Option &option) final override;
private:
const MediaItemSRef m_media;
#ifndef __GALLERY_PRESENTERS_TYPES_H__
#define __GALLERY_PRESENTERS_TYPES_H__
-#include <list>
-
-#include "../types.h"
#include "view/types.h"
#include "model/types.h"
-namespace gallery {
-
- struct MoreOption {
- int id;
- ucl::TString text;
- ucl::TString subText;
- ucl::LayoutTheme iconTheme;
- };
-
- using MoreOptions = std::list<MoreOption>;
-
- UCL_DECLARE_REF_ALIASES(Presenter);
-
- UCL_DECLARE_REF_ALIASES(IMoreOptionsListener);
- UCL_DECLARE_REF_ALIASES(MoreOptionsPresenter);
-
- UCL_DECLARE_REF_ALIASES(ISelectModeListener);
- UCL_DECLARE_REF_ALIASES(SelectModePresenter);
-
- UCL_DECLARE_REF_ALIASES(ProcessingPresenter);
-
- UCL_DECLARE_REF_ALIASES(AlertDialog);
-
- UCL_DECLARE_REF_ALIASES(Page);
-
- UCL_DECLARE_REF_ALIASES(NoContentPage);
- UCL_DECLARE_REF_ALIASES(ThumbnailPage);
- UCL_DECLARE_REF_ALIASES(PreviewPage);
- UCL_DECLARE_REF_ALIASES(ViewerPage);
- UCL_DECLARE_REF_ALIASES(VideoPlayerPage);
-}
-
#endif // __GALLERY_PRESENTERS_TYPES_H__
+++ /dev/null
-/*
- * Copyright 2017 Samsung Electronics Co., Ltd
- *
- * Licensed under the Flora License, Version 1.1 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://floralicense.org/license/
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __GALLERY_VIEW_I_IMAGE_GRID_LISTENER_H__
-#define __GALLERY_VIEW_I_IMAGE_GRID_LISTENER_H__
-
-#include "types.h"
-
-namespace gallery {
-
- class IImageGridListener : public ucl::Polymorphic {
- public:
- virtual void onItemRealized(int itemIndex) = 0;
- virtual void onItemUnrealized(int itemIndex) = 0;
- virtual void onItemEvent(int itemIndex, int event, int x, int y) = 0;
- virtual void onTransitionFinished() {}
- virtual Elm_Interface_Atspi_Accessible *onAccessObjectRequest(
- bool isFlowsTo) { return nullptr; }
- };
-}
-
-#endif // __GALLERY_VIEW_I_IMAGE_GRID_LISTENER_H__
#include "ucl/misc/Timeout.h"
-#include "types.h"
-
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(ImageGrid);
+
class ImageGrid : public ucl::ElmWidget {
public:
+ UCL_DECLARE_REF_ALIASES(IListener);
+
enum class Type {
HCOMB_3X3,
LINEAR
public:
Builder();
Builder &setType(Type value);
- Builder &setListener(IImageGridListener *value);
+ Builder &setListener(const IListenerWRef &value);
Builder &setSelectModeStartup(bool value);
ImageGridSRef build(ElmWidget &parent) const;
private:
Type m_type;
- IImageGridListener *m_listener;
+ IListenerWRef m_listener;
bool m_selectModeStartup;
};
- enum ItemEvent {
- ITEM_EVENT_CLICK,
- ITEM_EVENT_DOUBLE_TAP,
- ITEM_EVENT_TAP_AND_HOLD
+ enum class ItemEvent {
+ CLICK,
+ DOUBLE_TAP,
+ TAP_AND_HOLD
+ };
+
+ class IListener : public ucl::Polymorphic {
+ public:
+ virtual void onItemRealized(int itemIndex) = 0;
+ virtual void onItemUnrealized(int itemIndex) = 0;
+ virtual void onItemEvent(int itemIndex,
+ ItemEvent event, int x, int y) = 0;
+ virtual void onTransitionFinished() {}
+ virtual Elm_Interface_Atspi_Accessible *onAccessObjectRequest(
+ bool isFlowsTo) { return nullptr; }
};
enum {
};
public:
- void setListener(IImageGridListener *listener);
+ void setListener(const IListenerWRef &listener);
ucl::Result setItemCount(int count);
void addUnrealizeLock();
void removeUnrealizeLock();
- void handleItemEvent(int itemIndex, int event, int x, int y) const;
+ void handleItemEvent(int itemIndex,
+ ItemEvent event, int x, int y) const;
// Accessibility
ucl::Widget m_rect2;
Evas_Object *m_circleScroller;
- IImageGridListener *m_listener;
+ IListenerWRef m_listener;
int m_itemCount;
std::deque<SlotUPtr> m_slots;
constexpr ucl::SmartEvent IMAGE_VIEWER_ZOOM_END {"gallery,zoom,end"};
+ UCL_DECLARE_REF_ALIASES(ImageViewer);
+
class ImageViewer final : public ucl::ElmWidget {
public:
class Builder {
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(PageContent);
+
class PageContent : public ucl::ElmWidget {
public:
class Builder {
namespace gallery {
+ UCL_DECLARE_REF_ALIASES(TouchParser);
+
class TouchParser final : public ucl::RefCountAware {
public:
using TapHandler = ucl::Delegate<void(int x, int y)>;
#include "../types.h"
-namespace gallery {
-
- class IImageGridListener;
-
- UCL_DECLARE_REF_ALIASES(TouchParser);
-
- UCL_DECLARE_REF_ALIASES(PageContent);
-
- UCL_DECLARE_REF_ALIASES(ImageGrid);
- UCL_DECLARE_REF_ALIASES(ImageViewer);
-}
-
#endif // __GALLERY_VIEW_TYPES_H__
#include "ucl/util/threading/Thread.h"
#include "model/IJob.h"
-#include "types.h"
namespace gallery {
#include "ucl/misc/TString.h"
-#include "model/MediaItem.h"
-
#include "common.h"
namespace gallery { namespace { namespace impl {
#ifndef __GALLERY_MODEL_INTERNAL_H__
#define __GALLERY_MODEL_INTERNAL_H__
+#include <media_content.h>
+
#include "ucl/util/threading.h"
#include "model/types.h"
#include <system_settings.h>
-#include "ucl/appfw/SysEventProvider.h"
#include "ucl/appfw/helpers.h"
-#include "model/Gallery.h"
-#include "model/MediaItem.h"
-#include "model/IMediaAlbum.h"
-
#include "presenters/NoContentPage.h"
#include "presenters/ThumbnailPage.h"
#include "presenters/ViewerPage.h"
SysEventProvider &sysEventProvider) :
RefCountAware(&rc),
m_sysEventProvider(sysEventProvider),
+ m_context(nullptr),
m_isScanInProgress(false),
m_isGroupMode(false)
{
#include "ucl/gui/Layout.h"
-#include "presenters/IMoreOptionsListener.h"
-
#include "common.h"
namespace gallery { namespace { namespace impl {
}
MoreOptionsPresenter::Builder &MoreOptionsPresenter::Builder::addOption(
- MoreOption option)
+ Option option)
{
if (!m_options) {
m_options = makeShared<MoreOptions>();
return RES_OK;
}
- Result MoreOptionsPresenter::addItem(const MoreOption &option)
+ Result MoreOptionsPresenter::addItem(const Option &option)
{
const auto item = eext_more_option_item_append(*m_widget);
if (!item) {
}
void MoreOptionsPresenter::setListener(
- const IMoreOptionsListenerWRef &listener)
+ const IListenerWRef &listener)
{
m_listener = listener;
}
void Page::exit()
{
- if (isAtTop() && !isAtBottom()) {
+ if (isAtTop() && !isAtBottom() && !m_navi->isInTransition()) {
m_navi->pop();
m_item = nullptr;
} else {
#include "presenters/PreviewPage.h"
-#include "model/IMediaAlbum.h"
-#include "model/MediaItem.h"
-#include "model/IJob.h"
-
-#include "view/PageContent.h"
-#include "view/ImageGrid.h"
-
-#include "presenters/MoreOptionsPresenter.h"
-#include "presenters/SelectModePresenter.h"
-#include "presenters/AlertDialog.h"
-#include "presenters/ProcessingPresenter.h"
#include "presenters/ViewerPage.h"
#include "resources.h"
}
m_imageGrid = ImageGrid::Builder().
- setListener(this).
+ setListener(asWeakThis<ImageGrid::IListener>(this)).
setType(ImageGrid::Type::LINEAR).
setSelectModeStartup(m_selectModeStartup).
build(*m_content);
m_album->addChangeHandler(WEAK_DELEGATE(
PreviewPage::onAlbumChanged, asWeak(*this)));
- m_more->setListener(asWeakThis<IMoreOptionsListener>(this));
- m_smp->setListener(asWeakThis<ISelectModeListener>(this));
+ m_more->setListener(asWeakThis<MoreOptionsPresenter::IListener>(this));
+ m_smp->setListener(asWeakThis<SelectModePresenter::IListener>(this));
m_atspiHelper->setEventHandler(WEAK_DELEGATE(
PreviewPage::onAtspiHighlight, asWeak(*this)));
}
void PreviewPage::onItemEvent(const int itemIndex,
- const int event, const int x, const int y)
+ const ImageGrid::ItemEvent event, const int x, const int y)
{
if (!isActive() || m_more->isOpened()) {
return;
}
if (m_isInSelectMode) {
- if (event == ImageGrid::ITEM_EVENT_CLICK) {
+ if (event == ImageGrid::ItemEvent::CLICK) {
toggleItemSelected(itemIndex);
m_imageGrid->bringInItem(itemIndex);
}
}
switch (event) {
- case ImageGrid::ITEM_EVENT_TAP_AND_HOLD:
+ case ImageGrid::ItemEvent::TAP_AND_HOLD:
switchToSelectMode();
toggleItemSelected(itemIndex);
break;
- case ImageGrid::ITEM_EVENT_DOUBLE_TAP:
+ case ImageGrid::ItemEvent::DOUBLE_TAP:
openViewer(itemIndex, x, y);
break;
+ default:
+ break;
}
}
}
void PreviewPage::onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option)
+ const MoreOptionsPresenter::Option &option)
{
switch (option.id) {
case impl::MORE_OPTION_ID_DELETE:
}
}
- void PreviewPage::onSelectModeEvent(const int event)
+ void PreviewPage::onSelectModeEvent(const SelectModePresenter::Event event)
{
if (m_more->isOpened()) {
return;
}
switch (event) {
- case SelectModePresenter::EVENT_SELECT_ALL:
- case SelectModePresenter::EVENT_DESELECT_ALL:
+ case SelectModePresenter::Event::SELECT_ALL:
+ case SelectModePresenter::Event::DESELECT_ALL:
{
const bool isSelect =
- (event == SelectModePresenter::EVENT_SELECT_ALL);
+ (event == SelectModePresenter::Event::SELECT_ALL);
for (auto &item: m_items) {
item->setSelected(isSelect);
}
}
break;
- case SelectModePresenter::EVENT_BOTTOM_BUTTON_CLICK:
+ case SelectModePresenter::Event::BOTTOM_BUTTON_CLICK:
confirmItemsDelete();
break;
}
#include "presenters/ProcessingPresenter.h"
-#include "ucl/gui/Window.h"
-
#include "common.h"
namespace gallery { namespace { namespace impl {
#include "ucl/gui/WidgetItem.h"
-#include "view/PageContent.h"
-
-#include "presenters/ISelectModeListener.h"
-
#include "resources.h"
#include "common.h"
return RES_OK;
}
- void SelectModePresenter::setListener(
- const ISelectModeListenerWRef &listener)
+ void SelectModePresenter::setListener(const IListenerWRef &listener)
{
m_listener = listener;
}
{
if (m_popup && (m_popup->getEo() == obj)) {
dismissPopup();
- dispatchEvent(EVENT_SELECT_ALL);
+ dispatchEvent(Event::SELECT_ALL);
}
}
{
if (m_popup && (m_popup->getEo() == obj)) {
dismissPopup();
- dispatchEvent(EVENT_DESELECT_ALL);
+ dispatchEvent(Event::DESELECT_ALL);
}
}
Widget &widget, void *eventInfo)
{
if (isActive() && !m_popup && (m_selectCount > 0)) {
- dispatchEvent(EVENT_BOTTOM_BUTTON_CLICK);
+ dispatchEvent(Event::BOTTOM_BUTTON_CLICK);
}
}
#include "presenters/ThumbnailPage.h"
-#include "model/IMediaAlbum.h"
-#include "model/MediaItem.h"
-
-#include "view/PageContent.h"
-#include "view/ImageGrid.h"
-
-#include "presenters/MoreOptionsPresenter.h"
#include "presenters/PreviewPage.h"
#include "resources.h"
}
m_imageGrid = ImageGrid::Builder().
- setListener(this).
+ setListener(asWeakThis<ImageGrid::IListener>(this)).
setType(ImageGrid::Type::HCOMB_3X3).
build(*m_content);
if (!m_imageGrid) {
}
void ThumbnailPage::onItemEvent(const int itemIndex,
- const int event, const int x, const int y)
+ const ImageGrid::ItemEvent event, const int x, const int y)
{
if (!isActive() || m_more->isOpened()) {
return;
bool selectModeStartup = false;
switch (event) {
- case ImageGrid::ITEM_EVENT_CLICK:
+ case ImageGrid::ItemEvent::CLICK:
break;
- case ImageGrid::ITEM_EVENT_TAP_AND_HOLD:
+ case ImageGrid::ItemEvent::TAP_AND_HOLD:
selectModeStartup = true;
break;
default:
}
void ThumbnailPage::onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option)
+ const MoreOptionsPresenter::Option &option)
{
switch (option.id) {
case impl::MORE_OPTION_ID_DELETE:
#include "ucl/appfw/types.h"
-#include "model/MediaItem.h"
-
-#include "view/TouchParser.h"
-
#include "resources.h"
#include "common.h"
m_tickTimer(nullptr),
m_state(State::PAUSED),
m_isControlsVisible(false),
- m_needAutoStart(true)
+ m_needAutoStart(true),
+ m_isPlaybackCompleted(false)
{
}
#include "presenters/ViewerPage.h"
-#include "model/MediaItem.h"
-#include "model/IJob.h"
-
-#include "view/PageContent.h"
-#include "view/ImageViewer.h"
-#include "view/TouchParser.h"
-
-#include "presenters/MoreOptionsPresenter.h"
-#include "presenters/ProcessingPresenter.h"
-
#include "resources.h"
#include "common.h"
PageContent::Part::MORE_OPTIONS);
addDeactivatorSource(m_more->getWidget());
- m_more->setListener(asWeakThis<IMoreOptionsListener>(this));
+ m_more->setListener(asWeakThis<
+ MoreOptionsPresenter::IListener>(this));
}
if (useThumb) {
}
void ViewerPage::onMoreOptionClicked(MoreOptionsPresenter &sender,
- const MoreOption &option)
+ const MoreOptionsPresenter::Option &option)
{
sender.setOpened(false);
#include "ucl/gui/Layout.h"
#include "ucl/gui/Window.h"
-#include "view/IImageGridListener.h"
#include "view/TouchParser.h"
#include "common.h"
ImageGrid::Builder::Builder() :
m_type(Type::HCOMB_3X3),
- m_listener(nullptr),
m_selectModeStartup(false)
{
}
}
ImageGrid::Builder &ImageGrid::Builder::setListener(
- IImageGridListener *const value)
+ const IListenerWRef &value)
{
m_listener = value;
return *this;
LOG_RETURN_VOID(RES_ILLEGAL_STATE, "Item is not realized!");
}
m_imageGrid.handleItemEvent(m_realizeIndex,
- ITEM_EVENT_CLICK, -1, -1);
+ ItemEvent::CLICK, -1, -1);
}
void onDoubleTap(const int x, const int y)
LOG_RETURN_VOID(RES_ILLEGAL_STATE, "Item is not realized!");
}
m_imageGrid.handleItemEvent(m_realizeIndex,
- ITEM_EVENT_DOUBLE_TAP, x, y);
+ ItemEvent::DOUBLE_TAP, x, y);
}
void onTapAndHold(const int x, const int y)
LOG_RETURN_VOID(RES_ILLEGAL_STATE, "Item is not realized!");
}
m_imageGrid.handleItemEvent(m_realizeIndex,
- ITEM_EVENT_TAP_AND_HOLD, x, y);
+ ItemEvent::TAP_AND_HOLD, x, y);
}
void onHighlighted(Widget &widget, void *eventInfo)
m_rect2(evas_object_rectangle_add(m_box.getEvas())),
m_circleScroller(nullptr),
- m_listener(nullptr),
m_itemCount(0),
m_slotCount(0), // Must be even >= 2
WEAK_DELEGATE(ImageGrid::onKeeperUnhighlighted, asWeak(*this)));
}
- void ImageGrid::setListener(IImageGridListener *const listener)
+ void ImageGrid::setListener(const IListenerWRef &listener)
{
m_listener = listener;
}
}
}
- void ImageGrid::handleItemEvent(const int itemIndex, const int event,
- const int x, const int y) const
+ void ImageGrid::handleItemEvent(const int itemIndex,
+ const ItemEvent event, const int x, const int y) const
{
if (m_listener) {
m_listener->onItemEvent(itemIndex, event, x, y);
namespace ucl {
+ class SysEventProvider;
+ using SysEventProviderUPtr = std::unique_ptr<SysEventProvider>;
+
class SysEventProvider : public NonCopyable {
public:
using EventHandlerAddFunc = int (*)(app_event_handler_h *,
using AppParams = HashMap<AppParam, Variant>;
- class SysEventProvider;
- using SysEventProviderUPtr = std::unique_ptr<SysEventProvider>;
-
enum class SysEvent {
LANGUAGE_CHANGED,
REGION_FMT_CHANGED,