diff --git a/qgnomeplatform-upstream-fixes.patch b/qgnomeplatform-upstream-fixes.patch deleted file mode 100644 index e8b0e14..0000000 --- a/qgnomeplatform-upstream-fixes.patch +++ /dev/null @@ -1,576 +0,0 @@ -diff --git a/common/common.pro b/common/common.pro -index c244613..99bb9e3 100644 ---- a/common/common.pro -+++ b/common/common.pro -@@ -8,7 +8,6 @@ CONFIG += c++11 \ - QT += core \ - dbus \ - theme_support-private \ -- x11extras \ - widgets - - PKGCONFIG += gtk+-3.0 \ -diff --git a/common/gnomehintssettings.cpp b/common/gnomehintssettings.cpp -index 4cc19b2..8a3b980 100644 ---- a/common/gnomehintssettings.cpp -+++ b/common/gnomehintssettings.cpp -@@ -36,8 +36,6 @@ - #include - #include - --#include -- - Q_LOGGING_CATEGORY(QGnomePlatform, "qt.qpa.qgnomeplatform") - - const QDBusArgument &operator>>(const QDBusArgument &argument, QMap &map) -@@ -135,7 +133,7 @@ GnomeHintsSettings::GnomeHintsSettings() - QStringLiteral("SettingChanged"), this, SLOT(portalSettingChanged(QString,QString,QDBusVariant))); - } - -- if (!QX11Info::isPlatformX11()) -+ if (QGuiApplication::platformName() != QStringLiteral("xcb")) - cursorSizeChanged(); - - loadFonts(); -@@ -172,7 +170,7 @@ void GnomeHintsSettings::gsettingPropertyChanged(GSettings *settings, gchar *key - } else if (changedProperty == QStringLiteral("monospace-font-name")) { - gnomeHintsSettings->fontChanged(); - } else if (changedProperty == QStringLiteral("cursor-size")) { -- if (!QX11Info::isPlatformX11()) -+ if (QGuiApplication::platformName() != QStringLiteral("xcb")) - gnomeHintsSettings->cursorSizeChanged(); - // Org.gnome.wm.preferences - } else if (changedProperty == QStringLiteral("titlebar-font")) { -@@ -359,7 +357,7 @@ void GnomeHintsSettings::loadFonts() - bool bold = false; - int fontSize; - QString name; -- QRegExp re("(.+)[ \t]+([0-9]+)"); -+ QRegExp re("^([^,]+)[, \t]+([0-9]+)$"); - if (re.indexIn(fontName) == 0) { - fontSize = re.cap(2).toInt(); - name = re.cap(1); -diff --git a/common/gnomehintssettings.h b/common/gnomehintssettings.h -index 46580ff..2bce415 100644 ---- a/common/gnomehintssettings.h -+++ b/common/gnomehintssettings.h -@@ -24,8 +24,10 @@ - #include - #include - #include -+#include - #include - -+#include - #include - - #undef signals -@@ -36,7 +38,6 @@ - - #include - -- - class GnomeHintsSettings : public QObject - { - Q_OBJECT -@@ -56,6 +57,73 @@ public: - explicit GnomeHintsSettings(); - virtual ~GnomeHintsSettings(); - -+ // Borrowed from the KColorUtils code -+ static QColor mix(const QColor &c1, const QColor &c2, qreal bias = 0.5) -+ { -+ auto mixQreal = [](qreal a, qreal b, qreal bias) { -+ return a + (b - a) * bias; -+ }; -+ -+ if (bias <= 0.0) -+ return c1; -+ if (bias >= 1.0) -+ return c2; -+ if (std::isnan(bias)) -+ return c1; -+ -+ qreal r = mixQreal(c1.redF(), c2.redF(), bias); -+ qreal g = mixQreal(c1.greenF(), c2.greenF(), bias); -+ qreal b = mixQreal(c1.blueF(), c2.blueF(), bias); -+ qreal a = mixQreal(c1.alphaF(), c2.alphaF(), bias); -+ -+ return QColor::fromRgbF(r, g, b, a); -+ } -+ -+ static QColor lighten(const QColor &color, qreal amount = 0.1) -+ { -+ qreal h, s, l, a; -+ color.getHslF(&h, &s, &l, &a); -+ -+ qreal lightness = l + amount; -+ if (lightness > 1) -+ lightness = 1; -+ return QColor::fromHslF(h, s, lightness, a); -+ } -+ -+ static QColor darken(const QColor &color, qreal amount = 0.1) -+ { -+ qreal h, s, l, a; -+ color.getHslF(&h, &s, &l, &a); -+ -+ qreal lightness = l - amount; -+ if (lightness < 0) -+ lightness = 0; -+ -+ return QColor::fromHslF(h, s, lightness, a); -+ } -+ -+ static QColor desaturate(const QColor &color, qreal amount = 0.1) -+ { -+ qreal h, s, l, a; -+ color.getHslF(&h, &s, &l, &a); -+ -+ qreal saturation = s - amount; -+ if (saturation < 0) -+ saturation = 0; -+ return QColor::fromHslF(h, saturation, l, a); -+ } -+ -+ static QColor transparentize(const QColor &color, qreal amount = 0.1) -+ { -+ qreal h, s, l, a; -+ color.getHslF(&h, &s, &l, &a); -+ -+ qreal alpha = a - amount; -+ if (alpha < 0) -+ alpha = 0; -+ return QColor::fromHslF(h, s, l, alpha); -+ } -+ - inline QFont * font(QPlatformTheme::Font type) const - { - if (m_fonts.contains(type)) { -@@ -68,6 +136,198 @@ public: - } - } - -+ inline QPalette * palette() const -+ { -+ QPalette *palette = new QPalette; -+ -+ if (m_gtkThemeDarkVariant) { -+ // Colors defined in GTK adwaita style in _colors.scss -+ QColor base_color = lighten(desaturate(QColor("#241f31"), 1.0), 0.02); -+ QColor text_color = QColor("white"); -+ QColor bg_color = darken(desaturate(QColor("#3d3846"), 1.0), 0.04); -+ QColor fg_color = QColor("#eeeeec"); -+ QColor selected_bg_color = darken(QColor("#3584e4"), 0.2); -+ QColor selected_fg_color = QColor("white"); -+ QColor osd_text_color = QColor("white"); -+ QColor osd_bg_color = QColor("black"); -+ QColor shadow = transparentize(QColor("black"), 0.9); -+ -+ QColor backdrop_fg_color = mix(fg_color, bg_color); -+ QColor backdrop_base_color = lighten(base_color, 0.01); -+ QColor backdrop_selected_fg_color = mix(text_color, backdrop_base_color, 0.2); -+ -+ // This is the color we use as initial color for the gradient in normal state -+ // Defined in _drawing.scss button(normal) -+ QColor button_base_color = darken(bg_color, 0.01); -+ -+ QColor link_color = lighten(selected_bg_color, 0.2); -+ QColor link_visited_color = lighten(selected_bg_color, 0.1); -+ -+ palette->setColor(QPalette::All, QPalette::Window, bg_color); -+ palette->setColor(QPalette::All, QPalette::WindowText, fg_color); -+ palette->setColor(QPalette::All, QPalette::Base, base_color); -+ palette->setColor(QPalette::All, QPalette::AlternateBase, base_color); -+ palette->setColor(QPalette::All, QPalette::ToolTipBase, osd_bg_color); -+ palette->setColor(QPalette::All, QPalette::ToolTipText, osd_text_color); -+ palette->setColor(QPalette::All, QPalette::Text, fg_color); -+ palette->setColor(QPalette::All, QPalette::Button, button_base_color); -+ palette->setColor(QPalette::All, QPalette::ButtonText, fg_color); -+ palette->setColor(QPalette::All, QPalette::BrightText, text_color); -+ -+ palette->setColor(QPalette::All, QPalette::Light, lighten(button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Midlight, mix(lighten(button_base_color), button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Mid, mix(darken(button_base_color), button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Dark, darken(button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Shadow, shadow); -+ -+ palette->setColor(QPalette::All, QPalette::Highlight, selected_bg_color); -+ palette->setColor(QPalette::All, QPalette::HighlightedText, selected_fg_color); -+ -+ palette->setColor(QPalette::All, QPalette::Link, link_color); -+ palette->setColor(QPalette::All, QPalette::LinkVisited, link_visited_color); -+ -+ -+ QColor insensitive_fg_color = mix(fg_color, bg_color); -+ QColor insensitive_bg_color = mix(bg_color, base_color, 0.4); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Window, insensitive_bg_color); -+ palette->setColor(QPalette::Disabled, QPalette::WindowText, insensitive_fg_color); -+ palette->setColor(QPalette::Disabled, QPalette::Base, base_color); -+ palette->setColor(QPalette::Disabled, QPalette::AlternateBase, base_color); -+ palette->setColor(QPalette::Disabled, QPalette::Text, insensitive_fg_color); -+ palette->setColor(QPalette::Disabled, QPalette::Button, insensitive_bg_color); -+ palette->setColor(QPalette::Disabled, QPalette::ButtonText, insensitive_fg_color); -+ palette->setColor(QPalette::Disabled, QPalette::BrightText, text_color); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Light, lighten(insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Midlight, mix(lighten(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Mid, mix(darken(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Dark, darken(insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Shadow, shadow); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Highlight, selected_bg_color); -+ palette->setColor(QPalette::Disabled, QPalette::HighlightedText, selected_fg_color); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Link, link_color); -+ palette->setColor(QPalette::Disabled, QPalette::LinkVisited, link_visited_color); -+ -+ -+ palette->setColor(QPalette::Inactive, QPalette::Window, bg_color); -+ palette->setColor(QPalette::Inactive, QPalette::WindowText, backdrop_fg_color); -+ palette->setColor(QPalette::Inactive, QPalette::Base, backdrop_base_color); -+ palette->setColor(QPalette::Inactive, QPalette::AlternateBase, backdrop_base_color); -+ palette->setColor(QPalette::Inactive, QPalette::Text, backdrop_fg_color); -+ palette->setColor(QPalette::Inactive, QPalette::Button, button_base_color); -+ palette->setColor(QPalette::Inactive, QPalette::ButtonText, backdrop_fg_color); -+ palette->setColor(QPalette::Inactive, QPalette::BrightText, text_color); -+ -+ palette->setColor(QPalette::Inactive, QPalette::Light, lighten(insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Midlight, mix(lighten(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Mid, mix(darken(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Dark, darken(insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Shadow, shadow); -+ -+ palette->setColor(QPalette::Inactive, QPalette::Highlight, selected_bg_color); -+ palette->setColor(QPalette::Inactive, QPalette::HighlightedText, backdrop_selected_fg_color); -+ -+ palette->setColor(QPalette::Inactive, QPalette::Link, link_color); -+ palette->setColor(QPalette::Inactive, QPalette::LinkVisited, link_visited_color); -+ } else { -+ // Colors defined in GTK adwaita style in _colors.scss -+ QColor base_color = QColor("white"); -+ QColor text_color = QColor("black"); -+ QColor bg_color = QColor("#f6f5f4"); -+ QColor fg_color = QColor("#2e3436"); -+ QColor selected_bg_color = QColor("#3584e4"); -+ QColor selected_fg_color = QColor("white"); -+ QColor osd_text_color = QColor("white"); -+ QColor osd_bg_color = QColor("black"); -+ QColor shadow = transparentize(QColor("black"), 0.9); -+ -+ QColor backdrop_fg_color = mix(fg_color, bg_color); -+ QColor backdrop_base_color = darken(base_color, 0.01); -+ QColor backdrop_selected_fg_color = backdrop_base_color; -+ -+ // This is the color we use as initial color for the gradient in normal state -+ // Defined in _drawing.scss button(normal) -+ QColor button_base_color = darken(bg_color, 0.04); -+ -+ QColor link_color = darken(selected_bg_color, 0.1); -+ QColor link_visited_color = darken(selected_bg_color, 0.2); -+ -+ palette->setColor(QPalette::All, QPalette::Window, bg_color); -+ palette->setColor(QPalette::All, QPalette::WindowText, fg_color); -+ palette->setColor(QPalette::All, QPalette::Base, base_color); -+ palette->setColor(QPalette::All, QPalette::AlternateBase, base_color); -+ palette->setColor(QPalette::All, QPalette::ToolTipBase, osd_bg_color); -+ palette->setColor(QPalette::All, QPalette::ToolTipText, osd_text_color); -+ palette->setColor(QPalette::All, QPalette::Text, fg_color); -+ palette->setColor(QPalette::All, QPalette::Button, button_base_color); -+ palette->setColor(QPalette::All, QPalette::ButtonText, fg_color); -+ palette->setColor(QPalette::All, QPalette::BrightText, text_color); -+ -+ palette->setColor(QPalette::All, QPalette::Light, lighten(button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Midlight, mix(lighten(button_base_color), button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Mid, mix(darken(button_base_color), button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Dark, darken(button_base_color)); -+ palette->setColor(QPalette::All, QPalette::Shadow, shadow); -+ -+ palette->setColor(QPalette::All, QPalette::Highlight, selected_bg_color); -+ palette->setColor(QPalette::All, QPalette::HighlightedText, selected_fg_color); -+ -+ palette->setColor(QPalette::All, QPalette::Link, link_color); -+ palette->setColor(QPalette::All, QPalette::LinkVisited, link_visited_color); -+ -+ QColor insensitive_fg_color = mix(fg_color, bg_color); -+ QColor insensitive_bg_color = mix(bg_color, base_color, 0.4); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Window, insensitive_bg_color); -+ palette->setColor(QPalette::Disabled, QPalette::WindowText, insensitive_fg_color); -+ palette->setColor(QPalette::Disabled, QPalette::Base, base_color); -+ palette->setColor(QPalette::Disabled, QPalette::AlternateBase, base_color); -+ palette->setColor(QPalette::Disabled, QPalette::Text, insensitive_fg_color); -+ palette->setColor(QPalette::Disabled, QPalette::Button, insensitive_bg_color); -+ palette->setColor(QPalette::Disabled, QPalette::ButtonText, insensitive_fg_color); -+ palette->setColor(QPalette::Disabled, QPalette::BrightText, text_color); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Light, lighten(insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Midlight, mix(lighten(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Mid, mix(darken(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Dark, darken(insensitive_bg_color)); -+ palette->setColor(QPalette::Disabled, QPalette::Shadow, shadow); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Highlight, selected_bg_color); -+ palette->setColor(QPalette::Disabled, QPalette::HighlightedText, selected_fg_color); -+ -+ palette->setColor(QPalette::Disabled, QPalette::Link, link_color); -+ palette->setColor(QPalette::Disabled, QPalette::LinkVisited, link_visited_color); -+ -+ -+ palette->setColor(QPalette::Inactive, QPalette::Window, bg_color); -+ palette->setColor(QPalette::Inactive, QPalette::WindowText, backdrop_fg_color); -+ palette->setColor(QPalette::Inactive, QPalette::Base, backdrop_base_color); -+ palette->setColor(QPalette::Inactive, QPalette::AlternateBase, backdrop_base_color); -+ palette->setColor(QPalette::Inactive, QPalette::Text, backdrop_fg_color); -+ palette->setColor(QPalette::Inactive, QPalette::Button, button_base_color); -+ palette->setColor(QPalette::Inactive, QPalette::ButtonText, backdrop_fg_color); -+ palette->setColor(QPalette::Inactive, QPalette::BrightText, text_color); -+ -+ palette->setColor(QPalette::Inactive, QPalette::Light, lighten(insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Midlight, mix(lighten(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Mid, mix(darken(insensitive_bg_color), insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Dark, darken(insensitive_bg_color)); -+ palette->setColor(QPalette::Inactive, QPalette::Shadow, shadow); -+ -+ palette->setColor(QPalette::Inactive, QPalette::Highlight, selected_bg_color); -+ palette->setColor(QPalette::Inactive, QPalette::HighlightedText, backdrop_selected_fg_color); -+ -+ palette->setColor(QPalette::Inactive, QPalette::Link, link_color); -+ palette->setColor(QPalette::Inactive, QPalette::LinkVisited, link_visited_color); -+ } -+ -+ return palette; -+ } -+ - inline bool gtkThemeDarkVariant() const - { - return m_gtkThemeDarkVariant; -diff --git a/common/qgtk3dialoghelpers.cpp b/common/qgtk3dialoghelpers.cpp -index f4bf372..a33d0d1 100644 ---- a/common/qgtk3dialoghelpers.cpp -+++ b/common/qgtk3dialoghelpers.cpp -@@ -87,24 +87,18 @@ Q_SIGNALS: - - protected: - static void onResponse(QGtk3Dialog *dialog, int response); -- static void onUpdatePreview(QGtk3Dialog *dialog); - - private slots: - void onParentWindowDestroyed(); - - private: - GtkWidget *gtkWidget; -- GtkWidget *previewWidget; - }; - - QGtk3Dialog::QGtk3Dialog(GtkWidget *gtkWidget) : gtkWidget(gtkWidget) - { - g_signal_connect_swapped(G_OBJECT(gtkWidget), "response", G_CALLBACK(onResponse), this); - g_signal_connect(G_OBJECT(gtkWidget), "delete-event", G_CALLBACK(gtk_widget_hide_on_delete), NULL); -- -- previewWidget = gtk_image_new(); -- g_signal_connect_swapped(G_OBJECT(gtkWidget), "update-preview", G_CALLBACK(onUpdatePreview), this); -- gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(gtkWidget), previewWidget); - } - - QGtk3Dialog::~QGtk3Dialog() -@@ -180,32 +174,6 @@ void QGtk3Dialog::onResponse(QGtk3Dialog *dialog, int response) - emit dialog->reject(); - } - --void QGtk3Dialog::onUpdatePreview(QGtk3Dialog *dialog) { -- gchar *filename = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(dialog->gtkWidget)); -- if (!filename) { -- gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(dialog->gtkWidget), false); -- return; -- } -- -- // Don't attempt to open anything which isn't a regular file. If a named pipe, -- // this may hang. See https://crbug.com/534754. -- QFileInfo fileinfo(filename); -- if (!fileinfo.exists() || !fileinfo.isFile()) { -- g_free(filename); -- gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(dialog->gtkWidget), false); -- return; -- } -- -- // This will preserve the image's aspect ratio. -- GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(filename, PREVIEW_WIDTH, PREVIEW_HEIGHT, 0); -- g_free(filename); -- if (pixbuf) { -- gtk_image_set_from_pixbuf(GTK_IMAGE(dialog->previewWidget), pixbuf); -- g_object_unref(pixbuf); -- } -- gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(dialog->gtkWidget), pixbuf ? true : false); --} -- - void QGtk3Dialog::onParentWindowDestroyed() - { - // The QGtk3*DialogHelper classes own this object. Make sure the parent doesn't delete it. -@@ -293,12 +261,21 @@ QGtk3FileDialogHelper::QGtk3FileDialogHelper() - - g_signal_connect(GTK_FILE_CHOOSER(d->gtkDialog()), "selection-changed", G_CALLBACK(onSelectionChanged), this); - g_signal_connect_swapped(GTK_FILE_CHOOSER(d->gtkDialog()), "current-folder-changed", G_CALLBACK(onCurrentFolderChanged), this); -+ -+ previewWidget = gtk_image_new(); -+ g_signal_connect(G_OBJECT(d->gtkDialog()), "update-preview", G_CALLBACK(onUpdatePreview), this); -+ gtk_file_chooser_set_preview_widget(GTK_FILE_CHOOSER(d->gtkDialog()), previewWidget); - } - - QGtk3FileDialogHelper::~QGtk3FileDialogHelper() - { - } - -+GtkImage *QGtk3FileDialogHelper::previewImage() const -+{ -+ return GTK_IMAGE(previewWidget); -+} -+ - bool QGtk3FileDialogHelper::show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) - { - _dir.clear(); -@@ -435,6 +412,33 @@ void QGtk3FileDialogHelper::onCurrentFolderChanged(QGtk3FileDialogHelper *dialog - emit dialog->directoryEntered(dialog->directory()); - } - -+void QGtk3FileDialogHelper::onUpdatePreview(GtkDialog *gtkDialog, QGtk3FileDialogHelper *helper) -+{ -+ gchar *filename = gtk_file_chooser_get_preview_filename(GTK_FILE_CHOOSER(gtkDialog)); -+ if (!filename) { -+ gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(gtkDialog), false); -+ return; -+ } -+ -+ // Don't attempt to open anything which isn't a regular file. If a named pipe, -+ // this may hang. See https://crbug.com/534754. -+ QFileInfo fileinfo(filename); -+ if (!fileinfo.exists() || !fileinfo.isFile()) { -+ g_free(filename); -+ gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(gtkDialog), false); -+ return; -+ } -+ -+ // This will preserve the image's aspect ratio. -+ GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(filename, PREVIEW_WIDTH, PREVIEW_HEIGHT, 0); -+ g_free(filename); -+ if (pixbuf) { -+ gtk_image_set_from_pixbuf(helper->previewImage(), pixbuf); -+ g_object_unref(pixbuf); -+ } -+ gtk_file_chooser_set_preview_widget_active(GTK_FILE_CHOOSER(gtkDialog), pixbuf ? true : false); -+} -+ - static GtkFileChooserAction gtkFileChooserAction(const QSharedPointer &options) - { - switch (options->fileMode()) { -diff --git a/common/qgtk3dialoghelpers.h b/common/qgtk3dialoghelpers.h -index c852fd0..d483a64 100644 ---- a/common/qgtk3dialoghelpers.h -+++ b/common/qgtk3dialoghelpers.h -@@ -47,6 +47,8 @@ - #include - #include - -+typedef struct _GtkWidget GtkWidget; -+typedef struct _GtkImage GtkImage; - typedef struct _GtkDialog GtkDialog; - typedef struct _GtkFileFilter GtkFileFilter; - -@@ -88,6 +90,8 @@ public: - QGtk3FileDialogHelper(); - ~QGtk3FileDialogHelper(); - -+ GtkImage *previewImage() const; -+ - bool show(Qt::WindowFlags flags, Qt::WindowModality modality, QWindow *parent) Q_DECL_OVERRIDE; - void exec() Q_DECL_OVERRIDE; - void hide() Q_DECL_OVERRIDE; -@@ -107,6 +111,7 @@ private Q_SLOTS: - private: - static void onSelectionChanged(GtkDialog *dialog, QGtk3FileDialogHelper *helper); - static void onCurrentFolderChanged(QGtk3FileDialogHelper *helper); -+ static void onUpdatePreview(GtkDialog *dialog, QGtk3FileDialogHelper *helper); - void applyOptions(); - void setNameFilters(const QStringList &filters); - -@@ -115,6 +120,7 @@ private: - QHash _filters; - QHash _filterNames; - QScopedPointer d; -+ GtkWidget *previewWidget; - }; - - class QGtk3FontDialogHelper : public QPlatformFontDialogHelper -diff --git a/decoration/decoration.pro b/decoration/decoration.pro -index 8f7f039..6c3bb05 100644 ---- a/decoration/decoration.pro -+++ b/decoration/decoration.pro -@@ -12,8 +12,7 @@ CONFIG += plugin \ - QT += core \ - gui \ - waylandclient-private \ -- widgets \ -- x11extras -+ widgets - - LIBS += -lcommon - -diff --git a/decoration/qgnomeplatformdecoration.cpp b/decoration/qgnomeplatformdecoration.cpp -index 61c2af9..c8b381c 100644 ---- a/decoration/qgnomeplatformdecoration.cpp -+++ b/decoration/qgnomeplatformdecoration.cpp -@@ -46,6 +46,7 @@ - #include - #include - #include -+#include - #include - #include - -diff --git a/theme/qgnomeplatformtheme.cpp b/theme/qgnomeplatformtheme.cpp -index 70dbf65..3394b3d 100644 ---- a/theme/qgnomeplatformtheme.cpp -+++ b/theme/qgnomeplatformtheme.cpp -@@ -23,8 +23,8 @@ - #include "qgtk3dialoghelpers.h" - - #include -+#include - #include --#include - - #if !defined(QT_NO_DBUS) && !defined(QT_NO_SYSTEMTRAYICON) - #include -@@ -32,7 +32,7 @@ - - QGnomePlatformTheme::QGnomePlatformTheme() - { -- if (!QX11Info::isPlatformX11()) { -+ if (QGuiApplication::platformName() != QStringLiteral("xcb")) { - if (!qEnvironmentVariableIsSet("QT_WAYLAND_DECORATION")) - qputenv("QT_WAYLAND_DECORATION", "gnome"); - } -@@ -68,7 +68,9 @@ const QFont *QGnomePlatformTheme::font(Font type) const - - const QPalette *QGnomePlatformTheme::palette(Palette type) const - { -- return QPlatformTheme::palette(type); -+ Q_UNUSED(type); -+ -+ return m_hints->palette(); - } - - bool QGnomePlatformTheme::usePlatformNativeDialog(QPlatformTheme::DialogType type) const -diff --git a/theme/theme.pro b/theme/theme.pro -index a33d3af..8a1cba7 100644 ---- a/theme/theme.pro -+++ b/theme/theme.pro -@@ -13,7 +13,6 @@ QT += core-private \ - dbus \ - gui-private \ - theme_support-private \ -- x11extras \ - widgets - - LIBS += -lcommon diff --git a/qgnomeplatform.spec b/qgnomeplatform.spec index 9502020..2676872 100644 --- a/qgnomeplatform.spec +++ b/qgnomeplatform.spec @@ -1,7 +1,7 @@ Name: qgnomeplatform -Version: 0.6.1 -Release: 3%{?dist} +Version: 0.6.90 +Release: 1%{?dist} Summary: Qt Platform Theme aimed to accommodate Gnome settings License: LGPLv2+ @@ -9,7 +9,6 @@ URL: https://github.com/MartinBriza/QGnomePlatform Source0: https://github.com/MartinBriza/QGnomePlatform/archive/%{version}/QGnomePlatform-%{version}.tar.gz # Upstream patches -Patch0: qgnomeplatform-upstream-fixes.patch BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(udev) @@ -17,13 +16,11 @@ BuildRequires: pkgconfig(xkbcommon) BuildRequires: gtk3-devel BuildRequires: libinput-devel BuildRequires: libXrender-devel -# please document if/why this is needed, FTBFS against qt-5.7.0 in rawhide obviously -- rex -#BuildRequires: qt5-qtbase-devel >= 5.6.0 qt5-qtbase-devel <= 5.6.100 -BuildRequires: qt5-qtbase-devel -BuildRequires: qt5-qtbase-static -BuildRequires: qt5-qtwayland-devel -BuildRequires: qt5-qtx11extras-devel +BuildRequires: qt5-qtbase-devel >= 5.12.0 +BuildRequires: qt5-qtbase-static >= 5.12.0 +BuildRequires: qt5-qtwayland-devel >= 5.12.0 +BuildRequires: libadwaita-qt5-devel >= 1.1.90 Requires: adwaita-qt5%{?_isa} BuildRequires: qt5-qtbase-private-devel @@ -58,6 +55,9 @@ make install INSTALL_ROOT=%{buildroot} -C %{_target_platform} %{_qt5_libdir}/qt5/plugins/wayland-decoration-client/libqgnomeplatformdecoration.so %changelog +* Wed Sep 30 2020 Jan Grulich - 0.6.90-1 +- 0.6.90 + * Fri Sep 11 2020 Jan Grulich - 0.6.1-3 - rebuild (qt5)