diff options
author | petasisg@gmail.com <petasisg@gmail.com@f3661a36-4baa-549a-d6c7-40e0ffef350e> | 2014-10-07 09:35:39 (GMT) |
---|---|---|
committer | petasisg@gmail.com <petasisg@gmail.com@f3661a36-4baa-549a-d6c7-40e0ffef350e> | 2014-10-07 09:35:39 (GMT) |
commit | fea4387164357c3a7e0645c4c4a2493c91a647c9 (patch) | |
tree | 129d9c05990bdf2463f9caaa7d7f35ae5a33de4c | |
parent | 6689ede984a803f7a01b4d61ea385d997b3e76bb (diff) | |
download | tkdnd-fea4387164357c3a7e0645c4c4a2493c91a647c9.zip tkdnd-fea4387164357c3a7e0645c4c4a2493c91a647c9.tar.gz tkdnd-fea4387164357c3a7e0645c4c4a2493c91a647c9.tar.bz2 |
XDND new type: DND_HTML
-rw-r--r-- | Changelog | 5 | ||||
-rw-r--r-- | library/tkdnd_unix.tcl | 19 |
2 files changed, 21 insertions, 3 deletions
@@ -1,3 +1,8 @@ +2014-10-07 Petasis George <petasis@iit.demokritos.gr> + * library/tkdnd_macosx.tcl: + + * library/tkdnd_unix.tcl: Added support for DND_HTML in XDND. + 2014-09-21 Petasis George <petasis@iit.demokritos.gr> * library/tkdnd_macosx.tcl: * library/tkdnd_unix.tcl: Changed implementation to re-use the diff --git a/library/tkdnd_unix.tcl b/library/tkdnd_unix.tcl index a4e7891..0a1bdf7 100644 --- a/library/tkdnd_unix.tcl +++ b/library/tkdnd_unix.tcl @@ -49,6 +49,8 @@ namespace eval xdnd { TEXT DND_Text \ COMPOUND_TEXT DND_Text \ text/uri-list DND_Files \ + text/html\;charset=utf-8 DND_HTML \ + text/html DND_HTML \ application/x-color DND_Color \ ] };# initialise @@ -178,8 +180,17 @@ proc xdnd::normalise_data { type data } { # Else, it returns a list of 8 or 32 bit numbers... switch -glob $type { STRING - UTF8_STRING - TEXT - COMPOUND_TEXT {return $data} - text/html - - text/plain { + text/html { + if {[catch { + encoding convertfrom unicode $data + } string]} { + set string $data + } + return [string map {\r\n \n} $string] + } + text/html\;charset=utf-8 - + text/plain\;charset=utf-8 - + text/plain { if {[catch { encoding convertfrom utf-8 [tkdnd::bytes_to_string $data] } string]} { @@ -487,7 +498,7 @@ proc xdnd::_HandleXdndFinished {event} { set _dodragdrop_drop_target 0 variable _dragging if {$_dragging} {set _dragging 0} - + variable _dodragdrop_drop_target_accepts_drop variable _dodragdrop_drop_target_accepts_action if {[dict size $event]} { @@ -616,7 +627,9 @@ proc xdnd::_default_action {event} { proc xdnd::getFormatForType {type} { switch -glob [string tolower $type] { text/plain\;charset=utf-8 - + text/html\;charset=utf-8 - utf8_string {set format UTF8_STRING} + text/html - text/plain - string - text - |