1

In app designer I have two buttons one to declare the working folder:

function setSaveLocationButtonPushed(app, event)
     app.path = uigetdir()             
end

The other one to save an image

function saveButtonPushed(app, event)
       pathSave = app.path;  
       [file, pathSave] = uiputfile([pathSave,'*.jpg']);
…
            
        end

Why do I get in the save as type also the app.path? (as shown in image)

matl

jane
  • 567
  • 2
  • 12

1 Answers1

2

Your code [pathSave,'*.jpg'] concatenates the path and the filter and then passes the result as the only argument to the uiputfile function. This argument tells the function what file filter to use.

Instead of storing the chosen directory, make it change the current directory. The file selection UI always opens in the current directory.

function setSaveLocationButtonPushed(app, event)
   p = uigetdir;
   cd(p)         
end

function saveButtonPushed(app, event)  
   [file, pathSave] = uiputfile('*.jpg');
   …       
end

If you don’t want to change the current directory for the whole application, you can change it just before calling the uiputfile function, and change it back afterward:

function saveButtonPushed(app, event)
   p = cd(app.path);
   [file, pathSave] = uiputfile('*.jpg');
   cd(p);
   …       
end
Cris Luengo
  • 55,762
  • 10
  • 62
  • 120