var self = this;
var ui = {
  name: 'layout',
  type: 'FormGridLayout',
  property: {
    columns: 2,
    margin: 20
    // vertical_spacing: 10,
    // horizontal_spacing: 10
  },
  child: [
    {
      name: 'hide_flag',
      type: 'RadioBox',
      property: {},
      pack: { label: self.ttr('When close main window') },
      initCallback: function (obj, self) {
        obj.setData('item_list', [
          {name: 'hide', text: self.ttr('Hide to system tray')},
          {name: 'quit', text: self.ttr('Quit')}
        ]);
      }
    },
    {
      name: 'notice_flag',
      type: 'CheckBox',
      property: {},
      pack: { label: self.ttr('No longer remind') }
    },
    {
      type: 'Stretch'
    }
  ]
};
try {
  var flag = "quit";
  if (self.hide2SystemTrayState()) {
    flag = "hide";
  }
  var noticeFlag = 0;
  if (!self.hide2SystemTrayTipState()) {
    noticeFlag = 1;
  }
  var ret = GUI.showForm({
    title: self.ttr('Quit Config'),
    self: self,
    use_core_engine: true,
    items: ui,
    size: '420x180',
    buttons: [
      self.ttr('Ok') + ':Ok:Ok:Primary',
      self.ttr('Cancel') + ':Cancel:Cancel:Normal'
    ],
    values: {
      hide_flag: flag,
      notice_flag: noticeFlag
    },
    include_hidden_items: true
  });
  if (_.isEmpty(ret)) return

  var hideFlag = true;
  if (ret['hide_flag'] == "quit") {
    hideFlag = false;
  }
  self.saveHide2SystemTrayState(hideFlag);
  if (ret['notice_flag'] == 0) {
    self.saveHide2SystemTrayTipState(true);
  } else {
    self.saveHide2SystemTrayTipState(false);
  }

} catch (e) {
  print(e);
}

/*---ACTION---
ICON: ""
LABEL: "Quit Config"
LABEL_ZHCN: "退出设置"
LABEL_ZHTW: "退出設置"
ACCEL: ""
TOOLTIP: "Quit Config"
TOOLTIP_ZHCN: "退出设置"
TOOLTIP_ZHTW: "退出設置"
CHECKED: ""
GROUP: ""
STYLE: "size=small button_style=both"
LANG: "JavaScript"
STATUS: "Release"
VERSION: "1"
STATEHOOK: "if(this.isSystemTrayIconShow()) {return 'enable';}else{return 'hide';}"
---ACTION---*/