Compare commits
No commits in common. 'ubuntu/plucky' and 'ubuntu/cosmic' have entirely different histories.
ubuntu/plu
...
ubuntu/cos
@ -0,0 +1 @@
|
|||||||
|
11
|
@ -1,5 +0,0 @@
|
|||||||
[DEFAULT]
|
|
||||||
debian-branch = debian/sid
|
|
||||||
upstream-branch = upstream/latest
|
|
||||||
pristine-tar = True
|
|
||||||
compression = xz
|
|
@ -0,0 +1,432 @@
|
|||||||
|
Description: Dynamically load libfm-qt
|
||||||
|
Dynamically load libfm-qt on demand to create the file dialog helper to
|
||||||
|
prevent the hard dependency on libfm-qt. This speed up the loading of the QPA
|
||||||
|
plugin and also avoid loading libfm-qt in Qt programs having QT_NO_GLIB=1.
|
||||||
|
Author: Hong Jen Yee (PCMan) <pcman.tw@gmail.com>
|
||||||
|
Origin: upstream
|
||||||
|
Applied-Upstream: commit:334394a
|
||||||
|
Last-Update: 2018-07-30
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -18,10 +18,6 @@ find_package(Qt5XdgIconLoader REQUIRED)
|
||||||
|
|
||||||
|
# Patch Version 0
|
||||||
|
|
||||||
|
-# for file dialog support
|
||||||
|
-find_package(Qt5X11Extras REQUIRED)
|
||||||
|
-find_package(fm-qt REQUIRED)
|
||||||
|
-
|
||||||
|
include(LXQtPreventInSourceBuilds)
|
||||||
|
include(LXQtCompilerSettings NO_POLICY_SCOPE)
|
||||||
|
|
||||||
|
--- a/src/CMakeLists.txt
|
||||||
|
+++ b/src/CMakeLists.txt
|
||||||
|
@@ -6,7 +6,6 @@ include_directories(
|
||||||
|
set(qtlxqt_HDRS
|
||||||
|
lxqtplatformtheme.h
|
||||||
|
lxqtsystemtrayicon.h
|
||||||
|
- lxqtfiledialoghelper.h
|
||||||
|
statusnotifieritem/statusnotifieritem.h
|
||||||
|
statusnotifieritem/dbustypes.h
|
||||||
|
)
|
||||||
|
@@ -15,7 +14,6 @@ set(qtlxqt_SRCS
|
||||||
|
main.cpp
|
||||||
|
lxqtplatformtheme.cpp
|
||||||
|
lxqtsystemtrayicon.cpp
|
||||||
|
- lxqtfiledialoghelper.cpp
|
||||||
|
statusnotifieritem/statusnotifieritem.cpp
|
||||||
|
statusnotifieritem/dbustypes.cpp
|
||||||
|
)
|
||||||
|
@@ -38,7 +36,6 @@ target_link_libraries(qtlxqt
|
||||||
|
Qt5::DBus
|
||||||
|
dbusmenu-qt5
|
||||||
|
Qt5XdgIconLoader
|
||||||
|
- fm-qt
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
--- a/src/lxqtfiledialoghelper.cpp
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,276 +0,0 @@
|
||||||
|
-#include "lxqtfiledialoghelper.h"
|
||||||
|
-
|
||||||
|
-#include <libfm-qt/libfmqt.h>
|
||||||
|
-#include <libfm-qt/filedialog.h>
|
||||||
|
-
|
||||||
|
-#include <QWindow>
|
||||||
|
-#include <QDebug>
|
||||||
|
-#include <QTimer>
|
||||||
|
-#include <QSettings>
|
||||||
|
-
|
||||||
|
-#include <memory>
|
||||||
|
-
|
||||||
|
-static std::unique_ptr<Fm::LibFmQt> libfmQtContext_;
|
||||||
|
-
|
||||||
|
-inline static const QString viewModeToString(Fm::FolderView::ViewMode value);
|
||||||
|
-inline static Fm::FolderView::ViewMode viewModeFromString(const QString& str);
|
||||||
|
-
|
||||||
|
-LXQtFileDialogHelper::LXQtFileDialogHelper() {
|
||||||
|
- if(!libfmQtContext_) {
|
||||||
|
- // initialize libfm-qt only once
|
||||||
|
- libfmQtContext_ = std::unique_ptr<Fm::LibFmQt>{new Fm::LibFmQt()};
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // can only be used after libfm-qt initialization
|
||||||
|
- dlg_ = std::unique_ptr<Fm::FileDialog>(new Fm::FileDialog());
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::accepted, [this]() {
|
||||||
|
- saveSettings();
|
||||||
|
- accept();
|
||||||
|
- });
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::rejected, [this]() {
|
||||||
|
- saveSettings();
|
||||||
|
- reject();
|
||||||
|
- });
|
||||||
|
-
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::fileSelected, this, &LXQtFileDialogHelper::fileSelected);
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::filesSelected, this, &LXQtFileDialogHelper::filesSelected);
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::currentChanged, this, &LXQtFileDialogHelper::currentChanged);
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::directoryEntered, this, &LXQtFileDialogHelper::directoryEntered);
|
||||||
|
- connect(dlg_.get(), &Fm::FileDialog::filterSelected, this, &LXQtFileDialogHelper::filterSelected);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-LXQtFileDialogHelper::~LXQtFileDialogHelper() {
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::exec() {
|
||||||
|
- dlg_->exec();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-bool LXQtFileDialogHelper::show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow* parent) {
|
||||||
|
- dlg_->setAttribute(Qt::WA_NativeWindow, true); // without this, sometimes windowHandle() will return nullptr
|
||||||
|
-
|
||||||
|
- dlg_->setWindowFlags(windowFlags);
|
||||||
|
- dlg_->setWindowModality(windowModality);
|
||||||
|
-
|
||||||
|
- // Reference: KDE implementation
|
||||||
|
- // https://github.com/KDE/plasma-integration/blob/master/src/platformtheme/kdeplatformfiledialoghelper.cpp
|
||||||
|
- dlg_->windowHandle()->setTransientParent(parent);
|
||||||
|
-
|
||||||
|
- applyOptions();
|
||||||
|
-
|
||||||
|
- loadSettings();
|
||||||
|
- // central positioning with respect to the parent window
|
||||||
|
- if(parent && parent->isVisible()) {
|
||||||
|
- dlg_->move(parent->x() + (parent->width() - dlg_->width()) / 2,
|
||||||
|
- parent->y() + (parent->height() - dlg_->height()) / 2);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- // NOTE: the timer here is required as a workaround borrowed from KDE. Without this, the dialog UI will be blocked.
|
||||||
|
- // QFileDialog calls our platform plugin to show our own native file dialog instead of showing its widget.
|
||||||
|
- // However, it still creates a hidden dialog internally, and then make it modal.
|
||||||
|
- // So user input from all other windows that are not the children of the QFileDialog widget will be blocked.
|
||||||
|
- // This includes our own dialog. After the return of this show() method, QFileDialog creates its own window and
|
||||||
|
- // then make it modal, which blocks our UI. The timer schedule a delayed popup of our file dialog, so we can
|
||||||
|
- // show again after QFileDialog and override the modal state. Then our UI can be unblocked.
|
||||||
|
- QTimer::singleShot(0, dlg_.get(), &QDialog::show);
|
||||||
|
- dlg_->setFocus();
|
||||||
|
- return true;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::hide() {
|
||||||
|
- dlg_->hide();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-bool LXQtFileDialogHelper::defaultNameFilterDisables() const {
|
||||||
|
- return false;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::setDirectory(const QUrl& directory) {
|
||||||
|
- dlg_->setDirectory(directory);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-QUrl LXQtFileDialogHelper::directory() const {
|
||||||
|
- return dlg_->directory();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::selectFile(const QUrl& filename) {
|
||||||
|
- dlg_->selectFile(filename);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-QList<QUrl> LXQtFileDialogHelper::selectedFiles() const {
|
||||||
|
- return dlg_->selectedFiles();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::setFilter() {
|
||||||
|
- // FIXME: what's this?
|
||||||
|
- // The gtk+ 3 file dialog helper in Qt5 update options in this method.
|
||||||
|
- applyOptions();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::selectNameFilter(const QString& filter) {
|
||||||
|
- dlg_->selectNameFilter(filter);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
|
||||||
|
-QString LXQtFileDialogHelper::selectedMimeTypeFilter() const {
|
||||||
|
- return dlg_->selectedMimeTypeFilter();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::selectMimeTypeFilter(const QString& filter) {
|
||||||
|
- dlg_->selectMimeTypeFilter(filter);
|
||||||
|
-}
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
-QString LXQtFileDialogHelper::selectedNameFilter() const {
|
||||||
|
- return dlg_->selectedNameFilter();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-bool LXQtFileDialogHelper::isSupportedUrl(const QUrl& url) const {
|
||||||
|
- return dlg_->isSupportedUrl(url);
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::applyOptions() {
|
||||||
|
- auto& opt = options();
|
||||||
|
-
|
||||||
|
- // set title
|
||||||
|
- if(opt->windowTitle().isEmpty()) {
|
||||||
|
- dlg_->setWindowTitle(opt->acceptMode() == QFileDialogOptions::AcceptOpen ? tr("Open File")
|
||||||
|
- : tr("Save File"));
|
||||||
|
- }
|
||||||
|
- else {
|
||||||
|
- dlg_->setWindowTitle(opt->windowTitle());
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- dlg_->setFilter(opt->filter());
|
||||||
|
- dlg_->setFileMode(QFileDialog::FileMode(opt->fileMode()));
|
||||||
|
- dlg_->setAcceptMode(QFileDialog::AcceptMode(opt->acceptMode())); // also sets a default label for accept button
|
||||||
|
- // bool useDefaultNameFilters() const;
|
||||||
|
- dlg_->setNameFilters(opt->nameFilters());
|
||||||
|
- if(!opt->mimeTypeFilters().empty()) {
|
||||||
|
- dlg_->setMimeTypeFilters(opt->mimeTypeFilters());
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- dlg_->setDefaultSuffix(opt->defaultSuffix());
|
||||||
|
- // QStringList history() const;
|
||||||
|
-
|
||||||
|
- // explicitly set labels
|
||||||
|
- for(int i = 0; i < QFileDialogOptions::DialogLabelCount; ++i) {
|
||||||
|
- auto label = static_cast<QFileDialogOptions::DialogLabel>(i);
|
||||||
|
- if(opt->isLabelExplicitlySet(label)) {
|
||||||
|
- dlg_->setLabelText(static_cast<QFileDialog::DialogLabel>(label), opt->labelText(label));
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
- auto url = opt->initialDirectory();
|
||||||
|
- if(url.isValid()) {
|
||||||
|
- dlg_->setDirectory(url);
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
|
||||||
|
- auto filter = opt->initiallySelectedMimeTypeFilter();
|
||||||
|
- if(!filter.isEmpty()) {
|
||||||
|
- selectMimeTypeFilter(filter);
|
||||||
|
- }
|
||||||
|
- else {
|
||||||
|
- filter = opt->initiallySelectedNameFilter();
|
||||||
|
- if(!filter.isEmpty()) {
|
||||||
|
- selectNameFilter(opt->initiallySelectedNameFilter());
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-#else
|
||||||
|
- auto filter = opt->initiallySelectedNameFilter();
|
||||||
|
- if(!filter.isEmpty()) {
|
||||||
|
- selectNameFilter(filter);
|
||||||
|
- }
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
- auto selectedFiles = opt->initiallySelectedFiles();
|
||||||
|
- for(const auto& selectedFile: selectedFiles) {
|
||||||
|
- selectFile(selectedFile);
|
||||||
|
- }
|
||||||
|
- // QStringList supportedSchemes() const;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-static const QString viewModeToString(Fm::FolderView::ViewMode value) {
|
||||||
|
- QString ret;
|
||||||
|
- switch(value) {
|
||||||
|
- case Fm::FolderView::DetailedListMode:
|
||||||
|
- default:
|
||||||
|
- ret = QLatin1String("Detailed");
|
||||||
|
- break;
|
||||||
|
- case Fm::FolderView::CompactMode:
|
||||||
|
- ret = QLatin1String("Compact");
|
||||||
|
- break;
|
||||||
|
- case Fm::FolderView::IconMode:
|
||||||
|
- ret = QLatin1String("Icon");
|
||||||
|
- break;
|
||||||
|
- case Fm::FolderView::ThumbnailMode:
|
||||||
|
- ret = QLatin1String("Thumbnail");
|
||||||
|
- break;
|
||||||
|
- }
|
||||||
|
- return ret;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-Fm::FolderView::ViewMode viewModeFromString(const QString& str) {
|
||||||
|
- Fm::FolderView::ViewMode ret;
|
||||||
|
- if(str == QLatin1String("Detailed")) {
|
||||||
|
- ret = Fm::FolderView::DetailedListMode;
|
||||||
|
- }
|
||||||
|
- else if(str == QLatin1String("Compact")) {
|
||||||
|
- ret = Fm::FolderView::CompactMode;
|
||||||
|
- }
|
||||||
|
- else if(str == QLatin1String("Icon")) {
|
||||||
|
- ret = Fm::FolderView::IconMode;
|
||||||
|
- }
|
||||||
|
- else if(str == QLatin1String("Thumbnail")) {
|
||||||
|
- ret = Fm::FolderView::ThumbnailMode;
|
||||||
|
- }
|
||||||
|
- else {
|
||||||
|
- ret = Fm::FolderView::DetailedListMode;
|
||||||
|
- }
|
||||||
|
- return ret;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::loadSettings() {
|
||||||
|
- QSettings settings(QSettings::UserScope, "lxqt", "filedialog");
|
||||||
|
- settings.beginGroup ("Sizes");
|
||||||
|
- dlg_->resize(settings.value("WindowSize", QSize(700, 500)).toSize());
|
||||||
|
- dlg_->setSplitterPos(settings.value("SplitterPos", 200).toInt());
|
||||||
|
- settings.endGroup();
|
||||||
|
-
|
||||||
|
- settings.beginGroup ("View");
|
||||||
|
- dlg_->setViewMode(viewModeFromString(settings.value("Mode", "Detailed").toString()));
|
||||||
|
- settings.endGroup();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-void LXQtFileDialogHelper::saveSettings() {
|
||||||
|
- QSettings settings(QSettings::UserScope, "lxqt", "filedialog");
|
||||||
|
- settings.beginGroup ("Sizes");
|
||||||
|
- QSize windowSize = dlg_->size();
|
||||||
|
- if(settings.value("WindowSize") != windowSize) { // no redundant write
|
||||||
|
- settings.setValue("WindowSize", windowSize);
|
||||||
|
- }
|
||||||
|
- int splitterPos = dlg_->splitterPos();
|
||||||
|
- if(settings.value("SplitterPos") != splitterPos) {
|
||||||
|
- settings.setValue("SplitterPos", splitterPos);
|
||||||
|
- }
|
||||||
|
- settings.endGroup();
|
||||||
|
-
|
||||||
|
- settings.beginGroup ("View");
|
||||||
|
- QString mode = viewModeToString(dlg_->viewMode());
|
||||||
|
- if(settings.value("Mode") != mode) {
|
||||||
|
- settings.setValue("Mode", mode);
|
||||||
|
- }
|
||||||
|
- settings.endGroup();
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-/*
|
||||||
|
-FileDialogPlugin::FileDialogPlugin() {
|
||||||
|
-
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-QPlatformFileDialogHelper *FileDialogPlugin::createHelper() {
|
||||||
|
- return new LXQtFileDialogHelper();
|
||||||
|
-}
|
||||||
|
-*/
|
||||||
|
--- a/src/lxqtfiledialoghelper.h
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,50 +0,0 @@
|
||||||
|
-#ifndef LXQTFILEDIALOGHELPER_H
|
||||||
|
-#define LXQTFILEDIALOGHELPER_H
|
||||||
|
-
|
||||||
|
-#include <qpa/qplatformdialoghelper.h> // this private header is subject to changes
|
||||||
|
-#include <memory>
|
||||||
|
-
|
||||||
|
-namespace Fm {
|
||||||
|
-class FileDialog;
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
-class Q_GUI_EXPORT LXQtFileDialogHelper : public QPlatformFileDialogHelper {
|
||||||
|
- Q_OBJECT
|
||||||
|
-
|
||||||
|
-public:
|
||||||
|
- LXQtFileDialogHelper();
|
||||||
|
-
|
||||||
|
- virtual ~LXQtFileDialogHelper();
|
||||||
|
-
|
||||||
|
- // QPlatformDialogHelper
|
||||||
|
- void exec() override;
|
||||||
|
- bool show(Qt::WindowFlags windowFlags, Qt::WindowModality windowModality, QWindow *parent) override;
|
||||||
|
- void hide() override;
|
||||||
|
-
|
||||||
|
- // QPlatformFileDialogHelper
|
||||||
|
- bool defaultNameFilterDisables() const override;
|
||||||
|
- void setDirectory(const QUrl &directory) override;
|
||||||
|
- QUrl directory() const override;
|
||||||
|
- void selectFile(const QUrl &filename) override;
|
||||||
|
- QList<QUrl> selectedFiles() const override;
|
||||||
|
- void setFilter() override;
|
||||||
|
- void selectNameFilter(const QString &filter) override;
|
||||||
|
-#if QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)
|
||||||
|
- QString selectedMimeTypeFilter() const override;
|
||||||
|
- void selectMimeTypeFilter(const QString &filter) override;
|
||||||
|
-#endif
|
||||||
|
- QString selectedNameFilter() const override;
|
||||||
|
-
|
||||||
|
- bool isSupportedUrl(const QUrl &url) const override;
|
||||||
|
-
|
||||||
|
-private:
|
||||||
|
- void applyOptions();
|
||||||
|
- void loadSettings();
|
||||||
|
- void saveSettings();
|
||||||
|
-
|
||||||
|
-private:
|
||||||
|
- std::unique_ptr<Fm::FileDialog> dlg_;
|
||||||
|
-};
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-#endif // LXQTFILEDIALOGHELPER_H
|
||||||
|
--- a/src/lxqtplatformtheme.cpp
|
||||||
|
+++ b/src/lxqtplatformtheme.cpp
|
||||||
|
@@ -45,8 +45,14 @@
|
||||||
|
#include <QFileSystemWatcher>
|
||||||
|
#include <QStyle>
|
||||||
|
#include <private/xdgiconloader/xdgiconloader_p.h>
|
||||||
|
+#include <QLibrary>
|
||||||
|
+
|
||||||
|
+
|
||||||
|
+// Function to create a new Fm::FileDialogHelper object.
|
||||||
|
+// This is dynamically loaded at runtime on demand from libfm-qt.
|
||||||
|
+typedef QPlatformDialogHelper* (*CreateFileDialogHelperFunc)();
|
||||||
|
+static CreateFileDialogHelperFunc createFileDialogHelper = nullptr;
|
||||||
|
|
||||||
|
-#include "lxqtfiledialoghelper.h"
|
||||||
|
|
||||||
|
LXQtPlatformTheme::LXQtPlatformTheme():
|
||||||
|
iconFollowColorScheme_(true)
|
||||||
|
@@ -222,8 +228,32 @@ bool LXQtPlatformTheme::usePlatformNativ
|
||||||
|
QPlatformDialogHelper *LXQtPlatformTheme::createPlatformDialogHelper(DialogType type) const {
|
||||||
|
if(type == FileDialog
|
||||||
|
&& qobject_cast<QApplication *>(QCoreApplication::instance())) { // QML may not have qApp
|
||||||
|
- // use our own file dialog
|
||||||
|
- return new LXQtFileDialogHelper();
|
||||||
|
+ // use our own file dialog provided by libfm
|
||||||
|
+
|
||||||
|
+ // When a process has this environment set, that means glib event loop integration is disabled.
|
||||||
|
+ // In this case, libfm-qt just won't work. So let's disable the file dialog helper and return nullptr.
|
||||||
|
+ if(qgetenv("QT_NO_GLIB") == "1") {
|
||||||
|
+ return nullptr;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // The createFileDialogHelper() method is dynamically loaded from libfm-qt on demand
|
||||||
|
+ if(createFileDialogHelper == nullptr) {
|
||||||
|
+ // try to dynamically load libfm-qt.so
|
||||||
|
+ QLibrary libfmQtLibrary{"libfm-qt"};
|
||||||
|
+ libfmQtLibrary.load();
|
||||||
|
+ if(!libfmQtLibrary.isLoaded()) {
|
||||||
|
+ return nullptr;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // try to resolve the symbol to get the function pointer
|
||||||
|
+ createFileDialogHelper = reinterpret_cast<CreateFileDialogHelperFunc>(libfmQtLibrary.resolve("createFileDialogHelper"));
|
||||||
|
+ if(!createFileDialogHelper) {
|
||||||
|
+ return nullptr;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ // create a new file dialog helper provided by libfm
|
||||||
|
+ return createFileDialogHelper();
|
||||||
|
}
|
||||||
|
return nullptr;
|
||||||
|
}
|
@ -0,0 +1 @@
|
|||||||
|
dynamically-load-file-dialog.patch
|
@ -1 +1,2 @@
|
|||||||
tar-ignore=.gitignore
|
tar-ignore=.gitignore
|
||||||
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
Name: lxqt-qtplugin
|
|
||||||
Bug-Database: https://github.com/lxqt/lxqt-qtplugin/issues
|
|
||||||
Bug-Submit: https://github.com/lxqt/lxqt-qtplugin/issues/new
|
|
||||||
Changelog: https://github.com/lxqt/lxqt-qtplugin/blob/master/CHANGELOG
|
|
||||||
Repository: https://github.com/lxqt/lxqt-qtplugin
|
|
@ -1,52 +1,50 @@
|
|||||||
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
-----BEGIN PGP PUBLIC KEY BLOCK-----
|
||||||
|
|
||||||
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
|
=h7ww
|
||||||
sw==
|
|
||||||
=gSIv
|
|
||||||
-----END PGP PUBLIC KEY BLOCK-----
|
-----END PGP PUBLIC KEY BLOCK-----
|
||||||
|
@ -1,5 +1,3 @@
|
|||||||
version=4
|
version=4
|
||||||
opts="searchmode=plain, \
|
opts="pgpsigurlmangle=s/$/.asc/" \
|
||||||
pgpsigurlmangle=s/$/.asc/, \
|
https://github.com/lxde/lxqt-qtplugin/releases .*/lxqt-qtplugin-([\d\.]+).tar.xz
|
||||||
uversionmangle=s/(\d+\.\d+\.\d+).*/$1/" \
|
|
||||||
https://api.github.com/repos/lxqt/@PACKAGE@/releases https:\/\/github.com\/lxqt\/@PACKAGE@\/releases\/download\/@ANY_VERSION@\/@PACKAGE@-@ANY_VERSION@.tar.xz
|
|
||||||
|
Loading…
Reference in new issue