Dragging folder to a field under linux adds "file://" before thefolder

Matthias Rebbe matthias_livecode_150811 at m-r-d.de
Wed Sep 28 14:00:22 EDT 2011


Oliver,

I do not drag multiple folders simultaneously, but one folder which contains subfolders.

I use the following field scripts

ON dragEnter
   IF there is a folder the dragdata["files"]  THEN set the dragaction to copy 
END dragEnter
 ## The DragEnter checks if a folder is dragged. No folder no dragaction.

##dragDrop then removes the file:// from the path
ON dragDrop
   IF the platform="Linux" THEN replace "file://" WITH "" in fld 1 of me
END dragDrop

 
If you need a list of that subfolders or the files in the subfolder you can use the following script from David Vaughan. I found it in the ScripterScrapbook.

FUNCTION walkDir dirPath
    put empty into tList
    set defaultfolder to dirPath
    put the files into fList
   
    REPEAT FOR each line fLine in fList
        IF char 1 of fLine <> "." THEN
            put fLine into fData -- & comma & last item of fLine into fData
            put dirPath & "/" & fData & return after tList
        END IF
    END REPEAT
    get the folders
    REPEAT FOR each line x in it
        IF char 1 of x <> "." THEN
            put walkDir(dirPath & "/" & x) after tList
        END IF
    END REPEAT
    return  tList
END walkDir

HTH,

Matthias


Am 28.09.2011 um 18:51 schrieb Olivier Dussutour:

> Hello,
> I am interested in your script, but how can you drag multiple folders simultaneously.
> If you could help me, thank you in advance
> 
> Cordialement,
> Olivier Dussutour
> olivierdussutour at gmail.com
> ----- Original Message ----- From: "Matthias Rebbe" <matthias_livecode_150811 at m-r-d.de>
> To: "How to use LiveCode" <use-livecode at lists.runrev.com>
> Sent: Sunday, September 25, 2011 2:34 AM
> Subject: Dragging folder to a field under linux adds "file://" before thefolder
> 
> 
>> Hi,
>> 
>> i want to drag a folder into a field to get the path displayed.  I am using the following code in the field script:
>> 
>> ON dragEnter
>>       IF there is a folder the dragdata["files"]
>>   THEN
>>       set the dragaction to copy
>>   END IF
>> END dragEnter
>> 
>> ON dragDrop
>>      set the text of me to the dragdata["files"]
>> END dragDrop
>> 
>> 
>> This works fine under Win and Mac OS x. The path is displayed correctly. Under Linux there is "file://" added before the path.
>> 
>> For example the path /home/matthias/desktop becomes file:///home/matthias/desktop
>> 
>> If i do not use any script in the field, the path is displayed correctly without the leading "file://".
>> But I need to use a field script, because my original script is doing some adjustments to the path (replace backslash with slash under windows). Is this Linux specific? Or am i doing something wrong?  I know i can solve this with
>> "replace "file://" with "" in field ...." , but i would like to know and understand why "file://" is added to the path.
>> 
>> Regards,
>> 
>> Matthias
>> 
>> 
>> 
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode 
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode





More information about the use-livecode mailing list