JAL-3814 don’t automatically launch the news browser when the desktop is first opened
[jalview.git] / src / jalview / gui / BlogReader.java
index 2e72e17..1807764 100644 (file)
@@ -41,6 +41,7 @@ import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.Collections;
+import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
@@ -252,10 +253,11 @@ public class BlogReader extends JPanel
     _channelModel = new ChannelListModel();
     // Construct our jalview news channel
     Channel chan = new Channel();
-    chan.setURL(jalview.bin.Cache.getDefault(
-            "JALVIEW_NEWS_RSS",
-            jalview.bin.Cache.getDefault("www.jalview.org",
-                    "http://www.jalview.org") + "/feeds/desktop/rss"));
+    chan.setURL(
+            jalview.bin.Cache.getDefault("JALVIEW_NEWS_RSS",
+                    jalview.bin.Cache.getDefault("www.jalview.org",
+                            "https://www.jalview.org")
+                            + "/feeds/desktop/rss"));
     loadLastM();
     _channelModel.addChannel(chan);
     updating = true;
@@ -270,13 +272,16 @@ public class BlogReader extends JPanel
 
     initItems(chan);
     updating = false;
-    boolean setvisible = checkForNew(chan, true);
-
-    if (setvisible)
+    if (!Cache.getDefault("NONEWS", false))
     {
+      boolean setvisible = checkForNew(chan, true);
+
+      if (setvisible)
+      {
 
-      Cache.log.debug("Will show jalview news automatically");
-      showNews();
+        Cache.log.debug("Will show jalview news automatically");
+        showNews();
+      }
     }
     Cache.log.debug("Completed construction of reader.");
 
@@ -285,6 +290,7 @@ public class BlogReader extends JPanel
   /**
    * check if the news panel's container is visible
    */
+  @Override
   public boolean isVisible()
   {
     if (parent == null)
@@ -312,14 +318,16 @@ public class BlogReader extends JPanel
           xf.setContentPane(me);
           xf.addWindowListener(new WindowAdapter()
           {
+            @Override
             public void windowClosing(WindowEvent e)
             {
               ActionEvent actionEvent = new ActionEvent(this,
-                      ActionEvent.ACTION_FIRST, (String) exitAction
-                              .getValue(Action.NAME));
+                      ActionEvent.ACTION_FIRST,
+                      (String) exitAction.getValue(Action.NAME));
               exitAction.actionPerformed(actionEvent);
             }
 
+            @Override
             public void windowOpened(WindowEvent e)
             {
             }
@@ -355,8 +363,8 @@ public class BlogReader extends JPanel
     java.util.Date earliest = null;
     try
     {
-      earliest = new SimpleDateFormat("YYYY-MM-DD").parse(chan
-              .getHTTPLastModified());
+      earliest = new SimpleDateFormat("YYYY-MM-DD")
+              .parse(chan.getHTTPLastModified());
     } catch (Exception x)
     {
     }
@@ -367,9 +375,9 @@ public class BlogReader extends JPanel
               + " and lastDate is " + lastDate);
       for (Item i : (List<Item>) chan.getItems())
       {
+        Date published = i.getPublishDate();
         boolean isread = lastDate == null ? false
-                : (i.getPublishDate() != null && !lastDate.before(i
-                        .getPublishDate()));
+                : (published != null && !lastDate.before(published));
 
         if (!updating || updateItems)
         {
@@ -379,11 +387,11 @@ public class BlogReader extends JPanel
         {
           i.setRead(isread);
         }
-        if (i.getPublishDate() != null && !i.isRead())
+        if (published != null && !i.isRead())
         {
-          if (earliest == null || earliest.after(i.getPublishDate()))
+          if (earliest == null || earliest.after(published))
           {
-            earliest = i.getPublishDate();
+            earliest = published;
           }
         }
       }
@@ -420,11 +428,9 @@ public class BlogReader extends JPanel
       }
       if (lastDate != null)
       {
-        jalview.bin.Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED",
-                lastDate);
-        jalview.bin.Cache.log.debug("Saved last read date as "
-                + jalview.bin.Cache.date_format.format(lastDate));
-
+        String formatted = Cache
+                .setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED", lastDate);
+        Cache.log.debug("Saved last read date as " + formatted);
       }
     }
   }
