Commit Graph

28201 Commits

Author SHA1 Message Date
Robert Mader
77e0d83000 gtk: Properly calculate device offset for DnD
We need to take the device scale into account, like it is done in
gdkwindow.c.

This fixes wrongly placed DnD surfaces in scaled contexts on X11
as well as Wayland.
2019-09-23 11:50:05 +02:00
Matthias Clasen
ac53fed1f2 Merge branch 'BUG_tooltip_blocks_combo_GTK3' into 'gtk-3-24'
tooltips: hide tooltips before showing popups

See merge request GNOME/gtk!1084
2019-09-15 21:20:37 +00:00
Matthias Clasen
16d8ca8ad9 Merge branch 'builder-notify' into 'gtk-3-24'
Freeze notify queue when building objects

See merge request GNOME/gtk!1086
2019-09-15 15:55:43 +00:00
Matthias Clasen
f4cd637056 Merge branch 'drop-mir' into 'gtk-3-24'
Drop the mir backend

See merge request GNOME/gtk!1062
2019-09-09 20:02:02 +00:00
Emmanuele Bassi
001c0a35ce Freeze notify queue when building objects
We're potentially applying multiple properties during object
construction; we should avoid constantly notifying after setting each
one, and instead coalesce the notifications at the end. In most cases,
the calling code doesn't have access to the instance, so it won't be
able to connect to the "notify" signal anyway, but it avoids a lot of
busy work.
2019-09-04 11:14:01 +01:00
Nelson Benítez León
ce7e99ca5e tooltips: hide tooltips before showing popups
because if there's a tooltip visible then popups fail to show
with the following warning:
"Gdk-WARNING **: Tried to map a popup with a non-top most parent"

This bug affect popups of the form:
 1) popups from gtk_menu_popup_{at_widget|at_rect|for_device}()

    This can be reproduce with a normal GtkComboBox that has a
    tooltip attached (eg. via GtkBuilder 'tooltip_text' attribute).
    Also see GtkLabel reproducer from gtk3-demo mentioned in #1785

 2) custom popups created with gtk_window_new (GTK_WINDOW_POPUP)

    A reproducer that shows this case is a GtkComboBox with
    the property 'appears-as-list'[1] set to TRUE (default is FALSE).

Fixes issue #1785

[1] https://developer.gnome.org/gtk3/stable/GtkComboBox.html#GtkComboBox--s-appears-as-list
2019-09-03 20:01:20 -04:00
Matthias Clasen
3f63656630 css: Support PANGO_WEIGHT_ULTRAHEAVY
The CSS fonts spec allows values between 1 and 1000,
so we can support Pangos ultraheavy weight (= 1000).
2019-09-03 17:12:03 -04:00
Matthias Clasen
d2bd63e455 Merge branch 'mingw-iconcache-use-correct-fstat' into 'gtk-3-24'
gtkiconcache: use _fstat64 under 64bit mingw to match GStatBuf

See merge request GNOME/gtk!1067
2019-09-03 20:17:24 +00:00
Matthias Clasen
340c62ecd6 Merge branch 'issue1044' into 'gtk-3-24'
Fix resize requests being forgotten when maximizing a hidden window

See merge request GNOME/gtk!367
2019-09-03 15:43:07 +00:00
Christoph Reiter
8809fab111 gtkiconcache: use _fstat64 under 64bit mingw to match GStatBuf
With the switch to meson we no longer built with _FILE_OFFSET_BITS which
results in fstat being the 32 bit variant, not matching GStatBuf, which is
_stat64 on 64bit mingw builds.

This makes things use _fstat64 in this case, to match GStatBuf.
2019-08-26 20:13:48 +02:00
Christoph Reiter
31a57fe389 Drop the mir backend
It depends on libcontent-hub-glib which was dropped from Ubuntu in mid 2017:
https://bugs.launchpad.net/ubuntu/+source/content-hub/+bug/1712874

It was patched downstream to still build until it was disabled at the beginning
of 2018: https://launchpad.net/ubuntu/+source/gtk+3.0/3.22.28-1ubuntu3

This likely means no one has built gtk with mir in 2 years, and there is no plan
to change that, so just remove it.
2019-08-25 22:46:28 +02:00
Matthias Clasen
8f955baf93 Merge branch 'gtk-3-24' into 'gtk-3-24'
gtkprintbackend:backend_create: avoid strdup+free (3.24)

See merge request GNOME/gtk!996
2019-08-25 12:03:03 +00:00
Benjamin Otte
bc1c0584b7 a11y: Include window management buttons in headerbar 2019-08-15 13:09:07 +02:00
Nelson Benítez León
aff5c7ede6 filechooser: keep file selected after being renamed
Because otherwise when the file list is sorted "by name"
and the new name causes the file to be re-sorted to another
row, the selection stays in the old row which is now
occupied by a different file.

Fixed by keeping track of the renamed file and revealing
it in the "row-changed" signal handler, which gets emitted
after a file is renamed.

