summaryrefslogtreecommitdiff
path: root/riscos/hotlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/hotlist.c')
-rw-r--r--riscos/hotlist.c270
1 files changed, 135 insertions, 135 deletions
diff --git a/riscos/hotlist.c b/riscos/hotlist.c
index 96297a62e..ef96d0db3 100644
--- a/riscos/hotlist.c
+++ b/riscos/hotlist.c
@@ -41,61 +41,61 @@
#define HOTLIST_LOAD_BUFFER 1024
struct hotlist_entry {
-
+
/** The next hotlist entry at this level, or NULL for no more
*/
struct hotlist_entry *next_entry;
-
+
/** The child hotlist entry (NULL for no children).
The children value must be set for this value to take effect.
*/
struct hotlist_entry *child_entry;
-
+
/** The number of children (-1 for non-folders, >=0 for folders)
*/
int children;
-
+
/** The title of the hotlist entry/folder
*/
char *title;
-
+
/** The URL of the hotlist entry (NULL for folders)
*/
char *url;
-
+
/** Whether this entry is expanded
*/
bool expanded;
-
+
/** Whether this entry is selected
*/
bool selected;
-
+
/** The content filetype (not for folders)
*/
int filetype;
-
+
/** The number of visits
*/
int visits;
-
+
/** Add/last visit dates
*/
time_t add_date;
time_t last_date;
-
+
/** Position on last reformat (relative to window origin)
*/
int x0;
int y0;
int width;
int height;
-
+
/** Cached values
*/
int collapsed_width;
int expanded_width;
-
+
/** The width of the various lines sub-text
*/
int widths[4];
@@ -217,7 +217,7 @@ void ro_gui_hotlist_init(void) {
if (!ro_gui_hotlist_load()) {
// return;
}
-
+
/* Get our sprite ids for faster plotting. This could be done in a
far more elegant manner, but it's late and my girlfriend will
kill me if I don't go to bed soon. Sorry.
@@ -249,7 +249,7 @@ void ro_gui_hotlist_init(void) {
warn_user("MiscError", error->errmess);
return;
}
-
+
/* Update our text icon
*/
text_icon.data.indirected_text.validation = null_text_string;
@@ -260,7 +260,7 @@ void ro_gui_hotlist_init(void) {
(wimp_COLOUR_VERY_LIGHT_GREY << wimp_ICON_BG_COLOUR_SHIFT);
sprite_icon.data.indirected_sprite.area = wimpspriteop_AREA;
sprite_icon.data.indirected_text.size = 12;
-
+
/* Create our window
*/
error = xwimp_create_window(&hotlist_window_definition, &hotlist_window);
@@ -273,7 +273,7 @@ void ro_gui_hotlist_init(void) {
/**
* Shows the hotlist window.
- */
+ */
void ro_gui_hotlist_show(void) {
os_error *error;
int screen_width, screen_height;
@@ -306,7 +306,7 @@ void ro_gui_hotlist_show(void) {
/* Get the current screen size
*/
ro_gui_screen_size(&screen_width, &screen_height);
-
+
/* Move to the centre
*/
dimension = state.visible.x1 - state.visible.x0;
@@ -349,7 +349,7 @@ bool ro_gui_hotlist_load(void) {
warn_user("HotlistLoadError", 0);
return false;
}
-
+
/* Get some memory to work with
*/
load_buf = malloc(HOTLIST_LOAD_BUFFER);
@@ -358,7 +358,7 @@ bool ro_gui_hotlist_load(void) {
fclose(fp);
return false;
}
-
+
/* Check for the opening <HTML> to vaguely validate our file
*/
if ((fgets(load_buf, HOTLIST_LOAD_BUFFER, fp) == NULL) ||
@@ -368,17 +368,17 @@ bool ro_gui_hotlist_load(void) {
fclose(fp);
return false;
}
-
+
/* Keep reading until we get to a <ul>
*/
while (!found && (fgets(load_buf, HOTLIST_LOAD_BUFFER, fp))) {
- if (strncmp("<ul>", load_buf, 4) == 0) found = true;
+ if (strncmp("<ul>", load_buf, 4) == 0) found = true;
}
-
+
/* Start our recursive load
*/
if (found) success = ro_gui_hotlist_load_entry(fp, &root);
-
+
/* Tell the user if we had any problems
*/
if (!success) {
@@ -394,7 +394,7 @@ bool ro_gui_hotlist_load(void) {
/* Create a folder
*/
netsurf = ro_gui_hotlist_create("NetSurf", NULL, 0, &root);
-
+
/* Add some content
*/
entry = ro_gui_hotlist_create("NetSurf homepage", "http://netsurf.sf.net",
@@ -403,20 +403,20 @@ bool ro_gui_hotlist_load(void) {
entry = ro_gui_hotlist_create("NetSurf test builds", "http://netsurf.strcprstskrzkrk.co.uk",
0xfaf, netsurf);
entry->add_date = (time_t)-1;
-
+
/* We succeeded
*/
return true;
}
}
-void ro_gui_hotlist_save(void) {
+void ro_gui_hotlist_save(void) {
FILE *fp;
/* Don't save if we didn't load
*/
if (!hotlist_window) return;
-
+
/* Ensure we have a directory to save to later.
*/
xosfile_create_dir("<Choices$Write>.WWW", 0);
@@ -429,11 +429,11 @@ void ro_gui_hotlist_save(void) {
warn_user("HotlistSaveError", 0);
return;
}
-
+
/* HTML header
*/
fprintf(fp, "<html>\n<head>\n<title>Hotlist</title>\n<body>\n");
-
+
/* Start our recursive save
*/
if (!ro_gui_hotlist_save_entry(fp, root.child_entry)) {
@@ -443,11 +443,11 @@ void ro_gui_hotlist_save(void) {
/* HTML footer
*/
fprintf(fp, "</body>\n</html>\n");
-
+
/* Close our file
*/
fclose(fp);
-
+
/* Set the filetype to HTML
*/
xosfile_set_type("<Choices$Write>.WWW.NetSurf.Hotlist", 0xfaf);
@@ -486,11 +486,11 @@ bool ro_gui_hotlist_save_entry(FILE *fp, struct hotlist_entry *entry) {
}
entry = entry->next_entry;
}
-
+
/* We're starting a new child
*/
- fprintf(fp, "</ul>\n");
- return true;
+ fprintf(fp, "</ul>\n");
+ return true;
}
bool ro_gui_hotlist_load_entry(FILE *fp, struct hotlist_entry *entry) {
@@ -510,7 +510,7 @@ bool ro_gui_hotlist_load_entry(FILE *fp, struct hotlist_entry *entry) {
/* Keep reading until we get to a <ul>
*/
while (fgets(load_buf, HOTLIST_LOAD_BUFFER, fp)) {
-
+
/* Check if we should commit what we have
*/
if ((strncmp("<li>", load_buf, 4) == 0) ||
@@ -526,7 +526,7 @@ bool ro_gui_hotlist_load_entry(FILE *fp, struct hotlist_entry *entry) {
last_entry->visits = visits;
last_entry->filetype = filetype;
}
-
+
/* Reset for the next entry
*/
free(title);
@@ -541,17 +541,17 @@ bool ro_gui_hotlist_load_entry(FILE *fp, struct hotlist_entry *entry) {
filetype = 0;
}
}
-
+
/* Check if we've reached the end of our run
*/
if (strncmp("</ul>", load_buf, 5) == 0) return true;
-
+
/* Check for some data
*/
if (strncmp("<!-- ", load_buf, 5) == 0) {
val_length = strlen(load_buf) - 5 - 4;
load_buf[val_length + 5] = '\0';
-
+
if (strncmp("Title:", load_buf + 5, 6) == 0) {
if (title) free(title);
title = malloc(val_length);
@@ -574,14 +574,14 @@ bool ro_gui_hotlist_load_entry(FILE *fp, struct hotlist_entry *entry) {
}
/* Check if we are starting a child
- */
+ */
if (strncmp("<ul>", load_buf, 4) == 0) {
if (!ro_gui_hotlist_load_entry(fp, last_entry)) {
return false;
}
}
}
- return true;
+ return true;
}
/**
@@ -589,7 +589,7 @@ bool ro_gui_hotlist_load_entry(FILE *fp, struct hotlist_entry *entry) {
*
* \param title the entry title
* \param content the content to add
- */
+ */
void ro_gui_hotlist_add(char *title, struct content *content) {
ro_gui_hotlist_create(title, content->url, ro_content_filetype(content), &root);
}
@@ -602,7 +602,7 @@ void ro_gui_hotlist_add(char *title, struct content *content) {
*/
void hotlist_visited(struct content *content) {
if ((!content) || (!content->url)) return;
- ro_gui_hotlist_visited_update(content, root.child_entry);
+ ro_gui_hotlist_visited_update(content, root.child_entry);
}
@@ -615,7 +615,7 @@ void hotlist_visited(struct content *content) {
void ro_gui_hotlist_visited_update(struct content *content, struct hotlist_entry *entry) {
char *url;
bool full = false;
-
+
/* Update the hotlist
*/
url = content->url;
@@ -625,16 +625,16 @@ void ro_gui_hotlist_visited_update(struct content *content, struct hotlist_entry
/* Check if we're going to need a full redraw downwards
*/
full = ((entry->visits == 0) || (entry->last_date == -1));
-
+
/* Update our values
*/
entry->visits++;
entry->last_date = time(NULL);
-
+
/* Update the entry width (extreme case - never likely to happen)
*/
ro_gui_hotlist_update_entry_size(entry);
-
+
/* Redraw the least we can get away with
*/
if (entry->expanded) {
@@ -652,7 +652,7 @@ void ro_gui_hotlist_visited_update(struct content *content, struct hotlist_entry
}
}
if (entry->child_entry) {
- ro_gui_hotlist_visited_update(content, entry->child_entry);
+ ro_gui_hotlist_visited_update(content, entry->child_entry);
}
entry = entry->next_entry;
}
@@ -665,11 +665,11 @@ void ro_gui_hotlist_visited_update(struct content *content, struct hotlist_entry
* \param title the entry title
* \param url the entry url (NULL to create a folder)
* \param folder the folder to add the entry into
- */
+ */
struct hotlist_entry *ro_gui_hotlist_create(const char *title, const char *url,
int filetype, struct hotlist_entry *folder) {
struct hotlist_entry *entry;
-
+
/* Check we have a title or a URL
*/
if (!title && !url) return NULL;
@@ -681,7 +681,7 @@ struct hotlist_entry *ro_gui_hotlist_create(const char *title, const char *url,
warn_user("NoMemory", 0);
return NULL;
}
-
+
/* And enough for the url/title
*/
if (url) {
@@ -689,7 +689,7 @@ struct hotlist_entry *ro_gui_hotlist_create(const char *title, const char *url,
if (!entry->url) {
warn_user("NoMemory", 0);
free(entry);
- return NULL;
+ return NULL;
}
strcpy(entry->url, url);
}
@@ -702,43 +702,43 @@ struct hotlist_entry *ro_gui_hotlist_create(const char *title, const char *url,
warn_user("NoMemory", 0);
free(entry->url);
free(entry);
- return NULL;
+ return NULL;
}
strcpy(entry->title, title);
} else {
- entry->title = entry->url;
+ entry->title = entry->url;
}
-
+
/* Set the children count
*/
if (url) {
- entry->children = -1;
+ entry->children = -1;
} else {
entry->children = 0;
}
-
+
/* Set the filetype
*/
entry->filetype = filetype;
-
+
/* Set the default values
*/
entry->visits = 0;
-
+
/* Get our dates
*/
entry->add_date = time(NULL);
entry->last_date = (time_t)-1;
-
+
/* Set the expanded/selected state
*/
entry->expanded = false;
entry->selected = false;
-
+
/* Set the width
*/
ro_gui_hotlist_update_entry_size(entry);
-
+
/* Link in as the last entry in root
*/
ro_gui_hotlist_link_entry(folder, entry);
@@ -751,16 +751,16 @@ struct hotlist_entry *ro_gui_hotlist_create(const char *title, const char *url,
*
* \param parent the parent entry to link under
* \param entry the entry to link
- */
+ */
void ro_gui_hotlist_link_entry(struct hotlist_entry *parent, struct hotlist_entry *entry) {
struct hotlist_entry *link_entry;
if (!parent || !entry) return;
-
+
/* Ensure the parent is a folder
*/
if (parent->children == -1) return;
-
+
/* Get the first child entry
*/
link_entry = parent->child_entry;
@@ -770,7 +770,7 @@ void ro_gui_hotlist_link_entry(struct hotlist_entry *parent, struct hotlist_entr
while (link_entry->next_entry) link_entry = link_entry->next_entry;
link_entry->next_entry = entry;
}
-
+
/* Increment the number of children
*/
parent->children += 1;
@@ -789,15 +789,15 @@ void ro_gui_hotlist_update_entry_size(struct hotlist_entry *entry) {
int width;
int max_width;
int line_number = 0;
-
+
/* Get the width of the title
- */
+ */
xwimptextop_string_width(entry->title,
strlen(entry->title) > 256 ? 256 : strlen(entry->title),
&width);
entry->collapsed_width = width;
max_width = width;
-
+
/* Get the width of the URL
*/
if (entry->url) {
@@ -815,19 +815,19 @@ void ro_gui_hotlist_update_entry_size(struct hotlist_entry *entry) {
if (width > max_width) max_width = width;
entry->widths[line_number++] = width;
}
-
+
/* Get the width of the add date
*/
if (entry->add_date != -1) {
snprintf(extended_text, HOTLIST_TEXT_BUFFER,
- messages_get("HotlistAdd"), ctime(&entry->add_date));
+ messages_get("HotlistAdded"), ctime(&entry->add_date));
xwimptextop_string_width(extended_text,
strlen(extended_text) > 256 ? 256 : strlen(extended_text),
&width);
if (width > max_width) max_width = width;
entry->widths[line_number++] = width;
}
-
+
/* Get the width of the last visit
*/
if (entry->last_date != -1) {
@@ -839,7 +839,7 @@ void ro_gui_hotlist_update_entry_size(struct hotlist_entry *entry) {
if (width > max_width) max_width = width;
entry->widths[line_number++] = width;
}
-
+
/* Get the width of the visit count
*/
if (entry->visits > 0) {
@@ -851,7 +851,7 @@ void ro_gui_hotlist_update_entry_size(struct hotlist_entry *entry) {
if (width > max_width) max_width = width;
entry->widths[line_number++] = width;
}
-
+
/* Increase the text width by the borders
*/
entry->expanded_width = max_width + HOTLIST_LEAF_INSET + HOTLIST_ICON_WIDTH + HOTLIST_TEXT_PADDING;
@@ -862,7 +862,7 @@ void ro_gui_hotlist_update_entry_size(struct hotlist_entry *entry) {
/**
* Redraws a section of the hotlist window
- *
+ *
* \param redraw the area to redraw
*/
void ro_gui_hotlist_redraw(wimp_draw *redraw) {
@@ -870,12 +870,12 @@ void ro_gui_hotlist_redraw(wimp_draw *redraw) {
osbool more;
unsigned int size;
os_box extent = {0, 0, 0, 0};;
-
+
/* Reset our min/max sizes
*/
max_width = 0;
max_height = 0;
-
+
/* Get a pixel translation table for the sprites. We only
get one for all the sprites, so they must all have the
same characteristics.
@@ -884,7 +884,7 @@ void ro_gui_hotlist_redraw(wimp_draw *redraw) {
colourtrans_CURRENT_MODE, colourtrans_CURRENT_PALETTE,
0, colourtrans_GIVEN_SPRITE, 0, 0, &size);
pixel_table = malloc(size);
- if (pixel_table) {
+ if (pixel_table) {
xcolourtrans_generate_table_for_sprite(gui_sprites, sprite[HOTLIST_EXPAND],
colourtrans_CURRENT_MODE, colourtrans_CURRENT_PALETTE,
pixel_table, colourtrans_GIVEN_SPRITE, 0, 0, 0);
@@ -906,12 +906,12 @@ void ro_gui_hotlist_redraw(wimp_draw *redraw) {
origin_x + 8, origin_y - 4);
more = wimp_get_rectangle(redraw);
}
-
+
/* Free our memory
*/
if (pixel_table) free(pixel_table);
pixel_table = NULL;
-
+
/* Check if we should reformat
*/
if (reformat_pending) {
@@ -944,13 +944,13 @@ int ro_gui_hotlist_redraw_tree(struct hotlist_entry *entry, int level, int x0, i
int cumulative = 0;
int height = 0;
int box_y0;
-
+
if (!entry) return 0;
-
+
/* Repeatedly draw our entries
*/
while (entry) {
-
+
/* Redraw the item
*/
height = ro_gui_hotlist_redraw_item(entry, level, x0 + HOTLIST_LEAF_INSET, y0);
@@ -993,7 +993,7 @@ int ro_gui_hotlist_redraw_tree(struct hotlist_entry *entry, int level, int x0, i
y0 -= HOTLIST_LINE_HEIGHT;
height -= HOTLIST_LINE_HEIGHT;
}
-
+
/* Draw the rest of the lines
*/
while (height > 0) {
@@ -1005,7 +1005,7 @@ int ro_gui_hotlist_redraw_tree(struct hotlist_entry *entry, int level, int x0, i
y0 -= HOTLIST_LINE_HEIGHT;
height -= HOTLIST_LINE_HEIGHT;
}
-
+
} else {
/* Draw a half-line for the last entry
*/
@@ -1034,17 +1034,17 @@ int ro_gui_hotlist_redraw_tree(struct hotlist_entry *entry, int level, int x0, i
gui_sprites, sprite[HOTLIST_COLLAPSE],
x0, box_y0 - 31,
osspriteop_USE_MASK | osspriteop_USE_PALETTE,
- 0, pixel_table);
+ 0, pixel_table);
} else {
xosspriteop_put_sprite_scaled(osspriteop_PTR,
gui_sprites, sprite[HOTLIST_EXPAND],
x0, box_y0 - 31,
osspriteop_USE_MASK | osspriteop_USE_PALETTE,
0, pixel_table);
-
-
+
+
}
-
+
}
/* Move to the next entry
@@ -1052,7 +1052,7 @@ int ro_gui_hotlist_redraw_tree(struct hotlist_entry *entry, int level, int x0, i
entry = entry->next_entry;
first = false;
}
-
+
/* Return our height
*/
return cumulative;
@@ -1072,7 +1072,7 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
int height = HOTLIST_LINE_HEIGHT;
int line_y0;
int line_height;
-
+
/* Set the correct height
*/
if ((entry->children == -1) && (entry->expanded)) {
@@ -1081,13 +1081,13 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
if (entry->add_date != -1) height += HOTLIST_LINE_HEIGHT;
if (entry->last_date != -1) height += HOTLIST_LINE_HEIGHT;
}
-
+
/* Check whether we need to redraw
*/
if ((x0 < clip_x1) && (y0 > clip_y0) && ((x0 + entry->width) > clip_x0) &&
((y0 - height) < clip_y1)) {
-
-
+
+
/* Update the selection state
*/
text_icon.flags = wimp_ICON_TEXT | (wimp_COLOUR_BLACK << wimp_ICON_FG_COLOUR_SHIFT) |
@@ -1113,7 +1113,7 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
/* Check it exists (pre-OS3.5)
*/
if (xwimpspriteop_read_sprite_info(icon_name, 0, 0, 0, 0)) {
- sprintf(icon_name, "small_dir");
+ sprintf(icon_name, "small_dir");
}
} else {
sprintf(icon_name, "small_dir");
@@ -1122,11 +1122,11 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
/* Get the icon sprite
*/
sprintf(icon_name, "small_%x", entry->filetype);
-
+
/* Check it exists
*/
if (xwimpspriteop_read_sprite_info(icon_name, 0, 0, 0, 0)) {
- sprintf(icon_name, "small_xxx");
+ sprintf(icon_name, "small_xxx");
}
}
xwimp_plot_icon(&sprite_icon);
@@ -1153,7 +1153,7 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
wimp_ICON_INDIRECTED | wimp_ICON_VCENTRED;
text_icon.extent.y0 = y0 - origin_y - HOTLIST_LINE_HEIGHT;
text_icon.extent.y1 = y0 - origin_y;
-
+
/* Draw the lines
*/
y0 -= HOTLIST_LINE_HEIGHT;
@@ -1172,13 +1172,13 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
x0 + 16, line_y0 - HOTLIST_LINE_HEIGHT,
osspriteop_USE_MASK | osspriteop_USE_PALETTE,
0, pixel_table);
-
+
}
xosspriteop_put_sprite_scaled(osspriteop_PTR,
gui_sprites, sprite[HOTLIST_ENTRY],
x0 + 8, line_y0 - 29,
osspriteop_USE_MASK | osspriteop_USE_PALETTE,
- 0, pixel_table);
+ 0, pixel_table);
line_height -= HOTLIST_LINE_HEIGHT;
line_y0 -= HOTLIST_LINE_HEIGHT;
}
@@ -1203,12 +1203,12 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
text_icon.extent.y1 -= HOTLIST_LINE_HEIGHT;
xwimp_plot_icon(&text_icon);
}
-
+
/* Plot the date added text
*/
if (entry->add_date != -1) {
snprintf(extended_text, HOTLIST_TEXT_BUFFER,
- messages_get("HotlistAdd"), ctime(&entry->add_date));
+ messages_get("HotlistAdded"), ctime(&entry->add_date));
text_icon.extent.y0 -= HOTLIST_LINE_HEIGHT;
text_icon.extent.y1 -= HOTLIST_LINE_HEIGHT;
xwimp_plot_icon(&text_icon);
@@ -1223,7 +1223,7 @@ int ro_gui_hotlist_redraw_item(struct hotlist_entry *entry, int level, int x0, i
text_icon.extent.y1 -= HOTLIST_LINE_HEIGHT;
xwimp_plot_icon(&text_icon);
}
-
+
/* Plot the visit count text
*/
if (entry->visits > 0) {
@@ -1277,7 +1277,7 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
*/
x = (pointer->pos.x - (state.visible.x0 - state.xscroll));
y = (pointer->pos.y - (state.visible.y1 - state.yscroll));
-
+
/* We want the caret on a click
*/
error = xwimp_get_caret_position(&caret);
@@ -1295,7 +1295,7 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
error->errnum, error->errmess));
}
}
-
+
/* Find our entry
*/
entry = ro_gui_hotlist_find_entry(x, y, root.child_entry);
@@ -1317,7 +1317,7 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
0, -16384, 16384,
entry->y0 + entry->height);
} else if (x_offset >= HOTLIST_LEAF_INSET) {
-
+
/* We treat a menu click as a Select click if we have no selections
*/
if (buttons == wimp_CLICK_MENU) {
@@ -1326,7 +1326,7 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
buttons = (wimp_CLICK_SELECT << 8);
}
}
-
+
/* Check for selection
*/
if (buttons == (wimp_CLICK_SELECT << 8)) {
@@ -1337,17 +1337,17 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
xwimp_force_redraw(hotlist_window,
entry->x0, entry->y0 + entry->height - HOTLIST_LINE_HEIGHT,
entry->x0 + entry->width,
- entry->y0 + entry->height);
+ entry->y0 + entry->height);
}
} else if (buttons == (wimp_CLICK_ADJUST << 8)) {
entry->selected = !entry->selected;
xwimp_force_redraw(hotlist_window,
entry->x0, entry->y0 + entry->height - HOTLIST_LINE_HEIGHT,
entry->x0 + entry->width,
- entry->y0 + entry->height);
-
+ entry->y0 + entry->height);
+
}
-
+
/* Check if we should open the URL
*/
if (((buttons == wimp_DOUBLE_SELECT) || (buttons == wimp_DOUBLE_ADJUST)) &&
@@ -1367,11 +1367,11 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
} else {
no_entry = true;
}
-
+
/* Get the original button state back
*/
buttons = pointer->buttons;
-
+
/* Create a menu if we should
*/
if (buttons == wimp_CLICK_MENU) {
@@ -1389,12 +1389,12 @@ void ro_gui_hotlist_click(wimp_pointer *pointer) {
ro_gui_hotlist_selection_state(root.child_entry,
false, true);
}
-
+
/* Handle the start of a drag
*/
- if (buttons == (wimp_CLICK_SELECT << 4) ||
+ if (buttons == (wimp_CLICK_SELECT << 4) ||
buttons == (wimp_CLICK_ADJUST << 4)) {
-
+
/* Clear the current selection
*/
if (buttons == (wimp_CLICK_SELECT << 4)) {
@@ -1434,7 +1434,7 @@ struct hotlist_entry *ro_gui_hotlist_find_entry(int x, int y, struct hotlist_ent
struct hotlist_entry *find_entry;
int inset_x = 0;
int inset_y = 0;
-
+
/* Check we have an entry (only applies if we have an empty hotlist)
*/
if (!entry) return NULL;
@@ -1453,19 +1453,19 @@ struct hotlist_entry *ro_gui_hotlist_find_entry(int x, int y, struct hotlist_ent
if (x < (entry->x0 + entry->collapsed_width)) return entry;
return NULL;
}
-
+
/* No other entry can occupy the left edge
*/
inset_x = x - entry->x0 - HOTLIST_LEAF_INSET - HOTLIST_ICON_WIDTH;
if (inset_x < 0) return NULL;
-
+
/* Check the right edge against our various widths
*/
inset_y = -((y - entry->y0 - entry->height) / HOTLIST_LINE_HEIGHT);
if (inset_x < (entry->widths[inset_y - 1] + HOTLIST_TEXT_PADDING)) return entry;
- return NULL;
+ return NULL;
}
-
+
/* Continue onwards
*/
if ((entry->child_entry) && (entry->expanded)) {
@@ -1503,7 +1503,7 @@ int ro_gui_hotlist_selection_state(struct hotlist_entry *entry, bool selected, b
*/
entry->selected = selected;
changes++;
-
+
/* Redraw the entrys first line
*/
if (redraw) {
@@ -1599,7 +1599,7 @@ void ro_gui_hotlist_update_expansion(struct hotlist_entry *entry, bool only_sele
*/
if ((entry->selected) || (!only_selected)) {
current = entry->expanded;
-
+
/* Only update what we should
*/
if (((links) && (entry->children != -1)) || ((folders) && (entry->children > 0))) {
@@ -1613,14 +1613,14 @@ void ro_gui_hotlist_update_expansion(struct hotlist_entry *entry, bool only_sele
entry->expanded = !entry->expanded;
}
}
-
+
/* If we have contracted then we de-select and collapse any children
*/
if (entry->child_entry && !entry->expanded) {
ro_gui_hotlist_update_expansion(entry->child_entry, false, true, true, false, true);
ro_gui_hotlist_selection_state(entry->child_entry, false, false);
}
-
+
/* Redraw the entrys first line
*/
if (current != entry->expanded) {
@@ -1673,7 +1673,7 @@ void ro_gui_hotlist_selection_drag(struct hotlist_entry *entry,
(x0 < (entry->x0 + entry->width)) &&
(y1 < (entry->y0 + entry->height))) {
do_update = false;
-
+
/* Check the exact area of the title line
*/
if ((x1 > (entry->x0 + HOTLIST_LEAF_INSET)) &&
@@ -1721,7 +1721,7 @@ void ro_gui_hotlist_selection_drag(struct hotlist_entry *entry,
}
}
}
-
+
/* Continue onwards
*/
if ((entry->child_entry) && (entry->expanded)) {
@@ -1742,19 +1742,19 @@ void ro_gui_hotlist_selection_drag(struct hotlist_entry *entry,
void ro_gui_hotlist_selection_drag_end(wimp_dragged *drag) {
wimp_window_state state;
int x0, y0, x1, y1;
-
+
/* Get the window state to make everything relative
*/
state.w = hotlist_window;
wimp_get_window_state(&state);
-
+
/* Create the relative positions
*/
x0 = drag->final.x0 - state.visible.x0 - state.xscroll;
x1 = drag->final.x1 - state.visible.x0 - state.xscroll;
y0 = drag->final.y0 - state.visible.y1 - state.yscroll;
y1 = drag->final.y1 - state.visible.y1 - state.yscroll;
-
+
/* Make sure x0 < x1 and y0 > y1
*/
if (x0 > x1) {
@@ -1767,7 +1767,7 @@ void ro_gui_hotlist_selection_drag_end(wimp_dragged *drag) {
y1 ^= y0;
y0 ^= y1;
}
-
+
/* Update the selection state
*/
if (drag_buttons == (wimp_CLICK_SELECT << 4)) {
@@ -1784,7 +1784,7 @@ void ro_gui_hotlist_selection_drag_end(wimp_dragged *drag) {
* \param drag the final drag co-ordinates
*/
void ro_gui_hotlist_move_drag_end(wimp_dragged *drag) {
-
+
}
@@ -1796,7 +1796,7 @@ void ro_gui_hotlist_menu_closed(void) {
ro_gui_hotlist_selection_state(root.child_entry, false, true);
menu_selection = false;
}
-}
+}
/**
* Handle a keypress
@@ -1861,7 +1861,7 @@ bool ro_gui_hotlist_keypress(int key) {
break;
}
xwimp_open_window((wimp_open *) &state);
- return true;
+ return true;
}