@Override
    public void actionPerformed(final ActionEvent event) {
      NotifyUser.askConfirmation(
          i18n.t("Confirm, please:"),
          i18n.t(
              "This will open a specific chatroom to chat about this page or document (it's useful to chat with others about something while reading/modifing it). Are you sure?"),
          new SimpleResponseCallback() {
            @Override
            public void onCancel() {}

            @Override
            public void onSuccess() {
              final String subject =
                  i18n.t("Chat about: [%s]", session.getContentState().getTitle());
              final StateToken token = session.getCurrentStateToken();
              chatClient
                  .get()
                  .joinRoom(
                      token.toString().replaceAll("\\.", "-"),
                      subject,
                      session.getCurrentUserInfo().getShortName());
              chatClient.get().show();
            }
          });
    }
 @Override
 public void actionPerformed(final ActionEvent event) {
   final StateToken token = session.getCurrentStateToken().copy().clearDocument();
   final String url =
       new Url(
               session.getSiteUrl() + FileConstants.EVENTSSERVLET,
               new UrlParam(FileConstants.TOKEN, token.toString()))
           .toString();
   NotifyUser.info(
       i18n.t("Calendar exporting"),
       i18n.t(
           "Open or use this address in your prefered calendar program for instance in your mobile: [%s]",
           TextUtils.generateHtmlLink(url, url, true)),
       ID,
       true);
 }
 @Override
 public void actionPerformed(final ActionEvent event) {
   NotifyUser.showProgress();
   final boolean setPublic = !isPublic();
   listService
       .get()
       .setPublic(
           session.getUserHash(),
           session.getCurrentStateToken(),
           setPublic,
           new AsyncCallbackSimple<StateContainerDTO>() {
             @Override
             public void onSuccess(final StateContainerDTO result) {
               NotifyUser.info(
                   setPublic
                       ? i18n.t("This list is now public")
                       : i18n.t("This list is now restricted to the public"));
               stateManager.setRetrievedState(result);
               stateManager.refreshCurrentState();
               NotifyUser.hideProgress();
             }
           });
 }