Commit Graph

514 Commits

Author SHA1 Message Date
James Cameron
286387b22e Save As - return copied datastore object
When a datastore object is copied, return the new object to the caller.
2017-06-01 12:57:34 +10:00
James Cameron
83697d21f9 Save As - add an optional Gtk.Entry to Alert
An Alert may have a Gtk.Entry, which is placed between the title and the
buttons.  It is for when text is to be input during the alert.
2017-06-01 12:50:29 +10:00
James Cameron
926a262306 Save As - add profile.get_save_as
Add a method for reading the save-as setting.
2017-06-01 12:49:10 +10:00
James Cameron
7d5abe2684 Predictable POT file ordering
Every time an activity maintainer uses the `python setup.py genpot`
command the resulting po/Activity.pot file has changes caused by random
ordering of filesystem inodes.

This makes the output unpredictable.

Sort the list of source files.
2017-06-01 08:09:53 +10:00
James Cameron
c26c902dc7 Remove Python GI API version warnings
- reported in Clock-19 testing.
2017-05-30 14:10:30 +10:00
James Cameron
2c3d1d0707 Specify library version prior to import
- web activities caused two warnings every time they were started,

- warnings cost disk write wait time.
2017-05-19 14:22:28 +10:00
György Balló
281e56c442 Allow to disable installing .desktop files 2017-04-22 08:29:58 +10:00
Sam Parkinson
f17e1a66b4 Write docs for constants in sugar3.graphics.style
The constants must be documented, because otherwise they are hidden
from the generated online documentation.

[changes arising from review comments and flake8 compliance]
Signed-off-by: James Cameron <quozl@laptop.org>
2017-04-22 08:26:41 +10:00
Hrishi
f4fc8c0d1f
Write documentation for sugar3.graphics.ColorToolButton
- add one example,

- part of feature Sugar3 Docs,
  https://wiki.sugarlabs.org/go/Features/Sugar3_Docs

Added documentation and example for Colorbutton
2017-01-09 04:02:19 -03:00
Hrishi
4f7ab56c3e Write documentation for sugar3.graphics.ProgressIcon
- add one example,

- part of feature Sugar3 Docs,
  https://wiki.sugarlabs.org/go/Features/Sugar3_Docs
2017-01-04 20:52:16 -03:00
James Cameron
a6e62a52b6
Fix screen resize race
When an external monitor is connected or disconnected, about 25% of the
time an activity does not resize correctly; a size-changed signal occurs
but the workarea geometry has not changed.

Underlying problem is an update race in get_monitor_workarea, so the fix
is to call get_monitor_geometry for obtaining the width and height.

Can be reproduced easily without an external monitor by switching
display panel resolution repeatedly;

    xrandr --output eDP1 --mode 1024x768
    xrandr --output eDP1 --mode 1366x768

Part of a fix for https://bugs.sugarlabs.org/ticket/4968
2017-01-02 04:38:37 -03:00
James Cameron
99130b0263
Write documentation for sugar3.power 2017-01-02 02:48:48 -03:00
Eduard Sanou
05a18a2dc6
[PATCH] Sort translation files
Sort translation files when generating the .desktop file to output
reproducible results.

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=848633

Reviewed-by: James Cameron <quozl@laptop.org>
2017-01-02 02:25:29 -03:00
James Cameron
a71a011496 Fix documentation typo, SPCAING 2017-01-02 15:22:51 +11:00
Hrishi
c7d1c7acfb Write documentation for sugar3.graphics.ToggleToolButton
- add one example,

- part of feature Sugar3 Docs,
  https://wiki.sugarlabs.org/go/Features/Sugar3_Docs

Signed-off-by: James Cameron <quozl@laptop.org>
2016-12-31 07:57:52 +11:00
James Cameron
c92d0009df Write documentation for sugar3.graphics.ToolButton
- add two examples,

- document critical properties as keyword arguments in the class init,

- ensure documentation is consistent between RadioToolButton and
  ToolButton, (as some of the text is similar),

- part of feature Sugar3 Docs,
  https://wiki.sugarlabs.org/go/Features/Sugar3_Docs

- follow How To Guide
  https://wiki.sugarlabs.org/go/Features/Sugar3_Docs/How_To_Write

Derived from work by

- Hrishi <hrishipatel99@gmail.com> (31176ea) and

- radicalonion <ndefilippis98@gmail.com> (db89aca).
2016-12-12 15:51:49 +11:00
James Cameron
ee93ad3bef Further gi.require_version calls
Activity logs have continued to report GObject Introspection version
warnings.
2016-11-09 13:32:49 +11:00
Sam Parkinson
2330ef8ebc
Proper deprecation of Palette.popdown state argument
The popdown state argument was removed in 90cec5b, as the palette
popdowns were unified.  However, this is a public api.  Removing
the argument caused exceptions to be raised, breaking applications.
Most uses of the state argument were for the SECONDARY state, which
is now the default behaviour.

This commit re-adds the argument with a deprecation notice.
2016-09-04 21:48:51 +10:00
Sam Parkinson
f06d510eba
Merge branch 'animator-do-stop' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-08-02 08:27:30 +10:00
Sebastian Silva
4f3f32fd5a Assign icon to window regardless of environment.
Makes Sugar Activities more standard.
2016-07-27 01:52:05 -05:00
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
61bc42f2c2
Merge branch 'bundlebuilder' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-07-26 08:10:40 +10:00
Sam Parkinson
4d770fef01
Merge branch 'fix-4965' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-07-26 08:09:25 +10:00
Sam Parkinson
2f9ae6ef51
Bundlebuilder: relabel repository url as bugtracker
Many activities already have the repository url pointing to their GitHub
page - which also serves as a bug tracker for many of the projects.  The
repository url is not part of the spec, but the bug tracker url is.
2016-07-16 07:55:57 +10:00
James Cameron
1f93659c95 Avoid private member access to Bundle
ActivityBundle was making reference to _path private in Bundle, change
to use get_path public method.
2016-07-15 12:55:26 +10:00
Sam Parkinson
9b5ed7e80c
Bundlebuilder: Translate AppData files 2016-07-15 09:16:18 +10:00
Sam Parkinson
6d337718d1
Bundlebuilder: Generate AppStream AppData files
This commit adds the 1st pass generator for these files.  It also adds
documentation about the required fields in the "activity.info"
file, as AppStream requires more metadata than most activities currently
include.
2016-07-15 08:19:05 +10:00
Sam Parkinson
7779c74f44
Bundlebuilder: Use installed icon path in .desktop file
Previously, the bundle builder referenced the icon path in the
source directory - which was obviously not installed in the package.
2016-07-14 16:20:22 +10:00
Sam Parkinson
c288d54ab8
Bundlebuilder: submodules can have "/.git" as a file
When created via "git submodules add", a submodules may have the
"/.git" path be a file rather than a directory.  The bundlebuilder
previously thought that all submodules had "/.git" as a directory.
2016-07-14 16:16:25 +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
Sam Parkinson
6c5bef2f78
Merge branch 'show-icons' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-07-08 22:15:55 +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
da65b6db55
Merge branch 'git-submodules-bundlebuilder-try2' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-06-18 13:54:40 +10:00
Sam Parkinson
6079d7ff70
Show icons in buttons
Gtk 3.20 recently changed the default setting so that buttons hide
their icons.  This is regression in terms of the Sugar HIG.
2016-06-18 13:29:56 +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
6e685a7e4a
Merge branch 'telepathy-idle-crash' of https://github.com/samdroid-apps/sugar-toolkit-gtk3 2016-06-18 12:33:50 +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
535ece85c3
Generate .desktop files for activities during install
This will allow .desktops for all of the activities to be
packaged.  In the future, we could ship a special launcher script
so that the user can choose the jobject to run, but for now
we just open the activity using the command specified in the
activity.info file.
2016-06-07 13:29:36 +10:00