* Constructor.
*/
-
-#ifdef VMTOOLS_USE_LEGACY_GTK
CopyPasteDnDX11::CopyPasteDnDX11() :
+#ifdef VMTOOLS_USE_LEGACY_GTK
m_main(NULL),
+#endif
m_copyPasteUI(NULL),
m_dndUI(NULL)
{
}
-#endif
/**
ASSERT(ctx);
+
#ifdef VMTOOLS_USE_LEGACY_GTK
int argc = 1;
const char *argv[] = {"", NULL};
CopyPaste_Unregister(gUserMainWidget);
if (gUserMainWidget) {
-
-
#ifdef VMTOOLS_USE_LEGACY_GTK
gtk_widget_destroy(gUserMainWidget);
#endif
TRACE_CALL();
CopyPasteDnDWrapper *wrapper = CopyPasteDnDWrapper::GetInstance();
+
+
if (!wrapper->IsDnDEnabled()) {
return FALSE;
}
void
CopyPasteDnDX11::SetDnDAllowed(bool allowed)
{
-#ifdef VMTOOLS_USE_LEGACY_GTK
ASSERT(m_dndUI);
TRACE_CALL();
m_dndUI->SetDnDAllowed(allowed);
-#endif
}
void SetCopyPasteAllowed(bool allowed);
private:
CopyPasteUIX11 *m_copyPasteUI;
-
+ DnDUIX11 *m_dndUI;
#ifdef VMTOOLS_USE_LEGACY_GTK
Gtk::Main *m_main;
#endif
-
- DnDUIX11 *m_dndUI;
};
#endif // __COPYPASTEDNDX11_H__
#ifndef __DND_UI_X11_H__
#define __DND_UI_X11_H__
-#define VMTOOLS_USE_LEGACY_GTK
-
-
#include "stringxx/string.hh"
#include "dnd.h"
#include "str.h"
/*
* Gtk+ Callbacks: Drag Destination.
*/
-#ifdef VMTOOLS_USE_LEGACY_GTK
void OnGtkDragDataReceived(const Glib::RefPtr<Gdk::DragContext> &dc,
int x, int y, const Gtk::SelectionData &sd,
guint info, guint time);
*/
void SourceDragStartDone();
void SourceUpdateFeedback(DND_DROPEFFECT effect);
-#endif /* end VMTOOLS_USE_LEGACY_GTK */
+
/*
* Target function for GH DnD. Makes call to common layer.
*/
};
#endif // GUEST_DND_HH
-
#define G_LOG_DOMAIN "dndcp"
-#define VMTOOLS_USE_LEGACY_GTK
-
-
-#ifdef VMTOOLS_USE_LEGACY_GTK
-/* TODO: support xutils with GTK4 */
#include "xutils/xutils.hh"
-#endif
#include "dndUIX11.h"
#include "guestDnDCPMgr.hh"
extern "C" {
#include <X11/extensions/XTest.h> /* for XTest*() */
#include <gtk/gtk.h>
-#ifdef VMTOOLS_USE_LEGACY_GTK
#include <gdk/gdkx.h>
-#endif
-
#include <X11/Xatom.h>
#include "vmware/guestrpc/tclodefs.h"
{
TRACE_CALL();
-#ifdef VMTOOLS_USE_LEGACY_GTK
xutils::Init();
xutils::workAreaChanged.connect(sigc::mem_fun(this, &DnDUIX11::OnWorkAreaChanged));
-#endif
/*
* XXX Hard coded use of default screen means this doesn't work in dual-
{
TRACE_CALL();
-#ifdef VMTOOLS_USE_LEGACY_GTK
std::vector<unsigned long> values;
if (xutils::GetCardinalList(screen->get_root_window(), "_NET_WORKAREA", values)
&& values.size() > 0
mOrigin.set_x(0);
mOrigin.set_y(0);
}
-#endif
g_debug("%s: new origin at (%d, %d)\n", __FUNCTION__, mOrigin.get_x(),
mOrigin.get_y());