Summer of Code/2013/Social Sugar project/Documentation: Difference between revisions

Mini Profiles: User interface additions
Detailed Description: Technical details for the cloud content implementation
Line 11: Line 11:
For identification of a user on a webservice such as Project Sharing Website, or Fedora pastebin, a unique id will be used. The API of the webservice should allow posting/fetching resources related to the user via this UID (and if required authentication credentials such as API token).
For identification of a user on a webservice such as Project Sharing Website, or Fedora pastebin, a unique id will be used. The API of the webservice should allow posting/fetching resources related to the user via this UID (and if required authentication credentials such as API token).


Changes to Sugar:
=== Changes to Sugar ===


==== BuddyModel ====
==== BuddyModel ====
Line 26: Line 26:
* `get_latest_post` returns the latest post on the service.
* `get_latest_post` returns the latest post on the service.


New Classes:
=== New Classes ===


==== WebServicePost ====
==== WebServicePost ====
Line 32: Line 32:
* Has unimplemented methods for title, message, image and hyperlink.
* Has unimplemented methods for title, message, image and hyperlink.


UI additions:
=== UI additions ===
All additions are in Group view. (F2)
All additions are in Group view. (F2)


Line 54: Line 54:
[[File:MiniprofileScreenshot6.gif|260 px|Large cloud icon]]
[[File:MiniprofileScreenshot6.gif|260 px|Large cloud icon]]


==== Technical details for the cloud content implementation ====
* Small cloud icon inherits `sugar3.graphics.icon.CanvasIcon` which gives it the color matching that of the buddy.
* CloudContent is placed on top of the LargeCloudIcon using Gtk.Overlay
* LargeCloudIcon inherits `sugar3.graphics.icon.EventIcon`
* The button-release-event is bound to SmallCloudIcon, whose callback draws the Gtk.Overlay containing LargeCloudIcon and CloudContent.
* Cloud content consists of a VBox of service icon, a label and HBox containing close and pause icons.


=== Testing ===
=== Testing ===