Fix imageclipboard saveImage().
This commit is contained in:
parent
603cb33042
commit
6bf7e7e0c9
|
@ -125,7 +125,7 @@ Item {
|
||||||
background: RippleEffect {
|
background: RippleEffect {
|
||||||
onClicked: {
|
onClicked: {
|
||||||
var localPath = StandardPaths.writableLocation(StandardPaths.CacheLocation) + "/screenshots/" + (new Date()).getTime() + ".png"
|
var localPath = StandardPaths.writableLocation(StandardPaths.CacheLocation) + "/screenshots/" + (new Date()).getTime() + ".png"
|
||||||
imageClipboard.saveImage(localPath)
|
if (!imageClipboard.saveImage(localPath)) return
|
||||||
roomPanelInput.attach(localPath)
|
roomPanelInput.attach(localPath)
|
||||||
attachDialog.close()
|
attachDialog.close()
|
||||||
}
|
}
|
||||||
|
|
|
@ -301,7 +301,7 @@ Control {
|
||||||
Keys.onReturnPressed: {
|
Keys.onReturnPressed: {
|
||||||
if (event.modifiers & Qt.ShiftModifier) {
|
if (event.modifiers & Qt.ShiftModifier) {
|
||||||
insert(cursorPosition, "\n")
|
insert(cursorPosition, "\n")
|
||||||
} else if (text) {
|
} else {
|
||||||
postMessage(text)
|
postMessage(text)
|
||||||
text = ""
|
text = ""
|
||||||
closeAll()
|
closeAll()
|
||||||
|
@ -353,7 +353,6 @@ Control {
|
||||||
}
|
}
|
||||||
|
|
||||||
function postMessage(text) {
|
function postMessage(text) {
|
||||||
if (text.trim().length === 0) { return }
|
|
||||||
if(!currentRoom) { return }
|
if(!currentRoom) { return }
|
||||||
|
|
||||||
if (hasAttachment) {
|
if (hasAttachment) {
|
||||||
|
@ -362,6 +361,8 @@ Control {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (text.trim().length === 0) { return }
|
||||||
|
|
||||||
var PREFIX_ME = '/me '
|
var PREFIX_ME = '/me '
|
||||||
var PREFIX_NOTICE = '/notice '
|
var PREFIX_NOTICE = '/notice '
|
||||||
var PREFIX_RAINBOW = '/rainbow '
|
var PREFIX_RAINBOW = '/rainbow '
|
||||||
|
|
16
spectral.pro
16
spectral.pro
|
@ -42,9 +42,7 @@ HEADERS += \
|
||||||
include/hoedown/escape.h \
|
include/hoedown/escape.h \
|
||||||
include/hoedown/html.h \
|
include/hoedown/html.h \
|
||||||
include/hoedown/stack.h \
|
include/hoedown/stack.h \
|
||||||
include/hoedown/version.h \
|
include/hoedown/version.h
|
||||||
src/imageclipboard.h \
|
|
||||||
src/matriximageprovider.h
|
|
||||||
|
|
||||||
SOURCES += \
|
SOURCES += \
|
||||||
include/hoedown/autolink.c \
|
include/hoedown/autolink.c \
|
||||||
|
@ -55,9 +53,7 @@ SOURCES += \
|
||||||
include/hoedown/html_blocks.c \
|
include/hoedown/html_blocks.c \
|
||||||
include/hoedown/html_smartypants.c \
|
include/hoedown/html_smartypants.c \
|
||||||
include/hoedown/stack.c \
|
include/hoedown/stack.c \
|
||||||
include/hoedown/version.c \
|
include/hoedown/version.c
|
||||||
src/imageclipboard.cpp \
|
|
||||||
src/matriximageprovider.cpp
|
|
||||||
|
|
||||||
# The following define makes your compiler emit warnings if you use
|
# The following define makes your compiler emit warnings if you use
|
||||||
# any feature of Qt which as been marked deprecated (the exact warnings
|
# any feature of Qt which as been marked deprecated (the exact warnings
|
||||||
|
@ -128,7 +124,9 @@ HEADERS += \
|
||||||
src/accountlistmodel.h \
|
src/accountlistmodel.h \
|
||||||
src/spectraluser.h \
|
src/spectraluser.h \
|
||||||
src/notifications/manager.h \
|
src/notifications/manager.h \
|
||||||
src/utils.h
|
src/utils.h \
|
||||||
|
src/imageclipboard.h \
|
||||||
|
src/matriximageprovider.h
|
||||||
|
|
||||||
SOURCES += src/main.cpp \
|
SOURCES += src/main.cpp \
|
||||||
src/controller.cpp \
|
src/controller.cpp \
|
||||||
|
@ -139,7 +137,9 @@ SOURCES += src/main.cpp \
|
||||||
src/userlistmodel.cpp \
|
src/userlistmodel.cpp \
|
||||||
src/accountlistmodel.cpp \
|
src/accountlistmodel.cpp \
|
||||||
src/spectraluser.cpp \
|
src/spectraluser.cpp \
|
||||||
src/utils.cpp
|
src/utils.cpp \
|
||||||
|
src/imageclipboard.cpp \
|
||||||
|
src/matriximageprovider.cpp
|
||||||
|
|
||||||
unix:!mac {
|
unix:!mac {
|
||||||
SOURCES += src/notifications/managerlinux.cpp
|
SOURCES += src/notifications/managerlinux.cpp
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
#include "imageclipboard.h"
|
#include "imageclipboard.h"
|
||||||
|
|
||||||
|
#include <QDir>
|
||||||
|
#include <QFileInfo>
|
||||||
#include <QGuiApplication>
|
#include <QGuiApplication>
|
||||||
#include <QUrl>
|
#include <QUrl>
|
||||||
|
#include <QtDebug>
|
||||||
|
|
||||||
ImageClipboard::ImageClipboard(QObject* parent)
|
ImageClipboard::ImageClipboard(QObject* parent)
|
||||||
: QObject(parent), m_clipboard(QGuiApplication::clipboard()) {
|
: QObject(parent), m_clipboard(QGuiApplication::clipboard()) {
|
||||||
|
@ -17,10 +20,21 @@ QImage ImageClipboard::image() {
|
||||||
return m_clipboard->image();
|
return m_clipboard->image();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ImageClipboard::saveImage(const QUrl& localPath) {
|
bool ImageClipboard::saveImage(const QUrl& localPath) {
|
||||||
|
if (!localPath.isLocalFile())
|
||||||
|
return false;
|
||||||
|
|
||||||
auto i = image();
|
auto i = image();
|
||||||
|
|
||||||
if (i.isNull()) return;
|
if (i.isNull())
|
||||||
|
return false;
|
||||||
|
|
||||||
i.save(localPath.toString());
|
QString path = QFileInfo(localPath.toString()).absolutePath();
|
||||||
|
QDir dir;
|
||||||
|
if (!dir.exists(path))
|
||||||
|
dir.mkpath(path);
|
||||||
|
|
||||||
|
i.save(localPath.toLocalFile());
|
||||||
|
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,14 +16,13 @@ class ImageClipboard : public QObject {
|
||||||
bool hasImage();
|
bool hasImage();
|
||||||
QImage image();
|
QImage image();
|
||||||
|
|
||||||
|
Q_INVOKABLE bool saveImage(const QUrl& localPath);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
QClipboard* m_clipboard;
|
QClipboard* m_clipboard;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void imageChanged();
|
void imageChanged();
|
||||||
|
|
||||||
public slots:
|
|
||||||
void saveImage(const QUrl& localPath);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // IMAGECLIPBOARD_H
|
#endif // IMAGECLIPBOARD_H
|
||||||
|
|
Loading…
Reference in New Issue