⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menuhelper.java

📁 java写的qq代码实现qq的部分功能
💻 JAVA
📖 第 1 页 / 共 4 页
字号:
			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 + -