summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-03-25 19:59:10 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-03-25 19:59:10 +0000
commit07af1bd8fd90a3664aa5bcafa7079cb14a7667ff (patch)
tree7de831f566f75b4a04eeccf587b4ef52120a2f4a
parentbe609c1dfa4fbb7dc7d43da0c175e2ec5f4d4335 (diff)
downloadnetsurf-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-xamiga/gui.c30
-rw-r--r--amiga/resources/Pointers/Drag.infobin0 -> 2302 bytes
-rwxr-xr-xamiga/resources/Themes/AISS/Theme2
-rwxr-xr-xamiga/resources/Themes/Default/Theme2
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
new file mode 100644
index 000000000..820d75373
--- /dev/null
+++ b/amiga/resources/Pointers/Drag.info
Binary files differ
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