Salta al contenuto principale


Some work in progress in Confy


You know, Confy: the Gnome-based, mobile-friendly Conferences schedule viewer

Some days ago I posted a screenshot about an experiment I was doing with #confy , which atm is on hold.
I'm still looking about the best way to draw a calendar view which can be zoomed in and out fast.

This is using Gtk.Snapshot to draw boxes and Pango.Layout to draw text.
It's still not fast enough with large conferences (mostly because I want to keep the text the same size and just change the boxes...)

Meanwhile I made some other things: some are papercuts, some are to try to have cleaner code, and some are quite big changes:

Actions get enabled/disable correctly per context

"search" action is disabled until an event is opened, and "copy" action is enabled only while a details page is shown.
Small change but prevents some errors.

Update recent list when deleting custom event from menu

Custom event in the "open" window can be removed. Now the entry is also removed from the recent events list.

Navigation sidebar has been updated

Now items does not get out of order after opening an Event with one already opened. Previously, items not needed (eg. 'Traks' where the Event has no tracks) were removed and re-added, which caused them to appear out of order.
Now the items are hidden and shown as needed, thus they do not change order anymore. Plus they are now defined in sidebar widget template. More clear and nice.

Navigation between pages has been revisited.

Originally, every talk details page opened was simply pushed on the stack. This caused some trouble as details page can link to other details pages via overlapping talks, which where pushed on the stack too. But overlapping talks are 'circular' as if Talk A overlaps with Talk B, also Talk B overlaps with Talk A, which can lead to very long stack to navigate back, e.g.:

List -> Talk A -> Talk B -> Talk C -> Talk A -> Talk C 

In latest revisions, clicking on an overlapping talk was simply updating the page in place, losing navigation (and a nice transition between pages):
List -> Talk A
  user clicks on overlapping Talk B
List -> Talk B

Now, we are back to pushing pages on the stack, but if an event has ben already pushed to the stack, we pop back to that page:
List -> Talk A
  user clicks on overlapping Talk B
List -> Talk A -> Talk B
  user clicks on overlapping Talk C
List -> Talk A -> Talk B -> Talk C
  user clicks on overlapping Talk A
List -> Talk A

From my esaustive user testing (me while developing) looks like this could be a nice solution. The animation on page push/pop helps the user to keep track on where is going. At least, it helps me. Get used to it. :)

This is also relevant for the new Search page navigation.

Search can be toggled

Search action now is toggleable (is this a word?), the "search" button in the headerbar is now a togglebutton. One click opens the search, another click closes the search (as does ctrl-f).
When search is opened, the search page is pushed on the stack. Closing the search pop the page (and popping the page closes the search).

From the search page, talk details pages follow the same logic as before, but in a separate 'group'. That is, if the search page is opened from a detail page, and from the search page the same talk is clicked, we don't pop back to the already pushed page (which closes the search) but a new detail page is pushed on the stack:

List -> Talk A -> Talk B
  user clicks the "search" button
List -> Talk A -> Talk B -> Search
  user clicks talk C
List -> Talk A -> Talk B -> Search -> Talk C
  user clicks overlapping talk A
List -> Talk A -> Talk B -> Search -> Talk C -> Talk A
  user clicks the "search" button
List -> Talk A -> Talk B

I hope this make sense and it's usable :)

( btw: the search entry still get focused when the search page pops in. I'm quite proud I managed to keep that :) )

Updated Preference dialog

The design has been moved to template, with a simple custom widget to set caches duration.
Option to clear the recent opened events list has been added.

Everything is in git if anyone want to test it, maybe on some mobile devices, maybe during one of the upcoming conferences...

reshared this

Questo sito utilizza cookie per riconosce gli utenti loggati e quelli che tornano a visitare. Proseguendo la navigazione su questo sito, accetti l'utilizzo di questi cookie.