mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
UI code to merge dive sites
Get the Qt data structures and convert to something that we can use in our C - core. Signed-off-by: Tomaz Canabrava <tomaz.canabrava@intel.com> Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
This commit is contained in:
parent
560426bf82
commit
e36e4d1faa
6 changed files with 24 additions and 2 deletions
|
@ -11,6 +11,7 @@
|
|||
#include <QDebug>
|
||||
#include <QShowEvent>
|
||||
#include <QItemSelectionModel>
|
||||
#include <cstdlib>
|
||||
|
||||
LocationInformationWidget::LocationInformationWidget(QWidget *parent) : QGroupBox(parent), modified(false)
|
||||
{
|
||||
|
@ -56,12 +57,23 @@ bool LocationInformationWidget::eventFilter(QObject*, QEvent *ev)
|
|||
if (ui.diveSiteListView->selectionModel()->selectedIndexes().count() >= 2) {
|
||||
QContextMenuEvent *ctx = (QContextMenuEvent*) ev;
|
||||
QMenu contextMenu;
|
||||
contextMenu.addAction(tr("Merge dive Sites"), this, SLOT(merge_dive_sites()));
|
||||
contextMenu.addAction(tr("Merge dive Sites"), this, SLOT(mergeSelectedDiveSites()));
|
||||
contextMenu.exec(ctx->globalPos());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void LocationInformationWidget::mergeSelectedDiveSites() {
|
||||
QModelIndexList selection = ui.diveSiteListView->selectionModel()->selectedIndexes();
|
||||
uint32_t *selected_dive_sites = (uint32_t*) malloc(sizeof(u_int32_t) * selection.count());
|
||||
int i = 0;
|
||||
Q_FOREACH(const QModelIndex& idx, selection) {
|
||||
selected_dive_sites[i] = (uint32_t) idx.data(LocationInformationModel::UUID_ROLE).toInt();
|
||||
}
|
||||
merge_dive_sites(selected_dive_sites, i);
|
||||
free(selected_dive_sites);
|
||||
}
|
||||
|
||||
void LocationInformationWidget::updateLabels()
|
||||
{
|
||||
if (displayed_dive_site.name)
|
||||
|
|
|
@ -27,6 +27,7 @@ public slots:
|
|||
void on_diveSiteName_textChanged(const QString& text);
|
||||
void on_diveSiteNotes_textChanged();
|
||||
void reverseGeocode();
|
||||
void mergeSelectedDiveSites();
|
||||
private slots:
|
||||
void updateLabels();
|
||||
signals:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue