summaryrefslogtreecommitdiff
path: root/frontends/amiga/search.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/amiga/search.c')
-rwxr-xr-xfrontends/amiga/search.c69
1 files changed, 41 insertions, 28 deletions
diff --git a/frontends/amiga/search.c b/frontends/amiga/search.c
index 99ee5b41e..3392cca76 100755
--- a/frontends/amiga/search.c
+++ b/frontends/amiga/search.c
@@ -61,6 +61,7 @@
#include "amiga/search.h"
#include "amiga/object.h"
#include "amiga/theme.h"
+#include "amiga/utf8.h"
#ifndef NOF_ELEMENTS
#define NOF_ELEMENTS(array) (sizeof(array)/sizeof(*(array)))
@@ -68,10 +69,22 @@
static bool search_insert;
+enum
+{
+ OID_S_MAIN = 0,
+ GID_S_MAIN,
+ GID_S_NEXT,
+ GID_S_PREV,
+ GID_S_SEARCHSTRING,
+ GID_S_SHOWALL,
+ GID_S_CASE,
+ GID_S_LAST
+};
+
struct find_window {
struct ami_generic_window w;
struct Window *win;
- Object *objects[GID_LAST];
+ Object *objects[GID_S_LAST];
struct gui_window *gwin;
};
@@ -131,7 +144,7 @@ void ami_search_open(struct gui_window *gwin)
fwin = calloc(1, sizeof(struct find_window));
- fwin->objects[OID_MAIN] = WindowObj,
+ fwin->objects[OID_S_MAIN] = WindowObj,
WA_ScreenTitle, ami_gui_get_screen_title(),
WA_Title,messages_get("FindTextNS"),
WA_Activate, TRUE,
@@ -145,22 +158,22 @@ void ami_search_open(struct gui_window *gwin)
WINDOW_IconifyGadget, FALSE,
WINDOW_LockHeight,TRUE,
WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, fwin->objects[GID_MAIN] = LayoutVObj,
- LAYOUT_AddChild, fwin->objects[GID_SEARCHSTRING] = StringObj,
- GA_ID,GID_SEARCHSTRING,
+ WINDOW_ParentGroup, fwin->objects[GID_S_MAIN] = LayoutVObj,
+ LAYOUT_AddChild, fwin->objects[GID_S_SEARCHSTRING] = StringObj,
+ GA_ID,GID_S_SEARCHSTRING,
GA_TabCycle,TRUE,
GA_RelVerify,TRUE,
StringEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, fwin->objects[GID_CASE] = CheckBoxObj,
- GA_ID,GID_CASE,
+ LAYOUT_AddChild, fwin->objects[GID_S_CASE] = CheckBoxObj,
+ GA_ID,GID_S_CASE,
GA_Text,messages_get("CaseSens"),
GA_Selected,FALSE,
GA_TabCycle,TRUE,
GA_RelVerify,TRUE,
CheckBoxEnd,
- LAYOUT_AddChild, fwin->objects[GID_SHOWALL] = CheckBoxObj,
- GA_ID,GID_SHOWALL,
+ LAYOUT_AddChild, fwin->objects[GID_S_SHOWALL] = CheckBoxObj,
+ GA_ID,GID_S_SHOWALL,
GA_Text,messages_get("ShowAll"),
GA_Selected,FALSE,
GA_TabCycle,TRUE,
@@ -168,16 +181,16 @@ void ami_search_open(struct gui_window *gwin)
CheckBoxEnd,
LAYOUT_AddChild, LayoutHObj,
- LAYOUT_AddChild, fwin->objects[GID_PREV] = ButtonObj,
- GA_ID,GID_PREV,
+ LAYOUT_AddChild, fwin->objects[GID_S_PREV] = ButtonObj,
+ GA_ID,GID_S_PREV,
GA_RelVerify,TRUE,
GA_Text,messages_get("Prev"),
GA_TabCycle,TRUE,
GA_Disabled,TRUE,
ButtonEnd,
CHILD_WeightedHeight,0,
- LAYOUT_AddChild, fwin->objects[GID_NEXT] = ButtonObj,
- GA_ID,GID_NEXT,
+ LAYOUT_AddChild, fwin->objects[GID_S_NEXT] = ButtonObj,
+ GA_ID,GID_S_NEXT,
GA_RelVerify,TRUE,
GA_Text,messages_get("Next"),
GA_TabCycle,TRUE,
@@ -188,20 +201,20 @@ void ami_search_open(struct gui_window *gwin)
EndGroup,
EndWindow;
- fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_MAIN]);
+ fwin->win = (struct Window *)RA_OpenWindow(fwin->objects[OID_S_MAIN]);
fwin->gwin = gwin;
ami_gui_win_list_add(fwin, AMINS_FINDWINDOW, &ami_search_table);
gwin->shared->searchwin = fwin;
- ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_MAIN], fwin->win,
- NULL, (ULONG)fwin->objects[GID_SEARCHSTRING]);
+ ActivateLayoutGadget((struct Gadget *)fwin->objects[GID_S_MAIN], fwin->win,
+ NULL, (ULONG)fwin->objects[GID_S_SEARCHSTRING]);
}
void ami_search_close(void)
{
browser_window_search_clear(fwin->gwin->bw);
fwin->gwin->shared->searchwin = NULL;
- DisposeObject(fwin->objects[OID_MAIN]);
+ DisposeObject(fwin->objects[OID_S_MAIN]);
ami_gui_win_list_remove(fwin);
fwin = NULL;
}
@@ -213,29 +226,29 @@ static BOOL ami_search_event(void *w)
uint16 code;
search_flags_t flags;
- while((result = RA_HandleInput(fwin->objects[OID_MAIN],&code)) != WMHI_LASTMSG)
+ while((result = RA_HandleInput(fwin->objects[OID_S_MAIN],&code)) != WMHI_LASTMSG)
{
switch(result & WMHI_CLASSMASK) // class
{
case WMHI_GADGETUP:
switch(result & WMHI_GADGETMASK)
{
- case GID_SEARCHSTRING:
+ case GID_S_SEARCHSTRING:
browser_window_search_clear(fwin->gwin->bw);
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_PREV],
fwin->win, NULL,
GA_Disabled, FALSE,
TAG_DONE);
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_NEXT],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_NEXT],
fwin->win, NULL,
GA_Disabled, FALSE,
TAG_DONE);
/* fall through */
- case GID_NEXT:
+ case GID_S_NEXT:
search_insert = true;
flags = SEARCH_FLAG_FORWARDS |
ami_search_flags();
@@ -246,7 +259,7 @@ static BOOL ami_search_event(void *w)
ActivateWindow(fwin->gwin->shared->win);
break;
- case GID_PREV:
+ case GID_S_PREV:
search_insert = true;
flags = ~SEARCH_FLAG_FORWARDS &
ami_search_flags();
@@ -299,7 +312,7 @@ void ami_search_set_hourglass(bool active, void *p)
char *ami_search_string(void)
{
char *text;
- GetAttr(STRINGA_TextVal,fwin->objects[GID_SEARCHSTRING],(ULONG *)&text);
+ GetAttr(STRINGA_TextVal,fwin->objects[GID_S_SEARCHSTRING],(ULONG *)&text);
return text;
}
@@ -325,7 +338,7 @@ void ami_search_add_recent(const char *string, void *p)
void ami_search_set_forward_state(bool active, void *p)
{
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_NEXT],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_NEXT],
fwin->win, NULL,
GA_Disabled, active ? FALSE : TRUE, TAG_DONE);
@@ -339,7 +352,7 @@ void ami_search_set_forward_state(bool active, void *p)
void ami_search_set_back_state(bool active, void *p)
{
- RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_PREV],
+ RefreshSetGadgetAttrs((struct Gadget *)fwin->objects[GID_S_PREV],
fwin->win, NULL,
GA_Disabled, active ? FALSE : TRUE, TAG_DONE);
}
@@ -352,8 +365,8 @@ search_flags_t ami_search_flags(void)
{
ULONG case_sensitive, showall;
search_flags_t flags;
- GetAttr(GA_Selected,fwin->objects[GID_CASE],(ULONG *)&case_sensitive);
- GetAttr(GA_Selected,fwin->objects[GID_SHOWALL],(ULONG *)&showall);
+ GetAttr(GA_Selected,fwin->objects[GID_S_CASE],(ULONG *)&case_sensitive);
+ GetAttr(GA_Selected,fwin->objects[GID_S_SHOWALL],(ULONG *)&showall);
flags = 0 | (case_sensitive ? SEARCH_FLAG_CASE_SENSITIVE : 0) |
(showall ? SEARCH_FLAG_SHOWALL : 0);
return flags;