diff --git a/appveyor.yml b/appveyor.yml index cc1ea021..faebf2a0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -45,7 +45,6 @@ build_script: # scripts that run after build after_build: # Clone OpenSSL DLLs - - git clone https://github.com/tamlok/openssl-utils.git openssl-utils.git - mkdir distrib\flameshot - windeployqt.exe --dir .\distrib\flameshot %APPVEYOR_BUILD_FOLDER%\build\release\flameshot.exe - copy "%APPVEYOR_BUILD_FOLDER%\build\release\flameshot.exe" "distrib\flameshot\flameshot.exe" @@ -59,13 +58,25 @@ after_build: - copy "%APPVEYOR_BUILD_FOLDER%\build\translations\Internationalization_*.qm" "distrib\flameshot\translations" # Delete translations\qt_*.qm - del /F /Q "distrib\flameshot\translations\qt_*.qm" - # Copy OpenSSL DLLs - - if "%PLATFORM%" EQU "X64" (xcopy "openssl-utils.git\win64\*.dll" "distrib\flameshot") - - if "%PLATFORM%" EQU "x86" (xcopy "openssl-utils.git\win32\*.dll" "distrib\flameshot") + # install vcredist-2015 - cd distrib - if "%PLATFORM%" EQU "X64" (mv flameshot\vcredist_x64.exe flameshot\vcredist.exe) - if "%PLATFORM%" EQU "x86" (mv flameshot\vcredist_x86.exe flameshot\vcredist.exe) - 7z a flameshot_%flameshot_version%_win_%PLATFORM%.zip flameshot + # Download and install vcredist-2013 for OpenSSL binnaries + - if "%PLATFORM%" EQU "X64" appveyor DownloadFile https://slproweb.com/download/Win64OpenSSL_Light-1_0_2u.exe + - if "%PLATFORM%" EQU "X64" (mv Win64OpenSSL_Light-1_0_2u.exe flameshot\OpenSSL_Light-1_0_2u.exe) + - if "%PLATFORM%" EQU "x86" appveyor DownloadFile https://slproweb.com/download/Win32OpenSSL_Light-1_0_2u.exe + - if "%PLATFORM%" EQU "x86" (mv Win32OpenSSL_Light-1_0_2u.exe flameshot\OpenSSL_Light-1_0_2u.exe) + - flameshot\OpenSSL_Light-1_0_2u.exe /VERYSILENT /DIR="C:\OpenSSL_Temp" + - cp C:\OpenSSL_Temp\libeay32.dll flameshot\libeay32.dll + - cp C:\OpenSSL_Temp\libssl32.dll flameshot\libssl32.dll + - cp C:\OpenSSL_Temp\ssleay32.dll flameshot\ssleay32.dll + - rm flameshot\OpenSSL_Light-1_0_2u.exe + - if "%PLATFORM%" EQU "X64" appveyor DownloadFile https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe + - if "%PLATFORM%" EQU "X64" (mv vcredist_x64.exe flameshot\vcredist-2013.exe) + - if "%PLATFORM%" EQU "x86" appveyor DownloadFile https://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe + - if "%PLATFORM%" EQU "x86" (mv vcredist_x86.exe flameshot\vcredist-2013.exe) # Build installation - cp ..\..\win_setup\flameshot.iss flameshot.iss - C:\InnoSetup\Compil32.exe /cc flameshot.iss diff --git a/flameshot.pro b/flameshot.pro index d02a08c4..f2d9e514 100644 --- a/flameshot.pro +++ b/flameshot.pro @@ -6,6 +6,8 @@ win32:LIBS += -luser32 -lshell32 +LIBS += -Llibeay32 -Lssleay32 + BASE_VERSION = 0.7.5 TAG_VERSION = "$$system(git --git-dir $$PWD/.git rev-parse --short HEAD)" isEmpty(TAG_VERSION){ @@ -83,6 +85,9 @@ DEFINES += QAPPLICATION_CLASS=QApplication SOURCES += src/main.cpp \ src/config/filepathconfiguration.cpp \ + src/widgets/historywidget.cpp \ + src/utils/configenterprise.cpp \ + src/utils/history.cpp \ src/widgets/capture/buttonhandler.cpp \ src/widgets/infowindow.cpp \ src/config/configwindow.cpp \ @@ -159,6 +164,9 @@ SOURCES += src/main.cpp \ HEADERS += src/widgets/capture/buttonhandler.h \ src/config/filepathconfiguration.h \ + src/widgets/historywidget.h \ + src/utils/configenterprise.h \ + src/utils/history.h \ src/widgets/infowindow.h \ src/config/configwindow.h \ src/widgets/capture/capturewidget.h \ diff --git a/src/core/controller.cpp b/src/core/controller.cpp index 7860853f..18382678 100644 --- a/src/core/controller.cpp +++ b/src/core/controller.cpp @@ -22,14 +22,19 @@ #include "src/config/configwindow.h" #include "src/widgets/capture/capturebutton.h" #include "src/widgets/capturelauncher.h" +#include "src/widgets/notificationwidget.h" #include "src/utils/systemnotification.h" #include "src/utils/screengrabber.h" +#include "src/utils/history.h" +#include "src/utils/configenterprise.h" +#include "src/widgets/historywidget.h" #include #include #include #include #include #include +#include #ifdef Q_OS_WIN #include "src/core/globalshortcutfilter.h" @@ -171,6 +176,8 @@ void Controller::enableTrayIcon() { if (m_trayIcon) { return; } + QMenu *trayIconMenu = new QMenu(); + ConfigHandler().setDisabledTrayIcon(false); QAction *captureAction = new QAction(tr("&Take Screenshot"), this); connect(captureAction, &QAction::triggered, this, [this](){ @@ -180,6 +187,7 @@ void Controller::enableTrayIcon() { QAction *launcherAction = new QAction(tr("&Open Launcher"), this); connect(launcherAction, &QAction::triggered, this, &Controller::openLauncherWindow); + QAction *configAction = new QAction(tr("&Configuration"), this); connect(configAction, &QAction::triggered, this, &Controller::openConfigWindow); @@ -190,10 +198,16 @@ void Controller::enableTrayIcon() { connect(quitAction, &QAction::triggered, qApp, &QCoreApplication::quit); - QMenu *trayIconMenu = new QMenu(); + // recent screenshots + QAction *recentAction = new QAction(tr("&Latest Uploads"), this); + connect(recentAction, SIGNAL(triggered()), this, SLOT(showRecentScreenshots())); + + // generate menu trayIconMenu->addAction(captureAction); trayIconMenu->addAction(launcherAction); trayIconMenu->addSeparator(); + trayIconMenu->addAction(recentAction); + trayIconMenu->addSeparator(); trayIconMenu->addAction(configAction); trayIconMenu->addAction(infoAction); trayIconMenu->addSeparator(); @@ -239,6 +253,11 @@ void Controller::updateConfigComponents() { } } +void Controller::showRecentScreenshots() { + HistoryWidget *pHistory = new HistoryWidget(); + pHistory->exec(); +} + void Controller::startFullscreenCapture(const uint id) { bool ok = true; QPixmap p(ScreenGrabber().grabEntireDesktop(ok)); diff --git a/src/core/controller.h b/src/core/controller.h index bea0df12..8bacb7b9 100644 --- a/src/core/controller.h +++ b/src/core/controller.h @@ -61,6 +61,8 @@ public slots: void updateConfigComponents(); + void showRecentScreenshots(); + private slots: void startFullscreenCapture(const uint id = 0); void startVisualCapture(const uint id = 0, diff --git a/src/core/globalshortcutfilter.cpp b/src/core/globalshortcutfilter.cpp index 313da9b4..9d508204 100644 --- a/src/core/globalshortcutfilter.cpp +++ b/src/core/globalshortcutfilter.cpp @@ -17,6 +17,7 @@ #include "globalshortcutfilter.h" #include "src/core/controller.h" +#include "src/widgets/historywidget.h" #include GlobalShortcutFilter::GlobalShortcutFilter(QObject *parent) : @@ -24,7 +25,11 @@ GlobalShortcutFilter::GlobalShortcutFilter(QObject *parent) : { // Forced Print Screen if (RegisterHotKey(NULL, 1, 0, VK_SNAPSHOT)) { - // ok + // ok - capture screen + } + + if (RegisterHotKey(NULL, 2, MOD_SHIFT, VK_SNAPSHOT)) { + // ok - show screenshots history } } @@ -38,13 +43,23 @@ bool GlobalShortcutFilter::nativeEventFilter( MSG* msg = static_cast(message); if (msg->message == WM_HOTKEY) { - //const quint32 keycode = HIWORD(msg->lParam); - //const quint32 modifiers = LOWORD(msg->lParam); - // TODO: this is just a temporal workwrround, proper global // support would need custom shortcuts defined by the user. - Controller::getInstance()->requestCapture( - CaptureRequest(CaptureRequest::GRAPHICAL_MODE)); + const quint32 keycode = HIWORD(msg->lParam); + const quint32 modifiers = LOWORD(msg->lParam); + + // Show screenshots history + if(VK_SNAPSHOT == keycode && MOD_SHIFT == modifiers) { + HistoryWidget *pHistory = new HistoryWidget(); + pHistory->show(); + } + + // Capture screen + if(VK_SNAPSHOT == keycode && 0 == modifiers) { + Controller::getInstance()->requestCapture( + CaptureRequest(CaptureRequest::GRAPHICAL_MODE)); + } + return true; } return false; diff --git a/src/tools/imgs3/imgs3uploader.cpp b/src/tools/imgs3/imgs3uploader.cpp index 34b71d33..f5f6bb09 100644 --- a/src/tools/imgs3/imgs3uploader.cpp +++ b/src/tools/imgs3/imgs3uploader.cpp @@ -22,6 +22,8 @@ #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 #include #include @@ -48,19 +50,6 @@ ImgS3Uploader::ImgS3Uploader(const QPixmap &capture, QWidget *parent) : QWidget(parent), m_pixmap(capture) { - QSettings *pSettings = nullptr; - QString configIniPath = QDir(QDir::currentPath()).filePath("config.ini"); -#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX) - if(!(QFileInfo::exists(configIniPath) && QFileInfo(configIniPath).isFile())) { - configIniPath = "/etc/flameshot/config.ini"; - } -#endif - pSettings = new QSettings(configIniPath, QSettings::IniFormat); - pSettings->beginGroup("S3"); - m_s3CredsUrl = pSettings->value("S3_CREDS_URL").toString(); - m_s3XApiKey = pSettings->value("S3_X_API_KEY").toString(); - pSettings->endGroup(); - setWindowTitle(tr("Upload to ImgS3")); setWindowIcon(QIcon(":img/app/flameshot.svg")); @@ -83,13 +72,24 @@ ImgS3Uploader::ImgS3Uploader(const QPixmap &capture, QWidget *parent) : setAttribute(Qt::WA_DeleteOnClose); - QString httpProxyHost = pSettings->value("HTTP_PROXY_HOST").toString(); + // get enterprise settings + m_configEnterprise = new ConfigEnterprise(); + QSettings *settings = m_configEnterprise->settings(); + + // get s3 credentials + settings->beginGroup("S3"); + m_s3CredsUrl = settings->value("S3_CREDS_URL").toString(); + m_s3XApiKey = settings->value("S3_X_API_KEY").toString(); + settings->endGroup(); + + // set proxy server parameters + QString httpProxyHost = settings->value("HTTP_PROXY_HOST").toString(); if(httpProxyHost.length() > 0) { qDebug() << "Using proxy server"; m_proxy = new QNetworkProxy(); - if(pSettings->contains("HTTP_PROXY_TYPE")) { - switch (pSettings->value("HTTP_PROXY_TYPE").toInt()) { + if(settings->contains("HTTP_PROXY_TYPE")) { + switch (settings->value("HTTP_PROXY_TYPE").toInt()) { case 0: m_proxy->setType(QNetworkProxy::DefaultProxy); break; @@ -111,22 +111,32 @@ ImgS3Uploader::ImgS3Uploader(const QPixmap &capture, QWidget *parent) : break; } } + } + // set proxy server parameters + if(httpProxyHost.length() > 0) { m_proxy->setHostName(httpProxyHost); - if(pSettings->contains("HTTP_PROXY_PORT")) { - m_proxy->setPort(pSettings->value("HTTP_PROXY_PORT").toInt()); - } else { - m_proxy->setPort(3128); - } - if(pSettings->contains("HTTP_PROXY_USER")) { - m_proxy->setUser(pSettings->value("HTTP_PROXY_USER").toString()); + int nProxyPort = 3128; + if(settings->contains("HTTP_PROXY_PORT")) { + nProxyPort = settings->value("HTTP_PROXY_PORT").toInt(); } - if(pSettings->contains("HTTP_PROXY_PASSWORD")) { - m_proxy->setPassword(pSettings->value("HTTP_PROXY_PASSWORD").toString()); + m_proxy->setPort(nProxyPort); + + qDebug() << "Proxy Host" << httpProxyHost; + qDebug() << "Proxy Port" << 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()); } QNetworkProxy::setApplicationProxy(*m_proxy); m_NetworkAM->setProxy(*m_proxy); + m_NetworkAMCreds->setProxy(*m_proxy); } upload(); @@ -135,6 +145,16 @@ ImgS3Uploader::ImgS3Uploader(const QPixmap &capture, QWidget *parent) : void ImgS3Uploader::handleReply(QNetworkReply *reply) { m_spinner->deleteLater(); if (reply->error() == QNetworkReply::NoError) { + // save history + QString imageName = m_imageURL.toString(); + int lastSlash = imageName.lastIndexOf("/"); + if (lastSlash >= 0) { + imageName = imageName.mid(lastSlash); + } + History history; + history.save(m_pixmap, imageName); + + // Copy url to clipboard if required if (ConfigHandler().copyAndCloseAfterUploadEnabled()) { QApplication::clipboard()->setText(m_imageURL.toString()); SystemNotification().sendMessage(QObject::tr("URL copied to clipboard.")); diff --git a/src/tools/imgs3/imgs3uploader.h b/src/tools/imgs3/imgs3uploader.h index 1ffd9b4f..d6a72b37 100644 --- a/src/tools/imgs3/imgs3uploader.h +++ b/src/tools/imgs3/imgs3uploader.h @@ -30,6 +30,7 @@ class LoadSpinner; class QPushButton; class QUrl; class NotificationWidget; +class ConfigEnterprise; class ImgS3Uploader : public QWidget { Q_OBJECT @@ -49,6 +50,7 @@ private: void uploadToS3(QJsonDocument &response); private: + ConfigEnterprise *m_configEnterprise; QString m_s3CredsUrl; QString m_s3XApiKey; diff --git a/src/utils/configenterprise.cpp b/src/utils/configenterprise.cpp new file mode 100644 index 00000000..2c3b0788 --- /dev/null +++ b/src/utils/configenterprise.cpp @@ -0,0 +1,22 @@ +#include "configenterprise.h" +#include +#include +#include + + +ConfigEnterprise::ConfigEnterprise() +{ + // get enterprise settings + m_settings = nullptr; + QString configIniPath = QDir(QDir::currentPath()).filePath("config.ini"); +#if defined(Q_OS_LINUX) || defined(Q_OS_UNIX) + if(!(QFileInfo::exists(configIniPath) && QFileInfo(configIniPath).isFile())) { + configIniPath = "/etc/flameshot/config.ini"; + } +#endif + m_settings = new QSettings(configIniPath, QSettings::IniFormat); +} + +QSettings *ConfigEnterprise::settings() { + return m_settings; +} diff --git a/src/utils/configenterprise.h b/src/utils/configenterprise.h new file mode 100644 index 00000000..55a44e82 --- /dev/null +++ b/src/utils/configenterprise.h @@ -0,0 +1,18 @@ +#ifndef CONFIGENTERPRISE_H +#define CONFIGENTERPRISE_H + +class QSettings; + + +class ConfigEnterprise +{ +public: + ConfigEnterprise(); + + QSettings *settings(); + +private: + QSettings *m_settings; +}; + +#endif // CONFIGENTERPRISE_H diff --git a/src/utils/history.cpp b/src/utils/history.cpp new file mode 100644 index 00000000..4cade7a8 --- /dev/null +++ b/src/utils/history.cpp @@ -0,0 +1,54 @@ +#include "history.h" +#include "src/utils/confighandler.h" +#include +#include +#include + + +History::History() +{ + // Get cache history path + ConfigHandler config; +#ifdef Q_OS_WIN + m_historyPath = QDir::homePath() + "/AppData/Roaming/flameshot/history/"; +#else + m_historyPath = QDir::homePath() + "/.cache/flameshot/history/"; +#endif + + // Check if directory for history exists and create if doesn't + QDir dir = QDir(m_historyPath); + if (!dir.exists()) + dir.mkpath("."); +} + +const QString &History::path() { + return m_historyPath; +} + +void History::save(const QPixmap &pixmap, const QString &fileName) { + QFile file(path() + fileName); + file.open(QIODevice::WriteOnly); + pixmap.scaled(HISTORY_THUNB_WIDTH, + HISTORY_THUNB_HEIGH, + Qt::KeepAspectRatio, + Qt::SmoothTransformation + ).save(&file, "PNG"); + history(); +} + +const QList &History::history() { + QDir directory(path()); + QStringList images = directory.entryList(QStringList() << "*.png" << "*.PNG", QDir::Files, QDir::Time); + int cnt = 0; + m_thumbs.clear(); + foreach(QString fileName, images) { + if(++cnt <= HISTORY_MAX_SIZE) { + m_thumbs.append(fileName); + } + else { + QFile file(path() + fileName); + file.remove(); + } + } + return m_thumbs; +} diff --git a/src/utils/history.h b/src/utils/history.h new file mode 100644 index 00000000..6a2fc686 --- /dev/null +++ b/src/utils/history.h @@ -0,0 +1,28 @@ +#ifndef HISTORY_H +#define HISTORY_H + +#define HISTORY_MAX_SIZE 10 +#define HISTORY_THUNB_SCALE 1.5 +#define HISTORY_THUNB_WIDTH 160*HISTORY_THUNB_SCALE +#define HISTORY_THUNB_HEIGH 90*HISTORY_THUNB_SCALE + +#include +#include +#include + + +class History +{ +public: + History(); + + void save(const QPixmap &, const QString &); + const QList &history(); + const QString &path(); + +private: + QString m_historyPath; + QList m_thumbs; +}; + +#endif // HISTORY_H diff --git a/src/widgets/historywidget.cpp b/src/widgets/historywidget.cpp new file mode 100644 index 00000000..20b8140f --- /dev/null +++ b/src/widgets/historywidget.cpp @@ -0,0 +1,130 @@ +#include "historywidget.h" +#include "src/utils/history.h" +#include "src/utils/configenterprise.h" +#include "src/widgets/notificationwidget.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + + +HistoryWidget::HistoryWidget(QWidget *parent) : QDialog(parent) +{ + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); + setWindowTitle(tr("Screenshots history")); + setFixedSize(800, this->height()); + m_notification = new NotificationWidget(); + + 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() ); + + QWidget *widget = new QWidget(); + scrollArea->setWidget( widget ); + widget->setLayout( m_pVBox ); + + loadHistory(); +} + +void HistoryWidget::loadHistory() { + History history = History(); + QList historyFiles = history.history(); + + ConfigEnterprise configEnterprise; + QSettings *settings = configEnterprise.settings(); + settings->beginGroup("S3"); + QString s3BaseUrl = settings->value("S3_URL").toString(); + settings->endGroup(); + + if(historyFiles.isEmpty()) { + 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(); + }); + m_pVBox->addWidget(buttonEmpty); + return; + } + foreach(QString fileName, historyFiles) { + // generate url + QString fullFileName = history.path() + fileName; + QString url = s3BaseUrl + fileName; + + // load pixmap + QPixmap pixmap; + pixmap.load( fullFileName, "png" ); + + 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 hh:mm:ss"); + + // screenshot preview + QLabel *pScreenshot = new QLabel(); + pScreenshot->setStyleSheet("padding: 5px;"); + pScreenshot->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT); + pScreenshot->setPixmap(pixmap); + + // screenshot datetime + QLabel *pScreenshotText = new QLabel(); + pScreenshotText->setStyleSheet("padding: 5px;"); + pScreenshotText->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT); + pScreenshotText->setText(lastModified); + + // copy url + QPushButton *buttonCopyUrl = new QPushButton; + buttonCopyUrl->setText(tr("Copy URL")); + buttonCopyUrl->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT); + 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; + buttonOpen->setText(tr("Open in browser")); + buttonOpen->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT); + connect(buttonOpen, &QPushButton::clicked, this, [=](){ + QDesktopServices::openUrl(QUrl(url)); + this->close(); + }); + + // layout + QHBoxLayout *phbl = new QHBoxLayout(); + phbl->addWidget(pScreenshot); + phbl->addWidget(pScreenshotText); + phbl->addWidget(buttonCopyUrl); + phbl->addWidget(buttonOpen); + + phbl->setStretchFactor(pScreenshot, 3); + phbl->setStretchFactor(pScreenshotText, 2); + phbl->setStretchFactor(buttonCopyUrl, 2); + phbl->setStretchFactor(buttonOpen, 2); + + // add to scroll + m_pVBox->addLayout(phbl); + } +} diff --git a/src/widgets/historywidget.h b/src/widgets/historywidget.h new file mode 100644 index 00000000..e0f1bac1 --- /dev/null +++ b/src/widgets/historywidget.h @@ -0,0 +1,30 @@ +#ifndef HISTORYWIDGET_H +#define HISTORYWIDGET_H + +#define HISTORYPIXMAP_MAX_PREVIEW_WIDTH 160 +#define HISTORYPIXMAP_MAX_PREVIEW_HEIGHT 90 + +#include +#include +#include + +class QVBoxLayout; +class NotificationWidget; + +class HistoryWidget : public QDialog +{ + Q_OBJECT +public: + explicit HistoryWidget(QWidget *parent = nullptr); + +signals: + +private: + void loadHistory(); + +private: + QVBoxLayout *m_pVBox; + NotificationWidget *m_notification; +}; + +#endif // HISTORYWIDGET_H diff --git a/src/widgets/infowindow.cpp b/src/widgets/infowindow.cpp index fe3517d0..c903b161 100644 --- a/src/widgets/infowindow.cpp +++ b/src/widgets/infowindow.cpp @@ -61,7 +61,9 @@ QVector InfoWindow::m_keys = { "CTRL + Z", QT_TR_NOOP("SPACEBAR"), QT_TR_NOOP("Right Click"), - QT_TR_NOOP("Mouse Wheel") + QT_TR_NOOP("Mouse Wheel"), + "Print Screen", + "SHIFT + Print Screen" }; QVector InfoWindow::m_description = { @@ -73,7 +75,9 @@ QVector InfoWindow::m_description = { QT_TR_NOOP("Undo the last modification"), QT_TR_NOOP("Toggle visibility of sidebar with options of the selected tool"), QT_TR_NOOP("Show color picker"), - QT_TR_NOOP("Change the tool's thickness") + QT_TR_NOOP("Change the tool's thickness"), + QT_TR_NOOP("Capture screen"), + QT_TR_NOOP("Screenshot history") }; void InfoWindow::initInfoTable() { diff --git a/translations/Internationalization_ca.ts b/translations/Internationalization_ca.ts index 310200b3..f5dc2206 100644 --- a/translations/Internationalization_ca.ts +++ b/translations/Internationalization_ca.ts @@ -184,27 +184,32 @@ Press Space to open the side panel. Controller - + &Open Launcher - + &Configuration &Configuració - + &Information &Informació - + &Quit &Ix - + + &Latest Uploads + + + + &Take Screenshot @@ -433,44 +438,72 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - S'està pujant la imatge + + Screenshots history is empty + - + Copy URL Copia l'URL - - Open URL - Obri l'URL - - - - Image to Clipboard. - Imatge al porta-retalls. - - - - Unable to open the URL. - No es pot obrir l'URL. - - - + URL copied to clipboard. L'URL s'ha copiat al porta-retalls. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + S'està pujant la imatge + + + + Copy URL + Copia l'URL + + + + Open URL + Obri l'URL + + + + Image to Clipboard. + Imatge al porta-retalls. + + + + Unable to open the URL. + No es pot obrir l'URL. + + + + URL copied to clipboard. + L'URL s'ha copiat al porta-retalls. + + + Screenshot copied to clipboard. La captura s'ha copiat al porta-retalls. @@ -573,77 +606,87 @@ Press Space to open the side panel. Roda del ratolí - + Move selection 1px Mou la selecció 1 px - + Resize selection 1px Redimensiona la selecció 1 px - + Quit capture Ix de la captura - + Copy to clipboard Copia al porta-retalls - + Save selection as a file Guarda la selecció com a fitxer - + Undo the last modification Desfés l'última modificació - + Toggle visibility of sidebar with options of the selected tool - + Show color picker Mostra el selector de color - + Change the tool's thickness Canvia el gruix de l'eina - + + Capture screen + + + + + Screenshot history + + + + Key Tecla - + Description Descripció - + <u><b>License</b></u> <u><b>Llicència</b></u> - + <u><b>Version</b></u> <u><b>Versió</b></u> - + <u><b>Shortcuts</b></u> <u><b>Dreceres</b></u> - + Available shortcuts in the screen capture mode. Dreceres disponibles en el mode de captura de pantalla. @@ -757,7 +800,7 @@ Press Space to open the side panel. - + URL copied to clipboard. L'URL s'ha copiat al porta-retalls. diff --git a/translations/Internationalization_de_DE.ts b/translations/Internationalization_de_DE.ts index b84693d0..18254720 100644 --- a/translations/Internationalization_de_DE.ts +++ b/translations/Internationalization_de_DE.ts @@ -187,30 +187,35 @@ Drücke die Leertaste um das Seitenmenü zu öffnen. Controller - + &Take Screenshot &Bildschirmaufnahme anfertigen - + &Open Launcher - + &Configuration &Einstellungen - + &Information &Informationen - + &Quit &Beenden + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Drücke die Leertaste um das Seitenmenü zu öffnen. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Bild hochladen + + Screenshots history is empty + - + Copy URL URL kopieren - - Open URL - URL öffnen - - - - Image to Clipboard. - Bild in Zwischenablage. - - - - Unable to open the URL. - Kann URL nicht öffnen. - - - + URL copied to clipboard. URL kopiert. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Bild hochladen + + + + Copy URL + URL kopieren + + + + Open URL + URL öffnen + + + + Image to Clipboard. + Bild in Zwischenablage. + + + + Unable to open the URL. + Kann URL nicht öffnen. + + + + URL copied to clipboard. + URL kopiert. + + + Screenshot copied to clipboard. Bildschirmaufnahme in Zwischenablage kopiert. @@ -576,77 +609,87 @@ Drücke die Leertaste um das Seitenmenü zu öffnen. Mausrad - + Move selection 1px Verschiebe Auswahl um 1px - + Resize selection 1px Größenänderung um 1px - + Quit capture Auswahl verlassen - + Copy to clipboard In Zwischenablage kopieren - + Save selection as a file Speichere Auswahl als Datei - + Undo the last modification Letze Änderungen zurücksetzen - + Toggle visibility of sidebar with options of the selected tool Öffne/Schließe Seitenauswahlmenü des gewählten Werkzeugs - + Show color picker Zeige Farbauswahl - + Change the tool's thickness Ändere die Dicke des Werkzeugs - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Verfügbare Tastenkürzel im Aufnahmemodus. - + Key Taste - + Description Beschreibung - + <u><b>License</b></u> <u><b>Lizenz</b></u> - + <u><b>Version</b></u> <u><b>Version</b></u> - + <u><b>Shortcuts</b></u> <u><b>Tastenkürzel</b></u> @@ -760,7 +803,7 @@ Drücke die Leertaste um das Seitenmenü zu öffnen. Kein Schreibzugriff auf - + URL copied to clipboard. URL kopiert. diff --git a/translations/Internationalization_es.ts b/translations/Internationalization_es.ts index dbc5ab14..51ad0a58 100644 --- a/translations/Internationalization_es.ts +++ b/translations/Internationalization_es.ts @@ -187,30 +187,35 @@ Presiona Espacio para abrir el panel lateral. Controller - + &Take Screenshot &Tomar captura de pantalla - + &Open Launcher - + &Configuration &Configuración - + &Information &Información - + &Quit &Salir + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Presiona Espacio para abrir el panel lateral. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Subiendo Imagen + + Screenshots history is empty + - + Copy URL Copiar URL - - Open URL - Abrir URL - - - - Image to Clipboard. - Imagen al Portapapeles. - - - - Unable to open the URL. - No puede abrir la URL. - - - + URL copied to clipboard. URL copiada al portapapeles. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Subiendo Imagen + + + + Copy URL + Copiar URL + + + + Open URL + Abrir URL + + + + Image to Clipboard. + Imagen al Portapapeles. + + + + Unable to open the URL. + No puede abrir la URL. + + + + URL copied to clipboard. + URL copiada al portapapeles. + + + Screenshot copied to clipboard. Captura copiada al portapapeles. @@ -576,77 +609,87 @@ Presiona Espacio para abrir el panel lateral. Rueda del Ratón - + Move selection 1px Mover la selección 1px - + Resize selection 1px Redimensionar la selección 1px - + Quit capture Salir de la captura - + Copy to clipboard Copiar al portapapeles - + Save selection as a file Guardar la selección como un archivo - + Undo the last modification Deshacer la última modificación - + Toggle visibility of sidebar with options of the selected tool Alternar la visualización de la barra lateral de opciones de la herramienta seleccionada - + Show color picker Mostrar el selector de color - + Change the tool's thickness Cambiar el grosor de la herramienta - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Atajos disponibles en el modo captura de pantalla. - + Key Tecla - + Description Descripción - + <u><b>License</b></u> <u><b>Licencia</b></u> - + <u><b>Version</b></u> <u><b>Versión</b></u> - + <u><b>Shortcuts</b></u> <u><b>Atajos</b></u> @@ -760,7 +803,7 @@ Presiona Espacio para abrir el panel lateral. Imposible escribir en - + URL copied to clipboard. URL copiada al portapapeles. diff --git a/translations/Internationalization_fr.ts b/translations/Internationalization_fr.ts index 35718e62..24644a32 100644 --- a/translations/Internationalization_fr.ts +++ b/translations/Internationalization_fr.ts @@ -187,30 +187,35 @@ Appuyer sur Espace pour ouvrir le panneau latéral. Controller - + &Take Screenshot &Capturer l'écran - + &Open Launcher - + &Configuration &Configuration - + &Information &Informations - + &Quit &Quitter + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Appuyer sur Espace pour ouvrir le panneau latéral. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Mise en ligne de l'image + + Screenshots history is empty + - + Copy URL Copier l'URL - - Open URL - Ouvrir l'URL - - - - Image to Clipboard. - Image dans le Presse-papier. - - - - Unable to open the URL. - Impossible d'ouvrir l'URL. - - - + URL copied to clipboard. URL copiée dans le Presse-papier. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Mise en ligne de l'image + + + + Copy URL + Copier l'URL + + + + Open URL + Ouvrir l'URL + + + + Image to Clipboard. + Image dans le Presse-papier. + + + + Unable to open the URL. + Impossible d'ouvrir l'URL. + + + + URL copied to clipboard. + URL copiée dans le Presse-papier. + + + Screenshot copied to clipboard. Capture d'écran copiée dans le Presse-papier. @@ -576,77 +609,87 @@ Appuyer sur Espace pour ouvrir le panneau latéral. Molette de la Souris - + Move selection 1px Déplacer la sélection 1px - + Resize selection 1px Redimensionner la sélection 1px - + Quit capture Quitter la capture d'écran - + Copy to clipboard Copier vers le Presse-papier - + Save selection as a file Sauvegarder la sélection vers un fichier - + Undo the last modification Annuler la dernière modification - + Toggle visibility of sidebar with options of the selected tool - + Show color picker Afficher la palette de couleurs - + Change the tool's thickness Changer l'épaisseur des outils - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Raccourcis disponibles en mode capture d'écran. - + Key Clé - + Description Description - + <u><b>License</b></u> <u><b>Licences</b></u> - + <u><b>Version</b></u> <u><b>Version</b></u> - + <u><b>Shortcuts</b></u> <u><b>Raccourci</b></u> @@ -760,7 +803,7 @@ Appuyer sur Espace pour ouvrir le panneau latéral. Imposible d'écrire par dessus - + URL copied to clipboard. URL copiée dans le Presse-papier. diff --git a/translations/Internationalization_hu.ts b/translations/Internationalization_hu.ts index d2973c84..2bc58ac8 100644 --- a/translations/Internationalization_hu.ts +++ b/translations/Internationalization_hu.ts @@ -181,6 +181,10 @@ Press Space to open the side panel. &Open Launcher + + &Latest Uploads + + CopyTool @@ -378,6 +382,29 @@ Press Space to open the side panel. + + HistoryWidget + + Screenshots history + + + + URL copied to clipboard. + URL másolva a vágólapra. + + + Open in browser + + + + Screenshots history is empty + + + + Copy URL + URL másolása + + ImgS3Uploader @@ -552,6 +579,14 @@ Press Space to open the side panel. Toggle visibility of sidebar with options of the selected tool + + Capture screen + + + + Screenshot history + + LineTool diff --git a/translations/Internationalization_ja.ts b/translations/Internationalization_ja.ts index 7e8f651e..dd4e4e17 100644 --- a/translations/Internationalization_ja.ts +++ b/translations/Internationalization_ja.ts @@ -187,30 +187,35 @@ Enter を押すと画面をキャプチャー。 Controller - + &Take Screenshot スクリーンショットを撮る(&T) - + &Open Launcher - + &Configuration 設定(&C) - + &Information 情報(&I) - + &Quit 終了(&Q) + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Enter を押すと画面をキャプチャー。 - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - 画像をアップロード中 + + Screenshots history is empty + - + Copy URL URL をコピー - - Open URL - URL を開く - - - - Image to Clipboard. - 画像をクリップボードへ。 - - - - Unable to open the URL. - URL を開けません。 - - - + URL copied to clipboard. URL をクリップボードにコピーしました。 - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + 画像をアップロード中 + + + + Copy URL + URL をコピー + + + + Open URL + URL を開く + + + + Image to Clipboard. + 画像をクリップボードへ。 + + + + Unable to open the URL. + URL を開けません。 + + + + URL copied to clipboard. + URL をクリップボードにコピーしました。 + + + Screenshot copied to clipboard. スクリーンショットをクリップボードにコピーしました。 @@ -576,77 +609,87 @@ Enter を押すと画面をキャプチャー。 マウスホイール - + Move selection 1px 選択範囲を 1px 動かす - + Resize selection 1px 選択範囲を 1px リサイズする - + Quit capture キャプチャーを終了する - + Copy to clipboard クリップボードにコピーする - + Save selection as a file 選択範囲をファイルに保存する - + Undo the last modification 最後の変更を元に戻す - + Toggle visibility of sidebar with options of the selected tool - + Show color picker カラーピッカーを表示する - + Change the tool's thickness ツールの値 (太さや濃さ) を変更する - + + Capture screen + + + + + Screenshot history + + + + Key キー - + Description 説明 - + <u><b>License</b></u> <u><b>ライセンス</b></u> - + <u><b>Version</b></u> <u><b>バージョン</b></u> - + <u><b>Shortcuts</b></u> <u><b>ショートカット</b></u> - + Available shortcuts in the screen capture mode. スクリーンキャプチャーモードで利用可能なショートカット。 @@ -760,7 +803,7 @@ Enter を押すと画面をキャプチャー。 書き込めません: - + URL copied to clipboard. URL をクリップボードにコピーしました。 diff --git a/translations/Internationalization_ka.ts b/translations/Internationalization_ka.ts index fcdd73ed..c9a573fe 100644 --- a/translations/Internationalization_ka.ts +++ b/translations/Internationalization_ka.ts @@ -183,30 +183,35 @@ Press Space to open the side panel. Controller - + &Take Screenshot - + &Open Launcher - + &Configuration &პარამეტრები - + &Information &ინფორმაცია - + &Quit &გამოსვლა + + + &Latest Uploads + + CopyTool @@ -432,44 +437,72 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - სურათის ატვირთვა + + Screenshots history is empty + - + Copy URL URL-ის კოპირება - - Open URL - URL-ის გახსნა - - - - Image to Clipboard. - სურათის გაცვლის ბუფერში გაგზავნა - - - - Unable to open the URL. - URL-ის გახსნა ვერ მოხერხდა. - - - + URL copied to clipboard. URL დაკოპირდა გაცვლის ბუფერში. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + სურათის ატვირთვა + + + + Copy URL + URL-ის კოპირება + + + + Open URL + URL-ის გახსნა + + + + Image to Clipboard. + სურათის გაცვლის ბუფერში გაგზავნა + + + + Unable to open the URL. + URL-ის გახსნა ვერ მოხერხდა. + + + + URL copied to clipboard. + URL დაკოპირდა გაცვლის ბუფერში. + + + Screenshot copied to clipboard. სურათი დაკოპირდა გაცვლის ბუფერში. @@ -572,77 +605,87 @@ Press Space to open the side panel. მაუსის გორგოლაჭი - + Move selection 1px შერჩეულის გადაადგილება 1px-ით - + Resize selection 1px შერჩეულის ზომის შეცვლა 1px-ით - + Quit capture გადაღებიდან გამოსვლა - + Copy to clipboard გაცვლის ბუფერში კოპირება - + Save selection as a file შერჩეულის ფაილად შენახვა - + Undo the last modification ბოლო ცვლილების გაუქმება - + Toggle visibility of sidebar with options of the selected tool - + Show color picker ფერის შესარჩევის ჩვენება - + Change the tool's thickness ხელსაწყოს სისქის შეცვლა - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. გადაღების რეჟიმში ხელმისაწვდომი მალსახმობები. - + Key კლავიში - + Description აღწერა - + <u><b>License</b></u> <u><b>ლიცენზია</b></u> - + <u><b>Version</b></u> <u><b>ვერსია</b></u> - + <u><b>Shortcuts</b></u> <u><b>მალსახმობები</b></u> @@ -756,7 +799,7 @@ Press Space to open the side panel. შემდეგ მისამართზე ჩაწერა ვერ მოხერხდა: - + URL copied to clipboard. URL დაკოპირდა გაცვლის ბუფერში. diff --git a/translations/Internationalization_nl.ts b/translations/Internationalization_nl.ts index c9d09797..1cbbfd2d 100644 --- a/translations/Internationalization_nl.ts +++ b/translations/Internationalization_nl.ts @@ -187,30 +187,35 @@ Druk op spatie om het zijpaneel te openen. Controller - + &Take Screenshot Schermafdruk &maken - + &Open Launcher - + &Configuration &Configuratie - + &Information &Informatie - + &Quit &Afsluiten + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Druk op spatie om het zijpaneel te openen. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Bezig met uploaden van afbeelding... + + Screenshots history is empty + - + Copy URL URL kopiëren - - Open URL - URL openen - - - - Image to Clipboard. - Afbeelding naar klembord. - - - - Unable to open the URL. - Kan URL niet openen. - - - + URL copied to clipboard. URL gekopieerd naar klembord. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Bezig met uploaden van afbeelding... + + + + Copy URL + URL kopiëren + + + + Open URL + URL openen + + + + Image to Clipboard. + Afbeelding naar klembord. + + + + Unable to open the URL. + Kan URL niet openen. + + + + URL copied to clipboard. + URL gekopieerd naar klembord. + + + Screenshot copied to clipboard. Schermafdruk gekopieerd naar klembord. @@ -576,77 +609,87 @@ Druk op spatie om het zijpaneel te openen. Muiswiel - + Move selection 1px Selectie 1px verplaatsen - + Resize selection 1px Afmetingen van selectie 1px aanpassen - + Quit capture Vastleggen afsluiten - + Copy to clipboard Kopiëren naar klembord - + Save selection as a file Selectie opslaan als bestand - + Undo the last modification Laatste wijziging ongedaan maken - + Toggle visibility of sidebar with options of the selected tool Zijbalk met gereedschapsopties tonen/verbergen - + Show color picker Kleurkiezer tonen - + Change the tool's thickness Wijzig de gereedschapsdikte - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Beschikbare sneltoetsen in de vastlegmodus. - + Key Toets - + Description Omschrijving - + <u><b>License</b></u> <u><b>Лиценца</b></u> - + <u><b>Version</b></u> <u><b>Верзија</b></u> - + <u><b>Shortcuts</b></u> <u><b>Пречице</b></u> @@ -760,7 +803,7 @@ Druk op spatie om het zijpaneel te openen. Kan niet wegschrijven naar - + URL copied to clipboard. URL gekopieerd naar klembord. diff --git a/translations/Internationalization_pl.ts b/translations/Internationalization_pl.ts index c7bea720..e2c0ad36 100644 --- a/translations/Internationalization_pl.ts +++ b/translations/Internationalization_pl.ts @@ -186,30 +186,35 @@ Spacja, aby pokazać panel boczny. Controller - + &Take Screenshot &Zrzut ekranu - + &Open Launcher - + &Configuration &Konfiguracja - + &Information &Informacje - + &Quit &Wyjdź + + + &Latest Uploads + + CopyTool @@ -435,44 +440,72 @@ Spacja, aby pokazać panel boczny. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Wysyłanie obrazka + + Screenshots history is empty + - + Copy URL Kopiuj URL - - Open URL - Otwórz URL - - - - Image to Clipboard. - Obrazek do schowka. - - - - Unable to open the URL. - Nie można otworzyć adresu URL. - - - + URL copied to clipboard. URL skopiowany do schowka. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Wysyłanie obrazka + + + + Copy URL + Kopiuj URL + + + + Open URL + Otwórz URL + + + + Image to Clipboard. + Obrazek do schowka. + + + + Unable to open the URL. + Nie można otworzyć adresu URL. + + + + URL copied to clipboard. + URL skopiowany do schowka. + + + Screenshot copied to clipboard. Zrzut ekranu skopiowany do schowka. @@ -575,77 +608,87 @@ Spacja, aby pokazać panel boczny. Kółko myszy - + Move selection 1px Przesuń zaznaczenie o 1px - + Resize selection 1px Zmień rozmiar zaznaczenia o 1px - + Quit capture Zakończ przechwytywanie - + Copy to clipboard Kopiuj do schowka - + Save selection as a file Zapisz zaznaczenie jako plik - + Undo the last modification Cofnij ostatnią modyfikację - + Toggle visibility of sidebar with options of the selected tool - + Show color picker Pokaż próbnik kolorów - + Change the tool's thickness Zmień grubość narzędzia - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Dostępne skróty w trybie przechwytywania obrazu. - + Key Klawisz - + Description Działanie - + <u><b>License</b></u> <u><b>Licencja</b></u> - + <u><b>Version</b></u> <u><b>Wersja</b></u> - + <u><b>Shortcuts</b></u> <u><b>Skróty klawiszowe</b></u> @@ -759,7 +802,7 @@ Spacja, aby pokazać panel boczny. Nie można zapisać w - + URL copied to clipboard. URL skopiowany do schowka. diff --git a/translations/Internationalization_pt_br.ts b/translations/Internationalization_pt_br.ts index fad4e75c..0699934e 100644 --- a/translations/Internationalization_pt_br.ts +++ b/translations/Internationalization_pt_br.ts @@ -187,30 +187,35 @@ Pressione espaço abrir o painel lateral. Controller - + &Take Screenshot &Tirar Screenshot - + &Open Launcher - + &Configuration &Configuração - + &Information &Informações - + &Quit &Sair + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Pressione espaço abrir o painel lateral. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Upando Imagem + + Screenshots history is empty + - + Copy URL Copiar URL - - Open URL - Abrir URL - - - - Image to Clipboard. - Imagem no Clipboard. - - - - Unable to open the URL. - Não foi possível abrir a URL. - - - + URL copied to clipboard. URL copiada para o clipboard. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Upando Imagem + + + + Copy URL + Copiar URL + + + + Open URL + Abrir URL + + + + Image to Clipboard. + Imagem no Clipboard. + + + + Unable to open the URL. + Não foi possível abrir a URL. + + + + URL copied to clipboard. + URL copiada para o clipboard. + + + Screenshot copied to clipboard. Screenshot copiada para o clipboard. @@ -576,77 +609,87 @@ Pressione espaço abrir o painel lateral. Roda do mouse - + Move selection 1px Move a seleção em 1px - + Resize selection 1px Redimensiona a seleção em 1px - + Quit capture Sair da captura - + Copy to clipboard Copiar ao clipboard - + Save selection as a file Salva seleção em um arquivo - + Undo the last modification Desfazer última modificação - + Toggle visibility of sidebar with options of the selected tool - + Show color picker Mostra seletor de cores - + Change the tool's thickness Muda a grossura do pincel - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Atalhos disponívels na tela de captura. - + Key Tecla - + Description Descrição - + <u><b>License</b></u> <u><b>Licença</b></u> - + <u><b>Version</b></u> <u><b>Versão</b></u> - + <u><b>Shortcuts</b></u> <u><b>Atalhos</b></u> @@ -760,7 +803,7 @@ Pressione espaço abrir o painel lateral. Não foi possível escrever em - + URL copied to clipboard. URL copiada para o clipboard. diff --git a/translations/Internationalization_ru.ts b/translations/Internationalization_ru.ts index e9d67f60..55b45049 100644 --- a/translations/Internationalization_ru.ts +++ b/translations/Internationalization_ru.ts @@ -187,30 +187,43 @@ Press Space to open the side panel. Controller - + &Take Screenshot &Сделать снимок - + &Open Launcher &Открыть - + &Configuration &Настройка - + &Information &Информация - + &Quit &Выход + + + &Latest Uploads + Последние загрузки + + + &Recent Screenshots + Последние скриншоты + + + &Recent Screenshot + &Недавние скриншоты + CopyTool @@ -436,24 +449,56 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 - Загрузить на S3 + + Screenshots history + История скриншотов - - Uploading Image - Загрузка изображения + Screenshots history is epmty + История скриншотов пустая - + + Screenshots history is empty + История скриншотов пуста + + + Copy URL Скопировать URL - + + URL copied to clipboard. + URL скопирован в буфер обмена. + + + + Open in browser + Открыть в браузере + + + + ImgS3Uploader + + + Upload to ImgS3 + Загрузить на S3 + + + + Uploading Image + Загрузка изображения + + + + Copy URL + Скопировать URL + + + Open URL Открыть URL @@ -462,22 +507,22 @@ Press Space to open the side panel. Удалить изображение - + Image to Clipboard. Изображение в буфер обмена. - + Unable to open the URL. Не удалось открыть URL. - + URL copied to clipboard. URL скопирован в буфер обмена. - + Screenshot copied to clipboard. Снимок скопирован в буфер обмена. @@ -584,77 +629,87 @@ Press Space to open the side panel. Колесико мыши - + Move selection 1px Переместить выделение на 1px - + Resize selection 1px Изменить размер выделения на 1px - + Quit capture Выйти из захвата экрана - + Copy to clipboard Скопировать в буфер обмена - + Save selection as a file Сохранить выделение в файл - + Undo the last modification Отменить последнее изменение - + Toggle visibility of sidebar with options of the selected tool Показать боковую панель с настройками выбранного инструмента - + Show color picker Показать выбор цвета - + Change the tool's thickness Изменить толщину инструмента - + + Capture screen + Захватить экран + + + + Screenshot history + История скриншотов + + + Available shortcuts in the screen capture mode. Доступные горячие клавиши в режиме захвата экрана. - + Key Клавиша - + Description Описание - + <u><b>License</b></u> <u><b>Лицензия</b></u> - + <u><b>Version</b></u> <u><b>Версия</b></u> - + <u><b>Shortcuts</b></u> <u><b>Горячие клавиши</b></u> @@ -768,7 +823,7 @@ Press Space to open the side panel. Не удалось сохранить - + URL copied to clipboard. URL скопирован в буфер обмена. diff --git a/translations/Internationalization_sk.ts b/translations/Internationalization_sk.ts index c7b74642..ca1c13ab 100644 --- a/translations/Internationalization_sk.ts +++ b/translations/Internationalization_sk.ts @@ -187,30 +187,35 @@ Stlačte medzerník pre otvorenie postranného panelu. Controller - + &Take Screenshot &Vytvoriť snímku - + &Open Launcher - + &Configuration &Konfigurácia - + &Information &Informácie - + &Quit &Ukončiť + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Stlačte medzerník pre otvorenie postranného panelu. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Nahrávam obrázok + + Screenshots history is empty + - + Copy URL Kopírovať URL - - Open URL - Otvoriť URL - - - - Image to Clipboard. - Obrázok do schránky. - - - - Unable to open the URL. - Nepodarilo sa otvoriť URL. - - - + URL copied to clipboard. URL skopírovaná do schránky. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Nahrávam obrázok + + + + Copy URL + Kopírovať URL + + + + Open URL + Otvoriť URL + + + + Image to Clipboard. + Obrázok do schránky. + + + + Unable to open the URL. + Nepodarilo sa otvoriť URL. + + + + URL copied to clipboard. + URL skopírovaná do schránky. + + + Screenshot copied to clipboard. Snímka obrazovky bola skopírovaná do schránky. @@ -576,77 +609,87 @@ Stlačte medzerník pre otvorenie postranného panelu. Kolečko myši - + Move selection 1px Presunúť výber o 1 px - + Resize selection 1px Zmeniť rozmery výberu o 1 px - + Quit capture Ukončiť zachytávanie obrazovky - + Copy to clipboard Kopírovať do schránky - + Save selection as a file Zapísať výber do súboru - + Undo the last modification Vrátiť poslednú úpravu - + Toggle visibility of sidebar with options of the selected tool Prepnúť viditeľnosť bočnej lišty s možnosťami vybraného nástroja - + Show color picker Zobraziť dialóg na výber farby - + Change the tool's thickness Zmena hrúbky nástroja - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Dostupné klávesové skratky v režime zachytávania obrazovky. - + Key Kláves - + Description Popis - + <u><b>License</b></u> <u><b>Licencia</b></u> - + <u><b>Version</b></u> <u><b>Verzia</b></u> - + <u><b>Shortcuts</b></u> <u><b>Klávesové skratky</b></u> @@ -760,7 +803,7 @@ Stlačte medzerník pre otvorenie postranného panelu. Chyba pri ukladaní - + URL copied to clipboard. URL skopírovaná do schránky. diff --git a/translations/Internationalization_sr.ts b/translations/Internationalization_sr.ts index aebc19c1..0017f9ed 100644 --- a/translations/Internationalization_sr.ts +++ b/translations/Internationalization_sr.ts @@ -187,30 +187,35 @@ Press Space to open the side panel. Controller - + &Take Screenshot &Направи снимак екрана - + &Open Launcher - + &Configuration &Подешавања - + &Information Ин&формације - + &Quit &Излаз + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Објављујем слику + + Screenshots history is empty + - + Copy URL Запамти интернет адресу - - Open URL - Посети интернет адресу - - - - Image to Clipboard. - Сачувај у привремену меморију. - - - - Unable to open the URL. - Нисам успео да посетим интернет адресу. - - - + URL copied to clipboard. Интернет адреса је сачувана у привременој меморији. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Објављујем слику + + + + Copy URL + Запамти интернет адресу + + + + Open URL + Посети интернет адресу + + + + Image to Clipboard. + Сачувај у привремену меморију. + + + + Unable to open the URL. + Нисам успео да посетим интернет адресу. + + + + URL copied to clipboard. + Интернет адреса је сачувана у привременој меморији. + + + Screenshot copied to clipboard. Слика је сачувана у привременој меморији. @@ -576,77 +609,87 @@ Press Space to open the side panel. Точкић миша - + Move selection 1px Помери избор за 1px - + Resize selection 1px Увећај избор за 1px - + Quit capture Излаз из снимача екрана - + Copy to clipboard Запамти у привременој меморији - + Save selection as a file Сачувај избор у датотеку - + Undo the last modification Поништи последње измене - + Toggle visibility of sidebar with options of the selected tool - + Show color picker Прикажи избор боје - + Change the tool's thickness Измени дебљину линије алата - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Доступне пречице у моду снимка екрана. - + Key Тастер - + Description Опис - + <u><b>License</b></u> <u><b>Лиценца</b></u> - + <u><b>Version</b></u> <u><b>Верзија</b></u> - + <u><b>Shortcuts</b></u> <u><b>Пречице</b></u> @@ -760,7 +803,7 @@ Press Space to open the side panel. Нисам успео са сачувам - + URL copied to clipboard. Интернет адреса је сачувана у привременој меморији. diff --git a/translations/Internationalization_tr.ts b/translations/Internationalization_tr.ts index 2c383089..4a710cf6 100644 --- a/translations/Internationalization_tr.ts +++ b/translations/Internationalization_tr.ts @@ -187,30 +187,35 @@ Yan paneli açmak için Boşluk tuşuna basın. Controller - + &Take Screenshot &Ekran Resmi Al - + &Open Launcher - + &Configuration &Ayarlar - + &Information &Bilgi - + &Quit &Çıkış + + + &Latest Uploads + + CopyTool @@ -436,44 +441,72 @@ Yan paneli açmak için Boşluk tuşuna basın. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - Resim Yükleniyor + + Screenshots history is empty + - + Copy URL URL Kopyala - - Open URL - URL Aç - - - - Image to Clipboard. - Resim Pano'ya. - - - - Unable to open the URL. - URL açılamıyor. - - - + URL copied to clipboard. URL panoya kopyalandı. - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + Resim Yükleniyor + + + + Copy URL + URL Kopyala + + + + Open URL + URL Aç + + + + Image to Clipboard. + Resim Pano'ya. + + + + Unable to open the URL. + URL açılamıyor. + + + + URL copied to clipboard. + URL panoya kopyalandı. + + + Screenshot copied to clipboard. Ekran görüntüsü panoya kopyalandı. @@ -576,77 +609,87 @@ Yan paneli açmak için Boşluk tuşuna basın. Fare Tekerleği - + Move selection 1px 1px seçimini hareket ettir - + Resize selection 1px 1px seçimini yeniden boyutlandır - + Quit capture Çıkış - + Copy to clipboard Panoya kopyala - + Save selection as a file Seçimi dosya olarak kaydet - + Undo the last modification Son değişikliği geri al - + Toggle visibility of sidebar with options of the selected tool - + Show color picker Renk seçici göster - + Change the tool's thickness Araç kalınlığını değiştirin - + + Capture screen + + + + + Screenshot history + + + + Available shortcuts in the screen capture mode. Ekran yakalama modunda kullanılabilir kısayollar. - + Key Anahtar - + Description Tanım - + <u><b>License</b></u> <u><b>Lisans</b></u> - + <u><b>Version</b></u> <u><b>Sürüm</b></u> - + <u><b>Shortcuts</b></u> <u><b>Kısayollar</b></u> @@ -760,7 +803,7 @@ Yan paneli açmak için Boşluk tuşuna basın. Yazma mümkün değil - + URL copied to clipboard. URL panoya kopyalandı. diff --git a/translations/Internationalization_uk.ts b/translations/Internationalization_uk.ts index 224a45aa..86721e74 100644 --- a/translations/Internationalization_uk.ts +++ b/translations/Internationalization_uk.ts @@ -187,30 +187,43 @@ Press Space to open the side panel. Controller - + &Take Screenshot &Зробити знімок - + &Open Launcher &Відчинити - + &Configuration &Налаштування - + &Information &Інформація - + &Quit Ви&йти + + + &Latest Uploads + Останні завантаження + + + &Recent Screenshots + Нещодавні скріншоти + + + &Recent Screenshot + Нещодавні скріншоти + CopyTool @@ -436,24 +449,56 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 - Вивантажити на S3 + + Screenshots history + Історія скріншотів - - Uploading Image - Вивантаження зображення + Screenshots history is epmty + Історія скріншотів пуста - + + Screenshots history is empty + Історія скріншотів пуста + + + Copy URL Скопіювати URL - + + URL copied to clipboard. + URL скопійовано до буферу обміну. + + + + Open in browser + Відкрити у браузері + + + + ImgS3Uploader + + + Upload to ImgS3 + Вивантажити на S3 + + + + Uploading Image + Вивантаження зображення + + + + Copy URL + Скопіювати URL + + + Open URL Відкрити URL @@ -462,22 +507,22 @@ Press Space to open the side panel. Видалити зображення - + Image to Clipboard. Зображення до буферу обміну. - + Unable to open the URL. Не вдалось відкрити URL. - + URL copied to clipboard. URL скопійовано до буферу обміну. - + Screenshot copied to clipboard. Знімок скопійовано до буферу обміну. @@ -584,77 +629,87 @@ Press Space to open the side panel. Колесо миші - + Move selection 1px Перемістити виділення на 1px - + Resize selection 1px Змінити розмір виділення на 1px - + Quit capture Вийти із захоплення екрану - + Copy to clipboard Копіювати до буферу обміну - + Save selection as a file Зберегти вибране до файлу - + Undo the last modification Скасувати останню зміну - + Toggle visibility of sidebar with options of the selected tool Переключити видимість бічної панелі - + Show color picker Показати вибір кольору - + Change the tool's thickness Змінити товщину інструменту - + + Capture screen + Захватити екран + + + + Screenshot history + Історія скріншотів + + + Available shortcuts in the screen capture mode. Доступні комбінації клавіш у режимі захоплення екрану. - + Key Клавіша - + Description Опис - + <u><b>License</b></u> <u><b>Ліцензія</b></u> - + <u><b>Version</b></u> <u><b>Версія</b></u> - + <u><b>Shortcuts</b></u> <u><b>Комбінації клавіш</b></u> @@ -768,7 +823,7 @@ Press Space to open the side panel. Не вдалось зберегти - + URL copied to clipboard. URL скопійовано до буферу обміну. diff --git a/translations/Internationalization_zh_CN.ts b/translations/Internationalization_zh_CN.ts index 404d38e8..c72fad5c 100644 --- a/translations/Internationalization_zh_CN.ts +++ b/translations/Internationalization_zh_CN.ts @@ -188,30 +188,35 @@ Press Space to open the side panel. Controller - + &Take Screenshot 进行截图(&T) - + &Open Launcher 打开启动器(&O) - + &Configuration 配置(&C) - + &Information 信息(&I) - + &Quit 退出(&Q) + + + &Latest Uploads + + CopyTool @@ -437,44 +442,72 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - 正在上传 + + Screenshots history is empty + - + Copy URL 复制链接 - - Open URL - 打开链接 - - - - Image to Clipboard. - 保存文件到剪贴板。 - - - - Unable to open the URL. - 无法打开此链接。 - - - + URL copied to clipboard. 复制链接到剪贴板。 - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + 正在上传 + + + + Copy URL + 复制链接 + + + + Open URL + 打开链接 + + + + Image to Clipboard. + 保存文件到剪贴板。 + + + + Unable to open the URL. + 无法打开此链接。 + + + + URL copied to clipboard. + 复制链接到剪贴板。 + + + Screenshot copied to clipboard. 截图复制到剪贴板。 @@ -577,77 +610,87 @@ Press Space to open the side panel. 鼠标滑轮 - + Move selection 1px 移动选择 1 px - + Resize selection 1px 调整选择大小 1 px - + Quit capture 退出捕获 - + Copy to clipboard 复制到剪贴板 - + Save selection as a file 将选择保存为文件 - + Undo the last modification 撤消上次修改 - + Toggle visibility of sidebar with options of the selected tool 切换侧边栏可见性 - + Show color picker 显示颜色选择器 - + Change the tool's thickness 改变工具的厚度 - + + Capture screen + + + + + Screenshot history + + + + Key - + Description 描述 - + <u><b>License</b></u> <u><b>许可证</b></u> - + <u><b>Version</b></u> <u><b>版本</b></u> - + <u><b>Shortcuts</b></u> <u><b>快捷键</b></u> - + Available shortcuts in the screen capture mode. 屏幕捕捉模式中的可用快捷键。 @@ -761,7 +804,7 @@ Press Space to open the side panel. 无法写入 - + URL copied to clipboard. 复制链接到剪贴板。 diff --git a/translations/Internationalization_zh_TW.ts b/translations/Internationalization_zh_TW.ts index 14e822a0..51b53056 100644 --- a/translations/Internationalization_zh_TW.ts +++ b/translations/Internationalization_zh_TW.ts @@ -183,30 +183,35 @@ Press Space to open the side panel. Controller - + &Take Screenshot - + &Open Launcher - + &Configuration &設定 - + &Information &資訊 - + &Quit &結束 + + + &Latest Uploads + + CopyTool @@ -432,44 +437,72 @@ Press Space to open the side panel. - ImgS3Uploader + HistoryWidget - - Upload to ImgS3 + + Screenshots history - - Uploading Image - 正在上傳 + + Screenshots history is empty + - + Copy URL 複製連結 - - Open URL - 打開連結 - - - - Image to Clipboard. - 將檔案複製到剪貼簿 - - - - Unable to open the URL. - 無法打開此連結 - - - + URL copied to clipboard. 連結已複製到剪貼簿 - + + Open in browser + + + + + ImgS3Uploader + + + Upload to ImgS3 + + + + + Uploading Image + 正在上傳 + + + + Copy URL + 複製連結 + + + + Open URL + 打開連結 + + + + Image to Clipboard. + 將檔案複製到剪貼簿 + + + + Unable to open the URL. + 無法打開此連結 + + + + URL copied to clipboard. + 連結已複製到剪貼簿 + + + Screenshot copied to clipboard. 截圖已複製到剪貼簿 @@ -572,77 +605,87 @@ Press Space to open the side panel. 滑鼠滑輪 - + Move selection 1px 移動 1px - + Resize selection 1px 調整大小 1px - + Quit capture 結束擷取 - + Copy to clipboard 複製到剪貼簿 - + Save selection as a file 將選擇範圍另存新檔 - + Undo the last modification 復原上次修改 - + Toggle visibility of sidebar with options of the selected tool - + Show color picker 顯示顏色選擇器 - + Change the tool's thickness 改變工具的寬度 - + + Capture screen + + + + + Screenshot history + + + + Key - + Description 描述 - + <u><b>License</b></u> <u><b>授權條款</b></u> - + <u><b>Version</b></u> <u><b>版本</b></u> - + <u><b>Shortcuts</b></u> <u><b>快速鍵</b></u> - + Available shortcuts in the screen capture mode. 螢幕擷取模式中的可用快速鍵 @@ -756,7 +799,7 @@ Press Space to open the side panel. 無法寫入 - + URL copied to clipboard. 連結已複製到剪貼簿 diff --git a/update_release_version.sh b/update_release_version.sh index 0ed345c8..2817bf3b 100755 --- a/update_release_version.sh +++ b/update_release_version.sh @@ -41,14 +41,16 @@ qmake # update qt translations, ignore if no `lupdate` utils is installed lupdate -recursive ./ -ts ./translations/* || true +lrelease flameshot.pro # push current release git add flameshot.pro ./win_setup/flameshot.iss appveyor.yml .travis.yml update_release_version.sh translations/ git commit -m "Update version to ${BASE_VERSION_NEW}" -git push ${GIT_REMOTE} -u release/${BASE_VERSION_NEW} +#git push ${GIT_REMOTE} -u release/${BASE_VERSION_NEW} # add new release tag git tag "v${BASE_VERSION_NEW}" -git push ${GIT_REMOTE} --tags +git push ${GIT_REMOTE} -u release/${BASE_VERSION_NEW} --tags +#git push ${GIT_REMOTE} --tags echo "New Flameshot version is: ${BASE_VERSION_NEW}" diff --git a/win_setup/flameshot.iss b/win_setup/flameshot.iss index a136d96f..52f41b00 100644 --- a/win_setup/flameshot.iss +++ b/win_setup/flameshot.iss @@ -32,6 +32,7 @@ Source: "flameshot\iconengines\*"; DestDir: "{app}\iconengines" Source: "flameshot\imageformats\*"; DestDir: "{app}\imageformats" Source: "flameshot\platforms\*"; DestDir: "{app}\platforms" Source: "flameshot\translations\*"; DestDir: "{app}\translations" +Source: "flameshot\vcredist-2013.exe"; DestDir: {app} Source: "flameshot\vcredist.exe"; DestDir: {app} [Icons] @@ -45,6 +46,9 @@ Name: "{group}\FlameShot Documentation"; Filename: "https://collab.namecheap.net ; you don't need a [Registry] section. [Run] +Filename: {app}\vcredist-2013.exe; \ + Parameters: "/q /passive /Q:a /c:""msiexec /q /i vcredist.msi"""; \ + StatusMsg: "Installing VC++ 2013 Redistributables..." Filename: {app}\vcredist.exe; \ Parameters: "/q /passive /Q:a /c:""msiexec /q /i vcredist.msi"""; \ StatusMsg: "Installing VC++ 2015 Redistributables..."