From 2225dcd14af601817d06cfbb5ffd2486df508190 Mon Sep 17 00:00:00 2001 From: cxl Date: Sun, 26 Aug 2018 14:45:33 +0000 Subject: [PATCH] CtrlCore: Cocoa: ignoreclick git-svn-id: svn://ultimatepp.org/upp/trunk@12193 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/CocoProc.mm | 11 +++++++++++ uppsrc/CtrlCore/cocotodo.txt | 14 +++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/uppsrc/CtrlCore/CocoProc.mm b/uppsrc/CtrlCore/CocoProc.mm index 69db1998f..b4c1b5b74 100644 --- a/uppsrc/CtrlCore/CocoProc.mm +++ b/uppsrc/CtrlCore/CocoProc.mm @@ -60,6 +60,10 @@ bool Ctrl::ReleaseWndCapture() struct MMImp { static bool MouseEvent(CocoView *view, NSEvent *e, int event, double zd = 0) { + if((event & Ctrl::ACTION) == Ctrl::UP && Ctrl::ignoreclick) { + Ctrl::EndIgnore(); + return false; + } NSPoint np = [view convertPoint:[e locationInWindow] fromView:nil]; Rect r = view->ctrl->GetRect(); Upp::Point p(np.x, r.GetHeight() - np.y); @@ -71,6 +75,13 @@ struct MMImp { static bool MouseDownEvent(CocoView *view, NSEvent *e, int button) { + if(Ctrl::ignoremouseup) { + Ctrl::KillRepeat(); + Ctrl::ignoreclick = false; + Ctrl::ignoremouseup = false; + } + if(Ctrl::ignoreclick) + return false; static int clicktime = msecs() - 100000; bool b; if(msecs(clicktime) < GUI_DblClickTime()) { diff --git a/uppsrc/CtrlCore/cocotodo.txt b/uppsrc/CtrlCore/cocotodo.txt index 9175d944f..602074c90 100644 --- a/uppsrc/CtrlCore/cocotodo.txt +++ b/uppsrc/CtrlCore/cocotodo.txt @@ -2,28 +2,25 @@ sooner: - default GUI font - minimize, maximaze -- Sort fonts - not all additional cursors are correct - fix package organiser link options (joining link options missing space) - -- progress for assist opens too much, probably problem with delay? +- ignoreclick later: - apple debugger +- progress for assist opens too much, probably problem with delay? - package organizer initial size too small - void WakeUpGuiThread(void) - fullscreen mode issues - CommonFontInfo GetFontInfoSys(Font font) metrics - GetGlyphInfoSys metrics - EndSession ? -- ignoreclick - event flags - CachedSetColorKeepAlpha optimize out - use NSView:needsToDrawRect: for IsPaintingOp - set application icons -- fix resizing arrows - multimonitor support @@ -36,8 +33,15 @@ void SystemDraw::DrawArcOp(const Rect& rc, Point start, Point end, int width, Co - keynames apple style +- Mac menu +- Clipboard types +- Drag&Drop +- System colors +- Chameleon + done: +- Sort fonts - numpad Enter does not do K_ENTER - Synthetise fonts - RenderCharacterSys