Include storage type into history file name

This commit is contained in:
Yuriy Puchkov
2020-08-06 20:42:58 +03:00
parent cd9661bfa9
commit 1f40697656
21 changed files with 116 additions and 64 deletions

View File

@@ -19,7 +19,6 @@ ImgS3Settings::ImgS3Settings()
m_url = m_url + (m_url.length() > 0 && m_url.at(m_url.length() - 1) == "/" ? "" : "/");
settings->endGroup();
}
const QString &ImgS3Settings::credsUrl() {

View File

@@ -187,14 +187,14 @@ void ImgS3Uploader::handleReplyUpload(QNetworkReply *reply) {
if (lastSlash >= 0) {
imageName = imageName.mid(lastSlash + 1);
}
imageName = m_deleteToken + "-" + imageName;
History history;
imageName = history.packFileName(SCREENSHOT_STORAGE_TYPE_S3, m_deleteToken, imageName);
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."));
SystemNotification().sendMessage(tr("URL copied to clipboard."));
m_success = true;
close();
} else {
@@ -212,7 +212,7 @@ void ImgS3Uploader::handleReplyDeleteResource(QNetworkReply *reply) {
if (reply->error() == QNetworkReply::NoError) {
if (ConfigHandler().copyAndCloseAfterUploadEnabled()) {
m_success = true;
SystemNotification().sendMessage(QObject::tr("File is deleted from S3"));
SystemNotification().sendMessage(tr("File is deleted from S3"));
close();
}
} else {

View File

@@ -3,6 +3,7 @@
#include <QDir>
#include <QFile>
#include <QDebug>
#include <QStringList>
History::History()
@@ -48,3 +49,45 @@ const QList<QString> &History::history() {
}
return m_thumbs;
}
const HISTORY_FILE_NAME &History::unpackFileName(const QString &fileNamePacked) {
int nPathIndex = fileNamePacked.lastIndexOf("/");
QStringList unpackedFileName;
if(nPathIndex == -1) {
unpackedFileName = fileNamePacked.split("-");
} else {
unpackedFileName = fileNamePacked.mid(nPathIndex + 1).split("-");
}
switch (unpackedFileName.length()) {
case 3:
m_unpackedFileName.file = unpackedFileName[2];
m_unpackedFileName.token = unpackedFileName[1];
m_unpackedFileName.type = unpackedFileName[0];
break;
case 2:
m_unpackedFileName.file = unpackedFileName[1];
m_unpackedFileName.token = "";
m_unpackedFileName.type = unpackedFileName[0];
break;
default:
m_unpackedFileName.file = unpackedFileName[0];
m_unpackedFileName.token = "";
m_unpackedFileName.type = SCREENSHOT_STORAGE_TYPE_LOCAL;
break;
}
return m_unpackedFileName;
}
const QString &History::packFileName(const QString &storageType, const QString &deleteToken, const QString &fileName) {
m_packedFileName = fileName;
if(storageType.length() > 0) {
if(deleteToken.length() > 0) {
m_packedFileName = storageType + "-" + deleteToken + "-" + m_packedFileName;
}
else {
m_packedFileName = storageType + "-" + m_packedFileName;
}
}
return m_packedFileName;
}

View File

@@ -8,6 +8,16 @@
#include <QPixmap>
#define SCREENSHOT_STORAGE_TYPE_LOCAL ""
#define SCREENSHOT_STORAGE_TYPE_S3 "s3"
#define SCREENSHOT_STORAGE_TYPE_IMGUR "imgur"
struct HISTORY_FILE_NAME {
QString file;
QString token;
QString type;
};
class History
{
public:
@@ -17,9 +27,16 @@ public:
const QList<QString> &history();
const QString &path();
const HISTORY_FILE_NAME &unpackFileName(const QString &);
const QString &packFileName(const QString &, const QString &, const QString &);
private:
QString m_historyPath;
QList<QString> m_thumbs;
// temporary variables
QString m_packedFileName;
HISTORY_FILE_NAME m_unpackedFileName;
};
#endif // HISTORY_H

View File

@@ -44,8 +44,6 @@ HistoryWidget::HistoryWidget(QWidget *parent) : QDialog(parent)
}
void HistoryWidget::loadHistory() {
// get settings
// read history files
History history = History();
QList<QString> historyFiles = history.history();
@@ -74,16 +72,11 @@ void HistoryWidget::setEmptyMessage() {
void HistoryWidget::addLine(const QString &path, const QString& fileName) {
QHBoxLayout *phbl = new QHBoxLayout();
QString fullFileName = path + fileName;
QString s3FileName = fileName;
//
QString deleteToken;
int nSeparatorIndex = s3FileName.indexOf("-");
if(nSeparatorIndex >= 0) {
deleteToken = s3FileName.mid(0, nSeparatorIndex);
s3FileName = s3FileName.mid(nSeparatorIndex + 1, s3FileName.size());
}
QString url = m_s3Settings.url() + s3FileName;
History history;
HISTORY_FILE_NAME unpackFileName = history.unpackFileName(fileName);
QString url = m_s3Settings.url() + unpackFileName.file;
// load pixmap
QPixmap pixmap;
@@ -136,7 +129,7 @@ void HistoryWidget::addLine(const QString &path, const QString& fileName) {
buttonDelete->setIcon(QIcon(":/img/material/black/delete.svg"));
buttonDelete->setMinimumHeight(HISTORYPIXMAP_MAX_PREVIEW_HEIGHT);
connect(buttonDelete, &QPushButton::clicked, this, [=](){
removeItem(phbl, fullFileName, s3FileName, deleteToken);
removeItem(phbl, fullFileName, unpackFileName.file, unpackFileName.token);
});
// layout

View File

@@ -450,17 +450,17 @@ Press Space to open the side panel.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Copia l&apos;URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">L&apos;URL s&apos;ha copiat al porta-retalls.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Drücke die Leertaste um das Seitenmenü zu öffnen.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">URL kopieren</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL kopiert.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Presiona Espacio para abrir el panel lateral.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Copiar URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL copiada al portapapeles.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Appuyer sur Espace pour ouvrir le panneau latéral.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Copier l&apos;URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.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/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Enter を押すと画面をキャプチャー。
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">URL </translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL </translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -449,17 +449,17 @@ Press Space to open the side panel.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">URL- </translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL .</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Druk op spatie om het zijpaneel te openen.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">URL kopiëren</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL gekopieerd naar klembord.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -452,17 +452,17 @@ Spacja, aby pokazać panel boczny.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Kopiuj URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL skopiowany do schowka.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Pressione espaço abrir o painel lateral.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Copiar URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL copiada para o clipboard.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -465,17 +465,17 @@ Press Space to open the side panel.</source>
<translation>История скриншотов пуста</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation>Скопировать URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation>URL скопирован в буфер обмена.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation>Открыть в браузере</translation>
</message>

View File

@@ -453,17 +453,17 @@ Stlačte medzerník pre otvorenie postranného panelu.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Kopírovať URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<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="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Press Space to open the side panel.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">Запамти интернет адресу</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">Интернет адреса је сачувана у привременој меморији.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -453,17 +453,17 @@ Yan paneli açmak için Boşluk tuşuna basın.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished">URL Kopyala</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">URL panoya kopyalandı.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -465,17 +465,17 @@ Press Space to open the side panel.</source>
<translation>Історія скріншотів пуста</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation>Скопіювати URL</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation>URL скопійовано до буферу обміну.</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation>Відкрити у браузері</translation>
</message>

View File

@@ -454,17 +454,17 @@ Press Space to open the side panel.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>

View File

@@ -449,17 +449,17 @@ Press Space to open the side panel.</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="117"/>
<location filename="../src/widgets/historywidget.cpp" line="112"/>
<source>Copy URL</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="121"/>
<location filename="../src/widgets/historywidget.cpp" line="116"/>
<source>URL copied to clipboard.</source>
<translation type="unfinished">簿</translation>
</message>
<message>
<location filename="../src/widgets/historywidget.cpp" line="127"/>
<location filename="../src/widgets/historywidget.cpp" line="122"/>
<source>Open in browser</source>
<translation type="unfinished"></translation>
</message>