diff --git a/resources/config/defaults.properties b/resources/config/defaults.properties
index e49304092..feb3f8878 100644
--- a/resources/config/defaults.properties
+++ b/resources/config/defaults.properties
@@ -44,6 +44,7 @@ impl.gui.IS_WINDOW_IMAGE_BACKGROUND_ENABLED=false
impl.gui.GREY_HISTORY_ENABLED=false
impl.gui.SINGLE_WINDOW_INTERFACE=false
impl.gui.CALL_BUTTON_ENABLED=false
+impl.gui.main.account.ADVANCED_CONFIG_DISABLED=false
# impl.msghistory
impl.msghistory.IS_MESSAGE_HISTORY_ENABLED=true
diff --git a/src/net/java/sip/communicator/impl/gui/main/account/AccountsConfigurationPanel.java b/src/net/java/sip/communicator/impl/gui/main/account/AccountsConfigurationPanel.java
index ec5f5137c..56858097d 100644
--- a/src/net/java/sip/communicator/impl/gui/main/account/AccountsConfigurationPanel.java
+++ b/src/net/java/sip/communicator/impl/gui/main/account/AccountsConfigurationPanel.java
@@ -14,6 +14,7 @@
import javax.swing.event.*;
import net.java.sip.communicator.impl.gui.*;
+import net.java.sip.communicator.impl.gui.utils.*;
import net.java.sip.communicator.service.configuration.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
@@ -74,20 +75,25 @@ public AccountsConfigurationPanel()
new TransparentPanel(new FlowLayout(FlowLayout.RIGHT));
newButton.addActionListener(this);
- editButton.addActionListener(this);
removeButton.addActionListener(this);
this.newButton.setMnemonic(GuiActivator.getResources().getI18nMnemonic(
"service.gui.ADD"));
- this.editButton
- .setMnemonic(GuiActivator.getResources().getI18nMnemonic(
- "service.gui.EDIT"));
this.removeButton
.setMnemonic(GuiActivator.getResources().getI18nMnemonic(
"service.gui.DELETE"));
buttonsPanel.add(newButton);
- buttonsPanel.add(editButton);
+
+ if (!ConfigurationManager.isAdvancedAccountConfigDisabled())
+ {
+ buttonsPanel.add(editButton);
+ this.editButton
+ .setMnemonic(GuiActivator.getResources().getI18nMnemonic(
+ "service.gui.EDIT"));
+ editButton.addActionListener(this);
+ }
+
buttonsPanel.add(removeButton);
this.add(buttonsPanel, BorderLayout.SOUTH);
diff --git a/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java b/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java
index 8d66f96c4..3ee974a86 100644
--- a/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java
+++ b/src/net/java/sip/communicator/impl/gui/main/account/NewAccountDialog.java
@@ -15,6 +15,7 @@
import net.java.sip.communicator.impl.gui.*;
import net.java.sip.communicator.impl.gui.customcontrols.wizard.*;
+import net.java.sip.communicator.impl.gui.utils.*;
import net.java.sip.communicator.service.gui.*;
import net.java.sip.communicator.service.protocol.*;
import net.java.sip.communicator.util.*;
@@ -116,10 +117,15 @@ public NewAccountDialog()
statusPanel.add(statusLabel);
this.mainPanel.add(buttonPanel, BorderLayout.SOUTH);
- this.buttonPanel.add(advancedButton, BorderLayout.WEST);
+
+ if (!ConfigurationManager.isAdvancedAccountConfigDisabled())
+ {
+ this.buttonPanel.add(advancedButton, BorderLayout.WEST);
+ this.advancedButton.addActionListener(this);
+ }
+
this.buttonPanel.add(rightButtonPanel, BorderLayout.EAST);
this.buttonPanel.add(statusPanel, BorderLayout.CENTER);
- this.advancedButton.addActionListener(this);
this.rightButtonPanel.add(addAccountButton);
this.rightButtonPanel.add(cancelButton);
diff --git a/src/net/java/sip/communicator/impl/gui/utils/ConfigurationManager.java b/src/net/java/sip/communicator/impl/gui/utils/ConfigurationManager.java
index 5d883ac02..3060000e9 100644
--- a/src/net/java/sip/communicator/impl/gui/utils/ConfigurationManager.java
+++ b/src/net/java/sip/communicator/impl/gui/utils/ConfigurationManager.java
@@ -156,6 +156,12 @@ public class ConfigurationManager
*/
private static ProtocolProviderService lastCallConferenceProvider = null;
+ /**
+ * Indicates if the "Advanced" configurations for an account should be
+ * disabled for the user.
+ */
+ private static boolean isAdvancedAccountConfigDisabled;
+
/**
* Loads all user interface configurations.
*/
@@ -457,6 +463,24 @@ public static void loadGuiConfigurations()
"net.java.sip.communicator.impl.gui.main.contactlist." +
"CONTACT_REMOVE_DISABLED",
false);
+
+ // Load the "net.java.sip.communicator.impl.gui.main.account
+ // .ADVANCED_CONFIG_DISABLED" property.
+ String advancedConfigDisabledDefaultProp
+ = GuiActivator.getResources().getSettingsString(
+ "impl.gui.main.account.ADVANCED_CONFIG_DISABLED");
+
+ boolean isAdvancedConfigDisabled = false;
+
+ if (advancedConfigDisabledDefaultProp != null)
+ isAdvancedConfigDisabled
+ = Boolean.parseBoolean(advancedConfigDisabledDefaultProp);
+
+ isAdvancedAccountConfigDisabled
+ = configService.getBoolean(
+ "net.java.sip.communicator.impl.gui.main.account." +
+ "ADVANCED_CONFIG_DISABLED",
+ isAdvancedConfigDisabled);
}
/**
@@ -651,7 +675,7 @@ public static boolean isAddContactDisabled()
/**
* Returns true if the "REMOVE_CONTACT_DISABLED" property is
- * true, otherwise - returns false..
+ * true, otherwise - returns false.
* @return true if the "REMOVE_CONTACT_DISABLED" property is
* true, otherwise - returns false.
*/
@@ -660,6 +684,32 @@ public static boolean isRemoveContactDisabled()
return isRemoveContactDisabled;
}
+ /**
+ * Returns true if the "ADVANCED_CONFIG_DISABLED" property is
+ * true, otherwise - returns false..
+ * @return true if the "ADVANCED_CONFIG_DISABLED" property is
+ * true, otherwise - returns false.
+ */
+ public static boolean isAdvancedAccountConfigDisabled()
+ {
+ return isAdvancedAccountConfigDisabled;
+ }
+
+ /**
+ * Sets the advanced account config disabled property.
+ *
+ * @param disabled the new value to set
+ */
+ public static void setAdvancedAccountConfigDisabled(boolean disabled)
+ {
+ isAdvancedAccountConfigDisabled = disabled;
+
+ configService.setProperty(
+ "net.java.sip.communicator.impl.gui.main.account." +
+ "ADVANCED_CONFIG_DISABLED",
+ Boolean.toString(isAdvancedAccountConfigDisabled));
+ }
+
/**
* Return the "sendMessageCommand" property that was saved previously
* through the ConfigurationService. Indicates to the user