summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--filestreewidget.cpp104
-rw-r--r--fileview.cpp128
-rw-r--r--fileview.h2
-rw-r--r--seriestreewidget.cpp67
-rw-r--r--shemov.cpp12
-rw-r--r--shemov.h3
6 files changed, 165 insertions, 151 deletions
diff --git a/filestreewidget.cpp b/filestreewidget.cpp
index dad3724..e5ab111 100644
--- a/filestreewidget.cpp
+++ b/filestreewidget.cpp
@@ -289,71 +289,73 @@ void FilesTreeView::contextMenuEvent(QContextMenuEvent *event){
}
bool FilesTreeView::event(QEvent *e){
- QSettings s;
- if(!s.value("ui/hoverpics").toBool()){
- return true;
- }
- QModelIndex curIdx;
QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
- if(!hEvent){
- return true;
- }
- QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorOffset());
- QPoint globalPos = mapToGlobal(hotSpot);
- QPoint where = globalPos + QPoint(30, 0);
-
- curIdx = indexAt(hotSpot);
- if((e->type() == QEvent::HoverEnter) || (e->type() == QEvent::HoverMove)){
- if(!curIdx.isValid()){
- return true;
- }
- if(!curIdx.column() == 0){
- mCurHover = QModelIndex();
- mHoverWin->setVisible(false);
- return true;
- }
- if(!curIdx.isValid()){
- return true;
- }
- QVariant fileType = curIdx.data(FilesTreeModel::FileTypeRole);
- if(!fileType.isValid()){
- mHoverWin->setVisible(false);
+ if((hEvent->type() == QEvent::HoverEnter) || (hEvent->type() == QEvent::HoverLeave) || (hEvent->type() == QEvent::HoverMove)){
+ if(!mHover){
return true;
}
- if(fileType.toInt() == FilesTreeModel::Movie){
- mHoverWin->setVisible(false);
+ QModelIndex curIdx;
+
+ if(!hEvent){
return true;
}
- }
+ QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorOffset());
+ QPoint globalPos = mapToGlobal(hotSpot);
+ QPoint where = globalPos + QPoint(30, 0);
- if(e->type() == QEvent::HoverEnter){
- mCurHover = curIdx;
- QPixmap pm = QPixmap(curIdx.data(FilesTreeModel::FullPathRole).toString());
- mHoverWin->setPixmap(pm);
- mHoverWin->setPos(where);
- mHoverWin->setVisible(true);
- return true;
- }
- if(e->type() == QEvent::HoverMove){
- if(mHoverWin->pixmapHeight()){
- where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
+ curIdx = indexAt(hotSpot);
+ if((e->type() == QEvent::HoverEnter) || (e->type() == QEvent::HoverMove)){
+ if(!curIdx.isValid()){
+ return true;
+ }
+ if(!curIdx.column() == 0){
+ mCurHover = QModelIndex();
+ mHoverWin->setVisible(false);
+ return true;
+ }
+ if(!curIdx.isValid()){
+ return true;
+ }
+ QVariant fileType = curIdx.data(FilesTreeModel::FileTypeRole);
+ if(!fileType.isValid()){
+ mHoverWin->setVisible(false);
+ return true;
+ }
+ if(fileType.toInt() == FilesTreeModel::Movie){
+ mHoverWin->setVisible(false);
+ return true;
+ }
}
- if(curIdx != mCurHover){
+
+ if(e->type() == QEvent::HoverEnter){
mCurHover = curIdx;
- mHoverWin->setPixmap(QPixmap(curIdx.data(FilesTreeModel::FullPathRole).toString()));
- mHoverWin->setVisible(false);
+ QPixmap pm = QPixmap(curIdx.data(FilesTreeModel::FullPathRole).toString());
+ mHoverWin->setPixmap(pm);
mHoverWin->setPos(where);
mHoverWin->setVisible(true);
return true;
- }else{
- mHoverWin->setPos(where);
+ }
+ if(e->type() == QEvent::HoverMove){
+ if(mHoverWin->pixmapHeight()){
+ where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
+ }
+ if(curIdx != mCurHover){
+ mCurHover = curIdx;
+ mHoverWin->setPixmap(QPixmap(curIdx.data(FilesTreeModel::FullPathRole).toString()));
+ mHoverWin->setVisible(false);
+ mHoverWin->setPos(where);
+ mHoverWin->setVisible(true);
+ return true;
+ }else{
+ mHoverWin->setPos(where);
+ return true;
+ }
+ }
+ if(e->type() == QEvent::HoverLeave){
+ mHoverWin->setVisible(false);
return true;
}
}
- if(e->type() == QEvent::HoverLeave){
- mHoverWin->setVisible(false);
- return true;
- }
return QTreeView::event(e);
}
diff --git a/fileview.cpp b/fileview.cpp
index 2da9bc6..fdd51e4 100644
--- a/fileview.cpp
+++ b/fileview.cpp
@@ -54,6 +54,13 @@ void FileView::createFolder(){
mCreateFolderDialog->show();
}
+void FileView::readConfig(){
+ QSettings s;
+ mHover = s.value("ui/hoverpics", true).toBool();
+ mHoverWin->setWindowOpacity(s.value("ui/hoveropacity", 10).toFloat() / 10.0);
+}
+
+
void FileView::doMark(){
int rowCount = model()->rowCount(rootIndex());
QString sRegex = mMarkDialog->text();
@@ -139,83 +146,78 @@ void FileView::resizeEvent(QResizeEvent *e){
}
bool FileView::event(QEvent *e){
- QSettings s;
- if(!s.value("ui/hoverpics").toBool()){
- return true;
- }
-
- if(e->type() == QEvent::HoverLeave){
- mHoverWin->setVisible(false);
- mCurHover = QModelIndex();
- return true;
- }
-
QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
- QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorOffset());
- QModelIndex curIdx = indexAt(hotSpot);
-
- if(!curIdx.isValid()){
- return true;
- }
- if(curIdx.column() != 0){
- mHoverWin->setVisible(false);
- return true;
- }
-
- QFileInfo fi(curIdx.data(QFileSystemModel::FilePathRole).toString());
- if(!fi.exists()){
- return true;
- }
-
- QList<QVariant> hoverData;
- if(fi.isDir()){
- hoverData << fi.fileName();
- QDir curDir(fi.absoluteFilePath());
- QStringList files = curDir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot, QDir::Name);
- hoverData << files;
- }else if(fi.isFile()){
- QString mimeType = Helper::mimeType(fi.absoluteFilePath());
- if(mimeType.startsWith("image")){
- QPixmap pm(fi.absoluteFilePath());
- hoverData << pm;
- }else{
+ if((hEvent->type() == QEvent::HoverEnter) || (hEvent->type() == QEvent::HoverLeave) || (hEvent->type() == QEvent::HoverMove)){
+ if(!mHover){
+ return true;
+ }
+ if(e->type() == QEvent::HoverLeave){
mHoverWin->setVisible(false);
+ mCurHover = QModelIndex();
return true;
}
- }else{
- mHoverWin->setVisible(false);
- return true;
- }
-
- QPoint globalPos = mapToGlobal(hotSpot);
- QPoint where = globalPos + QPoint(30, 0);
- if(e->type() == QEvent::HoverEnter){
- mCurHover = curIdx;
- mHoverWin->setData(hoverData);
- if(mHoverWin->pixmapHeight()){
- where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
+ QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorOffset());
+ QModelIndex curIdx = indexAt(hotSpot);
+ if(!curIdx.isValid()){
+ return true;
}
- mHoverWin->setPos(where);
- mHoverWin->setVisible(true);
- return true;
- }
- if(e->type() == QEvent::HoverMove){
- if(curIdx != mCurHover){
+ if(curIdx.column() != 0){
+ mHoverWin->setVisible(false);
+ return true;
+ }
+ QFileInfo fi(curIdx.data(QFileSystemModel::FilePathRole).toString());
+ if(!fi.exists()){
+ return true;
+ }
+ QList<QVariant> hoverData;
+ if(fi.isDir()){
+ hoverData << fi.fileName();
+ QDir curDir(fi.absoluteFilePath());
+ QStringList files = curDir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot, QDir::Name);
+ hoverData << files;
+ }else if(fi.isFile()){
+ QString mimeType = Helper::mimeType(fi.absoluteFilePath());
+ if(mimeType.startsWith("image")){
+ QPixmap pm(fi.absoluteFilePath());
+ hoverData << pm;
+ }else{
+ mHoverWin->setVisible(false);
+ return true;
+ }
+ }else{
+ mHoverWin->setVisible(false);
+ return true;
+ }
+ QPoint globalPos = mapToGlobal(hotSpot);
+ QPoint where = globalPos + QPoint(30, 0);
+ if(e->type() == QEvent::HoverEnter){
mCurHover = curIdx;
mHoverWin->setData(hoverData);
if(mHoverWin->pixmapHeight()){
where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
}
- mHoverWin->setVisible(false);
mHoverWin->setPos(where);
mHoverWin->setVisible(true);
return true;
- }else{
- if(mHoverWin->pixmapHeight()){
- where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
+ }
+ if(e->type() == QEvent::HoverMove){
+ if(curIdx != mCurHover){
+ mCurHover = curIdx;
+ mHoverWin->setData(hoverData);
+ if(mHoverWin->pixmapHeight()){
+ where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
+ }
+ mHoverWin->setVisible(false);
+ mHoverWin->setPos(where);
+ mHoverWin->setVisible(true);
+ return true;
+ }else{
+ if(mHoverWin->pixmapHeight()){
+ where = QPoint(where.x(), where.y() - mHoverWin->pixmapHeight() / 2);
+ }
+ mHoverWin->setPos(where);
+ return true;
}
- mHoverWin->setPos(where);
- return true;
}
}
return QTreeView::event(e);
diff --git a/fileview.h b/fileview.h
index 6e6e303..93fa045 100644
--- a/fileview.h
+++ b/fileview.h
@@ -35,6 +35,7 @@ class FileView : public QTreeView {
void markFiles();
void unmarkFiles();
void createFolder();
+ void readConfig();
private slots:
void doMark();
@@ -52,6 +53,7 @@ class FileView : public QTreeView {
QAction *mDeleteA;
HoverWindow *mHoverWin;
QModelIndex mCurHover;
+ bool mHover;
};
#endif
diff --git a/seriestreewidget.cpp b/seriestreewidget.cpp
index c9abafd..5a57ec4 100644
--- a/seriestreewidget.cpp
+++ b/seriestreewidget.cpp
@@ -333,52 +333,51 @@ void SeriesTreeView::contextMenuEvent(QContextMenuEvent *e){
}
bool SeriesTreeView::event(QEvent *e){
- QSettings s;
- if(!s.value("ui/hoverarchive").toBool()){
- return true;
- }
- QModelIndex curIdx;
QHoverEvent *hEvent = static_cast<QHoverEvent*>(e);
- QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorOffset());
- QPoint globalPos = mapToGlobal(hotSpot);
- QPoint where = globalPos + QPoint(30, 30);
-
- curIdx = indexAt(hotSpot);
- if((e->type() == QEvent::HoverEnter) || (e->type() == QEvent::HoverMove)){
- if(!curIdx.isValid()){
+ if((hEvent->type() == QEvent::HoverEnter) || (hEvent->type() == QEvent::HoverLeave) || (hEvent->type() == QEvent::HoverMove)){
+ if(!mHover){
return true;
}
- if(curIdx.parent() != QModelIndex()){
- mHoverWin->setVisible(false);
- mCurHover = QModelIndex();
- return true;
+ QModelIndex curIdx;
+ QPoint hotSpot(hEvent->pos().x(), hEvent->pos().y() - SmGlobals::instance()->cursorOffset());
+ QPoint globalPos = mapToGlobal(hotSpot);
+ QPoint where = globalPos + QPoint(30, 30);
+ curIdx = indexAt(hotSpot);
+ if((e->type() == QEvent::HoverEnter) || (e->type() == QEvent::HoverMove)){
+ if(!curIdx.isValid()){
+ return true;
+ }
+ if(curIdx.parent() != QModelIndex()){
+ mHoverWin->setVisible(false);
+ mCurHover = QModelIndex();
+ return true;
+ }
}
- }
-
- if(e->type() == QEvent::HoverEnter){
- mCurHover = curIdx;
- mHoverWin->setContent(curIdx.data(Qt::DisplayRole).toString(), children(curIdx));
- mHoverWin->setPos(where);
- mHoverWin->setVisible(true);
- return true;
- }
- if(e->type() == QEvent::HoverMove){
- if(curIdx != mCurHover){
+ if(e->type() == QEvent::HoverEnter){
mCurHover = curIdx;
mHoverWin->setContent(curIdx.data(Qt::DisplayRole).toString(), children(curIdx));
- mHoverWin->setVisible(false);
mHoverWin->setPos(where);
mHoverWin->setVisible(true);
return true;
- }else{
- mHoverWin->setPos(where);
+ }
+ if(e->type() == QEvent::HoverMove){
+ if(curIdx != mCurHover){
+ mCurHover = curIdx;
+ mHoverWin->setContent(curIdx.data(Qt::DisplayRole).toString(), children(curIdx));
+ mHoverWin->setVisible(false);
+ mHoverWin->setPos(where);
+ mHoverWin->setVisible(true);
+ return true;
+ }else{
+ mHoverWin->setPos(where);
+ return true;
+ }
+ }
+ if(e->type() == QEvent::HoverLeave){
+ mHoverWin->setVisible(false);
return true;
}
}
- if(e->type() == QEvent::HoverLeave){
- mHoverWin->setVisible(false);
- return true;
- }
return QTreeView::event(e);
}
diff --git a/shemov.cpp b/shemov.cpp
index f00caf5..8009daf 100644
--- a/shemov.cpp
+++ b/shemov.cpp
@@ -61,6 +61,8 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
connect(mATree, SIGNAL(needWindowTitleChange(QString)), this, SLOT(setWindowTitle(QString)));
connect(mATree->filesWidget()->filesTree()->selectionModel(), SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)), this, SLOT(updateSelectionCount(const QItemSelection &, const QItemSelection &)));
connect(mATree->seriesWidget()->seriesTree()->selectionModel(), SIGNAL(selectionChanged(QItemSelection,QItemSelection)), this, SLOT(updateSelectionCount(QItemSelection,QItemSelection)));
+ connect(this, SIGNAL(configChanged()), mATree->seriesWidget()->seriesTree(), SLOT(readConfig()));
+ connect(this, SIGNAL(configChanged()), mATree->filesWidget()->filesTree(), SLOT(readConfig()));
//newmoviewizard
mNewMovieWizard = new NewMovieWizard(this);
@@ -83,14 +85,15 @@ SheMov::SheMov(QWidget *parent, Qt::WindowFlags flags) : QMainWindow(parent, fla
connect(mFSWidget->dirModel(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(setFsFree()));
connect(mFSWidget->dirModel(), SIGNAL(layoutChanged()), this, SLOT(setFsFree()));
connect(mFSWidget->dirModel(), SIGNAL(rowsRemoved(QModelIndex,int,int)), this, SLOT(setFsFree()));
+ connect(this, SIGNAL(configChanged()), mFSWidget->fileView(), SLOT(readConfig()));
QWidget *centralWidget = new QWidget;
centralWidget->setLayout(mainLayout);
setCentralWidget(centralWidget);
+ show();
mATree->seriesWidget()->readSettings();
mFSWidget->readSettings();
readSettings();
- show();
mFSWidget->fileView()->setFocus(Qt::ActiveWindowFocusReason);
}
@@ -142,8 +145,7 @@ void SheMov::configure(){
dlg.exec();
createOpenWithMenuFS();
createOpenWithMenuAV();
- mATree->seriesWidget()->seriesTree()->readConfig();
- mATree->filesWidget()->filesTree()->readConfig();
+ emit configChanged();
}
void SheMov::tabChanged(int newTab){
@@ -606,6 +608,10 @@ void SheMov::readSettings(){
if(winState){
setWindowState(Qt::WindowMaximized);
}
+ int currentTab = s.value("ui/selectedtab", 0).toInt();
+ if(currentTab < mTab->count() && currentTab != mTab->currentIndex()){
+ mTab->setCurrentIndex(currentTab);
+ }
int filesMode = s.value("ui/filestreemode", FilesTreeModel::Normal).toInt();
switch(filesMode){
case FilesTreeModel::Normal:
diff --git a/shemov.h b/shemov.h
index 57e9fda..547fbd2 100644
--- a/shemov.h
+++ b/shemov.h
@@ -44,6 +44,9 @@ class SheMov : public QMainWindow {
void newMovieWizardWithFiles();
void setSize(qint64 size);
+ signals:
+ void configChanged();
+
private:
void createStatusbar();
void createActions();