📄 menuhelper.java
字号:
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
uiHelper.showSmallFace(false);
}
}
);
// 添加组
mi = new MenuItem(friendMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.friend.addgroup"));
mi.setImage(icons.getImage(IconHolder.icoAddGroup));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
main.getMVCHelper().addGroup();
}
}
);
// separator
mi = new MenuItem(friendMenu, SWT.SEPARATOR);
// 只显示在线好友
mi = new MenuItem(friendMenu, SWT.PUSH);
mi.setImage(icons.getImage(IconHolder.icoShowOnlineOnly));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if(options.isShowOnlineOnly())
uiHelper.showAllFriend();
else
uiHelper.showOnlineFriendOnly();
}
}
);
// separator
mi = new MenuItem(friendMenu, SWT.SEPARATOR);
// 从该组删除
mi = new MenuItem(friendMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.friend.delfriend"));
mi.setImage(icons.getImage(IconHolder.icoDelFriend));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
GroupModel g = (GroupModel)model.getTab(shutter.getCurrentTab());
CoolButton viewPart = (CoolButton)friendMenu.getData();
FriendModel f = (FriendModel)viewPart.getData();
// 检查要删除的这个好友是否在一个好友组中,如果是,需要从服务器删除,如果不是
// 直接删除即可
if(!g.isFriendly())
main.deleteFriend(viewPart, true, false);
else {
MessageBox box = new MessageBox(shell, SWT.ICON_QUESTION | SWT.YES | SWT.NO);
box.setText(LumaQQ.getString("message.box.common.question.title"));
box.setMessage(LumaQQ.getString("message.box.confirm.delete.friend", new Object[] { f.getProperty(INode.NAME) }));
if(box.open() == SWT.YES) {
shellLauncher.openDeleteReceiveSystemMessageShell(f);
main.deleteFriend(viewPart, false, false);
}
}
}
}
);
// 改名
mi = new MenuItem(friendMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.friend.rename"));
mi.setImage(icons.getImage(IconHolder.icoRename));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
CoolButton viewPart = (CoolButton)friendMenu.getData();
viewPart.editText();
viewPart.addShutterLabelListener(main.getFriendCoolButtonListener());
}
}
);
// 添加事件监听器,因为需要判断当前显示的是小头像还是大头像,从而使相应的菜单disable
friendMenu.addMenuListener(
new MenuAdapter() {
public void menuShown(MenuEvent e) {
// 显示什么头像的菜单使能状态
if(shutter.isShowSmallImage()) {
friendMenu.getItem(10).setEnabled(false);
friendMenu.getItem(11).setEnabled(true);
} else {
friendMenu.getItem(10).setEnabled(true);
friendMenu.getItem(11).setEnabled(false);
}
// 显示在线用户还是全部用户的选项
if(options.isShowOnlineOnly())
friendMenu.getItem(14).setText(LumaQQ.getString("menu.friend.showall"));
else
friendMenu.getItem(14).setText(LumaQQ.getString("menu.friend.showonlineonly"));
}
}
);
}
/**
* 初始化手机好友菜单
*/
private void initMobileMenu() {
// 手机好友菜单
mobileMenu = new Menu(shell);
// 添加手机好友
MenuItem mi = new MenuItem(mobileMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.mobile.add"));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
MobileInputDialog dialog = new MobileInputDialog(main.getShell());
dialog.open();
if(dialog.getName() != null) {
main.getMVCHelper().addMobile(dialog.getName(), dialog.getNumber());
}
}
});
// 删除手机好友
mi = new MenuItem(mobileMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.mobile.delete"));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
CoolButton viewPart = (CoolButton)mobileMenu.getData();
Object modelObj = viewPart.getData();
if(modelObj instanceof MobileModel) {
main.getMVCHelper().removeMobile(((MobileModel)modelObj).getMobile());
}
}
});
// separator
mi = new MenuItem(mobileMenu, SWT.SEPARATOR);
// 发送短消息
mi = new MenuItem(mobileMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.mobile.send"));
mi.setImage(icons.getImage(IconHolder.icoMobile));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
shellLauncher.openSMSShell((CoolButton)mobileMenu.getData());
}
});
// 添加菜单事件
mobileMenu.addMenuListener(new MenuAdapter() {
public void menuShown(MenuEvent e) {
boolean mobileFriendSelected = mobileMenu.getData() instanceof CoolButton;
mobileMenu.getItem(1).setEnabled(mobileFriendSelected);
mobileMenu.getItem(3).setEnabled(mobileFriendSelected);
}
});
}
/**
* 初始化系统菜单
*/
private void initSysMenu() {
// 系统弹出菜单
sysMenu = new Menu(main.getSystemMenuButton());
// 分组管理菜单
MenuItem mi = new MenuItem(sysMenu, SWT.CASCADE);
mi.setText(LumaQQ.getString("menu.sys.group"));
mi.setImage(icons.getImage(IconHolder.icoGroup));
Menu groupMenu = new Menu(mi);
mi.setMenu(groupMenu);
// 上传分组
MenuItem sub = new MenuItem(groupMenu, SWT.PUSH);
sub.setText(LumaQQ.getString("menu.sys.group.upload"));
sub.setImage(icons.getImage(IconHolder.icoUploadGroup));
sub.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// 检查是否已经登陆,没有则返回
if(!client.getUser().isLoggedIn()) return;
JobExecutor executor = new JobExecutor(main);
executor.addJob(new UploadGroupJob());
executor.run();
}
}
);
// 下载分组
sub = new MenuItem(groupMenu, SWT.PUSH);
sub.setText(LumaQQ.getString("menu.sys.group.download"));
sub.setImage(icons.getImage(IconHolder.icoDownloadGroup));
sub.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if(!client.getUser().isLoggedIn()) return;
JobExecutor executor = new JobExecutor(main);
executor.addJob(new DownloadGroupJob());
executor.run();
}
}
);
// separator
MenuItem separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// 好友信息管理菜单
mi = new MenuItem(sysMenu, SWT.CASCADE);
mi.setText(LumaQQ.getString("menu.sys.friend"));
mi.setImage(icons.getImage(IconHolder.icoFriendInfoManage));
Menu infoMenu = new Menu(mi);
mi.setMenu(infoMenu);
// separator
separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// 刷新好友列表
mi = new MenuItem(infoMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.friend.refresh"));
mi.setImage(icons.getImage(IconHolder.icoRefreshFriend));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
JobExecutor executor = new JobExecutor(main);
executor.setCancelable(true);
executor.addJob(new RefreshFriendJob());
executor.run();
}
}
);
// 批量下载好友备注
mi = new MenuItem(infoMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.friend.download.remark"));
mi.setImage(icons.getImage(IconHolder.icoDownloadRemark));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
// 检查是否已经登陆,没有则返回
if(!client.getUser().isLoggedIn()) return;
JobExecutor executor = new JobExecutor(main);
executor.setModeless(true);
executor.setCancelable(true);
executor.addJob(new DownloadFriendRemarkJob());
executor.run();
}
});
// 导出聊天记录
mi = new MenuItem(infoMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.friend.export.record"));
mi.setImage(icons.getImage(IconHolder.icoTxtFile));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
exportHelper.exportAllMessage();
}
});
// separator
mi = new MenuItem(infoMenu, SWT.SEPARATOR);
// 如来神掌之乱舞
mi = new MenuItem(infoMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.friend.rlsz"));
mi.setImage(icons.getImage(IconHolder.icoPalms));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
if(!client.getUser().isLoggedIn()) return;
if(!BusyFlag.get()) return;
shellLauncher.openBatchDetectHiddenShell();
}
});
// 申请QQ号码
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.apply"));
mi.setImage(icons.getImage(IconHolder.icoApply));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
shellLauncher.goApply();
}
});
// separator
separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// IP查询
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.searchip"));
mi.setImage(icons.getImage(IconHolder.icoSearchIp));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
shellLauncher.openIPSeekerShell();
}
});
// 个人设定
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.personinfo"));
mi.setImage(icons.getImage(IconHolder.icoPersonInfo));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
shellLauncher.openUserInfoWindow(main.getMyModel(), UserInfoWindow.EDITABLE);
}
}
);
// 系统参数
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.sysopt"));
mi.setImage(icons.getImage(IconHolder.icoSysOpt));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
shellLauncher.openSystemOptionWindow();
}
}
);
// separator
separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// 更改用户
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.changeuser"));
mi.setImage(icons.getImage(IconHolder.icoChangeUser));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
main.changeUser();
}
}
);
// separator
separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// 检查LumaQQ更新
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.checkupdate"));
mi.setImage(icons.getImage(IconHolder.icoUpdate));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
shellLauncher.openCheckUpdateShell();
}
});
// 关于
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.about"));
mi.setImage(icons.getImage(IconHolder.icoAbout));
mi.addSelectionListener(
new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
AboutDialog ad = new AboutDialog(shell);
ad.open();
}
}
);
// separator
separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// 调试窗口
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.debug"));
mi.setImage(icons.getImage(IconHolder.icoDebug));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
new Debugger(main).open();
}
});
// separator
separator = new MenuItem(sysMenu, SWT.SEPARATOR);
// 退出
mi = new MenuItem(sysMenu, SWT.PUSH);
mi.setText(LumaQQ.getString("menu.sys.exit"));
mi.setImage(icons.getImage(IconHolder.icoExit));
mi.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
main.close();
}
});
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -