From 73eb6b22b00fa15e97f2b71516df26251d0311c6 Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Wed, 29 Sep 2010 17:28:13 +0000 Subject: Added a property allowing to hide option menus and buttons and account configuration form. --- .../main/chat/toolBars/ExtendedMainToolBar.java | 13 +++++++-- .../impl/gui/main/chat/toolBars/MainToolBar.java | 14 ++++++++- .../gui/main/configforms/ConfigurationFrame.java | 34 +++++++++++++++++----- .../impl/gui/main/menus/ToolsMenu.java | 18 +++++++++--- .../impl/osdependent/jdic/TrayMenuFactory.java | 15 ++++++++-- 5 files changed, 78 insertions(+), 16 deletions(-) diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/ExtendedMainToolBar.java b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/ExtendedMainToolBar.java index a2ec6b0..ecdd6a6 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/ExtendedMainToolBar.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/ExtendedMainToolBar.java @@ -15,6 +15,7 @@ import javax.swing.*; import net.java.sip.communicator.impl.gui.*; import net.java.sip.communicator.impl.gui.main.chat.*; import net.java.sip.communicator.impl.gui.main.chat.history.*; +import net.java.sip.communicator.impl.gui.main.configforms.*; import net.java.sip.communicator.impl.gui.main.contactlist.*; import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.contactlist.*; @@ -98,7 +99,7 @@ public class ExtendedMainToolBar public ExtendedMainToolBar(ChatWindow messageWindow) { super(messageWindow); - } + } protected void init() { @@ -108,12 +109,20 @@ public class ExtendedMainToolBar this.add(cutButton); this.add(copyButton); this.add(pasteButton); - this.add(settingsButton); this.add(previousButton); this.add(nextButton); this.add(historyButton); this.add(addButton); + Boolean showOptionsProp + = GuiActivator.getConfigurationService() + .getBoolean(ConfigurationFrame.SHOW_OPTIONS_WINDOW, true); + + if (showOptionsProp.booleanValue()) + { + this.add(settingsButton); + } + this.saveButton.setName("save"); this.saveButton.setToolTipText( GuiActivator.getResources().getI18NString("service.gui.SAVE") diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java index 501d45d..c9d1647 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/toolBars/MainToolBar.java @@ -20,6 +20,7 @@ import net.java.sip.communicator.impl.gui.main.call.*; import net.java.sip.communicator.impl.gui.main.chat.*; import net.java.sip.communicator.impl.gui.main.chat.conference.*; import net.java.sip.communicator.impl.gui.main.chat.history.*; +import net.java.sip.communicator.impl.gui.main.configforms.*; import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.contactlist.*; import net.java.sip.communicator.service.gui.*; @@ -130,7 +131,18 @@ public class MainToolBar this.add(callButton); this.add(historyButton); - this.add(optionsButton); + + // We only add the options button if the property SHOW_OPTIONS_WINDOW + // specifies so or if it's not set. + Boolean showOptionsProp + = GuiActivator.getConfigurationService() + .getBoolean(ConfigurationFrame.SHOW_OPTIONS_WINDOW, true); + + if (showOptionsProp.booleanValue()) + { + this.add(optionsButton); + } + this.add(sendFileButton); this.add(previousButton); diff --git a/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java b/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java index b11ee44..2926041 100644 --- a/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java +++ b/src/net/java/sip/communicator/impl/gui/main/configforms/ConfigurationFrame.java @@ -44,6 +44,20 @@ public class ConfigurationFrame = new TransparentPanel(new BorderLayout(5, 5)); /** + * Indicates if the account config form should be shown. + */ + private static final String SHOW_ACCOUNT_CONFIG_PROPERTY + = "net.java.sip.communicator.impl.gui.main." + + "configforms.SHOW_ACCOUNT_CONFIG"; + + /** + * Indicates if the configuration window should be shown. + */ + public static final String SHOW_OPTIONS_WINDOW + = "net.java.sip.communicator.impl.gui.main." + + "configforms.SHOW_OPTIONS_WINDOW"; + + /** * Initializes a new ConfigurationFrame instance. * * @param mainFrame The main application window. @@ -127,13 +141,19 @@ public class ConfigurationFrame */ public void addDefaultForms() { - addConfigurationForm( - new LazyConfigurationForm( - "net.java.sip.communicator.impl.gui.main.account.AccountsConfigurationPanel", - getClass().getClassLoader(), - "service.gui.icons.ACCOUNT_ICON", - "service.gui.ACCOUNTS", - 0)); + Boolean showAccountConfigProp + = GuiActivator.getConfigurationService() + .getBoolean(SHOW_ACCOUNT_CONFIG_PROPERTY, true); + + if (showAccountConfigProp.booleanValue()) + addConfigurationForm( + new LazyConfigurationForm( + "net.java.sip.communicator.impl.gui.main." + + "account.AccountsConfigurationPanel", + getClass().getClassLoader(), + "service.gui.icons.ACCOUNT_ICON", + "service.gui.ACCOUNTS", + 0)); } /** diff --git a/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java b/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java index c617911..955833a 100644 --- a/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java +++ b/src/net/java/sip/communicator/impl/gui/main/menus/ToolsMenu.java @@ -15,6 +15,7 @@ import net.java.sip.communicator.impl.gui.*; import net.java.sip.communicator.impl.gui.event.*; import net.java.sip.communicator.impl.gui.main.*; import net.java.sip.communicator.impl.gui.main.call.conference.*; +import net.java.sip.communicator.impl.gui.main.configforms.*; import net.java.sip.communicator.impl.gui.main.contactlist.*; import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.gui.*; @@ -213,11 +214,20 @@ public class ToolsMenu */ private void registerMenuItems() { - UIService uiService = GuiActivator.getUIService(); - if ((uiService == null) || !uiService.useMacOSXScreenMenuBar() - || !registerConfigMenuItemMacOSX()) + // We only add the options button if the property SHOW_OPTIONS_WINDOW + // specifies so or if it's not set. + Boolean showOptionsProp + = GuiActivator.getConfigurationService() + .getBoolean(ConfigurationFrame.SHOW_OPTIONS_WINDOW, true); + + if (showOptionsProp.booleanValue()) { - registerConfigMenuItemNonMacOSX(); + UIService uiService = GuiActivator.getUIService(); + if ((uiService == null) || !uiService.useMacOSXScreenMenuBar() + || !registerConfigMenuItemMacOSX()) + { + registerConfigMenuItemNonMacOSX(); + } } // Marks this feature as an ongoing work until its completed and fully diff --git a/src/net/java/sip/communicator/impl/osdependent/jdic/TrayMenuFactory.java b/src/net/java/sip/communicator/impl/osdependent/jdic/TrayMenuFactory.java index f9f39db..ed43218 100644 --- a/src/net/java/sip/communicator/impl/osdependent/jdic/TrayMenuFactory.java +++ b/src/net/java/sip/communicator/impl/osdependent/jdic/TrayMenuFactory.java @@ -124,6 +124,7 @@ public final class TrayMenuFactory /** * Creates a tray menu for the given system tray. + * * @param tray the system tray for which we're creating a menu * @param swing indicates if we should create a Swing or an AWT menu * @return a tray menu for the given system tray @@ -144,8 +145,18 @@ public final class TrayMenuFactory } }; - add(trayMenu, createTrayMenuItem("settings", "service.gui.SETTINGS", - "service.systray.CONFIGURE_ICON", listener, swing)); + Boolean showOptions + = OsDependentActivator.getConfigurationService().getBoolean( + "net.java.sip.communicator.impl.gui.main.configforms." + + "SHOW_OPTIONS_WINDOW", + true); + + if (showOptions.booleanValue()) + { + add(trayMenu, createTrayMenuItem("settings", "service.gui.SETTINGS", + "service.systray.CONFIGURE_ICON", listener, swing)); + } + add(trayMenu, createTrayMenuItem("addContact", "service.gui.ADD_CONTACT", "service.gui.icons.ADD_CONTACT_16x16_ICON", listener, swing)); -- cgit v1.1