Fixes issue #948
2019-08-12 16:24:35 -04:00
Jonas Ådahl
77bc2dc87c gtk/icon-theme: Handle lack of SVG loader gracefully
When loading a SVG icon from a gresource file only containing SVG icons,
but without having a SVG loader available in gdk-pixbuf, we would crash
when trying to eventually load the resource. Fix this by gracefully
handling this by simply failing to load the icon, while the first time
it happens, log a warning.

https://gitlab.gnome.org/GNOME/gtk/issues/2084
2019-08-08 09:05:17 +02:00
Benjamin Otte
1d1059550c menu: Modernize code
No functional changes, just don't call valist functions anymore.
2019-08-07 13:32:49 +03:00
Luca Bacci
6dc2f6f026 GtkStatusIcon/w32: Also set the tooltip on taskbar_created_msg
When explorer.exe creates a taskbar it broadcasts a "TaskbarCreated"
message to all toplevels. Applications, By handling that message,
are able to re-create the icons to be displayed in the taskbar.

Explorer creates a new taskbar in two circumstances:
A) when explorer starts up
B) when the DPI of the monitor changes

A) happens either when explorer.exe is started for the first time at
   logon, or when it is restarted after being terminated.
B) happens when the user changes the DPI preference of the active
   monitor where the desktop is displayed, or if the desktop is moved
   to a monitor with different DPI.

Currently, this message is handled in Gtk and icons are re-created.
However the current implementation has a small issue in that it
doesn't set the tooltip on the new icons, so tooltips get lost
after re-creation.

The tooltip is important because Windows uses it for identification
of taskbar icons and for storing and applying user preferences. For
an explanation of that see:
https://bugzilla.gnome.org/show_bug.cgi?id=609622

With this commit the tooltip is correctly applied to new taskbar
icons when handling taskbar_created_msg.

See Merge Request !1003
2019-08-02 16:58:25 +00:00
Matthias Clasen
f26b5c8d80 Merge branch 'wip/jimmac/osd-color' into 'gtk-3-24'
Adwaita: increase opacity for OSD bg

See merge request GNOME/gtk!1040
2019-08-02 12:30:10 +00:00
Matthias Clasen
8429cf80c0 Merge branch 'reubengreen73-issue2066' into 'gtk-3-24'
Prevent Gtk-CRITICAL when unrealize-ing a GtkPaned.

