diff options
Diffstat (limited to 'shemov.cpp')
-rw-r--r-- | shemov.cpp | 54 |
1 files changed, 37 insertions, 17 deletions
@@ -102,6 +102,7 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla setCentralWidget(centralWidget); show(); mATree->seriesWidget()->readSettings(); + mATree->filesWidget()->filesTree()->readConfig(); mFSWidget->readSettings(); readSettings(); mFSWidget->fileView()->setFocus(Qt::ActiveWindowFocusReason); @@ -486,12 +487,30 @@ void SheMov::createActions(){ connect(mOpenWithMapperAV, SIGNAL(mapped(QString)), mATree, SLOT(playSelected(QString))); connect(mCleanupMapper, SIGNAL(mapped(QString)), mATree, SLOT(cleanDatabase(QString))); connect(viewMapper, SIGNAL(mapped(int)), mATree, SLOT(setFileViewMode(int))); + + //hover + QSignalMapper *hoverMapper = new QSignalMapper(this); mHoverPicsA = new QAction(QIcon(":/bald_pussy.png"), tr("Hover over pictures"), this); - connect(mHoverPicsA, SIGNAL(toggled(bool)), this, SLOT(toggleHoverPics(bool))); + mHoverPicsA->setData("ui/hoverpics"); mHoverPicsA->setCheckable(true); - mHoverArchiveA = new QAction(QIcon(":/prince_albert.png"), tr("Hover over directories"), this); - connect(mHoverArchiveA, SIGNAL(toggled(bool)), this, SLOT(toggleHoverArchive(bool))); + hoverMapper->setMapping(mHoverPicsA, mHoverPicsA); + connect(mHoverPicsA, SIGNAL(triggered()), hoverMapper, SLOT(map())); + mHoverArchiveA = new QAction(QIcon(":/prince_albert.png"), tr("Hover over archive tree"), this); + mHoverArchiveA->setData("ui/hoverarchive"); mHoverArchiveA->setCheckable(true); + hoverMapper->setMapping(mHoverArchiveA, mHoverArchiveA); + connect(mHoverArchiveA, SIGNAL(triggered()), hoverMapper, SLOT(map())); + mHoverDirectoriesA = new QAction(QIcon(":/french_maid_dress.png"), tr("Hover over directories"), this); + mHoverDirectoriesA->setData("ui/hoverdirs"); + mHoverDirectoriesA->setCheckable(true); + hoverMapper->setMapping(mHoverDirectoriesA, mHoverDirectoriesA); + connect(mHoverDirectoriesA, SIGNAL(triggered()), hoverMapper, SLOT(map())); + mHoverMoviesA = new QAction(QIcon(":/ball_gag.png"), tr("Hover over movies"), this); + mHoverMoviesA->setData("ui/hovermovies"); + mHoverMoviesA->setCheckable(true); + hoverMapper->setMapping(mHoverMoviesA, mHoverMoviesA); + connect(mHoverMoviesA, SIGNAL(triggered()), hoverMapper, SLOT(map())); + connect(hoverMapper, SIGNAL(mapped(QObject*)), this, SLOT(toggleHover(QObject*))); } void SheMov::createMenus(){ @@ -722,6 +741,8 @@ void SheMov::createToolBar(){ toolBar->addSeparator(); toolBar->addAction(mHoverPicsA); toolBar->addAction(mHoverArchiveA); + toolBar->addAction(mHoverDirectoriesA); + toolBar->addAction(mHoverMoviesA); toolBar->addSeparator(); toolBar->addAction(mMountDvdA); addToolBar(Qt::LeftToolBarArea, toolBar); @@ -775,10 +796,10 @@ void SheMov::readSettings(){ default: ; } - bool hoverPics = s.value("ui/hoverpics").toBool(); - mHoverPicsA->setChecked(hoverPics); - bool hoverArchive = s.value("ui/hoverarchive").toBool(); - mHoverArchiveA->setChecked(hoverArchive); + mHoverPicsA->setChecked(s.value("ui/hoverpics").toBool()); + mHoverArchiveA->setChecked(s.value("ui/hoverarchive").toBool()); + mHoverDirectoriesA->setChecked(s.value("ui/hoverdirs").toBool()); + mHoverMoviesA->setChecked(s.value("ui/hovermovies").toBool()); QString dvdMount = s.value("paths/dvdmount").toString(); if(dvdMount.isEmpty()){ mMountDvdA->setEnabled(false); @@ -805,16 +826,15 @@ void SheMov::checkConsistency(){ c.exec(); } -void SheMov::toggleHoverArchive(bool toggled){ - QSettings s; - s.setValue("ui/hoverarchive", toggled); - emit configChanged(); -} - -void SheMov::toggleHoverPics(bool toggled){ - QSettings s; - s.setValue("ui/hoverpics", toggled); - emit configChanged(); +void SheMov::toggleHover(QObject *object){ + QAction *action = qobject_cast<QAction*>(object); + if(action){ + QSettings s; + QString toSet = action->data().toString(); + bool checked = action->isChecked(); + s.setValue(toSet, checked); + emit configChanged(); + } } void SheMov::checkMount(bool mounted){ |