summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscos/hotlist.c17
-rw-r--r--riscos/options.h7
2 files changed, 22 insertions, 2 deletions
diff --git a/riscos/hotlist.c b/riscos/hotlist.c
index a01fb0307..e60dc8464 100644
--- a/riscos/hotlist.c
+++ b/riscos/hotlist.c
@@ -197,6 +197,23 @@ void ro_gui_hotlist_postinitialise(void)
void ro_gui_hotlist_open(void)
{
+ os_error *error;
+ char command[2048];
+
+ if (option_external_hotlists && option_external_hotlist_app != NULL &&
+ *option_external_hotlist_app != '\0') {
+ snprintf(command, sizeof(command), "Filer_Run %s",
+ option_external_hotlist_app);
+ error = xos_cli(command);
+
+ if (error == NULL)
+ return;
+
+ LOG(("xos_cli: 0x%x: %s", error->errnum, error->errmess));
+ warn_user("Failed to launch external hotlist: %s",
+ error->errmess);
+ }
+
tree_set_redraw(ro_treeview_get_tree(hotlist_window.tv), true);
ro_gui_hotlist_toolbar_update_buttons();
diff --git a/riscos/options.h b/riscos/options.h
index a83644f72..463a6fa56 100644
--- a/riscos/options.h
+++ b/riscos/options.h
@@ -65,6 +65,7 @@ extern char *option_theme_save;
extern bool option_thumbnail_iconise;
extern bool option_interactive_help;
extern bool option_external_hotlists;
+extern char *option_external_hotlist_app;
#define EXTRA_OPTION_DEFINE \
bool option_use_mouse_gestures = false;\
@@ -103,7 +104,8 @@ char *option_theme_path = 0; \
char *option_theme_save = 0; \
bool option_thumbnail_iconise = true; \
bool option_interactive_help = true; \
-bool option_external_hotlists = false;
+bool option_external_hotlists = false; \
+char *option_external_hotlist_app = 0;
#define EXTRA_OPTION_TABLE \
{ "use_mouse_gestures", OPTION_BOOL, &option_use_mouse_gestures },\
@@ -142,6 +144,7 @@ bool option_external_hotlists = false;
{ "theme_save", OPTION_STRING, &option_theme_save }, \
{ "thumbnail_iconise", OPTION_BOOL, &option_thumbnail_iconise }, \
{ "interactive_help", OPTION_BOOL, &option_interactive_help }, \
-{ "external_hotlists", OPTION_BOOL, &option_external_hotlists }
+{ "external_hotlists", OPTION_BOOL, &option_external_hotlists }, \
+{ "external_hotlist_app", OPTION_STRING, &option_external_hotlist_app }
#endif