2007/12/14, Draek <[EMAIL PROTECTED]>:
> I'm trying to do some drag and drop from nautilus, but for some reason I
> get 2 text/uri-list entries in seperate events when dropping ONE file.
>
Do you have the code or a sample available somewhere? How does the
attached program work for you?
Eskil
using System;
using System.Text;
using Gtk;
public class Test
{
enum TargetType {
Text,
Uri
};
static Gtk.TargetEntry[] targetEntries = {
new TargetEntry ("string", 0, (uint)TargetType.Text),
new TargetEntry ("text/plain", 0, (uint)TargetType.Text),
new TargetEntry ("text/uri-list", 0, (uint)TargetType.Uri)
};
public static void Main()
{
Application.Init();
Window window = new Window("Test");
window.DeleteEvent += OnDeleteEvent;
window.Show();
Drag.DestSet(window, DestDefaults.All, targetEntries, Gdk.DragAction.Copy);
window.DragDataReceived += OnDragDataReceived;
Application.Run();
}
static void OnDragDataReceived (object o, DragDataReceivedArgs args)
{
Console.WriteLine("OnDragDataReceived: {0}", (TargetType)args.Info);
switch ((TargetType)args.Info)
{
case TargetType.Text:
Console.WriteLine(Encoding.UTF8.GetString(args.SelectionData.Data).Trim());
break;
case TargetType.Uri:
foreach (string uri in Encoding.UTF8.GetString(args.SelectionData.Data).Trim().Split('\n'))
Console.WriteLine("Uri: {0}", Uri.UnescapeDataString(uri));
break;
}
Console.WriteLine();
}
static void OnDeleteEvent (object o, DeleteEventArgs args)
{
Application.Quit ();
}
}
_______________________________________________
Gtk-sharp-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/gtk-sharp-list