API Documentation
Loading...
Searching...
No Matches
ProjectFileManager Class Reference

Manages writing to the NDV file and any folder operations for projects. Also responsible for creating auto-save backup files at given intervals. More...

#include <ProjectFileManager.h>

Inheritance diagram for ProjectFileManager:
[legend]
Collaboration diagram for ProjectFileManager:
[legend]

Public Types

enum  PathChangeMode { e_move , e_copy , e_new }
 

Signals

void exportPathAboutToChangeSignal (const File &new_path, PathChangeMode mode)
 
void exportPathChangedSignal (const File &path)
 
void imagePathAboutToChangeSignal (const File &new_path, PathChangeMode mode)
 
void imagePathChangedSignal (const File &path)
 
void logPathAboutToChangeSignal (const File &new_path, PathChangeMode mode)
 
void logPathChangedSignal (const File &path)
 
void projectSavedSignal ()
 
void videoPathAboutToChangeSignal (const File &new_path, PathChangeMode mode)
 
void videoPathChangedSignal (const File &path)
 

Public Member Functions

virtual File activeBackupFile () const
 
virtual File activeLogFolder () const
 
virtual File activeScreenshotFolder () const
 
virtual File activeVideoFolder () const
 
ThreadautoSaveThread ()
 
void clearAll ()
 
void clearBackupInformation ()
 
virtual bool copyProject (const SaveOptions &options)
 
virtual File defaultBrowseDirectory (bool is_project) const
 
virtual INIFactory getINI ()
 
Time lastSaveTime () const
 
virtual bool moveProject (const SaveOptions &options)
 
File previousBackupFile () const
 
virtual File projectDirectory () const
 
virtual File projectFile () const
 
 ProjectFileManager (QTModelManager *manager)
 
virtual String projectName () const
 
virtual File projectParentDirectory () const
 
void readINIOptions ()
 
void saveINIOptions ()
 
virtual bool saveProject (const SaveOptions &options=SaveOptions())
 
void update (Time current_time)
 
virtual void updateActiveProjectFolder (PathChangeMode mode, Log *log=nullptr)
 
void updateLastBackupTime ()
 
virtual void userDiscardProject (QTModelManager *manager, bool is_blocking)
 
virtual bool userSaveProject (const SaveOptions &options=SaveOptions())
 
 ~ProjectFileManager ()
 

Protected Attributes

BasicThreadm_auto_save_thread
 
bool m_is_last_save_backup
 
Time m_last_backup_time
 
Time m_last_project_file_check_time
 
File m_last_save_file
 
Time m_last_save_time
 
QTModelManagerm_manager
 
String m_project_name
 
File m_project_parent_directory
 
String m_runtime_log_folder
 

Detailed Description

Manages writing to the NDV file and any folder operations for projects. Also responsible for creating auto-save backup files at given intervals.


Member Enumeration Documentation

◆ PathChangeMode

Enumerator
e_move 
e_copy 
e_new 

Constructor & Destructor Documentation

◆ ProjectFileManager()

◆ ~ProjectFileManager()

Member Function Documentation

◆ activeBackupFile()

virtual File activeBackupFile ( ) const
virtual

◆ activeLogFolder()

virtual File activeLogFolder ( ) const
virtual

◆ activeScreenshotFolder()

virtual File activeScreenshotFolder ( ) const
virtual

◆ activeVideoFolder()

virtual File activeVideoFolder ( ) const
virtual

◆ autoSaveThread()

Thread * autoSaveThread ( )

◆ clearAll()

void clearAll ( )

◆ clearBackupInformation()

void clearBackupInformation ( )

◆ copyProject()

virtual bool copyProject ( const SaveOptions & options)
virtual

◆ defaultBrowseDirectory()

virtual File defaultBrowseDirectory ( bool is_project) const
virtual

◆ exportPathAboutToChangeSignal

void exportPathAboutToChangeSignal ( const File & new_path,
PathChangeMode mode )
signal

◆ exportPathChangedSignal

void exportPathChangedSignal ( const File & path)
signal

◆ getINI()

virtual INIFactory getINI ( )
virtual

◆ imagePathAboutToChangeSignal

void imagePathAboutToChangeSignal ( const File & new_path,
PathChangeMode mode )
signal

◆ imagePathChangedSignal

void imagePathChangedSignal ( const File & path)
signal

◆ lastSaveTime()

Time lastSaveTime ( ) const
inline

◆ logPathAboutToChangeSignal

void logPathAboutToChangeSignal ( const File & new_path,
PathChangeMode mode )
signal

◆ logPathChangedSignal

void logPathChangedSignal ( const File & path)
signal

◆ moveProject()

virtual bool moveProject ( const SaveOptions & options)
virtual

◆ previousBackupFile()

File previousBackupFile ( ) const

◆ projectDirectory()

virtual File projectDirectory ( ) const
virtual

◆ projectFile()

virtual File projectFile ( ) const
virtual

◆ projectName()

virtual String projectName ( ) const
virtual

◆ projectParentDirectory()

virtual File projectParentDirectory ( ) const
virtual

◆ projectSavedSignal

void projectSavedSignal ( )
signal

◆ readINIOptions()

void readINIOptions ( )

◆ saveINIOptions()

void saveINIOptions ( )

◆ saveProject()

virtual bool saveProject ( const SaveOptions & options = SaveOptions())
virtual

◆ update()

void update ( Time current_time)

◆ updateActiveProjectFolder()

virtual void updateActiveProjectFolder ( PathChangeMode mode,
Log * log = nullptr )
virtual

◆ updateLastBackupTime()

void updateLastBackupTime ( )

◆ userDiscardProject()

virtual void userDiscardProject ( QTModelManager * manager,
bool is_blocking )
virtual

◆ userSaveProject()

virtual bool userSaveProject ( const SaveOptions & options = SaveOptions())
virtual

◆ videoPathAboutToChangeSignal

void videoPathAboutToChangeSignal ( const File & new_path,
PathChangeMode mode )
signal

◆ videoPathChangedSignal

void videoPathChangedSignal ( const File & path)
signal

Member Data Documentation

◆ m_auto_save_thread

BasicThread* m_auto_save_thread
protected

◆ m_is_last_save_backup

bool m_is_last_save_backup
protected

◆ m_last_backup_time

Time m_last_backup_time
protected

◆ m_last_project_file_check_time

Time m_last_project_file_check_time
protected

◆ m_last_save_file

File m_last_save_file
protected

◆ m_last_save_time

Time m_last_save_time
protected

◆ m_manager

QTModelManager* m_manager
protected

◆ m_project_name

String m_project_name
protected

◆ m_project_parent_directory

File m_project_parent_directory
protected

◆ m_runtime_log_folder

String m_runtime_log_folder
protected

The documentation for this class was generated from the following file: