Commit Graph

253 Commits

Author SHA1 Message Date
Sam Parkinson
92ea35d724
Fix typos in sugar3.graphics.animator docs 2016-07-26 21:14:10 +10:00
Sam Parkinson
d37da7ee88
Add do_stop method for animations
This adds a explicit method for cleaning up the animation.  Previously,
animations expected the next_frame to be called where frame=end.

That guarantee was never provided by the api.  This resulted in
animations sometimes being in odd states.  For example, Browse activity
had an animation that overrode the Gtk "draw" signal.  If the signal
was not unbound, the animated object was mistakenly rendered after
the completion of the animation, obstructing the user's view.

This api is explicit and allows cleaner code in the animation
implementation.  The clean up code goes in do_stop rather than in a
conditional of next_frame.
2016-07-26 21:06:44 +10:00
Sam Parkinson
2522e0b21f
Version the GdkX11 import, fixes #4965
The unversioned import results in the following log noise:

    /usr/lib/python2.7/site-packages/sugar3/graphics/window.py:26: PyGIWarning: GdkX11 was imported without specifying a version first. Use gi.require_version('GdkX11', '3.0') before import to ensure that the right version gets loaded.
      from gi.repository import GdkX11
2016-07-12 09:16:22 +10:00
Sam Parkinson
e0c38a8b8a
Merge branch 'no-2nd-popdown' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-07-10 20:55:58 +10:00
Sam Parkinson
d60989cd92
Merge branch '2016-190-enter-notify' of https://github.com/quozl/sugar-toolkit-gtk3 2016-07-10 20:52:00 +10:00
Sam Parkinson
4009e2a476
Merge branch 'long-press-eventicons' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-07-08 22:22:40 +10:00
James Cameron
433d06b025 avoid uncommanded palettes
Problem #1, buddy menu appears on Sugar startup on physical hardware, or
when mouse is centre of display.

Problem #2, Terminal toolbar steals keyboard focus, when mouse is left
in home view search box at activity start time.

Regressions were introduced in the port from Gtk2 to Gtk3.

Cause is enter-notify-events that arrive because cursor is already
present in widgets as they are realised and mapped.

Fix is to capture cursor position when the widget is being created, and
ignore enter-notify-event if the same position is seen.
2016-07-08 12:42:57 +10:00
James Cameron
65fa711e53 refactor pointer position get
Move common code into a function, and cache Gdk.Device client pointer.
2016-07-08 12:40:04 +10:00
James Cameron
552c7da884 remove surplus message
The log message "PaletteWindowWidget popup get_visible True" is not
useful, and is removed.  It can be made to occur in Terminal by repeated
right-click on any of the first three toolbar button.
2016-07-08 11:53:37 +10:00
Sam Parkinson
90cec5be2e
Unify palette popdowns
Previously there was the concept of having 2 popdowns for a palette.
The first popdown showed the of tooltip the palette, and the 2nd
showed the content of the palette.  However, this was confusing
to new users, and made users wait for little reason.

This commit removes the 2nd popdown.  An example of this is when you
mouse over an icon to invoke the palette.  Previously, it showed
the tooltip, then made you wait, then showed the content of the
palette.  With this patch, the whole palette is shown at the
first popdown, making a snappy UX.
2016-07-03 22:28:20 +10:00
Sam Parkinson
74d3a4d0c8
Revert "Don't activate EventIcons after touch long press"
This commit was never reviewed or intended for the master branch.

This reverts commit ed5e50239b.
2016-06-20 21:48:43 +10:00
Sam Parkinson
4a9b35a38a
Merge branch 'icon-docs' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-06-18 12:36:05 +10:00
Sam Parkinson
f4ec9346d2
Merge branch 'fix-4960-palette-damange' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-06-18 12:32:37 +10:00
Sam Parkinson
2971749b83
Fix CursorInvoker wrongly positioning EventIcon palettes
Steps to reproduce:
1.  Long press on home view favorite icon (an event icon)
Expected:  Palette invoker where finger is
Actuall:   Palette invokes in top left corner

This is because the long press controller emits coords relative
to the widget's window, and EventIcons sometimes have their own
windows.  We can't change the long press controller, as it is a
public api.  But we fix this by translating the coords to the
root window coords in the CursorInvoker.  Using root coords is
consistent with the right click handleing in the cursor invoker.
2016-06-16 09:58:55 +10:00
Sam Parkinson
0f4309a324
Don't activate EventIcons after touch long press
Steps to reproduce:

