move "saveStatusInformation" method from MainFrame to the StatusSelectorBox

cusax-fix
Yana Stamcheva 20 years ago
parent 2926a49bfa
commit cbac90c02b

@ -23,13 +23,11 @@
import net.java.sip.communicator.impl.gui.main.chat.conference.*;
import net.java.sip.communicator.impl.gui.main.chatroomslist.*;
import net.java.sip.communicator.impl.gui.main.contactlist.*;
import net.java.sip.communicator.impl.gui.main.contactlist.ContactListPanel.*;
import net.java.sip.communicator.impl.gui.main.login.*;
import net.java.sip.communicator.impl.gui.main.menus.*;
import net.java.sip.communicator.impl.gui.main.presence.*;
import net.java.sip.communicator.impl.gui.utils.*;
import net.java.sip.communicator.service.configuration.*;
import net.java.sip.communicator.service.configuration.PropertyVetoException;
import net.java.sip.communicator.service.contactlist.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.service.protocol.event.*;
@ -146,8 +144,8 @@ private void init()
*/
private void setInitialBounds()
{
this.setSize(200, 450);
this.contactListPanel.setPreferredSize(new Dimension(300, 600));
this.setSize(200, 450);
this.contactListPanel.setPreferredSize(new Dimension(300, 600));
this.contactListPanel.setMinimumSize(new Dimension(80, 200));
this.setLocation(Toolkit.getDefaultToolkit().getScreenSize().width
@ -576,8 +574,8 @@ private class GUIContactPresenceStatusListener implements
ContactPresenceStatusListener
{
public void contactPresenceStatusChanged(
ContactPresenceStatusChangeEvent evt) {
ContactPresenceStatusChangeEvent evt)
{
ContactListPanel clistPanel = tabbedPane.getContactListPanel();
Contact sourceContact = evt.getSourceContact();
@ -672,62 +670,7 @@ public void windowClosed(WindowEvent e)
//System.exit(0);
}
}
}
/**
* Saves the last status for all accounts. This information is used
* on loging. Each time user logs in he's logged with the same status
* as he was the last time before closing the application.
*/
public void saveStatusInformation(ProtocolProviderService protocolProvider,
String statusName)
{
ConfigurationService configService
= GuiActivator.getConfigurationService();
String prefix = "net.java.sip.communicator.impl.gui.accounts";
List accounts = configService
.getPropertyNamesByPrefix(prefix, true);
boolean savedAccount = false;
Iterator accountsIter = accounts.iterator();
while(accountsIter.hasNext()) {
String accountRootPropName
= (String) accountsIter.next();
String accountUID
= configService.getString(accountRootPropName);
if(accountUID.equals(protocolProvider
.getAccountID().getAccountUniqueID())) {
configService.setProperty(
accountRootPropName + ".lastAccountStatus",
statusName);
savedAccount = true;
}
}
if(!savedAccount) {
String accNodeName
= "acc" + Long.toString(System.currentTimeMillis());
String accountPackage
= "net.java.sip.communicator.impl.gui.accounts."
+ accNodeName;
configService.setProperty(accountPackage,
protocolProvider.getAccountID().getAccountUniqueID());
configService.setProperty(
accountPackage+".lastAccountStatus",
statusName);
}
}
}
/**
* Returns the class that manages user login.

@ -176,7 +176,7 @@ else if (protocolProvider.getRegistrationState()
}
}
mainFrame.saveStatusInformation(
saveStatusInformation(
protocolProvider, status.getStatusName());
break;

@ -118,15 +118,14 @@ public void actionPerformed(ActionEvent e)
JMenuItem menuItem = (JMenuItem) e.getSource();
String itemName = menuItem.getName();
if(itemName.equals(Constants.ONLINE_STATUS)) {
if(itemName.equals(Constants.ONLINE_STATUS))
{
if(!protocolProvider.isRegistered()) {
this.mainFrame.getLoginManager().login(protocolProvider);
}
mainFrame.saveStatusInformation(
protocolProvider, Constants.ONLINE_STATUS);
}
else {
else
{
if( !protocolProvider.getRegistrationState()
.equals(RegistrationState.UNREGISTERED)
&& !protocolProvider.getRegistrationState()
@ -143,10 +142,10 @@ public void actionPerformed(ActionEvent e)
+ " due to the following exception: " + e1);
}
}
mainFrame.saveStatusInformation(
protocolProvider, Constants.OFFLINE_STATUS);
}
saveStatusInformation(
protocolProvider, Constants.OFFLINE_STATUS);
}

@ -7,8 +7,11 @@
package net.java.sip.communicator.impl.gui.main.presence;
import java.awt.image.*;
import java.util.*;
import net.java.sip.communicator.impl.gui.*;
import net.java.sip.communicator.impl.gui.customcontrols.*;
import net.java.sip.communicator.service.configuration.*;
import net.java.sip.communicator.service.protocol.*;
public abstract class StatusSelectorBox extends SIPCommMenu
@ -19,5 +22,60 @@ public void updateStatus(){}
public int getAccountIndex(){return -1;}
public void setAccountIndex(int index){}
public void setAccountIndex(int index){}
/**
* Saves the last status for all accounts. This information is used
* on loging. Each time user logs in he's logged with the same status
* as he was the last time before closing the application.
*/
protected void saveStatusInformation(ProtocolProviderService protocolProvider,
String statusName)
{
ConfigurationService configService
= GuiActivator.getConfigurationService();
String prefix = "net.java.sip.communicator.impl.gui.accounts";
List accounts = configService
.getPropertyNamesByPrefix(prefix, true);
boolean savedAccount = false;
Iterator accountsIter = accounts.iterator();
while(accountsIter.hasNext()) {
String accountRootPropName
= (String) accountsIter.next();
String accountUID
= configService.getString(accountRootPropName);
if(accountUID.equals(protocolProvider
.getAccountID().getAccountUniqueID())) {
configService.setProperty(
accountRootPropName + ".lastAccountStatus",
statusName);
savedAccount = true;
}
}
if(!savedAccount) {
String accNodeName
= "acc" + Long.toString(System.currentTimeMillis());
String accountPackage
= "net.java.sip.communicator.impl.gui.accounts."
+ accNodeName;
configService.setProperty(accountPackage,
protocolProvider.getAccountID().getAccountUniqueID());
configService.setProperty(
accountPackage+".lastAccountStatus",
statusName);
}
}
}

Loading…
Cancel
Save