forked from organicmaps/organicmaps
[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:
parent
da54d1b28f
commit
81ae6f0d1f
6 changed files with 11 additions and 15 deletions
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
|
||||
#include "bookmark.hpp"
|
||||
#include "bookmark_manager.hpp"
|
||||
#include "balloon_manager.hpp"
|
||||
#include "pin_click_manager.hpp"
|
||||
|
||||
#include "mwm_url.hpp"
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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();
|
Loading…
Add table
Reference in a new issue