diff options
Diffstat (limited to 'smglobals.cpp')
-rw-r--r-- | smglobals.cpp | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/smglobals.cpp b/smglobals.cpp index 52b3805..c21cea4 100644 --- a/smglobals.cpp +++ b/smglobals.cpp @@ -164,15 +164,24 @@ void SmGlobals::FrameCache::readConfig(){ } const QPixmap SmGlobals::FrameCache::entry(const QString &sourcePath, const QString &when){ - QString realWhen = when; - if(realWhen.isEmpty()){ - realWhen = mWhen; + const QPair<QString, QString> source = prepFrame(sourcePath, when); + return QPixmap(mFrameCache.value(source)); +} + +const QString SmGlobals::FrameCache::entryPath(const QString &sourcePath, const QString &when){ + const QPair<QString, QString> source = prepFrame(sourcePath, when); + return mFrameCache.value(source); +} + +const QPair<QString, QString> SmGlobals::FrameCache::prepFrame(const QString &sourceFile, QString when){ + if(when.isEmpty()){ + when = mWhen; } - const QPair<QString, QString> source(sourcePath, realWhen); + const QPair<QString, QString> source(sourceFile, when); if(!mFrameCache.contains(source)){ - grabFrame(sourcePath, realWhen); + grabFrame(sourceFile, when); } - return QPixmap(mFrameCache.value(source)); + return source; } void SmGlobals::FrameCache::grabFrame(const QString &sourceFile, QString when){ |