<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-10-20 23:55 GMT+02:00 Dirk Hohndel <span dir="ltr"><<a href="mailto:dirk@hohndel.org" target="_blank">dirk@hohndel.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For 4.5.1 I'm not sure... it does change user visible behavior, would<br>
require new strings, user manual updates... I'd say no.<br>
But once I cut 4.5.1 I will take this for 4.6<br></blockquote><div>I wish you could consider this for 4.5.1.</div><div>Yes it does add strings, depending on how our translation works only 2, worst case 4.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
/D<br>
<div><div class="h5"><br>
On Tue, Oct 20, 2015 at 10:08:29PM +0200, Guido Lerch wrote:<br>
> adding context menu to images for multi selection deletion and deleting all<br>
> images.<br>
><br>
> ideally we add a menu for adding dives as well but I have not done this<br>
> yet, waiting for<br>
> you input.<br>
><br>
> purpose of this: usability<br>
><br>
> is someone working on getting images and eventually multi format files in<br>
> to git yet ?<br>
><br>
> --<br>
> Best regards,<br>
> Guido<br>
<br>
</div></div>> From 65241f94f08ebcd5165d488067b32ba64c0620dc Mon Sep 17 00:00:00 2001<br>
> From: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> Date: Tue, 20 Oct 2015 21:02:41 +0200<br>
> Subject: [PATCH 1/6] Adding context menu to Images<br>
><br>
> Allowing to delete selected or all photos from the<br>
> dive images<br>
><br>
> Signed-off-by: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> ---<br>
> qt-ui/maintab.cpp | 9 +++++++++<br>
> qt-ui/maintab.h | 1 +<br>
> 2 files changed, 10 insertions(+)<br>
><br>
> diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp<br>
> index 0afb7b4..a1f0438 100644<br>
> --- a/qt-ui/maintab.cpp<br>
> +++ b/qt-ui/maintab.cpp<br>
> @@ -1610,3 +1610,12 @@ void MainTab::showAndTriggerEditSelective(struct dive_components what)<br>
> weightModel->changed = true;<br>
> }<br>
> }<br>
> +<br>
> +void MainTab::contextMenuEvent(QContextMenuEvent *event)<br>
> +{<br>
> + QMenu popup(this);<br>
> + popup.addAction(tr("Delete selected images"), this, SLOT(removeSelectedPhotos()));<br>
> + popup.addAction(tr("Delete all images"), this, SLOT(removeAllPhotos()));<br>
> + QAction *actionTaken = popup.exec(event->globalPos());<br>
> + event->accept();<br>
> +}<br>
> diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h<br>
> index 20b4da6..7b2bb86 100644<br>
> --- a/qt-ui/maintab.h<br>
> +++ b/qt-ui/maintab.h<br>
> @@ -54,6 +54,7 @@ public:<br>
> void refreshDisplayedDiveSite();<br>
> void nextInputField(QKeyEvent *event);<br>
> void showAndTriggerEditSelective(struct dive_components what);<br>
> + void contextMenuEvent(QContextMenuEvent *event);<br>
><br>
> signals:<br>
> void addDiveFinished();<br>
> --<br>
> 2.3.8 (Apple Git-58)<br>
><br>
<br>
> From bf989a642f9bb50cf6cf6f266fb0f8407f3916c9 Mon Sep 17 00:00:00 2001<br>
> From: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> Date: Tue, 20 Oct 2015 21:03:53 +0200<br>
> Subject: [PATCH 2/6] Context menu support for images<br>
><br>
> Altering DivePicture model to allow deleting images<br>
> from the QListView without immediate updating of the<br>
> list. Updating is determined by an additioanl parameter<br>
><br>
> Signed-off-by: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> ---<br>
> qt-models/divepicturemodel.cpp | 10 ++++++----<br>
> qt-models/divepicturemodel.h | 2 +-<br>
> 2 files changed, 7 insertions(+), 5 deletions(-)<br>
><br>
> diff --git a/qt-models/divepicturemodel.cpp b/qt-models/divepicturemodel.cpp<br>
> index 1f37423..bb5db33 100644<br>
> --- a/qt-models/divepicturemodel.cpp<br>
> +++ b/qt-models/divepicturemodel.cpp<br>
> @@ -111,12 +111,14 @@ QVariant DivePictureModel::data(const QModelIndex &index, int role) const<br>
> return ret;<br>
> }<br>
><br>
> -void DivePictureModel::removePicture(const QString &fileUrl)<br>
> +void DivePictureModel::removePicture(const QString &fileUrl, bool last)<br>
> {<br>
> dive_remove_picture(fileUrl.toUtf8().data());<br>
> - copy_dive(current_dive, &displayed_dive);<br>
> - updateDivePictures();<br>
> - mark_divelist_changed(true);<br>
> + if (last) {<br>
> + copy_dive(current_dive, &displayed_dive);<br>
> + updateDivePictures();<br>
> + mark_divelist_changed(true);<br>
> + }<br>
> }<br>
><br>
> int DivePictureModel::rowCount(const QModelIndex &parent) const<br>
> diff --git a/qt-models/divepicturemodel.h b/qt-models/divepicturemodel.h<br>
> index d6393e4..7390fc5 100644<br>
> --- a/qt-models/divepicturemodel.h<br>
> +++ b/qt-models/divepicturemodel.h<br>
> @@ -33,7 +33,7 @@ public:<br>
> virtual int rowCount(const QModelIndex &parent = QModelIndex()) const;<br>
> virtual void updateDivePictures();<br>
> void updateDivePicturesWhenDone(QList<QFuture<void> >);<br>
> - void removePicture(const QString& fileUrl);<br>
> + void removePicture(const QString& fileUrl, bool last);<br>
><br>
> protected:<br>
> DivePictureModel();<br>
> --<br>
> 2.3.8 (Apple Git-58)<br>
><br>
<br>
> From a62e8f94408dded8cff07d8bec3c8cefb50200ff Mon Sep 17 00:00:00 2001<br>
> From: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> Date: Tue, 20 Oct 2015 21:07:43 +0200<br>
> Subject: [PATCH 3/6] Context menu support for images<br>
><br>
> removing obsolete code<br>
><br>
> Signed-off-by: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> ---<br>
> qt-ui/maintab.cpp | 7 -------<br>
> 1 file changed, 7 deletions(-)<br>
><br>
> diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp<br>
> index a1f0438..595e9da 100644<br>
> --- a/qt-ui/maintab.cpp<br>
> +++ b/qt-ui/maintab.cpp<br>
> @@ -177,13 +177,6 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),<br>
> ui.cylinders->view()->horizontalHeader()->addAction(action);<br>
> }<br>
><br>
> - QAction *deletePhoto = new QAction(this);<br>
> - deletePhoto->setShortcut(Qt::Key_Delete);<br>
> - deletePhoto->setShortcutContext(Qt::WidgetShortcut);<br>
> - ui.photosView->addAction(deletePhoto);<br>
> - ui.photosView->setSelectionMode(QAbstractItemView::SingleSelection);<br>
> - connect(deletePhoto, SIGNAL(triggered(bool)), this, SLOT(removeSelectedPhotos()));<br>
> -<br>
> ui.waitingSpinner->setRoundness(70.0);<br>
> ui.waitingSpinner->setMinimumTrailOpacity(15.0);<br>
> ui.waitingSpinner->setTrailFadePercentage(70.0);<br>
> --<br>
> 2.3.8 (Apple Git-58)<br>
><br>
<br>
> From f7f3e711262989f2ae095fc49af173b3c1909167 Mon Sep 17 00:00:00 2001<br>
> From: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> Date: Tue, 20 Oct 2015 21:08:59 +0200<br>
> Subject: [PATCH 4/6] Context menu support for images<br>
><br>
> Adding modified code to support deletion of selected images as<br>
> well as deleting of all images (with warning messagebox)<br>
><br>
> Signed-off-by: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> ---<br>
> qt-ui/maintab.cpp | 25 ++++++++++++++++++++++---<br>
> qt-ui/maintab.h | 1 +<br>
> 2 files changed, 23 insertions(+), 3 deletions(-)<br>
><br>
> diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp<br>
> index 595e9da..88f7903 100644<br>
> --- a/qt-ui/maintab.cpp<br>
> +++ b/qt-ui/maintab.cpp<br>
> @@ -1556,12 +1556,31 @@ void MainTab::photoDoubleClicked(const QString filePath)<br>
><br>
> void MainTab::removeSelectedPhotos()<br>
> {<br>
> + bool last = false;<br>
> if (!ui.photosView->selectionModel()->hasSelection())<br>
> return;<br>
> + QModelIndexList indexes = ui.photosView->selectionModel()->selectedRows();<br>
> + if (indexes.count() == 0)<br>
> + indexes = ui.photosView->selectionModel()->selectedIndexes();<br>
> + QModelIndex photo = indexes.first();<br>
> + do {<br>
> + photo = indexes.first();<br>
> + last = indexes.count() == 1;<br>
> + if (photo.isValid()) {<br>
> + QString fileUrl = photo.data(Qt::DisplayPropertyRole).toString();<br>
> + if (fileUrl.length() > 0)<br>
> + DivePictureModel::instance()->removePicture(fileUrl, last);<br>
> + }<br>
> + indexes.removeFirst();<br>
> + } while(!indexes.isEmpty());<br>
> +}<br>
><br>
> - QModelIndex photoIndex = ui.photosView->selectionModel()->selectedIndexes().first();<br>
> - QString fileUrl = photoIndex.data(Qt::DisplayPropertyRole).toString();<br>
> - DivePictureModel::instance()->removePicture(fileUrl);<br>
> +void MainTab::removeAllPhotos()<br>
> +{<br>
> + if (QMessageBox::warning(this, tr("Deleting Images"), tr("Are you sure you want to delete all images?"), QMessageBox::Cancel | QMessageBox::Ok, QMessageBox::Cancel) != QMessageBox::Cancel ) {<br>
> + ui.photosView->selectAll();<br>
> + removeSelectedPhotos();<br>
> + }<br>
> }<br>
><br>
> #define SHOW_SELECTIVE(_component) \<br>
> diff --git a/qt-ui/maintab.h b/qt-ui/maintab.h<br>
> index 7b2bb86..c3f6649 100644<br>
> --- a/qt-ui/maintab.h<br>
> +++ b/qt-ui/maintab.h<br>
> @@ -97,6 +97,7 @@ slots:<br>
> void escDetected(void);<br>
> void photoDoubleClicked(const QString filePath);<br>
> void removeSelectedPhotos();<br>
> + void removeAllPhotos();<br>
> void showLocation();<br>
> void enableGeoLookupEdition();<br>
> void disableGeoLookupEdition();<br>
> --<br>
> 2.3.8 (Apple Git-58)<br>
><br>
<br>
> From 16905ded34691e42655de562147a4e6e456cf4c4 Mon Sep 17 00:00:00 2001<br>
> From: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> Date: Tue, 20 Oct 2015 21:10:44 +0200<br>
> Subject: [PATCH 5/6] Context menu support for images<br>
><br>
> Required change within DivePictureItem, adding update<br>
> parameter defaulted to true in this case.<br>
><br>
> Signed-off-by: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> ---<br>
> qt-ui/profile/divepixmapitem.cpp | 2 +-<br>
> 1 file changed, 1 insertion(+), 1 deletion(-)<br>
><br>
> diff --git a/qt-ui/profile/divepixmapitem.cpp b/qt-ui/profile/divepixmapitem.cpp<br>
> index 581f6f9..2be21ae 100644<br>
> --- a/qt-ui/profile/divepixmapitem.cpp<br>
> +++ b/qt-ui/profile/divepixmapitem.cpp<br>
> @@ -126,5 +126,5 @@ void DivePictureItem::mousePressEvent(QGraphicsSceneMouseEvent *event)<br>
><br>
> void DivePictureItem::removePicture()<br>
> {<br>
> - DivePictureModel::instance()->removePicture(fileUrl);<br>
> + DivePictureModel::instance()->removePicture(fileUrl, true);<br>
> }<br>
> --<br>
> 2.3.8 (Apple Git-58)<br>
><br>
<br>
> From 8e48d93bf256e74ce2b483d2a11f71b8734fe12c Mon Sep 17 00:00:00 2001<br>
> From: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> Date: Tue, 20 Oct 2015 22:04:40 +0200<br>
> Subject: [PATCH 6/6] Context menu suport for images<br>
><br>
> Enabling multi selection<br>
><br>
> Signed-off-by: Guido Lerch <<a href="mailto:guido.lerch@gmail.com">guido.lerch@gmail.com</a>><br>
> ---<br>
> qt-ui/maintab.cpp | 1 +<br>
> 1 file changed, 1 insertion(+)<br>
><br>
> diff --git a/qt-ui/maintab.cpp b/qt-ui/maintab.cpp<br>
> index 88f7903..57e9a36 100644<br>
> --- a/qt-ui/maintab.cpp<br>
> +++ b/qt-ui/maintab.cpp<br>
> @@ -198,6 +198,7 @@ MainTab::MainTab(QWidget *parent) : QTabWidget(parent),<br>
> acceptingEdit = false;<br>
><br>
> ui.diveTripLocation->hide();<br>
> + ui.photosView->setSelectionMode(QAbstractItemView::MultiSelection);<br>
> }<br>
><br>
> MainTab::~MainTab()<br>
<span class="HOEnZb"><font color="#888888">> --<br>
> 2.3.8 (Apple Git-58)<br>
><br>
<br>
> _______________________________________________<br>
> subsurface mailing list<br>
> <a href="mailto:subsurface@subsurface-divelog.org">subsurface@subsurface-divelog.org</a><br>
> <a href="http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface" rel="noreferrer" target="_blank">http://lists.subsurface-divelog.org/cgi-bin/mailman/listinfo/subsurface</a><br>
<br>
</font></span></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Best regards,<div>Guido</div></div></div>
</div></div>