[Sugar-devel] [sugar PATCH] sl#3833: Now, the palettes appear fine in the bottom frame-tray.
Ajay Garg
ajay at activitycentral.com
Wed Mar 6 07:37:48 EST 2013
A minor goofup :: this is a "sugar-toolkit-gtk3" patch, and not a "sugar"
patch.
Sorry for being an idiot.
On Wed, Mar 6, 2013 at 6:00 PM, Ajay Garg <ajay at activitycentral.com> wrote:
> The solution has been build upon the "no-caching" solution provided by
> erikos at
> http://bugs.sugarlabs.org/ticket/4419#comment:4
>
> Theerafter, the cause of
> http://bugs.sugarlabs.org/attachment/ticket/3833/Screenshot%20of%20_Journal_.png
> is not taking "style.GRID_CELL_SIZE" into account, when calucating the
> alignments for the palettes.
>
> I will have to thank manuq a great deal, for his comment
> http://bugs.sugarlabs.org/ticket/3833#comment:11,
> which helped me debug the real issue.
> In particular, his observation that the "landscape"-mode-obscurity occurs
> only in one of the erikos' solutions;
> while the "portrait-mode-obscurity" occurs only in both of erikos's
> solutions.
>
> Finally, this patch provides the no-obscurity solution for all cases :)
>
>
> src/sugar3/graphics/palettewindow.py | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
> diff --git a/src/sugar3/graphics/palettewindow.py
> b/src/sugar3/graphics/palettewindow.py
> index c48ae55..e192a7c 100644
> --- a/src/sugar3/graphics/palettewindow.py
> +++ b/src/sugar3/graphics/palettewindow.py
> @@ -777,8 +777,6 @@ class Invoker(GObject.GObject):
>
> self._screen_area = Gdk.Rectangle()
> self._screen_area.x = self._screen_area.y = 0
> - self._screen_area.width = Gdk.Screen.width()
> - self._screen_area.height = Gdk.Screen.height()
> self._position_hint = self.ANCHORED
> self._cursor_x = -1
> self._cursor_y = -1
> @@ -841,8 +839,8 @@ class Invoker(GObject.GObject):
> def _in_screen(self, rect):
> return rect.x >= self._screen_area.x and \
> rect.y >= self._screen_area.y and \
> - rect.x + rect.width <= self._screen_area.width and \
> - rect.y + rect.height <= self._screen_area.height
> + rect.x + rect.width <= (Gdk.Screen.width() -
> style.GRID_CELL_SIZE) and \
> + rect.y + rect.height <= (Gdk.Screen.height() -
> style.GRID_CELL_SIZE)
>
> def _get_area_in_screen(self, rect):
> """Return area of rectangle visible in the screen"""
> @@ -850,9 +848,9 @@ class Invoker(GObject.GObject):
> x1 = max(rect.x, self._screen_area.x)
> y1 = max(rect.y, self._screen_area.y)
> x2 = min(rect.x + rect.width,
> - self._screen_area.x + self._screen_area.width)
> + self._screen_area.x + Gdk.Screen.width() -
> style.GRID_CELL_SIZE)
> y2 = min(rect.y + rect.height,
> - self._screen_area.y + self._screen_area.height)
> + self._screen_area.y + Gdk.Screen.height() -
> style.GRID_CELL_SIZE)
>
> return (x2 - x1) * (y2 - y1)
>
> @@ -882,8 +880,8 @@ class Invoker(GObject.GObject):
> rect.x = max(0, rect.x)
> rect.y = max(0, rect.y)
>
> - rect.x = min(rect.x, self._screen_area.width - rect.width)
> - rect.y = min(rect.y, self._screen_area.height - rect.height)
> + rect.x = min(rect.x, Gdk.Screen.width() - style.GRID_CELL_SIZE -
> rect.width)
> + rect.y = min(rect.y, Gdk.Screen.height()- style.GRID_CELL_SIZE -
> rect.height)
>
> return rect
>
> @@ -913,7 +911,7 @@ class Invoker(GObject.GObject):
>
> if best_alignment in self.LEFT or best_alignment in self.RIGHT:
> dtop = rect.y - screen_area.y
> - dbottom = screen_area.y + screen_area.height - rect.y -
> rect.width
> + dbottom = screen_area.y + Gdk.Screen.height() -
> style.GRID_CELL_SIZE - rect.y - rect.width
>
> iv = 0
>
> @@ -928,7 +926,7 @@ class Invoker(GObject.GObject):
>
> elif best_alignment in self.TOP or best_alignment in self.BOTTOM:
> dleft = rect.x - screen_area.x
> - dright = screen_area.x + screen_area.width - rect.x -
> rect.width
> + dright = screen_area.x + Gdk.Screen.width() -
> style.GRID_CELL_SIZE - rect.x - rect.width
>
> ih = 0
>
> --
> 1.7.11.7
>
>
--
Regards,
Ajay Garg
Dextrose Developer
Activity Central: http://activitycentral.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20130306/290d8495/attachment-0001.html>
More information about the Sugar-devel
mailing list