1.  Long press activity icon on homeview
Expcected:  Palette invokes, icon not activated
Actual:     Palette invokes, icon also activated, activity launched

This was because the "activate" signal was emitted before the
palette invoker got it's signal, meaning the palette invoker couldn't
scilence the event.
2016-06-16 09:58:23 +10:00
Sam Parkinson
ed5e50239b
Don't activate EventIcons after touch long press
Steps to reproduce:

1.  Long press activity icon on homeview
Expcected:  Palette invokes, icon not activated
Actual:     Palette invokes, icon also activated, activity launched

This was because the "activate" signal was emitted before the
palette invoker got it's signal, meaning the palette invoker couldn't
scilence the event.
2016-06-15 08:01:11 +10:00
Sam Parkinson
3f4a5e904d
First pass sugar3.graphics.icon docs 2016-06-13 21:38:15 +10:00
Sam Parkinson
52ce5af493 Merge branch 'popup' of https://github.com/AbrahmAB/sugar-toolkit-gtk3 2016-06-05 10:25:18 +10:00
AbrahmAB
a803876fbf Added new popwindow module in sugar3.graphics 2016-06-05 01:53:16 +05:30
Sam Parkinson
ed5e9d072b
Fix palette damage for tool buttons, fixes #4960
Currently, the ToolInvoker code passes the button child in such a
way that the WidgetInvoker queues only the child's draw.  In previous
Gtk+ versions, this magically resulted in redrawing the parent as well.

However, Gtk+ 3.20 is probably trying to save power and not randomly
redraw widgets.  To fix this, we must queue the redraw of the widget
that we want to redraw explicitly.
2016-05-08 21:49:46 +10:00
Sam Parkinson
ea3b673f51 Merge branch 'master' of https://github.com/icarito/sugar-toolkit-gtk3 2016-04-27 21:39:12 +10:00
Sebastian Silva
2f2b2d20d8 Allow to run activities without Sugar shell.
- Handle lack of GSettings gracefully.
- Still requires sugar-datastore.
- Supports avoiding X11 docks/panels.
- Provides icons for Activity windows.

Try it outside Sugar. Go to an Activity directory and run 'sugar-activity'.
Tested it with Terminal, Finance, Write, Browse, Memorize under XFCE4.
Tested in Gnome under OLPC-OS.
Also works from Sugar Terminal Activity.
Does not affect regular Sugar operation.

This is patch v.2 -
    Addresses most concerns:
    - Removed commented code, sorry.
    - Changed code to use profile.get_nickname and get_color where possible.

    Couldn't the launcher just pass this info?
    Maybe the launcher could set the activity root as well?
        - It is intended to be usable from the command line also.
    Should put sugar version in the environment
        - It is intended to work even without Sugar Shell installed.
    Why don't we always set the icon?
        - On XO it might use some memory. I was concerned to degrade
        performance.
    Also, imports should be at the top of the file?
        - Also a concern about performance on XO.
        This way it is only loaded in this use case.
        Maybe it is insignificant -moved as requested.
    It would be nice if the changes to the POT for sugar-toolkit-gtk3
    could be incorporated in this pull request, please.
        - There were no changes to POT files as part of this patch. Maybe
        it is worth translating low level command line tools, not sure.
    Suggest packaged activities might also provide .desktop files.
        - Intriguing but not sure within scope of this patch. You mean generate
        a .desktop file automatically as an option? Sounds nice!
    Suggest sugar-activity might also accept path to unpacked bundle.
        - Implemented!
