+ContentPanel::item_deselected ()
+{
+ /* Maybe this is just a re-click on the same item; if not, _ignore_deselect will stay
+ false and item_deselected_foo will handle the deselection.
+ */
+ _ignore_deselect = false;
+ signal_manager->when_idle (boost::bind (&ContentPanel::item_deselected_idle, this));
+}
+
+void
+ContentPanel::item_deselected_idle ()
+{
+ if (!_ignore_deselect) {
+ check_selection ();
+ }
+}
+
+void
+ContentPanel::item_selected ()
+{
+ _ignore_deselect = true;
+ check_selection ();
+}
+
+void
+ContentPanel::check_selection ()