Browse Source

Introjucer: added a progress bar when saving.

tags/2021-05-28
jules 13 years ago
parent
commit
7748376960
4 changed files with 35 additions and 3 deletions
  1. +1
    -1
      extras/Introjucer/Source/Application/jucer_CommandLine.cpp
  2. +27
    -1
      extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h
  3. +6
    -1
      extras/Introjucer/Source/Project/jucer_Project.cpp
  4. +1
    -0
      extras/Introjucer/Source/Project/jucer_Project.h

+ 1
- 1
extras/Introjucer/Source/Application/jucer_CommandLine.cpp View File

@@ -83,7 +83,7 @@ namespace
<< projectFile.getFullPathName() << std::endl; << projectFile.getFullPathName() << std::endl;
String error (justSaveResources ? proj.saveResourcesOnly (projectFile) String error (justSaveResources ? proj.saveResourcesOnly (projectFile)
: proj.saveDocument (projectFile));
: proj.saveProject (projectFile, false));
if (error.isNotEmpty()) if (error.isNotEmpty())
{ {


+ 27
- 1
extras/Introjucer/Source/Project Saving/jucer_ProjectSaver.h View File

@@ -46,8 +46,34 @@ public:
Project& getProject() noexcept { return project; } Project& getProject() noexcept { return project; }
String save()
struct SaveThread : public ThreadWithProgressWindow
{ {
public:
SaveThread (ProjectSaver& saver_)
: ThreadWithProgressWindow ("Saving...", true, false), saver (saver_)
{}
void run()
{
setProgress (-1);
result = saver.save (false);
}
ProjectSaver& saver;
String result;
JUCE_DECLARE_NON_COPYABLE (SaveThread);
};
String save (bool showProgressBox)
{
if (showProgressBox)
{
SaveThread thread (*this);
thread.runThread();
return thread.result;
}
if (generatedCodeFolder.exists()) if (generatedCodeFolder.exists())
deleteNonHiddenFilesIn (generatedCodeFolder); deleteNonHiddenFilesIn (generatedCodeFolder);


+ 6
- 1
extras/Introjucer/Source/Project/jucer_Project.cpp View File

@@ -235,6 +235,11 @@ const String Project::loadDocument (const File& file)
} }
const String Project::saveDocument (const File& file) const String Project::saveDocument (const File& file)
{
return saveProject (file, true);
}
String Project::saveProject (const File& file, bool showProgressBox)
{ {
updateProjectSettings(); updateProjectSettings();
sanitiseConfigFlags(); sanitiseConfigFlags();
@@ -242,7 +247,7 @@ const String Project::saveDocument (const File& file)
StoredSettings::getInstance()->recentFiles.addFile (file); StoredSettings::getInstance()->recentFiles.addFile (file);
ProjectSaver saver (*this, file); ProjectSaver saver (*this, file);
return saver.save();
return saver.save (showProgressBox);
} }
String Project::saveResourcesOnly (const File& file) String Project::saveResourcesOnly (const File& file)


+ 1
- 0
extras/Introjucer/Source/Project/jucer_Project.h View File

@@ -46,6 +46,7 @@ public:
const String getDocumentTitle(); const String getDocumentTitle();
const String loadDocument (const File& file); const String loadDocument (const File& file);
const String saveDocument (const File& file); const String saveDocument (const File& file);
String saveProject (const File& file, bool showProgressBox);
String saveResourcesOnly (const File& file); String saveResourcesOnly (const File& file);
const File getLastDocumentOpened(); const File getLastDocumentOpened();
void setLastDocumentOpened (const File& file); void setLastDocumentOpened (const File& file);


Loading…
Cancel
Save