mirror of
https://github.com/igniterealtime/Spark.git
synced 2025-12-01 12:27:58 +00:00
Continue working on stale tabs.
git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@4874 b35dd754-fafc-0310-a699-88a17e54d16e
This commit is contained in:
@ -14,14 +14,7 @@
|
|||||||
<option name="CHANGE_BEFORE" value="" />
|
<option name="CHANGE_BEFORE" value="" />
|
||||||
<option name="CHANGE_AFTER" value="" />
|
<option name="CHANGE_AFTER" value="" />
|
||||||
</component>
|
</component>
|
||||||
<component name="CheckinPanelState">
|
<component name="CheckinPanelState" />
|
||||||
<Excluded key="C:\spark\build\lib\dist\smack.jar" />
|
|
||||||
<Excluded key="C:\spark\build\lib\dist\smackx-debug.jar" />
|
|
||||||
<Excluded key="C:\spark\build\lib\dist\smackx.jar" />
|
|
||||||
<Excluded key="C:\spark\build\projects\Spark.iws" />
|
|
||||||
<Excluded key="C:\spark\src\java\org\jivesoftware\AccountCreationWizard.java" />
|
|
||||||
<Excluded key="C:\spark\src\java\org\jivesoftware\LoginDialog.java" />
|
|
||||||
</component>
|
|
||||||
<component name="Commander">
|
<component name="Commander">
|
||||||
<leftPanel />
|
<leftPanel />
|
||||||
<rightPanel />
|
<rightPanel />
|
||||||
@ -126,46 +119,37 @@
|
|||||||
</component>
|
</component>
|
||||||
<component name="FileEditorManager">
|
<component name="FileEditorManager">
|
||||||
<leaf>
|
<leaf>
|
||||||
<file leaf-file-name="ChatRoom.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="ChatContainer.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ChatRoom.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="454" column="0" selection-start="15832" selection-end="15832" vertical-scroll-proportion="-0.01494396">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="GroupChatRoom.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/rooms/GroupChatRoom.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="509" column="40" selection-start="17242" selection-end="17242" vertical-scroll-proportion="0.23785803">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="ChatRoomImpl.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/rooms/ChatRoomImpl.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="582" column="28" selection-start="20487" selection-end="20487" vertical-scroll-proportion="0.82316315">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="ChatManager.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ChatManager.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="422" column="41" selection-start="14020" selection-end="14020" vertical-scroll-proportion="0.19551681">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="ChatContainer.java" pinned="false" current="true" current-in-tab="true">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ChatContainer.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ChatContainer.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="122" column="0" selection-start="3974" selection-end="3974" vertical-scroll-proportion="0.66625154">
|
<state line="1084" column="16" selection-start="35520" selection-end="35520" vertical-scroll-proportion="0.49514562">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="SparkTab.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/SparkTab.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="26" column="32" selection-start="586" selection-end="586" vertical-scroll-proportion="0.33252427">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="TabPanel.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/TabPanel.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="6" column="47" selection-start="143" selection-end="143" vertical-scroll-proportion="0.10965435">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
</file>
|
||||||
|
<file leaf-file-name="ChatPreferencePanel.java" pinned="false" current="false" current-in-tab="false">
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/sparkimpl/preference/chat/ChatPreferencePanel.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="87" column="114" selection-start="3894" selection-end="3894" vertical-scroll-proportion="0.4975728">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -174,43 +158,16 @@
|
|||||||
<file leaf-file-name="SparkTabbedPane.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="SparkTabbedPane.java" pinned="false" current="false" current-in-tab="false">
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/SparkTabbedPane.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/SparkTabbedPane.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="70" column="11" selection-start="1812" selection-end="1812" vertical-scroll-proportion="0.3325031">
|
<state line="395" column="17" selection-start="11918" selection-end="11918" vertical-scroll-proportion="0.82402915">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
</file>
|
</file>
|
||||||
<file leaf-file-name="PluginManager.java" pinned="false" current="false" current-in-tab="false">
|
<file leaf-file-name="ChatManager.java" pinned="false" current="true" current-in-tab="true">
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/PluginManager.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ChatManager.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="54" column="52" selection-start="1599" selection-end="1694" vertical-scroll-proportion="0.25305623">
|
<state line="422" column="23" selection-start="13960" selection-end="13960" vertical-scroll-proportion="0.4223301">
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="SparkManager.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/SparkManager.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="171" column="52" selection-start="5584" selection-end="5584" vertical-scroll-proportion="0.21882641">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="ContactGroup.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ContactGroup.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="547" column="0" selection-start="16407" selection-end="16407" vertical-scroll-proportion="0.19800748">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
</file>
|
|
||||||
<file leaf-file-name="ContactList.java" pinned="false" current="false" current-in-tab="false">
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ContactList.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="330" column="0" selection-start="12210" selection-end="12210" vertical-scroll-proportion="0.19800748">
|
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
@ -575,13 +532,13 @@
|
|||||||
</todo-panel>
|
</todo-panel>
|
||||||
</component>
|
</component>
|
||||||
<component name="ToolWindowManager">
|
<component name="ToolWindowManager">
|
||||||
<frame x="0" y="0" width="1280" height="994" extended-state="0" />
|
<frame x="0" y="0" width="1280" height="995" extended-state="0" />
|
||||||
<editor active="true" />
|
<editor active="true" />
|
||||||
<layout>
|
<layout>
|
||||||
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
<window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
|
||||||
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3298731" order="7" />
|
<window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3298731" order="7" />
|
||||||
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.2019544" order="0" />
|
<window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.2019544" order="0" />
|
||||||
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32" order="1" />
|
<window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3194925" order="1" />
|
||||||
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
|
<window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="1" />
|
||||||
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32036614" order="8" />
|
<window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32036614" order="8" />
|
||||||
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3990476" order="6" />
|
<window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3990476" order="6" />
|
||||||
@ -592,7 +549,7 @@
|
|||||||
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.26761904" order="2" />
|
<window_info id="Run" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.26761904" order="2" />
|
||||||
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.2496" order="2" />
|
<window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.2496" order="2" />
|
||||||
<window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
|
<window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
|
||||||
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.37759817" order="4" />
|
<window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.37716264" order="4" />
|
||||||
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0" />
|
<window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.4" order="0" />
|
||||||
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.27142859" order="8" />
|
<window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.27142859" order="8" />
|
||||||
<window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
|
<window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
|
||||||
@ -624,7 +581,6 @@
|
|||||||
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
|
<option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
|
||||||
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
<option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
|
||||||
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
<option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
|
||||||
<MESSAGE value="1) Fixed title pane. 2) Fixed reconnection UI confusion. 3) Added JID to Vcard Profile." />
|
|
||||||
<MESSAGE value="1) Fixed history. 2) Updating gateway support." />
|
<MESSAGE value="1) Fixed history. 2) Updating gateway support." />
|
||||||
<MESSAGE value="Added better support for Gateway icons." />
|
<MESSAGE value="Added better support for Gateway icons." />
|
||||||
<MESSAGE value="Fixing Fastpath bug with Spark OS." />
|
<MESSAGE value="Fixing Fastpath bug with Spark OS." />
|
||||||
@ -634,6 +590,7 @@
|
|||||||
<MESSAGE value="Fixing ChatRoom scroll issue." />
|
<MESSAGE value="Fixing ChatRoom scroll issue." />
|
||||||
<MESSAGE value="Fixed broadcasting issue with HEADLINE." />
|
<MESSAGE value="Fixed broadcasting issue with HEADLINE." />
|
||||||
<MESSAGE value="Update ContactList with subtle actions." />
|
<MESSAGE value="Update ContactList with subtle actions." />
|
||||||
|
<MESSAGE value="Added Timeout on Chat Rooms." />
|
||||||
</component>
|
</component>
|
||||||
<component name="VssConfiguration">
|
<component name="VssConfiguration">
|
||||||
<option name="CLIENT_PATH" value="" />
|
<option name="CLIENT_PATH" value="" />
|
||||||
@ -674,27 +631,6 @@
|
|||||||
<option name="FILTER_TARGETS" value="false" />
|
<option name="FILTER_TARGETS" value="false" />
|
||||||
</component>
|
</component>
|
||||||
<component name="editorHistoryManager">
|
<component name="editorHistoryManager">
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/sparkimpl/preference/chat/ChatPreference.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="86" column="57" selection-start="2996" selection-end="2996" vertical-scroll-proportion="0.511432">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="jar://C:/Program Files/Java/jdk1.5.0_03/src.zip!/java/util/AbstractList.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="448" column="0" selection-start="16639" selection-end="16639" vertical-scroll-proportion="0.34552845">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/util/ModelUtil.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="23" column="19" selection-start="519" selection-end="519" vertical-scroll-proportion="-7.469512">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/util/StringUtils.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/util/StringUtils.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="23" column="21" selection-start="607" selection-end="611" vertical-scroll-proportion="0.5731707">
|
<state line="23" column="21" selection-start="607" selection-end="611" vertical-scroll-proportion="0.5731707">
|
||||||
@ -709,13 +645,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ChatManager.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="422" column="41" selection-start="14020" selection-end="14020" vertical-scroll-proportion="0.19551681">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ContactList.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ContactList.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="330" column="0" selection-start="12210" selection-end="12210" vertical-scroll-proportion="0.19800748">
|
<state line="330" column="0" selection-start="12210" selection-end="12210" vertical-scroll-proportion="0.19800748">
|
||||||
@ -723,13 +652,6 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ContactGroup.java">
|
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
|
||||||
<state line="547" column="0" selection-start="16407" selection-end="16407" vertical-scroll-proportion="0.19800748">
|
|
||||||
<folding />
|
|
||||||
</state>
|
|
||||||
</provider>
|
|
||||||
</entry>
|
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/SparkManager.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/SparkManager.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="171" column="52" selection-start="5584" selection-end="5584" vertical-scroll-proportion="0.21882641">
|
<state line="171" column="52" selection-start="5584" selection-end="5584" vertical-scroll-proportion="0.21882641">
|
||||||
@ -765,16 +687,51 @@
|
|||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ContactGroup.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="194" column="9" selection-start="6426" selection-end="6426" vertical-scroll-proportion="0.4252734">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/SparkTabbedPane.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/SparkTabbedPane.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="70" column="11" selection-start="1812" selection-end="1812" vertical-scroll-proportion="0.3325031">
|
<state line="395" column="17" selection-start="11918" selection-end="11918" vertical-scroll-proportion="0.82402915">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/sparkimpl/preference/chat/ChatPreferencePanel.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="87" column="114" selection-start="3894" selection-end="3894" vertical-scroll-proportion="0.4975728">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/TabPanel.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="6" column="47" selection-start="143" selection-end="143" vertical-scroll-proportion="0.10965435">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/component/tabbedPane/SparkTab.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="26" column="32" selection-start="586" selection-end="586" vertical-scroll-proportion="0.33252427">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
</entry>
|
</entry>
|
||||||
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ChatContainer.java">
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ui/ChatContainer.java">
|
||||||
<provider selected="true" editor-type-id="text-editor">
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
<state line="122" column="0" selection-start="3974" selection-end="3974" vertical-scroll-proportion="0.66625154">
|
<state line="1084" column="16" selection-start="35520" selection-end="35520" vertical-scroll-proportion="0.49514562">
|
||||||
|
<folding />
|
||||||
|
</state>
|
||||||
|
</provider>
|
||||||
|
</entry>
|
||||||
|
<entry file="file://$PROJECT_DIR$/../../src/java/org/jivesoftware/spark/ChatManager.java">
|
||||||
|
<provider selected="true" editor-type-id="text-editor">
|
||||||
|
<state line="422" column="23" selection-start="13960" selection-end="13960" vertical-scroll-proportion="0.4223301">
|
||||||
<folding />
|
<folding />
|
||||||
</state>
|
</state>
|
||||||
</provider>
|
</provider>
|
||||||
|
|||||||
@ -36,8 +36,6 @@ import org.jivesoftware.spark.ui.rooms.GroupChatRoom;
|
|||||||
import org.jivesoftware.spark.util.log.Log;
|
import org.jivesoftware.spark.util.log.Log;
|
||||||
import org.jivesoftware.sparkimpl.preference.chat.ChatPreference;
|
import org.jivesoftware.sparkimpl.preference.chat.ChatPreference;
|
||||||
import org.jivesoftware.sparkimpl.preference.chat.ChatPreferences;
|
import org.jivesoftware.sparkimpl.preference.chat.ChatPreferences;
|
||||||
import org.jivesoftware.sparkimpl.settings.local.LocalPreferences;
|
|
||||||
import org.jivesoftware.sparkimpl.settings.local.SettingsManager;
|
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
import java.awt.Font;
|
import java.awt.Font;
|
||||||
@ -421,32 +419,13 @@ public class ChatManager implements MessageEventNotificationListener {
|
|||||||
* Checks every room every 30 seconds to see if it's timed out.
|
* Checks every room every 30 seconds to see if it's timed out.
|
||||||
*/
|
*/
|
||||||
private void checkRoomsForTimeout() {
|
private void checkRoomsForTimeout() {
|
||||||
int delay = 30000; // delay for 5 sec.
|
int delay = 60000; // delay for 5 sec.
|
||||||
int period = 30000; // repeat every sec.
|
int period = 30000; // repeat every sec.
|
||||||
Timer timer = new Timer();
|
Timer timer = new Timer();
|
||||||
|
|
||||||
timer.scheduleAtFixedRate(new TimerTask() {
|
timer.scheduleAtFixedRate(new TimerTask() {
|
||||||
public void run() {
|
public void run() {
|
||||||
for (ChatRoom chatRoom : getChatContainer().getChatRooms()) {
|
for (ChatRoom chatRoom : getChatContainer().getStaleChatRooms()) {
|
||||||
long lastActivity = chatRoom.getLastActivity();
|
|
||||||
long currentTime = System.currentTimeMillis();
|
|
||||||
|
|
||||||
long diff = currentTime - lastActivity;
|
|
||||||
int minutes = (int)(diff / (60 * 1000F));
|
|
||||||
|
|
||||||
LocalPreferences pref = SettingsManager.getLocalPreferences();
|
|
||||||
int timeoutMinutes = pref.getChatLengthDefaultTimeout();
|
|
||||||
|
|
||||||
try {
|
|
||||||
ChatRoom activeChatRoom = getChatContainer().getActiveChatRoom();
|
|
||||||
if(activeChatRoom == chatRoom){
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (ChatRoomNotFoundException e) {
|
|
||||||
}
|
|
||||||
|
|
||||||
if (timeoutMinutes <= minutes) {
|
|
||||||
// Turn tab gray
|
// Turn tab gray
|
||||||
int index = getChatContainer().indexOfComponent(chatRoom);
|
int index = getChatContainer().indexOfComponent(chatRoom);
|
||||||
SparkTab tab = getChatContainer().getTabAt(index);
|
SparkTab tab = getChatContainer().getTabAt(index);
|
||||||
@ -460,7 +439,6 @@ public class ChatManager implements MessageEventNotificationListener {
|
|||||||
titleLabel.repaint();
|
titleLabel.repaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}, delay, period);
|
}, delay, period);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,13 +14,6 @@ import org.jivesoftware.resource.SparkRes;
|
|||||||
import org.jivesoftware.spark.component.RolloverButton;
|
import org.jivesoftware.spark.component.RolloverButton;
|
||||||
import org.jivesoftware.spark.util.ModelUtil;
|
import org.jivesoftware.spark.util.ModelUtil;
|
||||||
|
|
||||||
import javax.swing.Icon;
|
|
||||||
import javax.swing.JButton;
|
|
||||||
import javax.swing.JFrame;
|
|
||||||
import javax.swing.JLabel;
|
|
||||||
import javax.swing.JPanel;
|
|
||||||
import javax.swing.JTabbedPane;
|
|
||||||
|
|
||||||
import java.awt.BorderLayout;
|
import java.awt.BorderLayout;
|
||||||
import java.awt.CardLayout;
|
import java.awt.CardLayout;
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
@ -41,6 +34,13 @@ import java.util.Iterator;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.swing.Icon;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JLabel;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.JTabbedPane;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
@ -307,6 +307,18 @@ public class SparkTabbedPane extends JPanel implements MouseListener {
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Component getComponentInTab(SparkTab tab) {
|
||||||
|
Component[] comps = tabs.getComponents();
|
||||||
|
for (int i = 0; i < comps.length; i++) {
|
||||||
|
Component c = comps[i];
|
||||||
|
if (c == tab) {
|
||||||
|
return getComponentAt(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
public void removeComponent(Component comp) {
|
public void removeComponent(Component comp) {
|
||||||
Component[] comps = mainPanel.getComponents();
|
Component[] comps = mainPanel.getComponents();
|
||||||
for (int i = 0; i < comps.length; i++) {
|
for (int i = 0; i < comps.length; i++) {
|
||||||
|
|||||||
@ -14,7 +14,6 @@ import org.jivesoftware.MainWindow;
|
|||||||
import org.jivesoftware.Spark;
|
import org.jivesoftware.Spark;
|
||||||
import org.jivesoftware.resource.SparkRes;
|
import org.jivesoftware.resource.SparkRes;
|
||||||
import org.jivesoftware.smack.PacketListener;
|
import org.jivesoftware.smack.PacketListener;
|
||||||
import org.jivesoftware.smack.Roster;
|
|
||||||
import org.jivesoftware.smack.filter.AndFilter;
|
import org.jivesoftware.smack.filter.AndFilter;
|
||||||
import org.jivesoftware.smack.filter.FromContainsFilter;
|
import org.jivesoftware.smack.filter.FromContainsFilter;
|
||||||
import org.jivesoftware.smack.filter.PacketTypeFilter;
|
import org.jivesoftware.smack.filter.PacketTypeFilter;
|
||||||
@ -32,6 +31,7 @@ import org.jivesoftware.spark.ui.status.StatusItem;
|
|||||||
import org.jivesoftware.spark.util.ModelUtil;
|
import org.jivesoftware.spark.util.ModelUtil;
|
||||||
import org.jivesoftware.spark.util.SwingWorker;
|
import org.jivesoftware.spark.util.SwingWorker;
|
||||||
import org.jivesoftware.spark.util.log.Log;
|
import org.jivesoftware.spark.util.log.Log;
|
||||||
|
import org.jivesoftware.sparkimpl.settings.local.LocalPreferences;
|
||||||
import org.jivesoftware.sparkimpl.settings.local.SettingsManager;
|
import org.jivesoftware.sparkimpl.settings.local.SettingsManager;
|
||||||
|
|
||||||
import java.awt.Color;
|
import java.awt.Color;
|
||||||
@ -41,6 +41,8 @@ import java.awt.Font;
|
|||||||
import java.awt.Frame;
|
import java.awt.Frame;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.KeyEvent;
|
import java.awt.event.KeyEvent;
|
||||||
|
import java.awt.event.MouseAdapter;
|
||||||
|
import java.awt.event.MouseEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
@ -52,12 +54,14 @@ import java.util.List;
|
|||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
import javax.swing.AbstractAction;
|
import javax.swing.AbstractAction;
|
||||||
|
import javax.swing.Action;
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.Icon;
|
import javax.swing.Icon;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JFrame;
|
import javax.swing.JFrame;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
import javax.swing.KeyStroke;
|
import javax.swing.KeyStroke;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.event.ChangeEvent;
|
import javax.swing.event.ChangeEvent;
|
||||||
@ -215,8 +219,16 @@ public class ChatContainer extends SparkTabbedPane implements MessageListener, C
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Create ChatRoom UI and dock
|
// Create ChatRoom UI and dock
|
||||||
addTab(room.getTabTitle(), room.getTabIcon(), room, tooltip);
|
SparkTab tab = addTab(room.getTabTitle(), room.getTabIcon(), room, tooltip);
|
||||||
|
tab.addMouseListener(new MouseAdapter() {
|
||||||
|
public void mouseReleased(MouseEvent e) {
|
||||||
|
checkTabPopup(e);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void mousePressed(MouseEvent e) {
|
||||||
|
checkTabPopup(e);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
room.addMessageListener(this);
|
room.addMessageListener(this);
|
||||||
|
|
||||||
@ -891,6 +903,8 @@ public class ChatContainer extends SparkTabbedPane implements MessageListener, C
|
|||||||
Font newFont = new Font(oldFont.getFontName(), Font.BOLD, oldFont.getSize());
|
Font newFont = new Font(oldFont.getFontName(), Font.BOLD, oldFont.getSize());
|
||||||
titleLabel.setFont(newFont);
|
titleLabel.setFont(newFont);
|
||||||
titleLabel.setForeground(Color.red);
|
titleLabel.setForeground(Color.red);
|
||||||
|
titleLabel.validate();
|
||||||
|
titleLabel.repaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -898,11 +912,16 @@ public class ChatContainer extends SparkTabbedPane implements MessageListener, C
|
|||||||
final int index = indexOfComponent(room);
|
final int index = indexOfComponent(room);
|
||||||
if (index != -1) {
|
if (index != -1) {
|
||||||
SparkTab tab = getTabAt(index);
|
SparkTab tab = getTabAt(index);
|
||||||
Font font = tab.getTitleLabel().getFont();
|
|
||||||
tab.getTitleLabel().setForeground(Color.black);
|
final JLabel titleLabel = tab.getTitleLabel();
|
||||||
|
|
||||||
|
Font font = titleLabel.getFont();
|
||||||
|
titleLabel.setForeground(Color.black);
|
||||||
|
|
||||||
Font newFont = font.deriveFont(Font.PLAIN);
|
Font newFont = font.deriveFont(Font.PLAIN);
|
||||||
tab.getTitleLabel().setFont(newFont);
|
titleLabel.setFont(newFont);
|
||||||
|
titleLabel.validate();
|
||||||
|
titleLabel.repaint();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1004,7 +1023,8 @@ public class ChatContainer extends SparkTabbedPane implements MessageListener, C
|
|||||||
}
|
}
|
||||||
|
|
||||||
public Collection<ChatRoom> getChatRooms() {
|
public Collection<ChatRoom> getChatRooms() {
|
||||||
return chatRoomList;
|
final List<ChatRoom> list = new ArrayList<ChatRoom>(chatRoomList);
|
||||||
|
return list;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ChatFrame getChatFrame() {
|
public ChatFrame getChatFrame() {
|
||||||
@ -1036,5 +1056,94 @@ public class ChatContainer extends SparkTabbedPane implements MessageListener, C
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns a Collection of stale chat rooms.
|
||||||
|
*
|
||||||
|
* @return a collection of stale chat rooms.
|
||||||
|
*/
|
||||||
|
public Collection<ChatRoom> getStaleChatRooms() {
|
||||||
|
final List<ChatRoom> staleRooms = new ArrayList<ChatRoom>();
|
||||||
|
for (ChatRoom chatRoom : getChatRooms()) {
|
||||||
|
long lastActivity = chatRoom.getLastActivity();
|
||||||
|
long currentTime = System.currentTimeMillis();
|
||||||
|
|
||||||
|
long diff = currentTime - lastActivity;
|
||||||
|
int minutes = (int)(diff / (60 * 1000F));
|
||||||
|
|
||||||
|
LocalPreferences pref = SettingsManager.getLocalPreferences();
|
||||||
|
int timeoutMinutes = pref.getChatLengthDefaultTimeout();
|
||||||
|
|
||||||
|
try {
|
||||||
|
ChatRoom activeChatRoom = getActiveChatRoom();
|
||||||
|
if (activeChatRoom == chatRoom) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (ChatRoomNotFoundException e) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (timeoutMinutes <= minutes) {
|
||||||
|
staleRooms.add(chatRoom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return staleRooms;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkTabPopup(MouseEvent e) {
|
||||||
|
final SparkTab tab = (SparkTab)e.getSource();
|
||||||
|
if (!e.isPopupTrigger()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
final JPopupMenu popup = new JPopupMenu();
|
||||||
|
|
||||||
|
// Handle closing this room.
|
||||||
|
Action closeThisAction = new AbstractAction() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
ChatRoom chatRoom = (ChatRoom)getComponentInTab(tab);
|
||||||
|
if (chatRoom != null) {
|
||||||
|
closeTab(chatRoom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
closeThisAction.putValue(Action.NAME, "Close this room");
|
||||||
|
popup.add(closeThisAction);
|
||||||
|
|
||||||
|
|
||||||
|
if (getChatRooms().size() > 1) {
|
||||||
|
// Handle closing other rooms.
|
||||||
|
Action closeOthersAction = new AbstractAction() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
ChatRoom chatRoom = (ChatRoom)getComponentInTab(tab);
|
||||||
|
if (chatRoom != null) {
|
||||||
|
for (ChatRoom cRoom : getChatRooms()) {
|
||||||
|
if (chatRoom != cRoom) {
|
||||||
|
closeTab(cRoom);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
closeOthersAction.putValue(Action.NAME, "Close all other rooms");
|
||||||
|
popup.add(closeOthersAction);
|
||||||
|
|
||||||
|
Action closeOldAction = new AbstractAction() {
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
for(ChatRoom rooms : getStaleChatRooms()){
|
||||||
|
closeTab(rooms);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
closeOldAction.putValue(Action.NAME, "Close stale rooms");
|
||||||
|
popup.add(closeOldAction);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
popup.show(tab, e.getX(), e.getY());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -85,7 +85,7 @@ public class ChatPreferencePanel extends JPanel implements ActionListener {
|
|||||||
chatWindowPanel.add(hideChatHistory, new GridBagConstraints(0, 3, 2, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
|
chatWindowPanel.add(hideChatHistory, new GridBagConstraints(0, 3, 2, 1, 1.0, 1.0, GridBagConstraints.NORTHWEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
|
||||||
|
|
||||||
JLabel chatTimeoutLabel = new JLabel();
|
JLabel chatTimeoutLabel = new JLabel();
|
||||||
ResourceUtils.resLabel(chatTimeoutLabel, chatTimeoutField, "&Inactive chats expire after (min):");
|
ResourceUtils.resLabel(chatTimeoutLabel, chatTimeoutField, "&Minutes before an inactive room becomes stale:");
|
||||||
chatWindowPanel.add(chatTimeoutLabel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
|
chatWindowPanel.add(chatTimeoutLabel, new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 0, 0));
|
||||||
chatWindowPanel.add(chatTimeoutField, new GridBagConstraints(1, 4, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
|
chatWindowPanel.add(chatTimeoutField, new GridBagConstraints(1, 4, 2, 1, 1.0, 0.0, GridBagConstraints.WEST, GridBagConstraints.NONE, new Insets(5, 5, 5, 5), 50, 0));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user