From 5236394bd15a5a772086f6305ab6d2d0aac3e777 Mon Sep 17 00:00:00 2001
From: Robert Sprowson <rsprowson@gitlab.riscosopen.org>
Date: Sat, 3 Aug 2013 07:42:15 +0000
Subject: [PATCH] Relocate iconbar settings out of the mouse setup

This plugin is now only concerned with aspects of the mouse driver and speed.
Window reduced in size to small enough to not need an optional scroll bar too.

Version 0.16. Tagged as 'MousSetup-0_16'
---
 Resources/UK/Messages |   1 -
 Resources/UK/Res,fae  | Bin 6484 -> 4520 bytes
 VersionNum            |  20 ++++++-------
 c/Main                |  36 ------------------------
 c/Settings            |  64 ++++++------------------------------------
 c/ToolboxE            |  37 +++++++++++-------------
 h/Settings            |  33 +++++-----------------
 7 files changed, 42 insertions(+), 149 deletions(-)

diff --git a/Resources/UK/Messages b/Resources/UK/Messages
index be37cd1..a2a75e2 100644
--- a/Resources/UK/Messages
+++ b/Resources/UK/Messages
@@ -9,4 +9,3 @@ Mystery:Unrecognised
 NoneAvail:No mouse drivers are available
 NewType:You are about to change the mouse type to '%s'. If you do not have this sort of mouse connected the pointer will stop working. Do you want to continue with the reconfiguration?
 Err_NoDefCMOS:Cannot find default CMOS file
