From ded4b2c0d2ca8ff69408a1e0e4cbedcc4ed152d5 Mon Sep 17 00:00:00 2001 From: cxl Date: Mon, 5 Nov 2012 20:06:01 +0000 Subject: [PATCH] CtrlCore: 'files' support in X11 D&D git-svn-id: svn://ultimatepp.org/upp/trunk@5523 f0d560ea-af0d-0410-9eb7-867de7ffcac7 --- uppsrc/CtrlCore/X11Clip.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/uppsrc/CtrlCore/X11Clip.cpp b/uppsrc/CtrlCore/X11Clip.cpp index b6fc90b55..713a24c99 100644 --- a/uppsrc/CtrlCore/X11Clip.cpp +++ b/uppsrc/CtrlCore/X11Clip.cpp @@ -219,6 +219,8 @@ bool Ctrl::ClipHas(int type, const char *fmt) { GuiLock __; LLOG("ClipHas " << type << ": " << fmt); + if(strcmp(fmt, "files") == 0) + fmt = "text/uri-list"; if(type == 0) return Ctrl::xclipboard().IsAvailable(XAtom(fmt), "CLIPBOARD"); if(type == 2) { @@ -235,6 +237,8 @@ String Ctrl::ClipGet(int type, const char *fmt) { GuiLock __; LLOG("ClipGet " << type << ": " << fmt); + if(strcmp(fmt, "files") == 0) + fmt = "text/uri-list"; if(type && GetDragAndDropSource()) return DnDGetData(fmt); return Ctrl::xclipboard().Read( @@ -356,7 +360,7 @@ int JustLf(int c) Vector GetClipFiles(const String& data) { Vector r; - Vector f = Split(Filter(txt, JustLf), '\n'); + Vector f = Split(Filter(data, JustLf), '\n'); for(int i = 0; i < f.GetCount(); i++) if(f[i].StartsWith("file://")) r.Add(f[i].Mid(7));