mirror of
				https://github.com/subsurface/subsurface.git
				synced 2025-02-19 22:16:15 +00:00 
			
		
		
		
	Having subsurface-core as a directory name really messes with autocomplete and is obviously redundant. Simmilarly, qt-mobile caused an autocomplete conflict and also was inconsistent with the desktop-widget name for the directory containing the "other" UI. And while cleaning up the resulting change in the path name for include files, I decided to clean up those even more to make them consistent overall. This could have been handled in more commits, but since this requires a make clean before the build, it seemed more sensible to do it all in one. Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
		
			
				
	
	
		
			58 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			58 lines
		
	
	
	
		
			1.8 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "desktop-widgets/divepicturewidget.h"
 | |
| #include "qt-models/divepicturemodel.h"
 | |
| #include "core/metrics.h"
 | |
| #include "core/dive.h"
 | |
| #include "core/divelist.h"
 | |
| #include <unistd.h>
 | |
| #include <QtConcurrentMap>
 | |
| #include <QtConcurrentRun>
 | |
| #include <QFuture>
 | |
| #include <QDir>
 | |
| #include <QCryptographicHash>
 | |
| #include <QNetworkAccessManager>
 | |
| #include <QNetworkReply>
 | |
| #include "desktop-widgets/mainwindow.h"
 | |
| #include "core/qthelper.h"
 | |
| #include <QStandardPaths>
 | |
| #include <QtWidgets>
 | |
| 
 | |
| DivePictureWidget::DivePictureWidget(QWidget *parent) : QListView(parent)
 | |
| {
 | |
| 	connect(this, SIGNAL(doubleClicked(const QModelIndex &)), this, SLOT(doubleClicked(const QModelIndex &)));
 | |
| }
 | |
| 
 | |
| void DivePictureWidget::doubleClicked(const QModelIndex &index)
 | |
| {
 | |
| 	QString filePath = model()->data(index, Qt::DisplayPropertyRole).toString();
 | |
| 	emit photoDoubleClicked(localFilePath(filePath));
 | |
| }
 | |
| 
 | |
| 
 | |
| void DivePictureWidget::mousePressEvent(QMouseEvent *event)
 | |
| {
 | |
| 	ulong doubleClickInterval = static_cast<ulong>(qApp->styleHints()->mouseDoubleClickInterval());
 | |
| 	static ulong lasttime = 0L;
 | |
| 
 | |
| 	if (event->timestamp() - lasttime <= doubleClickInterval) {
 | |
| 		doubleClicked(indexAt(event->pos()));
 | |
| 	} else {
 | |
| 		lasttime = event->timestamp();
 | |
| 		QPixmap pixmap = model()->data(indexAt(event->pos()), Qt::DecorationRole).value<QPixmap>();
 | |
| 
 | |
| 		QString filename = model()->data(indexAt(event->pos()), Qt::DisplayPropertyRole).toString();
 | |
| 
 | |
| 		QByteArray itemData;
 | |
| 		QDataStream dataStream(&itemData, QIODevice::WriteOnly);
 | |
| 		dataStream << filename << event->pos();
 | |
| 
 | |
| 		QMimeData *mimeData = new QMimeData;
 | |
| 		mimeData->setData("application/x-subsurfaceimagedrop", itemData);
 | |
| 
 | |
| 		QDrag *drag = new QDrag(this);
 | |
| 		drag->setMimeData(mimeData);
 | |
| 		drag->setPixmap(pixmap);
 | |
| 		drag->setHotSpot(event->pos() - rectForIndex(indexAt(event->pos())).topLeft());
 | |
| 
 | |
| 		drag->exec(Qt::CopyAction | Qt::MoveAction, Qt::CopyAction);
 | |
| 	}
 | |
| }
 |