summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDerrell Lipman <derrell@samba.org>2007-02-11 22:59:02 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:45:00 -0500
commit6ac408eef8af8e6feb4309708cf071bfe357f98f (patch)
tree03cea138bca4c54221944e5f95d3d810d712f7c1
parentcb89806824b0e317ac1a2f324d699b5fdd207ec7 (diff)
downloadsamba-6ac408eef8af8e6feb4309708cf071bfe357f98f.tar.gz
samba-6ac408eef8af8e6feb4309708cf071bfe357f98f.tar.bz2
samba-6ac408eef8af8e6feb4309708cf071bfe357f98f.zip
r21287: Improve user feedback. Cursor now changes to stopwatch during RPC and module loading.
(This used to be commit a6fc47eff3aa87b1dfe4eaf25719b51b24c88425)
-rw-r--r--webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/util/fsm/FiniteStateMachine.js2
-rw-r--r--webapps/swat/source/class/swat/main/AbstractModule.js22
-rw-r--r--webapps/swat/source/class/swat/main/AbstractModuleFsm.js19
3 files changed, 41 insertions, 2 deletions
diff --git a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/util/fsm/FiniteStateMachine.js b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/util/fsm/FiniteStateMachine.js
index d91ab45858..0b42bc24be 100644
--- a/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/util/fsm/FiniteStateMachine.js
+++ b/webapps/qooxdoo-0.6.5-sdk/frontend/framework/source/class/qx/util/fsm/FiniteStateMachine.js
@@ -178,7 +178,7 @@ qx.Proto.addState = function(state)
// Ensure that the state name doesn't already exist
if (stateName in this._states)
{
- throw new Error("State " + state + " already exists");
+ throw new Error("State " + stateName + " already exists");
}
// Add the new state object to the finite state machine
diff --git a/webapps/swat/source/class/swat/main/AbstractModule.js b/webapps/swat/source/class/swat/main/AbstractModule.js
index 01aae703c3..bf61a86fd8 100644
--- a/webapps/swat/source/class/swat/main/AbstractModule.js
+++ b/webapps/swat/source/class/swat/main/AbstractModule.js
@@ -75,6 +75,7 @@ qx.Proto.buildInitialFsm = function(module)
* Load module's finite state machine and graphical user interface
*/
var thisModule = this;
+ var newModule = module;
var trans = new qx.util.fsm.Transition(
"Transition_Idle_to_Idle_Load_Gui",
{
@@ -87,7 +88,26 @@ qx.Proto.buildInitialFsm = function(module)
// Call the module's initialAppear function to build FSM and GUI.
// That function should *replace* this state, State_Idle, to which
// we'll transition.
- thisModule.initialAppear(module);
+ var canvas = fsm.getObject("swat.main.canvas");
+ canvas.getTopLevelWidget().setGlobalCursor("progress");
+ if (! newModule.bLoaded)
+ {
+ window.setTimeout(
+ function()
+ {
+ // Call the module's initial appear handler
+ thisModule.initialAppear(newModule);
+
+ // Regenerate the appear event, since the original one got
+ // lost by doing this code inside of the timeout.
+ canvas.createDispatchEvent("appear");
+
+ // Reset the cursor to the default
+ canvas.getTopLevelWidget().setGlobalCursor(null);
+
+ }, 0);
+ newModule.bLoaded = true;
+ }
}
});
state.addTransition(trans);
diff --git a/webapps/swat/source/class/swat/main/AbstractModuleFsm.js b/webapps/swat/source/class/swat/main/AbstractModuleFsm.js
index 273c9ad8a3..3cf4187676 100644
--- a/webapps/swat/source/class/swat/main/AbstractModuleFsm.js
+++ b/webapps/swat/source/class/swat/main/AbstractModuleFsm.js
@@ -113,6 +113,10 @@ qx.Proto.addAwaitRpcResultState = function(module, blockedEvents)
{
var bAuthCompleted = false;
+ // Change the cursor to indicate RPC in progress
+ var canvas = fsm.getObject("swat.main.canvas");
+ canvas.getTopLevelWidget().setGlobalCursor("progress");
+
// See if we just completed an authentication
if (fsm.getPreviousState() == "State_Authenticate" &&
event.getType() == "complete")
@@ -130,6 +134,21 @@ qx.Proto.addAwaitRpcResultState = function(module, blockedEvents)
}
},
+ "onexit" :
+ function(fsm, event)
+ {
+ // If we're returning to the calling state (not going to the
+ // Authenticate state)...
+ var nextState = fsm.getNextState();
+ if (nextState != "State_Authenticate" &&
+ nextState != "State_AwaitRpcResult")
+ {
+ // ... then set the cursor back to normal
+ var canvas = fsm.getObject("swat.main.canvas");
+ canvas.getTopLevelWidget().setGlobalCursor(null);
+ }
+ },
+
"events" :
{
"execute" :