org.mailster.gui.views
Class MailView

java.lang.Object
  extended by org.mailster.gui.views.MailView

public class MailView
extends java.lang.Object

---
Mailster (C) 2007-2009 De Oliveira Edouard

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

See  Mailster Web Site
---

MailView.java - Handles the TabFolder view which contains mail tabs, the log view and even browser tabs.

Version:
$Revision: 1.25 $, $Date: 2009/05/17 11:15:49 $
Author:
Edouard De Oliveira

Nested Class Summary
(package private)  class MailView.AttachedFilesDropdownListener
          This class provides the "drop down" functionality for our attached file dropdown.
(package private)  class MailView.MailViewModeDropdownListener
          This class provides the "drop down" functionality for our mail view mode dropdown.
(package private)  class MailView.MCTabFolder2Listener
           
 
Field Summary
private static org.eclipse.swt.graphics.Image browserImage
           
private  org.eclipse.swt.widgets.ToolBar browserViewToolBar
           
static java.lang.String DEFAULT_PREFERRED_CONTENT
           
private  org.eclipse.swt.custom.SashForm divider
           
private  MailView.AttachedFilesDropdownListener dropdownListener
           
private  org.eclipse.swt.custom.CTabFolder folder
           
private  MailView.MCTabFolder2Listener folderLayoutListener
           
private  boolean forcedMozillaBrowserUse
           
private static org.eclipse.swt.graphics.Image homeImage
           
private  org.eclipse.swt.widgets.Text log
           
private static org.slf4j.Logger LOG
          Log object for this class.
private  org.eclipse.swt.custom.CTabItem logTabItem
           
private  boolean logViewIsScrollLocked
           
private  org.eclipse.swt.widgets.ToolBar logViewToolBar
           
private static org.eclipse.swt.graphics.Image mailImage
           
private  org.eclipse.swt.widgets.ToolBar mailToolbar
           
private  MailsterSWT main
           
private static org.eclipse.swt.graphics.Image mixedViewImage
           
private  java.util.ArrayList<java.lang.String> openedMailsIds
           
private  org.eclipse.swt.widgets.Composite parent
           
private  java.lang.String preferredContentType
           
private static org.eclipse.swt.graphics.Image rawViewImage
           
private  boolean synced
           
private static org.eclipse.swt.graphics.Color[] tabGradient
           
private  TableView tableView
           
private  MailView.MailViewModeDropdownListener viewModeListener
           
 
Constructor Summary
MailView(org.eclipse.swt.widgets.Composite parent, FilterTreeView treeView)
           
 
Method Summary
 void clearDataList()
           
 void closeTab(java.lang.String id)
           
 void closeTabs(boolean onlyMailTabs)
           
private  org.eclipse.swt.browser.Browser createBrowser(org.eclipse.swt.widgets.Composite parent)
           
private  void createBrowserViewToolBar(org.eclipse.swt.browser.Browser browser, java.lang.String url)
           
 void createLogConsole(boolean createTabItem)
           
private  void createLogViewToolBar()
           
protected  void createMailTab(StoredSmtpMessage stored)
           
private  org.eclipse.swt.widgets.Text createRawMailView(org.eclipse.swt.widgets.Composite parent)
           
private  void createTabFolder(org.eclipse.swt.custom.SashForm sash)
           
private  void createToolBarCommons(org.eclipse.swt.widgets.ToolBar tb)
           
private  void createView(FilterTreeView treeView, org.eclipse.swt.widgets.Text filterTextField)
           
 void executeJavaScript(org.eclipse.swt.browser.Browser browser, java.lang.String script)
           
 void executeJavaScriptOnEachMailBrowser(java.lang.String script)
           
protected  org.eclipse.swt.custom.CTabFolder getCTabFolder()
           
 ca.odell.glazedlists.AbstractEventList<StoredSmtpMessage> getDataList()
           
 org.eclipse.swt.custom.SashForm getDivider()
           
 java.lang.String getPreferredContentType()
           
protected  MailsterSmtpService getSMTPService()
           
protected  TableView getTableView()
           
 boolean isForcedMozillaBrowserUse()
           
 boolean isSynced()
           
 boolean isTableDisposed()
           
 void log(java.lang.String msg)
           
private  void recurseMessageParts(SmtpMessagePart current)
           
private  void saveAllAttachments(org.eclipse.swt.widgets.MenuItem[] items, java.lang.String dir)
           
private  void saveAttachedFile(SmtpMessagePart part)
           
protected  void selectMailTab(StoredSmtpMessage stored)
           
 void setForcedMozillaBrowserUse(boolean forcedMozillaBrowserUse)
           
 void setPreferredContentType(java.lang.String preferredContentType)
           
private  void setTopRight(org.eclipse.swt.widgets.ToolBar tb)
           
 void showURL(org.eclipse.swt.graphics.Image img, java.lang.String url, java.lang.String title)
           
 void showURL(org.eclipse.swt.graphics.Image img, java.lang.String url, java.lang.String title, boolean setURLAsTitle)
           
 void showURL(java.lang.String url, boolean setURLAsTitle)
           
private  void updateAttachedFilesButton(SmtpMessagePart current)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

LOG

