On 28 Feb 2012, at 14:41, Graham Samuel wrote:

> Is there any way I can hack into the conventional Save dialog so that it 
> thinks it is being asked to save a file with an extension in spite of my user 
> not typing one?
> 
> I haven't thought of a workaround but maybe it will be obvious to someone on 
> the list.


Hi Graham,

I have just been though a similar issue, but my app allows the user to save a 
GIF, PNG or JPEG file and I wanted to be sure the user added the correct 
extension. I did end up putting a check in place, with a warning dialogue, 
inside a repeat loop. Potentially a user could sit there all night typing the 
wrong extension, but the check also corrects the extension and re-presents the 
save dialogue, so if they continually type a wrong extension over the corrected 
one, they deserve to sit there all night, eventually they will learn!

I know it's a bit clumsy, but not being in a position to compete with the likes 
of Adobe I felt it was better than allowing the user to screw-up and end up 
with an un-useable file, or worse, overwrite a good file with an un-useable 
one. It seems the only alternative was to write a custom save dialogue routine 
to mimic the OS dialogue which could be a nightmare with a cross platform app.

Ken's answer is the most straightforward, but if you are mainly concerned with 
the user inadvertently overwriting a file, and really don't want to have a 
pop-up or re-present the save dialogue, you could check to see if the file 
exists, then just modify the name slightly. Many apps will add a version number 
in this case, so if they type MyOwnFile and your script adds the missing .jpg 
extension, but MyOwnFile.jpg already exists, then you further modify the 
filename to MyOwnFile-1.jpg or MyOwnFile_1.jpg. The file save routine would 
need to be in a checking loop so the next MyOwnFile becomes MyOwnFile-2.jpg 
etc., so it can only exit the loop when it has a unique filename beginning with 
their choice and ending with the correct extension.

Paul
_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to