From ad322157891cec53a7b660629d7c244e75df81d5 Mon Sep 17 00:00:00 2001 From: Arno Date: Sat, 24 Jul 2010 17:15:00 +0200 Subject: Act on doubleClick in FileTreeWidget When doubleclicking a picture in FileTreeWidget the pictureViewer is shown. Doubleclicking a movie file launches the default movie player. Since PictureViewer is now used in FileSystemWidget and ArchiveTreeView a global instance is needed. The appropriate place for this is a singleton. Since we already had a singleton for QAbstractItemModels I renamed it to SmGlobals and added a function to return a PictureViewer object. Renaming it was quite easy thanks to QtCreator's ability to rename variable names. --- smmodelsingleton.cpp | 73 ---------------------------------------------------- 1 file changed, 73 deletions(-) delete mode 100644 smmodelsingleton.cpp (limited to 'smmodelsingleton.cpp') diff --git a/smmodelsingleton.cpp b/smmodelsingleton.cpp deleted file mode 100644 index 41959a5..0000000 --- a/smmodelsingleton.cpp +++ /dev/null @@ -1,73 +0,0 @@ -/* - This program is free software; you can redistribute it and/or - modify it under the terms of the GNU General Public License - as published by the Free Software Foundation; either version - 2 of the License, or (at your option) any later version. -*/ - -#include -#include -#include -#include -#include - -#include "smmodelsingleton.h" -#include "seriestreemodel.h" -#include "filestreemodel.h" -#include "mappingtablemodel.h" - -SmModelSingleton *SmModelSingleton::mInstance = 0; - -SmModelSingleton::~SmModelSingleton(){ - foreach(QAbstractItemModel *model, mModels.values()){ - delete model; - } - QSqlDatabase::removeDatabase("treedb"); -} - -SmModelSingleton *SmModelSingleton::instance(){ - if(!mInstance){ - mInstance = new SmModelSingleton; - if(!QSqlDatabase::contains("treedb")){ - QSettings s; - QSqlDatabase db = QSqlDatabase::addDatabase("QPSQL", "treedb"); - db.setHostName(s.value("database/hostname").toString()); - db.setUserName(s.value("database/dbuser").toString()); - db.setPassword(s.value("database/dbpass").toString()); - db.setDatabaseName(s.value("database/dbname").toString()); - if(!db.open()){ - QMessageBox::critical(0, tr("Error"), tr("Could not open database. Please configure it and restart program.")); - } - } - } - return mInstance; -} - -QAbstractItemModel *SmModelSingleton::model(const QString &which){ - if(which == "SeriesModel"){ - if(!mModels.contains(which)){ - QStringList headers = QStringList() << tr("Series") << tr("Series ID") << tr("Series part ID") << tr("Part") << tr("Type"); - SeriesTreeModel *model = new SeriesTreeModel(headers); - mModels.insert(which, model); - } - }else if(which == "FilesModel"){ - if(!mModels.contains(which)){ - QStringList headers = QStringList() << tr("Name") << tr("Part") << tr("Size") << tr("Qual.") << tr("Dvd") << tr("Full Path") << tr("Size") << tr("Type") << tr("Md5 sum") << tr("Series part ID") << tr("File ID"); - FilesTreeModel *model = new FilesTreeModel(headers); - mModels.insert(which, model); - } - }else if(which == "actors"){ - if(!mModels.contains(which)){ - QStringList headers = QStringList() << tr("Actor") << tr("Id"); - MappingTableModel *model = new MappingTableModel(headers, "actors"); - mModels.insert(which, model); - } - }else if(which == "genres"){ - if(!mModels.contains(which)){ - QStringList headers = QStringList() << tr("Genre") << tr("Id"); - MappingTableModel *model = new MappingTableModel(headers, "genres"); - mModels.insert(which, model); - } - } - return mModels.contains(which) ? mModels.value(which) : 0; -} -- cgit v1.2.3-70-g09d2