Package com.biglybt.plugin.net.buddy.swt
Class BuddyPluginViewBetaChat
- java.lang.Object
-
- com.biglybt.plugin.net.buddy.swt.BuddyPluginViewBetaChat
-
- All Implemented Interfaces:
BuddyPluginBeta.ChatListener
public class BuddyPluginViewBetaChat extends java.lang.Object implements BuddyPluginBeta.ChatListener
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
BuddyPluginViewBetaChat.DropAccepter
private static class
BuddyPluginViewBetaChat.MyStyleRange
-
Field Summary
Fields Modifier and Type Field Description private static java.util.Set<BuddyPluginViewBetaChat>
active_windows
private static boolean
auto_ftux_popout_done
private BuddyPluginBeta
beta
private org.eclipse.swt.graphics.Font
big_font
private org.eclipse.swt.graphics.Font
bold_font
private int
bt_col_offset
private org.eclipse.swt.widgets.Table
buddy_table
private boolean
build_complete
private boolean
change_pending
private BuddyPluginBeta.ChatInstance
chat
private boolean
chat_available
private java.lang.String
current_search
private int
current_search_index
private java.text.SimpleDateFormat
custom_date_format
private static boolean
DEBUG_ENABLED
private org.eclipse.swt.dnd.DropTarget[]
drop_targets
private org.eclipse.swt.graphics.Color
ftux_dark_bg
private org.eclipse.swt.graphics.Color
ftux_dark_fg
private org.eclipse.swt.graphics.Color
ftux_light_bg
private boolean
ftux_ok
private org.eclipse.swt.widgets.Composite
ftux_stack
private org.eclipse.swt.widgets.Text
input_area
private org.eclipse.swt.graphics.Font
italic_font
private long
last_seen_message
private long
last_seen_message_pending
private org.eclipse.swt.custom.StyledText
log
private org.eclipse.swt.custom.StyleRange[]
log_styles
private LocaleUtilities
lu
private static int
MAX_MSG_CHUNK_ENABLE
private static int
MAX_MSG_CHUNK_LENGTH
private static int
MAX_MSG_OVERALL_LENGTH
private java.util.LinkedHashMap<BuddyPluginBeta.ChatMessage,java.lang.Integer>
messages
private org.eclipse.swt.widgets.Text
nickname
private java.util.Map<BuddyPluginBeta.ChatParticipant,BuddyPluginBeta.ChatMessage>
participant_last_message_map
private java.util.List<BuddyPluginBeta.ChatParticipant>
participants
private BuddyPlugin
plugin
private java.lang.String
previous_says
private int
previous_says_mt
private org.eclipse.swt.widgets.Button
shared_nick_button
private org.eclipse.swt.widgets.Shell
shell
private org.eclipse.swt.graphics.Font
small_font
private BufferedLabel
status
private BufferedLabel
table_header_left
private boolean
table_resort_required
private static boolean
TEST_LOOPBACK_CHAT
private static java.util.Map<java.lang.String,java.lang.String>
text_cache
private static java.lang.String
TI_MSG_COUNT
private java.text.SimpleDateFormat
time_format1
private java.text.SimpleDateFormat
time_format2a
private java.text.SimpleDateFormat
time_format2b
private java.text.SimpleDateFormat
time_format3
private TimerEventPeriodic
timer
private BuddyPluginView
view
-
Constructor Summary
Constructors Modifier Constructor Description private
BuddyPluginViewBetaChat(BuddyPluginView _view, BuddyPlugin _plugin, BuddyPluginBeta.ChatInstance _chat)
protected
BuddyPluginViewBetaChat(BuddyPluginView _view, BuddyPlugin _plugin, BuddyPluginBeta.ChatInstance _chat, org.eclipse.swt.widgets.Composite _parent)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activate()
protected void
addDisposeListener(org.eclipse.swt.events.DisposeListener listener)
private void
addFriendsMenu(org.eclipse.swt.widgets.Menu menu)
private void
addNickString(BuddyPluginBeta.ChatParticipant participant)
private void
build(org.eclipse.swt.widgets.Composite parent)
private org.eclipse.swt.widgets.Composite
buildFTUX(org.eclipse.swt.widgets.Composite parent, int style)
private org.eclipse.swt.widgets.Composite
buildHelp(org.eclipse.swt.widgets.Composite rhs)
private void
buildParticipantMenu(org.eclipse.swt.widgets.Menu menu, java.util.List<BuddyPluginBeta.ChatParticipant> participants)
private void
buildRSSButton(org.eclipse.swt.widgets.Composite parent)
private void
buildStatus(org.eclipse.swt.widgets.Composite main_component, org.eclipse.swt.widgets.Composite component)
private void
buildSupport(org.eclipse.swt.widgets.Composite parent)
private void
buildSupport2(org.eclipse.swt.widgets.Composite parent)
private void
checkSubscriptions(boolean ftux_change)
protected void
close()
protected void
closed()
void
configChanged()
protected static void
createChatWindow(BuddyPluginView view, BuddyPlugin plugin, BuddyPluginBeta.ChatInstance chat)
protected static void
createChatWindow(BuddyPluginView view, BuddyPlugin plugin, BuddyPluginBeta.ChatInstance chat, boolean force_popout)
private void
dropDownload(Download download, BuddyPluginViewBetaChat.DropAccepter accepter)
private void
dropDownloadFile(DiskManagerFileInfo file, BuddyPluginViewBetaChat.DropAccepter accepter)
private void
dropFailed(java.lang.String content, java.lang.Throwable e)
private void
dropFile(java.io.File file, BuddyPluginViewBetaChat.DropAccepter accepter)
private void
dropURL(java.lang.String str, BuddyPluginViewBetaChat.DropAccepter accepter)
private java.lang.String
encodeRSSURL(BuddyPluginBeta.ChatInstance inst)
private static java.lang.String
expand(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String str, boolean url_decode)
private static java.lang.String
expandEmphasis(java.lang.String text)
private static java.lang.String
expandResources(java.lang.String text)
private BuddyPluginBeta.ChatInstance
getChat()
private java.lang.String
getChatTimestamp(long now, long time)
private static java.util.regex.Pattern
getEmphasisPattern()
private java.lang.String
getFriendStatus(BuddyPluginBeta.ChatParticipant participant)
private java.lang.String
getFriendURI(boolean is_pub)
private org.eclipse.swt.widgets.Shell
getShell()
private void
handleDrop(java.lang.Object payload, BuddyPluginViewBetaChat.DropAccepter accepter)
void
handleExternalDrop(java.lang.String payload)
private void
hookFTUXListener()
private boolean
isRSSURL(java.lang.String url, BuddyPluginBeta.ChatInstance chat)
private void
logChatMessage(BuddyPluginBeta.ChatMessage message)
private void
logChatMessages(BuddyPluginBeta.ChatMessage[] all_messages)
void
messageReceived(BuddyPluginBeta.ChatMessage message, boolean sort_outstanding)
void
messagesChanged()
void
participantAdded(BuddyPluginBeta.ChatParticipant participant)
void
participantChanged(BuddyPluginBeta.ChatParticipant participant)
void
participantRemoved(BuddyPluginBeta.ChatParticipant participant)
private void
participantsChanged()
protected static java.lang.String
renderMessage(BuddyPluginBeta beta, BuddyPluginBeta.ChatInstance chat, BuddyPluginBeta.ChatMessage message, java.lang.String original_msg, int message_type, int start, java.util.List<org.eclipse.swt.custom.StyleRange> new_ranges, org.eclipse.swt.graphics.Font info_font, org.eclipse.swt.graphics.Color info_colour, org.eclipse.swt.graphics.Font bold_font, org.eclipse.swt.graphics.Font italic_font)
private java.lang.String
renderMessage(java.lang.String str)
private void
resetChatMessages()
private void
search(java.lang.String text)
protected void
sendMessage(java.lang.String text, boolean do_chunking)
private void
setInputAvailability(boolean focus)
private BuddyPluginBeta.ChatParticipant
setItemData(org.eclipse.swt.widgets.TableItem item)
private void
setProperties(BuddyPluginBeta.ChatParticipant p)
private void
setProperties(org.eclipse.swt.widgets.TableItem item, BuddyPluginBeta.ChatParticipant p)
private void
sortParticipants()
void
stateChanged(boolean avail)
private void
timerTick()
void
updated()
private void
updateItem(org.eclipse.swt.widgets.TableItem item)
protected void
updateTable(boolean async)
private void
updateTableHeader()
-
-
-
Field Detail
-
TEST_LOOPBACK_CHAT
private static final boolean TEST_LOOPBACK_CHAT
-
DEBUG_ENABLED
private static final boolean DEBUG_ENABLED
-
MAX_MSG_CHUNK_ENABLE
private static final int MAX_MSG_CHUNK_ENABLE
- See Also:
- Constant Field Values
-
MAX_MSG_CHUNK_LENGTH
private static final int MAX_MSG_CHUNK_LENGTH
- See Also:
- Constant Field Values
-
MAX_MSG_OVERALL_LENGTH
private static final int MAX_MSG_OVERALL_LENGTH
- See Also:
- Constant Field Values
-
TI_MSG_COUNT
private static final java.lang.String TI_MSG_COUNT
- See Also:
- Constant Field Values
-
active_windows
private static final java.util.Set<BuddyPluginViewBetaChat> active_windows
-
auto_ftux_popout_done
private static boolean auto_ftux_popout_done
-
text_cache
private static java.util.Map<java.lang.String,java.lang.String> text_cache
-
view
private final BuddyPluginView view
-
plugin
private final BuddyPlugin plugin
-
beta
private final BuddyPluginBeta beta
-
chat
private final BuddyPluginBeta.ChatInstance chat
-
chat_available
private boolean chat_available
-
lu
private final LocaleUtilities lu
-
shell
private org.eclipse.swt.widgets.Shell shell
-
ftux_stack
private org.eclipse.swt.widgets.Composite ftux_stack
-
log
private org.eclipse.swt.custom.StyledText log
-
log_styles
private org.eclipse.swt.custom.StyleRange[] log_styles
-
table_header_left
private BufferedLabel table_header_left
-
buddy_table
private org.eclipse.swt.widgets.Table buddy_table
-
bt_col_offset
private int bt_col_offset
-
status
private BufferedLabel status
-
shared_nick_button
private org.eclipse.swt.widgets.Button shared_nick_button
-
nickname
private org.eclipse.swt.widgets.Text nickname
-
input_area
private org.eclipse.swt.widgets.Text input_area
-
drop_targets
private org.eclipse.swt.dnd.DropTarget[] drop_targets
-
messages
private java.util.LinkedHashMap<BuddyPluginBeta.ChatMessage,java.lang.Integer> messages
-
participants
private java.util.List<BuddyPluginBeta.ChatParticipant> participants
-
participant_last_message_map
private java.util.Map<BuddyPluginBeta.ChatParticipant,BuddyPluginBeta.ChatMessage> participant_last_message_map
-
table_resort_required
private boolean table_resort_required
-
italic_font
private org.eclipse.swt.graphics.Font italic_font
-
bold_font
private org.eclipse.swt.graphics.Font bold_font
-
big_font
private org.eclipse.swt.graphics.Font big_font
-
small_font
private org.eclipse.swt.graphics.Font small_font
-
ftux_dark_bg
private org.eclipse.swt.graphics.Color ftux_dark_bg
-
ftux_dark_fg
private org.eclipse.swt.graphics.Color ftux_dark_fg
-
ftux_light_bg
private org.eclipse.swt.graphics.Color ftux_light_bg
-
ftux_ok
private boolean ftux_ok
-
build_complete
private boolean build_complete
-
timer
private TimerEventPeriodic timer
-
current_search
private java.lang.String current_search
-
current_search_index
private int current_search_index
-
change_pending
private boolean change_pending
-
previous_says
private java.lang.String previous_says
-
previous_says_mt
private int previous_says_mt
-
last_seen_message
private long last_seen_message
-
last_seen_message_pending
private long last_seen_message_pending
-
custom_date_format
private java.text.SimpleDateFormat custom_date_format
-
time_format1
private final java.text.SimpleDateFormat time_format1
-
time_format2a
private final java.text.SimpleDateFormat time_format2a
-
time_format2b
private final java.text.SimpleDateFormat time_format2b
-
time_format3
private final java.text.SimpleDateFormat time_format3
-
-
Constructor Detail
-
BuddyPluginViewBetaChat
private BuddyPluginViewBetaChat(BuddyPluginView _view, BuddyPlugin _plugin, BuddyPluginBeta.ChatInstance _chat)
-
BuddyPluginViewBetaChat
protected BuddyPluginViewBetaChat(BuddyPluginView _view, BuddyPlugin _plugin, BuddyPluginBeta.ChatInstance _chat, org.eclipse.swt.widgets.Composite _parent)
-
-
Method Detail
-
createChatWindow
protected static void createChatWindow(BuddyPluginView view, BuddyPlugin plugin, BuddyPluginBeta.ChatInstance chat)
-
createChatWindow
protected static void createChatWindow(BuddyPluginView view, BuddyPlugin plugin, BuddyPluginBeta.ChatInstance chat, boolean force_popout)
-
getShell
private org.eclipse.swt.widgets.Shell getShell()
-
getChat
private BuddyPluginBeta.ChatInstance getChat()
-
build
private void build(org.eclipse.swt.widgets.Composite parent)
-
buildSupport
private void buildSupport(org.eclipse.swt.widgets.Composite parent)
-
buildSupport2
private void buildSupport2(org.eclipse.swt.widgets.Composite parent)
-
buildFTUX
private org.eclipse.swt.widgets.Composite buildFTUX(org.eclipse.swt.widgets.Composite parent, int style)
-
hookFTUXListener
private void hookFTUXListener()
-
buildHelp
private org.eclipse.swt.widgets.Composite buildHelp(org.eclipse.swt.widgets.Composite rhs)
-
buildRSSButton
private void buildRSSButton(org.eclipse.swt.widgets.Composite parent)
-
buildStatus
private void buildStatus(org.eclipse.swt.widgets.Composite main_component, org.eclipse.swt.widgets.Composite component)
-
search
private void search(java.lang.String text)
-
addFriendsMenu
private void addFriendsMenu(org.eclipse.swt.widgets.Menu menu)
-
getFriendURI
private java.lang.String getFriendURI(boolean is_pub)
-
buildParticipantMenu
private void buildParticipantMenu(org.eclipse.swt.widgets.Menu menu, java.util.List<BuddyPluginBeta.ChatParticipant> participants)
-
timerTick
private void timerTick()
-
getFriendStatus
private java.lang.String getFriendStatus(BuddyPluginBeta.ChatParticipant participant)
-
setItemData
private BuddyPluginBeta.ChatParticipant setItemData(org.eclipse.swt.widgets.TableItem item)
-
updateItem
private void updateItem(org.eclipse.swt.widgets.TableItem item)
-
setProperties
private void setProperties(BuddyPluginBeta.ChatParticipant p)
-
setProperties
private void setProperties(org.eclipse.swt.widgets.TableItem item, BuddyPluginBeta.ChatParticipant p)
-
checkSubscriptions
private void checkSubscriptions(boolean ftux_change)
-
encodeRSSURL
private java.lang.String encodeRSSURL(BuddyPluginBeta.ChatInstance inst)
-
isRSSURL
private boolean isRSSURL(java.lang.String url, BuddyPluginBeta.ChatInstance chat)
-
addDisposeListener
protected void addDisposeListener(org.eclipse.swt.events.DisposeListener listener)
-
updateTableHeader
private void updateTableHeader()
-
updateTable
protected void updateTable(boolean async)
-
handleExternalDrop
public void handleExternalDrop(java.lang.String payload)
-
handleDrop
private void handleDrop(java.lang.Object payload, BuddyPluginViewBetaChat.DropAccepter accepter)
-
dropURL
private void dropURL(java.lang.String str, BuddyPluginViewBetaChat.DropAccepter accepter)
-
dropFile
private void dropFile(java.io.File file, BuddyPluginViewBetaChat.DropAccepter accepter)
-
dropDownload
private void dropDownload(Download download, BuddyPluginViewBetaChat.DropAccepter accepter)
-
dropDownloadFile
private void dropDownloadFile(DiskManagerFileInfo file, BuddyPluginViewBetaChat.DropAccepter accepter)
-
dropFailed
private void dropFailed(java.lang.String content, java.lang.Throwable e)
-
close
protected void close()
-
closed
protected void closed()
-
setInputAvailability
private void setInputAvailability(boolean focus)
-
stateChanged
public void stateChanged(boolean avail)
- Specified by:
stateChanged
in interfaceBuddyPluginBeta.ChatListener
-
updated
public void updated()
- Specified by:
updated
in interfaceBuddyPluginBeta.ChatListener
-
configChanged
public void configChanged()
- Specified by:
configChanged
in interfaceBuddyPluginBeta.ChatListener
-
sortParticipants
private void sortParticipants()
-
participantAdded
public void participantAdded(BuddyPluginBeta.ChatParticipant participant)
- Specified by:
participantAdded
in interfaceBuddyPluginBeta.ChatListener
-
participantChanged
public void participantChanged(BuddyPluginBeta.ChatParticipant participant)
- Specified by:
participantChanged
in interfaceBuddyPluginBeta.ChatListener
-
participantRemoved
public void participantRemoved(BuddyPluginBeta.ChatParticipant participant)
- Specified by:
participantRemoved
in interfaceBuddyPluginBeta.ChatListener
-
participantsChanged
private void participantsChanged()
-
sendMessage
protected void sendMessage(java.lang.String text, boolean do_chunking)
-
expand
private static java.lang.String expand(java.util.Map<java.lang.String,java.lang.String> params, java.lang.String str, boolean url_decode)
-
messageReceived
public void messageReceived(BuddyPluginBeta.ChatMessage message, boolean sort_outstanding)
- Specified by:
messageReceived
in interfaceBuddyPluginBeta.ChatListener
-
messagesChanged
public void messagesChanged()
- Specified by:
messagesChanged
in interfaceBuddyPluginBeta.ChatListener
-
resetChatMessages
private void resetChatMessages()
-
logChatMessage
private void logChatMessage(BuddyPluginBeta.ChatMessage message)
-
getChatTimestamp
private java.lang.String getChatTimestamp(long now, long time)
-
addNickString
private void addNickString(BuddyPluginBeta.ChatParticipant participant)
-
logChatMessages
private void logChatMessages(BuddyPluginBeta.ChatMessage[] all_messages)
-
renderMessage
private java.lang.String renderMessage(java.lang.String str)
-
expandResources
private static java.lang.String expandResources(java.lang.String text)
-
getEmphasisPattern
private static java.util.regex.Pattern getEmphasisPattern()
-
expandEmphasis
private static java.lang.String expandEmphasis(java.lang.String text)
-
renderMessage
protected static java.lang.String renderMessage(BuddyPluginBeta beta, BuddyPluginBeta.ChatInstance chat, BuddyPluginBeta.ChatMessage message, java.lang.String original_msg, int message_type, int start, java.util.List<org.eclipse.swt.custom.StyleRange> new_ranges, org.eclipse.swt.graphics.Font info_font, org.eclipse.swt.graphics.Color info_colour, org.eclipse.swt.graphics.Font bold_font, org.eclipse.swt.graphics.Font italic_font)
-
activate
public void activate()
-
-