private static final org.slf4j.Logger LOG
Log object for this class.


DEFAULT_PREFERRED_CONTENT

public static final java.lang.String DEFAULT_PREFERRED_CONTENT
See Also:
Constant Field Values

mailImage

private static final org.eclipse.swt.graphics.Image mailImage

homeImage

private static final org.eclipse.swt.graphics.Image homeImage

rawViewImage

private static final org.eclipse.swt.graphics.Image rawViewImage

mixedViewImage

private static final org.eclipse.swt.graphics.Image mixedViewImage

browserImage

private static final org.eclipse.swt.graphics.Image browserImage

tabGradient

private static final org.eclipse.swt.graphics.Color[] tabGradient

openedMailsIds

private java.util.ArrayList<java.lang.String> openedMailsIds

preferredContentType

private java.lang.String preferredContentType

tableView

private TableView tableView

folder

private org.eclipse.swt.custom.CTabFolder folder

logTabItem

private org.eclipse.swt.custom.CTabItem logTabItem

parent

private org.eclipse.swt.widgets.Composite parent

log

private org.eclipse.swt.widgets.Text log

main

private MailsterSWT main

divider

private org.eclipse.swt.custom.SashForm divider

folderLayoutListener

private MailView.MCTabFolder2Listener folderLayoutListener

dropdownListener

private MailView.AttachedFilesDropdownListener dropdownListener

viewModeListener

private MailView.MailViewModeDropdownListener viewModeListener

forcedMozillaBrowserUse

private boolean forcedMozillaBrowserUse

logViewIsScrollLocked

private boolean logViewIsScrollLocked

synced

private boolean synced

logViewToolBar

private org.eclipse.swt.widgets.ToolBar logViewToolBar

mailToolbar

private org.eclipse.swt.widgets.ToolBar mailToolbar

browserViewToolBar

private org.eclipse.swt.widgets.ToolBar browserViewToolBar
Constructor Detail

MailView

public MailView(org.eclipse.swt.widgets.Composite parent,
                FilterTreeView treeView)
Method Detail

getTableView

protected TableView getTableView()

getCTabFolder

protected org.eclipse.swt.custom.CTabFolder getCTabFolder()

getDivider

public org.eclipse.swt.custom.SashForm getDivider()

createView

private void createView(FilterTreeView treeView,
                        org.eclipse.swt.widgets.Text filterTextField)

createRawMailView

private org.eclipse.swt.widgets.Text createRawMailView(org.eclipse.swt.widgets.Composite parent)

createBrowser

private org.eclipse.swt.browser.Browser createBrowser(org.eclipse.swt.widgets.Composite parent)

createToolBarCommons

private void createToolBarCommons(org.eclipse.swt.widgets.ToolBar tb)

createBrowserViewToolBar

private void createBrowserViewToolBar(org.eclipse.swt.browser.Browser browser,
                                      java.lang.String url)

createLogViewToolBar

private void createLogViewToolBar()

createLogConsole

public void createLogConsole(boolean createTabItem)

log

public void log(java.lang.String msg)

createMailTab

protected void createMailTab(StoredSmtpMessage stored)

selectMailTab

protected void selectMailTab(StoredSmtpMessage stored)

executeJavaScript

public void executeJavaScript(org.eclipse.swt.browser.Browser browser,
                              java.lang.String script)

executeJavaScriptOnEachMailBrowser

public void executeJavaScriptOnEachMailBrowser(java.lang.String script)

recurseMessageParts

private void recurseMessageParts(SmtpMessagePart current)

updateAttachedFilesButton

private void updateAttachedFilesButton(SmtpMessagePart current)

saveAllAttachments

private void saveAllAttachments(org.eclipse.swt.widgets.MenuItem[] items,
                                java.lang.String dir)

saveAttachedFile

private void saveAttachedFile(SmtpMessagePart part)

setTopRight

private void setTopRight(org.eclipse.swt.widgets.ToolBar tb)

createTabFolder

private void createTabFolder(org.eclipse.swt.custom.SashForm sash)

showURL

public void showURL(org.eclipse.swt.graphics.Image img,
                    java.lang.String url,
                    java.lang.String title)

showURL

public void showURL(java.lang.String url,
                    boolean setURLAsTitle)

showURL

public void showURL(org.eclipse.swt.graphics.Image img,
                    java.lang.String url,
                    java.lang.String title,
                    boolean setURLAsTitle)

isTableDisposed

public boolean isTableDisposed()

getDataList

public ca.odell.glazedlists.AbstractEventList<StoredSmtpMessage> getDataList()

clearDataList

public void clearDataList()

closeTabs

public void closeTabs(boolean onlyMailTabs)

closeTab

public void closeTab(java.lang.String id)

getPreferredContentType

public java.lang.String getPreferredContentType()

setPreferredContentType

public void setPreferredContentType(java.lang.String preferredContentType)

isForcedMozillaBrowserUse

public boolean isForcedMozillaBrowserUse()

setForcedMozillaBrowserUse

public void setForcedMozillaBrowserUse(boolean forcedMozillaBrowserUse)

getSMTPService

protected MailsterSmtpService getSMTPService()

isSynced

public boolean isSynced()