Pasteable textinput

This commit is contained in:
Nicolas Werner 2020-10-31 23:24:07 +01:00
parent 35066900d1
commit 7a74b86340
7 changed files with 104 additions and 3 deletions

46
src/timeline/InputBar.cpp Normal file
View file

@ -0,0 +1,46 @@
#include "InputBar.h"
#include <QClipboard>
#include <QGuiApplication>
#include <QMimeData>
#include "Logging.h"
bool
InputBar::paste(bool fromMouse)
{
const QMimeData *md = nullptr;
if (fromMouse) {
if (QGuiApplication::clipboard()->supportsSelection()) {
md = QGuiApplication::clipboard()->mimeData(QClipboard::Selection);
}
} else {
md = QGuiApplication::clipboard()->mimeData(QClipboard::Clipboard);
}
if (!md)
return false;
if (md->hasImage()) {
return true;
} else {
nhlog::ui()->debug("formats: {}", md->formats().join(", ").toStdString());
return false;
}
}
void
InputBar::updateState(int selectionStart_, int selectionEnd_, int cursorPosition_, QString text_)
{
selectionStart = selectionStart_;
selectionEnd = selectionEnd_;
cursorPosition = cursorPosition_;
text = text_;
}
void
InputBar::send()
{
nhlog::ui()->debug("Send: {}", text.toStdString());
}