diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-03-25 19:59:10 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-03-25 19:59:10 +0000 |
commit | 07af1bd8fd90a3664aa5bcafa7079cb14a7667ff (patch) | |
tree | 7de831f566f75b4a04eeccf587b4ef52120a2f4a | |
parent | be609c1dfa4fbb7dc7d43da0c175e2ec5f4d4335 (diff) | |
download | netsurf-07af1bd8fd90a3664aa5bcafa7079cb14a7667ff.tar.gz netsurf-07af1bd8fd90a3664aa5bcafa7079cb14a7667ff.tar.bz2 |
Change pointer imagery when dragging
Disable drag saving when not running on the Workbench screen
svn path=/trunk/netsurf/; revision=6882
-rwxr-xr-x | amiga/gui.c | 30 | ||||
-rw-r--r-- | amiga/resources/Pointers/Drag.info | bin | 0 -> 2302 bytes | |||
-rwxr-xr-x | amiga/resources/Themes/AISS/Theme | 2 | ||||
-rwxr-xr-x | amiga/resources/Themes/Default/Theme | 2 |
4 files changed, 23 insertions, 11 deletions
diff --git a/amiga/gui.c b/amiga/gui.c index d56031588..19bfa8bc3 100755 --- a/amiga/gui.c +++ b/amiga/gui.c @@ -123,7 +123,9 @@ BOOL locked_screen = FALSE; int drag_save = 0; void *drag_save_data = NULL; -#define AMI_LASTPOINTER GUI_POINTER_PROGRESS+1 +#define AMI_GUI_POINTER_BLANK GUI_POINTER_PROGRESS+1 +#define AMI_GUI_POINTER_DRAG GUI_POINTER_PROGRESS+2 +#define AMI_LASTPOINTER AMI_GUI_POINTER_DRAG Object *mouseptrobj[AMI_LASTPOINTER+1]; struct BitMap *mouseptrbm[AMI_LASTPOINTER+1]; int mouseptrcurrent=0; @@ -143,12 +145,13 @@ char *ptrs[AMI_LASTPOINTER+1] = { "ptr_rightdown", "ptr_cross", "ptr_move", - "ptr_wait", // not used + "ptr_wait", "ptr_help", "ptr_nodrop", "ptr_notallowed", "ptr_progress", - "ptr_blank"}; + "ptr_blank", + "ptr_drag"}; char *ptrs32[AMI_LASTPOINTER+1] = { "ptr32_default", @@ -165,12 +168,13 @@ char *ptrs32[AMI_LASTPOINTER+1] = { "ptr32_rightdown", "ptr32_cross", "ptr32_move", - "ptr32_wait", // not used + "ptr32_wait", "ptr32_help", "ptr32_nodrop", "ptr32_notallowed", "ptr32_progress", - "ptr32_blank"}; + "ptr32_blank", + "ptr32_drag"}; void ami_update_throbber(struct gui_window_2 *g,bool redraw); void ami_update_buttons(struct gui_window_2 *); @@ -2446,6 +2450,7 @@ void gui_window_set_pointer(struct gui_window *g, gui_pointer_shape shape) void ami_update_pointer(struct Window *win, gui_pointer_shape shape) { if(mouseptrcurrent == shape) return; + if(drag_save) return; if(option_use_os_pointers) { @@ -2501,10 +2506,10 @@ void ami_update_pointer(struct Window *win, gui_pointer_shape shape) void gui_window_hide_pointer(struct gui_window *g) { - if(mouseptrcurrent != AMI_LASTPOINTER) + if(mouseptrcurrent != AMI_GUI_POINTER_BLANK) { - SetWindowPointer(g->shared->win,WA_Pointer,mouseptrobj[AMI_LASTPOINTER],TAG_DONE); - mouseptrcurrent = AMI_LASTPOINTER; + SetWindowPointer(g->shared->win,WA_Pointer,mouseptrobj[AMI_GUI_POINTER_BLANK],TAG_DONE); + mouseptrcurrent = AMI_GUI_POINTER_BLANK; } } @@ -2887,15 +2892,18 @@ void gui_download_window_done(struct gui_download_window *dw) void gui_drag_save_object(gui_save_type type, struct content *c, struct gui_window *g) { -// DebugPrintF("gui_drag_save_object\n"); + if(strcmp(option_use_pubscreen,"Workbench")) return; + gui_window_set_pointer(g,AMI_GUI_POINTER_DRAG); drag_save_data = c; drag_save = 1; } void gui_drag_save_selection(struct selection *s, struct gui_window *g) { -// DebugPrintF("gui_drag_save_selection\n"); + if(strcmp(option_use_pubscreen,"Workbench")) return; + + gui_window_set_pointer(g,AMI_GUI_POINTER_DRAG); drag_save_data = s; drag_save = 2; } @@ -2956,9 +2964,9 @@ void ami_drag_save(struct Window *win) break; } - ami_update_pointer(win,GUI_POINTER_DEFAULT); drag_save = 0; drag_save_data = NULL; + ami_update_pointer(win,GUI_POINTER_DEFAULT); } void gui_create_form_select_menu(struct browser_window *bw, diff --git a/amiga/resources/Pointers/Drag.info b/amiga/resources/Pointers/Drag.info Binary files differnew file mode 100644 index 000000000..820d75373 --- /dev/null +++ b/amiga/resources/Pointers/Drag.info diff --git a/amiga/resources/Themes/AISS/Theme b/amiga/resources/Themes/AISS/Theme index c1d42728c..7b58cc679 100755 --- a/amiga/resources/Themes/AISS/Theme +++ b/amiga/resources/Themes/AISS/Theme @@ -48,6 +48,7 @@ ptr_nodrop:*PROGDIR:Resources/Pointers/NoDrop ptr_notallowed:*PROGDIR:Resources/Pointers/NotAllowed ptr_progress:*PROGDIR:Resources/Pointers/Progress ptr_blank:*PROGDIR:Resources/Pointers/Blank +ptr_drag:*PROGDIR:Resources/Pointers/Drag ptr32_default:*ENV:Sys/def_pointer ptr32_point:*ENV:Sys/def_linkpointer ptr32_caret:*ENV:Sys/def_textpointer @@ -68,3 +69,4 @@ ptr32_nodrop:*ENV:Sys/def_nodroppointer ptr32_notallowed:*ENV:Sys/def_notallowedpointer ptr32_progress:*ENV:Sys/def_progresspointer ptr32_blank:*ENV:Sys/def_nonepointer +ptr32_drag:*ENV:Sys/def_draganddroppointer diff --git a/amiga/resources/Themes/Default/Theme b/amiga/resources/Themes/Default/Theme index 4757eb3e2..4dd97f7ec 100755 --- a/amiga/resources/Themes/Default/Theme +++ b/amiga/resources/Themes/Default/Theme @@ -61,6 +61,7 @@ ptr_nodrop:*PROGDIR:Resources/Pointers/NoDrop ptr_notallowed:*PROGDIR:Resources/Pointers/NotAllowed ptr_progress:*PROGDIR:Resources/Pointers/Progress ptr_blank:*PROGDIR:Resources/Pointers/Blank +ptr_drag:*PROGDIR:Resources/Pointers/Drag ptr32_default:*PROGDIR:Resources/Pointers/Default ptr32_point:*PROGDIR:Resources/Pointers/Point ptr32_caret:*PROGDIR:Resources/Pointers/Caret @@ -81,3 +82,4 @@ ptr32_nodrop:*PROGDIR:Resources/Pointers/NoDrop ptr32_notallowed:*PROGDIR:Resources/Pointers/NotAllowed ptr32_progress:*PROGDIR:Resources/Pointers/Progress ptr32_blank:*PROGDIR:Resources/Pointers/Blank +ptr32_drag:*PROGDIR:Resources/Pointers/Drag |