summaryrefslogtreecommitdiffstats
path: root/shemov.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'shemov.cpp')
-rw-r--r--shemov.cpp19
1 files changed, 6 insertions, 13 deletions
diff --git a/shemov.cpp b/shemov.cpp
index fde5a0f..11882c6 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -344,19 +344,16 @@ QAction *SheMov::createSeparator(){
return tmp;
}
-QSignalMapper *SheMov::createHeaderMapper(SmTreeModel *model, QActionGroup *group){
+void SheMov::createHeaderMapper(SmTreeModel *model, SmTreeView *view, QActionGroup *group){
QHash<QString, int> headerData = model->headerData();
- QSignalMapper *retval = new QSignalMapper(this);
group->setExclusive(false);
for(QHash<QString, int>::const_iterator it = headerData.constBegin(); it != headerData.constEnd(); ++it){
QAction *a = new QAction(it.key(), this);
a->setCheckable(true);
a->setData(it.value());
group->addAction(a);
- retval->setMapping(a, a);
- connect(a, SIGNAL(triggered()), retval, SLOT(map()));
+ connect(a, &QAction::triggered, [=] {view->toggleHeader(a); });
}
- return retval;
}
void SheMov::createStatusbar(){
@@ -488,24 +485,20 @@ void SheMov::createActions(){
//headers
mFileSysHeaderGroup = new QActionGroup(this);
- QSignalMapper *fileSysHeaderMapper = createHeaderMapper(qobject_cast<SmTreeModel*>(mFSWidget->fileModel()), mFileSysHeaderGroup);
- connect(fileSysHeaderMapper, SIGNAL(mapped(QObject*)), mFSWidget->fileView(), SLOT(toggleHeader(QObject*)));
+ createHeaderMapper(qobject_cast<SmTreeModel*>(mFSWidget->fileModel()), mFSWidget->fileView(), mFileSysHeaderGroup);
mFSWidget->fileView()->setHeaderGroup(mFileSysHeaderGroup);
mPicsTreeHeaderGroup = new QActionGroup(this);
SmTreeModel *picFilesModel = static_cast<SmTreeModel*>(SmGlobals::instance()->model("PicFiles"));
- QSignalMapper *picsTreeHeaderMapper = createHeaderMapper(picFilesModel, mPicsTreeHeaderGroup);
- connect(picsTreeHeaderMapper, SIGNAL(mapped(QObject*)), mPicWidget->picView(), SLOT(toggleHeader(QObject*)));
+ createHeaderMapper(picFilesModel, mPicWidget->picView(), mPicsTreeHeaderGroup);
mPicWidget->picView()->setHeaderGroup(mPicsTreeHeaderGroup);
mArchiveFilesAG = new QActionGroup(this);
ArchiveController *controller = SmGlobals::instance()->archiveController();
SmTreeModel *afilesmodel = controller->archiveFilesModel();
- QSignalMapper *aFilesMapper = createHeaderMapper(afilesmodel, mArchiveFilesAG);
- connect(aFilesMapper, SIGNAL(mapped(QObject*)), controller->archiveFiles(), SLOT(toggleHeader(QObject*)));
+ createHeaderMapper(afilesmodel, controller->archiveFiles(), mArchiveFilesAG);
controller->archiveFiles()->setHeaderGroup(mArchiveFilesAG);
SmTreeModel *abrowsermodel = static_cast<SmTreeModel*>(SmGlobals::instance()->model("BrowserModel"));
mArchiveBrowserAG = new QActionGroup(this);
- QSignalMapper *archiveBrowserHeaderMapper = createHeaderMapper(abrowsermodel, mArchiveBrowserAG);
- connect(archiveBrowserHeaderMapper, SIGNAL(mapped(QObject*)), mArchiveBrowser->archiveTree(), SLOT(toggleHeader(QObject*)));
+ createHeaderMapper(abrowsermodel, mArchiveBrowser->archiveTree(), mArchiveBrowserAG);
mArchiveBrowser->archiveTree()->setHeaderGroup(mArchiveBrowserAG);
/* very unfortunate naming of variables: