Code Refactoring for s3 and imgur storages, create base class for both
This commit is contained in:
6
.clang-format
Normal file
6
.clang-format
Normal file
@@ -0,0 +1,6 @@
|
||||
Language: Cpp
|
||||
BasedOnStyle: Mozilla
|
||||
IndentWidth: 4
|
||||
AccessModifierOffset: -4
|
||||
AlwaysBreakAfterDefinitionReturnType: None
|
||||
AlwaysBreakAfterReturnType: None
|
||||
@@ -87,7 +87,6 @@ SOURCES += src/main.cpp \
|
||||
src/config/filepathconfiguration.cpp \
|
||||
src/config/setshortcutwidget.cpp \
|
||||
src/config/shortcutswidget.cpp \
|
||||
src/tools/imgs3/imgs3settings.cpp \
|
||||
src/utils/configshortcuts.cpp \
|
||||
src/widgets/historywidget.cpp \
|
||||
src/utils/configenterprise.cpp \
|
||||
@@ -112,8 +111,6 @@ SOURCES += src/main.cpp \
|
||||
src/tools/circle/circletool.cpp \
|
||||
src/tools/copy/copytool.cpp \
|
||||
src/tools/exit/exittool.cpp \
|
||||
src/tools/imgur/imguruploadertool.cpp \
|
||||
src/tools/imgs3/imgs3uploadertool.cpp \
|
||||
src/tools/line/linetool.cpp \
|
||||
src/tools/marker/markertool.cpp \
|
||||
src/tools/move/movetool.cpp \
|
||||
@@ -130,8 +127,12 @@ SOURCES += src/main.cpp \
|
||||
src/cli/commandoption.cpp \
|
||||
src/cli/commandargument.cpp \
|
||||
src/utils/screenshotsaver.cpp \
|
||||
src/tools/imgur/imguruploader.cpp \
|
||||
src/tools/imgs3/imgs3uploader.cpp \
|
||||
src/tools/storage/imguploader.cpp \
|
||||
src/tools/storage/imguruploadertool.cpp \
|
||||
src/tools/storage/imguruploader.cpp \
|
||||
src/tools/storage/imgs3uploadertool.cpp \
|
||||
src/tools/storage/imgs3uploader.cpp \
|
||||
src/tools/storage/imgs3settings.cpp \
|
||||
src/widgets/loadspinner.cpp \
|
||||
src/widgets/imagelabel.cpp \
|
||||
src/widgets/notificationwidget.cpp \
|
||||
@@ -170,7 +171,6 @@ HEADERS += src/widgets/capture/buttonhandler.h \
|
||||
src/config/filepathconfiguration.h \
|
||||
src/config/setshortcutwidget.h \
|
||||
src/config/shortcutswidget.h \
|
||||
src/tools/imgs3/imgs3settings.h \
|
||||
src/utils/configshortcuts.h \
|
||||
src/widgets/historywidget.h \
|
||||
src/utils/configenterprise.h \
|
||||
@@ -196,8 +196,6 @@ HEADERS += src/widgets/capture/buttonhandler.h \
|
||||
src/tools/circle/circletool.h \
|
||||
src/tools/copy/copytool.h \
|
||||
src/tools/exit/exittool.h \
|
||||
src/tools/imgur/imguruploadertool.h \
|
||||
src/tools/imgs3/imgs3uploadertool.h \
|
||||
src/tools/line/linetool.h \
|
||||
src/tools/marker/markertool.h \
|
||||
src/tools/move/movetool.h \
|
||||
@@ -213,8 +211,12 @@ HEADERS += src/widgets/capture/buttonhandler.h \
|
||||
src/cli/commandoption.h \
|
||||
src/cli/commandargument.h \
|
||||
src/utils/screenshotsaver.h \
|
||||
src/tools/imgur/imguruploader.h \
|
||||
src/tools/imgs3/imgs3uploader.h \
|
||||
src/tools/storage/imguploader.h \
|
||||
src/tools/storage/imguruploadertool.h \
|
||||
src/tools/storage/imguruploader.h \
|
||||
src/tools/storage/imgs3uploader.h \
|
||||
src/tools/storage/imgs3uploadertool.h \
|
||||
src/tools/storage/imgs3settings.h \
|
||||
src/widgets/loadspinner.h \
|
||||
src/widgets/imagelabel.h \
|
||||
src/widgets/notificationwidget.h \
|
||||
|
||||
@@ -1,467 +0,0 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "imgs3uploader.h"
|
||||
#include "src/utils/filenamehandler.h"
|
||||
#include "src/utils/systemnotification.h"
|
||||
#include "src/widgets/loadspinner.h"
|
||||
#include "src/widgets/imagelabel.h"
|
||||
#include "src/widgets/notificationwidget.h"
|
||||
#include "src/utils/confighandler.h"
|
||||
#include "src/utils/history.h"
|
||||
#include "src/utils/configenterprise.h"
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QDesktopServices>
|
||||
#include <QShortcut>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QDrag>
|
||||
#include <QMimeData>
|
||||
#include <QBuffer>
|
||||
#include <QUrlQuery>
|
||||
#include <QNetworkRequest>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QTimer>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QHttpMultiPart>
|
||||
#include <QNetworkProxy>
|
||||
#include <QDir>
|
||||
#include <QMessageBox>
|
||||
#include <QDebug>
|
||||
|
||||
|
||||
ImgS3Uploader::ImgS3Uploader(const QPixmap &capture, QWidget *parent) :
|
||||
QWidget(parent), m_pixmap(capture)
|
||||
{
|
||||
init(tr("Upload image to S3"), tr("Uploading Image"));
|
||||
}
|
||||
|
||||
ImgS3Uploader::ImgS3Uploader(QWidget *parent) :
|
||||
QWidget(parent)
|
||||
{
|
||||
init(tr("Delete image from S3"), tr("Deleting image..."));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::init(const QString &title, const QString &label) {
|
||||
m_imageLabel = nullptr;
|
||||
m_spinner = nullptr;
|
||||
|
||||
m_proxy = nullptr;
|
||||
m_NetworkAMUpload = nullptr;
|
||||
m_NetworkAMGetCreds = nullptr;
|
||||
m_NetworkAMRemove = nullptr;
|
||||
|
||||
m_success = false;
|
||||
setWindowTitle(title);
|
||||
setWindowIcon(QIcon(":img/app/flameshot.svg"));
|
||||
|
||||
m_spinner = new LoadSpinner(this);
|
||||
m_spinner->setColor(ConfigHandler().uiMainColorValue());
|
||||
m_spinner->start();
|
||||
|
||||
m_infoLabel = new QLabel(label);
|
||||
m_infoLabel->setAlignment(Qt::AlignCenter);
|
||||
|
||||
m_vLayout = new QVBoxLayout();
|
||||
setLayout(m_vLayout);
|
||||
m_vLayout->addWidget(m_spinner, 0, Qt::AlignHCenter);
|
||||
m_vLayout->addWidget(m_infoLabel);
|
||||
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
}
|
||||
|
||||
QNetworkProxy *ImgS3Uploader::proxy() {
|
||||
if(m_proxy == nullptr) {
|
||||
initProxy();
|
||||
}
|
||||
return m_proxy;
|
||||
}
|
||||
|
||||
QNetworkProxy *ImgS3Uploader::initProxy() {
|
||||
// get enterprise settings
|
||||
ConfigEnterprise *configEnterprise = new ConfigEnterprise();
|
||||
|
||||
// get proxy settings from "config.ini" file
|
||||
QSettings *settings = configEnterprise->settings();
|
||||
QString httpProxyHost = settings->value("HTTP_PROXY_HOST").toString();
|
||||
|
||||
if(httpProxyHost.length() > 0) {
|
||||
m_proxy = new QNetworkProxy();
|
||||
|
||||
if(settings->contains("HTTP_PROXY_TYPE")) {
|
||||
switch (settings->value("HTTP_PROXY_TYPE").toInt()) {
|
||||
case 0:
|
||||
m_proxy->setType(QNetworkProxy::DefaultProxy);
|
||||
break;
|
||||
case 1:
|
||||
m_proxy->setType(QNetworkProxy::Socks5Proxy);
|
||||
break;
|
||||
case 2:
|
||||
m_proxy->setType(QNetworkProxy::NoProxy);
|
||||
break;
|
||||
case 4:
|
||||
m_proxy->setType(QNetworkProxy::HttpCachingProxy);
|
||||
break;
|
||||
case 5:
|
||||
m_proxy->setType(QNetworkProxy::FtpCachingProxy);
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
m_proxy->setType(QNetworkProxy::HttpProxy);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_proxy->setHostName(httpProxyHost);
|
||||
int nProxyPort = 3128;
|
||||
if(settings->contains("HTTP_PROXY_PORT")) {
|
||||
nProxyPort = settings->value("HTTP_PROXY_PORT").toInt();
|
||||
}
|
||||
m_proxy->setPort(nProxyPort);
|
||||
|
||||
if(settings->contains("HTTP_PROXY_USER")) {
|
||||
qDebug() << "Proxy user" << settings->value("HTTP_PROXY_PASSWORD").toString();
|
||||
m_proxy->setUser(settings->value("HTTP_PROXY_USER").toString());
|
||||
}
|
||||
if(settings->contains("HTTP_PROXY_PASSWORD")) {
|
||||
qDebug() << "Proxy password is not empty";
|
||||
m_proxy->setPassword(settings->value("HTTP_PROXY_PASSWORD").toString());
|
||||
}
|
||||
}
|
||||
else {
|
||||
// Get proxy settings from OS settings
|
||||
QNetworkProxyQuery q(QUrl(m_s3Settings.credsUrl().toUtf8()));
|
||||
q.setQueryType(QNetworkProxyQuery::UrlRequest);
|
||||
q.setProtocolTag("http");
|
||||
|
||||
QList<QNetworkProxy> proxies = QNetworkProxyFactory::systemProxyForQuery(q);
|
||||
if( proxies.size() > 0 && proxies[0].type() != QNetworkProxy::NoProxy ){
|
||||
m_proxy = new QNetworkProxy();
|
||||
m_proxy->setHostName(proxies[0].hostName());
|
||||
m_proxy->setPort(proxies[0].port());
|
||||
m_proxy->setType(proxies[0].type());
|
||||
m_proxy->setUser(proxies[0].user());
|
||||
m_proxy->setPassword(proxies[0].password());
|
||||
}
|
||||
}
|
||||
#ifdef QT_DEBUG
|
||||
if(m_proxy != nullptr) {
|
||||
qDebug() << "Using proxy server";
|
||||
qDebug() << "proxy host:" << m_proxy->hostName();
|
||||
qDebug() << "proxy port:" << m_proxy->port();
|
||||
qDebug() << "proxy type:" << m_proxy->type();
|
||||
qDebug() << "proxy user:" << (m_proxy->user().length() > 0 ? m_proxy->user() : "no user");
|
||||
qDebug() << "proxy password:" << (m_proxy->password().length() > 0 ? "***" : "no password");
|
||||
}
|
||||
else {
|
||||
qDebug() << "No proxy";
|
||||
}
|
||||
#endif
|
||||
return m_proxy;
|
||||
}
|
||||
|
||||
void ImgS3Uploader::clearProxy() {
|
||||
if(m_proxy != nullptr) {
|
||||
delete m_proxy;
|
||||
m_proxy = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void ImgS3Uploader::handleReplyUpload(QNetworkReply *reply) {
|
||||
hideSpinner();
|
||||
m_s3ImageName.clear();
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
// save history
|
||||
QString imageName = m_imageURL.toString();
|
||||
int lastSlash = imageName.lastIndexOf("/");
|
||||
if (lastSlash >= 0) {
|
||||
imageName = imageName.mid(lastSlash + 1);
|
||||
}
|
||||
m_s3ImageName = imageName;
|
||||
History history;
|
||||
imageName = history.packFileName(SCREENSHOT_STORAGE_TYPE_S3, m_deleteToken, imageName);
|
||||
history.save(m_pixmap, imageName);
|
||||
m_success = true;
|
||||
|
||||
// Copy url to clipboard if required
|
||||
if (ConfigHandler().copyAndCloseAfterUploadEnabled()) {
|
||||
QApplication::clipboard()->setText(m_imageURL.toString());
|
||||
SystemNotification().sendMessage(tr("URL copied to clipboard."));
|
||||
close();
|
||||
} else {
|
||||
onUploadOk();
|
||||
}
|
||||
} else {
|
||||
QString reason = reply->attribute( QNetworkRequest::HttpReasonPhraseAttribute ).toString();
|
||||
setInfoLabelText(reply->errorString());
|
||||
}
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(close()));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::removeImagePreview() {
|
||||
// remove local file
|
||||
History history;
|
||||
QString packedFileName = history.packFileName(SCREENSHOT_STORAGE_TYPE_S3, m_deleteToken, m_s3ImageName);
|
||||
QString fullFileName = history.path() + packedFileName;
|
||||
|
||||
QFile file(fullFileName);
|
||||
if (file.exists()) {
|
||||
file.remove();
|
||||
}
|
||||
m_deleteToken.clear();
|
||||
m_s3ImageName.clear();
|
||||
m_success = true;
|
||||
}
|
||||
|
||||
void ImgS3Uploader::handleReplyDeleteResource(QNetworkReply *reply) {
|
||||
auto replyError = reply->error();
|
||||
if (replyError == QNetworkReply::NoError) {
|
||||
removeImagePreview();
|
||||
} else {
|
||||
hide();
|
||||
|
||||
// generate error message
|
||||
QString message = tr("Unable to remove screenshot from the remote storage.");
|
||||
if(replyError == QNetworkReply::UnknownNetworkError) {
|
||||
message += "\n" + tr("Network error");
|
||||
}
|
||||
else if(replyError == QNetworkReply::UnknownServerError) {
|
||||
message += "\n" + tr("Possibly it doesn't exist anymore");
|
||||
}
|
||||
message += "\n\n" + reply->errorString();
|
||||
message += "\n\n" + tr("Do you want to remove screenshot from local history anyway?");
|
||||
|
||||
if (QMessageBox::Yes == QMessageBox::question(NULL,
|
||||
tr("Remove screenshot from history?"),
|
||||
message,
|
||||
QMessageBox::Yes|QMessageBox::No)) {
|
||||
removeImagePreview();
|
||||
}
|
||||
}
|
||||
close();
|
||||
}
|
||||
|
||||
void ImgS3Uploader::startDrag() {
|
||||
QMimeData *mimeData = new QMimeData;
|
||||
mimeData->setUrls(QList<QUrl> { m_imageURL });
|
||||
mimeData->setImageData(m_pixmap);
|
||||
|
||||
QDrag *dragHandler = new QDrag(this);
|
||||
dragHandler->setMimeData(mimeData);
|
||||
dragHandler->setPixmap(m_pixmap.scaled(256, 256, Qt::KeepAspectRatioByExpanding,
|
||||
Qt::SmoothTransformation));
|
||||
dragHandler->exec();
|
||||
}
|
||||
|
||||
void ImgS3Uploader::handleReplyGetCreds(QNetworkReply *reply){
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
QJsonDocument response = QJsonDocument::fromJson(reply->readAll());
|
||||
uploadToS3(response);
|
||||
} else {
|
||||
if(m_s3Settings.credsUrl().length() == 0){
|
||||
setInfoLabelText(tr("S3 Creds URL is not found in your configuration file"));
|
||||
}
|
||||
else {
|
||||
setInfoLabelText(reply->errorString());
|
||||
}
|
||||
}
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(close()));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::uploadToS3(QJsonDocument &response) {
|
||||
// set paramets from "fields"
|
||||
QHttpMultiPart *multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);
|
||||
|
||||
// read JSON response
|
||||
QJsonObject json = response.object();
|
||||
QString resultURL = json["resultURL"].toString();
|
||||
QJsonObject formData = json["formData"].toObject();
|
||||
QString url = formData["url"].toString();
|
||||
m_deleteToken = json["deleteToken"].toString();
|
||||
|
||||
QJsonObject fields = formData["fields"].toObject();
|
||||
foreach (auto key, fields.keys()) {
|
||||
QString field = fields[key].toString();
|
||||
QHttpPart part;
|
||||
part.setHeader(QNetworkRequest::ContentDispositionHeader, QVariant("form-data; name=\"" + key + "\""));
|
||||
part.setBody(field.toLatin1());
|
||||
multiPart->append(part);
|
||||
}
|
||||
|
||||
QHttpPart imagePart;
|
||||
imagePart.setHeader(QNetworkRequest::ContentTypeHeader, QVariant("image/png"));
|
||||
imagePart.setHeader(QNetworkRequest::ContentDispositionHeader,
|
||||
QVariant("form-data; name=\"file\""));
|
||||
|
||||
QByteArray byteArray;
|
||||
QBuffer buffer(&byteArray);
|
||||
buffer.open(QIODevice::WriteOnly);
|
||||
m_pixmap.save(&buffer, "PNG");
|
||||
|
||||
imagePart.setBody(byteArray);
|
||||
multiPart->append(imagePart);
|
||||
|
||||
m_imageURL.setUrl(resultURL);
|
||||
|
||||
QUrl qUrl(url);
|
||||
QNetworkRequest request(qUrl);
|
||||
|
||||
// upload
|
||||
m_NetworkAMUpload->post(request, multiPart);
|
||||
}
|
||||
|
||||
void ImgS3Uploader::deleteResource(const QString &fileName, const QString &deleteToken) {
|
||||
// read network settings on each call to simplify configuration management without restarting
|
||||
clearProxy();
|
||||
if(m_NetworkAMRemove != nullptr) {
|
||||
delete m_NetworkAMRemove;
|
||||
m_NetworkAMRemove = nullptr;
|
||||
}
|
||||
m_NetworkAMRemove = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAMRemove, &QNetworkAccessManager::finished, this, &ImgS3Uploader::handleReplyDeleteResource);
|
||||
if(proxy() != nullptr) {
|
||||
m_NetworkAMRemove->setProxy(*proxy());
|
||||
}
|
||||
|
||||
QNetworkRequest request;
|
||||
m_s3ImageName = fileName;
|
||||
m_deleteToken = deleteToken;
|
||||
request.setUrl(m_s3Settings.credsUrl().toUtf8() + fileName);
|
||||
request.setRawHeader("X-API-Key", m_s3Settings.xApiKey().toLatin1());
|
||||
request.setRawHeader("Authorization", "Bearer " + deleteToken.toLatin1());
|
||||
m_NetworkAMRemove->deleteResource(request);
|
||||
}
|
||||
|
||||
void ImgS3Uploader::upload() {
|
||||
m_deleteToken.clear();
|
||||
m_s3ImageName.clear();
|
||||
|
||||
// read network settings on each call to simplify configuration management without restarting
|
||||
// init creds and upload network access managers
|
||||
clearProxy();
|
||||
if(m_NetworkAMGetCreds != nullptr) {
|
||||
delete m_NetworkAMGetCreds;
|
||||
m_NetworkAMGetCreds = nullptr;
|
||||
}
|
||||
m_NetworkAMGetCreds = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAMGetCreds, &QNetworkAccessManager::finished, this, &ImgS3Uploader::handleReplyGetCreds);
|
||||
|
||||
if(m_NetworkAMUpload != nullptr) {
|
||||
delete m_NetworkAMUpload;
|
||||
m_NetworkAMUpload = nullptr;
|
||||
}
|
||||
m_NetworkAMUpload = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAMUpload, &QNetworkAccessManager::finished, this, &ImgS3Uploader::handleReplyUpload);
|
||||
if(proxy() != nullptr) {
|
||||
m_NetworkAMGetCreds->setProxy(*proxy());
|
||||
m_NetworkAMUpload->setProxy(*proxy());
|
||||
}
|
||||
|
||||
// get creads
|
||||
QUrl creds(m_s3Settings.credsUrl());
|
||||
QNetworkRequest requestCreds(creds);
|
||||
if(m_s3Settings.xApiKey().length() > 0) {
|
||||
requestCreds.setRawHeader(QByteArray("X-API-Key"), QByteArray(m_s3Settings.xApiKey().toLocal8Bit()));
|
||||
}
|
||||
m_NetworkAMGetCreds->get(requestCreds);
|
||||
}
|
||||
|
||||
void ImgS3Uploader::onUploadOk() {
|
||||
hideSpinner();
|
||||
|
||||
m_notification = new NotificationWidget();
|
||||
m_vLayout->addWidget(m_notification);
|
||||
|
||||
if(nullptr == m_imageLabel) {
|
||||
m_imageLabel = new ImageLabel();
|
||||
m_imageLabel->setScreenshot(m_pixmap);
|
||||
m_imageLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
connect(m_imageLabel, &ImageLabel::dragInitiated, this, &ImgS3Uploader::startDrag);
|
||||
m_vLayout->addWidget(m_imageLabel);
|
||||
}
|
||||
|
||||
m_hLayout = new QHBoxLayout();
|
||||
m_vLayout->addLayout(m_hLayout);
|
||||
|
||||
m_copyUrlButton = new QPushButton(tr("Copy URL"));
|
||||
m_openUrlButton = new QPushButton(tr("Open URL"));
|
||||
m_deleteImageOnS3 = new QPushButton(tr("Delete image"));
|
||||
m_toClipboardButton = new QPushButton(tr("Image to Clipboard."));
|
||||
m_hLayout->addWidget(m_copyUrlButton);
|
||||
m_hLayout->addWidget(m_openUrlButton);
|
||||
m_hLayout->addWidget(m_deleteImageOnS3);
|
||||
m_hLayout->addWidget(m_toClipboardButton);
|
||||
|
||||
connect(m_copyUrlButton, &QPushButton::clicked,
|
||||
this, &ImgS3Uploader::copyURL);
|
||||
connect(m_openUrlButton, &QPushButton::clicked,
|
||||
this, &ImgS3Uploader::openURL);
|
||||
connect(m_deleteImageOnS3, &QPushButton::clicked,
|
||||
this, &ImgS3Uploader::deleteImageOnS3);
|
||||
connect(m_toClipboardButton, &QPushButton::clicked,
|
||||
this, &ImgS3Uploader::copyImage);
|
||||
}
|
||||
|
||||
void ImgS3Uploader::openURL() {
|
||||
bool successful = QDesktopServices::openUrl(m_imageURL);
|
||||
if (!successful) {
|
||||
m_notification->showMessage(tr("Unable to open the URL."));
|
||||
}
|
||||
}
|
||||
|
||||
void ImgS3Uploader::copyURL() {
|
||||
QApplication::clipboard()->setText(m_imageURL.toString());
|
||||
m_notification->showMessage(tr("URL copied to clipboard."));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::copyImage() {
|
||||
QApplication::clipboard()->setPixmap(m_pixmap);
|
||||
m_notification->showMessage(tr("Screenshot copied to clipboard."));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::deleteImageOnS3() {
|
||||
if(nullptr != m_imageLabel) {
|
||||
m_imageLabel->hide();
|
||||
}
|
||||
m_spinner->show();
|
||||
setInfoLabelText(tr("Deleting image..."));
|
||||
deleteResource(m_s3ImageName, m_deleteToken);
|
||||
}
|
||||
|
||||
bool ImgS3Uploader::success() {
|
||||
return m_success;
|
||||
}
|
||||
|
||||
void ImgS3Uploader::hideSpinner() {
|
||||
if(nullptr != m_spinner) {
|
||||
m_spinner->hide();
|
||||
}
|
||||
if(nullptr != m_imageLabel) {
|
||||
m_imageLabel->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void ImgS3Uploader::setInfoLabelText(const QString &infoText) {
|
||||
m_infoLabel->setText(infoText);
|
||||
m_infoLabel->show();
|
||||
}
|
||||
@@ -1,103 +0,0 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#define S3_API_IMG_PATH "v2/image/"
|
||||
|
||||
#include "imgs3settings.h"
|
||||
#include <QWidget>
|
||||
#include <QUrl>
|
||||
|
||||
class QNetworkReply;
|
||||
class QNetworkProxy;
|
||||
class QNetworkAccessManager;
|
||||
class QHBoxLayout;
|
||||
class QVBoxLayout;
|
||||
class QLabel;
|
||||
class LoadSpinner;
|
||||
class QPushButton;
|
||||
class QUrl;
|
||||
class NotificationWidget;
|
||||
class ConfigEnterprise;
|
||||
class ImageLabel;
|
||||
|
||||
class ImgS3Uploader : public QWidget {
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ImgS3Uploader(const QPixmap &capture, QWidget *parent = nullptr);
|
||||
explicit ImgS3Uploader(QWidget *parent = nullptr);
|
||||
void upload();
|
||||
void deleteResource(const QString &, const QString &);
|
||||
bool success();
|
||||
|
||||
private slots:
|
||||
void handleReplyUpload(QNetworkReply *reply);
|
||||
void handleReplyGetCreds(QNetworkReply *reply);
|
||||
void handleReplyDeleteResource(QNetworkReply *reply);
|
||||
void startDrag();
|
||||
|
||||
void openURL();
|
||||
void copyURL();
|
||||
void copyImage();
|
||||
void deleteImageOnS3();
|
||||
|
||||
private:
|
||||
void init(const QString &title, const QString &label);
|
||||
void uploadToS3(QJsonDocument &response);
|
||||
QNetworkProxy *initProxy();
|
||||
void clearProxy();
|
||||
void removeImagePreview();
|
||||
|
||||
void onUploadOk();
|
||||
|
||||
void hideSpinner();
|
||||
void setInfoLabelText(const QString &);
|
||||
QNetworkProxy *proxy();
|
||||
|
||||
|
||||
// class members
|
||||
private:
|
||||
bool m_success;
|
||||
ImgS3Settings m_s3Settings;
|
||||
|
||||
ImageLabel *m_imageLabel;
|
||||
|
||||
QString m_hostName;
|
||||
QPixmap m_pixmap;
|
||||
QNetworkProxy *m_proxy;
|
||||
QNetworkAccessManager *m_NetworkAMUpload;
|
||||
QNetworkAccessManager *m_NetworkAMGetCreds;
|
||||
QNetworkAccessManager *m_NetworkAMRemove;
|
||||
|
||||
QVBoxLayout *m_vLayout;
|
||||
QHBoxLayout *m_hLayout;
|
||||
// loading
|
||||
QLabel *m_infoLabel;
|
||||
LoadSpinner *m_spinner;
|
||||
// uploaded
|
||||
QPushButton *m_openUrlButton;
|
||||
QPushButton *m_copyUrlButton;
|
||||
QPushButton *m_toClipboardButton;
|
||||
QPushButton *m_deleteImageOnS3;
|
||||
QUrl m_imageURL;
|
||||
NotificationWidget *m_notification;
|
||||
|
||||
// Temporary variables
|
||||
QString m_deleteToken;
|
||||
QString m_s3ImageName;
|
||||
};
|
||||
@@ -1,182 +0,0 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "imguruploader.h"
|
||||
#include "src/utils/filenamehandler.h"
|
||||
#include "src/utils/systemnotification.h"
|
||||
#include "src/widgets/loadspinner.h"
|
||||
#include "src/widgets/imagelabel.h"
|
||||
#include "src/widgets/notificationwidget.h"
|
||||
#include "src/utils/confighandler.h"
|
||||
#include <QApplication>
|
||||
#include <QClipboard>
|
||||
#include <QDesktopServices>
|
||||
#include <QShortcut>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QLabel>
|
||||
#include <QPushButton>
|
||||
#include <QDrag>
|
||||
#include <QMimeData>
|
||||
#include <QBuffer>
|
||||
#include <QUrlQuery>
|
||||
#include <QNetworkRequest>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QTimer>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
|
||||
ImgurUploader::ImgurUploader(const QPixmap &capture, QWidget *parent) :
|
||||
QWidget(parent), m_pixmap(capture)
|
||||
{
|
||||
setWindowTitle(tr("Upload to Imgur"));
|
||||
setWindowIcon(QIcon(":img/app/flameshot.svg"));
|
||||
|
||||
m_spinner = new LoadSpinner(this);
|
||||
m_spinner->setColor(ConfigHandler().uiMainColorValue());
|
||||
m_spinner->start();
|
||||
|
||||
m_infoLabel = new QLabel(tr("Uploading Image"));
|
||||
|
||||
m_vLayout = new QVBoxLayout();
|
||||
setLayout(m_vLayout);
|
||||
m_vLayout->addWidget(m_spinner, 0, Qt::AlignHCenter);
|
||||
m_vLayout->addWidget(m_infoLabel);
|
||||
|
||||
m_NetworkAM = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAM, &QNetworkAccessManager::finished, this,
|
||||
&ImgurUploader::handleReply);
|
||||
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
|
||||
upload();
|
||||
// QTimer::singleShot(2000, this, &ImgurUploader::onUploadOk); // testing
|
||||
}
|
||||
|
||||
void ImgurUploader::handleReply(QNetworkReply *reply) {
|
||||
m_spinner->deleteLater();
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
QJsonDocument response = QJsonDocument::fromJson(reply->readAll());
|
||||
QJsonObject json = response.object();
|
||||
QJsonObject data = json[QStringLiteral("data")].toObject();
|
||||
m_imageURL.setUrl(data[QStringLiteral("link")].toString());
|
||||
m_deleteImageURL.setUrl(QStringLiteral("https://imgur.com/delete/%1").arg(
|
||||
data[QStringLiteral("deletehash")].toString()));
|
||||
if (ConfigHandler().copyAndCloseAfterUploadEnabled()) {
|
||||
QApplication::clipboard()->setText(m_imageURL.toString());
|
||||
SystemNotification().sendMessage(QObject::tr("URL copied to clipboard."));
|
||||
close();
|
||||
} else {
|
||||
onUploadOk();
|
||||
}
|
||||
} else {
|
||||
m_infoLabel->setText(reply->errorString());
|
||||
}
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(close()));
|
||||
}
|
||||
|
||||
void ImgurUploader::startDrag() {
|
||||
QMimeData *mimeData = new QMimeData;
|
||||
mimeData->setUrls(QList<QUrl> { m_imageURL });
|
||||
mimeData->setImageData(m_pixmap);
|
||||
|
||||
QDrag *dragHandler = new QDrag(this);
|
||||
dragHandler->setMimeData(mimeData);
|
||||
dragHandler->setPixmap(m_pixmap.scaled(256, 256, Qt::KeepAspectRatioByExpanding,
|
||||
Qt::SmoothTransformation));
|
||||
dragHandler->exec();
|
||||
}
|
||||
|
||||
void ImgurUploader::upload() {
|
||||
QByteArray byteArray;
|
||||
QBuffer buffer(&byteArray);
|
||||
m_pixmap.save(&buffer, "PNG");
|
||||
|
||||
QUrlQuery urlQuery;
|
||||
urlQuery.addQueryItem(QStringLiteral("title"), QStringLiteral("flameshot_screenshot"));
|
||||
QString description = FileNameHandler().parsedPattern();
|
||||
urlQuery.addQueryItem(QStringLiteral("description"), description);
|
||||
|
||||
QUrl url(QStringLiteral("https://api.imgur.com/3/image"));
|
||||
url.setQuery(urlQuery);
|
||||
QNetworkRequest request(url);
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/application/x-www-form-urlencoded");
|
||||
request.setRawHeader("Authorization", QStringLiteral("Client-ID %1").arg(IMGUR_CLIENT_ID).toUtf8());
|
||||
|
||||
m_NetworkAM->post(request, byteArray);
|
||||
}
|
||||
|
||||
void ImgurUploader::onUploadOk() {
|
||||
m_infoLabel->deleteLater();
|
||||
|
||||
m_notification = new NotificationWidget();
|
||||
m_vLayout->addWidget(m_notification);
|
||||
|
||||
ImageLabel *imageLabel = new ImageLabel();
|
||||
imageLabel->setScreenshot(m_pixmap);
|
||||
imageLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding);
|
||||
connect(imageLabel, &ImageLabel::dragInitiated, this, &ImgurUploader::startDrag);
|
||||
m_vLayout->addWidget(imageLabel);
|
||||
|
||||
m_hLayout = new QHBoxLayout();
|
||||
m_vLayout->addLayout(m_hLayout);
|
||||
|
||||
m_copyUrlButton = new QPushButton(tr("Copy URL"));
|
||||
m_openUrlButton = new QPushButton(tr("Open URL"));
|
||||
m_openDeleteUrlButton = new QPushButton(tr("Delete image"));
|
||||
m_toClipboardButton = new QPushButton(tr("Image to Clipboard."));
|
||||
m_hLayout->addWidget(m_copyUrlButton);
|
||||
m_hLayout->addWidget(m_openUrlButton);
|
||||
m_hLayout->addWidget(m_openDeleteUrlButton);
|
||||
m_hLayout->addWidget(m_toClipboardButton);
|
||||
|
||||
connect(m_copyUrlButton, &QPushButton::clicked,
|
||||
this, &ImgurUploader::copyURL);
|
||||
connect(m_openUrlButton, &QPushButton::clicked,
|
||||
this, &ImgurUploader::openURL);
|
||||
connect(m_openDeleteUrlButton, &QPushButton::clicked,
|
||||
this, &ImgurUploader::openDeleteURL);
|
||||
connect(m_toClipboardButton, &QPushButton::clicked,
|
||||
this, &ImgurUploader::copyImage);
|
||||
}
|
||||
|
||||
void ImgurUploader::openURL() {
|
||||
bool successful = QDesktopServices::openUrl(m_imageURL);
|
||||
if (!successful) {
|
||||
m_notification->showMessage(tr("Unable to open the URL."));
|
||||
}
|
||||
}
|
||||
|
||||
void ImgurUploader::copyURL() {
|
||||
QApplication::clipboard()->setText(m_imageURL.toString());
|
||||
m_notification->showMessage(tr("URL copied to clipboard."));
|
||||
}
|
||||
|
||||
void ImgurUploader::openDeleteURL()
|
||||
{
|
||||
bool successful = QDesktopServices::openUrl(m_deleteImageURL);
|
||||
if (!successful) {
|
||||
m_notification->showMessage(tr("Unable to open the URL."));
|
||||
}
|
||||
}
|
||||
|
||||
void ImgurUploader::copyImage() {
|
||||
QApplication::clipboard()->setPixmap(m_pixmap);
|
||||
m_notification->showMessage(tr("Screenshot copied to clipboard."));
|
||||
}
|
||||
377
src/tools/storage/imgs3uploader.cpp
Normal file
377
src/tools/storage/imgs3uploader.cpp
Normal file
@@ -0,0 +1,377 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "imgs3uploader.h"
|
||||
#include "src/utils/configenterprise.h"
|
||||
#include "src/utils/confighandler.h"
|
||||
#include "src/utils/filenamehandler.h"
|
||||
#include "src/utils/history.h"
|
||||
#include "src/utils/systemnotification.h"
|
||||
#include "src/widgets/imagelabel.h"
|
||||
#include "src/widgets/loadspinner.h"
|
||||
#include "src/widgets/notificationwidget.h"
|
||||
#include <QApplication>
|
||||
#include <QBuffer>
|
||||
#include <QClipboard>
|
||||
#include <QDebug>
|
||||
#include <QDesktopServices>
|
||||
#include <QDir>
|
||||
#include <QDrag>
|
||||
#include <QHBoxLayout>
|
||||
#include <QHttpMultiPart>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QLabel>
|
||||
#include <QMessageBox>
|
||||
#include <QMimeData>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkProxy>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QPushButton>
|
||||
#include <QShortcut>
|
||||
#include <QTimer>
|
||||
#include <QUrlQuery>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
ImgS3Uploader::ImgS3Uploader(const QPixmap& capture, QWidget* parent)
|
||||
: ImgUploader(capture, parent)
|
||||
{
|
||||
init(tr("Upload image to S3"), tr("Uploading Image"));
|
||||
}
|
||||
|
||||
ImgS3Uploader::ImgS3Uploader(QWidget* parent)
|
||||
: ImgUploader(parent)
|
||||
{
|
||||
init(tr("Delete image from S3"), tr("Deleting image..."));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::init(const QString& title, const QString& label)
|
||||
{
|
||||
m_proxy = nullptr;
|
||||
m_NetworkAMUpload = nullptr;
|
||||
m_NetworkAMGetCreds = nullptr;
|
||||
m_NetworkAMRemove = nullptr;
|
||||
|
||||
resultStatus = false;
|
||||
setWindowTitle(title);
|
||||
setWindowIcon(QIcon(":img/app/flameshot.svg"));
|
||||
}
|
||||
|
||||
QNetworkProxy* ImgS3Uploader::proxy()
|
||||
{
|
||||
if (m_proxy == nullptr) {
|
||||
initProxy();
|
||||
}
|
||||
return m_proxy;
|
||||
}
|
||||
|
||||
QNetworkProxy* ImgS3Uploader::initProxy()
|
||||
{
|
||||
// get enterprise settings
|
||||
ConfigEnterprise* configEnterprise = new ConfigEnterprise();
|
||||
|
||||
// get proxy settings from "config.ini" file
|
||||
QSettings* settings = configEnterprise->settings();
|
||||
QString httpProxyHost = settings->value("HTTP_PROXY_HOST").toString();
|
||||
|
||||
if (httpProxyHost.length() > 0) {
|
||||
m_proxy = new QNetworkProxy();
|
||||
|
||||
if (settings->contains("HTTP_PROXY_TYPE")) {
|
||||
switch (settings->value("HTTP_PROXY_TYPE").toInt()) {
|
||||
case 0:
|
||||
m_proxy->setType(QNetworkProxy::DefaultProxy);
|
||||
break;
|
||||
case 1:
|
||||
m_proxy->setType(QNetworkProxy::Socks5Proxy);
|
||||
break;
|
||||
case 2:
|
||||
m_proxy->setType(QNetworkProxy::NoProxy);
|
||||
break;
|
||||
case 4:
|
||||
m_proxy->setType(QNetworkProxy::HttpCachingProxy);
|
||||
break;
|
||||
case 5:
|
||||
m_proxy->setType(QNetworkProxy::FtpCachingProxy);
|
||||
break;
|
||||
case 3:
|
||||
default:
|
||||
m_proxy->setType(QNetworkProxy::HttpProxy);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
m_proxy->setHostName(httpProxyHost);
|
||||
int nProxyPort = 3128;
|
||||
if (settings->contains("HTTP_PROXY_PORT")) {
|
||||
nProxyPort = settings->value("HTTP_PROXY_PORT").toInt();
|
||||
}
|
||||
m_proxy->setPort(nProxyPort);
|
||||
|
||||
if (settings->contains("HTTP_PROXY_USER")) {
|
||||
qDebug() << "Proxy user"
|
||||
<< settings->value("HTTP_PROXY_PASSWORD").toString();
|
||||
m_proxy->setUser(settings->value("HTTP_PROXY_USER").toString());
|
||||
}
|
||||
if (settings->contains("HTTP_PROXY_PASSWORD")) {
|
||||
qDebug() << "Proxy password is not empty";
|
||||
m_proxy->setPassword(
|
||||
settings->value("HTTP_PROXY_PASSWORD").toString());
|
||||
}
|
||||
} else {
|
||||
// Get proxy settings from OS settings
|
||||
QNetworkProxyQuery q(QUrl(m_s3Settings.credsUrl().toUtf8()));
|
||||
q.setQueryType(QNetworkProxyQuery::UrlRequest);
|
||||
q.setProtocolTag("http");
|
||||
|
||||
QList<QNetworkProxy> proxies =
|
||||
QNetworkProxyFactory::systemProxyForQuery(q);
|
||||
if (proxies.size() > 0 && proxies[0].type() != QNetworkProxy::NoProxy) {
|
||||
m_proxy = new QNetworkProxy();
|
||||
m_proxy->setHostName(proxies[0].hostName());
|
||||
m_proxy->setPort(proxies[0].port());
|
||||
m_proxy->setType(proxies[0].type());
|
||||
m_proxy->setUser(proxies[0].user());
|
||||
m_proxy->setPassword(proxies[0].password());
|
||||
}
|
||||
}
|
||||
#ifdef QT_DEBUG
|
||||
if (m_proxy != nullptr) {
|
||||
qDebug() << "Using proxy server";
|
||||
qDebug() << "proxy host:" << m_proxy->hostName();
|
||||
qDebug() << "proxy port:" << m_proxy->port();
|
||||
qDebug() << "proxy type:" << m_proxy->type();
|
||||
qDebug() << "proxy user:"
|
||||
<< (m_proxy->user().length() > 0 ? m_proxy->user()
|
||||
: "no user");
|
||||
qDebug() << "proxy password:"
|
||||
<< (m_proxy->password().length() > 0 ? "***" : "no password");
|
||||
} else {
|
||||
qDebug() << "No proxy";
|
||||
}
|
||||
#endif
|
||||
return m_proxy;
|
||||
}
|
||||
|
||||
void ImgS3Uploader::clearProxy()
|
||||
{
|
||||
if (m_proxy != nullptr) {
|
||||
delete m_proxy;
|
||||
m_proxy = nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
void ImgS3Uploader::handleReplyUpload(QNetworkReply* reply)
|
||||
{
|
||||
hideSpinner();
|
||||
m_storageImageName.clear();
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
// save history
|
||||
QString imageName = imageUrl().toString();
|
||||
int lastSlash = imageName.lastIndexOf("/");
|
||||
if (lastSlash >= 0) {
|
||||
imageName = imageName.mid(lastSlash + 1);
|
||||
}
|
||||
m_storageImageName = imageName;
|
||||
History history;
|
||||
imageName = history.packFileName(
|
||||
SCREENSHOT_STORAGE_TYPE_S3, m_deleteToken, imageName);
|
||||
history.save(pixmap(), imageName);
|
||||
resultStatus = true;
|
||||
|
||||
// Copy url to clipboard if required
|
||||
if (ConfigHandler().copyAndCloseAfterUploadEnabled()) {
|
||||
QApplication::clipboard()->setText(imageUrl().toString());
|
||||
SystemNotification().sendMessage(tr("URL copied to clipboard."));
|
||||
close();
|
||||
} else {
|
||||
onUploadOk();
|
||||
}
|
||||
} else {
|
||||
QString reason =
|
||||
reply->attribute(QNetworkRequest::HttpReasonPhraseAttribute)
|
||||
.toString();
|
||||
setInfoLabelText(reply->errorString());
|
||||
}
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(close()));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::handleReplyDeleteResource(QNetworkReply* reply)
|
||||
{
|
||||
auto replyError = reply->error();
|
||||
if (replyError == QNetworkReply::NoError) {
|
||||
removeImagePreview();
|
||||
} else {
|
||||
hide();
|
||||
|
||||
// generate error message
|
||||
QString message =
|
||||
tr("Unable to remove screenshot from the remote storage.");
|
||||
if (replyError == QNetworkReply::UnknownNetworkError) {
|
||||
message += "\n" + tr("Network error");
|
||||
} else if (replyError == QNetworkReply::UnknownServerError) {
|
||||
message += "\n" + tr("Possibly it doesn't exist anymore");
|
||||
}
|
||||
message += "\n\n" + reply->errorString();
|
||||
message +=
|
||||
"\n\n" +
|
||||
tr("Do you want to remove screenshot from local history anyway?");
|
||||
|
||||
if (QMessageBox::Yes ==
|
||||
QMessageBox::question(NULL,
|
||||
tr("Remove screenshot from history?"),
|
||||
message,
|
||||
QMessageBox::Yes | QMessageBox::No)) {
|
||||
removeImagePreview();
|
||||
}
|
||||
}
|
||||
close();
|
||||
}
|
||||
|
||||
void ImgS3Uploader::handleReplyGetCreds(QNetworkReply* reply)
|
||||
{
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
QJsonDocument response = QJsonDocument::fromJson(reply->readAll());
|
||||
uploadToS3(response);
|
||||
} else {
|
||||
if (m_s3Settings.credsUrl().length() == 0) {
|
||||
setInfoLabelText(
|
||||
tr("S3 Creds URL is not found in your configuration file"));
|
||||
} else {
|
||||
setInfoLabelText(reply->errorString());
|
||||
}
|
||||
}
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(close()));
|
||||
}
|
||||
|
||||
void ImgS3Uploader::uploadToS3(QJsonDocument& response)
|
||||
{
|
||||
// set paramets from "fields"
|
||||
QHttpMultiPart* multiPart =
|
||||
new QHttpMultiPart(QHttpMultiPart::FormDataType);
|
||||
|
||||
// read JSON response
|
||||
QJsonObject json = response.object();
|
||||
QString resultUrl = json["resultURL"].toString();
|
||||
QJsonObject formData = json["formData"].toObject();
|
||||
QString url = formData["url"].toString();
|
||||
m_deleteToken = json["deleteToken"].toString();
|
||||
|
||||
QJsonObject fields = formData["fields"].toObject();
|
||||
foreach (auto key, fields.keys()) {
|
||||
QString field = fields[key].toString();
|
||||
QHttpPart part;
|
||||
part.setHeader(QNetworkRequest::ContentDispositionHeader,
|
||||
QVariant("form-data; name=\"" + key + "\""));
|
||||
part.setBody(field.toLatin1());
|
||||
multiPart->append(part);
|
||||
}
|
||||
|
||||
QHttpPart imagePart;
|
||||
imagePart.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
QVariant("image/png"));
|
||||
imagePart.setHeader(QNetworkRequest::ContentDispositionHeader,
|
||||
QVariant("form-data; name=\"file\""));
|
||||
|
||||
QByteArray byteArray;
|
||||
QBuffer buffer(&byteArray);
|
||||
buffer.open(QIODevice::WriteOnly);
|
||||
pixmap().save(&buffer, "PNG");
|
||||
|
||||
imagePart.setBody(byteArray);
|
||||
multiPart->append(imagePart);
|
||||
|
||||
setImageUrl(QUrl(resultUrl));
|
||||
|
||||
QUrl qUrl(url);
|
||||
QNetworkRequest request(qUrl);
|
||||
|
||||
// upload
|
||||
m_NetworkAMUpload->post(request, multiPart);
|
||||
}
|
||||
|
||||
void ImgS3Uploader::deleteResource(const QString& fileName,
|
||||
const QString& deleteToken)
|
||||
{
|
||||
// read network settings on each call to simplify configuration management
|
||||
// without restarting
|
||||
clearProxy();
|
||||
if (m_NetworkAMRemove != nullptr) {
|
||||
delete m_NetworkAMRemove;
|
||||
m_NetworkAMRemove = nullptr;
|
||||
}
|
||||
m_NetworkAMRemove = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAMRemove,
|
||||
&QNetworkAccessManager::finished,
|
||||
this,
|
||||
&ImgS3Uploader::handleReplyDeleteResource);
|
||||
if (proxy() != nullptr) {
|
||||
m_NetworkAMRemove->setProxy(*proxy());
|
||||
}
|
||||
|
||||
QNetworkRequest request;
|
||||
m_storageImageName = fileName;
|
||||
m_deleteToken = deleteToken;
|
||||
request.setUrl(m_s3Settings.credsUrl().toUtf8() + fileName);
|
||||
request.setRawHeader("X-API-Key", m_s3Settings.xApiKey().toLatin1());
|
||||
request.setRawHeader("Authorization", "Bearer " + deleteToken.toLatin1());
|
||||
m_NetworkAMRemove->deleteResource(request);
|
||||
}
|
||||
|
||||
void ImgS3Uploader::upload()
|
||||
{
|
||||
m_deleteToken.clear();
|
||||
m_storageImageName.clear();
|
||||
|
||||
// read network settings on each call to simplify configuration management
|
||||
// without restarting init creds and upload network access managers
|
||||
clearProxy();
|
||||
if (m_NetworkAMGetCreds != nullptr) {
|
||||
delete m_NetworkAMGetCreds;
|
||||
m_NetworkAMGetCreds = nullptr;
|
||||
}
|
||||
m_NetworkAMGetCreds = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAMGetCreds,
|
||||
&QNetworkAccessManager::finished,
|
||||
this,
|
||||
&ImgS3Uploader::handleReplyGetCreds);
|
||||
|
||||
if (m_NetworkAMUpload != nullptr) {
|
||||
delete m_NetworkAMUpload;
|
||||
m_NetworkAMUpload = nullptr;
|
||||
}
|
||||
m_NetworkAMUpload = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAMUpload,
|
||||
&QNetworkAccessManager::finished,
|
||||
this,
|
||||
&ImgS3Uploader::handleReplyUpload);
|
||||
if (proxy() != nullptr) {
|
||||
m_NetworkAMGetCreds->setProxy(*proxy());
|
||||
m_NetworkAMUpload->setProxy(*proxy());
|
||||
}
|
||||
|
||||
// get creads
|
||||
QUrl creds(m_s3Settings.credsUrl());
|
||||
QNetworkRequest requestCreds(creds);
|
||||
if (m_s3Settings.xApiKey().length() > 0) {
|
||||
requestCreds.setRawHeader(
|
||||
QByteArray("X-API-Key"),
|
||||
QByteArray(m_s3Settings.xApiKey().toLocal8Bit()));
|
||||
}
|
||||
m_NetworkAMGetCreds->get(requestCreds);
|
||||
}
|
||||
69
src/tools/storage/imgs3uploader.h
Normal file
69
src/tools/storage/imgs3uploader.h
Normal file
@@ -0,0 +1,69 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#define S3_API_IMG_PATH "v2/image/"
|
||||
|
||||
#include "imgs3settings.h"
|
||||
#include "imguploader.h"
|
||||
#include <QUrl>
|
||||
#include <QWidget>
|
||||
|
||||
class QNetworkReply;
|
||||
class QNetworkProxy;
|
||||
class QNetworkAccessManager;
|
||||
class QHBoxLayout;
|
||||
class QVBoxLayout;
|
||||
class QLabel;
|
||||
class QPushButton;
|
||||
class QUrl;
|
||||
class NotificationWidget;
|
||||
class ConfigEnterprise;
|
||||
class ImageLabel;
|
||||
|
||||
class ImgS3Uploader : public ImgUploader
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ImgS3Uploader(const QPixmap& capture, QWidget* parent = nullptr);
|
||||
explicit ImgS3Uploader(QWidget* parent = nullptr);
|
||||
void upload();
|
||||
void deleteResource(const QString&, const QString&);
|
||||
|
||||
private slots:
|
||||
void handleReplyUpload(QNetworkReply* reply);
|
||||
void handleReplyGetCreds(QNetworkReply* reply);
|
||||
void handleReplyDeleteResource(QNetworkReply* reply);
|
||||
|
||||
private:
|
||||
void init(const QString& title, const QString& label);
|
||||
void uploadToS3(QJsonDocument& response);
|
||||
|
||||
QNetworkProxy* initProxy();
|
||||
void clearProxy();
|
||||
QNetworkProxy* proxy();
|
||||
|
||||
// class members
|
||||
private:
|
||||
ImgS3Settings m_s3Settings;
|
||||
|
||||
QNetworkProxy* m_proxy;
|
||||
QNetworkAccessManager* m_NetworkAMUpload;
|
||||
QNetworkAccessManager* m_NetworkAMGetCreds;
|
||||
QNetworkAccessManager* m_NetworkAMRemove;
|
||||
};
|
||||
@@ -18,49 +18,56 @@
|
||||
#include "imgs3uploadertool.h"
|
||||
#include "imgs3uploader.h"
|
||||
#include <QPainter>
|
||||
#include <QSettings>
|
||||
#include <QFileInfo>
|
||||
|
||||
ImgS3UploaderTool::ImgS3UploaderTool(QObject* parent)
|
||||
: AbstractActionTool(parent)
|
||||
{}
|
||||
|
||||
ImgS3UploaderTool::ImgS3UploaderTool(QObject *parent) : AbstractActionTool(parent) {
|
||||
}
|
||||
|
||||
bool ImgS3UploaderTool::closeOnButtonPressed() const {
|
||||
bool ImgS3UploaderTool::closeOnButtonPressed() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
QIcon ImgS3UploaderTool::icon(const QColor &background, bool inEditor) const {
|
||||
QIcon ImgS3UploaderTool::icon(const QColor& background, bool inEditor) const
|
||||
{
|
||||
Q_UNUSED(inEditor);
|
||||
return QIcon(iconPath(background) + "cloud-upload.svg");
|
||||
}
|
||||
|
||||
QString ImgS3UploaderTool::name() const {
|
||||
QString ImgS3UploaderTool::name() const
|
||||
{
|
||||
return tr("Image Uploader");
|
||||
}
|
||||
|
||||
QString ImgS3UploaderTool::nameID() {
|
||||
QString ImgS3UploaderTool::nameID()
|
||||
{
|
||||
return QLatin1String("");
|
||||
}
|
||||
|
||||
QString ImgS3UploaderTool::description() const {
|
||||
QString ImgS3UploaderTool::description() const
|
||||
{
|
||||
return tr("Upload the selection to S3 bucket");
|
||||
}
|
||||
|
||||
QWidget *ImgS3UploaderTool::widget() {
|
||||
ImgS3Uploader *p = new ImgS3Uploader(capture);
|
||||
QWidget* ImgS3UploaderTool::widget()
|
||||
{
|
||||
ImgS3Uploader* p = new ImgS3Uploader(capture);
|
||||
p->upload();
|
||||
return p;
|
||||
}
|
||||
|
||||
void ImgS3UploaderTool::setCapture(const QPixmap &pixmap) {
|
||||
void ImgS3UploaderTool::setCapture(const QPixmap& pixmap)
|
||||
{
|
||||
capture = pixmap;
|
||||
}
|
||||
|
||||
CaptureTool *ImgS3UploaderTool::copy(QObject *parent) {
|
||||
CaptureTool* ImgS3UploaderTool::copy(QObject* parent)
|
||||
{
|
||||
return new ImgS3UploaderTool(parent);
|
||||
}
|
||||
|
||||
void ImgS3UploaderTool::pressed(const CaptureContext &context) {
|
||||
void ImgS3UploaderTool::pressed(const CaptureContext& context)
|
||||
{
|
||||
capture = context.selectedScreenshotArea();
|
||||
emit requestAction(REQ_CAPTURE_DONE_OK);
|
||||
emit requestAction(REQ_ADD_EXTERNAL_WIDGETS);
|
||||
226
src/tools/storage/imguploader.cpp
Normal file
226
src/tools/storage/imguploader.cpp
Normal file
@@ -0,0 +1,226 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "imguploader.h"
|
||||
#include "src/utils/configenterprise.h"
|
||||
#include "src/utils/confighandler.h"
|
||||
#include "src/utils/filenamehandler.h"
|
||||
#include "src/utils/history.h"
|
||||
#include "src/utils/systemnotification.h"
|
||||
#include "src/widgets/imagelabel.h"
|
||||
#include "src/widgets/loadspinner.h"
|
||||
#include "src/widgets/notificationwidget.h"
|
||||
#include <QApplication>
|
||||
#include <QBuffer>
|
||||
#include <QClipboard>
|
||||
#include <QDebug>
|
||||
#include <QDesktopServices>
|
||||
#include <QDir>
|
||||
#include <QDrag>
|
||||
#include <QHBoxLayout>
|
||||
#include <QHttpMultiPart>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QLabel>
|
||||
#include <QMessageBox>
|
||||
#include <QMimeData>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkProxy>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QPushButton>
|
||||
#include <QShortcut>
|
||||
#include <QTimer>
|
||||
#include <QUrlQuery>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
ImgUploader::ImgUploader(const QPixmap& capture, QWidget* parent)
|
||||
: QWidget(parent)
|
||||
, m_pixmap(capture)
|
||||
{
|
||||
init(tr("Upload image to S3"), tr("Uploading Image"));
|
||||
}
|
||||
|
||||
ImgUploader::ImgUploader(QWidget* parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
init(tr("Upload image"), tr("Uploading Image"));
|
||||
}
|
||||
|
||||
void ImgUploader::init(const QString& title, const QString& label)
|
||||
{
|
||||
m_imageLabel = nullptr;
|
||||
m_spinner = nullptr;
|
||||
|
||||
resultStatus = false;
|
||||
setWindowTitle(title);
|
||||
setWindowIcon(QIcon(":img/app/flameshot.svg"));
|
||||
|
||||
m_spinner = new LoadSpinner(this);
|
||||
m_spinner->setColor(ConfigHandler().uiMainColorValue());
|
||||
m_spinner->start();
|
||||
|
||||
m_infoLabel = new QLabel(label);
|
||||
m_infoLabel->setAlignment(Qt::AlignCenter);
|
||||
|
||||
m_vLayout = new QVBoxLayout();
|
||||
setLayout(m_vLayout);
|
||||
m_vLayout->addWidget(m_spinner, 0, Qt::AlignHCenter);
|
||||
m_vLayout->addWidget(m_infoLabel);
|
||||
|
||||
setAttribute(Qt::WA_DeleteOnClose);
|
||||
}
|
||||
|
||||
void ImgUploader::removeImagePreview()
|
||||
{
|
||||
// remove local file
|
||||
History history;
|
||||
QString packedFileName = history.packFileName(
|
||||
SCREENSHOT_STORAGE_TYPE_S3, m_deleteToken, m_storageImageName);
|
||||
QString fullFileName = history.path() + packedFileName;
|
||||
|
||||
QFile file(fullFileName);
|
||||
if (file.exists()) {
|
||||
file.remove();
|
||||
}
|
||||
m_deleteToken.clear();
|
||||
m_storageImageName.clear();
|
||||
resultStatus = true;
|
||||
}
|
||||
|
||||
void ImgUploader::openURL()
|
||||
{
|
||||
bool successful = QDesktopServices::openUrl(imageUrl());
|
||||
if (!successful) {
|
||||
m_notification->showMessage(tr("Unable to open the URL."));
|
||||
}
|
||||
}
|
||||
|
||||
void ImgUploader::copyURL()
|
||||
{
|
||||
QApplication::clipboard()->setText(imageUrl().toString());
|
||||
m_notification->showMessage(tr("URL copied to clipboard."));
|
||||
}
|
||||
|
||||
void ImgUploader::copyImage()
|
||||
{
|
||||
QApplication::clipboard()->setPixmap(m_pixmap);
|
||||
m_notification->showMessage(tr("Screenshot copied to clipboard."));
|
||||
}
|
||||
|
||||
void ImgUploader::deleteImageOnStorage()
|
||||
{
|
||||
if (nullptr != m_imageLabel) {
|
||||
m_imageLabel->hide();
|
||||
}
|
||||
m_spinner->show();
|
||||
setInfoLabelText(tr("Deleting image..."));
|
||||
deleteResource(m_storageImageName, m_deleteToken);
|
||||
}
|
||||
|
||||
void ImgUploader::startDrag()
|
||||
{
|
||||
QMimeData* mimeData = new QMimeData;
|
||||
mimeData->setUrls(QList<QUrl>{ imageUrl() });
|
||||
mimeData->setImageData(m_pixmap);
|
||||
|
||||
QDrag* dragHandler = new QDrag(this);
|
||||
dragHandler->setMimeData(mimeData);
|
||||
dragHandler->setPixmap(m_pixmap.scaled(
|
||||
256, 256, Qt::KeepAspectRatioByExpanding, Qt::SmoothTransformation));
|
||||
dragHandler->exec();
|
||||
}
|
||||
|
||||
void ImgUploader::hideSpinner()
|
||||
{
|
||||
if (nullptr != m_spinner) {
|
||||
m_spinner->hide();
|
||||
}
|
||||
if (nullptr != m_imageLabel) {
|
||||
m_imageLabel->hide();
|
||||
}
|
||||
}
|
||||
|
||||
void ImgUploader::setInfoLabelText(const QString& infoText)
|
||||
{
|
||||
m_infoLabel->setText(infoText);
|
||||
m_infoLabel->show();
|
||||
}
|
||||
|
||||
const QPixmap& ImgUploader::pixmap()
|
||||
{
|
||||
return m_pixmap;
|
||||
}
|
||||
|
||||
void ImgUploader::onUploadOk()
|
||||
{
|
||||
hideSpinner();
|
||||
|
||||
m_notification = new NotificationWidget();
|
||||
m_vLayout->addWidget(m_notification);
|
||||
|
||||
if (nullptr == m_imageLabel) {
|
||||
m_imageLabel = new ImageLabel();
|
||||
m_imageLabel->setScreenshot(pixmap());
|
||||
m_imageLabel->setSizePolicy(QSizePolicy::Expanding,
|
||||
QSizePolicy::Expanding);
|
||||
connect(m_imageLabel,
|
||||
&ImageLabel::dragInitiated,
|
||||
this,
|
||||
&ImgUploader::startDrag);
|
||||
m_vLayout->addWidget(m_imageLabel);
|
||||
}
|
||||
|
||||
m_hLayout = new QHBoxLayout();
|
||||
m_vLayout->addLayout(m_hLayout);
|
||||
|
||||
m_copyUrlButton = new QPushButton(tr("Copy URL"));
|
||||
m_openUrlButton = new QPushButton(tr("Open URL"));
|
||||
m_deleteImageOnStorage = new QPushButton(tr("Delete image"));
|
||||
m_toClipboardButton = new QPushButton(tr("Image to Clipboard."));
|
||||
m_hLayout->addWidget(m_copyUrlButton);
|
||||
m_hLayout->addWidget(m_openUrlButton);
|
||||
m_hLayout->addWidget(m_deleteImageOnStorage);
|
||||
m_hLayout->addWidget(m_toClipboardButton);
|
||||
|
||||
connect(
|
||||
m_copyUrlButton, &QPushButton::clicked, this, &ImgUploader::copyURL);
|
||||
connect(
|
||||
m_openUrlButton, &QPushButton::clicked, this, &ImgUploader::openURL);
|
||||
connect(m_deleteImageOnStorage,
|
||||
&QPushButton::clicked,
|
||||
this,
|
||||
&ImgUploader::deleteImageOnStorage);
|
||||
connect(m_toClipboardButton,
|
||||
&QPushButton::clicked,
|
||||
this,
|
||||
&ImgUploader::copyImage);
|
||||
}
|
||||
|
||||
void ImgUploader::setImageUrl(const QUrl& imageURL)
|
||||
{
|
||||
m_imageURL = imageURL;
|
||||
}
|
||||
const QUrl& ImgUploader::imageUrl()
|
||||
{
|
||||
return m_imageURL;
|
||||
}
|
||||
|
||||
void ImgUploader::showNotificationMessage(const QString& notificationMessage) {
|
||||
m_notification->showMessage(notificationMessage);
|
||||
}
|
||||
|
||||
98
src/tools/storage/imguploader.h
Normal file
98
src/tools/storage/imguploader.h
Normal file
@@ -0,0 +1,98 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#pragma once
|
||||
|
||||
#define S3_API_IMG_PATH "v2/image/"
|
||||
|
||||
#include "imgs3settings.h"
|
||||
#include <QUrl>
|
||||
#include <QWidget>
|
||||
|
||||
class QNetworkReply;
|
||||
class QNetworkProxy;
|
||||
class QNetworkAccessManager;
|
||||
class QHBoxLayout;
|
||||
class QVBoxLayout;
|
||||
class QLabel;
|
||||
class LoadSpinner;
|
||||
class QPushButton;
|
||||
class QUrl;
|
||||
class NotificationWidget;
|
||||
class ConfigEnterprise;
|
||||
class ImageLabel;
|
||||
|
||||
class ImgUploader : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ImgUploader(const QPixmap& capture, QWidget* parent = nullptr);
|
||||
explicit ImgUploader(QWidget* parent = nullptr);
|
||||
|
||||
virtual void upload(){};
|
||||
virtual void deleteResource(const QString&, const QString&){};
|
||||
|
||||
protected:
|
||||
const QPixmap& pixmap();
|
||||
void setImageUrl(const QUrl&);
|
||||
const QUrl& imageUrl();
|
||||
void onUploadOk();
|
||||
void hideSpinner();
|
||||
void setInfoLabelText(const QString&);
|
||||
void removeImagePreview();
|
||||
void showNotificationMessage(const QString&);
|
||||
|
||||
public slots:
|
||||
virtual void openURL();
|
||||
virtual void copyURL();
|
||||
virtual void copyImage();
|
||||
virtual void deleteImageOnStorage();
|
||||
virtual void startDrag();
|
||||
|
||||
private:
|
||||
void init(const QString& title, const QString& label);
|
||||
|
||||
// class members
|
||||
private:
|
||||
QPixmap m_pixmap;
|
||||
|
||||
QUrl m_imageURL;
|
||||
ImageLabel* m_imageLabel;
|
||||
|
||||
NotificationWidget* m_notification;
|
||||
|
||||
QVBoxLayout* m_vLayout;
|
||||
QHBoxLayout* m_hLayout;
|
||||
// loading
|
||||
LoadSpinner* m_spinner;
|
||||
QLabel* m_infoLabel;
|
||||
// uploaded
|
||||
QPushButton* m_openUrlButton;
|
||||
QPushButton* m_copyUrlButton;
|
||||
QPushButton* m_toClipboardButton;
|
||||
QPushButton* m_deleteImageOnStorage;
|
||||
|
||||
protected:
|
||||
// bool m_success;
|
||||
|
||||
// Temporary variables
|
||||
QString m_deleteToken;
|
||||
QString m_storageImageName;
|
||||
|
||||
public:
|
||||
bool resultStatus;
|
||||
};
|
||||
111
src/tools/storage/imguruploader.cpp
Normal file
111
src/tools/storage/imguruploader.cpp
Normal file
@@ -0,0 +1,111 @@
|
||||
// Copyright(c) 2017-2019 Alejandro Sirgo Rica & Contributors
|
||||
//
|
||||
// This file is part of Flameshot.
|
||||
//
|
||||
// Flameshot is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// Flameshot is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Flameshot. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "imguruploader.h"
|
||||
#include "src/utils/confighandler.h"
|
||||
#include "src/utils/filenamehandler.h"
|
||||
#include "src/utils/systemnotification.h"
|
||||
#include "src/widgets/imagelabel.h"
|
||||
#include "src/widgets/loadspinner.h"
|
||||
#include "src/widgets/notificationwidget.h"
|
||||
#include <QApplication>
|
||||
#include <QBuffer>
|
||||
#include <QClipboard>
|
||||
#include <QDesktopServices>
|
||||
#include <QDrag>
|
||||
#include <QHBoxLayout>
|
||||
#include <QJsonDocument>
|
||||
#include <QJsonObject>
|
||||
#include <QLabel>
|
||||
#include <QMimeData>
|
||||
#include <QNetworkAccessManager>
|
||||
#include <QNetworkReply>
|
||||
#include <QNetworkRequest>
|
||||
#include <QPushButton>
|
||||
#include <QShortcut>
|
||||
#include <QTimer>
|
||||
#include <QUrlQuery>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
ImgurUploader::ImgurUploader(const QPixmap& capture, QWidget* parent)
|
||||
: ImgUploader(capture, parent)
|
||||
{
|
||||
setWindowTitle(tr("Upload to Imgur"));
|
||||
|
||||
m_NetworkAM = new QNetworkAccessManager(this);
|
||||
connect(m_NetworkAM,
|
||||
&QNetworkAccessManager::finished,
|
||||
this,
|
||||
&ImgurUploader::handleReply);
|
||||
// QTimer::singleShot(2000, this, &ImgurUploader::onUploadOk); // testing
|
||||
}
|
||||
|
||||
void ImgurUploader::handleReply(QNetworkReply* reply)
|
||||
{
|
||||
if (reply->error() == QNetworkReply::NoError) {
|
||||
QJsonDocument response = QJsonDocument::fromJson(reply->readAll());
|
||||
QJsonObject json = response.object();
|
||||
QJsonObject data = json[QStringLiteral("data")].toObject();
|
||||
setImageUrl(data[QStringLiteral("link")].toString());
|
||||
m_deleteImageURL.setUrl(
|
||||
QStringLiteral("https://imgur.com/delete/%1")
|
||||
.arg(data[QStringLiteral("deletehash")].toString()));
|
||||
if (ConfigHandler().copyAndCloseAfterUploadEnabled()) {
|
||||
QApplication::clipboard()->setText(imageUrl().toString());
|
||||
SystemNotification().sendMessage(
|
||||
QObject::tr("URL copied to clipboard."));
|
||||
close();
|
||||
} else {
|
||||
onUploadOk();
|
||||
}
|
||||
} else {
|
||||
setInfoLabelText(reply->errorString());
|
||||
}
|
||||
new QShortcut(Qt::Key_Escape, this, SLOT(close()));
|
||||
}
|
||||
|
||||
void ImgurUploader::upload()
|
||||
{
|
||||
QByteArray byteArray;
|
||||
QBuffer buffer(&byteArray);
|
||||
pixmap().save(&buffer, "PNG");
|
||||
|
||||
QUrlQuery urlQuery;
|
||||
urlQuery.addQueryItem(QStringLiteral("title"),
|
||||
QStringLiteral("flameshot_screenshot"));
|
||||
QString description = FileNameHandler().parsedPattern();
|
||||
urlQuery.addQueryItem(QStringLiteral("description"), description);
|
||||
|
||||
QUrl url(QStringLiteral("https://api.imgur.com/3/image"));
|
||||
url.setQuery(urlQuery);
|
||||
QNetworkRequest request(url);
|
||||
request.setHeader(QNetworkRequest::ContentTypeHeader,
|
||||
"application/application/x-www-form-urlencoded");
|
||||
request.setRawHeader(
|
||||
"Authorization",
|
||||
QStringLiteral("Client-ID %1").arg(IMGUR_CLIENT_ID).toUtf8());
|
||||
|
||||
m_NetworkAM->post(request, byteArray);
|
||||
}
|
||||
|
||||
void ImgurUploader::deleteImageOnStorage()
|
||||
{
|
||||
bool successful = QDesktopServices::openUrl(m_deleteImageURL);
|
||||
if (!successful) {
|
||||
showNotificationMessage(tr("Unable to open the URL."));
|
||||
}
|
||||
}
|
||||
@@ -17,8 +17,9 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <QWidget>
|
||||
#include "imguploader.h"
|
||||
#include <QUrl>
|
||||
#include <QWidget>
|
||||
|
||||
class QNetworkReply;
|
||||
class QNetworkAccessManager;
|
||||
@@ -30,38 +31,22 @@ class QPushButton;
|
||||
class QUrl;
|
||||
class NotificationWidget;
|
||||
|
||||
class ImgurUploader : public QWidget {
|
||||
class ImgurUploader : public ImgUploader
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit ImgurUploader(const QPixmap &capture, QWidget *parent = nullptr);
|
||||
explicit ImgurUploader(const QPixmap& capture, QWidget* parent = nullptr);
|
||||
void upload();
|
||||
|
||||
private slots:
|
||||
void handleReply(QNetworkReply *reply);
|
||||
void startDrag();
|
||||
void handleReply(QNetworkReply* reply);
|
||||
// void openDeleteURL();
|
||||
|
||||
void openURL();
|
||||
void copyURL();
|
||||
void openDeleteURL();
|
||||
void copyImage();
|
||||
protected slots:
|
||||
void deleteImageOnStorage();
|
||||
|
||||
// class members
|
||||
private:
|
||||
QPixmap m_pixmap;
|
||||
QNetworkAccessManager *m_NetworkAM;
|
||||
|
||||
QVBoxLayout *m_vLayout;
|
||||
QHBoxLayout *m_hLayout;
|
||||
// loading
|
||||
QLabel *m_infoLabel;
|
||||
LoadSpinner *m_spinner;
|
||||
// uploaded
|
||||
QPushButton *m_openUrlButton;
|
||||
QPushButton *m_openDeleteUrlButton;
|
||||
QPushButton *m_copyUrlButton;
|
||||
QPushButton *m_toClipboardButton;
|
||||
QUrl m_imageURL;
|
||||
QNetworkAccessManager* m_NetworkAM;
|
||||
QUrl m_deleteImageURL;
|
||||
NotificationWidget *m_notification;
|
||||
|
||||
void upload();
|
||||
void onUploadOk();
|
||||
};
|
||||
@@ -19,39 +19,55 @@
|
||||
#include "imguruploader.h"
|
||||
#include <QPainter>
|
||||
|
||||
ImgurUploaderTool::ImgurUploaderTool(QObject *parent) : AbstractActionTool(parent) {
|
||||
ImgurUploaderTool::ImgurUploaderTool(QObject* parent)
|
||||
: AbstractActionTool(parent)
|
||||
{}
|
||||
|
||||
}
|
||||
|
||||
bool ImgurUploaderTool::closeOnButtonPressed() const {
|
||||
bool ImgurUploaderTool::closeOnButtonPressed() const
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
QIcon ImgurUploaderTool::icon(const QColor &background, bool inEditor) const {
|
||||
QIcon ImgurUploaderTool::icon(const QColor& background, bool inEditor) const
|
||||
{
|
||||
Q_UNUSED(inEditor);
|
||||
return QIcon(iconPath(background) + "cloud-upload.svg");
|
||||
}
|
||||
QString ImgurUploaderTool::name() const {
|
||||
|
||||
QString ImgurUploaderTool::name() const
|
||||
{
|
||||
return tr("Image Uploader");
|
||||
}
|
||||
|
||||
QString ImgurUploaderTool::nameID() {
|
||||
QString ImgurUploaderTool::nameID()
|
||||
{
|
||||
return QLatin1String("");
|
||||
}
|
||||
|
||||
QString ImgurUploaderTool::description() const {
|
||||
QString ImgurUploaderTool::description() const
|
||||
{
|
||||
return tr("Upload the selection to Imgur");
|
||||
}
|
||||
|
||||
QWidget* ImgurUploaderTool::widget() {
|
||||
return new ImgurUploader(capture);
|
||||
QWidget* ImgurUploaderTool::widget()
|
||||
{
|
||||
ImgurUploader* p = new ImgurUploader(capture);
|
||||
p->upload();
|
||||
return p;
|
||||
}
|
||||
|
||||
CaptureTool* ImgurUploaderTool::copy(QObject *parent) {
|
||||
void ImgurUploaderTool::setCapture(const QPixmap& pixmap)
|
||||
{
|
||||
capture = pixmap;
|
||||
}
|
||||
|
||||
CaptureTool* ImgurUploaderTool::copy(QObject* parent)
|
||||
{
|
||||
return new ImgurUploaderTool(parent);
|
||||
}
|
||||
|
||||
void ImgurUploaderTool::pressed(const CaptureContext &context) {
|
||||
void ImgurUploaderTool::pressed(const CaptureContext& context)
|
||||
{
|
||||
capture = context.selectedScreenshotArea();
|
||||
emit requestAction(REQ_CAPTURE_DONE_OK);
|
||||
emit requestAction(REQ_ADD_EXTERNAL_WIDGETS);
|
||||
@@ -34,6 +34,7 @@ public:
|
||||
QWidget* widget() override;
|
||||
|
||||
CaptureTool* copy(QObject *parent = nullptr) override;
|
||||
void setCapture(const QPixmap&);
|
||||
|
||||
public slots:
|
||||
void pressed(const CaptureContext &context) override;
|
||||
@@ -17,97 +17,96 @@
|
||||
|
||||
#include "toolfactory.h"
|
||||
#include "arrow/arrowtool.h"
|
||||
#include "blur/blurtool.h"
|
||||
#include "circle/circletool.h"
|
||||
#include "copy/copytool.h"
|
||||
#include "exit/exittool.h"
|
||||
#include "imgur/imguruploadertool.h"
|
||||
#include "imgs3/imgs3uploadertool.h"
|
||||
#include "launcher/applaunchertool.h"
|
||||
#include "line/linetool.h"
|
||||
#include "marker/markertool.h"
|
||||
#include "move/movetool.h"
|
||||
#include "pencil/penciltool.h"
|
||||
#include "pin/pintool.h"
|
||||
#include "rectangle/rectangletool.h"
|
||||
#include "redo/redotool.h"
|
||||
#include "save/savetool.h"
|
||||
#include "selection/selectiontool.h"
|
||||
#include "sizeindicator/sizeindicatortool.h"
|
||||
#include "undo/undotool.h"
|
||||
#include "launcher/applaunchertool.h"
|
||||
#include "blur/blurtool.h"
|
||||
#include "redo/redotool.h"
|
||||
#include "pin/pintool.h"
|
||||
#include "storage/imgs3uploadertool.h"
|
||||
#include "storage/imguruploadertool.h"
|
||||
#include "text/texttool.h"
|
||||
#include "undo/undotool.h"
|
||||
|
||||
ToolFactory::ToolFactory(QObject *parent) : QObject(parent) {
|
||||
ToolFactory::ToolFactory(QObject* parent)
|
||||
: QObject(parent)
|
||||
{}
|
||||
|
||||
}
|
||||
|
||||
CaptureTool* ToolFactory::CreateTool(
|
||||
CaptureButton::ButtonType t,
|
||||
QObject *parent)
|
||||
CaptureTool* ToolFactory::CreateTool(CaptureButton::ButtonType t,
|
||||
QObject* parent)
|
||||
{
|
||||
CaptureTool *tool;
|
||||
CaptureTool* tool;
|
||||
switch (t) {
|
||||
case CaptureButton::TYPE_ARROW:
|
||||
tool = new ArrowTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_CIRCLE:
|
||||
tool = new CircleTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_COPY:
|
||||
tool = new CopyTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_EXIT:
|
||||
tool = new ExitTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_IMAGEUPLOADER:
|
||||
// tool = new ImgurUploaderTool(parent);
|
||||
tool = new ImgS3UploaderTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_DRAWER:
|
||||
tool = new LineTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_MARKER:
|
||||
tool = new MarkerTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_MOVESELECTION:
|
||||
tool = new MoveTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_PENCIL:
|
||||
tool = new PencilTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_RECTANGLE:
|
||||
tool = new RectangleTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_SAVE:
|
||||
tool = new SaveTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_SELECTION:
|
||||
tool = new SelectionTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_SELECTIONINDICATOR:
|
||||
tool = new SizeIndicatorTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_UNDO:
|
||||
tool = new UndoTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_REDO:
|
||||
tool = new RedoTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_OPEN_APP:
|
||||
tool = new AppLauncher(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_BLUR:
|
||||
tool = new BlurTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_PIN:
|
||||
tool = new PinTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_TEXT:
|
||||
tool = new TextTool(parent);
|
||||
break;
|
||||
default:
|
||||
tool = nullptr;
|
||||
break;
|
||||
case CaptureButton::TYPE_ARROW:
|
||||
tool = new ArrowTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_CIRCLE:
|
||||
tool = new CircleTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_COPY:
|
||||
tool = new CopyTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_EXIT:
|
||||
tool = new ExitTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_IMAGEUPLOADER:
|
||||
tool = new ImgurUploaderTool(parent);
|
||||
// tool = new ImgS3UploaderTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_DRAWER:
|
||||
tool = new LineTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_MARKER:
|
||||
tool = new MarkerTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_MOVESELECTION:
|
||||
tool = new MoveTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_PENCIL:
|
||||
tool = new PencilTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_RECTANGLE:
|
||||
tool = new RectangleTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_SAVE:
|
||||
tool = new SaveTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_SELECTION:
|
||||
tool = new SelectionTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_SELECTIONINDICATOR:
|
||||
tool = new SizeIndicatorTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_UNDO:
|
||||
tool = new UndoTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_REDO:
|
||||
tool = new RedoTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_OPEN_APP:
|
||||
tool = new AppLauncher(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_BLUR:
|
||||
tool = new BlurTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_PIN:
|
||||
tool = new PinTool(parent);
|
||||
break;
|
||||
case CaptureButton::TYPE_TEXT:
|
||||
tool = new TextTool(parent);
|
||||
break;
|
||||
default:
|
||||
tool = nullptr;
|
||||
break;
|
||||
}
|
||||
return tool;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,26 +1,28 @@
|
||||
#include "historywidget.h"
|
||||
#include "src/tools/storage/imgs3uploader.h"
|
||||
#include "src/utils/history.h"
|
||||
#include "src/widgets/notificationwidget.h"
|
||||
#include "src/tools/imgs3/imgs3uploader.h"
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
#include <QPixmap>
|
||||
#include <QLabel>
|
||||
#include <QScrollArea>
|
||||
#include <QFileInfo>
|
||||
#include <QDateTime>
|
||||
#include <QPushButton>
|
||||
#include <QIcon>
|
||||
#include <QSettings>
|
||||
#include <QApplication>
|
||||
#include <QDesktopWidget>
|
||||
#include <QDesktopServices>
|
||||
#include <QClipboard>
|
||||
#include <QUrl>
|
||||
#include <QDateTime>
|
||||
#include <QDesktopServices>
|
||||
#include <QDesktopWidget>
|
||||
#include <QFileInfo>
|
||||
#include <QHBoxLayout>
|
||||
#include <QIcon>
|
||||
#include <QLabel>
|
||||
#include <QLayoutItem>
|
||||
#include <QPixmap>
|
||||
#include <QPushButton>
|
||||
#include <QScrollArea>
|
||||
#include <QSettings>
|
||||
#include <QUrl>
|
||||
#include <QVBoxLayout>
|
||||
|
||||
#include <QDebug>
|
||||
|
||||
HistoryWidget::HistoryWidget(QWidget *parent) : QDialog(parent)
|
||||
HistoryWidget::HistoryWidget(QWidget* parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
setWindowTitle(tr("Latest Uploads"));
|
||||
@@ -30,46 +32,46 @@ HistoryWidget::HistoryWidget(QWidget *parent) : QDialog(parent)
|
||||
m_pVBox = new QVBoxLayout(this);
|
||||
m_pVBox->setAlignment(Qt::AlignTop);
|
||||
|
||||
QScrollArea *scrollArea = new QScrollArea( this );
|
||||
scrollArea->setVerticalScrollBarPolicy( Qt::ScrollBarAlwaysOn );
|
||||
scrollArea->setWidgetResizable( true );
|
||||
scrollArea->setGeometry( this->frameGeometry() );
|
||||
QScrollArea* scrollArea = new QScrollArea(this);
|
||||
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
|
||||
scrollArea->setWidgetResizable(true);
|
||||
scrollArea->setGeometry(this->frameGeometry());
|
||||
|
||||
QWidget *widget = new QWidget();
|
||||
scrollArea->setWidget( widget );
|
||||
widget->setLayout( m_pVBox );
|
||||
QWidget* widget = new QWidget();
|
||||
scrollArea->setWidget(widget);
|
||||
widget->setLayout(m_pVBox);
|
||||
|
||||
loadHistory();
|
||||
}
|
||||
|
||||
void HistoryWidget::loadHistory() {
|
||||
void HistoryWidget::loadHistory()
|
||||
{
|
||||
// read history files
|
||||
History history = History();
|
||||
QList<QString> historyFiles = history.history();
|
||||
|
||||
if(historyFiles.isEmpty()) {
|
||||
if (historyFiles.isEmpty()) {
|
||||
setEmptyMessage();
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
// generate history list
|
||||
foreach(QString fileName, historyFiles) {
|
||||
foreach (QString fileName, historyFiles) {
|
||||
addLine(history.path(), fileName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void HistoryWidget::setEmptyMessage() {
|
||||
QPushButton *buttonEmpty = new QPushButton;
|
||||
void HistoryWidget::setEmptyMessage()
|
||||
{
|
||||
QPushButton* buttonEmpty = new QPushButton;
|
||||
buttonEmpty->setText(tr("Screenshots history is empty"));
|
||||
buttonEmpty->setMinimumSize(1, HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
connect(buttonEmpty, &QPushButton::clicked, this, [=](){
|
||||
this->close();
|
||||
});
|
||||
connect(buttonEmpty, &QPushButton::clicked, this, [=]() { this->close(); });
|
||||
m_pVBox->addWidget(buttonEmpty);
|
||||
}
|
||||
|
||||
void HistoryWidget::addLine(const QString &path, const QString& fileName) {
|
||||
QHBoxLayout *phbl = new QHBoxLayout();
|
||||
void HistoryWidget::addLine(const QString& path, const QString& fileName)
|
||||
{
|
||||
QHBoxLayout* phbl = new QHBoxLayout();
|
||||
QString fullFileName = path + fileName;
|
||||
|
||||
History history;
|
||||
@@ -79,60 +81,62 @@ void HistoryWidget::addLine(const QString &path, const QString& fileName) {
|
||||
|
||||
// load pixmap
|
||||
QPixmap pixmap;
|
||||
pixmap.load( fullFileName, "png" );
|
||||
pixmap.load(fullFileName, "png");
|
||||
|
||||
if (pixmap.height() / HISTORYPIXMAP_MAX_PREVIEW_HEIGHT >= pixmap.width() / HISTORYPIXMAP_MAX_PREVIEW_WIDTH) {
|
||||
if (pixmap.height() / HISTORYPIXMAP_MAX_PREVIEW_HEIGHT >=
|
||||
pixmap.width() / HISTORYPIXMAP_MAX_PREVIEW_WIDTH) {
|
||||
pixmap = pixmap.scaledToHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
} else {
|
||||
pixmap = pixmap.scaledToWidth(HISTORYPIXMAP_MAX_PREVIEW_WIDTH);
|
||||
}
|
||||
|
||||
// get file info
|
||||
QFileInfo *pFileInfo = new QFileInfo(fullFileName);
|
||||
QString lastModified = pFileInfo->lastModified().toString(" yyyy-MM-dd\nhh:mm:ss");
|
||||
QFileInfo* pFileInfo = new QFileInfo(fullFileName);
|
||||
QString lastModified =
|
||||
pFileInfo->lastModified().toString(" yyyy-MM-dd\nhh:mm:ss");
|
||||
|
||||
// screenshot preview
|
||||
QLabel *pScreenshot = new QLabel();
|
||||
QLabel* pScreenshot = new QLabel();
|
||||
pScreenshot->setStyleSheet("padding: 5px;");
|
||||
pScreenshot->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
pScreenshot->setPixmap(pixmap);
|
||||
|
||||
// screenshot datetime
|
||||
QLabel *pScreenshotText = new QLabel();
|
||||
QLabel* pScreenshotText = new QLabel();
|
||||
pScreenshotText->setStyleSheet("padding: 5px;");
|
||||
pScreenshotText->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
pScreenshotText->setAlignment(Qt::AlignCenter);
|
||||
pScreenshotText->setText(lastModified);
|
||||
|
||||
// copy url
|
||||
QPushButton *buttonCopyUrl = new QPushButton;
|
||||
QPushButton* buttonCopyUrl = new QPushButton;
|
||||
buttonCopyUrl->setText(tr("Copy URL"));
|
||||
buttonCopyUrl->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
connect(buttonCopyUrl, &QPushButton::clicked, this, [=](){
|
||||
connect(buttonCopyUrl, &QPushButton::clicked, this, [=]() {
|
||||
QApplication::clipboard()->setText(url);
|
||||
m_notification->showMessage(tr("URL copied to clipboard."));
|
||||
this->close();
|
||||
});
|
||||
|
||||
// open in browser
|
||||
QPushButton *buttonOpen = new QPushButton;
|
||||
QPushButton* buttonOpen = new QPushButton;
|
||||
buttonOpen->setText(tr("Open in browser"));
|
||||
buttonOpen->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
connect(buttonOpen, &QPushButton::clicked, this, [=](){
|
||||
connect(buttonOpen, &QPushButton::clicked, this, [=]() {
|
||||
QDesktopServices::openUrl(QUrl(url));
|
||||
this->close();
|
||||
});
|
||||
|
||||
// delete
|
||||
QPushButton *buttonDelete = new QPushButton;
|
||||
QPushButton* buttonDelete = new QPushButton;
|
||||
buttonDelete->setIcon(QIcon(":/img/material/black/delete.svg"));
|
||||
buttonDelete->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
|
||||
connect(buttonDelete, &QPushButton::clicked, this, [=](){
|
||||
connect(buttonDelete, &QPushButton::clicked, this, [=]() {
|
||||
if (unpackFileName.token.length() > 0) {
|
||||
removeItem(phbl, unpackFileName.file, unpackFileName.token);
|
||||
}
|
||||
else {
|
||||
// for compatibility with previous versions and to be able to remove previous screenshots
|
||||
} else {
|
||||
// for compatibility with previous versions and to be able to remove
|
||||
// previous screenshots
|
||||
QFile file(fullFileName);
|
||||
if (file.exists()) {
|
||||
file.remove();
|
||||
@@ -158,23 +162,27 @@ void HistoryWidget::addLine(const QString &path, const QString& fileName) {
|
||||
m_pVBox->addLayout(phbl);
|
||||
}
|
||||
|
||||
void HistoryWidget::removeItem(QLayout *pl, const QString& s3FileName, const QString& deleteToken) {
|
||||
ImgS3Uploader *uploader = new ImgS3Uploader();
|
||||
void HistoryWidget::removeItem(QLayout* pl,
|
||||
const QString& s3FileName,
|
||||
const QString& deleteToken)
|
||||
{
|
||||
ImgS3Uploader* uploader = new ImgS3Uploader();
|
||||
hide();
|
||||
uploader->show();
|
||||
uploader->deleteResource(s3FileName, deleteToken);
|
||||
connect(uploader, &QWidget::destroyed, this, [=](){
|
||||
if(uploader->success()) {
|
||||
connect(uploader, &QWidget::destroyed, this, [=]() {
|
||||
if (uploader->resultStatus) {
|
||||
removeLocalItem(pl);
|
||||
}
|
||||
show();
|
||||
});
|
||||
}
|
||||
|
||||
void HistoryWidget::removeLocalItem(QLayout *pl) {
|
||||
void HistoryWidget::removeLocalItem(QLayout* pl)
|
||||
{
|
||||
// remove current row or refresh list
|
||||
while(pl->count() > 0) {
|
||||
QLayoutItem *item = pl->takeAt(0);
|
||||
while (pl->count() > 0) {
|
||||
QLayoutItem* item = pl->takeAt(0);
|
||||
delete item->widget();
|
||||
delete item;
|
||||
}
|
||||
@@ -182,7 +190,7 @@ void HistoryWidget::removeLocalItem(QLayout *pl) {
|
||||
delete pl;
|
||||
|
||||
// set "empty" message if no items left
|
||||
if(m_pVBox->count() == 0) {
|
||||
if (m_pVBox->count() == 0) {
|
||||
setEmptyMessage();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,11 +4,11 @@
|
||||
#define HISTORYPIXMAP_MAX_PREVIEW_WIDTH 160
|
||||
#define HISTORYPIXMAP_MAX_PREVIEW_HEIGHT 90
|
||||
|
||||
#include <QObject>
|
||||
#include <QWidget>
|
||||
#include "src/tools/storage/imgs3settings.h"
|
||||
#include <QDialog>
|
||||
#include <QObject>
|
||||
#include <QString>
|
||||
#include "src/tools/imgs3/imgs3settings.h"
|
||||
#include <QWidget>
|
||||
|
||||
class QLayout;
|
||||
class QVBoxLayout;
|
||||
@@ -18,21 +18,23 @@ class HistoryWidget : public QDialog
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
explicit HistoryWidget(QWidget *parent = nullptr);
|
||||
explicit HistoryWidget(QWidget* parent = nullptr);
|
||||
|
||||
signals:
|
||||
|
||||
private:
|
||||
void loadHistory();
|
||||
void addLine(const QString &, const QString &);
|
||||
void removeItem(QLayout *pl, const QString& s3FileName, const QString& deleteToken);
|
||||
void removeLocalItem(QLayout *pl);
|
||||
void addLine(const QString&, const QString&);
|
||||
void removeItem(QLayout* pl,
|
||||
const QString& s3FileName,
|
||||
const QString& deleteToken);
|
||||
void removeLocalItem(QLayout* pl);
|
||||
void setEmptyMessage();
|
||||
|
||||
private:
|
||||
ImgS3Settings m_s3Settings;
|
||||
QVBoxLayout *m_pVBox;
|
||||
NotificationWidget *m_notification;
|
||||
QVBoxLayout* m_pVBox;
|
||||
NotificationWidget* m_notification;
|
||||
};
|
||||
|
||||
#endif // HISTORYWIDGET_H
|
||||
|
||||
@@ -457,27 +457,27 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copia l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">L'URL s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -485,151 +485,198 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">S'està pujant la imatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copia l'URL</translation>
|
||||
<translation type="obsolete">Copia l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Obri l'URL</translation>
|
||||
<translation type="obsolete">Obri l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Imatge al porta-retalls.</translation>
|
||||
<translation type="obsolete">Imatge al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">No es pot obrir l'URL.</translation>
|
||||
<translation type="obsolete">No es pot obrir l'URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">L'URL s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">La captura s'ha copiat al porta-retalls.</translation>
|
||||
<translation type="obsolete">La captura s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Puja la imatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">S'està pujant la imatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">No es pot obrir l'URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">L'URL s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">La captura s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copia l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Obri l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Imatge al porta-retalls.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Puja a Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>S'està pujant la imatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copia l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Obri l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Imatge al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>No es pot obrir l'URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>L'URL s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>La captura s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -637,12 +684,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Puja la imatge</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Puja la selecció a Imgur</translation>
|
||||
</message>
|
||||
@@ -840,7 +887,7 @@ Press Space to open the side panel.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">L'URL s'ha copiat al porta-retalls.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Drücke die Leertaste um das Seitenmenü zu öffnen.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL kopiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Drücke die Leertaste um das Seitenmenü zu öffnen.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Bild hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL kopieren</translation>
|
||||
<translation type="obsolete">URL kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL öffnen</translation>
|
||||
<translation type="obsolete">URL öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Bild löschen</translation>
|
||||
<translation type="obsolete">Bild löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Bild in Zwischenablage.</translation>
|
||||
<translation type="obsolete">Bild in Zwischenablage.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Kann URL nicht öffnen.</translation>
|
||||
<translation type="obsolete">Kann URL nicht öffnen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL kopiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Bildschirmaufnahme in Zwischenablage kopiert.</translation>
|
||||
<translation type="obsolete">Bildschirmaufnahme in Zwischenablage kopiert.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Bild hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Bild hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Kann URL nicht öffnen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL kopiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Bildschirmaufnahme in Zwischenablage kopiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Bild löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Bild in Zwischenablage.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Zu Imgur hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Bild hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL kopieren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>URL öffnen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Bild löschen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Bild in Zwischenablage.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Kann URL nicht öffnen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL kopiert.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Bildschirmaufnahme in Zwischenablage kopiert.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Drücke die Leertaste um das Seitenmenü zu öffnen.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Bild hochladen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Auswahl zu Imgur hochladen</translation>
|
||||
</message>
|
||||
@@ -851,7 +902,7 @@ Drücke die Leertaste um das Seitenmenü zu öffnen.</translation>
|
||||
<translation>Kein Schreibzugriff auf</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL kopiert.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Presiona Espacio para abrir el panel lateral.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada al portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Presiona Espacio para abrir el panel lateral.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Subiendo Imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copiar URL</translation>
|
||||
<translation type="obsolete">Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Abrir URL</translation>
|
||||
<translation type="obsolete">Abrir URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Borrar imagen</translation>
|
||||
<translation type="obsolete">Borrar imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Imagen al Portapapeles.</translation>
|
||||
<translation type="obsolete">Imagen al Portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">No puede abrir la URL.</translation>
|
||||
<translation type="obsolete">No puede abrir la URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada al portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Captura copiada al portapapeles.</translation>
|
||||
<translation type="obsolete">Captura copiada al portapapeles.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Subir Imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Subiendo Imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">No puede abrir la URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada al portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Captura copiada al portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Abrir URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Borrar imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Imagen al Portapapeles.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Subir a Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Subiendo Imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Abrir URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Borrar imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Imagen al Portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>No puede abrir la URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL copiada al portapapeles.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Captura copiada al portapapeles.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Presiona Espacio para abrir el panel lateral.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Subir Imagen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Sube la selección a Imgur</translation>
|
||||
</message>
|
||||
@@ -847,7 +898,7 @@ Presiona Espacio para abrir el panel lateral.</translation>
|
||||
<translation>Imposible escribir en</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada al portapapeles.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Appuyer sur Espace pour ouvrir le panneau latéral.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copier l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,198 @@ Appuyer sur Espace pour ouvrir le panneau latéral.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Mise en ligne de l'image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copier l'URL</translation>
|
||||
<translation type="obsolete">Copier l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Ouvrir l'URL</translation>
|
||||
<translation type="obsolete">Ouvrir l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Image dans le Presse-papier.</translation>
|
||||
<translation type="obsolete">Image dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Impossible d'ouvrir l'URL.</translation>
|
||||
<translation type="obsolete">Impossible d'ouvrir l'URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Capture d'écran copiée dans le Presse-papier.</translation>
|
||||
<translation type="obsolete">Capture d'écran copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Mise en ligne d'images</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Mettre en ligne vers Imgur</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Mise en ligne de l'image</translation>
|
||||
<translation type="unfinished">Mise en ligne de l'image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Impossible d'ouvrir l'URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Capture d'écran copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copier l'URL</translation>
|
||||
<translation type="unfinished">Copier l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Ouvrir l'URL</translation>
|
||||
<translation type="unfinished">Ouvrir l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Image dans le Presse-papier.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Mettre en ligne vers Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Mise en ligne de l'image</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copier l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Ouvrir l'URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Image dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Impossible d'ouvrir l'URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Capture d'écran copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
@@ -640,12 +687,12 @@ Appuyer sur Espace pour ouvrir le panneau latéral.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Mise en ligne d'images</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Mettre en ligne la sélection vers Imgur</translation>
|
||||
</message>
|
||||
@@ -843,7 +890,7 @@ Appuyer sur Espace pour ouvrir le panneau latéral.</translation>
|
||||
<translation>Imposible d'écrire par dessus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiée dans le Presse-papier.</translation>
|
||||
</message>
|
||||
|
||||
@@ -425,19 +425,19 @@ Press Space to open the side panel.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL másolása</translation>
|
||||
<translation type="obsolete">URL másolása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL megnyitása</translation>
|
||||
<translation type="obsolete">URL megnyitása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Kép a vágolapra.</translation>
|
||||
<translation type="obsolete">Kép a vágolapra.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Nem lehet az URL-t megnyitni.</translation>
|
||||
<translation type="obsolete">Nem lehet az URL-t megnyitni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL copied to clipboard.</source>
|
||||
@@ -445,7 +445,7 @@ Press Space to open the side panel.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Képernyőmentés másolva a vágólapra.</translation>
|
||||
<translation type="obsolete">Képernyőmentés másolva a vágólapra.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upload image to S3</source>
|
||||
@@ -455,10 +455,6 @@ Press Space to open the side panel.</source>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
@@ -499,6 +495,53 @@ Press Space to open the side panel.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Kép felötlése</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Nem lehet az URL-t megnyitni.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL másolva a vágólapra.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Képernyőmentés másolva a vágólapra.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL másolása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL megnyitása</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Kép a vágolapra.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Enter を押すと画面をキャプチャー。
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL をクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Enter を押すと画面をキャプチャー。
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">画像をアップロード中</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL をコピー</translation>
|
||||
<translation type="obsolete">URL をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL を開く</translation>
|
||||
<translation type="obsolete">URL を開く</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">画像を削除</translation>
|
||||
<translation type="obsolete">画像を削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">画像をクリップボードへ。</translation>
|
||||
<translation type="obsolete">画像をクリップボードへ。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">URL を開けません。</translation>
|
||||
<translation type="obsolete">URL を開けません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL をクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">スクリーンショットをクリップボードにコピーしました。</translation>
|
||||
<translation type="obsolete">スクリーンショットをクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">画像アップローダー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">画像をアップロード中</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">URL を開けません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL をクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">スクリーンショットをクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL を開く</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">画像を削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">画像をクリップボードへ。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Imgur にアップロード</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>画像をアップロード中</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL をコピー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>URL を開く</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>画像を削除</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>画像をクリップボードへ。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>URL を開けません。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL をクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>スクリーンショットをクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Enter を押すと画面をキャプチャー。
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>画像アップローダー</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Imgur に選択範囲をアップロードする</translation>
|
||||
</message>
|
||||
@@ -843,7 +894,7 @@ Enter を押すと画面をキャプチャー。
|
||||
<translation>書き込めません:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL をクリップボードにコピーしました。</translation>
|
||||
</message>
|
||||
|
||||
@@ -456,27 +456,27 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL-ის კოპირება</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -484,151 +484,198 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">სურათის ატვირთვა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL-ის კოპირება</translation>
|
||||
<translation type="obsolete">URL-ის კოპირება</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL-ის გახსნა</translation>
|
||||
<translation type="obsolete">URL-ის გახსნა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">სურათის გაცვლის ბუფერში გაგზავნა</translation>
|
||||
<translation type="obsolete">სურათის გაცვლის ბუფერში გაგზავნა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">URL-ის გახსნა ვერ მოხერხდა.</translation>
|
||||
<translation type="obsolete">URL-ის გახსნა ვერ მოხერხდა.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">სურათი დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
<translation type="obsolete">სურათი დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">სურათის ამტვირთველი</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Imgur-ზე ატვირთვა</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>სურათის ატვირთვა</translation>
|
||||
<translation type="unfinished">სურათის ატვირთვა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">URL-ის გახსნა ვერ მოხერხდა.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">სურათი დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL-ის კოპირება</translation>
|
||||
<translation type="unfinished">URL-ის კოპირება</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation>URL-ის გახსნა</translation>
|
||||
<translation type="unfinished">URL-ის გახსნა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">სურათის გაცვლის ბუფერში გაგზავნა</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Imgur-ზე ატვირთვა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>სურათის ატვირთვა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL-ის კოპირება</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>URL-ის გახსნა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>სურათის გაცვლის ბუფერში გაგზავნა</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>URL-ის გახსნა ვერ მოხერხდა.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>სურათი დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
@@ -636,12 +683,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>სურათის ამტვირთველი</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>შერჩეულის Imgur-ზე ატვირთვა</translation>
|
||||
</message>
|
||||
@@ -839,7 +886,7 @@ Press Space to open the side panel.</source>
|
||||
<translation type="unfinished">შემდეგ მისამართზე ჩაწერა ვერ მოხერხდა:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL დაკოპირდა გაცვლის ბუფერში.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Druk op spatie om het zijpaneel te openen.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL kopiëren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Druk op spatie om het zijpaneel te openen.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Bezig met uploaden van afbeelding...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL kopiëren</translation>
|
||||
<translation type="obsolete">URL kopiëren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL openen</translation>
|
||||
<translation type="obsolete">URL openen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Afbeelding verwijderen</translation>
|
||||
<translation type="obsolete">Afbeelding verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Afbeelding naar klembord.</translation>
|
||||
<translation type="obsolete">Afbeelding naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Kan URL niet openen.</translation>
|
||||
<translation type="obsolete">Kan URL niet openen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Schermafdruk gekopieerd naar klembord.</translation>
|
||||
<translation type="obsolete">Schermafdruk gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Afbeeldingsuploader</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Bezig met uploaden van afbeelding...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Kan URL niet openen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Schermafdruk gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL kopiëren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL openen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Afbeelding verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Afbeelding naar klembord.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Uploaden naar Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Bezig met uploaden van afbeelding...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL kopiëren</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>URL openen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Afbeelding verwijderen</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Afbeelding naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Kan URL niet openen.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Schermafdruk gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Druk op spatie om het zijpaneel te openen.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Afbeeldingsuploader</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Upload de selectie naar Imgur</translation>
|
||||
</message>
|
||||
@@ -847,7 +898,7 @@ Druk op spatie om het zijpaneel te openen.</translation>
|
||||
<translation>Kan niet wegschrijven naar</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL gekopieerd naar klembord.</translation>
|
||||
</message>
|
||||
|
||||
@@ -459,27 +459,27 @@ Spacja, aby pokazać panel boczny.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Kopiuj URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopiowany do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -487,151 +487,202 @@ Spacja, aby pokazać panel boczny.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Wysyłanie obrazka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Kopiuj URL</translation>
|
||||
<translation type="obsolete">Kopiuj URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Otwórz URL</translation>
|
||||
<translation type="obsolete">Otwórz URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Usuń obrazek</translation>
|
||||
<translation type="obsolete">Usuń obrazek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Obrazek do schowka.</translation>
|
||||
<translation type="obsolete">Obrazek do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Nie można otworzyć adresu URL.</translation>
|
||||
<translation type="obsolete">Nie można otworzyć adresu URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopiowany do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Zrzut ekranu skopiowany do schowka.</translation>
|
||||
<translation type="obsolete">Zrzut ekranu skopiowany do schowka.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Uploader obrazów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Wysyłanie obrazka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Nie można otworzyć adresu URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopiowany do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Zrzut ekranu skopiowany do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Kopiuj URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Otwórz URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Usuń obrazek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Obrazek do schowka.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Wyślij do Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Wysyłanie obrazka</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Kopiuj URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Otwórz URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Usuń obrazek</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Obrazek do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Nie można otworzyć adresu URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL skopiowany do schowka.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Zrzut ekranu skopiowany do schowka.</translation>
|
||||
</message>
|
||||
@@ -639,12 +690,12 @@ Spacja, aby pokazać panel boczny.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Uploader obrazów</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Wyślij zaznaczenie do Imgur</translation>
|
||||
</message>
|
||||
@@ -842,7 +893,7 @@ Spacja, aby pokazać panel boczny.</translation>
|
||||
<translation>Nie można zapisać w</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopiowany do schowka.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Pressione espaço abrir o painel lateral.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada para o clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Pressione espaço abrir o painel lateral.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Upando Imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copiar URL</translation>
|
||||
<translation type="obsolete">Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Abrir URL</translation>
|
||||
<translation type="obsolete">Abrir URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Deletar imagem</translation>
|
||||
<translation type="obsolete">Deletar imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Imagem no Clipboard.</translation>
|
||||
<translation type="obsolete">Imagem no Clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Não foi possível abrir a URL.</translation>
|
||||
<translation type="obsolete">Não foi possível abrir a URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada para o clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Screenshot copiada para o clipboard.</translation>
|
||||
<translation type="obsolete">Screenshot copiada para o clipboard.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Uploader de imagens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Upando Imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Não foi possível abrir a URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada para o clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Screenshot copiada para o clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Abrir URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Deletar imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Imagem no Clipboard.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Upload no Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Upando Imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Copiar URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Abrir URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Deletar imagem</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Imagem no Clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Não foi possível abrir a URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL copiada para o clipboard.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Screenshot copiada para o clipboard.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Pressione espaço abrir o painel lateral.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Uploader de imagens</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Upa a seleção no Imgur</translation>
|
||||
</message>
|
||||
@@ -843,7 +894,7 @@ Pressione espaço abrir o painel lateral.</translation>
|
||||
<translation>Não foi possível escrever em</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL copiada para o clipboard.</translation>
|
||||
</message>
|
||||
|
||||
@@ -476,27 +476,27 @@ Press Space to open the side panel.</source>
|
||||
<translation type="vanished">История скриншотов пустая</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation>Последние загрузки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation>История скриншотов пуста</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопировать URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation>Открыть в браузере</translation>
|
||||
</message>
|
||||
@@ -508,17 +508,17 @@ Press Space to open the side panel.</source>
|
||||
<translation type="vanished">Загрузить на S3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Загрузка изображения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation>Загрузить на S3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation>Удалить скриншот с S3</translation>
|
||||
</message>
|
||||
@@ -527,87 +527,79 @@ Press Space to open the side panel.</source>
|
||||
<translation type="vanished">Удалить скриншот</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation>Удалить скриншот из истории?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation>Параметры доступов к S3 не найдены в конфигурационном файле</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопировать URL</translation>
|
||||
<translation type="vanished">Скопировать URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Открыть URL</translation>
|
||||
<translation type="vanished">Открыть URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Удалить изображение</translation>
|
||||
<translation type="vanished">Удалить изображение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Изображение в буфер обмена.</translation>
|
||||
<translation type="vanished">Изображение в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Не удалось открыть URL.</translation>
|
||||
<translation type="vanished">Не удалось открыть URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation>Удаление скриншота...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation>Невозможно удалить снимок экрана из удаленного хранилища.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation>Ошибка сети</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation>Возможно, его больше не существует</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation>Вы все равно хотите удалить скриншот из локальной истории?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Снимок скопирован в буфер обмена.</translation>
|
||||
<translation type="vanished">Снимок скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Отправка изображений</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation>Загрузить выделение на S3</translation>
|
||||
</message>
|
||||
@@ -617,50 +609,109 @@ Press Space to open the side panel.</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Загрузить в Imgur</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation>Загрузить на S3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Загрузка изображения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопировать URL</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation>Загрузить изображение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Открыть URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Удалить изображение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Изображение в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Не удалось открыть URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Снимок скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation>Удаление скриншота...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопировать URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Открыть URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Удалить изображение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Изображение в буфер обмена.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Загрузить в Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Загрузка изображения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопировать URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Открыть URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Удалить изображение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Изображение в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Не удалось открыть URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Снимок скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
@@ -668,12 +719,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Отправка изображений</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Загрузить выделение на Imgur</translation>
|
||||
</message>
|
||||
@@ -887,7 +938,7 @@ Press Space to open the side panel.</source>
|
||||
<translation>Не удалось сохранить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопирован в буфер обмена.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Stlačte medzerník pre otvorenie postranného panelu.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Kopírovať URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Stlačte medzerník pre otvorenie postranného panelu.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Nahrávam obrázok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Kopírovať URL</translation>
|
||||
<translation type="obsolete">Kopírovať URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Otvoriť URL</translation>
|
||||
<translation type="obsolete">Otvoriť URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Vymazať obrázok</translation>
|
||||
<translation type="obsolete">Vymazať obrázok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Obrázok do schránky.</translation>
|
||||
<translation type="obsolete">Obrázok do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Nepodarilo sa otvoriť URL.</translation>
|
||||
<translation type="obsolete">Nepodarilo sa otvoriť URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Snímka obrazovky bola skopírovaná do schránky.</translation>
|
||||
<translation type="obsolete">Snímka obrazovky bola skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Uploader obrázkov</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Nahrávam obrázok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Nepodarilo sa otvoriť URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Snímka obrazovky bola skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Kopírovať URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Otvoriť URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Vymazať obrázok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Obrázok do schránky.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Nahrať na Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Nahrávam obrázok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Kopírovať URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Otvoriť URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Vymazať obrázok</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Obrázok do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Nepodarilo sa otvoriť URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Snímka obrazovky bola skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Stlačte medzerník pre otvorenie postranného panelu.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Uploader obrázkov</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Nahrať výber na Imgur</translation>
|
||||
</message>
|
||||
@@ -851,7 +902,7 @@ Stlačte medzerník pre otvorenie postranného panelu.</translation>
|
||||
<translation>Chyba pri ukladaní</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL skopírovaná do schránky.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Запамти интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">Интернет адреса је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Објављујем слику</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Запамти интернет адресу</translation>
|
||||
<translation type="obsolete">Запамти интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Посети интернет адресу</translation>
|
||||
<translation type="obsolete">Посети интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Избриши слику</translation>
|
||||
<translation type="obsolete">Избриши слику</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Сачувај у привремену меморију.</translation>
|
||||
<translation type="obsolete">Сачувај у привремену меморију.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Нисам успео да посетим интернет адресу.</translation>
|
||||
<translation type="obsolete">Нисам успео да посетим интернет адресу.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">Интернет адреса је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Слика је сачувана у привременој меморији.</translation>
|
||||
<translation type="obsolete">Слика је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Објављивање слике</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Објављујем слику</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">Нисам успео да посетим интернет адресу.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">Интернет адреса је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Слика је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">Запамти интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">Посети интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Избриши слику</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Сачувај у привремену меморију.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Објави на Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Објављујем слику</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Запамти интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Посети интернет адресу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Избриши слику</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Сачувај у привремену меморију.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Нисам успео да посетим интернет адресу.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>Интернет адреса је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Слика је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Објављивање слике</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Објави избор на Imgur сајту</translation>
|
||||
</message>
|
||||
@@ -843,7 +894,7 @@ Press Space to open the side panel.</source>
|
||||
<translation>Нисам успео са сачувам</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">Интернет адреса је сачувана у привременој меморији.</translation>
|
||||
</message>
|
||||
|
||||
@@ -460,27 +460,27 @@ Yan paneli açmak için Boşluk tuşuna basın.</translation>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL Kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL panoya kopyalandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -488,151 +488,202 @@ Yan paneli açmak için Boşluk tuşuna basın.</translation>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Resim Yükleniyor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL Kopyala</translation>
|
||||
<translation type="obsolete">URL Kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL Aç</translation>
|
||||
<translation type="obsolete">URL Aç</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Resmi sil</translation>
|
||||
<translation type="obsolete">Resmi sil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Resim Pano'ya.</translation>
|
||||
<translation type="obsolete">Resim Pano'ya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">URL açılamıyor.</translation>
|
||||
<translation type="obsolete">URL açılamıyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL panoya kopyalandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Ekran görüntüsü panoya kopyalandı.</translation>
|
||||
<translation type="obsolete">Ekran görüntüsü panoya kopyalandı.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">Resim Yükleme Aracı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">Resim Yükleniyor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">URL açılamıyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL panoya kopyalandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">Ekran görüntüsü panoya kopyalandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">URL Kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">URL Aç</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">Resmi sil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">Resim Pano'ya.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Imgur'a yükle</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Resim Yükleniyor</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>URL Kopyala</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>URL Aç</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Resmi sil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Resim Pano'ya.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>URL açılamıyor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL panoya kopyalandı.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Ekran görüntüsü panoya kopyalandı.</translation>
|
||||
</message>
|
||||
@@ -640,12 +691,12 @@ Yan paneli açmak için Boşluk tuşuna basın.</translation>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Resim Yükleme Aracı</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Seçimi Imgur'a yükler</translation>
|
||||
</message>
|
||||
@@ -843,7 +894,7 @@ Yan paneli açmak için Boşluk tuşuna basın.</translation>
|
||||
<translation>Yazma mümkün değil</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">URL panoya kopyalandı.</translation>
|
||||
</message>
|
||||
|
||||
@@ -476,27 +476,27 @@ Press Space to open the side panel.</source>
|
||||
<translation type="vanished">Історія скріншотів пуста</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation>Останні завантаження</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation>Історія скріншотів пуста</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопіювати URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation>Відкрити у браузері</translation>
|
||||
</message>
|
||||
@@ -508,17 +508,17 @@ Press Space to open the side panel.</source>
|
||||
<translation type="vanished">Вивантажити на S3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Вивантаження зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation>Завантажити на S3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation>Видалити скріншот з S3</translation>
|
||||
</message>
|
||||
@@ -527,87 +527,79 @@ Press Space to open the side panel.</source>
|
||||
<translation type="vanished">Видалити скіншот</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation>Видалити скріншот із історії?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation>Параметри доступів до S3 не знайдені у конфігураціонному файлі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопіювати URL</translation>
|
||||
<translation type="vanished">Скопіювати URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Відкрити URL</translation>
|
||||
<translation type="vanished">Відкрити URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Видалити зображення</translation>
|
||||
<translation type="vanished">Видалити зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Зображення до буферу обміну.</translation>
|
||||
<translation type="vanished">Зображення до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Не вдалось відкрити URL.</translation>
|
||||
<translation type="vanished">Не вдалось відкрити URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation>Видалення скріншоту...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation>Не вдалося видалити скріншот із віддаленого сховища.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation>Помилка мережі</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation>Можливо, його більше не існує</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation>Ви все одно хочете видалити скріншот із локальної історії?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Знімок скопійовано до буферу обміну.</translation>
|
||||
<translation type="vanished">Знімок скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Вивантаження зображень</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation>Вивантажити виділення на S3</translation>
|
||||
</message>
|
||||
@@ -617,50 +609,109 @@ Press Space to open the side panel.</source>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Вивантажити до Imgur</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation>Завантажити на S3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Вивантаження зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопіювати URL</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation>Вивантажити зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Відкрити URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Видалити зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Зображення до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Не вдалось відкрити URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Знімок скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation>Видалення скріншоту...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопіювати URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Відкрити URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Видалити зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Зображення до буферу обміну.</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>Вивантажити до Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>Вивантаження зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>Скопіювати URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>Відкрити URL</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>Видалити зображення</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>Зображення до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>Не вдалось відкрити URL.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>Знімок скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
@@ -668,12 +719,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>Вивантаження зображень</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>Вивантажити вибране до Imgur</translation>
|
||||
</message>
|
||||
@@ -887,7 +938,7 @@ Press Space to open the side panel.</source>
|
||||
<translation>Не вдалось зберегти</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>URL скопійовано до буферу обміну.</translation>
|
||||
</message>
|
||||
|
||||
@@ -461,27 +461,27 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">复制链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">复制链接到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -489,151 +489,202 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">正在上传</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">复制链接</translation>
|
||||
<translation type="obsolete">复制链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">打开链接</translation>
|
||||
<translation type="obsolete">打开链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">删除图像</translation>
|
||||
<translation type="obsolete">删除图像</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">保存文件到剪贴板。</translation>
|
||||
<translation type="obsolete">保存文件到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">无法打开此链接。</translation>
|
||||
<translation type="obsolete">无法打开此链接。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">复制链接到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">截图复制到剪贴板。</translation>
|
||||
<translation type="obsolete">截图复制到剪贴板。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">上传图片</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">正在上传</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">无法打开此链接。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">复制链接到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">截图复制到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">复制链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">打开链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished">删除图像</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">保存文件到剪贴板。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>上传到Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>正在上传</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>复制链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>打开链接</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation>删除图像</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>保存文件到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>无法打开此链接。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>复制链接到剪贴板。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>截图复制到剪贴板。</translation>
|
||||
</message>
|
||||
@@ -641,12 +692,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>上传图片</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>上传选择到 Imgur</translation>
|
||||
</message>
|
||||
@@ -852,7 +903,7 @@ Press Space to open the side panel.</source>
|
||||
<translation>无法写入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">复制链接到剪贴板。</translation>
|
||||
</message>
|
||||
|
||||
@@ -456,27 +456,27 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>HistoryWidget</name>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="26"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="28"/>
|
||||
<source>Latest Uploads</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="63"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="66"/>
|
||||
<source>Screenshots history is empty</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="109"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">複製連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="113"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="117"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">連結已複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="119"/>
|
||||
<location filename="../src/widgets/historywidget.cpp" line="123"/>
|
||||
<source>Open in browser</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
@@ -484,151 +484,198 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgS3Uploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation type="unfinished">正在上傳</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="54"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Delete image from S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="244"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="224"/>
|
||||
<source>Unable to remove screenshot from the remote storage.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="246"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="226"/>
|
||||
<source>Network error</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="249"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="228"/>
|
||||
<source>Possibly it doesn't exist anymore</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="252"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="233"/>
|
||||
<source>Do you want to remove screenshot from local history anyway?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="282"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="254"/>
|
||||
<source>S3 Creds URL is not found in your configuration file</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="406"/>
|
||||
<source>Copy URL</source>
|
||||
<translation type="unfinished">複製連結</translation>
|
||||
<translation type="obsolete">複製連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="407"/>
|
||||
<source>Open URL</source>
|
||||
<translation type="unfinished">打開連結</translation>
|
||||
<translation type="obsolete">打開連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="408"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="409"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">將檔案複製到剪貼簿</translation>
|
||||
<translation type="obsolete">將檔案複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="428"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">無法打開此連結</translation>
|
||||
<translation type="obsolete">無法打開此連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="209"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="434"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="200"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">連結已複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="61"/>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="447"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="60"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="255"/>
|
||||
<location filename="../src/tools/storage/imgs3uploader.cpp" line="237"/>
|
||||
<source>Remove screenshot from history?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploader.cpp" line="439"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">截圖已複製到剪貼簿</translation>
|
||||
<translation type="obsolete">截圖已複製到剪貼簿</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgS3UploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="38"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="38"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation type="unfinished">上傳圖片</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgs3/imgs3uploadertool.cpp" line="46"/>
|
||||
<location filename="../src/tools/storage/imgs3uploadertool.cpp" line="46"/>
|
||||
<source>Upload the selection to S3 bucket</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<name>ImgUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>上傳到 Imgur</translation>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<source>Upload image to S3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="54"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="55"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>正在上傳</translation>
|
||||
<translation type="unfinished">正在上傳</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="140"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="61"/>
|
||||
<source>Upload image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="109"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation type="unfinished">無法打開此連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="116"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">連結已複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="122"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation type="unfinished">截圖已複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="131"/>
|
||||
<source>Deleting image...</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="191"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>複製連結</translation>
|
||||
<translation type="unfinished">複製連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="141"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="192"/>
|
||||
<source>Open URL</source>
|
||||
<translation>打開連結</translation>
|
||||
<translation type="unfinished">打開連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="142"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="193"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="143"/>
|
||||
<location filename="../src/tools/storage/imguploader.cpp" line="194"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation type="unfinished">將檔案複製到剪貼簿</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>ImgurUploader</name>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="47"/>
|
||||
<source>Upload to Imgur</source>
|
||||
<translation>上傳到 Imgur</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="54"/>
|
||||
<source>Uploading Image</source>
|
||||
<translation>正在上傳</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="140"/>
|
||||
<source>Copy URL</source>
|
||||
<translation>複製連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="141"/>
|
||||
<source>Open URL</source>
|
||||
<translation>打開連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="142"/>
|
||||
<source>Delete image</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="143"/>
|
||||
<source>Image to Clipboard.</source>
|
||||
<translation>將檔案複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="175"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="162"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="175"/>
|
||||
<source>Unable to open the URL.</source>
|
||||
<translation>無法打開此連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="168"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="168"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation>連結已複製到剪貼簿</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="181"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="181"/>
|
||||
<source>Screenshot copied to clipboard.</source>
|
||||
<translation>截圖已複製到剪貼簿</translation>
|
||||
</message>
|
||||
@@ -636,12 +683,12 @@ Press Space to open the side panel.</source>
|
||||
<context>
|
||||
<name>ImgurUploaderTool</name>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="35"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="35"/>
|
||||
<source>Image Uploader</source>
|
||||
<translation>上傳圖片</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploadertool.cpp" line="43"/>
|
||||
<location filename="../src/tools/storage/imguruploadertool.cpp" line="43"/>
|
||||
<source>Upload the selection to Imgur</source>
|
||||
<translation>上傳到 Imgur</translation>
|
||||
</message>
|
||||
@@ -839,7 +886,7 @@ Press Space to open the side panel.</source>
|
||||
<translation type="unfinished">無法寫入</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/tools/imgur/imguruploader.cpp" line="82"/>
|
||||
<location filename="../src/tools/storage/imguruploader.cpp" line="82"/>
|
||||
<source>URL copied to clipboard.</source>
|
||||
<translation type="unfinished">連結已複製到剪貼簿</translation>
|
||||
</message>
|
||||
|
||||
Reference in New Issue
Block a user