[core] move logic about second tap into core.

Send activation callback when active mark already exist on "long click" or when it's click into "user mark/my position".

Don't send OnDissmis when active mark not exist

rename ballon_manager files into pin_click_manager as class
This commit is contained in:
ExMix 2014-06-28 20:41:52 +03:00 committed by Alex Zolotarev
parent da54d1b28f
commit 81ae6f0d1f
6 changed files with 11 additions and 15 deletions

View file

@ -250,14 +250,7 @@ const long long LITE_IDL = 431183278L;
m2::PointD pxClicked(point.x * scaleFactor, point.y * scaleFactor);
Framework & f = GetFramework();
if (f.HasActiveUserMark() && !isLongClick)
f.GetBalloonManager().Dismiss();
else
{
UserMark const * userMark = f.GetUserMark(m2::PointD(pxClicked.x, pxClicked.y), isLongClick);
if (userMark)
f.GetBalloonManager().OnShowMark(userMark);
}
f.GetBalloonManager().OnShowMark(f.GetUserMark(m2::PointD(pxClicked.x, pxClicked.y), isLongClick));
}
- (void)onSingleTap:(NSValue *)point

View file

@ -1646,6 +1646,9 @@ UserMark const * Framework::GetUserMark(m2::PointD const & pxPoint, bool isLongP
UserMark const * mark = m_bmManager.FindNearestUserMark(rect);
if (m_bmManager.UserMarkHasActive() && !isLongPress)
return mark;
if (mark == NULL)
{
bool needMark = false;

View file

@ -12,7 +12,7 @@
#include "bookmark.hpp"
#include "bookmark_manager.hpp"
#include "balloon_manager.hpp"
#include "pin_click_manager.hpp"
#include "mwm_url.hpp"

View file

@ -59,7 +59,6 @@ HEADERS += \
geometry_processors.hpp \
bookmark_manager.hpp \
ge0_parser.hpp \
balloon_manager.hpp \
scales_processor.hpp \
yopme_render_policy.hpp \
track.hpp \
@ -67,7 +66,8 @@ HEADERS += \
user_mark_container.hpp \
user_mark.hpp \
user_mark_dl_cache.hpp \
anim_phase_chain.hpp
anim_phase_chain.hpp \
pin_click_manager.hpp
SOURCES += \
feature_vec_model.cpp \
@ -113,7 +113,6 @@ SOURCES += \
bookmark_manager.cpp \
ge0_parser.cpp \
../api/src/c/api-client.c \
balloon_manager.cpp \
scales_processor.cpp \
yopme_render_policy.cpp \
track.cpp \
@ -121,7 +120,8 @@ SOURCES += \
user_mark_container.cpp \
user_mark.cpp \
user_mark_dl_cache.cpp \
anim_phase_chain.cpp
anim_phase_chain.cpp \
pin_click_manager.cpp
!iphone*:!tizen*:!android* {
HEADERS += qgl_render_context.hpp

View file

@ -1,4 +1,4 @@
#include "balloon_manager.hpp"
#include "pin_click_manager.hpp"
#include "framework.hpp"
#include "../search/result.hpp"
@ -41,7 +41,7 @@ void PinClickManager::OnBookmarkClick(BookmarkAndCategory const & bnc)
void PinClickManager::SetBalloonVisible(bool isVisible)
{
if (!isVisible)
if (!isVisible && m_f.HasActiveUserMark())
OnDismiss();
m_f.Invalidate();