Opened 12 years ago

Closed 12 years ago

Last modified 8 years ago

#472 closed enhancement (wontfix)

Remove unexpected 'save/load' tab from toolbar

Reported by: garycmartin Owned by: walter
Priority: Normal Milestone:
Component: Turtleart Version: Git as of bugdate
Severity: Minor Keywords:
Cc: eben, marcopg Distribution/OS: Unspecified
Bug Status: Assigned

Description

Exporting different formats of activity data to the Journal (i.e. save as HTML, save as Logo) is an advanced user feature, I'd suggest following how Write has implemented such needs by adding the extra options under the Keep toolbar button (see attached image). This will reduce UI clutter of extra tabs and buttons, while still providing the features for advanced users.

Attachments (1)

write_keep_screenshot.png (12.5 KB) - added by garycmartin 12 years ago.
Screen shot of Writes extra (advanced user) keep options

Download all attachments as: .zip

Change History (15)

Changed 12 years ago by garycmartin

Screen shot of Writes extra (advanced user) keep options

comment:1 Changed 12 years ago by walter

I couldn't figure out how to make it work that way, so I used separate buttons instead. Is there a simple example somewhere (other than in Write) you can think of for me to emulate?

comment:2 Changed 12 years ago by walter

  • Status changed from new to accepted

comment:3 Changed 12 years ago by eben

  • Cc marcopg added

Yeah, that method would be much preferred.

The palette class has methods for setting generic content:
http://git.sugarlabs.org/projects/sugar-toolkit/repos/mainline/blobs/master/src/sugar/graphics/palette.py#line428

But I think what you really want though is access to the palette menu, which appears to be a public property of palette (eg. my_palette.menu). Here's the menu class of that member:
http://git.sugarlabs.org/projects/sugar-toolkit/repos/mainline/blobs/master/src/sugar/graphics/palette.py#line679

You should therefore be able to do something like stop_button.palette.menu.do_insert(my_export_item);
I hope that gets you started!

comment:4 Changed 12 years ago by garycmartin

Not sure if this helps, but in (ongoing) Labyrinth port, at about line 35 of http://git.sugarlabs.org/projects/labyrinth/repos/mainline/blobs/master/labyrinthactivity.py I needed to modify the default provided Edit toolbar to add 'cut' as an extra menu item for the Copy button. I'm assuming the Keep button mods would work much the same way (FWIW: I was also planning to do this myself to allow Labyrinth to 'export' to pdf, png and a few other possibly useful output formats, hence my radar picking up on your TA save/load tab).

comment:5 Changed 12 years ago by FGrose

  • Bug Status changed from Unconfimed to Assigned

comment:6 Changed 12 years ago by erikos

Walter, is this a bugfix or an enhancement for 0.86? Can you please change the bug fields accordingly?

comment:7 Changed 12 years ago by walter

  • Milestone changed from Unspecified by Release Team to 0.86
  • Priority changed from Unspecified by Maintainer to Normal
  • Status changed from accepted to assigned

comment:8 Changed 12 years ago by sascha_silbe

It seems the "[Open] Samples" button now lives under "Save as", where I expected it least.
Actually I'm not so sure it should exist at all, maybe activities should be able to "provide" content to the journal so the user could open it from there. This probably has some overlap with the ongoing library bundles / "unified objects" discussion...

comment:9 Changed 12 years ago by walter

Brian and I discussed this (putting samples in the Journal) in detail 2 years ago. It is feasible now in light of the bundle discussions. But I wonder about how people discover the samples in the Journal. That said, apparently people don't discover them in the current interface either (according to the Olin Hackfest notes). In retrospect, I hesitate to overload the Keep button... I think having a Save/Load Tab with the various options laid out is easier for the user.

comment:10 Changed 12 years ago by eben

I recall having discussions around the problem of demos/examples in the past, and there are two fair ways to handle it, I think.

  1. The "purest" method (in the activity instance model) is to reveal an example chooser of some kind when creating a new instance. This emphasizes the idea that part of instantiating a new activity from the template of its bundle includes a customization step which results in a pre-configured state for the new instance. Of course, the downside here is that you have to create a new instance to try a new example, which is often undesirable. (I think it depends on the learning context: this might be fine for a class setting where each example serves as the starting point for a given lesson, but breaks down for simple exploratory play.)
  1. Another option, I think, is to treat examples kind of like a "clear the canvass" button in a paint activity. In this method, it's just a feature of the activity that it supports "real-time" refreshing of its state. I think the best way to expose this, personally, is as a button in the primary toolbar of the activity which reveals a palette containing a set of available templates/demos/examples. The palette could contain a simple text list (like a menu), or a matrix of thumbnails illustrating projects, or a treeview with projects arranged into categories, etc. This method provides a nice consistent interface into the examples (the button), but allows the activity developer the freedom to expose them in the way appropriate to their content.

If it would be beneficial to make an "examples" icon that would be consistent across all activities desiring such a button, I could try to work up some ideas. As a side note, I think it will be important to make the undo button work across the loading of an example, so that the act of loading an example doesn't destroy previous work without a way back. (The addition of version support in the Journal will also partially solve this. This is a perfect example of a moment when the activity itself should take the initiative to create a "tagged version"—one that will become an immediate Journal entry.)

comment:11 Changed 12 years ago by walter

If it would be beneficial to make an "examples" icon that would be
consistent across all activities desiring such a button

+1. The standard open button we use in Turtle Art was assumed to be "some Journal thing" instead of a collection of examples in the Olin tests.

comment:12 Changed 12 years ago by walter

  • Severity changed from Major to Minor

I might do a bit of rearranging between now and string freeze--e.g., move the Samples button to the project toolbar and rename the save/load toolbar to import/export. But I remain unconvinced that the save-as option under the keep button is as easy or accessible as separate buttons.

comment:13 Changed 12 years ago by walter

  • Resolution set to wontfix
  • Status changed from assigned to closed

Maybe revisit at 0.88 after feedback on the 0.86 toolbar design ad advent of versioning

comment:14 Changed 8 years ago by dnarvaez

  • Milestone 0.86 deleted

Milestone 0.86 deleted

Note: See TracTickets for help on using tickets.