diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java
index fdf1a59ec..07170fefd 100644
--- a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java
+++ b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java
@@ -260,30 +260,44 @@ else if (buttonName.equalsIgnoreCase("hangup")) {
}
}
else if (buttonName.equalsIgnoreCase("minimize")) {
-
- this.remove(comboPanel);
- this.remove(buttonsPanel);
-
- this.minimizeButtonPanel.removeAll();
- this.minimizeButtonPanel.add(restoreButton);
- this.isShown = false;
-
- this.mainFrame.getContactListPanel()
- .getContactList().requestFocus();
-
- this.mainFrame.validate();
+ this.hideCallPanel();
}
else if (buttonName.equalsIgnoreCase("restore")) {
+ this.showCallPanel();
+ }
+ }
+
+ /**
+ * Hides the panel containing call and hangup buttons.
+ */
+ public void hideCallPanel()
+ {
+ this.remove(comboPanel);
+ this.remove(buttonsPanel);
- this.add(comboPanel, BorderLayout.NORTH);
- this.add(buttonsPanel, BorderLayout.CENTER);
+ this.minimizeButtonPanel.removeAll();
+ this.minimizeButtonPanel.add(restoreButton);
+ this.isShown = false;
- this.minimizeButtonPanel.removeAll();
- this.minimizeButtonPanel.add(minimizeButton);
- this.isShown = true;
+ this.mainFrame.getContactListPanel()
+ .getContactList().requestFocus();
- this.mainFrame.validate();
- }
+ this.mainFrame.validate();
+ }
+
+ /**
+ * Shows the panel containing call and hangup buttons.
+ */
+ public void showCallPanel()
+ {
+ this.add(comboPanel, BorderLayout.NORTH);
+ this.add(buttonsPanel, BorderLayout.CENTER);
+
+ this.minimizeButtonPanel.removeAll();
+ this.minimizeButtonPanel.add(minimizeButton);
+ this.isShown = true;
+
+ this.mainFrame.validate();
}
/**
diff --git a/src/net/java/sip/communicator/impl/gui/main/menus/MainMenu.java b/src/net/java/sip/communicator/impl/gui/main/menus/MainMenu.java
index d6eeec232..526e85018 100755
--- a/src/net/java/sip/communicator/impl/gui/main/menus/MainMenu.java
+++ b/src/net/java/sip/communicator/impl/gui/main/menus/MainMenu.java
@@ -27,7 +27,7 @@ public class MainMenu
private ToolsMenu toolsMenu;
- private JMenu viewMenu = new JMenu();
+ private ViewMenu viewMenu;
private JMenu helpMenu = new JMenu();
@@ -38,6 +38,7 @@ public MainMenu(MainFrame mainFrame)
{
this.fileMenu = new FileMenu(mainFrame);
this.toolsMenu = new ToolsMenu(mainFrame);
+ this.viewMenu = new ViewMenu(mainFrame);
this.init();
}
@@ -69,7 +70,6 @@ private void init()
this.add(helpMenu);
// Disable all menus that are not yet implemented.
- this.viewMenu.setEnabled(false);
this.helpMenu.setEnabled(false);
}
diff --git a/src/net/java/sip/communicator/impl/gui/main/menus/ViewMenu.java b/src/net/java/sip/communicator/impl/gui/main/menus/ViewMenu.java
new file mode 100644
index 000000000..793778c9f
--- /dev/null
+++ b/src/net/java/sip/communicator/impl/gui/main/menus/ViewMenu.java
@@ -0,0 +1,86 @@
+/*
+ * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client.
+ *
+ * Distributable under LGPL license.
+ * See terms of license at gnu.org.
+ */
+
+package net.java.sip.communicator.impl.gui.main.menus;
+
+import java.awt.*;
+import java.awt.event.*;
+
+import javax.swing.*;
+
+import org.osgi.framework.*;
+
+import net.java.sip.communicator.impl.gui.*;
+import net.java.sip.communicator.impl.gui.i18n.*;
+import net.java.sip.communicator.impl.gui.main.*;
+import net.java.sip.communicator.impl.gui.main.account.*;
+import net.java.sip.communicator.impl.gui.main.call.CallManager;
+import net.java.sip.communicator.impl.gui.main.contactlist.addcontact.*;
+import net.java.sip.communicator.impl.gui.main.contactlist.addgroup.*;
+import net.java.sip.communicator.impl.gui.utils.*;
+import net.java.sip.communicator.util.*;
+/**
+ * The ViewMenu is a menu in the main application menu bar.
+ *
+ * @author Yana Stamcheva
+ */
+public class ViewMenu
+ extends JMenu
+ implements ActionListener
+{
+
+ private Logger logger = Logger.getLogger(ViewMenu.class.getName());
+
+ private JCheckBoxMenuItem hideCallPanelItem
+ = new JCheckBoxMenuItem(Messages.getString("hideCallPanel"));
+
+ private MainFrame mainFrame;
+
+ /**
+ * Creates an instance of ViewMenu.
+ * @param parentWindow The parent ChatWindow.
+ */
+ public ViewMenu(MainFrame mainFrame) {
+
+ super(Messages.getString("view"));
+
+ this.mainFrame = mainFrame;
+
+ this.hideCallPanelItem.setSelected(false);
+
+ this.add(hideCallPanelItem);
+
+ this.hideCallPanelItem.setName("hideCallPanel");
+
+ this.hideCallPanelItem.addActionListener(this);
+
+ this.setMnemonic(Messages.getString("view").charAt(0));
+
+ this.hideCallPanelItem.setMnemonic(
+ Messages.getString("hideCallPanel").charAt(0));
+ }
+
+ /**
+ * Handles the ActionEvent when one of the menu items is selected.
+ */
+ public void actionPerformed(ActionEvent e) {
+
+ JMenuItem menuItem = (JMenuItem) e.getSource();
+ String itemName = menuItem.getName();
+
+ if (itemName.equals("hideCallPanel")) {
+ CallManager callManager = mainFrame.getCallManager();
+
+ if (hideCallPanelItem.isSelected()) {
+ callManager.hideCallPanel();
+ }
+ else {
+ callManager.showCallPanel();
+ }
+ }
+ }
+}