GdkAtom g_clipboardAtom = 0;
GdkAtom g_targetsAtom = 0;
-#if defined(__WXGTK20__) && wxUSE_UNICODE
-extern GdkAtom g_altTextAtom;
-#endif
-
// the trace mask we use with wxLogTrace() - call
// wxLog::AddTraceMask(TRACE_CLIPBOARD) to enable the trace messages from here
// (there will be a *lot* of them!)
wxT("selection received for targets, format %s"),
format.GetId().c_str() );
-// printf( "format %s requested %s\n",
+// printf( "format %s requested %s\n",
// gdk_atom_name( atoms[i] ),
// gdk_atom_name( clipboard->m_targetRequested ) );
wxString::FromAscii(gdk_atom_name(selection_data->selection)).c_str()
);
#endif
-
+
if (!data->IsSupportedFormat( format )) return;
int size = data->GetDataSize( format );
// Text data will be in UTF8 in Unicode mode.
data->GetDataHere( selection_data->target, d );
-#ifdef __WXGTK20__
- // NB: GTK+ requires special treatment of UTF8_STRING data, the text
- // would show as UTF-8 data interpreted as latin1 (?) in other
- // GTK+ apps if we used gtk_selection_data_set()
- if (format == wxDataFormat(wxDF_UNICODETEXT))
- {
- gtk_selection_data_set_text(
- selection_data,
- (const gchar*)d,
- size-1 );
- }
- else
-#endif
- {
- gtk_selection_data_set(
+ gtk_selection_data_set(
selection_data,
GDK_SELECTION_TYPE_STRING,
- 8*sizeof(gchar),
+ 8 * sizeof(gchar),
(unsigned char*) d,
size-1 );
- }
free(d);
}
wxT("wxClipboard now supports atom %s"),
array[i].GetId().c_str() );
-// printf( "added %s\n",
+// printf( "added %s\n",
// gdk_atom_name( array[i].GetFormatId() ) );
-
+
gtk_selection_add_target( GTK_WIDGET(m_clipboardWidget),
clipboard,
array[i],
while (m_waiting) gtk_main_iteration();
-#if defined(__WXGTK20__) && wxUSE_UNICODE
- if (!m_formatSupported && format == wxDataFormat(wxDF_UNICODETEXT))
- {
- // Another try with plain STRING format
- extern GdkAtom g_altTextAtom;
- return IsSupported(g_altTextAtom);
- }
-#endif
-
return m_formatSupported;
}