@@ -472,6 +478,7 @@ public class BlogReader extends JPanel
 
     listItems.addMouseListener(new java.awt.event.MouseAdapter()
     {
+      @Override
       public void mouseClicked(MouseEvent e)
       {
         listItems_mouseClicked(e);
@@ -497,6 +504,7 @@ public class BlogReader extends JPanel
     }
     textDescription.addHyperlinkListener(new HyperlinkListener()
     {
+      @Override
       public void hyperlinkUpdate(HyperlinkEvent e)
       {
         if (e.getEventType() == HyperlinkEvent.EventType.ACTIVATED)
@@ -508,6 +516,7 @@ public class BlogReader extends JPanel
 
     listItems.addListSelectionListener(new ListSelectionListener()
     {
+      @Override
       public void valueChanged(ListSelectionEvent e)
       {
         if (e.getValueIsAdjusting() == false)
@@ -524,19 +533,20 @@ public class BlogReader extends JPanel
     _itemsValueChanged(listItems);
   }
 
-  public class LaunchJvBrowserOnItem extends AbstractAction implements
-          UpdatableAction
+  public class LaunchJvBrowserOnItem extends AbstractAction
+          implements UpdatableAction
   {
     JList _listItems = null;
 
     public LaunchJvBrowserOnItem(JList listItems)
     {
       super("Open in Browser");
-      this.putValue(MNEMONIC_KEY, new Integer(KeyEvent.VK_O));
+      this.putValue(MNEMONIC_KEY, Integer.valueOf(KeyEvent.VK_O));
       this.putValue(Action.LONG_DESCRIPTION, "Open in Browser");
       _listItems = listItems;
     }
 
+    @Override
     public void actionPerformed(ActionEvent e)
     {
       Object o = _listItems.getSelectedValue();
@@ -550,6 +560,7 @@ public class BlogReader extends JPanel
       }
     }
 
+    @Override
     public void update(Object o)
     {
       setEnabled(true);
@@ -578,7 +589,8 @@ public class BlogReader extends JPanel
   private JPopupMenu _buildChannelsPopupMenu()
   {
     JPopupMenu popup = new JPopupMenu();
-    popup.add(new JMenuItem(new MarkChannelAsRead(listChannels, listItems)));
+    popup.add(
+            new JMenuItem(new MarkChannelAsRead(listChannels, listItems)));
     popup.add(new JMenuItem(
             new MarkChannelAsUnread(listChannels, listItems)));
     return popup;
@@ -602,8 +614,9 @@ public class BlogReader extends JPanel
     }
     DefaultListModel itemsModel = (DefaultListModel) listItems.getModel();
     itemsModel.clear();
-    Iterator iter = (channel.getItems() != null) ? channel.getItems()
-            .iterator() : Collections.EMPTY_LIST.iterator();
+    Iterator iter = (channel.getItems() != null)
+            ? channel.getItems().iterator()
+            : Collections.EMPTY_LIST.iterator();
     while (iter.hasNext())
     {
       itemsModel.addElement(iter.next());
@@ -699,8 +712,8 @@ public class BlogReader extends JPanel
           button.setVerticalTextPosition(AbstractButton.BOTTOM);
           button.setHorizontalTextPosition(AbstractButton.CENTER);
         }
-        else if (Boolean.toString(true).equals(
-                general.get("radioTextRight")))
+        else if (Boolean.toString(true)
+                .equals(general.get("radioTextRight")))
         {
           button.setVerticalTextPosition(AbstractButton.CENTER);
           button.setHorizontalTextPosition(AbstractButton.RIGHT);
@@ -749,16 +762,15 @@ public class BlogReader extends JPanel
     jalview.bin.Cache.loadProperties(null);
     jalview.bin.Cache.initLogger();
     // test will advance read date each time
-    Calendar today = Calendar.getInstance(), lastread = Calendar
-            .getInstance();
+    Calendar today = Calendar.getInstance(),
+            lastread = Calendar.getInstance();
     lastread.set(1983, 01, 01);
     while (lastread.before(today))
     {
-      Cache.setDateProperty("JALVIEW_NEWS_RSS_LASTMODIFIED",
-              lastread.getTime());
+      String formattedDate = Cache.setDateProperty(
+              "JALVIEW_NEWS_RSS_LASTMODIFIED", lastread.getTime());
       BlogReader me = new BlogReader();
-      System.out.println("Set last date to "
-              + jalview.bin.Cache.date_format.format(lastread.getTime()));
+      System.out.println("Set last date to " + formattedDate);
       if (me.isNewsNew())
       {
         Cache.log.debug("There is news to read.");
@@ -810,6 +822,7 @@ class ChannelsRenderer extends DefaultListCellRenderer
   private final static Icon _icon = new ImageIcon(
           Main.class.getResource("image/ComposeMail16.gif"));
 
+  @Override
   public Component getListCellRendererComponent(JList list, Object value,
           int index, boolean isSelected, boolean cellHasFocus)
   {
@@ -819,13 +832,10 @@ class ChannelsRenderer extends DefaultListCellRenderer
     if (value instanceof Channel)
     {
       Channel channel = (Channel) value;
-      component
-              .setText(MessageManager.formatMessage(
-                      "label.channel_title_item_count",
-                      new String[] {
-                          channel.getTitle(),
-                          Integer.valueOf(channel.getUnreadItemCount())
-                                  .toString() }));
+      component.setText(MessageManager
+              .formatMessage("label.channel_title_item_count", new String[]
+              { channel.getTitle(), Integer
+                      .valueOf(channel.getUnreadItemCount()).toString() }));
       component.setToolTipText(channel.getURL());
     }
     return component;
@@ -837,6 +847,7 @@ class ItemsRenderer extends DefaultListCellRenderer
   private final static Icon _icon = new ImageIcon(
           Main.class.getResource("image/ComposeMail16.gif"));
 
+  @Override
   public Component getListCellRendererComponent(JList list, Object value,
           int index, boolean isSelected, boolean cellHasFocus)
   {
@@ -849,12 +860,11 @@ class ItemsRenderer extends DefaultListCellRenderer
       if (item.getPublishDate() != null)
       {
         component.setText(MessageManager.formatMessage(
-                "label.blog_item_published_on_date",
-                new String[] {
-                    DateFormat
-                            .getDateInstance(DateFormat.LONG,
-                                    MessageManager.getLocale())
-                            .format(item.getPublishDate()).toString(),
+                "label.blog_item_published_on_date", new String[]
+                { DateFormat
+                        .getDateInstance(DateFormat.LONG,
+                                MessageManager.getLocale())
+                        .format(item.getPublishDate()).toString(),
                     item.getTitle() }));
       }
       component.setToolTipText(item.getLink());