Compare commits

...

2 Commits

Author SHA1 Message Date
nou 3f88e5fe83 Reopen console on windows when started from cmd.exe 2026-03-26 14:46:23 +01:00
nou 6a537642ab Add copy files to database view 2026-03-22 21:10:04 +01:00
3 changed files with 32 additions and 0 deletions
+20
View File
@@ -9,6 +9,9 @@
#include <QMenu> #include <QMenu>
#include <QContextMenuEvent> #include <QContextMenuEvent>
#include <QRegularExpression> #include <QRegularExpression>
#include <QGuiApplication>
#include <QClipboard>
#include <QMimeData>
#include <iostream> #include <iostream>
#include "batchprocessing.h" #include "batchprocessing.h"
@@ -263,6 +266,7 @@ void DatabaseTableView::contextMenuEvent(QContextMenuEvent *event)
QAction *unmark = menu.addAction(tr("Unmark")); QAction *unmark = menu.addAction(tr("Unmark"));
QAction *open = menu.addAction(tr("Open")); QAction *open = menu.addAction(tr("Open"));
QAction *openDirAction = menu.addAction(tr("Open file location")); QAction *openDirAction = menu.addAction(tr("Open file location"));
QAction *copyPath = menu.addAction(tr("Copy files"));
QAction *a = menu.exec(event->globalPos()); QAction *a = menu.exec(event->globalPos());
if(a == nullptr) if(a == nullptr)
@@ -278,6 +282,22 @@ void DatabaseTableView::contextMenuEvent(QContextMenuEvent *event)
emit openFile(indexes); emit openFile(indexes);
else if(a == openDirAction) else if(a == openDirAction)
emit openDir(indexes); emit openDir(indexes);
else if(a == copyPath)
{
QStringList paths;
QList<QUrl> urls;
for(auto &index : indexes)
{
QString path = index.siblingAtColumn(0).data().toString();
paths.append(path);
urls.append(QUrl::fromLocalFile(path));
}
QMimeData *data = new QMimeData;
data->setUrls(urls);
data->setText(paths.join('\n'));
QClipboard *clipboard = QGuiApplication::clipboard();
clipboard->setMimeData(data);
}
} }
DataBaseView::DataBaseView(Database *database, QWidget *parent) : QWidget(parent) DataBaseView::DataBaseView(Database *database, QWidget *parent) : QWidget(parent)
+11
View File
@@ -6,6 +6,9 @@
#include <QSettings> #include <QSettings>
#include <stdlib.h> #include <stdlib.h>
#include "../thumbnailer/genthumbnail.h" #include "../thumbnailer/genthumbnail.h"
#ifdef Q_OS_WIN64
#include <windows.h>
#endif
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
@@ -19,6 +22,14 @@ int main(int argc, char *argv[])
bool useGLES = true; bool useGLES = true;
#endif #endif
#ifdef Q_OS_WIN64
if(AttachConsole(ATTACH_PARENT_PROCESS))
{
freopen("CONOUT$", "w", stdout);
freopen("CONOUT$", "w", stderr);
}
#endif
QCommandLineParser cmd; QCommandLineParser cmd;
cmd.addOption({"gl", "Use desktop OpenGL. This is default on x86 and MacOS platform."}); cmd.addOption({"gl", "Use desktop OpenGL. This is default on x86 and MacOS platform."});
cmd.addOption({"gles", "Use OpenGL ES. This is default on ARM platform."}); cmd.addOption({"gles", "Use OpenGL ES. This is default on ARM platform."});
+1
View File
@@ -153,6 +153,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
databaseViewDock->setWidget(m_databaseView); databaseViewDock->setWidget(m_databaseView);
databaseViewDock->setObjectName("databaseViewDock"); databaseViewDock->setObjectName("databaseViewDock");
databaseViewDock->hide(); databaseViewDock->hide();
connect(databaseViewDock, &QDockWidget::visibilityChanged, m_databaseView, &DataBaseView::visible);
addDockWidget(Qt::BottomDockWidgetArea, databaseViewDock); addDockWidget(Qt::BottomDockWidgetArea, databaseViewDock);
QDockWidget *filetreeDock = nullptr; QDockWidget *filetreeDock = nullptr;