mirror of
https://git.salome-platform.org/gitpub/modules/geom.git
synced 2024-12-26 17:30:35 +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 "Material_ResourceMgr.h"
|
||||||
|
|
||||||
|
#include <QFileInfo>
|
||||||
#include <QFileSystemWatcher>
|
#include <QFileSystemWatcher>
|
||||||
#include <QThread>
|
#include <QThread>
|
||||||
|
|
||||||
@ -175,7 +176,10 @@ void Material_ResourceMgr::watchUserFile( bool on )
|
|||||||
if ( on ) {
|
if ( on ) {
|
||||||
if ( !myWatcher ) {
|
if ( !myWatcher ) {
|
||||||
myWatcher = new QFileSystemWatcher( this );
|
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() ) );
|
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
|
\brief Update user database slot
|
||||||
\internal
|
\internal
|
||||||
|
@ -57,6 +57,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void watchUserFile( bool );
|
void watchUserFile( bool );
|
||||||
|
void saved();
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void update();
|
void update();
|
||||||
|
Loading…
Reference in New Issue
Block a user