2004-06-23  Not Zed  <NotZed@Ximian.com>

        ** See #54030.

        * e-searching-tokenizer.c (e_searching_tokenizer_match_count):
        only return a count if we're using the primary search string.

        * em-format-html-display.c (efhd_search_response): set the primary
        search string to NULL instead of resetting it.
        (efhd_update_search): dont noop if we have a null search text,
        just set an empty search.

        * e-searching-tokenizer.c (e_searching_tokenizer_reset): remove
        this, revert jeff's fixes for 54030.  this is incomplete and so
        doesn't work either (search text stays remembered and secondary
        search text lost too).

        ** See #60523.

        * em-folder-view.c (emfv_finalise): unhook the folder changed
        before destroying the async thing, and move it all to destroy
        event anyway.
        (emfv_destroy): as above.

svn path=/trunk/; revision=26472
This commit is contained in:
Not Zed
2004-06-23 08:08:40 +00:00
committed by Michael Zucci
parent 84b8798d7b
commit 4b2eddbec7
5 changed files with 42 additions and 28 deletions

View File

@ -1,3 +1,27 @@
2004-06-23 Not Zed <NotZed@Ximian.com>
** See #54030.
* e-searching-tokenizer.c (e_searching_tokenizer_match_count):
only return a count if we're using the primary search string.
* em-format-html-display.c (efhd_search_response): set the primary
search string to NULL instead of resetting it.
(efhd_update_search): dont noop if we have a null search text,
just set an empty search.
* e-searching-tokenizer.c (e_searching_tokenizer_reset): remove
this, revert jeff's fixes for 54030. this is incomplete and so
doesn't work either (search text stays remembered and secondary
search text lost too).
** See #60523.
* em-folder-view.c (emfv_finalise): unhook the folder changed
before destroying the async thing, and move it all to destroy
event anyway.
(emfv_destroy): as above.
2004-06-22 Jeffrey Stedfast <fejj@novell.com>
* em-folder-tree-model.c (sort_cb): Same as below.

View File

@ -1139,7 +1139,7 @@ e_searching_tokenizer_next_token (HTMLTokenizer *tok)
oldmatched = st->priv->engine->matchcount;
token = searcher_next_token(st->priv->engine);
/* not sure if this has to be accurate or just say we had some matches */
if (oldmatched != st->priv->engine->matchcount)
g_signal_emit (st, signals[MATCH_SIGNAL], 0);
@ -1239,22 +1239,14 @@ e_searching_tokenizer_set_secondary_case_sensitivity (ESearchingTokenizer *st, g
search_info_set_flags(st->priv->secondary, iscase?SEARCH_CASE:0, SEARCH_CASE);
}
/* Note: only returns the primary search string count */
gint
e_searching_tokenizer_match_count (ESearchingTokenizer *st)
{
g_return_val_if_fail (E_IS_SEARCHING_TOKENIZER (st), -1);
if (st->priv->engine)
if (st->priv->engine && st->priv->primary->strv->len)
return st->priv->engine->matchcount;
return 0;
}
void
e_searching_tokenizer_reset (ESearchingTokenizer *st)
{
if (st->priv->engine) {
searcher_free (st->priv->engine);
st->priv->engine = NULL;
}
}

View File

@ -70,7 +70,4 @@ void e_searching_tokenizer_set_secondary_case_sensitivity (ESearchingTokenizer *
int e_searching_tokenizer_match_count (ESearchingTokenizer *);
void e_searching_tokenizer_reset (ESearchingTokenizer *);
#endif /* __E_SEARCHING_TOKENIZER_H__ */

View File

@ -203,16 +203,6 @@ emfv_finalise(GObject *o)
EMFolderView *emfv = (EMFolderView *)o;
struct _EMFolderViewPrivate *p = emfv->priv;
if (emfv->async)
mail_async_event_destroy(emfv->async);
if (emfv->folder) {
if (p->folder_changed_id)
camel_object_remove_event(emfv->folder, p->folder_changed_id);
camel_object_unref(emfv->folder);
g_free(emfv->folder_uri);
}
g_slist_free(emfv->ui_files);
g_slist_free(emfv->enable_map);
@ -240,6 +230,20 @@ emfv_destroy (GtkObject *o)
g_object_unref(gconf);
}
if (emfv->folder) {
if (p->folder_changed_id)
camel_object_remove_event(emfv->folder, p->folder_changed_id);
camel_object_unref(emfv->folder);
g_free(emfv->folder_uri);
emfv->folder = NULL;
emfv->folder_uri = NULL;
}
if (emfv->async) {
mail_async_event_destroy(emfv->async);
emfv->async = NULL;
}
if (p->invisible) {
g_object_unref(p->invisible);
p->invisible = NULL;

View File

@ -423,9 +423,6 @@ efhd_update_search(EMFormatHTMLDisplay *efhd)
GSList *words = NULL;
int flags = 0;
if (p->search_text == NULL)
return;
if (!gtk_toggle_button_get_active((GtkToggleButton *)p->search_case_check))
flags = EM_FORMAT_HTML_DISPLAY_SEARCH_ICASE | EM_FORMAT_HTML_DISPLAY_SEARCH_PRIMARY;
else
@ -465,8 +462,8 @@ efhd_search_response(GtkWidget *w, int button, EMFormatHTMLDisplay *efhd)
g_free(p->search_text);
p->search_text = NULL;
gtk_widget_destroy((GtkWidget *)p->search_dialog);
e_searching_tokenizer_reset (efhd->search_tok);
p->search_dialog = NULL;
em_format_html_display_set_search(efhd, EM_FORMAT_HTML_DISPLAY_SEARCH_PRIMARY, NULL);
}
}