-Err_BadClass:Resource file is corrupt
diff --git a/Resources/UK/Res,fae b/Resources/UK/Res,fae
index 8862745bdb0f60e27a7e50d486eb66302347b5c0..cee54d9029220ad509a7391c2ef8165e5d2c0887 100644
GIT binary patch
delta 952
zcmY+CKWI}?6voecuW1tLvz3;%8X6-l82r~*5)ukZ6k9qd7DdP+RA|IPps`l4AQ%wA
z&4wF<LWc$_&EQbz;-4%+1_K3`4h{|?85}z3=Ag#ki5J1Z;k)-c-}l{<`|jREZFKV5
z)b;7Si1bixewBbotyiQJ4~YYJo4T@i{~nq}ma<N744e;?Cr|VoX0=HLsq)>S-u7IV
zNX{h!=6zTBc{H&4tKFU{zaCFz(X4Vph}Z_mR%WPk)Dz01vQAuv>8oyDb!Nng_(fI~
zm|cSFX39D4e`KYa7^a3<L6gIM8Aj7frV7)?N*N6<nWmHW6EOR~+wD(a%=m7^Z&_x8
zyqHP3qsOA;9H5pdnw^Pibk*1Bs8;Z8(Al<0EmO5g%4kx{G~KkXE@d*D-!i@zNp0g=
zwyqkecfQ7jJp<$1`@luc^Dc=_r8>>3nVa6<EM;_pnyGpbe;7~3W)(~mMqSFNt6;u+
z=>?rY8J(a29>TNLE%Fo`=L11^{@)(>lh360l0Y}YK12TtcqH`yT&mL(RHt`!lKu^I
z!5wn?%-Qb#X+2XlI;m=oqIrPkH24DKZ%Rp$@{s-}x+Ft<1@*GG=)a|ZCTya?!AA|K
zm$V8<KZ6eYiLl5kByT`{bbQ~=L*f=Yu>+ub>Y#dDJnzt6RV~N~|2!<S!h=&!f*c)X
z9}M6D!kyqCk6|Yn$^>_s{U6+ev-zck;+_1`tpcX=J8OfFo#HHqGon;1u3M~IY*^d{
biI#76|HGo*iSlEh=A5#aw0zF)=PdpKDi8ua

literal 6484
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
Xz85w>V|c;vqTzMJ8-{lb?;8Fa`4?a7

diff --git a/VersionNum b/VersionNum
index d15b959..3848a32 100644
--- a/VersionNum
+++ b/VersionNum
@@ -1,23 +1,23 @@
-/* (0.15)
+/* (0.16)
  *
  * This file is automatically maintained by srccommit, do not edit manually.
  * Last processed by srccommit version: 1.1.
  *
  */
-#define Module_MajorVersion_CMHG        0.15
+#define Module_MajorVersion_CMHG        0.16
 #define Module_MinorVersion_CMHG        
-#define Module_Date_CMHG                17 Jul 2013
+#define Module_Date_CMHG                03 Aug 2013
 
-#define Module_MajorVersion             "0.15"
-#define Module_Version                  15
+#define Module_MajorVersion             "0.16"
+#define Module_Version                  16
 #define Module_MinorVersion             ""
-#define Module_Date                     "17 Jul 2013"
+#define Module_Date                     "03 Aug 2013"
 
-#define Module_ApplicationDate          "17-Jul-13"
+#define Module_ApplicationDate          "03-Aug-13"
 
 #define Module_ComponentName            "MousSetup"
 #define Module_ComponentPath            "castle/RiscOS/Sources/SystemRes/Configure2/PlugIns/MousSetup"
 
-#define Module_FullVersion              "0.15"
-#define Module_HelpVersion              "0.15 (17 Jul 2013)"
-#define Module_LibraryVersionInfo       "0:15"
+#define Module_FullVersion              "0.16"
+#define Module_HelpVersion              "0.16 (03 Aug 2013)"
+#define Module_LibraryVersionInfo       "0:16"
diff --git a/c/Main b/c/Main
index 6507bc2..53faac3 100644
--- a/c/Main
+++ b/c/Main
@@ -28,18 +28,13 @@ Date		Who	Change
 
 /* CLib */
 #include <stdlib.h>
-#include <string.h>
-#include "swis.h"
 /* Toolbox */
 #include "event.h"
 #include "toolbox.h"
-#include "window.h"
 /* Common */
 #include "error.h"
 #include "misc.h"
-#include "message.h"
 /* Local headers */
-#include "Settings.h"
 #include "Main.h"  /* includes prototypes for this file */
 #include "ToolboxE.h"
 #include "WimpE.h"
@@ -68,11 +63,6 @@ In:		Command line option:
 
 int main (int argc, char *argv[])
 {
-  int  screeny;
-  ObjectTemplateHeader *objtemplate;
-  WindowTemplate       *wintemplate;
-  WimpWindow           *windef;
-
   error_initialise ();
   throw (toolbox_initialise (0, WimpVersion, wimpm_messages, toolboxe_events,
     "<MousSetup$Dir>", &messages, &id_block, NULL, NULL, NULL));
@@ -85,32 +75,6 @@ int main (int argc, char *argv[])
   wimpe_register ();
   toolboxe_register ();
 
-  /* Read the window object in by hand */
-  throw (toolbox_template_lookup (0, "Mouse", (void **)&objtemplate));
-  if (objtemplate->object_class != Window_ObjectClass) {
-    _kernel_oserror e = { 0, "" };
-
-    strcpy (e.errmess, message_lookup_direct (messages,"Err_BadClass"));
-    _swi (OS_GenerateError, _IN(0), &e);
-  }
-  wintemplate = objtemplate->body;
-  windef = &wintemplate->window;
-  screeny = _swi (OS_ReadModeVariable, _INR(0,1) | _RETURN(2), -1, 12) <<
-            _swi (OS_ReadModeVariable, _INR(0,1) | _RETURN(2), -1, 5);
-
-  /* Calculate the window height compared with the screen and
-   * turn the vertical scrollbar on if it doesn't fit
-   */
-  if ((windef->visible_area.ymax - windef->visible_area.ymin) >= screeny) {
-    windef->flags |= WimpWindow_VScroll;
-  }
-  else {
-    windef->flags &= ~WimpWindow_VScroll;
-  }
-  throw (toolbox_create_object (Toolbox_CreateObject_InCore, objtemplate, &mainwindow_id));
-  misc_openwindow (mainwindow_id, TRUE);
-  settings_read (cmos_read);
-
   /* Go */
   error_recover_point();
   while (!quit) {
diff --git a/c/Settings b/c/Settings
index 4b03f14..baa7375 100644
--- a/c/Settings
+++ b/c/Settings
@@ -52,28 +52,17 @@ const cmos cmos_details [18] = { { 0xC2, 0, 8 },	/* MouseMultiplier */
 				 { 0x1D, 0, 8 },	/* MouseType */
 
 				 { 0xDD, 0, 4 },	/* (WimpDragDelay EOR 5) */
-				 { 0xDD, 4, 4 },	/* (WimpAutoScrollDelay EOR 5) */
-
 				 { 0xDE, 0, 1 },	/* WimpDragDelayUnit */
-				 { 0xDE, 1, 1 },	/* WimpAutoScrollDelayUnit */
+
 				 { 0xDE, 2, 5 },	/* (WimpDragMove/4 EOR 8) */
 
 				 { 0xDF, 0, 4 },	/* (WimpDoubleClickDelay EOR 10) */
-				 { 0xDF, 4, 4 },	/* (WimpAutoFrontDelay EOR 5) */
-
 				 { 0x16, 0, 1 },	/* WimpDoubleClickDelayUnit */
-				 { 0x16, 1, 1 },	/* WimpAutoFrontDelayUnit */
-				 { 0x16, 2, 5 },	/* (WimpDoubleClickMove/4 EOR 8) */
-				 { 0x16, 7, 1 },	/* WimpAutoFrontIconBar */
-
-				 { 0xC5, 7, 1 },	/* WimpFlagsSubMenus */
-
-				 { 0x17, 0, 4 },	/* (WimpAutoMenuDelay EOR 10) */
-				 { 0x17, 4, 1 },	/* WimpAutoMenuDelayUnit */
 
-				 { 0x1B, 0, 4 },	/* (WimpMenuDragDelay EOR 10) */
-				 { 0x1B, 4, 1 } };	/* WimpMenuDragDelayUnit */
+				 { 0x16, 2, 5 },	/* (WimpDoubleClickMove/4 EOR 8) */
 
+				 { 0xDD, 4, 4 },	/* (WimpAutoScrollDelay EOR 5) */
+				 { 0xDE, 1, 1 } };	/* WimpAutoScrollDelayUnit */
 
 /******	settings_read() ***************************************************\
 
@@ -111,21 +100,6 @@ void settings_read (int(*get)(cmos item, void *messages))
   value = get (WimpAutoScrollDelay, &messages) ^ 5;
   if (1 == get (WimpAutoScrollDelayUnit, &messages)) value *= 10;
   throw (numberrange_set_value (0, mainwindow_id, mainwindow_autoscr, value));
-//
-  throw (optionbutton_set_state (0, mainwindow_id, mainwindow_openmenu, value = get (WimpFlagsSubMenus, &messages)));
-  misc_shadecomponents (!value, mainwindow_id, mainwindow_openmenu_shademin, mainwindow_openmenu_shademax);
-  value = get (WimpAutoMenuDelay, &messages) ^ 10;
-  if (1 == get (WimpAutoMenuDelayUnit, &messages)) value *= 10;
-  throw (numberrange_set_value (0, mainwindow_id, mainwindow_openmenudelay, value));
-  value = get (WimpMenuDragDelay, &messages) ^ 10;
-  if (1 == get (WimpMenuDragDelayUnit, &messages)) value *= 10;
-  throw (numberrange_set_value (0, mainwindow_id, mainwindow_closemenudelay, value));
-//
-  throw (optionbutton_set_state (0, mainwindow_id, mainwindow_autofront, value = !get (WimpAutoFrontIconBar, &messages)));
-  misc_shadecomponents (!value, mainwindow_id, mainwindow_autofront_shademin, mainwindow_autofront_shademax);
-  value = get (WimpAutoFrontDelay, &messages) ^ 5;
-  if (1 == get (WimpAutoFrontDelayUnit, &messages)) value *= 10;
-  throw (numberrange_set_value (0, mainwindow_id, mainwindow_autofrontdelay, value));
 //
 }
 
@@ -157,44 +131,22 @@ BOOL settings_write (void)
   throw (numberrange_get_value (0, mainwindow_id, mainwindow_dragdelay, &value));
   sprintf (string, "Configure WimpDragDelay %i", value);
   _swi (OS_CLI, _IN(0), string);
+//
   throw (numberrange_get_value (0, mainwindow_id, mainwindow_dragdist, &value));
   sprintf (string, "Configure WimpDragMove %i", value);
   _swi (OS_CLI, _IN(0), string);
+//
   throw (numberrange_get_value (0, mainwindow_id, mainwindow_dclickdelay, &value));
   sprintf (string, "Configure WimpDoubleClickDelay %i", value);
   _swi (OS_CLI, _IN(0), string);
+//
   throw (numberrange_get_value (0, mainwindow_id, mainwindow_dclickdist, &value));
   sprintf (string, "Configure WimpDoubleClickMove %i", value);
   _swi (OS_CLI, _IN(0), string);
+//
   throw (numberrange_get_value (0, mainwindow_id, mainwindow_autoscr, &value));
   sprintf (string, "Configure WimpAutoScrollDelay %i", value);
   _swi (OS_CLI, _IN(0), string);
 //
-  throw (optionbutton_get_state (0, mainwindow_id, mainwindow_openmenu, &value));
-  if (value) {
-    cmos_write (WimpFlagsSubMenus, TRUE);
-    misc_applywimpflags ();
-    throw (numberrange_get_value (0, mainwindow_id, mainwindow_openmenudelay, &value));
-    sprintf (string, "Configure WimpAutoMenuDelay %i", value);
-    _swi (OS_CLI, _IN(0), string);
-    throw (numberrange_get_value (0, mainwindow_id, mainwindow_closemenudelay, &value));
-    sprintf (string, "Configure WimpMenuDragDelay %i", value);
-    _swi (OS_CLI, _IN(0), string);
-  }
-  else {
-    cmos_write (WimpFlagsSubMenus, FALSE);
-    misc_applywimpflags ();
-  }
-//
-  throw (optionbutton_get_state (0, mainwindow_id, mainwindow_autofront, &value));
-  if (value) {
-    _swi (OS_CLI, _IN(0), "Configure WimpAutoFrontIconBar On");
-    throw (numberrange_get_value (0, mainwindow_id, mainwindow_autofrontdelay, &value));
-    sprintf (string, "Configure WimpAutoFrontDelay %i", value);
-    _swi (OS_CLI, _IN(0), string);
-  }
-  else {
-    _swi (OS_CLI, _IN(0), "Configure WimpAutoFrontIconBar Off");
-  }
   return TRUE;
 }
diff --git a/c/ToolboxE b/c/ToolboxE
index 6766a6b..749d02b 100644
--- a/c/ToolboxE
+++ b/c/ToolboxE
@@ -41,19 +41,19 @@ Date		Who	Change
 #include "ToolboxE.h"  /* includes prototypes for this file */
 
 static int toolboxe_actionbuttonselected (int event_code, ToolboxEvent *event, IdBlock *id_block, void *handle);
-static int toolboxe_optionbuttonstatechanged (int event_code, ToolboxEvent *event, IdBlock *id_block, void *handle);
 static int toolboxe_stringsetabouttobeshown (int event_code, ToolboxEvent *event, IdBlock *id_block, void *handle);
+static int toolboxe_objectautocreated (int event_code, ToolboxEvent *event, IdBlock *id_block, void *handle);
 
 int toolboxe_events [5] =     { ActionButton_Selected,
-				OptionButton_StateChanged,
 				StringSet_AboutToBeShown,
+				Toolbox_ObjectAutoCreated,
 				0 };
 
 void toolboxe_register (void)
 {
   throw (event_register_toolbox_handler (-1, ActionButton_Selected, toolboxe_actionbuttonselected, NULL));
-  throw (event_register_toolbox_handler (-1, OptionButton_StateChanged, toolboxe_optionbuttonstatechanged, NULL));
   throw (event_register_toolbox_handler (-1, StringSet_AboutToBeShown, toolboxe_stringsetabouttobeshown, NULL));
+  throw (event_register_toolbox_handler (-1, Toolbox_ObjectAutoCreated, toolboxe_objectautocreated, NULL));
 }
 
 /******	toolboxe_actionbuttonselected() ***********************************\
@@ -79,23 +79,6 @@ static int toolboxe_actionbuttonselected (int event_code, ToolboxEvent *event, I
   return 1;
 }
 
-/******	toolboxe_optionbuttonstatechanged() *******************************\
-
-Purpose:	Handles OptionButton_StateChanged event
-
-\**************************************************************************/
-
-static int toolboxe_optionbuttonstatechanged (int event_code, ToolboxEvent *event, IdBlock *id_block, void *handle)
-{
-  if (id_block->self_component == mainwindow_openmenu)
-    misc_shadecomponents (!((OptionButtonStateChangedEvent *) event)->new_state,
-      mainwindow_id, mainwindow_openmenu_shademin, mainwindow_openmenu_shademax);
-  if (id_block->self_component == mainwindow_autofront)
-    misc_shadecomponents (!((OptionButtonStateChangedEvent *) event)->new_state,
-      mainwindow_id, mainwindow_autofront_shademin, mainwindow_autofront_shademax);
-  return 1;
-}
-
 /******	toolboxe_stringsetabouttobeshown() ********************************\
 
 Purpose:	Handles StringSet_AboutToBeShown event
@@ -113,3 +96,17 @@ static int toolboxe_stringsetabouttobeshown (int event_code, ToolboxEvent *event
   }
   return 1;
 }
+
+/******	toolboxe_objectautocreated() **************************************\
+
+Purpose:	Handles Toolbox_ObjectAutoCreated event
+
+\**************************************************************************/
+
+static int toolboxe_objectautocreated (int event_code, ToolboxEvent *event, IdBlock *id_block, void *handle)
+{
+  mainwindow_id = id_block->self_id;
+  misc_openwindow (mainwindow_id, TRUE);
+  settings_read (cmos_read);
+  return 1;
+}
diff --git a/h/Settings b/h/Settings
index fd6af9c..17b21b1 100644
--- a/h/Settings
+++ b/h/Settings
@@ -41,21 +41,13 @@ Date		Who	Change
 #define MouseMultiplier			((cmos) cmos_details[0])
 #define MouseType			((cmos) cmos_details[1])
 #define WimpDragDelay			((cmos) cmos_details[2])
-#define WimpAutoScrollDelay		((cmos) cmos_details[3])
-#define WimpDragDelayUnit		((cmos) cmos_details[4])
-#define WimpAutoScrollDelayUnit		((cmos) cmos_details[5])
-#define WimpDragMove			((cmos) cmos_details[6])
-#define WimpDoubleClickDelay		((cmos) cmos_details[7])
-#define WimpAutoFrontDelay		((cmos) cmos_details[8])
-#define WimpDoubleClickDelayUnit	((cmos) cmos_details[9])
-#define WimpAutoFrontDelayUnit		((cmos) cmos_details[10])
-#define WimpDoubleClickMove		((cmos) cmos_details[11])
-#define WimpAutoFrontIconBar		((cmos) cmos_details[12])
-#define WimpFlagsSubMenus		((cmos) cmos_details[13])
-#define WimpAutoMenuDelay		((cmos) cmos_details[14])
-#define WimpAutoMenuDelayUnit		((cmos) cmos_details[15])
-#define WimpMenuDragDelay		((cmos) cmos_details[16])
-#define WimpMenuDragDelayUnit		((cmos) cmos_details[17])
+#define WimpDragDelayUnit		((cmos) cmos_details[3])
+#define WimpDragMove			((cmos) cmos_details[4])
+#define WimpDoubleClickDelay		((cmos) cmos_details[5])
+#define WimpDoubleClickDelayUnit	((cmos) cmos_details[6])
+#define WimpDoubleClickMove		((cmos) cmos_details[7])
+#define WimpAutoScrollDelay		((cmos) cmos_details[8])
+#define WimpAutoScrollDelayUnit		((cmos) cmos_details[9])
 
 #define mainwindow_mousespeed		((ComponentId) 0x002)
 #define mainwindow_mousetype		((ComponentId) 0x005)
@@ -64,21 +56,10 @@ Date		Who	Change
 #define mainwindow_dclickdelay		((ComponentId) 0x00d)
 #define mainwindow_dclickdist		((ComponentId) 0x010)
 #define mainwindow_autoscr		((ComponentId) 0x01e)
-#define mainwindow_openmenu		((ComponentId) 0x012)
-#define mainwindow_openmenudelay	((ComponentId) 0x014)
-#define mainwindow_closemenudelay	((ComponentId) 0x017)
-#define mainwindow_autofront		((ComponentId) 0x019)
-#define mainwindow_autofrontdelay	((ComponentId) 0x01b)
 #define mainwindow_set			((ComponentId) 0x100)
 #define mainwindow_cancel		((ComponentId) 0x101)
 #define mainwindow_default		((ComponentId) 0x102)
 
-#define mainwindow_openmenu_shademin	((ComponentId) 0x013)
-#define mainwindow_openmenu_shademax	((ComponentId) 0x018)
-
-#define mainwindow_autofront_shademin	((ComponentId) 0x01a)
-#define mainwindow_autofront_shademax	((ComponentId) 0x01c)
-
 /* Global variables */
 
 extern const cmos cmos_details [];
-- 
GitLab