diff options
Diffstat (limited to 'gtk')
| -rw-r--r-- | gtk/ScintillaGTK.cxx | 27 | 
1 files changed, 14 insertions, 13 deletions
| diff --git a/gtk/ScintillaGTK.cxx b/gtk/ScintillaGTK.cxx index a873f1ada..07794b208 100644 --- a/gtk/ScintillaGTK.cxx +++ b/gtk/ScintillaGTK.cxx @@ -310,12 +310,18 @@ GdkAtom ScintillaGTK::atomString = 0;  GdkAtom ScintillaGTK::atomUriList = 0;  GdkAtom ScintillaGTK::atomDROPFILES_DND = 0; -static const GtkTargetEntry clipboardTargets[] = { +static const GtkTargetEntry clipboardCopyTargets[] = { +	{ "UTF8_STRING", 0, TARGET_UTF8_STRING }, +	{ "STRING", 0, TARGET_STRING }, +}; +static const gint nClipboardCopyTargets = sizeof(clipboardCopyTargets) / sizeof(clipboardCopyTargets[0]); + +static const GtkTargetEntry clipboardPasteTargets[] = {  	{ "text/uri-list", 0, TARGET_URI },  	{ "UTF8_STRING", 0, TARGET_UTF8_STRING },  	{ "STRING", 0, TARGET_STRING },  }; -static const gint nClipboardTargets = sizeof(clipboardTargets) / sizeof(clipboardTargets[0]); +static const gint nClipboardPasteTargets = sizeof(clipboardPasteTargets) / sizeof(clipboardPasteTargets[0]);  static GtkWidget *PWidget(Window &w) {  	return reinterpret_cast<GtkWidget *>(w.GetID()); @@ -763,15 +769,15 @@ void ScintillaGTK::Initialise() {  	gtk_widget_grab_focus(PWidget(wMain));  	gtk_selection_add_targets(GTK_WIDGET(PWidget(wMain)), GDK_SELECTION_PRIMARY, -	                          clipboardTargets, nClipboardTargets); +	                          clipboardPasteTargets, nClipboardPasteTargets);  #ifndef USE_GTK_CLIPBOARD  	gtk_selection_add_targets(GTK_WIDGET(PWidget(wMain)), atomClipboard, -	                          clipboardTargets, nClipboardTargets); +	                          clipboardPasteTargets, nClipboardPasteTargets);  #endif  	gtk_drag_dest_set(GTK_WIDGET(PWidget(wMain)), -	                  GTK_DEST_DEFAULT_ALL, clipboardTargets, nClipboardTargets, +	                  GTK_DEST_DEFAULT_ALL, clipboardPasteTargets, nClipboardPasteTargets,  	                  static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE));  	SetTicking(true); @@ -801,12 +807,7 @@ bool ScintillaGTK::DragThreshold(Point ptStart, Point ptNow) {  void ScintillaGTK::StartDrag() {  	dragWasDropped = false;  	inDragDrop = ddDragging; -	static const GtkTargetEntry targets[] = { -	    { "UTF8_STRING", 0, TARGET_UTF8_STRING }, -	    { "STRING", 0, TARGET_STRING }, -	}; -	static const gint n_targets = sizeof(targets) / sizeof(targets[0]); -	GtkTargetList *tl = gtk_target_list_new(targets, n_targets); +	GtkTargetList *tl = gtk_target_list_new(clipboardCopyTargets, nClipboardCopyTargets);  	gtk_drag_begin(GTK_WIDGET(PWidget(wMain)),  	               tl,  	               static_cast<GdkDragAction>(GDK_ACTION_COPY | GDK_ACTION_MOVE), @@ -1276,7 +1277,7 @@ void ScintillaGTK::CopyToClipboard(const SelectionText &selectedText) {  	SelectionText *clipText = new SelectionText();  	clipText->Copy(selectedText); -	gtk_clipboard_set_with_data(clipBoard, clipboardTargets, nClipboardTargets, +	gtk_clipboard_set_with_data(clipBoard, clipboardCopyTargets, nClipboardCopyTargets,  				    ClipboardGetSelection, ClipboardClearSelection, clipText);  #endif @@ -1298,7 +1299,7 @@ void ScintillaGTK::Copy() {  		SelectionText *clipText = new SelectionText();  		CopySelectionRange(clipText); -		gtk_clipboard_set_with_data(clipBoard, clipboardTargets, nClipboardTargets, +		gtk_clipboard_set_with_data(clipBoard, clipboardCopyTargets, nClipboardCopyTargets,  					    ClipboardGetSelection, ClipboardClearSelection, clipText);  #endif | 
