summaryrefslogtreecommitdiff
path: root/riscos/hotlist.c
diff options
context:
space:
mode:
Diffstat (limited to 'riscos/hotlist.c')
-rw-r--r--riscos/hotlist.c62
1 files changed, 62 insertions, 0 deletions
diff --git a/riscos/hotlist.c b/riscos/hotlist.c
index 6e2d176cc..aed66532a 100644
--- a/riscos/hotlist.c
+++ b/riscos/hotlist.c
@@ -173,6 +173,68 @@ void ro_gui_hotlist_open(void)
}
/**
+ * Handle Mouse Click events on the toolbar.
+ *
+ * \param *pointer Pointer to the Mouse Click Event block.
+ * \return Return true if click handled; else false.
+ */
+
+bool ro_gui_hotlist_toolbar_click(wimp_pointer *pointer)
+{
+ LOG(("Entering hotlist toolbar handler: b=%d, i=%d", pointer->buttons, pointer->i));
+
+ switch (pointer->i) {
+ case ICON_TOOLBAR_DELETE:
+ if (pointer->buttons == wimp_CLICK_SELECT) {
+ hotlist_delete_selected();
+ return true;
+ }
+ break;
+ case ICON_TOOLBAR_EXPAND:
+ if (pointer->buttons == wimp_CLICK_SELECT) {
+ hotlist_expand_addresses();
+ return true;
+ } else if (pointer->buttons == wimp_CLICK_ADJUST) {
+ hotlist_collapse_addresses();
+ return true;
+ }
+ break;
+ case ICON_TOOLBAR_OPEN:
+ if (pointer->buttons == wimp_CLICK_SELECT) {
+ hotlist_expand_directories();
+ return true;
+ } else if (pointer->buttons == wimp_CLICK_ADJUST) {
+ hotlist_collapse_directories();
+ return true;
+ }
+ break;
+ case ICON_TOOLBAR_LAUNCH:
+ if (pointer->buttons == wimp_CLICK_SELECT) {
+ hotlist_launch_selected();
+ return true;
+ }
+ break;
+ case ICON_TOOLBAR_CREATE:
+ if (pointer->buttons == wimp_CLICK_SELECT) {
+ hotlist_add_folder();
+ return true;
+ }
+ break;
+ }
+
+
+ /* \todo -- We assume that the owning module will have attached a window menu
+ * to our parent window. If it hasn't, this call will quietly fail.
+ */
+
+ if (pointer->buttons == wimp_CLICK_MENU)
+ return ro_gui_wimp_event_process_window_menu_click(pointer);
+
+ return true;
+}
+
+
+/**
* Prepare the hotlist menu for opening
*
* \param window The window owning the menu.