See merge request GNOME/gtk!1033
2019-08-02 12:26:25 +00:00
Jakub Steiner
766662f0de Adwaita: increase opacity for OSD bg
- make text more legible.

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/2072
2019-08-02 14:17:14 +02:00
frederik.feichtmeier
147e1ad6b0 Exclude appmenu titlebuttons 2019-08-01 10:20:28 -04:00
frederik.feichtmeier
c73f2d8f22 Make titlebuttons round
- use even sides for the titlebuttons so the result is a circle and not an ellipse
- add maximum border radius
- set min width/height to 0
- adjust margin and padding to match the previous look
2019-08-01 10:09:52 -04:00
Reuben Green
0081a96cbc Prevent Gtk-CRITICAL when unrealize-ing a GtkPaned.
This commit fixes a bug (issue #2066) caused by gdk_window_set_cursor being called with a NULL pointer as its first argument during the
unrealize-ing of a GtkPaned, resulting in a Gtk-CRITICAL. The change ensures that, even if the function gtk_paned_state_flags_changed
is called on a GtkPaned while it is part way through being unrealized (as can happen, for example, if a descendant of the GtkPaned calls
gtk_clipboard_store when it is unrealize-d, see the issue report for a test case), the function gdk_window_set_cursor is not called on
the GtkPaned's priv->handle member if this pointer is NULL.

Closes #2066
Fixes #2066
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/2066
2019-07-30 18:50:59 +01:00
Jakub Steiner
e7db2a2f8b Adwaita: make links in infobars legible
- No longer tinted blue, make legible

Fixes https://gitlab.gnome.org/GNOME/gnome-software/issues/751
2019-07-29 10:03:19 +02:00
Luca Bacci
f4edfbe56f Implement choices for GtkFileChooserNativeWin32
See Merge Request !990
2019-07-29 03:58:14 +00:00
Benjamin Otte
eb71ec911c window: handle configure request when maximized/fullscreen
Commit 42b02d9d ("ignore resize increments for maximized/fullscreen")
introduced a regression which prevents window from being resized while
maximized or fullscreen.

Move the check for maximized/fullscreen where the geometry is handled
rather than ignoring the geometry info when maximized/fullscreen so that
a client issuing a "move_resize()" while maximized or fullscreen can get
the requested size when restoring the original window state.

Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1044
2019-07-26 15:51:47 +02:00
frederik.feichtmeier
410684b298 Change check and radio bg and fg color
- make use of already existing checkradio_bg/fg_color
- use the primary color blue ($selected_bg_color) for the check and radio background and white ($selected_fg_color) for the fg color
- no change to backdrop
2019-07-26 08:10:15 -04:00
Feichtmeier
ff61d74280 Tiny refactoring
- use checkradio_fg_color for check/radio in treeview, which points to fg_color, so no change of the hex color, thus no change to the parsed CSS
2019-07-26 13:49:01 +02:00
Jakub Steiner
f95f3c707a Adwaita: subtle app icon dropshadow
- make application icon dropshadow a legibility aid,
  not a strong styling choice.
2019-07-26 13:48:05 +02:00
Emmanuele Bassi
ac83787d18 Merge branch 'gtk-3-24-add-TCRYPT-options-to-ask-password-dialog' into 'gtk-3-24'
gtkmountoperation: Add TCRYPT options to the ask-password dialog

See merge request GNOME/gtk!262
2019-07-25 10:17:00 +00:00
Jeremy Tan
ff21730d8e Fix gdkconfig.h generation for GDK_WINDOWING_QUARTZ 2019-07-20 15:10:34 +08:00
segfault
6c52f76088 gtkmountoperation: Add TCRYPT options to the ask-password dialog 2019-07-18 18:27:12 +02:00
segfault
d1e07e2952 gtkmountoperation: Support TCRYPT options when using proxy handler
GMountOperation now supports options to unlock TCRYPT volumes. This
patch sets these options if they are returned by AskPassword() of a
GtkMountOperationHandlerProxy.
2019-07-18 11:52:22 +02:00
Дилян Палаузов
4bc34c3bcf gtkprintbackend:backend_create: avoid strdup+free 2019-07-17 10:42:05 +00:00
Luca Bacci
8211e083f2 Fix a string leak
Fixes #2014
2019-07-12 08:33:48 +00:00
Timm Bäder
0f216525af treeview: Remove in_scroll flag
Keep using the pixel cache for backwards-compat, but remove the
in_scroll flag to fix the missing invalidation during scrolling.

Fixes #1977
2019-07-03 16:15:52 -04:00
Matthias Clasen
ed0df60d6e Revert "treeview: Remove the pixel cache"
This reverts commit 184424ae40.

It caused regressions in eclipse.
2019-07-03 16:14:08 -04:00
Christoph Reiter
8a53ed9e55 gtkrecentfilter: handle g_content_type_from_mime_type() returning NULL
Otherwise we get errors on g_content_type_is_a(). This happens mostly on Windows
because it only knows a limited set of mime types and tries to convert
them to file extensions without any fallback.
2019-06-30 13:59:13 +02:00
Jakub Steiner
ed691dcba5 Adwaita: allow flat list row buttons to be flat
- Be more specific about the list row image buttons

Addresses corner case of https://gitlab.gnome.org/GNOME/gtk/issues/1748
2019-06-27 12:10:42 +02:00
Jakub Steiner
4a6ff4598e Adwaita: no intention to make circular buttons universal
- No intention to make any button circular with a magic class
  Maybe if Lapo returns, he'll make all your dreams come true.

"Fixes" https://gitlab.gnome.org/GNOME/gtk/issues/861
2019-06-27 11:32:38 +02:00
Jakub Steiner
1f69f5196b Adwaita: lighten dark switch sliders
- addresses legibility concerns

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1819
2019-06-27 10:55:18 +02:00
Jakub Steiner
c5330a2588 Adwaita: darken osd background for A:dark
- OSD background color was too close to $bg_color to make out outline

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1964
2019-06-27 10:28:39 +02:00
Jakub Steiner
2d29cff140 Merge branch 'adwaita-menubar-submenu-rounding' into 'gtk-3-24'
Adwaita: Fix padding/rounding on submenus

See merge request GNOME/gtk!967
2019-06-27 08:25:14 +00:00
Alex Monday
4fa83d55dc Adwaita: Fix padding/rounding on submenus
- Apply menubar submenu style for .csd submenus;
- Remove child subemenu style (looks like it is inherited
  from a parent).

Closes https://gitlab.gnome.org/GNOME/gtk/issues/1976
2019-06-27 13:04:02 +05:00
Alex Monday
d3cf55a26d Adwaita: Apply border-radius to .csd popovers
Fix popover_radius variable doesn't apply to .csd popover.

Closes https://gitlab.gnome.org/GNOME/gtk/issues/1984
2019-06-27 11:07:51 +05:00
Jakub Steiner
df6e0da623 Adwaita: infobar borders
- defined a bottom border for infobars, move styling into descendant box
  to hide border when unrevealed

Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1165
2019-06-25 15:17:39 +02:00
Christoph Reiter
ecf2c68d97 Merge branch 'gtk3-build-explicit-encoding' into 'gtk-3-24'
build: always use utf-8 when reading/writing text files

See merge request GNOME/gtk!953
2019-06-25 07:27:58 +00:00
Christoph Reiter
5107735c9f build: always use utf-8 when reading/writing text files
open() in text mode should never be used without an encoding because it defaults
to the locale encoding which is rarely what is wanted.

This fixes the Windows build in some cases (depending on the locale/paths used)
2019-06-25 08:53:26 +02:00
Daniel Boles
a25aa2082d ShortcutsSection: Fix tiny grammar-o "in for"→"in" 2019-06-24 18:01:53 +01:00
Emmanuele Bassi
6cdb165fa4 Do not add empty strings to GtkFileFilter
When parsing a UI description for GtkFileFilter we should avoid passing
empty strings, to avoid issues when serialising the filter before
sending it over DBus.

Fixes: #1973
2019-06-24 10:53:31 +01:00