From a39b9bb410593edf105be3ce808b6bfd94f95cde Mon Sep 17 00:00:00 2001 From: Arno Date: Thu, 11 Apr 2013 07:19:51 +0200 Subject: Fix frame cacheDir Get rid of the cache file. Instead, generate the cache on startup. The cache was never written since it was turned into a thread. Because of that I wrote a cleanup function, but surprisingly it didn't have much impact on the startup time, so I dropped the cache file. Also, fix destructor of SmGlobals. Call deleteLater on all Q_OBJECTS, and of course, some header cleanup. --- shemov.cpp | 42 ++++++++++++++++-------------------------- 1 file changed, 16 insertions(+), 26 deletions(-) (limited to 'shemov.cpp') diff --git a/shemov.cpp b/shemov.cpp index a2fd195..a99025f 100644 --- a/shemov.cpp +++ b/shemov.cpp @@ -6,42 +6,24 @@ */ #include -#include #include -#include #include -#include #include #include -#include #include #include #include -#include -#include -#include -#include -#include -#include #include -#include -#include #include -#include -#include -#include -#include #include #include #include "shemov.h" #include "filesystemwidget.h" -#include "filestreewidget.h" #include "fileview.h" #include "configurationdialog.h" #include "statisticsdialog.h" -#include "filesystemfileproxy.h" #include "archivetreeview.h" #include "smglobals.h" #include "seriestreewidget.h" @@ -53,13 +35,10 @@ #include "mappingtableeditor.h" #include "mappingtablemodel.h" #include "dbanalyzer.h" -#include "mappingtreewidget.h" #include "newpicsdialog.h" #include "pictureswidget.h" -#include "pictureviewer2.h" -#include "helper.h" #include "smdirmodel.h" -#include "smtreeview.h" +#include "framecache.h" SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags), mOpenWithGroupFS(0), mOpenWithGroupAV(0) { //application icon @@ -164,9 +143,9 @@ void SheMov::closeEvent(QCloseEvent *event){ mATree->filesWidget()->filesTree()->writeSettings(); mPicWidget->picViewer2()->writeSettings(); mPicWidget->writeSettings(); - FilesTreeModel *filesModel = static_cast(SmGlobals::instance()->model("FilesModel")); - filesModel->writeCache(); writeSettings(); + SmGlobals *globals = SmGlobals::instance(); + delete globals; event->accept(); } @@ -407,13 +386,17 @@ void SheMov::createActions(){ //connnect mQuitA = new QAction(tr("Quit"), this); mQuitA->setShortcut(tr("CTRL+q")); + mRebuildFrameCacheA = new QAction(tr("Rebuild frame cache") ,this); + + // general actions + connect(mQuitA, SIGNAL(triggered()), qApp, SLOT(closeAllWindows())); + connect(mRebuildFrameCacheA, SIGNAL(triggered()), this, SLOT(rebuildFrameCache())); //Edit menu (FS) mCdupA = new QAction(QIcon(":/up_dick.png"), tr("Go up"), this); connect(mCdupA, SIGNAL(triggered()), mFSWidget, SLOT(parentDir())); mBackDirA = new QAction(QIcon(":/back_dick.png"), tr("Go back"), this); connect(mBackDirA, SIGNAL(triggered()), mFSWidget, SLOT(goBack())); - connect(mQuitA, SIGNAL(triggered()), qApp, SLOT(closeAllWindows())); mMarkFilesA = new QAction(tr("Select files..."), this); mMarkFilesA->setShortcut(tr("CTRL++")); connect(mMarkFilesA, SIGNAL(triggered()), mFSWidget->fileView(), SLOT(markFiles())); @@ -766,7 +749,7 @@ void SheMov::createMenus(){ fileMenu->addSeparator(); fileMenu->addAction(mConsistencyA); fileMenu->addAction(mAnalyzerA); - //fileMenu->addAction(mMappingEditorA); + fileMenu->addAction(mRebuildFrameCacheA); fileMenu->addSeparator(); fileMenu->addAction(mQuitA); menuBar()->addMenu(fileMenu); @@ -1119,6 +1102,13 @@ void SheMov::createPalette(){ } } +void SheMov::rebuildFrameCache(){ + int retval = QMessageBox::question(this, tr("Question"), tr("Rebuild frame cache from directory?"), QMessageBox::Yes | QMessageBox::No); + if(retval == QMessageBox::Yes){ + SmGlobals::instance()->frameCache()->rebuild(); + } +} + void SheMov::checkConsistency(){ ConsistencyCheck c; c.exec(); -- cgit v1.2.3-70-g09d2