<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>