GNOME Bugzilla – Bug 651633
Hidden task/memo sidebar always automagically re-appears
Last modified: 2011-08-19 06:58:53 UTC
Evolution 3.0 on Fedora 15, I like to hide the task/memo side bar when looking at the month view calendar. But Evolution doesn't remember where I put it. To test, move or hide the side bar on calendar month view, then change in all other calendar views (make sure the sidebar is different in at least one other view), change to contacts and mail, go back to calendar and click through your various views. Your custom placements are lost. Evolution should remember where these things were placed.
Thanks for a bug report. It was hard to understand what is going on here, and definitely to reproduce it, but I think I got it. My simple reproducer is: a) go to calendar view b) be in a Day view c) minimize right side panel with Tasks and Memos to the most right d) change to Month view (the right side is still 0 pixel width) e) change to Day view - the right side is suddenly shown f) change to work week view - right side changes to 0 pixel width again g) back to day view - it's kept 0 pixel Thus only moving from month view to day view changes width of the panel, but only temporarily. I was changing view by mouse on the tool bar at the top of the view.
Created attachment 194186 [details] [review] evo patch for evolution; OK, so there are two right-side panel widths, one for the month view, the other for anything else. On view change is the width changed automatically, but it is not propagated to UI itself, because the gtk_paned_set_position() is called in size_allocate callback, which doesn't work, because GtkPaned calls internally gtk_widget_queue_resize_no_redraw() to have this change propagated into UI, but, as gtk+ documentation says, calling queue_resize from size_allocate is silently ignored, thus it's ignored and only on the next size_allocate call is the panel properly resized, which is, apparently, too late, thus, its internal structures has set correct width, but the UI shows the previous width. Complicated, right?
Created commit c8061dd in evo master (3.1.90+) Created commit 6e241ff in evo gnome-3-0 (3.0.3+)