diff --git a/.github/workflows/Linux-pack.yml b/.github/workflows/Linux-pack.yml index bdec0b7ab1..0278f3fe43 100644 --- a/.github/workflows/Linux-pack.yml +++ b/.github/workflows/Linux-pack.yml @@ -80,7 +80,7 @@ jobs: symbol: jammy, arch: amd64 } - + steps: - name: Enable Docker Experimental Features run: | @@ -88,8 +88,7 @@ jobs: mkdir -p ~/.docker echo $'{\n "experimental": "enabled"\n}' | sudo tee ~/.docker/config.json sudo service docker restart - docker version -f '{{.Client.Experimental}}' - docker version -f '{{.Server.Experimental}}' + docker version -f "{{ (index .Server.Components 0).Details.Experimental }}" docker buildx version - name: Support for ARM via QEMU's user-mode emulation # Register binfmt_misc entry for qemu-user-static diff --git a/.github/workflows/MacOS-pack.yml b/.github/workflows/MacOS-pack.yml index 21766eda73..57f5dfd59e 100644 --- a/.github/workflows/MacOS-pack.yml +++ b/.github/workflows/MacOS-pack.yml @@ -19,8 +19,8 @@ env: jobs: catalina: - name: macOS Big Sur 11 - runs-on: macos-11 + name: macOS Monterey 12 + runs-on: macos-12 env: APP_NAME: flameshot @@ -28,7 +28,7 @@ jobs: DIR_PKG: build/src HELPERS_SCRIPTS_PATH: ../../packaging/macos # Apple developer identity, example: "Developer ID Application: (code)" - # Note: no signing and notarization will proceed if this variable is not set + # Note: no signing and notarization will be proceed if this variable is not set APPLE_DEV_IDENTITY: ${{ secrets.APPLE_DEV_IDENTITY }} # Apple ID user APPLE_DEV_USER: ${{ secrets.APPLE_DEV_USER }} @@ -45,22 +45,19 @@ jobs: steps: - name: Checkout Source code - uses: actions/checkout@v1 + uses: actions/checkout@v4 - name: Install Qt run: brew install qt@5 cmake - name: Configure run: | - mkdir -p "${DIR_BULD}" - cd "${DIR_BULD}" - rm -rf ./src/flameshot.dmg ./src/flameshot.app/ - cmake .. -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 -DUSE_MONOCHROME_ICON=True + rm -rf "${DIR_BULD}"/src/flameshot.dmg "${DIR_BULD}"/src/flameshot.app/ + cmake -S . -B "${DIR_BULD}" -DQt5_DIR=$(brew --prefix qt5)/lib/cmake/Qt5 -DUSE_MONOCHROME_ICON=True - name: Compile run: | - cd "${DIR_BULD}" - make + cmake --build "${DIR_BULD}" - name: Create key-chain and import certificate run: | @@ -81,7 +78,7 @@ jobs: echo "=====no operation for you can see link in the log console=====" - name: Artifact Upload - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: MacOS-artifact path: ${{ github.workspace }}/build/src/flameshot.dmg @@ -94,4 +91,4 @@ jobs: else echo "::warning Notarization check failed" # exit 1 - fi + fi \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index 29eb404b5a..7d8dbc58c1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,7 +1,7 @@ cmake_minimum_required(VERSION 3.13) # cmake_policy(SET CMP0076 OLD) -set(FLAMESHOT_VERSION 12.1.0.4) +set(FLAMESHOT_VERSION 12.1.0.5) # Flameshot-org set(GIT_API_URL "https://api.github.com/repos/flameshot-org/flameshot/releases/latest") diff --git a/packaging/rpm/flameshot.spec b/packaging/rpm/flameshot.spec index 24038f0668..94beec953c 100644 --- a/packaging/rpm/flameshot.spec +++ b/packaging/rpm/flameshot.spec @@ -8,7 +8,7 @@ %define is_suse_leap (0%{?is_opensuse} && 0%{?sle_version} >= 150200) Name: flameshot -Version: 12.1.0.4 +Version: 12.1.0.5 %if %{is_rhel_or_fedora} Release: 1%{?dist} %endif diff --git a/src/tools/imgupload/storages/imguploaderbase.cpp b/src/tools/imgupload/storages/imguploaderbase.cpp index 9aa5ee8df9..a9f318b199 100644 --- a/src/tools/imgupload/storages/imguploaderbase.cpp +++ b/src/tools/imgupload/storages/imguploaderbase.cpp @@ -191,3 +191,11 @@ void ImgUploaderBase::saveScreenshotToFilesystem() } m_notification->showMessage(tr("Screenshot saved.")); } + +void ImgUploaderBase::removeCacheFile(const QString& fullFileName) +{ + QFile file(fullFileName); + if (file.exists()) { + file.remove(); + } +} diff --git a/src/tools/imgupload/storages/imguploaderbase.h b/src/tools/imgupload/storages/imguploaderbase.h index 44cd051250..94298e650c 100644 --- a/src/tools/imgupload/storages/imguploaderbase.h +++ b/src/tools/imgupload/storages/imguploaderbase.h @@ -50,6 +50,9 @@ private slots: void deleteCurrentImage(); void saveScreenshotToFilesystem(); +protected: + void removeCacheFile(const QString& fullFileName); + private: QPixmap m_pixmap; diff --git a/src/tools/imgupload/storages/imgur/imguruploader.cpp b/src/tools/imgupload/storages/imgur/imguruploader.cpp index d6748b5a42..8ae751e5b6 100644 --- a/src/tools/imgupload/storages/imgur/imguruploader.cpp +++ b/src/tools/imgupload/storages/imgur/imguruploader.cpp @@ -93,5 +93,9 @@ void ImgurUploader::deleteImage(const QString& fileName, notification()->showMessage(tr("Unable to open the URL.")); } + History history; + QString fullFileName = history.path() + fileName; + removeCacheFile(fullFileName); + emit deleteOk(); } diff --git a/src/tools/imgupload/storages/s3/imgs3uploader.cpp b/src/tools/imgupload/storages/s3/imgs3uploader.cpp index 4c5df8d8f2..eb94086886 100644 --- a/src/tools/imgupload/storages/s3/imgs3uploader.cpp +++ b/src/tools/imgupload/storages/s3/imgs3uploader.cpp @@ -163,13 +163,6 @@ void ImgS3Uploader::onUploadError(QNetworkReply* reply) void ImgS3Uploader::handleReplyDeleteResource(QNetworkReply* reply) { - // Just remove image preview on fail because it can be outdated and removed - // on server. - removeImagePreview(); - close(); - - /* The following code possibly will be required later so it is just - * commented here */ auto replyError = reply->error(); if (replyError == QNetworkReply::NoError) { removeImagePreview(); @@ -374,14 +367,12 @@ void ImgS3Uploader::removeImagePreview() { // remove local file History history; - QString packedFileName = history.packFileName( - SCREENSHOT_STORAGE_TYPE_S3, m_deleteToken, m_storageImageName); - QString fullFileName = history.path() + packedFileName; + QString fullFileName = + history.path() + history.packFileName(SCREENSHOT_STORAGE_TYPE_S3, + m_deleteToken, + m_storageImageName); - QFile file(fullFileName); - if (file.exists()) { - file.remove(); - } + removeCacheFile(fullFileName); m_deleteToken.clear(); m_storageImageName.clear(); resultStatus = true; diff --git a/src/widgets/uploadlineitem.cpp b/src/widgets/uploadlineitem.cpp index 00b49a6c15..f9fac84004 100644 --- a/src/widgets/uploadlineitem.cpp +++ b/src/widgets/uploadlineitem.cpp @@ -12,14 +12,6 @@ #include #include -void removeCacheFile(QString const& fullFileName) -{ - QFile file(fullFileName); - if (file.exists()) { - file.remove(); - } -} - UploadLineItem::UploadLineItem(QWidget* parent, QPixmap const& preview, QString const& timestamp, @@ -58,7 +50,6 @@ UploadLineItem::UploadLineItem(QWidget* parent, ImgUploaderManager(this).uploader(unpackFileName.type); imgUploaderBase->deleteImage(unpackFileName.file, unpackFileName.token); - removeCacheFile(fullFileName); emit requestedDeletion(); }); } diff --git a/src/widgets/uploadlineitem.h b/src/widgets/uploadlineitem.h index ef8a66a8e6..a429bc3a32 100644 --- a/src/widgets/uploadlineitem.h +++ b/src/widgets/uploadlineitem.h @@ -11,8 +11,6 @@ class UploadLineItem; } QT_END_NAMESPACE -void removeCacheFile(QString const& fullFileName); - class UploadLineItem : public QWidget { Q_OBJECT