mirror of
https://github.com/rkd77/elinks.git
synced 2024-09-06 23:44:43 -04:00
commit
36fc784212
@ -205,6 +205,7 @@ enum remote_method_enum {
|
|||||||
REMOTE_METHOD_ADDBOOKMARK,
|
REMOTE_METHOD_ADDBOOKMARK,
|
||||||
REMOTE_METHOD_INFOBOX,
|
REMOTE_METHOD_INFOBOX,
|
||||||
REMOTE_METHOD_RELOAD,
|
REMOTE_METHOD_RELOAD,
|
||||||
|
REMOTE_METHOD_SEARCH,
|
||||||
REMOTE_METHOD_NOT_SUPPORTED,
|
REMOTE_METHOD_NOT_SUPPORTED,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -223,6 +224,7 @@ remote_cmd(struct option *o, unsigned char ***argv, int *argc)
|
|||||||
{ "infoBox", REMOTE_METHOD_INFOBOX },
|
{ "infoBox", REMOTE_METHOD_INFOBOX },
|
||||||
{ "xfeDoCommand", REMOTE_METHOD_XFEDOCOMMAND },
|
{ "xfeDoCommand", REMOTE_METHOD_XFEDOCOMMAND },
|
||||||
{ "reload", REMOTE_METHOD_RELOAD },
|
{ "reload", REMOTE_METHOD_RELOAD },
|
||||||
|
{ "search", REMOTE_METHOD_SEARCH },
|
||||||
{ NULL, REMOTE_METHOD_NOT_SUPPORTED },
|
{ NULL, REMOTE_METHOD_NOT_SUPPORTED },
|
||||||
};
|
};
|
||||||
unsigned char *command, *arg, *argend, *argstring;
|
unsigned char *command, *arg, *argend, *argstring;
|
||||||
@ -392,6 +394,16 @@ remote_cmd(struct option *o, unsigned char ***argv, int *argc)
|
|||||||
remote_session_flags = SES_REMOTE_RELOAD;
|
remote_session_flags = SES_REMOTE_RELOAD;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case REMOTE_METHOD_SEARCH:
|
||||||
|
if (remote_argc < 1)
|
||||||
|
remote_url = stracpy("");
|
||||||
|
else
|
||||||
|
remote_url = stracpy(remote_argv[0]);
|
||||||
|
insert_in_string(&remote_url, 0,
|
||||||
|
"search:", sizeof("search:") - 1);
|
||||||
|
remote_session_flags = SES_REMOTE_SEARCH;
|
||||||
|
break;
|
||||||
|
|
||||||
case REMOTE_METHOD_NOT_SUPPORTED:
|
case REMOTE_METHOD_NOT_SUPPORTED:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
#include "viewer/text/form.h"
|
#include "viewer/text/form.h"
|
||||||
#include "viewer/text/link.h"
|
#include "viewer/text/link.h"
|
||||||
#include "viewer/text/view.h"
|
#include "viewer/text/view.h"
|
||||||
|
#include "viewer/text/search.h"
|
||||||
|
|
||||||
|
|
||||||
struct file_to_load {
|
struct file_to_load {
|
||||||
@ -1052,9 +1053,19 @@ init_remote_session(struct session *ses, enum remote_session_flags *remote_ptr,
|
|||||||
|
|
||||||
} else if (remote & SES_REMOTE_PROMPT_URL) {
|
} else if (remote & SES_REMOTE_PROMPT_URL) {
|
||||||
dialog_goto_url_open(ses);
|
dialog_goto_url_open(ses);
|
||||||
|
|
||||||
} else if (remote & SES_REMOTE_RELOAD) {
|
} else if (remote & SES_REMOTE_RELOAD) {
|
||||||
reload(ses, CACHE_MODE_FORCE_RELOAD);
|
reload(ses, CACHE_MODE_FORCE_RELOAD);
|
||||||
|
} else if (remote & SES_REMOTE_SEARCH) {
|
||||||
|
if (!uri)
|
||||||
|
return;
|
||||||
|
if (strncmp(uri->string, "search:", sizeof("search:") - 1)) {
|
||||||
|
info_box(ses->tab->term, MSGBOX_FREE_TEXT,
|
||||||
|
N_("Incorrect search uri"), ALIGN_CENTER,
|
||||||
|
uri->string);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
search_for(ses, uri->data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,6 +36,7 @@ enum remote_session_flags {
|
|||||||
SES_REMOTE_ADD_BOOKMARK = 32,
|
SES_REMOTE_ADD_BOOKMARK = 32,
|
||||||
SES_REMOTE_INFO_BOX = 64,
|
SES_REMOTE_INFO_BOX = 64,
|
||||||
SES_REMOTE_RELOAD = 128,
|
SES_REMOTE_RELOAD = 128,
|
||||||
|
SES_REMOTE_SEARCH = 256,
|
||||||
};
|
};
|
||||||
|
|
||||||
/** This is generic frame descriptor, meaningful mainly for ses_*_frame*(). */
|
/** This is generic frame descriptor, meaningful mainly for ses_*_frame*(). */
|
||||||
|
@ -1032,7 +1032,7 @@ search_for_back(struct session *ses, unsigned char *str)
|
|||||||
search_for_do(ses, str, -1, 1);
|
search_for_do(ses, str, -1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
void
|
||||||
search_for(struct session *ses, unsigned char *str)
|
search_for(struct session *ses, unsigned char *str)
|
||||||
{
|
{
|
||||||
assert(ses && str);
|
assert(ses && str);
|
||||||
|
@ -18,7 +18,7 @@ enum frame_event_status find_next(struct session *ses, struct document_view *doc
|
|||||||
enum frame_event_status move_search_next(struct session *ses, struct document_view *doc_view);
|
enum frame_event_status move_search_next(struct session *ses, struct document_view *doc_view);
|
||||||
enum frame_event_status move_search_prev(struct session *ses, struct document_view *doc_view);
|
enum frame_event_status move_search_prev(struct session *ses, struct document_view *doc_view);
|
||||||
|
|
||||||
|
void search_for(struct session *ses, unsigned char *str);
|
||||||
enum frame_event_status search_dlg(struct session *ses, struct document_view *doc_view, int direction);
|
enum frame_event_status search_dlg(struct session *ses, struct document_view *doc_view, int direction);
|
||||||
enum frame_event_status search_typeahead(struct session *ses, struct document_view *doc_view, action_id_T action_id);
|
enum frame_event_status search_typeahead(struct session *ses, struct document_view *doc_view, action_id_T action_id);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user