diff options
author | Arno <am@disconnect.de> | 2013-04-11 07:19:51 +0200 |
---|---|---|
committer | Arno <am@disconnect.de> | 2013-04-11 07:19:51 +0200 |
commit | a39b9bb410593edf105be3ce808b6bfd94f95cde (patch) | |
tree | 4566c8f01b3071d9758a376307ee290b681f8965 /shemov.cpp | |
parent | d71c97f56f4eb35a8918b9741fe6bfd6417a3b5c (diff) | |
download | SheMov-a39b9bb410593edf105be3ce808b6bfd94f95cde.tar.gz SheMov-a39b9bb410593edf105be3ce808b6bfd94f95cde.tar.bz2 SheMov-a39b9bb410593edf105be3ce808b6bfd94f95cde.zip |
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.
Diffstat (limited to 'shemov.cpp')
-rw-r--r-- | shemov.cpp | 42 |
1 files changed, 16 insertions, 26 deletions
@@ -6,42 +6,24 @@ */ #include <QtWidgets/QApplication> -#include <QtWidgets/QTabWidget> #include <QtWidgets/QVBoxLayout> -#include <QtWidgets/QAction> #include <QtWidgets/QMenuBar> -#include <QtWidgets/QMenu> #include <QtWidgets/QStatusBar> #include <QtWidgets/QLabel> -#include <QItemSelection> #include <QSignalMapper> #include <QSettings> #include <QtWidgets/QMessageBox> -#include <QSqlDatabase> -#include <QImage> -#include <QPainter> -#include <QFont> -#include <QFontMetrics> -#include <QLocale> #include <QCloseEvent> -#include <QtWidgets/QActionGroup> -#include <QtWidgets/QFileSystemModel> #include <QtWidgets/QToolBar> -#include <QIcon> -#include <QtWidgets/QHeaderView> -#include <QDir> -#include <QFileInfo> #include <QtWidgets/QSplashScreen> #include <sys/vfs.h> #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<FilesTreeModel*>(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(); |