diff --git a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ComboBoxText.h b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ComboBoxText.h index a1d83bd68..ed4702998 100644 --- a/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ComboBoxText.h +++ b/campcaster/src/modules/widgets/include/LiveSupport/Widgets/ComboBoxText.h @@ -355,6 +355,19 @@ class ComboBoxText : public Gtk::ComboBoxText */ sigc::signal signalSelectionChanged(void) throw (); + + /** + * Enable or disable the widget. + * + * @param sensitive if true, the widget is enabled (default); + * if false, the widget is disabled. + */ + virtual void + set_sensitive(bool sensitive = true) throw () + { + label->set_sensitive(sensitive); + Gtk::ComboBoxText::set_sensitive(sensitive); + } }; diff --git a/campcaster/src/products/gLiveSupport/src/BrowseEntry.h b/campcaster/src/products/gLiveSupport/src/BrowseEntry.h index ad897b4a2..0d527bcbb 100644 --- a/campcaster/src/products/gLiveSupport/src/BrowseEntry.h +++ b/campcaster/src/products/gLiveSupport/src/BrowseEntry.h @@ -132,10 +132,24 @@ class BrowseEntry : public Gtk::HBox, * @return the signalSelectionChanged() of the last browse item */ sigc::signal - signalSelectionChanged(void) throw () + signalSelectionChanged(void) throw () { return browseItemThree->signalSelectionChanged(); } + + /** + * Enable or disable the widget. + * + * @param sensitive if true, the widget is enabled (default); + * if false, the widget is disabled. + */ + void + setSensitive(bool sensitive = true) throw () + { + browseItemOne->setSensitive(sensitive); + browseItemTwo->setSensitive(sensitive); + browseItemThree->setSensitive(sensitive); + } }; diff --git a/campcaster/src/products/gLiveSupport/src/BrowseItem.h b/campcaster/src/products/gLiveSupport/src/BrowseItem.h index d0e159356..76e67375b 100644 --- a/campcaster/src/products/gLiveSupport/src/BrowseItem.h +++ b/campcaster/src/products/gLiveSupport/src/BrowseItem.h @@ -251,6 +251,19 @@ class BrowseItem : public Gtk::VBox, { return signalSelectionChangedObject; } + + /** + * Enable or disable the widget. + * + * @param sensitive if true, the widget is enabled (default); + * if false, the widget is disabled. + */ + void + setSensitive(bool sensitive = true) throw () + { + metadataEntry->set_sensitive(sensitive); + metadataValues->set_sensitive(sensitive); + } }; diff --git a/campcaster/src/products/gLiveSupport/src/SearchWindow.cxx b/campcaster/src/products/gLiveSupport/src/SearchWindow.cxx index 6b77397cc..c4975e736 100644 --- a/campcaster/src/products/gLiveSupport/src/SearchWindow.cxx +++ b/campcaster/src/products/gLiveSupport/src/SearchWindow.cxx @@ -1093,8 +1093,10 @@ void SearchWindow :: onSearchWhereChanged(void) throw () { if (searchIsLocal()) { + browseEntry->setSensitive(true); searchResultsTreeView->set_model(localSearchResults); } else { + browseEntry->setSensitive(false); searchResultsTreeView->set_model(remoteSearchResults); }