summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--archivetreeview.cpp4
-rw-r--r--archivetreeview.h1
-rw-r--r--filestreemodel.cpp1
-rw-r--r--filesystemwidget.cpp2
-rw-r--r--seriestreewidget.cpp9
-rw-r--r--seriestreewidget.h1
-rw-r--r--shemov.cpp7
-rw-r--r--shemov.h2
-rw-r--r--smglobals.cpp1
9 files changed, 20 insertions, 8 deletions
diff --git a/archivetreeview.cpp b/archivetreeview.cpp
index 16699dc..3e9e783 100644
--- a/archivetreeview.cpp
+++ b/archivetreeview.cpp
@@ -51,7 +51,7 @@ ArchiveTreeView::ArchiveTreeView(QWidget *parent) : QWidget(parent){
mGenresModel = static_cast<MappingTableModel*>(SmGlobals::instance()->model("genres"));
// series view
- mSeriesWidget = new SeriesTreeWidget;
+ mSeriesWidget = new SeriesTreeWidget(this);
QItemSelectionModel *selModel = mSeriesWidget->seriesTree()->selectionModel();
connect(selModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(currentChanged(QItemSelection,QItemSelection)));
connect(mSeriesWidget->seriesTree(), SIGNAL(doubleClicked(QModelIndex)), this, SLOT(playSelected()));
@@ -384,7 +384,7 @@ NoCoverMovieDialog::NoCoverMovieDialog(QWidget *parent, Qt::WindowFlags flags) :
//model + view
mView = new NoCoverMovieView;
QStringList headers = QStringList() << "Movie" << "Name" << "Part" << "Id";
- mModel = new NoCoverMovieModel(headers);
+ mModel = new NoCoverMovieModel(headers, this);
mView->setModel(mModel);
connect(mModel, SIGNAL(refreshed()), this, SLOT(updateLabel()));
mView->setColumnHidden(1, true);
diff --git a/archivetreeview.h b/archivetreeview.h
index e2c0a9d..ad1d3f1 100644
--- a/archivetreeview.h
+++ b/archivetreeview.h
@@ -36,6 +36,7 @@ class ArchiveTreeView : public QWidget
public:
enum CopyType { WindowsDir, WindowsFullPath, UnixDir, UnixFullPath };
explicit ArchiveTreeView(QWidget *parent = 0);
+ virtual ~ArchiveTreeView() {}
SeriesTreeWidget *seriesWidget() { return mSeriesWidget; }
FilesTreeWidget *filesWidget() { return mFilesWidget; }
const QString windowTitle() { return mWindowTitle; }
diff --git a/filestreemodel.cpp b/filestreemodel.cpp
index f4d045f..33c5be4 100644
--- a/filestreemodel.cpp
+++ b/filestreemodel.cpp
@@ -73,6 +73,7 @@ FilesTreeModel::~FilesTreeModel(){
delete mUpdateDvdQuery;
delete mUpdateQualityQuery;
delete mUpdatePartNoQuery;
+ delete mUpdateFileTypeQuery;
delete mInsertFileQuery;
delete mFilesQuery;
delete mDeleteFileQuery;
diff --git a/filesystemwidget.cpp b/filesystemwidget.cpp
index f4a9d24..38edbab 100644
--- a/filesystemwidget.cpp
+++ b/filesystemwidget.cpp
@@ -39,7 +39,7 @@
#include "smglobals.h"
FilesystemWidget::FilesystemWidget(QWidget *parent) : QWidget(parent), mClipboardMode(None) {
- mModel = new FileSystemModel;
+ mModel = new FileSystemModel(this);
mModel->setRootPath("/");
mModel->setFilter(QDir::AllEntries | QDir::NoDot);
mModel->setReadOnly(false);
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
index 19617a7..fa6ded5 100644
--- a/seriestreewidget.cpp
+++ b/seriestreewidget.cpp
@@ -92,6 +92,14 @@ SeriesTreeWidget::SeriesTreeWidget(QWidget *parent) : QWidget(parent){
connect(mCompleterProducer, SIGNAL(done(QStringListModel*)), this, SLOT(producerFinished(QStringListModel*)));
}
+SeriesTreeWidget::~SeriesTreeWidget(){
+ if(mCompleterProducerThread->isRunning()){
+ mCompleterProducerThread->terminate();
+ }
+ delete mCompleterProducerThread;
+ delete mCompleterProducer;
+}
+
void SeriesTreeWidget::newSeries(){
QList<QVariant> data;
data << tr("<New series>") << QVariant() << QVariant() << QVariant() << SeriesTreeModel::NewSeries;
@@ -535,6 +543,7 @@ CompleterProducer::~CompleterProducer(){
delete mQualityQuery;
delete mDvdNoQuery;
mDb.close();
+ mDb = QSqlDatabase();
}
void CompleterProducer::produce(){
diff --git a/seriestreewidget.h b/seriestreewidget.h
index 02a6693..f177943 100644
--- a/seriestreewidget.h
+++ b/seriestreewidget.h
@@ -39,6 +39,7 @@ class SeriesTreeWidget : public QWidget {
public:
enum FilterMode { FilterSeries = 1, FilterActor = 2, FilterGenre = 3, FilterSize = 4, FilterQuality = 5, FilterFileName = 6, FilterDvdNo = 7 };
explicit SeriesTreeWidget(QWidget *parent = 0);
+ virtual ~SeriesTreeWidget();
SeriesTreeView *seriesTree() { return mView; }
SeriesTreeSortModel *seriesProxy() { return mProxy; }
int filterMode() const { return mFilterMode; }
diff --git a/shemov.cpp b/shemov.cpp
index ccf773e..fbe4cb9 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -51,6 +51,7 @@
SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, flags), mOpenWithGroupFS(0), mOpenWithGroupAV(0) {
//application icon
qApp->setWindowIcon(QIcon(":/shemov.png"));
+ setAttribute(Qt::WA_DeleteOnClose);
//init database as early as possible
(void) SmGlobals::instance();
@@ -768,8 +769,8 @@ void SheMov::createOpenWithMenuFS(){
foreach(QAction *a, mOpenWithGroupFS->actions()){
mOpenWithMenuFS->removeAction(a);
}
+ mOpenWithGroupFS->deleteLater();
}
- mOpenWithGroupFS->deleteLater();
mOpenWithGroupFS = new QActionGroup(this);
QSettings s;
QStringList moviePlayers = s.value("programs_movieviewer/data").toHash().keys();
@@ -798,9 +799,9 @@ void SheMov::createOpenWithMenuAV(){
foreach(QAction *a, mOpenWithGroupAV->actions()){
mOpenWithMenuAV->removeAction(a);
}
+ //this deletes all actions in the group also!
+ mOpenWithGroupAV->deleteLater();
}
- //this deletes all actions in the group also!
- mOpenWithGroupAV->deleteLater();
mOpenWithGroupAV = new QActionGroup(this);
QSettings s;
QStringList players = s.value("programs_movieviewer/data").toHash().keys();
diff --git a/shemov.h b/shemov.h
index bb31035..cbe1301 100644
--- a/shemov.h
+++ b/shemov.h
@@ -27,7 +27,7 @@ class SheMov : public QMainWindow {
Q_OBJECT
public:
SheMov(QWidget *parent = 0, Qt::WindowFlags flags = 0);
- ~SheMov() {}
+ virtual ~SheMov() {}
protected:
virtual void closeEvent(QCloseEvent *event);
diff --git a/smglobals.cpp b/smglobals.cpp
index e5b4df8..52b3805 100644
--- a/smglobals.cpp
+++ b/smglobals.cpp
@@ -33,7 +33,6 @@ SmGlobals::~SmGlobals(){
foreach(QAbstractItemModel *model, mModels.values()){
delete model;
}
- QSqlDatabase::removeDatabase("treedb");
delete mFrameCache;
}