Opened 7 years ago

Last modified 5 years ago

#4318 new defect

Frame clippings palette needs GTK3 theme updates

Reported by: garycmartin Owned by: erikos
Priority: Normal Milestone: Unspecified
Component: Sugar Version: 0.98.x
Severity: Unspecified Keywords: regression
Cc: Distribution/OS: Unspecified
Bug Status: Unconfirmed

Description

The Frame clippings palette needs a GTK3 theme update to bring it back to the level we had in the last 12.2.0 release. See attached animated gif for the GTK2 before vs. GTK3 current versions.

Attachments (4)

clipboard-palette-theme-original-vs-current.gif (16.9 KB) - added by garycmartin 7 years ago.
clipboard-palette.png (6.3 KB) - added by humitos 7 years ago.
In sugar-build with the git version of all the components: the only thing missing is remove the right (gray) border of the icon when it reveals the palette.
style_palettemenu-4318.patch (1.6 KB) - added by manuq 7 years ago.
Trying to do the same as the Gtk.Window implementation
style_palettemenu-4318-artwork.patch (471 bytes) - added by manuq 7 years ago.

Download all attachments as: .zip

Change History (10)

Changed 7 years ago by garycmartin

comment:1 Changed 7 years ago by dsd

  • Priority changed from Unspecified by Maintainer to Normal

Changed 7 years ago by humitos

In sugar-build with the git version of all the components: the only thing missing is remove the right (gray) border of the icon when it reveals the palette.

comment:2 Changed 7 years ago by manuq

The case is, we need to properly style the Gtk.Menu implementation of our palettes.

The two implementations live in palettewindow.py. There are: class _PaletteMenuWidget, which inherits Gtk.Menu, and class _PaletteWindowWidget, which inherits Gtk.Window.

I tried to add an outline to the Gtk.Menu one, doing the same as the Gtk.Window one, reimplement the
do_draw method like this:

  • call the parent's class do_draw
  • if the palette has an invoker (is attached to a button), calculate the gap between the two widgets
  • then call Gtk.render_frame_gap or Gtk.render_frame
  • the theme takes care of the styling of that frame

The problem is that Gtk.Menu.do_draw already calls Gtk.render_frame:

http://git.gnome.org/browse/gtk+/tree/gtk/gtkmenu.c#n3046

Then, an unwanted line can be seen between the button and the palette, like in humitos attachment.

I attach my patch for the sake of future improvement.

Changed 7 years ago by manuq

Trying to do the same as the Gtk.Window implementation

Changed 7 years ago by manuq

comment:3 Changed 6 years ago by dnarvaez

  • Component changed from sugar-artwork to Sugar
  • Owner changed from manuq to erikos

comment:4 Changed 6 years ago by dnarvaez

  • Milestone changed from 0.98 to Unspecified

comment:5 Changed 5 years ago by manuq

See #4768

comment:6 Changed 5 years ago by godiard

Some of the issues are solved, but need more work. The border is displayed, but the union with the button is not ok, and the button do not show the border.

Note: See TracTickets for help on using tickets.