summaryrefslogtreecommitdiffstats
path: root/smglobals.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'smglobals.cpp')
-rw-r--r--smglobals.cpp21
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){