1 #include "mainwindow.h"
2 #include "thumbnaildelegate.h"
3 #include "thumbnailview.h"
5 #include <QApplication>
11 ///////////////////////////////////////////////////////////////////////////////
12 /// \brief ThumbnailView::ThumbnailView
13 /// \param parent 親ウィジェット
17 ThumbnailView::ThumbnailView(QWidget *parent) :
21 setItemDelegate(new ThumbnailDelegate(this));
25 ///////////////////////////////////////////////////////////////////////////////
26 /// \brief ThumbnailView::initialize
27 /// \param w メインウィンドウオブジェクト
31 void ThumbnailView::initialize(MainWindow *w)
33 qDebug() << "ThumbnailView::initialize()";
35 connect(this, SIGNAL(doubleClicked(QModelIndex)), w, SLOT(onOpen(QModelIndex)));
36 connect(&m_p, SIGNAL(copyItems(QStringList,QString)), w, SLOT(copyItems(QStringList,QString)));
37 connect(&m_p, SIGNAL(moveItems(QStringList,QString)), w, SLOT(moveItems(QStringList,QString)));
39 installEventFilter(w);
40 viewport()->installEventFilter(&m_p);
41 viewport()->installEventFilter(w);
44 ///////////////////////////////////////////////////////////////////////////////
45 /// \brief ThumbnailView::onScaleDown
49 void ThumbnailView::onScaleDown()
51 qDebug() << "ThumbnailView::onScaleDown()";
53 static_cast<ThumbnailDelegate*>(itemDelegate())->scaleDown();
54 folderModel()->clearPixmapCache();
57 ///////////////////////////////////////////////////////////////////////////////
58 /// \brief ThumbnailView::onScaleUp
62 void ThumbnailView::onScaleUp()
64 qDebug() << "ThumbnailView::onScaleUp()";
66 static_cast<ThumbnailDelegate*>(itemDelegate())->scaleUp();
67 folderModel()->clearPixmapCache();
70 ///////////////////////////////////////////////////////////////////////////////
71 /// \brief ThumbnailView::setModel
76 void ThumbnailView::setModel(QAbstractItemModel *model)
79 this->model()->disconnect(this);
82 QListView::setModel(model);
85 connect(this->model(), SIGNAL(modelAboutToBeReset()), &m_p, SLOT(model_PreReset()));
86 connect(this->model(), SIGNAL(modelReset()), &m_p, SLOT(model_PostReset()));
90 ///////////////////////////////////////////////////////////////////////////////
91 /// \brief ThumbnailView::setVisible
92 /// \param visible 表示(true)/非表示(false)
96 void ThumbnailView::setVisible(bool visible)
99 static_cast<ThumbnailDelegate*>(itemDelegate())->resetScale();
100 folderModel()->clearPixmapCache();
103 QListView::setVisible(visible);