diff --git a/mozilla/editor/base/nsAOLCiter.cpp b/mozilla/editor/base/nsAOLCiter.cpp new file mode 100644 index 00000000000..5e7fc7309ef --- /dev/null +++ b/mozilla/editor/base/nsAOLCiter.cpp @@ -0,0 +1,82 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#include "nsAOLCiter.h" + +#include "nsString.h" + +/** Mail citations using the AOL style >> This is a citation << + */ + +nsAOLCiter::nsAOLCiter() +{ +} + +nsAOLCiter::~nsAOLCiter() +{ +} + +NS_IMPL_ADDREF(nsAOLCiter) + +NS_IMPL_RELEASE(nsAOLCiter) + +NS_IMETHODIMP +nsAOLCiter::QueryInterface(REFNSIID aIID, void** aInstancePtr) +{ + if (nsnull == aInstancePtr) { + return NS_ERROR_NULL_POINTER; + } + if (aIID.Equals(nsISupports::GetIID())) + { + *aInstancePtr = (void*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + if (aIID.Equals(nsICiter::GetIID())) { + *aInstancePtr = (void*)(nsICiter*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + return NS_NOINTERFACE; +} + +NS_IMETHODIMP +nsAOLCiter::GetCiteString(const nsString& aInString, nsString& aOutString) +{ + aOutString = "\n\n>> "; + aOutString += aInString; + + // See if the last char is a newline, and replace it if so + PRUnichar newline ('\n'); + if (aOutString.Last() == newline) + { + aOutString[aOutString.Length() - 1] = ' '; + aOutString += "<<\n"; + } + else + { + aOutString += " <<\n"; + } + + return NS_OK; +} + + + + + diff --git a/mozilla/editor/base/nsAOLCiter.h b/mozilla/editor/base/nsAOLCiter.h new file mode 100644 index 00000000000..a808b0d1d80 --- /dev/null +++ b/mozilla/editor/base/nsAOLCiter.h @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsAOLCiter_h__ +#define nsAOLCiter_h__ + +#include "nsICiter.h" + +#include "nsString.h" + +/** Mail citations using the AOL style >> This is a citation << + */ +class nsAOLCiter : public nsICiter +{ +public: + nsAOLCiter(); + virtual ~nsAOLCiter(); +//Interfaces for addref and release and queryinterface +//NOTE: Use NS_DECL_ISUPPORTS_INHERITED in any class inherited from nsEditor + NS_DECL_ISUPPORTS + + NS_IMETHOD GetCiteString(const nsString& aInString, nsString& aOutString); +}; + +#endif //nsAOLCiter_h__ + diff --git a/mozilla/editor/base/nsInternetCiter.cpp b/mozilla/editor/base/nsInternetCiter.cpp new file mode 100644 index 00000000000..13e3beec31b --- /dev/null +++ b/mozilla/editor/base/nsInternetCiter.cpp @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#include "nsInternetCiter.h" + +#include "nsString.h" + +/** Mail citations using the Internet style >> This is a citation << + */ + +nsInternetCiter::nsInternetCiter() +{ +} + +nsInternetCiter::~nsInternetCiter() +{ +} + +NS_IMPL_ADDREF(nsInternetCiter) + +NS_IMPL_RELEASE(nsInternetCiter) + +NS_IMETHODIMP +nsInternetCiter::QueryInterface(REFNSIID aIID, void** aInstancePtr) +{ + if (nsnull == aInstancePtr) { + return NS_ERROR_NULL_POINTER; + } + if (aIID.Equals(nsISupports::GetIID())) + { + *aInstancePtr = (void*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + if (aIID.Equals(nsICiter::GetIID())) { + *aInstancePtr = (void*)(nsICiter*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + return NS_NOINTERFACE; +} + +NS_IMETHODIMP +nsInternetCiter::GetCiteString(const nsString& aInString, nsString& aOutString) +{ + PRUnichar newline ('\n'); + PRInt32 i = 0; + PRInt32 length = aInString.Length(); + aOutString = "\n\n"; + PRUnichar uch = newline; + + // Loop over the string: + while (i < length) + { + if (uch == newline) + aOutString += "> "; + + uch = aInString[i++]; + aOutString += uch; + } + + if (uch != newline) + aOutString += newline; + + return NS_OK; +} + + + + + diff --git a/mozilla/editor/base/nsInternetCiter.h b/mozilla/editor/base/nsInternetCiter.h new file mode 100644 index 00000000000..d9138d92e93 --- /dev/null +++ b/mozilla/editor/base/nsInternetCiter.h @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsInternetCiter_h__ +#define nsInternetCiter_h__ + +#include "nsICiter.h" + +#include "nsString.h" + +/** Mail citations using the AOL style >> This is a citation << + */ +class nsInternetCiter : public nsICiter +{ +public: + nsInternetCiter(); + virtual ~nsInternetCiter(); +//Interfaces for addref and release and queryinterface +//NOTE: Use NS_DECL_ISUPPORTS_INHERITED in any class inherited from nsEditor + NS_DECL_ISUPPORTS + + NS_IMETHOD GetCiteString(const nsString& aInString, nsString& aOutString); +}; + +#endif //nsInternetCiter_h__ + diff --git a/mozilla/editor/libeditor/text/nsAOLCiter.cpp b/mozilla/editor/libeditor/text/nsAOLCiter.cpp new file mode 100644 index 00000000000..5e7fc7309ef --- /dev/null +++ b/mozilla/editor/libeditor/text/nsAOLCiter.cpp @@ -0,0 +1,82 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#include "nsAOLCiter.h" + +#include "nsString.h" + +/** Mail citations using the AOL style >> This is a citation << + */ + +nsAOLCiter::nsAOLCiter() +{ +} + +nsAOLCiter::~nsAOLCiter() +{ +} + +NS_IMPL_ADDREF(nsAOLCiter) + +NS_IMPL_RELEASE(nsAOLCiter) + +NS_IMETHODIMP +nsAOLCiter::QueryInterface(REFNSIID aIID, void** aInstancePtr) +{ + if (nsnull == aInstancePtr) { + return NS_ERROR_NULL_POINTER; + } + if (aIID.Equals(nsISupports::GetIID())) + { + *aInstancePtr = (void*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + if (aIID.Equals(nsICiter::GetIID())) { + *aInstancePtr = (void*)(nsICiter*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + return NS_NOINTERFACE; +} + +NS_IMETHODIMP +nsAOLCiter::GetCiteString(const nsString& aInString, nsString& aOutString) +{ + aOutString = "\n\n>> "; + aOutString += aInString; + + // See if the last char is a newline, and replace it if so + PRUnichar newline ('\n'); + if (aOutString.Last() == newline) + { + aOutString[aOutString.Length() - 1] = ' '; + aOutString += "<<\n"; + } + else + { + aOutString += " <<\n"; + } + + return NS_OK; +} + + + + + diff --git a/mozilla/editor/libeditor/text/nsAOLCiter.h b/mozilla/editor/libeditor/text/nsAOLCiter.h new file mode 100644 index 00000000000..a808b0d1d80 --- /dev/null +++ b/mozilla/editor/libeditor/text/nsAOLCiter.h @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsAOLCiter_h__ +#define nsAOLCiter_h__ + +#include "nsICiter.h" + +#include "nsString.h" + +/** Mail citations using the AOL style >> This is a citation << + */ +class nsAOLCiter : public nsICiter +{ +public: + nsAOLCiter(); + virtual ~nsAOLCiter(); +//Interfaces for addref and release and queryinterface +//NOTE: Use NS_DECL_ISUPPORTS_INHERITED in any class inherited from nsEditor + NS_DECL_ISUPPORTS + + NS_IMETHOD GetCiteString(const nsString& aInString, nsString& aOutString); +}; + +#endif //nsAOLCiter_h__ + diff --git a/mozilla/editor/libeditor/text/nsInternetCiter.cpp b/mozilla/editor/libeditor/text/nsInternetCiter.cpp new file mode 100644 index 00000000000..13e3beec31b --- /dev/null +++ b/mozilla/editor/libeditor/text/nsInternetCiter.cpp @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#include "nsInternetCiter.h" + +#include "nsString.h" + +/** Mail citations using the Internet style >> This is a citation << + */ + +nsInternetCiter::nsInternetCiter() +{ +} + +nsInternetCiter::~nsInternetCiter() +{ +} + +NS_IMPL_ADDREF(nsInternetCiter) + +NS_IMPL_RELEASE(nsInternetCiter) + +NS_IMETHODIMP +nsInternetCiter::QueryInterface(REFNSIID aIID, void** aInstancePtr) +{ + if (nsnull == aInstancePtr) { + return NS_ERROR_NULL_POINTER; + } + if (aIID.Equals(nsISupports::GetIID())) + { + *aInstancePtr = (void*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + if (aIID.Equals(nsICiter::GetIID())) { + *aInstancePtr = (void*)(nsICiter*)this; + NS_ADDREF_THIS(); + return NS_OK; + } + return NS_NOINTERFACE; +} + +NS_IMETHODIMP +nsInternetCiter::GetCiteString(const nsString& aInString, nsString& aOutString) +{ + PRUnichar newline ('\n'); + PRInt32 i = 0; + PRInt32 length = aInString.Length(); + aOutString = "\n\n"; + PRUnichar uch = newline; + + // Loop over the string: + while (i < length) + { + if (uch == newline) + aOutString += "> "; + + uch = aInString[i++]; + aOutString += uch; + } + + if (uch != newline) + aOutString += newline; + + return NS_OK; +} + + + + + diff --git a/mozilla/editor/libeditor/text/nsInternetCiter.h b/mozilla/editor/libeditor/text/nsInternetCiter.h new file mode 100644 index 00000000000..d9138d92e93 --- /dev/null +++ b/mozilla/editor/libeditor/text/nsInternetCiter.h @@ -0,0 +1,41 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * + * The contents of this file are subject to the Netscape Public License + * Version 1.0 (the "NPL"); you may not use this file except in + * compliance with the NPL. You may obtain a copy of the NPL at + * http://www.mozilla.org/NPL/ + * + * Software distributed under the NPL is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the NPL + * for the specific language governing rights and limitations under the + * NPL. + * + * The Initial Developer of this code under the NPL is Netscape + * Communications Corporation. Portions created by Netscape are + * Copyright (C) 1998 Netscape Communications Corporation. All Rights + * Reserved. + */ + +#ifndef nsInternetCiter_h__ +#define nsInternetCiter_h__ + +#include "nsICiter.h" + +#include "nsString.h" + +/** Mail citations using the AOL style >> This is a citation << + */ +class nsInternetCiter : public nsICiter +{ +public: + nsInternetCiter(); + virtual ~nsInternetCiter(); +//Interfaces for addref and release and queryinterface +//NOTE: Use NS_DECL_ISUPPORTS_INHERITED in any class inherited from nsEditor + NS_DECL_ISUPPORTS + + NS_IMETHOD GetCiteString(const nsString& aInString, nsString& aOutString); +}; + +#endif //nsInternetCiter_h__ +