aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/cal-search-bar.c
Commit message (Collapse)AuthorAgeFilesLines
* [Search bar re-design implementation, Take 2.]Ettore Perazzoli2002-03-191-31/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * e-search-bar.c (clear_verb_cb): New. (setup_standard_verbs): New. (e_search_bar_set_ui_component): Call it if a new BonoboUIComponent is set. (append_xml_menu_item): New helper function. (update_bonobo_menus): Use it. Also add a "Clear" menu item. (e_search_bar_construct): @menu_items can be NULL now. (e_search_bar_new): Same here. (set_menu): Work with NULL items. * e-filter-bar.c (menubar_activated): Don't handle E_FILTERBAR_RESET_ID anymore. * e-filter-bar.h: Remove `E_FILTERBAR_RESET_ID' and `E_FILTERBAR_RESET'. * folder-browser.c: Remove E_FILTERBAR_RESET menu entry. * gui/cal-search-bar.c: Removed `search_menu_items'. (cal_search_bar_menu_activated): Removed. (cal_search_bar_class_init): Don't install. (cal_search_bar_construct): No menu items here. * gui/component/addressbook.c (addressbook_menu_activated): Removed. (addressbook_factory_new_control): Don't connect anymore, as this signal has been removed from the ESearchBar. (addressbook_factory_new_control): No more custom menu items here. svn path=/trunk/; revision=16194
* change query_changed to search_activated.Chris Toshok2002-02-251-4/+4
| | | | | | | | | | | 2002-02-24 Chris Toshok <toshok@ximian.com> * gui/cal-search-bar.c (cal_search_bar_class_init): change query_changed to search_activated. (cal_search_bar_search_activated): rename cal_search_bar_query_changed to this. svn path=/trunk/; revision=15830
* Fix bug #12163.Federico Mena Quintero2001-10-301-0/+1
| | | | | | | | | | | | | | | | 2001-10-29 Federico Mena Quintero <federico@ximian.com> Fix bug #12163. * cal-util/cal-util.c (compute_alarm_range): Take alarm repetitions into account. (add_alarm_occurrences_cb): Add alarm repetitions. (generate_absolute_triggers): Likewise. (generate_absolute_triggers): Oops, absolute triggers are in UTC, so convert them as such. Also, pay attention to the timezones of the dtstart and dtend properties. svn path=/trunk/; revision=14369
* Fixing the license text.Ettore Perazzoli2001-10-281-4/+3
| | | | svn path=/trunk/; revision=14214
* Fixes bug #7879, a query may receive an update notification from theFederico Mena Quintero2001-08-291-0/+2
| | | | | | | | | | | | | | | | | | | | 2001-08-28 Federico Mena Quintero <federico@ximian.com> Fixes bug #7879, a query may receive an update notification from the backend before the query itself gets populated. * pcs/query.c (ensure_sexp): New function; ensures that the esexp is created and notifies of parse errors. It is the bulk of start_query_cb() but put in a separate function so that we can share it elsewhere. (start_query_cb): Use ensure_sexp(). (process_component_cb): Oops, notify of a successfully finished query. (match_component): Call ensure_sexp(). This function can be called by the backend notification callbacks before the query is populated, so we need to make sure the esexp exists here. svn path=/trunk/; revision=12509
* Boost scoring on an exact nickname match. Manually addressify match.Jon Trowbridge2001-08-161-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-16 Jon Trowbridge <trow@ximian.com> * gui/component/select-names/e-select-names-completion.c (match_nickname): Boost scoring on an exact nickname match. Manually addressify match. (match_name): Manually addressify matches. (book_query_score): Remove automatic addressification. * gui/component/addressbook.c (addressbook_query_changed): Minor tweak to avoid a crash if we have a negative subid with id ESB_CATEGORY. This should never happen. (addressbook_menu_activated): Reset the entry/option when we select "Clear". Some changes to reflect renaming in ESearchBar. * gui/component/select-names/e-select-names-bonobo.c (entry_set_property_fn): Cardify after importing destinations. This might fix a problem that Damon is having. 2001-08-16 Jon Trowbridge <trow@ximian.com> * e-filter-bar.c (option_changed): Adjusted for renamed ESearchBar functions. (menubar_activated): Adjusted for renamed ESearchBar functions. * e-search-bar.c: Renames some of the horrible function names: s/option_choice/item_id/, s/suboption_choice/subitem_id/. 2001-08-16 Jon Trowbridge <trow@ximian.com> * gui/cal-search-bar.c: Changed to reflect my renaming of some of the more hideously-named functions in the ESearchBar API. svn path=/trunk/; revision=12081
* Make the "Any Category" item consistent with the one in the addressbook.Federico Mena Quintero2001-08-151-6/+9
| | | | | | | | | | 2001-08-14 Federico Mena Quintero <federico@ximian.com> * gui/cal-search-bar.c (make_suboptions): Make the "Any Category" item consistent with the one in the addressbook. Also, free the items correctly. svn path=/trunk/; revision=12020
* Handle an array of categories in the CalSearchBar instead of our own menuFederico Mena Quintero2001-08-151-139/+140
| | | | | | | | | | | | | | | | | 2001-08-14 Federico Mena Quintero <federico@ximian.com> * gui/cal-search-bar.c (get_current_category): Handle an array of categories in the CalSearchBar instead of our own menu items. (notify_query_contains): Fetch the text from the search bar here instead of in regen_query(). (regen_query): Handle category searches. (notify_category_is): New function. (cal_search_bar_construct): Do not create an option menu. (make_suboptions): New function to create the suboption items from the list of categories. (notify_query_contains): Do not include a category sexp here. svn path=/trunk/; revision=12016
* Removed comment about the need to resolve nicknames properly, because weJon Trowbridge2001-08-111-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-10 Jon Trowbridge <trow@ximian.com> * e-msg-composer-hdrs.c (set_recipients): Removed comment about the need to resolve nicknames properly, because we now do that. 2001-08-10 Jon Trowbridge <trow@ximian.com> * e-filter-bar.h: Set the subitems to NULL in the pre-defined ESearchBarItems. * e-filter-bar.c (rule_editor_clicked): Set the ESearchBarItem's subitems to NULL. (build_items): Set the ESearchBarItem's subitems to NULL. (e_filter_bar_new): Set the ESearchBarItem's subitems to NULL. * e-search-bar.c: Added support for subitems, so that a search option can key off of another option menu rather than just an entry. 2001-08-10 Jon Trowbridge <trow@ximian.com> * gui/component/addressbook.c: Set the ESearchBarItem subitems explicitly to NULL. 2001-08-10 Jon Trowbridge <trow@ximian.com> * gui/cal-search-bar.c: Where we have ESearchBarItems, set their subitems to NULL. 2001-08-10 Jon Trowbridge <trow@ximian.com> * folder-browser.c: Set our ESearchBarItems subitems to NULL. svn path=/trunk/; revision=11904
* Chain to the destroy handler in the parent class!Federico Mena Quintero2001-08-091-0/+29
| | | | | | | | | | | | | | | 2001-08-09 Federico Mena Quintero <federico@ximian.com> * gui/e-itip-control.c (destroy): Chain to the destroy handler in the parent class! * gui/dialogs/comp-editor-page.c (comp_editor_page_destroy): Likewise. Sigh. * gui/cal-search-bar.c (cal_search_bar_destroy): Whoops, added a destroy handler. svn path=/trunk/; revision=11820
* New function; stops further notification from happening. This is neededFederico Mena Quintero2001-08-041-3/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-03 Federico Mena Quintero <federico@ximian.com> * cal-client/query-listener.c (query_listener_stop_notification): New function; stops further notification from happening. This is needed since the listener is destroyed asynchronously from the Wombat and the corresponding CalQuery may already have died. (impl_notifyObjUpdated): Do not notify if requested. (impl_notifyObjRemoved): Likewise. (impl_notifyQueryDone): Likewise. (impl_notifyEvalError): Likewise. * cal-client/cal-query.c (cal_query_destroy): Use query_listener_stop_notification(). * cal-client/cal-listener.c (cal_listener_destroy): Nullify the pointers to the callback functions. * gui/e-day-view.c (update_query): Commit our state of no longer having a query before unrefing it. We may reenter from the ORBit main loop and we *really* want this information to be committed. * gui/e-week-view.c (update_query): Likewise. * gui/calendar-model.c (update_query): Likewise. * gui/tag-calendar.c (tag_calendar_by_comp): Added a "clear_first" argument that indicates whether the ECalendar should be cleared of any marks first. * gui/calendar-commands.c (calendar_control_activate): Removed ifdefed-out view buttons code from the Gnomecal days. * gui/gnome-cal.c (client_categories_changed_cb): Merge the categories of the calendar and tasks clients so that we can display the categories in both sets. (gnome_calendar_construct): Connect to "categories_changed" on both clients. (gnome_calendar_on_date_navigator_selection_changed): Removed call to gnome_calendar_update_view_buttons(). (gnome_calendar_update_view_buttons): Removed. We cannot have this until Bonobo supports radio toolbar items. (gnome_calendar_set_view_buttons): Removed. (gnome_calendar_dayjump): Do not use priv->day_button. (GnomeCalendarPrivate): Removed the {day,work_week,week,month}_button fields. (gnome_calendar_set_query): Start a retagging process of the date navigator so that it reflects the current query. (update_query): New function to restart a query for the date navigator. (initial_load): Use update_query() instead of tagging the date navigator directly. (gnome_calendar_on_date_navigator_date_range_changed): Likewise. (client_cal_opened_cb): Use update_query() instead of initial_load(). (initial_load): Removed. (client_obj_updated_cb): Removed. (client_obj_removed_cb): Removed. (gnome_calendar_new_appointment_for): Set the default category of the new component. (search_bar_category_changed_cb): Set the default category for the calendar views. * gui/cal-search-bar.c (cal_search_bar_set_categories): Sort the categories before creating the menu. * gui/e-day-view.c (adjust_query_sexp): Return NULL instead of "#f" if the time range is not set yet. (update_query): Do not start a query if the time range is not set. (e_day_view_set_default_category): New function. (e_day_view_key_press): Set the default category on the new component. * gui/e-week-view.c (adjust_query_sexp): Analogous to the above. (update_query): Analogous to the above. (e_week_view_set_default_category): Analogous to the above. (e_week_view_key_press): Analogous to the above. svn path=/trunk/; revision=11646
* The calendar search bar widget now includes a drop-down menu of availableFederico Mena Quintero2001-08-021-20/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2001-08-01 Federico Mena Quintero <federico@ximian.com> The calendar search bar widget now includes a drop-down menu of available categories. * pcs/query.c (func_has_categories): Handle one and only one #f value as meaning "unfiled", for components that have no categories at all. * pcs/cal-backend-file.c (open_cal): Duh, do not notify here about changed categories since at this point we don't have any clients bound to us yet. (create_cal): Likewise. (cal_backend_file_add_cal): Notify here. * gui/cal-search-bar.h (CalSearchBarClass): New signal "category_changed". * gui/cal-search-bar.c (cal_search_bar_construct): Add a drop-down menu for the list of categories. (search_option_items): Removed the "Has category" option, since we now have the drop-down menu instad and it would be confusing to have both options. (regen_query): Likewise. Also, this function is now the old cal_search_bar_query_changed() and is shared by that very function and by the callback from the drop-down menu. (notify_query_contains): Include the sub-sexp for the categories. (cal_search_bar_set_categories): New function. (cal_search_bar_get_category): New function. (categories_selection_done_cb): Emit the "category_changed" signal. * gui/e-tasks.c (obj_updated_cb): Removed function since it did not do anything; all updates are handled by the CalendarModel. (obj_removed_cb): Likewise. (ETasksPrivate): Removed the fields for the categories option menu, since now it is in the ESearchBar. (search_bar_sexp_changed_cb): Use calendar_model_set_query() directly here, as we do not need to frob the sexp anymore. (update_query): Removed. (client_categories_changed_cb): New callback. (search_bar_category_changed_cb): New callback. (e_tasks_new_task): Set the default category on the component to the one that is selected in the search bar. (e_tasks_on_filter_selected): Removed. (e_tasks_on_categories_changed): Removed. (e_tasks_rebuild_categories_menu): Removed. (e_tasks_add_menu_item): Removed. (e_tasks_setup_view_menus): Sanitized not to sink objects wildly. (e_tasks_discard_view_menus): New function. * gui/calendar-model.h (CalendarModelClass): Removed the "categories_changed" signal since this is handled in the Wombat now. * gui/calendar-model.c (calendar_model_get_categories): Removed. (calendar_model_set_value_at): Do not collect the categories. (query_obj_updated_cb): Likewise. (calendar_model_collect_categories): Removed. (calendar_model_set_default_category): Constify. * gui/tasks-control.c (tasks_control_deactivate): Call e_tasks_discard_view_menus(). * gui/gnome-cal.c (search_bar_category_changed_cb): Set the default category for the task pad's model. svn path=/trunk/; revision=11559
* New files with a derivative of ESearchBar that generates sexps forFederico Mena Quintero2001-07-281-0/+260
2001-07-27 Federico Mena Quintero <federico@ximian.com> * gui/cal-search-bar.[ch]: New files with a derivative of ESearchBar that generates sexps for calendar queries directly. * gui/gnome-cal.c (setup_widgets): Use CalSearchBar instead of ESearchBar. * gui/e-calendar-table.h (ECalendarTable): Removed the ->colors array since it is handled by ETableExtras now. * gui/e-calendar-table.[ch]: Removed the subset_model. Now we use the live query facility to filter tasks. Removed the filter function stuff as well. * gui/e-tasks.c (e_tasks_construct): Use calendar_model_set_cal_client() directly instead of e_calendar_table_set_model(). (setup_widgets): Create a calendar search bar for the tasks component. (search_bar_sexp_changed_cb): Set the query sexp on the table model. (e_tasks_on_filter_selected): Regenerate the query from the selected category and the current sexp. (update_query): New convenience function to recompute the real query sexp. * gui/gnome-cal.c (gnome_calendar_construct): Likewise. * gui/e-calendar-table.c (e_calendar_table_set_cal_client): Removed function; people are now supposed to get the model from the calendar table and operate on it. * gui/calendar-commands.c (verbs): Consistency fixes with the XML file. (pixmaps): Likewise. * gui/Makefile.am (evolution_calendar_SOURCES): Added cal-search-bar.[ch] to the list of sources. 2001-07-20 Federico Mena Quintero <federico@ximian.com> * idl/evolution-calendar.idl (CompEditorFactory): New interface to a centralized factory for calendar component editors. Has editExisting() and editNew() methods to edit an existing component from a URI/UID pair, and to create a new component in a calendar that is in a particular URI, respectively. * gui/comp-editor-factory.[ch]: Implementation files for the component editor factory. * gui/GNOME_Evolution_Calendar.oaf.in: Added the CompEditorFactory stuff. * gui/Makefile.am (evolution_calendar_SOURCES): Added comp-editor-factory.[ch] to the list of sources. svn path=/trunk/; revision=11455