mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-26 01:10:36 +05:00
Fix problem that user material database is not watched by resource manager when file is first time created.
This commit is contained in:
parent
4b66576d39
commit
8fab12198b
@ -22,6 +22,7 @@
|
||||
|
||||
#include "Material_ResourceMgr.h"
|
||||
|
||||
#include <QFileInfo>
|
||||
#include <QFileSystemWatcher>
|
||||
#include <QThread>
|
||||
|
||||
@ -175,7 +176,10 @@ void Material_ResourceMgr::watchUserFile( bool on )
|
||||
if ( on ) {
|
||||
if ( !myWatcher ) {
|
||||
myWatcher = new QFileSystemWatcher( this );
|
||||
myWatcher->addPath( userFileName( appName() ) );
|
||||
QFileInfo ufile = userFileName( appName() );
|
||||
if ( ufile.exists() ) {
|
||||
myWatcher->addPath( ufile.filePath() );
|
||||
}
|
||||
connect( myWatcher, SIGNAL( fileChanged( QString ) ), this, SLOT( update() ) );
|
||||
}
|
||||
}
|
||||
@ -187,6 +191,25 @@ void Material_ResourceMgr::watchUserFile( bool on )
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief This function is called after user configuration file is saved.
|
||||
\internal
|
||||
*/
|
||||
void Material_ResourceMgr::saved()
|
||||
{
|
||||
if ( resourceMgr() != this ) {
|
||||
resourceMgr()->saved();
|
||||
}
|
||||
else if ( myWatcher ) {
|
||||
QStringList files = myWatcher->files();
|
||||
QFileInfo ufile = userFileName( appName() );
|
||||
if ( ufile.exists() && !files.contains( ufile.filePath() ) ) {
|
||||
myWatcher->addPath( ufile.filePath() );
|
||||
update();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/*!
|
||||
\brief Update user database slot
|
||||
\internal
|
||||
|
@ -57,6 +57,7 @@ signals:
|
||||
|
||||
private:
|
||||
void watchUserFile( bool );
|
||||
void saved();
|
||||
|
||||
private slots:
|
||||
void update();
|
||||
|
Loading…
Reference in New Issue
Block a user