2016-04-21 03:10:30 -05:00
Sam Parkinson
66c01ba2c6 Merge branch 'smooth-animations-try3' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-04-21 07:37:06 +10:00
Sam Parkinson
4325c056a4 Merge branch 'styledocs' of https://github.com/ndefilippis/sugar-toolkit-gtk3 2016-04-21 07:35:40 +10:00
Sam Parkinson
526c87d7c6 Merge branch 'divbyzero' of https://github.com/erilyth/sugar-toolkit-gtk3 2016-04-21 07:34:24 +10:00
Sam Parkinson
9c0f7df739 Merge branch 'gi-require-version' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-04-21 07:33:15 +10:00
Sam Parkinson
79a45ba8e8 Merge branch 'doc-palettemenu' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-04-21 07:30:56 +10:00
Sam Parkinson
ab0f5a18aa Merge branch 'doc-combobox' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-04-06 07:15:21 +10:00
Sam Parkinson
a62ddb1d87 Merge branch 'xocolor-docs' of https://github.com/ndefilippis/sugar-toolkit-gtk3 2016-04-05 21:30:32 +10:00
Sam Parkinson
57fe093886 Merge branch 'ellipsize' of https://github.com/AbrahmAB/sugar-toolkit-gtk3 2016-03-26 13:18:44 +11:00
Sam Parkinson
d3fbecf110 Merge branch 'gtk-3-20' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-03-03 20:00:18 +11:00
AbrahmAB
cd449e7149 Ellipsis in title and msg of alert 2016-02-27 06:06:26 +05:30
Sam Parkinson
824e6dcb69 Set css class on toolitems when a palette or toolbar popsdown 2016-02-19 07:18:45 +11:00
radicalonion
79d11c3a28 Write docs for sugar3.graphics.xocolor 2016-01-03 20:16:43 -05:00
Sam Parkinson
c374b63990 Merge branch 'scrolldetector-docs' of https://github.com/ndefilippis/sugar-toolkit-gtk3 2016-01-03 16:47:12 +11:00
Sam Parkinson
37d3b63a90 Merge branch 'notebook-docs' of https://github.com/ndefilippis/sugar-toolkit-gtk3 2016-01-03 16:45:10 +11:00
radicalonion
8b947ed02f Write docs for sugar3.graphics.scrollingdetector 2016-01-02 23:42:55 -05:00
radicalonion
486988035a Write docs for sugar3.graphics.notebook 2016-01-02 23:35:44 -05:00
Sam Parkinson
8d66786a31 Merge branch 'radiotoolbutton-docs' of https://github.com/ndefilippis/sugar-toolkit-gtk3 2016-01-03 15:12:26 +11:00
radicalonion
db89aca86a Write docs for sugar3.graphics.radiotoolbutton 2016-01-02 23:08:17 -05:00
Sam Parkinson
8d0cc98e43 Set css name for widgets
In Gtk+ 3.20, you need to use the css name to select elements,
rather than the gtype name.  Therefore, these must be added.

The css name must be set before the class instances are created, as
it effects the class rather than the instance.  This is why it must
be places after the class definition.
2016-01-01 12:28:42 +11:00
radicalonion
ec2dca92f1 Write docs for sugar3.graphics.toolbox 2015-12-31 09:19:05 -05:00
radicalonion
031af31029 Write docs for sugar3.graphics.style 2015-12-27 20:10:54 -05:00
mandarj7
51057baef5 Add usage example to sugar3.graphics.objectchooser 2015-12-23 16:59:26 +05:30
mandarj7
c95d74eab4 Improve docstrings in sugar3.graphics.objectchooser 2015-12-23 16:55:25 +05:30
mandarj7
264ee2b5a3 Add and improve docs for sugar3.graphics.objectchooser 2015-12-23 15:31:58 +05:30
erilyth
3ceb14f884 et value of "ph" to 0 if division by zero takes place 2015-12-22 15:12:15 +05:30
James Cameron
7ba120fe25 Fix persistent tree view palettes
A rework of the TreeViewInvoker used by the journal and activity list.

Fixes a persistent journal entry palette that reappears in journal or
home view.  https://bugs.sugarlabs.org/ticket/4918

Also fixes an over-sensitive journal icon; with the journal mostly
empty, rapidly move the mouse from the bottom of the screen into the
lowest icon and then out again.  Before this patch, the palette was
shown.  After this patch, the mouse must rest in the icon.

Changes made:

- override _ensure_palette_exists in parent class Invoker,

- remove reference to MouseSpeedDetector, it is no longer required,

- remove enter and leave events; they are for the TreeView as a whole,
  and are not required,

- properly detect that None is returned by get_path_at_pos, when the
  coordinates are outside the TreeView cells.

Not fixed:

- moving the mouse out of the journal icon invoker does not popdown the
  palette, but it does when moving the mouse out of the activity icon in
  the activity list; so this is a problem beyond the invoker,

Tested on Fedora 18 and Ubuntu 15.10.

Test cases:

- check a click will activate item,

- check a right-click will show palette,

- check a mouse hover will show palette,

- check a brief mouse passing will not show palette,

- check if mouse leaving palette will popdown.
2015-12-22 09:49:16 +11:00
Sam Parkinson
b1386665b1 Merge branch 'master' of https://github.com/mjuvekar7/sugar-toolkit-gtk3 2015-12-20 17:21:01 +11:00
James Cameron
ae80df7725 Fix remaining icon_size references
icon_size was changed to pixel_size, yet references remained, causing
extra log data.

Additional change missed from already merged 70bc4db.
2015-12-16 10:22:21 +11:00