📄 xbookmarkfolder.java
字号:
/****************************************************************
* XBrowser - eXtended web Browser *
* *
* Copyright (c) 2000-2001 Armond Avanes *
* Refer to ReadMe & License files for more information *
* *
* *
* By: Armond Avanes *
* Armond555@yahoo.com & Armond333@yahoo.com *
* http://xbrowser.sourceforge.net/ *
*****************************************************************/
package xbrowser.bookmark;
import java.awt.*;
import java.awt.datatransfer.*;
import java.util.*;
import java.io.*;
import xbrowser.*;
/** Logocal Folder with title and description which contains bookmarks and subfolders. */
public class XBookmarkFolder extends XAbstractBookmark
{
/** Create new empty unnamed Folder. */
public XBookmarkFolder()
{
super();
}
/** Create new empty Folder with name and description specified. */
public XBookmarkFolder(String title, String desc)
{
super(title, desc);
}
/** Add bookmark or bookmark subfolder. */
public void addBookmark(XAbstractBookmark bookmark)
{
if( bookmarks.contains(bookmark) )
return;
if( bookmark.getParent()!=null )
bookmark.getParent().removeBookmark(bookmark);
bookmarks.add(bookmark);
bookmark.setParent(this);
XRepository.getBookmarkManager().bookmarkAdded(bookmark,this);
}
/** Remove bookmark or bookmark subfolder. */
public void removeBookmark(XAbstractBookmark bookmark)
{
if( !bookmarks.contains(bookmark) )
return;
bookmark.setParent(null);
bookmarks.remove(bookmark);
XRepository.getBookmarkManager().bookmarkRemoved(bookmark,this);
}
/** Make this folder empty. */
public void removeAllBookmarks()
{
int size = bookmarks.size();
for( int i=0; i<size; i++ )
removeBookmark( (XAbstractBookmark)bookmarks.get(0) );
}
/** Return list of bookmarks. */
public Iterator getBookmarks()
{
return bookmarks.iterator();
}
/** Returns count of items in folder. */
public int getBookmarkCount()
{
return bookmarks.size();
}
/** Returns item in folder at position <code>index</code>. */
public XAbstractBookmark getBookmarkAt(int index)
{
return (XAbstractBookmark)bookmarks.get(index);
}
/** Marks or unmarks this folder as 'Personal'. */
public void setPersonalFolder(boolean is_personal)
{
if( is_personal )
XRepository.getBookmarkManager().setPersonalFolder(this);
else
XRepository.getBookmarkManager().setPersonalFolder(null);
}
/** Returns true if this folder marked as 'Personal', false otherwise. */
public boolean isPersonalFolder()
{
return( XRepository.getBookmarkManager().getPersonalFolder()==this );
}
/** Opens all bookmarks and subfolders in this folder. */
public void open()
{
Iterator it = getBookmarks();
while( it.hasNext() )
((XAbstractBookmark)it.next()).open();
}
/** Put folder's title to system clipboard. */
public void copy()
{
StringSelection str_sel = new StringSelection(title);
Toolkit.getDefaultToolkit().getSystemClipboard().setContents(str_sel,str_sel);
}
// Attributes:
private static XBookmarkFolder personalFolder = null;
private LinkedList bookmarks = new LinkedList();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -