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

📄 sharedtab.java

📁 JMule是一个基于Java开发
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
				setRowText(object, SWTConstants.SHARED_LIST_FILE_SIZE_COLUMN_ID, FileFormatter.formatFileSize(file_size));				String mime_type = FileFormatter.formatMimeType(object.getMimeType());				setRowText(object,SWTConstants.SHARED_LIST_FILE_TYPE_COLUMN_ID,mime_type);				double percent_completed = 100d;				if (object instanceof PartialFile) {					PartialFile partial_file = (PartialFile)object;					percent_completed = partial_file.getPercentCompleted();				}				if (status == HASHED) {				    setRowText(object,SWTConstants.SHARED_LIST_COMPLETED_COLUMN_ID,FileFormatter.formatProgress(percent_completed));				}				if (status == HASHED) {					setRowText(object,SWTConstants.SHARED_LIST_FILE_ID_COLUMN_ID, object.getFileHash().getAsString());				} else					if (status == HASHING)						setRowText(object,SWTConstants.SHARED_LIST_FILE_ID_COLUMN_ID, _._("mainwindow.sharedtab.label.hashing"));					else						setRowText(object,SWTConstants.SHARED_LIST_FILE_ID_COLUMN_ID, _._("mainwindow.sharedtab.label.waiting_to_hash"));			}				};	  int width;	  	  width = SWTPreferences.getInstance().getColumnWidth(SWTConstants.SHARED_LIST_FILE_NAME_COLUMN_ID);	  shared_files_table.addColumn(SWT.LEFT,  SWTConstants.SHARED_LIST_FILE_NAME_COLUMN_ID, _._("mainwindow.sharedtab.column.filename"), "", width);	  	  width = SWTPreferences.getInstance().getColumnWidth(SWTConstants.SHARED_LIST_FILE_SIZE_COLUMN_ID);	  shared_files_table.addColumn(SWT.RIGHT, SWTConstants.SHARED_LIST_FILE_SIZE_COLUMN_ID, _._("mainwindow.sharedtab.column.filesize"), "", width);	  	  width = SWTPreferences.getInstance().getColumnWidth(SWTConstants.SHARED_LIST_FILE_TYPE_COLUMN_ID);	  shared_files_table.addColumn(SWT.LEFT,  SWTConstants.SHARED_LIST_FILE_TYPE_COLUMN_ID, _._("mainwindow.sharedtab.column.filetype"), "",width);	  	  width = SWTPreferences.getInstance().getColumnWidth(SWTConstants.SHARED_LIST_FILE_ID_COLUMN_ID);	  shared_files_table.addColumn(SWT.LEFT,  SWTConstants.SHARED_LIST_FILE_ID_COLUMN_ID,   _._("mainwindow.sharedtab.column.fileid"), "", width);	  	  width = SWTPreferences.getInstance().getColumnWidth(SWTConstants.SHARED_LIST_COMPLETED_COLUMN_ID);	  shared_files_table.addColumn(SWT.RIGHT,  SWTConstants.SHARED_LIST_COMPLETED_COLUMN_ID, _._("mainwindow.sharedtab.column.completed"), "", width);	  	  shared_files_table.updateColumnSettings();	  	  no_items_menu = new Menu(shared_files_table);	  	  MenuItem column_setup_menu_item = new MenuItem(no_items_menu,SWT.PUSH);	  column_setup_menu_item.setText(_._("mainwindow.sharedtab.popupmenu.column_setup"));	  column_setup_menu_item.setImage(SWTImageRepository.getImage("columns_setup.png"));	  column_setup_menu_item.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				shared_files_table.showColumnEditorWindow();	  }});	  	  select_menu = new Menu(shared_files_table);	  	  open_selected_menu_item = new MenuItem(select_menu,SWT.PUSH);	  open_selected_menu_item.setText(_._("mainwindow.sharedtab.popupmenu.open"));	  open_selected_menu_item.setImage(SWTImageRepository.getImage("open_file.png"));	  open_selected_menu_item.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				openSelected();	  }});	  	  copy_ed2k_link_menu_item = new MenuItem(select_menu,SWT.PUSH);	  copy_ed2k_link_menu_item.setText(_._("mainwindow.sharedtab.popupmenu.copy_ed2k_link"));	  copy_ed2k_link_menu_item.setImage(SWTImageRepository.getImage("ed2k_link.png"));	  copy_ed2k_link_menu_item.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				copyED2KLink();	  }});	  remove_from_disk_menu_item = new MenuItem(select_menu,SWT.PUSH);	  remove_from_disk_menu_item.setText(_._("mainwindow.sharedtab.popupmenu.remove_from_disk"));	  remove_from_disk_menu_item.setImage(SWTImageRepository.getImage("cancel.png"));	  remove_from_disk_menu_item.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				removeFromDisk();	  }});	  	  MenuItem selected_column_setup_menu_item = new MenuItem(select_menu,SWT.PUSH);	  selected_column_setup_menu_item.setText(_._("mainwindow.sharedtab.popupmenu.column_setup"));	  selected_column_setup_menu_item.setImage(SWTImageRepository.getImage("columns_setup.png"));	  selected_column_setup_menu_item.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				shared_files_table.showColumnEditorWindow();	  }});	 	  new MenuItem(select_menu,SWT.SEPARATOR);	  	  properties_menu_item = new MenuItem(select_menu,SWT.PUSH);	  properties_menu_item.setText(_._("mainwindow.sharedtab.popupmenu.properties"));	  properties_menu_item.setImage(SWTImageRepository.getImage("info.png"));	  properties_menu_item.addSelectionListener(new SelectionAdapter() {			public void widgetSelected(SelectionEvent event) {				SharedFile shared_file = shared_files_table.getSelectedObject();				SharedFilePropertiesWindow window = new SharedFilePropertiesWindow(shared_file);				window.getCoreComponents();				window.initUIComponents();	  }});	  	  config_manager.addConfigurationListener(new ConfigurationAdapter() {		  public void sharedDirectoriesChanged(java.util.List<File> sharedDirs) {			  updateDirList(sharedDirs);			}	  });	  	  updateDirList(null);	  	  refreshable = new Refreshable() {		public void refresh() {			String text = _._("mainwindow.sharedtab.group.shared_files");			SharedFile hashing_file = sharing_manager.getCurrentHashingFile();			if (hashing_file != null) {				text +="  Hashing [";				DecimalFormat formatter = new DecimalFormat("0.00");				String file_name = hashing_file.getSharingName();				if (file_name.length()>20)					file_name = file_name.substring(0, 20) + "...";				text +=file_name+" : " + formatter.format(sharing_manager.getCurrentHashingFilePercent())+"%";				text +="]";			}									shared_files_group.setText(text);						for(SharedFile shared_file : shared_files_table.getObjects()) {				if (shared_files_table.getRow(shared_file).isVisible()) 					shared_files_table.updateRow(shared_file);			}		}	  };	}		private void openSelected() {		java.util.List<SharedFile> selected_files = shared_files_table.getSelectedObjects();		for(SharedFile file : selected_files) {			if (!file.isCompleted()) continue;			String extension = FileFormatter.getFileExtension(file.getSharingName());			Program program = Program.findProgram(extension);			if (program == null) continue;			program.execute(file.getAbsolutePath());		}	}		private boolean selectedRunnableFiles() {		java.util.List<SharedFile> sharedFiles = shared_files_table.getSelectedObjects();		for(SharedFile file : sharedFiles) {			if (!file.isCompleted()) continue;			String extension = FileFormatter.getFileExtension(file.getSharingName());			Program program = Program.findProgram(extension);			if (program != null) return true;		}		return false;	}		private void removeSelectedDir() {		if (!Utils.showConfirmMessage(getShell(), _._("mainwindow.sharedtab.confirm_remove_shared_dir_title"), 				 _._("mainwindow.sharedtab.confirm_remove_shared_dir"))) return ;				if (shared_dir_list.getSelectionIndex() == -1) return ;		shared_dir_list.remove(shared_dir_list.getSelectionIndex());		writeSharedDirs();		shared_files_table.clear();		remove_button.setEnabled(false);	}		private void clearDirList() {		if (!Utils.showConfirmMessage(getShell(), _._("mainwindow.sharedtab.confirm_clear_dir_list_title"), 				 _._("mainwindow.sharedtab.confirm_clear_dir_list"))) return ;		while(shared_dir_list.getItemCount()-1>no_remove_id_end) {			shared_dir_list.remove(no_remove_id_end+1);		}		writeSharedDirs();		shared_files_table.clear();		remove_button.setEnabled(false);	}	private void writeSharedDirs() {		java.util.List<File> shared_list = new java.util.ArrayList<File>();		for(int i = 0; i<shared_dir_list.getItemCount();i++) {			if (i<=no_remove_id_end) continue;			shared_list.add(new File(shared_dir_list.getItem(i)));		}		_core.getConfigurationManager().setSharedFolders(shared_list);	}		private void copyED2KLink() {		java.util.List<SharedFile> list = shared_files_table.getSelectedObjects();		String text="";		for(SharedFile file : list) {			text += file.getED2KLink().getAsString() + System.getProperty("line.separator");		}		Utils.setClipBoardText(text);	}		private void removeFromDisk() {		if (!Utils.showConfirmMessage(getShell(), _._("mainwindow.sharedtab.confirm_remove_from_disk_title"), 									 _._("mainwindow.sharedtab.confirm_remove_from_disk"))) return ;		SharingManager sharing_manager = _core.getSharingManager();		for(SharedFile shared_file : shared_files_table.getSelectedObjects()) {			FileUtils.deleteQuietly(shared_file.getFile());			sharing_manager.removeSharedFile(shared_file.getFileHash());			shared_files_table.removeRow(shared_file);		}	}	private void updateDirList(final java.util.List<File> directoryList) {		SWTThread.getDisplay().asyncExec(new JMRunnable() {			public void JMRun() {				shared_dir_list.removeAll();//				java.util.List<File> directoryList2 = null;				shared_dir_list.add(_._("mainwindow.sharedtab.shared_dirs.incoming"));				shared_dir_list.add(_._("mainwindow.sharedtab.shared_dirs.partial"));				shared_dir_list.add(_._("mainwindow.sharedtab.shared_dirs.all"));				clear_button.setEnabled(false);				if (directoryList == null)					return ;					//directoryList2 = _core.getConfigurationManager().getSharedFolders();//				else	//				return ;								for(File file : directoryList) {					shared_dir_list.add(file.getAbsolutePath());				}				clear_button.setEnabled(true);							}					});	}		private JMThread file_list_updater;		private void updateFileList(final String dir) {				if (file_list_updater!=null)			if (file_list_updater.isAlive()) {				file_list_updater.JMStop();			}		file_list_updater = new JMThread() {			private boolean stop = false;						public void JMStop() {				stop = true;				interrupt();			}						public void run() {				File shared_dir = null;				SWTThread.getDisplay().syncExec(new JMRunnable() {					public void JMRun() {						shared_files_table.clear();				}});				if (dir.equals(_._("mainwindow.sharedtab.shared_dirs.incoming"))) 					shared_dir = new File(ConfigurationManager.INCOMING_DIR);				else					if (dir.equals(_._("mainwindow.sharedtab.shared_dirs.partial"))) {													SharingManager manager = _core.getSharingManager();						final java.util.List<PartialFile> partial_file_list = manager.getPartialFiles();								for(final SharedFile partial_file : partial_file_list ) {									if (stop) return ;									SWTThread.getDisplay().syncExec(new JMRunnable() {										public void JMRun() {											shared_files_table.addRow(partial_file);										}}); 									}															return ;						}					if (!dir.equals(_._("mainwindow.sharedtab.shared_dirs.all"))) {						// files from selected dir						if (shared_dir == null)							shared_dir = new File(dir);																		Iterator<File> i = FileUtils.iterateFiles(shared_dir, null, true);						while(i.hasNext()) {							if (stop) return ;							File shared_file = i.next();							if (shared_file.isDirectory()) continue;							final SharedFile file = sharing_manager.getSharedFile(shared_file);							if (file!=null)								SWTThread.getDisplay().syncExec(new JMRunnable() {									public void JMRun() {										shared_files_table.addRow(file);									}								});							java.util.List<CompletedFile> unhashed_file_list = sharing_manager.getUnhashedFiles();							if (unhashed_file_list == null) continue ;							for(final SharedFile unhashed_file : unhashed_file_list) {								if (unhashed_file.getFile().equals(shared_file))									SWTThread.getDisplay().syncExec(new JMRunnable() {										  public void JMRun() {											shared_files_table.addRow(unhashed_file);									 }}); 							}						}					} else { // all files						SWTThread.getDisplay().syncExec(new JMRunnable() {							public void JMRun() {								java.util.List<CompletedFile> unhashed_file_list = sharing_manager.getUnhashedFiles();								if (unhashed_file_list == null) return ;								for(SharedFile file : unhashed_file_list) {										shared_files_table.addRow(file);								}							}});						SharingManager manager = _core.getSharingManager();						final JMIterable<SharedFile> shared_files = manager.getSharedFiles();						for(final SharedFile file : shared_files) {							if (stop) return ;							SWTThread.getDisplay().syncExec(new JMRunnable() {								  public void JMRun() {									shared_files_table.addRow(file);							 }}); 						}					}				}			};		file_list_updater.setName("File list updater");		file_list_updater.start();	}		public JMULE_TABS getTabType() {		return JMULE_TABS.SHARED;	}	public void lostFocus() {		GUIUpdater.getInstance().removeRefreshable(refreshable);		_core.getConfigurationManager().removeConfigurationListener(config_listener);	}	public void obtainFocus() {		GUIUpdater.getInstance().addRefreshable(refreshable);		_core.getConfigurationManager().addConfigurationListener(config_listener);	}	public void disposeTab() {		GUIUpdater.getInstance().removeRefreshable(refreshable);		_core.getConfigurationManager().removeConfigurationListener(config_listener);	}}

⌨️ 快捷键说明

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