コード例 #1
0
ファイル: search.c プロジェクト: galexcode/NetSurf68k
void nsatari_search_perform(struct s_search_form_session *s, OBJECT *obj,
		search_flags_t f)
{

	bool fwd;
	search_flags_t flags = f;

	assert(s!=null);
	assert(input_window->browser->bw == s->bw);


	if(search_session_compare(s, obj)){
		browser_window_search_destroy_context(s->bw);
		apply_form(obj, &s->state);
	} else {

	}

	/* get search direction manually: */
	if ( (f&SEARCH_FLAG_FORWARDS) != 0 )
		s->state.flags |= SEARCH_FLAG_FORWARDS;
	else
		s->state.flags &= (~SEARCH_FLAG_FORWARDS);

	if( browser_window_search_verify_new(s->bw, &nsatari_search_callbacks, s) ){
		LOG(("searching for: %s\n", gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH)));
		browser_window_search_step(s->bw, s->state.flags,
									gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH));
	}

}
コード例 #2
0
ファイル: search.c プロジェクト: galexcode/NetSurf68k
/** checks for search parameters changes */
static bool search_session_compare(struct s_search_form_session *s, OBJECT *obj)
{
	bool check;
	uint32_t flags_old;
	uint32_t flags_mask = SEARCH_FLAG_SHOWALL | SEARCH_FLAG_CASE_SENSITIVE;
	struct s_search_form_state cur;

	assert(s != NULL && obj != NULL);

	flags_old = s->state.flags;

	apply_form(obj, &cur);
	if ((cur.flags&flags_mask) != (flags_old&flags_mask)) {
		return( true );
	}

	char * cstr;
	cstr = gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH);
	if (cstr != NULL){
		if (strcmp(cstr, (char*)&s->state.text) != 0) {
			return (true);
		}
	}

	return( false );
}
コード例 #3
0
ファイル: search.c プロジェクト: galexcode/NetSurf68k
struct s_search_form_session * nsatari_search_session_create(OBJECT * obj,
		struct browser_window *bw)
{
	struct s_search_form_session *sfs;

	sfs = calloc(1, sizeof(struct s_search_form_session));

	assert(obj);
	assert(sfs);

	sfs->bw = bw;

	apply_form(obj, &sfs->state);

	browser_window_search_destroy_context(bw);

	return(sfs);
}
コード例 #4
0
ファイル: search.c プロジェクト: kyllikki/netsurf
struct s_search_form_session * nsatari_search_session_create(OBJECT * obj,
							     struct gui_window *gw)
{
	struct s_search_form_session *sfs;

	sfs = calloc(1, sizeof(struct s_search_form_session));

	assert(obj);
	assert(sfs);

	sfs->g = gw;

	apply_form(obj, &sfs->state);

	browser_window_search_clear(gw->browser->bw);

	return(sfs);
}
コード例 #5
0
ファイル: search.c プロジェクト: kyllikki/netsurf
void nsatari_search_perform(struct s_search_form_session *s, OBJECT *obj,
			    search_flags_t f)
{
	assert(s!=null);
	assert(input_window->browser->bw == s->g->browser->bw);

	if (search_session_compare(s, obj)) {
		browser_window_search_clear(s->g->browser->bw);
		apply_form(obj, &s->state);
	}

	/* get search direction manually: */
	if ( (f&SEARCH_FLAG_FORWARDS) != 0 ) {
		s->state.flags |= SEARCH_FLAG_FORWARDS;
	} else {
		s->state.flags &= (~SEARCH_FLAG_FORWARDS);
	}

	browser_window_search(s->g->browser->bw, s,
			      s->state.flags,
			      gemtk_obj_get_text(obj, TOOLBAR_TB_SRCH));
}