mirror of
https://github.com/samba-team/samba.git
synced 2024-12-24 21:34:56 +03:00
r21287: Improve user feedback. Cursor now changes to stopwatch during RPC and module loading.
(This used to be commit a6fc47eff3
)
This commit is contained in:
parent
cb89806824
commit
6ac408eef8
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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" :
|
||||
|
Loading…
Reference in New Issue
Block a user