diff --git a/uppsrc/CtrlCore/CtrlKbd.cpp b/uppsrc/CtrlCore/CtrlKbd.cpp index faa93a307..d5a2eec25 100644 --- a/uppsrc/CtrlCore/CtrlKbd.cpp +++ b/uppsrc/CtrlCore/CtrlKbd.cpp @@ -2,7 +2,7 @@ NAMESPACE_UPP -#define LLOG(x) //LOG(x) +#define LLOG(x) // LOG(x) Ptr Ctrl::focusCtrl; Ptr Ctrl::focusCtrlWnd; diff --git a/uppsrc/CtrlCore/Win32DnD.cpp b/uppsrc/CtrlCore/Win32DnD.cpp index d60515f62..3aa23fd30 100644 --- a/uppsrc/CtrlCore/Win32DnD.cpp +++ b/uppsrc/CtrlCore/Win32DnD.cpp @@ -108,6 +108,7 @@ String UDropTarget::Get(const char *fmt) const void UDropTarget::DnD(POINTL pl, bool drop, DWORD *effect, DWORD keys) { + LLOG("DnD effect: " << *effect); dword e = *effect; *effect = DROPEFFECT_NONE; if(!ctrl) @@ -119,20 +120,24 @@ void UDropTarget::DnD(POINTL pl, bool drop, DWORD *effect, DWORD keys) d.allowed = 0; d.action = 0; if(e & DROPEFFECT_COPY) { + LLOG("DnD DROPEFFECT_COPY"); d.allowed = DND_COPY; d.action = DND_COPY; } if(e & DROPEFFECT_MOVE) { + LLOG("DnD DROPEFFECT_MOVE"); d.allowed |= DND_MOVE; if(Ctrl::GetDragAndDropSource()) d.action = DND_MOVE; } + LLOG("DnD keys & MK_CONTROL:" << (keys & MK_CONTROL)); if((keys & MK_CONTROL) && (d.allowed & DND_COPY)) d.action = DND_COPY; if((keys & (MK_ALT|MK_SHIFT)) && (d.allowed & DND_MOVE)) d.action = DND_MOVE; ctrl->DnD(Point(pl.x, pl.y), d); if(d.IsAccepted()) { + LLOG("DnD accepted, action: " << (int)d.action); if(d.action == DND_MOVE) *effect = DROPEFFECT_MOVE; if(d.action == DND_COPY) @@ -446,12 +451,15 @@ STDMETHODIMP UDropSource::QueryContinueDrag(BOOL fEscapePressed, DWORD grfKeySta STDMETHODIMP UDropSource::GiveFeedback(DWORD dwEffect) { + LLOG("GiveFeedback"); Image m = IsNull(move) ? copy : move; if((dwEffect & DROPEFFECT_COPY) == DROPEFFECT_COPY) { + LLOG("GiveFeedback COPY"); if(!IsNull(copy)) m = copy; } else if((dwEffect & DROPEFFECT_MOVE) == DROPEFFECT_MOVE) { + LLOG("GiveFeedback MOVE"); if(!IsNull(move)) m = move; } else diff --git a/uppsrc/DocTypes/QtfParser.cpp b/uppsrc/DocTypes/QtfParser.cpp index e97920b16..a2a0346dc 100644 --- a/uppsrc/DocTypes/QtfParser.cpp +++ b/uppsrc/DocTypes/QtfParser.cpp @@ -84,8 +84,13 @@ void QtfParser::Picture(int type) { name.Cat(*term++); if(type == 0) { #ifdef PLATFORM_WIN32 +#ifdef SYSTEMDRAW + Drawing iw = LoadWMF(GetExeDirFile(name)); + if(!iw) iw = LoadWMF(name); +#else Drawing iw = Drawing::LoadWMF(GetExeDirFile(name)); if(!iw) iw = Drawing::LoadWMF(name); +#endif if(iw) Par().Cat(PaintRect(DrawingDisplay(), iw), cx, cy, state.value); #endif } diff --git a/uppsrc/DocTypes/RtfDocOut.cpp b/uppsrc/DocTypes/RtfDocOut.cpp index aabd2b2fb..75b73bd1b 100644 --- a/uppsrc/DocTypes/RtfDocOut.cpp +++ b/uppsrc/DocTypes/RtfDocOut.cpp @@ -38,13 +38,17 @@ Draw& ScreenInfo(); void RtfDocOut::PutPicture(const Drawing& iw, Size sz) { #ifdef PLATFORM_WIN32 +#if SYSTEMDRAW + WinMetaFile wmf = AsWMF(iw); +#else WinMetaFile wmf = iw.AsWMF(); +#endif HENHMETAFILE hemf = wmf.GetHEMF(); if(!hemf) return; - dword size = GetWinMetaFileBits(hemf, 0, NULL, MM_ANISOTROPIC, ScreenInfo()); + dword size = GetWinMetaFileBits(hemf, 0, NULL, MM_ANISOTROPIC, ScreenHDC()); if(size <= 0) return; StringBuffer b(size); - GetWinMetaFileBits(hemf, size, (byte *) ~b, MM_ANISOTROPIC, ScreenInfo()); + GetWinMetaFileBits(hemf, size, (byte *) ~b, MM_ANISOTROPIC, ScreenHDC()); String data = b; rtf.Cat(Format("\r\n{\\pict\\wmetafile8\\picw%d\\pich%d\\picwgoal%d\\pichgoal%d \r\n", 254 * sz.cx / 60, 254 * sz.cy / 60, Dow(sz.cx), Dow(sz.cy))); diff --git a/uppsrc/TCtrlLib/CtrlArray.cpp b/uppsrc/TCtrlLib/CtrlArray.cpp index c6263301a..54c8d9b1b 100644 --- a/uppsrc/TCtrlLib/CtrlArray.cpp +++ b/uppsrc/TCtrlLib/CtrlArray.cpp @@ -20,7 +20,7 @@ CtrlArray::Item::~Item() void CtrlArray::Item::Paint(Draw& draw) { - draw.DrawRect(draw.GetClip(), IsCursor() ? SWhiteGray : SColorFace()); + draw.DrawRect(GetSize(), IsCursor() ? SWhiteGray : SColorFace()); } void CtrlArray::Item::LeftDown(Point pt, dword keyflags) @@ -179,7 +179,7 @@ void CtrlArray::Layout() void CtrlArray::Paint(Draw& draw) { - draw.DrawRect(draw.GetClip(), SGray); + draw.DrawRect(GetSize(), SGray); } void CtrlArray::RightDown(Point pt, dword keyflags) diff --git a/uppsrc/TCtrlLib/DocMgr.cpp b/uppsrc/TCtrlLib/DocMgr.cpp index 007ccbd39..9adb9c2a2 100644 --- a/uppsrc/TCtrlLib/DocMgr.cpp +++ b/uppsrc/TCtrlLib/DocMgr.cpp @@ -1196,7 +1196,7 @@ bool DocCtrl::FlushDirty() void DocCtrl::Paint(Draw& draw) { - draw.DrawRect(draw.GetClip(), doc_type -> paper); + draw.DrawRect(GetSize(), doc_type -> paper); } void DocCtrl::ToolFileSave(Bar& bar) diff --git a/uppsrc/TCtrlLib/Help/DlgFormula.cpp b/uppsrc/TCtrlLib/Help/DlgFormula.cpp index 5692c6ef4..716e2d9f6 100644 --- a/uppsrc/TCtrlLib/Help/DlgFormula.cpp +++ b/uppsrc/TCtrlLib/Help/DlgFormula.cpp @@ -54,7 +54,7 @@ FormulaCtrl::FormulaCtrl() void FormulaCtrl::Paint(Draw& draw) { RefCon form = ParseFormula(text, font, color); - draw.DrawRect(draw.GetClip(), SWhite); + draw.DrawRect(GetSize(), SWhite); if(!!form) { form = new FormulaBox(form, LtBlue, FormulaBox::THICK); Size client = GetSize(); diff --git a/uppsrc/TCtrlLib/Help/DlgShot.cpp b/uppsrc/TCtrlLib/Help/DlgShot.cpp index 80e98505f..72565f08c 100644 --- a/uppsrc/TCtrlLib/Help/DlgShot.cpp +++ b/uppsrc/TCtrlLib/Help/DlgShot.cpp @@ -97,7 +97,7 @@ void ImageBrowseCtrl::Layout() void ImageBrowseCtrl::Paint(Draw& draw) { - draw.DrawRect(draw.GetClip(), Color(224, 255, 255)); + draw.DrawRect(GetSize(), Color(224, 255, 255)); Size org_size = image.GetSize(); Size out_size = GetZoomSize(); if(org_size.cx <= 0 || org_size.cy <= 0 diff --git a/uppsrc/TCtrlLib/OldTreeCtrl.cpp b/uppsrc/TCtrlLib/OldTreeCtrl.cpp index 660cce11e..d65f85139 100644 --- a/uppsrc/TCtrlLib/OldTreeCtrl.cpp +++ b/uppsrc/TCtrlLib/OldTreeCtrl.cpp @@ -635,7 +635,7 @@ void OldTreeItem::LayoutItem() void OldTreeItem::PaintItem(Draw& draw, Point pos) const { - Rect clip = draw.GetClip(); + Rect clip(0, 0, 9999, 9999); Rect rc = Rect(pos.x - BUTTON_HALF, pos.y, clip.right, pos.y + tree_size.cy) & clip; if(rc.IsEmpty()) return; @@ -1178,7 +1178,7 @@ void OldTreeCtrl::Paint(Draw& draw) Rect rc_butt = rc; rc_butt.left += BUTTON_HALF + 1 + ICONGAP; Color bg = (IsShowEnabled() ? SWhite : SLtGray); - DrawRectMinusRect(draw, draw.GetClip(), rc_butt, DBG_PAINT(bg, LtGreen)); + DrawRectMinusRect(draw, GetSize(), rc_butt, DBG_PAINT(bg, LtGreen)); PaintItem(draw, rc.TopLeft()); } diff --git a/uppsrc/TCtrlLib/Ruler.cpp b/uppsrc/TCtrlLib/Ruler.cpp index ee463dc48..5ac0732a1 100644 --- a/uppsrc/TCtrlLib/Ruler.cpp +++ b/uppsrc/TCtrlLib/Ruler.cpp @@ -177,7 +177,7 @@ void RulerCtrl::Paint(Draw& draw) Size client = GetSize(); int csize = is_vert ? client.cy : client.cx; int cheight = is_vert ? client.cx : client.cy; - Rect clip = draw.GetClip(); + Rect clip = GetSize(); int cy = font.Info().GetHeight(); double pos1 = FromClient(0); double pos2 = FromClient(csize); diff --git a/uppsrc/ide/UppWspc.cpp b/uppsrc/ide/UppWspc.cpp index e8eb1a8d1..1b8fff8c9 100644 --- a/uppsrc/ide/UppWspc.cpp +++ b/uppsrc/ide/UppWspc.cpp @@ -200,9 +200,10 @@ void WorkspaceWork::TouchFile(const String& path) if(!showtime) return; Time tm = GetSysTime(); + String n = GetFileName(path); for(int i = 0; i < filelist.GetCount(); i++) { FileList::File f = filelist[i]; - if(path == SourcePath(GetActivePackage(), f.name)) + if(f.name == n && path == SourcePath(GetActivePackage(), f.name)) filelist.Set(i, f.name, f.icon, f.font, f.ink, false, 0, Null, SColorMark, Null, Null, Null, SColorMark); }