CameraResources.Player : settings.mode == Camera.VideoMode ? CameraResources.Video :
CameraResources.Image
+ property bool isCurrent: mainView.currentIndex == 2 && !mainView.moving
+ property bool inCameraMode: mainView.currentIndex == 1 && !mainView.moving
+
+ onIsCurrentChanged: {
+ if (isCurrent) {
+ postCaptureModel.reload()
+ }
+ }
+
+ onInCameraModeChanged: {
+ if (inCameraMode) {
+ postCaptureModel.clear()
+ }
+ }
+
Connections {
target: view.currentItem
onPlayingChanged: {
}
}
- property variant postCaptureModel: postCaptureModelLoader.item ?
- postCaptureModelLoader.item.model : null
- property bool loadModel: mainView.currentIndex == 2 && Qt.application.active
-
- Loader {
- id: postCaptureModelLoader
- sourceComponent: loadModel ? postCaptureModelComponent : undefined
- }
-
- // We have to do it that way because Loader does not support non-visual elements.
- Component {
- id: postCaptureModelComponent
-
- Item {
- property alias model: postCaptureModel
-
- PostCaptureModel {
- id: postCaptureModel
- imagePath: platformSettings.imagePath
- videoPath: platformSettings.videoPath
-
- Component.onCompleted: reload()
- }
- }
+ PostCaptureModel {
+ id: postCaptureModel
+ imagePath: platformSettings.imagePath
+ videoPath: platformSettings.videoPath
}
Timer {
sort(0, Qt::DescendingOrder);
}
+void PostCaptureModel::clear() {
+ if (m_model->rowCount(QModelIndex()) == 0) {
+ return;
+ }
+
+ m_data.clear();
+
+ m_model->setFiles(QStringList());
+}
+
bool PostCaptureModel::lessThan(const QModelIndex& left, const QModelIndex& right) const {
return info(sourceModel()->data(left, Qt::DisplayRole).toString()).created() <
info(sourceModel()->data(right, Qt::DisplayRole).toString()).created();