initWidget(uiBinder.createAndBindUi(this));
currentYear.setInnerText(Integer.toString(new Date().getYear() + 1900));
aboutMenuItem.setCommand(new Command() {
@Override
public void execute() {
GWT.runAsync(new RunAsyncCallback() {
@Override
public void onFailure(Throwable reason) {
// TODO Auto-generated method stub
}
@Override
public void onSuccess() {
AboutDialog aboutDialog = new AboutDialog();
aboutDialog.center();
aboutDialog.show();
}
});
}
});
// Check to see if we have an user logged in, if so, let's build logout
// menus and stuff. Otherwise, we'll show login link.
if (userInfo != null) {
settingsMenuItem.setCommand(new Command() {
@Override
public void execute() {
placeController.goTo(new SettingsPlace());
}
});
settingsMenuItem.setVisible(true);
logoutMenuItem.setCommand(new Command() {
@Override
public void execute() {
StringBuilder forwardUrl = new StringBuilder(Window.Location
.getPath());
String queryString = Window.Location.getQueryString();
if (queryString != null) {
forwardUrl.append(queryString);
}
String hash = Window.Location.getHash();
if (hash != null) {
forwardUrl.append(hash);
}
Window.Location.assign("/logout.php?f="
+ URL.encodeQueryString(forwardUrl.toString()));
}
});
logoutMenuItem.setVisible(true);
} else {
loginMenuItem.setCommand(new Command() {
@Override
public void execute() {
StringBuilder forwardUrl = new StringBuilder(Window.Location
.getPath());
String queryString = Window.Location.getQueryString();
if (queryString != null) {
forwardUrl.append(queryString);
}
String hash = Window.Location.getHash();
if (hash != null) {
forwardUrl.append(hash);
}
Window.Location.assign("/login.php?f="
+ URL.encodeQueryString(forwardUrl.toString()));
}
});
loginMenuItem.setVisible(true);
}
searchKeyword.getTextBox().addFocusHandler(new FocusHandler() {
@Override
public void onFocus(FocusEvent event) {
HotKeysManager.deactivateHotKeys();
}
});
searchKeyword.getTextBox().addBlurHandler(new BlurHandler() {
@Override
public void onBlur(BlurEvent event) {
HotKeysManager.activateHotKeys();
}
});
HotKeysManager.registerHotKey('?', new Command() {
@Override
public void execute() {
// TODO decide how we do the hot keys display popup.
}