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

📄 replypage.java

📁 java写的qq代码实现qq的部分功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
                }                
            }
        });
        autoViewer.setInput(this);
        
        // 快捷回复组
        layout = new GridLayout();
        layout.marginHeight = layout.marginWidth = 8;
        Group quickGroup = UITool.createGroup(container, LumaQQ.getString("sys.opt.group.quick.reply"), new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.FILL_VERTICAL), layout);
        quickGroup.addPaintListener(paintListener);
        
        // 删除快捷回复按钮
        btnDeleteQuick = UITool.createButton(quickGroup, LumaQQ.getString("common.button.delete"));
        btnDeleteQuick.setEnabled(false);
        btnDeleteQuick.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
				btnDeleteQuick.setEnabled(false);
				
                Table t = quickViewer.getTable();
				TableItem ti = t.getItem(t.getSelectionIndex());
				boolean checked = ti.getChecked();
				if(checked)
				    ti.setChecked(false);
				quickReplies.remove(t.getSelectionIndex());
				quickViewer.refresh();
				
				if(checked) {
					if(quickReplies.size() > 0) {
					    currentQuickReply = t.getItem(0);					    
						currentQuickReply.setChecked(true);
					} else
					    currentQuickReply = null;
				}
				
                makeDirty(QUICK_REPLY);
            }
        });

        // 快捷回复的table viewer
        quickViewer = new TableViewer(quickGroup, SWT.SINGLE | SWT.CHECK | SWT.V_SCROLL | SWT.FULL_SELECTION);
        quickViewer.setContentProvider(new ListContentProvider(quickReplies));
        quickViewer.setLabelProvider(labelProvider);
        tc = new TableColumn(quickViewer.getTable(), SWT.LEFT);
        quickViewer.getTable().setHeaderVisible(false);
        quickViewer.getTable().setLinesVisible(false);
        quickViewer.getTable().setBackground(Colors.PAGE_BACKGROUND);
        quickViewer.getTable().setLayoutData(new GridData(GridData.FILL_BOTH));
        quickViewer.getTable().addControlListener(new ControlAdapter() {
            public void controlResized(ControlEvent e) {
                Table t = (Table)e.getSource();
                t.getColumn(0).setWidth(t.getClientArea().width);
            }
        });
        quickViewer.getTable().addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                Table t = (Table)e.getSource();
                
                if(e.detail == SWT.CHECK) {
					TableItem ti = (TableItem)e.item;
					if(ti.getChecked()) {		
					    if(currentQuickReply != null)
					        currentQuickReply.setChecked(false);
						currentQuickReply = ti;
						
						makeDirty(QUICK_REPLY);
					} else
						ti.setChecked(true);
                } else {
					if(t.getSelectionIndex() != -1) {
						btnDeleteQuick.setEnabled(true);
						textEdit.setText(t.getSelection()[0].getText());
					} else {
					    btnDeleteQuick.setEnabled(false);
					}                    
                }
                
            }
        });
        quickViewer.setInput(this);
        
        // 编辑组
        GridData gd = new GridData(GridData.FILL_HORIZONTAL);
        gd.heightHint = 80;
        gd.horizontalSpan = 2;
        layout = new GridLayout(2, false);
        Group editGroup = UITool.createGroup(container, LumaQQ.getString("sys.opt.group.edit.reply"), gd, layout);
        editGroup.addPaintListener(paintListener);
        
        // 编辑框
        gd = new GridData(GridData.FILL_BOTH);
        gd.verticalSpan = 2;
        textEdit = UITool.createMultiText(editGroup, gd);
        textEdit.addModifyListener(new ModifyListener() {
            public void modifyText(ModifyEvent e) {
                boolean empty = textEdit.getText().trim().equals("");
                btnAddAuto.setEnabled(!empty);
                btnAddQuick.setEnabled(!empty);
            }
        });
        // 添加为自动回复按钮
        btnAddAuto = UITool.createButton(editGroup, LumaQQ.getString("sys.opt.button.add.auto.reply"), new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
        btnAddAuto.setEnabled(false);
        btnAddAuto.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                autoReplies.add(textEdit.getText().trim());
                autoViewer.refresh();
                makeDirty(AUTO_REPLY);
            }
        });
        // 添加为快捷回复按钮
        btnAddQuick = UITool.createButton(editGroup, LumaQQ.getString("sys.opt.button.add.quick.reply"), new GridData(GridData.VERTICAL_ALIGN_BEGINNING | GridData.HORIZONTAL_ALIGN_FILL));
        btnAddQuick.setEnabled(false);
        btnAddQuick.addSelectionListener(new SelectionAdapter() {
            public void widgetSelected(SelectionEvent e) {
                quickReplies.add(textEdit.getText().trim());
                quickViewer.refresh();
                makeDirty(QUICK_REPLY);
            }
        });
        
        return container;
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.shells.AbstractPage#getImage()
     */
    protected Image getImage() {
        return IconHolder.getInstance().getImage(IconHolder.icoSysOpt24);
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.shells.AbstractPage#getTitle()
     */
    protected String getTitle(int page) {
        return LumaQQ.getString("sys.opt.button.reply");
    }
    
    /**
     * @return
     * 		选中的Auto Reply索引
     */
    private int getCheckedAutoReplyIndex() {
        TableItem[] item = autoViewer.getTable().getItems();
        for(int i = 0; i < item.length; i++) {
            if(item[i].getChecked())
                return i;
        }
        return 0;
    }
    
    /**
     * @return
     * 		选中的Quick Reply索引
     */
    private int getCheckedQuickReplyIndex() {
        TableItem[] item = quickViewer.getTable().getItems();
        for(int i = 0; i < item.length; i++) {
            if(item[i].getChecked())
                return i;
        }
        return 0;
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.shells.AbstractPage#saveDirtyProperty(int)
     */
    protected void saveDirtyProperty(int propertyId) {
        switch(propertyId) {
            case AUTO_REPLY:
                replies.removeAllAutoReplies();
                replies.getAutoReplies().addAll(autoReplies);
                replies.setCurrentAutoReply(getCheckedAutoReplyIndex());
                replies.save();
        		main.getMenuHelper().renewAawyMenu();
                break;
            case QUICK_REPLY:
                replies.removeAllQuickReplies();
                replies.getQuickReplies().addAll(quickReplies);
                replies.setCurrentQuickReply(getCheckedQuickReplyIndex());
                replies.save();
                main.getMenuHelper().renewAawyMenu();
                break;
        }
    }

    /* (non-Javadoc)
     * @see edu.tsinghua.lumaqq.shells.AbstractPage#initializeValues()
     */
    protected void initializeValues() {
        autoReplies.addAll(replies.getAutoReplies());
        quickReplies.addAll(replies.getQuickReplies());
        autoViewer.refresh();
        quickViewer.refresh();
        if(replies.getAutoReplySize() > 0) {
	        currentAutoReply = autoViewer.getTable().getItem(replies.getCurrentAutoReply()); 
	        currentAutoReply.setChecked(true);            
        }
        if(replies.getQuickReplySize() > 0) {
	        currentQuickReply = quickViewer.getTable().getItem(replies.getCurrentQuickReply()); 
	        currentQuickReply.setChecked(true);            
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -