GNOME Bugzilla – Bug 318931
[PATCH]SlideView: Working keys & Jump to last image on exit
Last modified: 2007-08-07 11:42:02 UTC
1. Enable the keys Right/Left/PageDown... to navigate in the SlideView, the key "p" to Pause/Resume it and similiar features 2. On exit of SlideView: Jump to the last image, you were viewing and (perhaps) select it. Then you can resume the SlideView easily and don't have to go through all picures again or search your current position. Other information:
Created attachment 53508 [details] [review] SlideView patch with enabled key navigation and image jump on exit
This patch looks pretty good. I wonder if changing the selected/displayed image of the non-slideshow view every time the slideshow image would have noticable negative performance impact? It has the advantage of likely already having the last displayed image selected when the user exits slideshow mode. The alternative being only jumping to the last image when the user actually exits.
Thanks. You are right that jumping should only be performed on slideshow-exit. IMHO this works like that already. My code lines are located in the function "HandleDestroyed" and this function should only be called on exit. But correct me if I'm wrong.
Okay, I just glanced at your patch and thought that the code in OnMotionNotifyEvent was changing the photo displayed in the MainWindow (and thinking that OnMotionNotifyEvents got fired whenever the slideshow photo changed)...I'm probably just not getting the whole picture without applying it/knowing that bit of code.
Created attachment 53891 [details] [review] SlideView Patch against CVS version
Created attachment 53892 [details] [review] Fixed SlideShow not being continued correctly Solved: SlideShow sometimes showed blank screens between crossfades
This patch is almost ready. The only problem I see with it is when I press the left/right arrows to go to the previous/next photo, it takes quite a while. And more critically, it seems that it sometimes takes a very long time, especially if I've pressed the arrow key multiple times. I believe the reason is a blocking load of the next photo. This should be interruptible/cancellable so the UI is faster/smoother. I actually had my computer frozen for about 2 minutes while it caught up...not sure what that's about.
Created attachment 59928 [details] [review] New patch with faster user reaction. This patch improves performance and the image is shown faster. Also, you see the images, when you press the right arrow multiple times. I was not able to make the blocking load of the next photo interruptible (as Gabriel Burt suggested). Can someone help?
Fabian, in the future can you please use diff -u when making patches, they are much easier to read.
Created attachment 65747 [details] [review] Patch in -u format This patch looks and works fine. I attached it in "diff -u" format for your convenience.
I've just tried this and could reproduce the problems mentionned in http://bugzilla.gnome.org/show_bug.cgi?id=318931#c7. That makes it unusable in my case. (though I never had to wait for more than a couple of seconds, far from the 2 minutes Gabriel mentions) I have no idea how this could be improved as f-spot needs to acknowledge the keypress in some way but obviously can't show the picture before it has loaded it. And caching the previous and next picture would not help when pressing the key several times.
I have just tried to reproduce your problem. On my computer (Athlon64 3200+; 1.3MB JPEG files, 2848x2136 pixels), I have to wait less than 1 second at most times, sometimes a little bit more than 1 second. But always under 2 seconds. In comparison, gqview needs a bit less than 1 second when loading it without precaching. About caching: f-spot caches the next picture after the transition has finished. As you say, caching more pictures doesn't make much sense. In what case is this patch unusable? If you just want to view your pictures, you can also use the fullscreen mode.
With my patched f-spot, if I try to move back one picture, nothing seems to happen. Until it finally displays the previous picture, that is. But it takes long enough that it feels like f-spot is not going to take my request into account. Do realise that it doesn't take much to give that feeling. One second is long enough to make it feel unresponsive. Move backwards two pictures is even worse: if I press the key twice, it goes back only one picture! After trying it again and comparing with f-spot's and gqview's fullscreen modes, I think I know how it could be improved: by allowing progressive display. That's what makes Fullscreen view feel more responsive. And maybe using the keyboard in Slide view should automatically pause the slideshow? Not sure about that, but sometimes I move one picture backwards and f-spot immediately moves "back" to the next picture, presumably because the timeout has expired. So either automatically pausing or fixing this timeout issue. Don't get me wrong, this patch is definitely good to have. It's just that there are some issues that currently make it useless for me.
SlideView is no longer used (except as screensaver) and was replaced by FullScreenView which solve some of the problems adressed by this set of patches. I'm closing this as obsolete