diff options
-rw-r--r-- | configurationdialog.cpp | 8 | ||||
-rw-r--r-- | configurationdialog.h | 1 | ||||
-rw-r--r-- | filestreewidget.cpp | 3 | ||||
-rw-r--r-- | filestreewidget.h | 1 | ||||
-rw-r--r-- | fileview.cpp | 3 | ||||
-rw-r--r-- | fileview.h | 1 | ||||
-rw-r--r-- | seriestreewidget.cpp | 3 | ||||
-rw-r--r-- | seriestreewidget.h | 1 |
8 files changed, 18 insertions, 3 deletions
diff --git a/configurationdialog.cpp b/configurationdialog.cpp index dbf83b4..e0bf2c5 100644 --- a/configurationdialog.cpp +++ b/configurationdialog.cpp @@ -151,6 +151,12 @@ ConfigurationDialog::ConfigurationDialog(QWidget *parent, Qt::WindowFlags f) : Q mGrabFrameFrom->setValidator(frameValidator); miscInputGrid->addWidget(miscl7, 1, 0); miscInputGrid->addWidget(mGrabFrameFrom, 1, 1); + QLabel *miscl8 = new QLabel(tr("Y cursor offset (hover)")); + mCursorOffset = new QSpinBox; + mCursorOffset->setMinimum(-100); + mCursorOffset->setMaximum(100); + miscInputGrid->addWidget(miscl8, 2, 0); + miscInputGrid->addWidget(mCursorOffset, 2, 1); hoverLayout->addLayout(miscInputGrid); hoverBox->setLayout(hoverLayout); @@ -345,6 +351,7 @@ void ConfigurationDialog::readSettings(){ mGrabFrameFrom->setEnabled(s.value("ui/hovermovies", false).toBool()); mAutoAddCovers->setChecked(s.value("ui/autoaddcovers", false).toBool()); mIconizeCovers->setChecked(s.value("ui/iconizecovers", false).toBool()); + mCursorOffset->setValue(s.value("ui/cursoroffset", SmGlobals::instance()->cursorSize().height()).toInt()); //read paths mArchiveDir->setText(s.value("paths/archivedir").toString()); @@ -419,6 +426,7 @@ void ConfigurationDialog::writeSettings(){ s.setValue("ui/grabframe", mGrabFrameFrom->text()); s.setValue("ui/autoaddcovers", (mAutoAddCovers->checkState() == Qt::Checked)); s.setValue("ui/iconizecovers", (mIconizeCovers->checkState() == Qt::Checked)); + s.setValue("ui/cursoroffset", mCursorOffset->value()); //write database s.setValue("database/hostname", mDatabaseHost->text()); diff --git a/configurationdialog.h b/configurationdialog.h index 2b7d12c..f7e2b4b 100644 --- a/configurationdialog.h +++ b/configurationdialog.h @@ -67,6 +67,7 @@ class ConfigurationDialog : public QDialog { QCheckBox *mAutoAddCovers; QCheckBox *mIconizeCovers; QSpinBox *mHoverOpacity; + QSpinBox *mCursorOffset; QLabel *mSeenColor; QLabel *mClipboardColor; QLabel *mBaseColor; diff --git a/filestreewidget.cpp b/filestreewidget.cpp index 4e2a196..f1d65c4 100644 --- a/filestreewidget.cpp +++ b/filestreewidget.cpp @@ -321,6 +321,7 @@ void FilesTreeView::readSettings(){ mHoverPics = s.value("ui/hoverpics", true).toBool(); mHoverWin->setWindowOpacity(s.value("ui/hoveropacity", 10).toFloat() / 10.0); mHoverMovies = s.value("ui/hovermovies", true).toBool(); + mCursorOffest = s.value("ui/cursoroffset").toInt(); } void FilesTreeView::readHeaderConfig(){ @@ -358,7 +359,7 @@ bool FilesTreeView::event(QEvent *e){ if(!hEvent){ return QTreeView::event(e); } - QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorSize().height()); + QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffest); QModelIndex curIdx = indexAt(hotSpot); /* The whole point of this if/then/else mess is to exit as early as possible diff --git a/filestreewidget.h b/filestreewidget.h index 5b064b9..86210c3 100644 --- a/filestreewidget.h +++ b/filestreewidget.h @@ -83,6 +83,7 @@ class FilesTreeView : public QTreeView { HoverWindow *mHoverWin; bool mHoverPics; bool mHoverMovies; + qint16 mCursorOffest; }; class FilesTreeSortModel : public QSortFilterProxyModel { diff --git a/fileview.cpp b/fileview.cpp index 8874b31..f0169de 100644 --- a/fileview.cpp +++ b/fileview.cpp @@ -89,6 +89,7 @@ void FileView::readConfig(){ mHoverMovies = s.value("ui/hovermovies", true).toBool(); mWhen = s.value("ui/grabframe", "00:00:00").toString(); mHoverWin->setWindowOpacity(s.value("ui/hoveropacity", 10).toFloat() / 10.0); + mCursorOffset = s.value("ui/cursoroffset").toInt(); } void FileView::closeEditor(QWidget *editor, QAbstractItemDelegate::EndEditHint hint){ @@ -144,7 +145,7 @@ bool FileView::event(QEvent *e){ if(!hEvent){ return exitHover(); } - QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorSize().height()); + QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffset); QModelIndex curIdx = indexAt(hotSpot); HoverFileType ft = None; QFileInfo curIdxInfo(curIdx.data(QFileSystemModel::FilePathRole).toString()); @@ -58,6 +58,7 @@ class FileView : public QTreeView { bool mHoverMovies; bool mHoverPics; QString mWhen; + qint16 mCursorOffset; }; #endif diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp index fba155b..1407ca1 100644 --- a/seriestreewidget.cpp +++ b/seriestreewidget.cpp @@ -396,6 +396,7 @@ void SeriesTreeView::readSettings(){ QSettings s; mHover = s.value("ui/hoverarchive", true).toBool(); mHoverWin->setWindowOpacity(s.value("ui/hoveropacity", 10).toFloat() / 10.0); + mCursorOffset = s.value("ui/cursoroffset").toInt(); } void SeriesTreeView::contextMenuEvent(QContextMenuEvent *e){ @@ -414,7 +415,7 @@ bool SeriesTreeView::event(QEvent *e){ if(!mHover){ return true; } - QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorSize().height()); + QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() + mCursorOffset); QModelIndex curIdx = indexAt(hotSpot); if((e->type() == QEvent::HoverEnter) || (e->type() == QEvent::HoverMove)){ if(!curIdx.isValid() || (curIdx.parent() != QModelIndex())){ diff --git a/seriestreewidget.h b/seriestreewidget.h index 70e17ac..2fd7b29 100644 --- a/seriestreewidget.h +++ b/seriestreewidget.h @@ -103,6 +103,7 @@ class SeriesTreeView : public QTreeView { QModelIndex mCurHover; HoverWindow *mHoverWin; bool mHover; + qint16 mCursorOffset; }; |