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