diff --git a/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java b/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java
index 9612adccb..5dd567c53 100644
--- a/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java
+++ b/src/net/java/sip/communicator/impl/gui/UIServiceImpl.java
@@ -138,9 +138,7 @@ void loadApplicationGui()
// Initialize the single window container if we're in this case. This
// should be done before initializing the main window, because he'll
// search for it.
- if (Boolean.parseBoolean(
- GuiActivator.getResources().getSettingsString(
- "impl.gui.SINGLE_WINDOW_INTERFACE")))
+ if (ConfigurationManager.isSingleWindowInterfaceEnabled())
singleWindowContainer = new SingleWindowContainer();
// Initialize the main window.
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 496fe900c..8e5dfc6ae 100644
--- a/src/net/java/sip/communicator/impl/gui/utils/ConfigurationManager.java
+++ b/src/net/java/sip/communicator/impl/gui/utils/ConfigurationManager.java
@@ -243,6 +243,11 @@ public class ConfigurationManager
*/
private static boolean isChatRoomConfigDisabled = false;
+ /**
+ * Indicates if the single window interface is enabled.
+ */
+ private static boolean isSingleWindowInterfaceEnabled = false;
+
/**
* The name of the show smileys property.
*/
@@ -261,6 +266,12 @@ public class ConfigurationManager
private static final String CHAT_ROOM_CONFIG_DISABLED_PROP
= "net.java.sip.communicator.service.gui.CHAT_ROOM_CONFIG_DISABLED";
+ /**
+ * The name of the single interface property.
+ */
+ private static final String SINGLE_WINDOW_INTERFACE_ENABLED
+ = "net.java.sip.communicator.service.gui.SINGLE_WINDOW_INTERFACE_ENABLED";
+
/**
* Loads all user interface configurations.
*/
@@ -603,6 +614,25 @@ public static void loadGuiConfigurations()
"ADVANCED_CONFIG_DISABLED",
isAdvancedConfigDisabled);
+ // Single interface enabled property.
+ String singleInterfaceEnabledProp
+ = GuiActivator.getResources().getSettingsString(
+ SINGLE_WINDOW_INTERFACE_ENABLED);
+
+ boolean isEnabled = false;
+
+ if (singleInterfaceEnabledProp != null)
+ isEnabled = Boolean.parseBoolean(singleInterfaceEnabledProp);
+ else
+ isEnabled = Boolean.parseBoolean(
+ GuiActivator.getResources().getSettingsString(
+ "impl.gui.SINGLE_WINDOW_INTERFACE"));
+
+ // Load the advanced account configuration disabled.
+ isSingleWindowInterfaceEnabled
+ = configService.getBoolean( SINGLE_WINDOW_INTERFACE_ENABLED,
+ isEnabled);
+
if(isFontSupportEnabled())
{
// Load default font family string.
@@ -1256,6 +1286,31 @@ public static boolean isAutoAnswerDisableSubmenu()
return autoAnswerDisableSubmenu;
}
+ /**
+ * Indicates if the single interface is enabled.
+ *
+ * @return true if the single window interface is enabled,
+ * false - otherwise
+ */
+ public static boolean isSingleWindowInterfaceEnabled()
+ {
+ return isSingleWindowInterfaceEnabled;
+ }
+
+ /**
+ * Updates the "singleWindowInterface" property through the
+ * ConfigurationService.
+ *
+ * @param singleWindowInterface true to indicate that the
+ * single window interface is enabled, false - otherwise
+ */
+ public static void setSingleWindowInterfaceEnabled(boolean isEnabled)
+ {
+ isSingleWindowInterfaceEnabled = isEnabled;
+
+ configService.setProperty(SINGLE_WINDOW_INTERFACE_ENABLED, isEnabled);
+ }
+
/**
* Sets the transparency value for all transparent windows.
*
@@ -2090,4 +2145,4 @@ public static boolean hasEnabledVideoFormat(
return encodingConfiguration.hasEnabledFormat(MediaType.VIDEO);
}
-}
+}
\ No newline at end of file