[SOLVED]LoadDialog / SaveDialog prefilled filename
On 25/01/2017 at 08:03, xxxxxxxx wrote:
Is there a way for set the default filename for a loadDialog or a saveDialog ?
By reading hte sdk and doing some test it's look like not but maybe I missunderstand something.
If not it will be a nice feature to have.
Thansk in advance :)
On 26/01/2017 at 06:19, xxxxxxxx wrote:
unfortunately not, currently. This is a current limitation of the Python implementation. I filed a feature request.
On 26/01/2017 at 06:47, xxxxxxxx wrote:
Thanks for the answer.
Moreover is their a working solution in C++? I was not able to find the equivalent c++ class of the storage python module.
On 26/01/2017 at 07:33, xxxxxxxx wrote:
Yes, there is. It's in the Filename class the FileSelect function. You just need to set the different parts of a Filename (SetDirectory() and SetFile()) to get the desired result.
On 01/02/2017 at 00:59, xxxxxxxx wrote:
As a workaround I coded an small application in autoit (windows only but it's not important since mac os FileDialog don't have a filename field).
So basicly my autoit code wait a specific windows. And when it find it it write the argument into the name field.
It's not the proper way but it's working.
Here my autoit code -you can find information about compiling and more here => https://www.autoitscript.com/site/autoit/
AutoItSetOption("SendKeyDelay",0) AutoItSetOption("SendKeyDownDelay",0) ;#Wait 100000s a windows named Texture Manager Replace If WinWait("My unique UI name Replacer", "", 100000) Then ;Send arguments to this windows in EDIT1 field (fieldname) ControlSend("Texture Manager Replace", "", "Edit1", $CmdLineRaw) EndIf
And here my python I used subprocess since c4d.storage.GeExecute don't seem to allow arguments
import subprocess import platform if platform.system() == "Windows": dir, file = os.path.split(__file__) subprocess.Popen([os.path.join(dir, "writter.exe"), "text to fill"]) new_file = c4d.storage.LoadDialog(c4d.FILESELECTTYPE_IMAGES, "My unique UI name Replacer", c4d.FILESELECT_LOAD)