mirror of
https://github.com/greenshot/greenshot
synced 2025-07-15 01:23:47 -07:00
Refactoring the interop code to a separate project. Still need to add the interop DLL to the final exe... or maybe I want to use references inside the projects...
git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@1690 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
parent
0aa8e43478
commit
5f9deb2f06
67 changed files with 564 additions and 502 deletions
|
@ -78,6 +78,10 @@
|
||||||
<None Include="Properties\AssemblyInfo.cs.template" />
|
<None Include="Properties\AssemblyInfo.cs.template" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\GreenshotInterop\GreenshotInterop.csproj">
|
||||||
|
<Project>{ADD4E400-56E1-4E31-A5C2-070BEB238A0F}</Project>
|
||||||
|
<Name>GreenshotInterop</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\GreenshotPlugin\GreenshotPlugin.csproj">
|
<ProjectReference Include="..\GreenshotPlugin\GreenshotPlugin.csproj">
|
||||||
<Project>{5B924697-4DCD-4F98-85F1-105CB84B7341}</Project>
|
<Project>{5B924697-4DCD-4F98-85F1-105CB84B7341}</Project>
|
||||||
<Name>GreenshotPlugin</Name>
|
<Name>GreenshotPlugin</Name>
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
using System;
|
using System;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotOCR {
|
namespace GreenshotOCR {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -23,11 +23,10 @@ using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Interop;
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotOCR {
|
namespace GreenshotOCR {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -24,11 +24,11 @@ using System.Drawing;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Interop;
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
using Greenshot.Interop;
|
||||||
|
|
||||||
//using Microsoft.Win32;
|
//using Microsoft.Win32;
|
||||||
|
|
||||||
|
@ -174,13 +174,15 @@ namespace GreenshotOCR {
|
||||||
|
|
||||||
string text = "";
|
string text = "";
|
||||||
try {
|
try {
|
||||||
using (ModiDocu modiDocument = (ModiDocu)COMWrapper.GetOrCreateInstance(typeof(ModiDocu))) {
|
using (ModiDocu modiDocument = COMWrapper.GetOrCreateInstance<ModiDocu>()) {
|
||||||
modiDocument.Create(filePath);
|
if (modiDocument != null) {
|
||||||
modiDocument.OCR((ModiLanguage)Enum.Parse(typeof(ModiLanguage), config.Language), config.Orientimage, config.StraightenImage);
|
modiDocument.Create(filePath);
|
||||||
IImage modiImage = modiDocument.Images[0];
|
modiDocument.OCR((ModiLanguage)Enum.Parse(typeof(ModiLanguage), config.Language), config.Orientimage, config.StraightenImage);
|
||||||
ILayout layout = modiImage.Layout;
|
IImage modiImage = modiDocument.Images[0];
|
||||||
text = layout.Text;
|
ILayout layout = modiImage.Layout;
|
||||||
modiDocument.Close(false);
|
text = layout.Text;
|
||||||
|
modiDocument.Close(false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.Error("Error while calling Microsoft Office Document Imaging (MODI) to OCR: ", e);
|
LOG.Error("Error while calling Microsoft Office Document Imaging (MODI) to OCR: ", e);
|
||||||
|
@ -207,10 +209,12 @@ namespace GreenshotOCR {
|
||||||
|
|
||||||
private bool HasMODI() {
|
private bool HasMODI() {
|
||||||
try {
|
try {
|
||||||
using (ModiDocu modiDocument = (ModiDocu)COMWrapper.GetOrCreateInstance(typeof(ModiDocu))) {
|
using (ModiDocu modiDocument = COMWrapper.GetOrCreateInstance<ModiDocu>()) {
|
||||||
modiDocument.Close(false);
|
if (modiDocument != null) {
|
||||||
|
modiDocument.Close(false);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
|
||||||
} catch(Exception e) {
|
} catch(Exception e) {
|
||||||
LOG.DebugFormat("Error trying to initiate MODI: {0}", e.Message);
|
LOG.DebugFormat("Error trying to initiate MODI: {0}", e.Message);
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,7 +29,7 @@ using System.Windows.Forms;
|
||||||
using GreenshotPlugin.UnmanagedHelpers;
|
using GreenshotPlugin.UnmanagedHelpers;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Configuration {
|
namespace Greenshot.Configuration {
|
||||||
public enum ScreenshotDestinations {Editor=1, FileDefault=2, FileWithDialog=4, Clipboard=8, Printer=16, EMail=32}
|
public enum ScreenshotDestinations {Editor=1, FileDefault=2, FileWithDialog=4, Clipboard=8, Printer=16, EMail=32}
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Drawing;
|
||||||
|
|
||||||
using Greenshot.Drawing.Fields;
|
using Greenshot.Drawing.Fields;
|
||||||
using GreenshotPlugin.UnmanagedHelpers;
|
using GreenshotPlugin.UnmanagedHelpers;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Configuration {
|
namespace Greenshot.Configuration {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
*/
|
*/
|
||||||
using System;
|
using System;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Configuration {
|
namespace Greenshot.Configuration {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -30,7 +30,7 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -27,10 +27,10 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Helpers.OfficeInterop;
|
using Greenshot.Interop.Office;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -168,7 +168,7 @@ namespace Greenshot.Destinations {
|
||||||
if (!isOutlookUsed) {
|
if (!isOutlookUsed) {
|
||||||
yield break;
|
yield break;
|
||||||
}
|
}
|
||||||
Dictionary<string, OlObjectClass> inspectorCaptions = OutlookExporter.RetrievePossibleTargets();
|
Dictionary<string, OlObjectClass> inspectorCaptions = OutlookEmailExporter.RetrievePossibleTargets(conf.OutlookAllowExportInMeetings);
|
||||||
if (inspectorCaptions != null) {
|
if (inspectorCaptions != null) {
|
||||||
foreach (string inspectorCaption in inspectorCaptions.Keys) {
|
foreach (string inspectorCaption in inspectorCaptions.Keys) {
|
||||||
yield return new EmailDestination(inspectorCaption, inspectorCaptions[inspectorCaption]);
|
yield return new EmailDestination(inspectorCaption, inspectorCaptions[inspectorCaption]);
|
||||||
|
@ -206,9 +206,9 @@ namespace Greenshot.Destinations {
|
||||||
attachmentName = Regex.Replace(attachmentName, @"[^\x20\d\w]", "");
|
attachmentName = Regex.Replace(attachmentName, @"[^\x20\d\w]", "");
|
||||||
|
|
||||||
if (outlookInspectorCaption != null) {
|
if (outlookInspectorCaption != null) {
|
||||||
OutlookExporter.ExportToInspector(outlookInspectorCaption, tmpFile, attachmentName);
|
OutlookEmailExporter.ExportToInspector(outlookInspectorCaption, tmpFile, attachmentName);
|
||||||
} else {
|
} else {
|
||||||
OutlookExporter.ExportToOutlook(tmpFile, captureDetails.Title, attachmentName);
|
OutlookEmailExporter.ExportToOutlook(conf.OutlookEmailFormat, tmpFile, captureDetails.Title, attachmentName);
|
||||||
}
|
}
|
||||||
surface.SendMessageEvent(this, SurfaceMessageTyp.Info, lang.GetFormattedString(LangKey.exported_to, Description));
|
surface.SendMessageEvent(this, SurfaceMessageTyp.Info, lang.GetFormattedString(LangKey.exported_to, Description));
|
||||||
surface.Modified = false;
|
surface.Modified = false;
|
||||||
|
|
|
@ -28,8 +28,8 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Helpers.OfficeInterop;
|
using Greenshot.Interop.Office;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -29,7 +29,7 @@ using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Forms;
|
using Greenshot.Forms;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,8 +28,8 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Helpers.OfficeInterop;
|
using Greenshot.Interop.Office;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -121,9 +121,9 @@ namespace Greenshot.Destinations {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (presentationName != null) {
|
if (presentationName != null) {
|
||||||
PowerpointExporter.ExportToPresentation(presentationName, tmpFile, imageSize, captureDetails);
|
PowerpointExporter.ExportToPresentation(presentationName, tmpFile, imageSize, captureDetails.Title);
|
||||||
} else {
|
} else {
|
||||||
PowerpointExporter.InsertIntoNewPresentation(tmpFile, imageSize, captureDetails);
|
PowerpointExporter.InsertIntoNewPresentation(tmpFile, imageSize, captureDetails.Title);
|
||||||
}
|
}
|
||||||
surface.SendMessageEvent(this, SurfaceMessageTyp.Info, lang.GetFormattedString(LangKey.exported_to, Description));
|
surface.SendMessageEvent(this, SurfaceMessageTyp.Info, lang.GetFormattedString(LangKey.exported_to, Description));
|
||||||
surface.Modified = false;
|
surface.Modified = false;
|
||||||
|
|
|
@ -29,7 +29,7 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -29,8 +29,8 @@ using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Helpers.OfficeInterop;
|
using Greenshot.Interop.Office;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Destinations {
|
namespace Greenshot.Destinations {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -32,6 +32,7 @@ using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Plugin.Drawing;
|
using Greenshot.Plugin.Drawing;
|
||||||
using Greenshot.Memento;
|
using Greenshot.Memento;
|
||||||
|
using System.Drawing.Drawing2D;
|
||||||
|
|
||||||
namespace Greenshot.Drawing {
|
namespace Greenshot.Drawing {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -597,6 +598,17 @@ namespace Greenshot.Drawing {
|
||||||
if (RotateFlipType.Rotate90FlipNone == rotateFlipType) {
|
if (RotateFlipType.Rotate90FlipNone == rotateFlipType) {
|
||||||
angle = 270;
|
angle = 270;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Rectangle beforeBounds = new Rectangle(Left, Top, Width, Height);
|
||||||
|
LOG.DebugFormat("Bounds before: {0}", beforeBounds);
|
||||||
|
GraphicsPath translatePath = new GraphicsPath();
|
||||||
|
translatePath.AddRectangle(beforeBounds);
|
||||||
|
Matrix rotateMatrix = new Matrix();
|
||||||
|
rotateMatrix.RotateAt(angle, new PointF(parent.Width >> 1, parent.Height >> 1));
|
||||||
|
translatePath.Transform(rotateMatrix);
|
||||||
|
RectangleF newBounds = translatePath.GetBounds();
|
||||||
|
LOG.DebugFormat("New bounds by using graphics path: {0}", newBounds);
|
||||||
|
|
||||||
int ox = 0;
|
int ox = 0;
|
||||||
int oy = 0;
|
int oy = 0;
|
||||||
int centerX = parent.Width >> 1;
|
int centerX = parent.Width >> 1;
|
||||||
|
@ -632,6 +644,7 @@ namespace Greenshot.Drawing {
|
||||||
(float)newHeight
|
(float)newHeight
|
||||||
);
|
);
|
||||||
ApplyBounds(newRectangle);
|
ApplyBounds(newRectangle);
|
||||||
|
LOG.DebugFormat("New bounds by using old method: {0}", newRectangle);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected virtual ScaleHelper.IDoubleProcessor GetAngleRoundProcessor() {
|
protected virtual ScaleHelper.IDoubleProcessor GetAngleRoundProcessor() {
|
||||||
|
|
|
@ -27,7 +27,7 @@ using Greenshot.Plugin;
|
||||||
using Greenshot.Plugin.Drawing;
|
using Greenshot.Plugin.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Drawing;
|
||||||
using System.Runtime.Serialization;
|
using System.Runtime.Serialization;
|
||||||
|
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Drawing.Fields {
|
namespace Greenshot.Drawing.Fields {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -23,7 +23,7 @@ using System.Collections.Generic;
|
||||||
using System.ComponentModel;
|
using System.ComponentModel;
|
||||||
|
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Drawing.Fields {
|
namespace Greenshot.Drawing.Fields {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -34,6 +34,7 @@ namespace Greenshot.Drawing {
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Serializable()]
|
[Serializable()]
|
||||||
public class FreehandContainer : DrawableContainer {
|
public class FreehandContainer : DrawableContainer {
|
||||||
|
private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(FreehandContainer));
|
||||||
private static readonly float [] POINT_OFFSET = new float[]{0.5f, 0.25f, 0.75f};
|
private static readonly float [] POINT_OFFSET = new float[]{0.5f, 0.25f, 0.75f};
|
||||||
|
|
||||||
[NonSerialized]
|
[NonSerialized]
|
||||||
|
@ -168,6 +169,27 @@ namespace Greenshot.Drawing {
|
||||||
myBounds = Rectangle.Round(freehandPath.GetBounds());
|
myBounds = Rectangle.Round(freehandPath.GetBounds());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public override void Rotate(RotateFlipType rotateFlipType) {
|
||||||
|
int angle = 270;
|
||||||
|
if (rotateFlipType == RotateFlipType.Rotate90FlipNone) {
|
||||||
|
angle = 90;
|
||||||
|
}
|
||||||
|
|
||||||
|
LOG.DebugFormat("Bounds before: {0} - {1}", Bounds, freehandPath.GetBounds());
|
||||||
|
Matrix rotateMatrix = new Matrix();
|
||||||
|
rotateMatrix.Translate(-(parent.Width >> 1), -(parent.Height >> 1));
|
||||||
|
freehandPath.Transform(rotateMatrix);
|
||||||
|
rotateMatrix = new Matrix();
|
||||||
|
rotateMatrix.Rotate(360 - angle);
|
||||||
|
freehandPath.Transform(rotateMatrix);
|
||||||
|
rotateMatrix = new Matrix();
|
||||||
|
rotateMatrix.Translate(parent.Height >> 1, parent.Width >> 1);
|
||||||
|
freehandPath.Transform(rotateMatrix);
|
||||||
|
|
||||||
|
LOG.DebugFormat("Bounds after: {0} - {1}", Bounds, freehandPath.GetBounds());
|
||||||
|
//base.Rotate(rotateFlipType);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Do the drawing of the freehand "stroke"
|
/// Do the drawing of the freehand "stroke"
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -33,7 +33,7 @@ using Greenshot.Plugin;
|
||||||
using Greenshot.Plugin.Drawing;
|
using Greenshot.Plugin.Drawing;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using Greenshot.Memento;
|
using Greenshot.Memento;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using Greenshot.Drawing.Filters;
|
using Greenshot.Drawing.Filters;
|
||||||
using System.Drawing.Drawing2D;
|
using System.Drawing.Drawing2D;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
|
|
|
@ -26,7 +26,7 @@ using System.IO;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -43,7 +43,7 @@ namespace Greenshot {
|
||||||
|
|
||||||
Version v = Assembly.GetExecutingAssembly().GetName().Version;
|
Version v = Assembly.GetExecutingAssembly().GetName().Version;
|
||||||
// Format is like this: AssemblyVersion("Major.Minor.Build.Revision")]
|
// Format is like this: AssemblyVersion("Major.Minor.Build.Revision")]
|
||||||
lblTitle.Text = "Greenshot " + v.Major + "." + v.Minor + "." + v.Build + " Build " + v.Revision + (IniConfig.IsPortable?" Portable":"") + (" (" + OSInfo.Bits +" bit)");
|
lblTitle.Text = "Greenshot DiBa " + v.Major + "." + v.Minor + "." + v.Build + " Build " + v.Revision + (IniConfig.IsPortable?" Portable":"") + (" (" + OSInfo.Bits +" bit)");
|
||||||
lang = Language.GetInstance();
|
lang = Language.GetInstance();
|
||||||
updateUI();
|
updateUI();
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,7 +33,7 @@ using Greenshot.Helpers;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.UnmanagedHelpers;
|
using GreenshotPlugin.UnmanagedHelpers;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Forms {
|
namespace Greenshot.Forms {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -26,7 +26,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -36,7 +36,7 @@ using Greenshot.Help;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Drawing.Imaging;
|
using System.Drawing.Imaging;
|
||||||
|
|
||||||
|
@ -412,6 +412,19 @@ namespace Greenshot {
|
||||||
updateUndoRedoSurfaceDependencies();
|
updateUndoRedoSurfaceDependencies();
|
||||||
};
|
};
|
||||||
effectItem.DropDownItems.Add(effectSubItem);
|
effectItem.DropDownItems.Add(effectSubItem);
|
||||||
|
|
||||||
|
effectSubItem = new ToolStripMenuItem("Rotate 90");
|
||||||
|
effectSubItem.Click += delegate {
|
||||||
|
surface.ApplyBitmapEffect(Effects.Rotate90);
|
||||||
|
updateUndoRedoSurfaceDependencies();
|
||||||
|
};
|
||||||
|
effectItem.DropDownItems.Add(effectSubItem);
|
||||||
|
effectSubItem = new ToolStripMenuItem("Rotate 270");
|
||||||
|
effectSubItem.Click += delegate {
|
||||||
|
surface.ApplyBitmapEffect(Effects.Rotate270);
|
||||||
|
updateUndoRedoSurfaceDependencies();
|
||||||
|
};
|
||||||
|
effectItem.DropDownItems.Add(effectSubItem);
|
||||||
}
|
}
|
||||||
this.editToolStripMenuItem.DropDownItems.Add(new ToolStripSeparator());
|
this.editToolStripMenuItem.DropDownItems.Add(new ToolStripSeparator());
|
||||||
this.editToolStripMenuItem.DropDownItems.Add(insert_window_toolstripmenuitem);
|
this.editToolStripMenuItem.DropDownItems.Add(insert_window_toolstripmenuitem);
|
||||||
|
|
|
@ -22,7 +22,7 @@ using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -39,7 +39,7 @@ using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.UnmanagedHelpers;
|
using GreenshotPlugin.UnmanagedHelpers;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -22,7 +22,7 @@ using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Forms {
|
namespace Greenshot.Forms {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -25,7 +25,7 @@ using System.Windows.Forms;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Forms {
|
namespace Greenshot.Forms {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -30,7 +30,7 @@ using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using GreenshotPlugin.UnmanagedHelpers;
|
using GreenshotPlugin.UnmanagedHelpers;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot {
|
namespace Greenshot {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -74,6 +74,7 @@
|
||||||
<Compile Include="Destinations\ExcelDestination.cs" />
|
<Compile Include="Destinations\ExcelDestination.cs" />
|
||||||
<Compile Include="Destinations\FileDestination.cs" />
|
<Compile Include="Destinations\FileDestination.cs" />
|
||||||
<Compile Include="Destinations\FileWithDialogDestination.cs" />
|
<Compile Include="Destinations\FileWithDialogDestination.cs" />
|
||||||
|
<Compile Include="Destinations\OneNoteDestination.cs" />
|
||||||
<Compile Include="Destinations\PickerDestination.cs" />
|
<Compile Include="Destinations\PickerDestination.cs" />
|
||||||
<Compile Include="Destinations\PowerpointDestination.cs" />
|
<Compile Include="Destinations\PowerpointDestination.cs" />
|
||||||
<Compile Include="Destinations\PrinterDestination.cs" />
|
<Compile Include="Destinations\PrinterDestination.cs" />
|
||||||
|
@ -167,37 +168,11 @@
|
||||||
<Compile Include="Helpers\DestinationHelper.cs" />
|
<Compile Include="Helpers\DestinationHelper.cs" />
|
||||||
<Compile Include="Helpers\IECaptureHelper.cs" />
|
<Compile Include="Helpers\IECaptureHelper.cs" />
|
||||||
<Compile Include="Helpers\IEInterop\IEContainer.cs" />
|
<Compile Include="Helpers\IEInterop\IEContainer.cs" />
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLBodyElement.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLCurrentStyle.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLElement2.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLFrameBase.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLFramesCollection2.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLRect.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLSelectionObject.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLStyle.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLTxtRange.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLWindow4.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IOleWindow.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IServiceProvider.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLDocument.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLDocument2.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLDocument3.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLDocument4.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLDocument5.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLElement.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLElementCollection.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLScreen.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLScreen2.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLWindow2.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IHTMLWindow3.cs" />
|
|
||||||
<Compile Include="Helpers\IEInterop\IWebBrowser2.cs" />
|
|
||||||
<Compile Include="Helpers\OfficeInterop\ExcelWrapper.cs" />
|
|
||||||
<Compile Include="Helpers\ProcessorHelper.cs" />
|
<Compile Include="Helpers\ProcessorHelper.cs" />
|
||||||
<Compile Include="Processors\TitleFixProcessor.cs" />
|
<Compile Include="Processors\TitleFixProcessor.cs" />
|
||||||
<None Include="Greenshot.exe.config">
|
<None Include="Greenshot.exe.config">
|
||||||
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
|
||||||
</None>
|
</None>
|
||||||
<None Include="Helpers\OfficeInterop\OutlookUtils.cs" />
|
|
||||||
<Compile Include="Helpers\WindowWrapper.cs" />
|
<Compile Include="Helpers\WindowWrapper.cs" />
|
||||||
<Compile Include="Memento\AddElementMemento.cs" />
|
<Compile Include="Memento\AddElementMemento.cs" />
|
||||||
<Compile Include="Memento\ChangeFieldHolderMemento.cs" />
|
<Compile Include="Memento\ChangeFieldHolderMemento.cs" />
|
||||||
|
@ -206,10 +181,6 @@
|
||||||
<Compile Include="Memento\IMemento.cs" />
|
<Compile Include="Memento\IMemento.cs" />
|
||||||
<Compile Include="Memento\DrawableContainerBoundsChangeMemento.cs" />
|
<Compile Include="Memento\DrawableContainerBoundsChangeMemento.cs" />
|
||||||
<Compile Include="Memento\SurfaceBackgroundChangeMemento.cs" />
|
<Compile Include="Memento\SurfaceBackgroundChangeMemento.cs" />
|
||||||
<Compile Include="Helpers\OfficeInterop\OfficeWrappers.cs" />
|
|
||||||
<Compile Include="Helpers\OfficeInterop\OutlookWrapper.cs" />
|
|
||||||
<Compile Include="Helpers\OfficeInterop\PowerpointWrapper.cs" />
|
|
||||||
<Compile Include="Helpers\OfficeInterop\WordWrapper.cs" />
|
|
||||||
<Compile Include="Helpers\QuantizerHelper.cs" />
|
<Compile Include="Helpers\QuantizerHelper.cs" />
|
||||||
<Compile Include="Helpers\ScreenCaptureHelper.cs" />
|
<Compile Include="Helpers\ScreenCaptureHelper.cs" />
|
||||||
<Compile Include="Helpers\UpdateHelper.cs" />
|
<Compile Include="Helpers\UpdateHelper.cs" />
|
||||||
|
@ -382,6 +353,10 @@
|
||||||
<Folder Include="Help" />
|
<Folder Include="Help" />
|
||||||
<Folder Include="Destinations" />
|
<Folder Include="Destinations" />
|
||||||
<Folder Include="Processors" />
|
<Folder Include="Processors" />
|
||||||
|
<ProjectReference Include="..\GreenshotInterop\GreenshotInterop.csproj">
|
||||||
|
<Project>{ADD4E400-56E1-4E31-A5C2-070BEB238A0F}</Project>
|
||||||
|
<Name>GreenshotInterop</Name>
|
||||||
|
</ProjectReference>
|
||||||
<ProjectReference Include="..\GreenshotPlugin\GreenshotPlugin.csproj">
|
<ProjectReference Include="..\GreenshotPlugin\GreenshotPlugin.csproj">
|
||||||
<Project>{5B924697-4DCD-4F98-85F1-105CB84B7341}</Project>
|
<Project>{5B924697-4DCD-4F98-85F1-105CB84B7341}</Project>
|
||||||
<Name>GreenshotPlugin</Name>
|
<Name>GreenshotPlugin</Name>
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Text.RegularExpressions;
|
||||||
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Greenshot.Processors {
|
namespace Greenshot.Processors {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -25,7 +25,7 @@ using System.Windows.Forms;
|
||||||
using GreenshotConfluencePlugin;
|
using GreenshotConfluencePlugin;
|
||||||
using GreenshotConfluencePlugin.confluence;
|
using GreenshotConfluencePlugin.confluence;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// For details see the Confluence API site
|
/// For details see the Confluence API site
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
*/
|
*/
|
||||||
using System;
|
using System;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotConfluencePlugin {
|
namespace GreenshotConfluencePlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -29,7 +29,7 @@ using System.Windows;
|
||||||
using Confluence;
|
using Confluence;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotConfluencePlugin {
|
namespace GreenshotConfluencePlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using System.Windows;
|
||||||
using Confluence;
|
using Confluence;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using TranslationByMarkupExtension;
|
using TranslationByMarkupExtension;
|
||||||
|
|
||||||
namespace GreenshotConfluencePlugin {
|
namespace GreenshotConfluencePlugin {
|
||||||
|
|
|
@ -25,7 +25,7 @@ using System.Windows;
|
||||||
|
|
||||||
using Confluence;
|
using Confluence;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotConfluencePlugin {
|
namespace GreenshotConfluencePlugin {
|
||||||
public partial class ConfluenceSearch : System.Windows.Controls.Page {
|
public partial class ConfluenceSearch : System.Windows.Controls.Page {
|
||||||
|
|
|
@ -23,7 +23,7 @@ using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace ExternalCommand {
|
namespace ExternalCommand {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -27,7 +27,7 @@ using System.Threading;
|
||||||
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace ExternalCommand {
|
namespace ExternalCommand {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -23,7 +23,7 @@ using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace ExternalCommand {
|
namespace ExternalCommand {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.IO;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace ExternalCommand {
|
namespace ExternalCommand {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -25,7 +25,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotImgurPlugin.Forms {
|
namespace GreenshotImgurPlugin.Forms {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotImgurPlugin {
|
namespace GreenshotImgurPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using System.Windows;
|
||||||
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotImgurPlugin {
|
namespace GreenshotImgurPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -30,7 +30,7 @@ using Greenshot.Plugin;
|
||||||
using GreenshotImgurPlugin.Forms;
|
using GreenshotImgurPlugin.Forms;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotImgurPlugin {
|
namespace GreenshotImgurPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using System.Text;
|
||||||
using System.Web;
|
using System.Web;
|
||||||
|
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotImgurPlugin {
|
namespace GreenshotImgurPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -32,6 +32,8 @@ namespace Greenshot.Interop {
|
||||||
public sealed class COMWrapper : RealProxy, IDisposable, IRemotingTypeInfo {
|
public sealed class COMWrapper : RealProxy, IDisposable, IRemotingTypeInfo {
|
||||||
private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(COMWrapper));
|
private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(COMWrapper));
|
||||||
private const int MK_E_UNAVAILABLE = -2147221021;
|
private const int MK_E_UNAVAILABLE = -2147221021;
|
||||||
|
private const int CO_E_CLASSSTRING = -2147221005;
|
||||||
|
|
||||||
#region Private Data
|
#region Private Data
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -50,6 +52,8 @@ namespace Greenshot.Interop {
|
||||||
private Type _InterceptType;
|
private Type _InterceptType;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
[DllImport("ole32.dll")]
|
||||||
|
static extern int ProgIDFromCLSID([In] ref Guid clsid, [MarshalAs(UnmanagedType.LPWStr)] out string lplpszProgID);
|
||||||
|
|
||||||
#region Construction
|
#region Construction
|
||||||
|
|
||||||
|
@ -68,23 +72,36 @@ namespace Greenshot.Interop {
|
||||||
throw new ArgumentException("The specified type must be an interface.", "type");
|
throw new ArgumentException("The specified type must be an interface.", "type");
|
||||||
}
|
}
|
||||||
|
|
||||||
ComProgIdAttribute progID = ComProgIdAttribute.GetAttribute(type);
|
ComProgIdAttribute progIDAttribute = ComProgIdAttribute.GetAttribute(type);
|
||||||
if (null == progID || null == progID.Value || 0 == progID.Value.Length) {
|
if (null == progIDAttribute || null == progIDAttribute.Value || 0 == progIDAttribute.Value.Length) {
|
||||||
throw new ArgumentException("The specified type must define a ComProgId attribute.", "type");
|
throw new ArgumentException("The specified type must define a ComProgId attribute.", "type");
|
||||||
}
|
}
|
||||||
|
string progId = progIDAttribute.Value;
|
||||||
|
|
||||||
|
// Convert from clsid to Prog ID, if needed
|
||||||
|
if (progId.StartsWith("clsid:")) {
|
||||||
|
Guid guid = new Guid(progId.Substring(6));
|
||||||
|
int result = ProgIDFromCLSID(ref guid, out progId);
|
||||||
|
if (result != 0) {
|
||||||
|
LOG.WarnFormat("Error {0} getting progId {1}", result, progIDAttribute.Value);
|
||||||
|
} else {
|
||||||
|
LOG.InfoFormat("Mapped {0} to progId {1}", progIDAttribute.Value, progId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
object comObject = null;
|
object comObject = null;
|
||||||
Type comType = Type.GetTypeFromProgID(progID.Value, true);
|
|
||||||
try {
|
try {
|
||||||
comObject = Marshal.GetActiveObject(progID.Value);
|
comObject = Marshal.GetActiveObject(progId);
|
||||||
} catch (COMException comE) {
|
} catch (COMException comE) {
|
||||||
if (comE.ErrorCode == MK_E_UNAVAILABLE) {
|
if (comE.ErrorCode == MK_E_UNAVAILABLE) {
|
||||||
LOG.DebugFormat("No current instance of {0} object available.", progID.Value);
|
LOG.DebugFormat("No current instance of {0} object available.", progId);
|
||||||
|
} else if (comE.ErrorCode == CO_E_CLASSSTRING) {
|
||||||
|
LOG.WarnFormat("Unknown progId {0}", progId);
|
||||||
} else {
|
} else {
|
||||||
LOG.Warn("Error getting active object for " + progID.Value, comE);
|
LOG.Warn("Error getting active object for " + progId, comE);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.Warn("Error getting active object for " + progID.Value, e);
|
LOG.Warn("Error getting active object for " + progId, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (comObject != null) {
|
if (comObject != null) {
|
||||||
|
@ -110,46 +127,63 @@ namespace Greenshot.Interop {
|
||||||
throw new ArgumentException("The specified type must be an interface.", "type");
|
throw new ArgumentException("The specified type must be an interface.", "type");
|
||||||
}
|
}
|
||||||
|
|
||||||
ComProgIdAttribute progID = ComProgIdAttribute.GetAttribute(type);
|
ComProgIdAttribute progIDAttribute = ComProgIdAttribute.GetAttribute(type);
|
||||||
if (null == progID || null == progID.Value || 0 == progID.Value.Length) {
|
if (null == progIDAttribute || null == progIDAttribute.Value || 0 == progIDAttribute.Value.Length) {
|
||||||
throw new ArgumentException("The specified type must define a ComProgId attribute.", "type");
|
throw new ArgumentException("The specified type must define a ComProgId attribute.", "type");
|
||||||
}
|
}
|
||||||
|
|
||||||
object comObject = null;
|
object comObject = null;
|
||||||
Type comType = null;
|
Type comType = null;
|
||||||
if (progID.Value.StartsWith("clsid:")) {
|
string progId = progIDAttribute.Value;
|
||||||
Guid guid = new Guid(progID.Value.Substring(6));
|
|
||||||
comType = Type.GetTypeFromCLSID(guid, true);
|
// Convert from clsid to Prog ID, if needed
|
||||||
} else {
|
if (progId.StartsWith("clsid:")) {
|
||||||
comType = Type.GetTypeFromProgID(progID.Value, true);
|
Guid guid = new Guid(progId.Substring(6));
|
||||||
|
int result = ProgIDFromCLSID(ref guid, out progId);
|
||||||
|
if (result != 0) {
|
||||||
|
LOG.WarnFormat("Error {0} getting progId {1}", result, progIDAttribute.Value);
|
||||||
|
} else {
|
||||||
|
LOG.InfoFormat("Mapped {0} to progId {1}", progIDAttribute.Value, progId);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
comObject = Marshal.GetActiveObject(progID.Value);
|
comObject = Marshal.GetActiveObject(progId);
|
||||||
} catch (COMException comE) {
|
} catch (COMException comE) {
|
||||||
if (comE.ErrorCode == MK_E_UNAVAILABLE) {
|
if (comE.ErrorCode == MK_E_UNAVAILABLE) {
|
||||||
LOG.DebugFormat("No current instance of {0} object available.", progID.Value);
|
LOG.DebugFormat("No current instance of {0} object available.", progId);
|
||||||
|
} else if (comE.ErrorCode == CO_E_CLASSSTRING) {
|
||||||
|
LOG.WarnFormat("Unknown progId {0} (application not installed)", progId);
|
||||||
|
return default(T);
|
||||||
} else {
|
} else {
|
||||||
LOG.Warn("Error getting active object for " + progID.Value, comE);
|
LOG.Warn("Error getting active object for " + progId, comE);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
LOG.Warn("Error getting active object for " + progID.Value, e);
|
LOG.Warn("Error getting active object for " + progId, e);
|
||||||
}
|
}
|
||||||
// Did we get the current instance? If not, try to create a new
|
// Did we get the current instance? If not, try to create a new
|
||||||
if (comObject == null) {
|
if (comObject == null) {
|
||||||
try {
|
try {
|
||||||
comObject = Activator.CreateInstance(comType);
|
comType = Type.GetTypeFromProgID(progId, true);
|
||||||
if (comObject != null) {
|
} catch (Exception ex) {
|
||||||
LOG.DebugFormat("Created new instance of {0} object.", progID.Value);
|
LOG.Warn("Error type for " + progId, ex);
|
||||||
|
}
|
||||||
|
if (comType != null) {
|
||||||
|
try {
|
||||||
|
comObject = Activator.CreateInstance(comType);
|
||||||
|
if (comObject != null) {
|
||||||
|
LOG.DebugFormat("Created new instance of {0} object.", progId);
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
LOG.Warn("Error creating object for " + progId, e);
|
||||||
}
|
}
|
||||||
} catch (Exception e) {
|
|
||||||
LOG.Warn("Error creating object for " + progID.Value, e);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (comObject != null) {
|
if (comObject != null) {
|
||||||
COMWrapper wrapper = new COMWrapper(comObject, type);
|
COMWrapper wrapper = new COMWrapper(comObject, type);
|
||||||
return (T)wrapper.GetTransparentProxy();
|
return (T)wrapper.GetTransparentProxy();
|
||||||
}
|
}
|
||||||
throw new TypeLoadException(string.Format("Unable to get or create an instance of the specified COM server \"{0}\".", progID.Value));
|
return default(T);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -29,370 +29,4 @@ namespace Greenshot.Interop.Office {
|
||||||
int Count { get; }
|
int Count { get; }
|
||||||
void Remove(int index);
|
void Remove(int index);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// See: http://msdn.microsoft.com/en-us/library/bb208387%28v=office.12%29.aspx
|
|
||||||
/// </summary>
|
|
||||||
public interface Items : Collection, IEnumerable {
|
|
||||||
Item this[object index] { get; }
|
|
||||||
Item GetFirst();
|
|
||||||
Item GetNext();
|
|
||||||
Item GetLast();
|
|
||||||
Item GetPrevious();
|
|
||||||
|
|
||||||
bool IncludeRecurrences {
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
|
|
||||||
Items Restrict(string filter);
|
|
||||||
void Sort(string property, object descending);
|
|
||||||
|
|
||||||
// Actual definition is "object Add( object )", just making it convenient
|
|
||||||
object Add(OlItemType type);
|
|
||||||
}
|
|
||||||
|
|
||||||
// Common attributes of all the Items (MailItem, AppointmentItem)
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/ff861252.aspx
|
|
||||||
public interface Item : Common {
|
|
||||||
Attachments Attachments { get; }
|
|
||||||
string Body { get; set; }
|
|
||||||
OlObjectClass Class { get; }
|
|
||||||
DateTime CreationTime { get; }
|
|
||||||
string EntryID { get; }
|
|
||||||
DateTime LastModificationTime { get; }
|
|
||||||
string MessageClass { get; set; }
|
|
||||||
bool NoAging { get; set; }
|
|
||||||
int OutlookInternalVersion { get; }
|
|
||||||
string OutlookVersion { get; }
|
|
||||||
bool Saved { get; }
|
|
||||||
OlSensitivity Sensitivity { get; set; }
|
|
||||||
int Size { get; }
|
|
||||||
string Subject { get; set; }
|
|
||||||
bool UnRead { get; set; }
|
|
||||||
object Copy();
|
|
||||||
void Display(bool Modal);
|
|
||||||
void Save();
|
|
||||||
PropertyAccessor PropertyAccessor { get; }
|
|
||||||
Inspector GetInspector();
|
|
||||||
}
|
|
||||||
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/ff861252.aspx
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mailitem.aspx
|
|
||||||
public interface MailItem : Item, Common {
|
|
||||||
bool Sent { get; }
|
|
||||||
object MAPIOBJECT { get; }
|
|
||||||
string HTMLBody { get; set; }
|
|
||||||
DateTime ExpiryTime { get; set; }
|
|
||||||
DateTime ReceivedTime { get; }
|
|
||||||
string SenderName { get; }
|
|
||||||
DateTime SentOn { get; }
|
|
||||||
OlBodyFormat BodyFormat { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/ff869026.aspx
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.appointmentitem.aspx
|
|
||||||
public interface AppointmentItem : Item, Common {
|
|
||||||
string Organizer { get; set; }
|
|
||||||
string SendUsingAccount { get; }
|
|
||||||
string Categories { get; }
|
|
||||||
DateTime Start { get; }
|
|
||||||
DateTime End { get; }
|
|
||||||
OlReoccurenceState RecurrenceState { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.contactitem.aspx
|
|
||||||
public interface ContactItem : Item, Common {
|
|
||||||
bool HasPicture {
|
|
||||||
get;
|
|
||||||
}
|
|
||||||
void SaveBusinessCardImage(string path);
|
|
||||||
void AddPicture(string path);
|
|
||||||
void RemovePicture();
|
|
||||||
string FirstName {
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
string LastName {
|
|
||||||
get;
|
|
||||||
set;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public interface Attachments : Collection {
|
|
||||||
Attachment Add(object source, object type, object position, object displayName);
|
|
||||||
// Use index+1!!!!
|
|
||||||
Attachment this[object index] { get; }
|
|
||||||
}
|
|
||||||
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.attachment_members.aspx
|
|
||||||
public interface Attachment : Common {
|
|
||||||
string DisplayName { get; set; }
|
|
||||||
string FileName { get; }
|
|
||||||
OlAttachmentType Type { get; }
|
|
||||||
PropertyAccessor PropertyAccessor { get; }
|
|
||||||
object MAPIOBJECT { get; }
|
|
||||||
void SaveAsFile(string path);
|
|
||||||
}
|
|
||||||
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.propertyaccessor_members.aspx
|
|
||||||
public interface PropertyAccessor : Common {
|
|
||||||
void SetProperty(string SchemaName, Object Value);
|
|
||||||
Object GetProperty(string SchemaName);
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlBodyFormat {
|
|
||||||
// Fields
|
|
||||||
olFormatHTML = 2,
|
|
||||||
olFormatPlain = 1,
|
|
||||||
olFormatRichText = 3,
|
|
||||||
olFormatUnspecified = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlAttachmentType {
|
|
||||||
// Fields
|
|
||||||
olByReference = 4,
|
|
||||||
olByValue = 1,
|
|
||||||
olEmbeddeditem = 5,
|
|
||||||
olOLE = 6
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlSensitivity {
|
|
||||||
// Fields
|
|
||||||
olConfidential = 3,
|
|
||||||
olNormal = 0,
|
|
||||||
olPersonal = 1,
|
|
||||||
olPrivate = 2
|
|
||||||
}
|
|
||||||
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/ff863329.aspx
|
|
||||||
public enum OlObjectClass {
|
|
||||||
olAccount = 105, // Represents an Account object.
|
|
||||||
olAccountRuleCondition = 135, // Represents an AccountRuleCondition object.
|
|
||||||
olAccounts = 106, // Represents an Accounts object.
|
|
||||||
olAction = 32, // Represents an Action object.
|
|
||||||
olActions = 33, // Represents an Actions object.
|
|
||||||
olAddressEntries = 21, // Represents an AddressEntries object.
|
|
||||||
olAddressEntry = 8, // Represents an AddressEntry object.
|
|
||||||
olAddressList = 7, // Represents an AddressList object.
|
|
||||||
olAddressLists = 20, // Represents an AddressLists object.
|
|
||||||
olAddressRuleCondition = 170, // Represents an AddressRuleCondition object.
|
|
||||||
olApplication = 0, // Represents an Application object.
|
|
||||||
olAppointment = 26, // Represents an AppointmentItem object.
|
|
||||||
olAssignToCategoryRuleAction = 122, // Represents an AssignToCategoryRuleAction object.
|
|
||||||
olAttachment = 5, // Represents an Attachment object.
|
|
||||||
olAttachments = 18, // Represents an Attachments object.
|
|
||||||
olAttachmentSelection = 169, // Represents an AttachmentSelection object.
|
|
||||||
olAutoFormatRule = 147, // Represents an AutoFormatRule object.
|
|
||||||
olAutoFormatRules = 148, // Represents an AutoFormatRules object.
|
|
||||||
olCalendarModule = 159, // Represents a CalendarModule object.
|
|
||||||
olCalendarSharing = 151, // Represents a CalendarSharing object.
|
|
||||||
olCategories = 153, // Represents a Categories object.
|
|
||||||
olCategory = 152, // Represents a Category object.
|
|
||||||
olCategoryRuleCondition = 130, // Represents a CategoryRuleCondition object.
|
|
||||||
olClassBusinessCardView = 168, // Represents a BusinessCardView object.
|
|
||||||
olClassCalendarView = 139, // Represents a CalendarView object.
|
|
||||||
olClassCardView = 138, // Represents a CardView object.
|
|
||||||
olClassIconView = 137, // Represents a IconView object.
|
|
||||||
olClassNavigationPane = 155, // Represents a NavigationPane object.
|
|
||||||
olClassTableView = 136, // Represents a TableView object.
|
|
||||||
olClassTimeLineView = 140, // Represents a TimelineView object.
|
|
||||||
olClassTimeZone = 174, // Represents a TimeZone object.
|
|
||||||
olClassTimeZones = 175, // Represents a TimeZones object.
|
|
||||||
olColumn = 154, // Represents a Column object.
|
|
||||||
olColumnFormat = 149, // Represents a ColumnFormat object.
|
|
||||||
olColumns = 150, // Represents a Columns object.
|
|
||||||
olConflict = 102, // Represents a Conflict object.
|
|
||||||
olConflicts = 103, // Represents a Conflicts object.
|
|
||||||
olContact = 40, // Represents a ContactItem object.
|
|
||||||
olContactsModule = 160, // Represents a ContactsModule object.
|
|
||||||
olDistributionList = 69, // Represents a ExchangeDistributionList object.
|
|
||||||
olDocument = 41, // Represents a DocumentItem object.
|
|
||||||
olException = 30, // Represents an Exception object.
|
|
||||||
olExceptions = 29, // Represents an Exceptions object.
|
|
||||||
olExchangeDistributionList = 111, // Represents an ExchangeDistributionList object.
|
|
||||||
olExchangeUser = 110, // Represents an ExchangeUser object.
|
|
||||||
olExplorer = 34, // Represents an Explorer object.
|
|
||||||
olExplorers = 60, // Represents an Explorers object.
|
|
||||||
olFolder = 2, // Represents a Folder object.
|
|
||||||
olFolders = 15, // Represents a Folders object.
|
|
||||||
olFolderUserProperties = 172, // Represents a UserDefinedProperties object.
|
|
||||||
olFolderUserProperty = 171, // Represents a UserDefinedProperty object.
|
|
||||||
olFormDescription = 37, // Represents a FormDescription object.
|
|
||||||
olFormNameRuleCondition = 131, // Represents a FormNameRuleCondition object.
|
|
||||||
olFormRegion = 129, // Represents a FormRegion object.
|
|
||||||
olFromRssFeedRuleCondition = 173, // Represents a FromRssFeedRuleCondition object.
|
|
||||||
olFromRuleCondition = 132, // Represents a ToOrFromRuleCondition object.
|
|
||||||
olImportanceRuleCondition = 128, // Represents an ImportanceRuleCondition object.
|
|
||||||
olInspector = 35, // Represents an Inspector object.
|
|
||||||
olInspectors = 61, // Represents an Inspectors object.
|
|
||||||
olItemProperties = 98, // Represents an ItemProperties object.
|
|
||||||
olItemProperty = 99, // Represents an ItemProperty object.
|
|
||||||
olItems = 16, // Represents an Items object.
|
|
||||||
olJournal = 42, // Represents a JournalItem object.
|
|
||||||
olJournalModule = 162, // Represents a JournalModule object.
|
|
||||||
olLink = 75, // Represents a Link object.
|
|
||||||
olLinks = 76, // Represents a Links object.
|
|
||||||
olMail = 43, // Represents a MailItem object.
|
|
||||||
olMailModule = 158, // Represents a MailModule object.
|
|
||||||
olMarkAsTaskRuleAction = 124, // Represents a MarkAsTaskRuleAction object.
|
|
||||||
olMeetingCancellation = 54, // Represents a MeetingItem object that is a meeting cancellation notice.
|
|
||||||
olMeetingRequest = 53, // Represents a MeetingItem object that is a meeting request.
|
|
||||||
olMeetingResponseNegative = 55, // Represents a MeetingItem object that is a refusal of a meeting request.
|
|
||||||
olMeetingResponsePositive = 56, // Represents a MeetingItem object that is an acceptance of a meeting request.
|
|
||||||
olMeetingResponseTentative = 57, // Represents a MeetingItem object that is a tentative acceptance of a meeting request.
|
|
||||||
olMoveOrCopyRuleAction = 118, // Represents a MoveOrCopyRuleAction object.
|
|
||||||
olNamespace = 1, // Represents a NameSpace object.
|
|
||||||
olNavigationFolder = 167, // Represents a NavigationFolder object.
|
|
||||||
olNavigationFolders = 166, // Represents a NavigationFolders object.
|
|
||||||
olNavigationGroup = 165, // Represents a NavigationGroup object.
|
|
||||||
olNavigationGroups = 164, // Represents a NavigationGroups object.
|
|
||||||
olNavigationModule = 157, // Represents a NavigationModule object.
|
|
||||||
olNavigationModules = 156, // Represents a NavigationModules object.
|
|
||||||
olNewItemAlertRuleAction = 125, // Represents a NewItemAlertRuleAction object.
|
|
||||||
olNote = 44, // Represents a NoteItem object.
|
|
||||||
olNotesModule = 163, // Represents a NotesModule object.
|
|
||||||
olOrderField = 144, // Represents an OrderField object.
|
|
||||||
olOrderFields = 145, // Represents an OrderFields object.
|
|
||||||
olOutlookBarGroup = 66, // Represents an OutlookBarGroup object.
|
|
||||||
olOutlookBarGroups = 65, // Represents an OutlookBarGroups object.
|
|
||||||
olOutlookBarPane = 63, // Represents an OutlookBarPane object.
|
|
||||||
olOutlookBarShortcut = 68, // Represents an OutlookBarShortcut object.
|
|
||||||
olOutlookBarShortcuts = 67, // Represents an OutlookBarShortcuts object.
|
|
||||||
olOutlookBarStorage = 64, // Represents an OutlookBarStorage object.
|
|
||||||
olPages = 36, // Represents a Pages object.
|
|
||||||
olPanes = 62, // Represents a Panes object.
|
|
||||||
olPlaySoundRuleAction = 123, // Represents a PlaySoundRuleAction object.
|
|
||||||
olPost = 45, // Represents a PostItem object.
|
|
||||||
olPropertyAccessor = 112, // Represents a PropertyAccessor object.
|
|
||||||
olPropertyPages = 71, // Represents a PropertyPages object.
|
|
||||||
olPropertyPageSite = 70, // Represents a PropertyPageSite object.
|
|
||||||
olRecipient = 4, // Represents a Recipient object.
|
|
||||||
olRecipients = 17, // Represents a Recipients object.
|
|
||||||
olRecurrencePattern = 28, // Represents a RecurrencePattern object.
|
|
||||||
olReminder = 101, // Represents a Reminder object.
|
|
||||||
olReminders = 100, // Represents a Reminders object.
|
|
||||||
olRemote = 47, // Represents a RemoteItem object.
|
|
||||||
olReport = 46, // Represents a ReportItem object.
|
|
||||||
olResults = 78, // Represents a Results object.
|
|
||||||
olRow = 121, // Represents a Row object.
|
|
||||||
olRule = 115, // Represents a Rule object.
|
|
||||||
olRuleAction = 117, // Represents a RuleAction object.
|
|
||||||
olRuleActions = 116, // Represents a RuleAction object.
|
|
||||||
olRuleCondition = 127, // Represents a RuleCondition object.
|
|
||||||
olRuleConditions = 126, // Represents a RuleConditions object.
|
|
||||||
olRules = 114, // Represents a Rules object.
|
|
||||||
olSearch = 77, // Represents a Search object.
|
|
||||||
olSelection = 74, // Represents a Selection object.
|
|
||||||
olSelectNamesDialog = 109, // Represents a SelectNamesDialog object.
|
|
||||||
olSenderInAddressListRuleCondition = 133, // Represents a SenderInAddressListRuleCondition object.
|
|
||||||
olSendRuleAction = 119, // Represents a SendRuleAction object.
|
|
||||||
olSharing = 104, // Represents a SharingItem object.
|
|
||||||
olStorageItem = 113, // Represents a StorageItem object.
|
|
||||||
olStore = 107, // Represents a Store object.
|
|
||||||
olStores = 108, // Represents a Stores object.
|
|
||||||
olSyncObject = 72, // Represents a SyncObject object.
|
|
||||||
olSyncObjects = 73, // Represents a SyncObject object.
|
|
||||||
olTable = 120, // Represents a Table object.
|
|
||||||
olTask = 48, // Represents a TaskItem object.
|
|
||||||
olTaskRequest = 49, // Represents a TaskRequestItem object.
|
|
||||||
olTaskRequestAccept = 51, // Represents a TaskRequestAcceptItem object.
|
|
||||||
olTaskRequestDecline = 52, // Represents a TaskRequestDeclineItem object.
|
|
||||||
olTaskRequestUpdate = 50, // Represents a TaskRequestUpdateItem object.
|
|
||||||
olTasksModule = 161, // Represents a TasksModule object.
|
|
||||||
olTextRuleCondition = 134, // Represents a TextRuleCondition object.
|
|
||||||
olUserDefinedProperties = 172, // Represents a UserDefinedProperties object.
|
|
||||||
olUserDefinedProperty = 171, // Represents a UserDefinedProperty object.
|
|
||||||
olUserProperties = 38, // Represents a UserProperties object.
|
|
||||||
olUserProperty = 39, // Represents a UserProperty object.
|
|
||||||
olView = 80, // Represents a View object.
|
|
||||||
olViewField = 142, // Represents a ViewField object.
|
|
||||||
olViewFields = 141, // Represents a ViewFields object.
|
|
||||||
olViewFont = 146, // Represents a ViewFont object.
|
|
||||||
olViews = 79 // Represents a Views object.
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlDefaultFolders {
|
|
||||||
olFolderCalendar = 9, // The Calendar folder.
|
|
||||||
olFolderConflicts = 19, // The Conflicts folder (subfolder of Sync Issues folder). Only available for an Exchange account.
|
|
||||||
olFolderContacts = 10, // The Contacts folder.
|
|
||||||
olFolderDeletedItems = 3, // The Deleted Items folder.
|
|
||||||
olFolderDrafts = 16, // The Drafts folder.
|
|
||||||
olFolderInbox = 6, // The Inbox folder.
|
|
||||||
olFolderJournal = 11, // The Journal folder.
|
|
||||||
olFolderJunk = 23, // The Junk E-Mail folder.
|
|
||||||
olFolderLocalFailures = 21, // The Local Failures folder (subfolder of Sync Issues folder). Only available for an Exchange account.
|
|
||||||
olFolderManagedEmail = 29, // The top-level folder in the Managed Folders group. For more information on Managed Folders, see Help in Microsoft Outlook. Only available for an Exchange account.
|
|
||||||
olFolderNotes = 12, // The Notes folder.
|
|
||||||
olFolderOutbox = 4, // The Outbox folder.
|
|
||||||
olFolderSentMail = 5, // The Sent Mail folder.
|
|
||||||
olFolderServerFailures = 22, // The Server Failures folder (subfolder of Sync Issues folder). Only available for an Exchange account.
|
|
||||||
olFolderSyncIssues = 20, // The Sync Issues folder. Only available for an Exchange account.
|
|
||||||
olFolderTasks = 13, // The Tasks folder.
|
|
||||||
olFolderToDo = 28, // The To Do folder.
|
|
||||||
olPublicFoldersAllPublicFolders = 18, // The All Public Folders folder in the Exchange Public Folders store. Only available for an Exchange account.
|
|
||||||
olFolderRssFeeds = 25 // The RSS Feeds folder.
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlItemType {
|
|
||||||
// Fields
|
|
||||||
olAppointmentItem = 1,
|
|
||||||
olContactItem = 2,
|
|
||||||
olDistributionListItem = 7,
|
|
||||||
olJournalItem = 4,
|
|
||||||
olMailItem = 0,
|
|
||||||
olNoteItem = 5,
|
|
||||||
olPostItem = 6,
|
|
||||||
olTaskItem = 3
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlEditorType {
|
|
||||||
// Fields
|
|
||||||
olEditorHTML = 2,
|
|
||||||
olEditorRTF = 3,
|
|
||||||
olEditorText = 1,
|
|
||||||
olEditorWord = 4
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlWindowState {
|
|
||||||
// Fields
|
|
||||||
olMaximized = 0,
|
|
||||||
olMinimized = 1,
|
|
||||||
olNormalWindow = 2
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlInspectorClose {
|
|
||||||
// Fields
|
|
||||||
olDiscard = 1,
|
|
||||||
olPromptForSave = 2,
|
|
||||||
olSave = 0
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum MsoTriState {
|
|
||||||
msoTrue = -1,
|
|
||||||
msoFalse = 0,
|
|
||||||
msoCTrue = 1,
|
|
||||||
msoTriStateToggle = -3,
|
|
||||||
msoTriStateMixed = -2
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum OlReoccurenceState {
|
|
||||||
olApptException,
|
|
||||||
olApptMaster,
|
|
||||||
olApptNotRecurring,
|
|
||||||
olApptOccurrence
|
|
||||||
}
|
|
||||||
|
|
||||||
public enum MsoScaleFrom {
|
|
||||||
msoScaleFromTopLeft = 0,
|
|
||||||
msoScaleFromMiddle = 1,
|
|
||||||
msoScaleFromBottomRight = 2
|
|
||||||
}
|
|
||||||
|
|
||||||
// Schema definitions for the MAPI properties
|
|
||||||
// See: http://msdn.microsoft.com/en-us/library/aa454438.aspx
|
|
||||||
// and see: http://msdn.microsoft.com/en-us/library/bb446117.aspx
|
|
||||||
public static class PropTag {
|
|
||||||
public const string ATTACHMENT_CONTENT_ID = @"http://schemas.microsoft.com/mapi/proptag/0x3712001E";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,123 @@ using System.Collections.Generic;
|
||||||
/// But this somehow doesn't work yet
|
/// But this somehow doesn't work yet
|
||||||
/// </summary>
|
/// </summary>
|
||||||
namespace Greenshot.Interop.Office {
|
namespace Greenshot.Interop.Office {
|
||||||
|
/// <summary>
|
||||||
|
/// See: http://msdn.microsoft.com/en-us/library/bb208387%28v=office.12%29.aspx
|
||||||
|
/// </summary>
|
||||||
|
public interface Items : Collection, IEnumerable {
|
||||||
|
Item this[object index] { get; }
|
||||||
|
Item GetFirst();
|
||||||
|
Item GetNext();
|
||||||
|
Item GetLast();
|
||||||
|
Item GetPrevious();
|
||||||
|
|
||||||
|
bool IncludeRecurrences {
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
|
||||||
|
Items Restrict(string filter);
|
||||||
|
void Sort(string property, object descending);
|
||||||
|
|
||||||
|
// Actual definition is "object Add( object )", just making it convenient
|
||||||
|
object Add(OlItemType type);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Common attributes of all the Items (MailItem, AppointmentItem)
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/ff861252.aspx
|
||||||
|
public interface Item : Common {
|
||||||
|
Attachments Attachments { get; }
|
||||||
|
string Body { get; set; }
|
||||||
|
OlObjectClass Class { get; }
|
||||||
|
DateTime CreationTime { get; }
|
||||||
|
string EntryID { get; }
|
||||||
|
DateTime LastModificationTime { get; }
|
||||||
|
string MessageClass { get; set; }
|
||||||
|
bool NoAging { get; set; }
|
||||||
|
int OutlookInternalVersion { get; }
|
||||||
|
string OutlookVersion { get; }
|
||||||
|
bool Saved { get; }
|
||||||
|
OlSensitivity Sensitivity { get; set; }
|
||||||
|
int Size { get; }
|
||||||
|
string Subject { get; set; }
|
||||||
|
bool UnRead { get; set; }
|
||||||
|
object Copy();
|
||||||
|
void Display(bool Modal);
|
||||||
|
void Save();
|
||||||
|
PropertyAccessor PropertyAccessor { get; }
|
||||||
|
Inspector GetInspector();
|
||||||
|
}
|
||||||
|
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/ff861252.aspx
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.mailitem.aspx
|
||||||
|
public interface MailItem : Item, Common {
|
||||||
|
bool Sent { get; }
|
||||||
|
object MAPIOBJECT { get; }
|
||||||
|
string HTMLBody { get; set; }
|
||||||
|
DateTime ExpiryTime { get; set; }
|
||||||
|
DateTime ReceivedTime { get; }
|
||||||
|
string SenderName { get; }
|
||||||
|
DateTime SentOn { get; }
|
||||||
|
OlBodyFormat BodyFormat { get; set; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/ff869026.aspx
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.appointmentitem.aspx
|
||||||
|
public interface AppointmentItem : Item, Common {
|
||||||
|
string Organizer { get; set; }
|
||||||
|
string SendUsingAccount { get; }
|
||||||
|
string Categories { get; }
|
||||||
|
DateTime Start { get; }
|
||||||
|
DateTime End { get; }
|
||||||
|
OlReoccurenceState RecurrenceState { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.contactitem.aspx
|
||||||
|
public interface ContactItem : Item, Common {
|
||||||
|
bool HasPicture {
|
||||||
|
get;
|
||||||
|
}
|
||||||
|
void SaveBusinessCardImage(string path);
|
||||||
|
void AddPicture(string path);
|
||||||
|
void RemovePicture();
|
||||||
|
string FirstName {
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
string LastName {
|
||||||
|
get;
|
||||||
|
set;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface Attachments : Collection {
|
||||||
|
Attachment Add(object source, object type, object position, object displayName);
|
||||||
|
// Use index+1!!!!
|
||||||
|
Attachment this[object index] { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.attachment_members.aspx
|
||||||
|
public interface Attachment : Common {
|
||||||
|
string DisplayName { get; set; }
|
||||||
|
string FileName { get; }
|
||||||
|
OlAttachmentType Type { get; }
|
||||||
|
PropertyAccessor PropertyAccessor { get; }
|
||||||
|
object MAPIOBJECT { get; }
|
||||||
|
void SaveAsFile(string path);
|
||||||
|
}
|
||||||
|
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/microsoft.office.interop.outlook.propertyaccessor_members.aspx
|
||||||
|
public interface PropertyAccessor : Common {
|
||||||
|
void SetProperty(string SchemaName, Object Value);
|
||||||
|
Object GetProperty(string SchemaName);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema definitions for the MAPI properties
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/aa454438.aspx
|
||||||
|
// and see: http://msdn.microsoft.com/en-us/library/bb446117.aspx
|
||||||
|
public static class PropTag {
|
||||||
|
public const string ATTACHMENT_CONTENT_ID = @"http://schemas.microsoft.com/mapi/proptag/0x3712001E";
|
||||||
|
}
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Wrapper for Outlook.Application, see: http://msdn.microsoft.com/en-us/library/aa210897%28v=office.11%29.aspx
|
/// Wrapper for Outlook.Application, see: http://msdn.microsoft.com/en-us/library/aa210897%28v=office.11%29.aspx
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -96,4 +213,251 @@ namespace Greenshot.Interop.Office {
|
||||||
public enum EmailFormat {
|
public enum EmailFormat {
|
||||||
Text, HTML
|
Text, HTML
|
||||||
}
|
}
|
||||||
|
public enum OlBodyFormat {
|
||||||
|
// Fields
|
||||||
|
olFormatHTML = 2,
|
||||||
|
olFormatPlain = 1,
|
||||||
|
olFormatRichText = 3,
|
||||||
|
olFormatUnspecified = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlAttachmentType {
|
||||||
|
// Fields
|
||||||
|
olByReference = 4,
|
||||||
|
olByValue = 1,
|
||||||
|
olEmbeddeditem = 5,
|
||||||
|
olOLE = 6
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlSensitivity {
|
||||||
|
// Fields
|
||||||
|
olConfidential = 3,
|
||||||
|
olNormal = 0,
|
||||||
|
olPersonal = 1,
|
||||||
|
olPrivate = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
// See: http://msdn.microsoft.com/en-us/library/ff863329.aspx
|
||||||
|
public enum OlObjectClass {
|
||||||
|
olAccount = 105, // Represents an Account object.
|
||||||
|
olAccountRuleCondition = 135, // Represents an AccountRuleCondition object.
|
||||||
|
olAccounts = 106, // Represents an Accounts object.
|
||||||
|
olAction = 32, // Represents an Action object.
|
||||||
|
olActions = 33, // Represents an Actions object.
|
||||||
|
olAddressEntries = 21, // Represents an AddressEntries object.
|
||||||
|
olAddressEntry = 8, // Represents an AddressEntry object.
|
||||||
|
olAddressList = 7, // Represents an AddressList object.
|
||||||
|
olAddressLists = 20, // Represents an AddressLists object.
|
||||||
|
olAddressRuleCondition = 170, // Represents an AddressRuleCondition object.
|
||||||
|
olApplication = 0, // Represents an Application object.
|
||||||
|
olAppointment = 26, // Represents an AppointmentItem object.
|
||||||
|
olAssignToCategoryRuleAction = 122, // Represents an AssignToCategoryRuleAction object.
|
||||||
|
olAttachment = 5, // Represents an Attachment object.
|
||||||
|
olAttachments = 18, // Represents an Attachments object.
|
||||||
|
olAttachmentSelection = 169, // Represents an AttachmentSelection object.
|
||||||
|
olAutoFormatRule = 147, // Represents an AutoFormatRule object.
|
||||||
|
olAutoFormatRules = 148, // Represents an AutoFormatRules object.
|
||||||
|
olCalendarModule = 159, // Represents a CalendarModule object.
|
||||||
|
olCalendarSharing = 151, // Represents a CalendarSharing object.
|
||||||
|
olCategories = 153, // Represents a Categories object.
|
||||||
|
olCategory = 152, // Represents a Category object.
|
||||||
|
olCategoryRuleCondition = 130, // Represents a CategoryRuleCondition object.
|
||||||
|
olClassBusinessCardView = 168, // Represents a BusinessCardView object.
|
||||||
|
olClassCalendarView = 139, // Represents a CalendarView object.
|
||||||
|
olClassCardView = 138, // Represents a CardView object.
|
||||||
|
olClassIconView = 137, // Represents a IconView object.
|
||||||
|
olClassNavigationPane = 155, // Represents a NavigationPane object.
|
||||||
|
olClassTableView = 136, // Represents a TableView object.
|
||||||
|
olClassTimeLineView = 140, // Represents a TimelineView object.
|
||||||
|
olClassTimeZone = 174, // Represents a TimeZone object.
|
||||||
|
olClassTimeZones = 175, // Represents a TimeZones object.
|
||||||
|
olColumn = 154, // Represents a Column object.
|
||||||
|
olColumnFormat = 149, // Represents a ColumnFormat object.
|
||||||
|
olColumns = 150, // Represents a Columns object.
|
||||||
|
olConflict = 102, // Represents a Conflict object.
|
||||||
|
olConflicts = 103, // Represents a Conflicts object.
|
||||||
|
olContact = 40, // Represents a ContactItem object.
|
||||||
|
olContactsModule = 160, // Represents a ContactsModule object.
|
||||||
|
olDistributionList = 69, // Represents a ExchangeDistributionList object.
|
||||||
|
olDocument = 41, // Represents a DocumentItem object.
|
||||||
|
olException = 30, // Represents an Exception object.
|
||||||
|
olExceptions = 29, // Represents an Exceptions object.
|
||||||
|
olExchangeDistributionList = 111, // Represents an ExchangeDistributionList object.
|
||||||
|
olExchangeUser = 110, // Represents an ExchangeUser object.
|
||||||
|
olExplorer = 34, // Represents an Explorer object.
|
||||||
|
olExplorers = 60, // Represents an Explorers object.
|
||||||
|
olFolder = 2, // Represents a Folder object.
|
||||||
|
olFolders = 15, // Represents a Folders object.
|
||||||
|
olFolderUserProperties = 172, // Represents a UserDefinedProperties object.
|
||||||
|
olFolderUserProperty = 171, // Represents a UserDefinedProperty object.
|
||||||
|
olFormDescription = 37, // Represents a FormDescription object.
|
||||||
|
olFormNameRuleCondition = 131, // Represents a FormNameRuleCondition object.
|
||||||
|
olFormRegion = 129, // Represents a FormRegion object.
|
||||||
|
olFromRssFeedRuleCondition = 173, // Represents a FromRssFeedRuleCondition object.
|
||||||
|
olFromRuleCondition = 132, // Represents a ToOrFromRuleCondition object.
|
||||||
|
olImportanceRuleCondition = 128, // Represents an ImportanceRuleCondition object.
|
||||||
|
olInspector = 35, // Represents an Inspector object.
|
||||||
|
olInspectors = 61, // Represents an Inspectors object.
|
||||||
|
olItemProperties = 98, // Represents an ItemProperties object.
|
||||||
|
olItemProperty = 99, // Represents an ItemProperty object.
|
||||||
|
olItems = 16, // Represents an Items object.
|
||||||
|
olJournal = 42, // Represents a JournalItem object.
|
||||||
|
olJournalModule = 162, // Represents a JournalModule object.
|
||||||
|
olLink = 75, // Represents a Link object.
|
||||||
|
olLinks = 76, // Represents a Links object.
|
||||||
|
olMail = 43, // Represents a MailItem object.
|
||||||
|
olMailModule = 158, // Represents a MailModule object.
|
||||||
|
olMarkAsTaskRuleAction = 124, // Represents a MarkAsTaskRuleAction object.
|
||||||
|
olMeetingCancellation = 54, // Represents a MeetingItem object that is a meeting cancellation notice.
|
||||||
|
olMeetingRequest = 53, // Represents a MeetingItem object that is a meeting request.
|
||||||
|
olMeetingResponseNegative = 55, // Represents a MeetingItem object that is a refusal of a meeting request.
|
||||||
|
olMeetingResponsePositive = 56, // Represents a MeetingItem object that is an acceptance of a meeting request.
|
||||||
|
olMeetingResponseTentative = 57, // Represents a MeetingItem object that is a tentative acceptance of a meeting request.
|
||||||
|
olMoveOrCopyRuleAction = 118, // Represents a MoveOrCopyRuleAction object.
|
||||||
|
olNamespace = 1, // Represents a NameSpace object.
|
||||||
|
olNavigationFolder = 167, // Represents a NavigationFolder object.
|
||||||
|
olNavigationFolders = 166, // Represents a NavigationFolders object.
|
||||||
|
olNavigationGroup = 165, // Represents a NavigationGroup object.
|
||||||
|
olNavigationGroups = 164, // Represents a NavigationGroups object.
|
||||||
|
olNavigationModule = 157, // Represents a NavigationModule object.
|
||||||
|
olNavigationModules = 156, // Represents a NavigationModules object.
|
||||||
|
olNewItemAlertRuleAction = 125, // Represents a NewItemAlertRuleAction object.
|
||||||
|
olNote = 44, // Represents a NoteItem object.
|
||||||
|
olNotesModule = 163, // Represents a NotesModule object.
|
||||||
|
olOrderField = 144, // Represents an OrderField object.
|
||||||
|
olOrderFields = 145, // Represents an OrderFields object.
|
||||||
|
olOutlookBarGroup = 66, // Represents an OutlookBarGroup object.
|
||||||
|
olOutlookBarGroups = 65, // Represents an OutlookBarGroups object.
|
||||||
|
olOutlookBarPane = 63, // Represents an OutlookBarPane object.
|
||||||
|
olOutlookBarShortcut = 68, // Represents an OutlookBarShortcut object.
|
||||||
|
olOutlookBarShortcuts = 67, // Represents an OutlookBarShortcuts object.
|
||||||
|
olOutlookBarStorage = 64, // Represents an OutlookBarStorage object.
|
||||||
|
olPages = 36, // Represents a Pages object.
|
||||||
|
olPanes = 62, // Represents a Panes object.
|
||||||
|
olPlaySoundRuleAction = 123, // Represents a PlaySoundRuleAction object.
|
||||||
|
olPost = 45, // Represents a PostItem object.
|
||||||
|
olPropertyAccessor = 112, // Represents a PropertyAccessor object.
|
||||||
|
olPropertyPages = 71, // Represents a PropertyPages object.
|
||||||
|
olPropertyPageSite = 70, // Represents a PropertyPageSite object.
|
||||||
|
olRecipient = 4, // Represents a Recipient object.
|
||||||
|
olRecipients = 17, // Represents a Recipients object.
|
||||||
|
olRecurrencePattern = 28, // Represents a RecurrencePattern object.
|
||||||
|
olReminder = 101, // Represents a Reminder object.
|
||||||
|
olReminders = 100, // Represents a Reminders object.
|
||||||
|
olRemote = 47, // Represents a RemoteItem object.
|
||||||
|
olReport = 46, // Represents a ReportItem object.
|
||||||
|
olResults = 78, // Represents a Results object.
|
||||||
|
olRow = 121, // Represents a Row object.
|
||||||
|
olRule = 115, // Represents a Rule object.
|
||||||
|
olRuleAction = 117, // Represents a RuleAction object.
|
||||||
|
olRuleActions = 116, // Represents a RuleAction object.
|
||||||
|
olRuleCondition = 127, // Represents a RuleCondition object.
|
||||||
|
olRuleConditions = 126, // Represents a RuleConditions object.
|
||||||
|
olRules = 114, // Represents a Rules object.
|
||||||
|
olSearch = 77, // Represents a Search object.
|
||||||
|
olSelection = 74, // Represents a Selection object.
|
||||||
|
olSelectNamesDialog = 109, // Represents a SelectNamesDialog object.
|
||||||
|
olSenderInAddressListRuleCondition = 133, // Represents a SenderInAddressListRuleCondition object.
|
||||||
|
olSendRuleAction = 119, // Represents a SendRuleAction object.
|
||||||
|
olSharing = 104, // Represents a SharingItem object.
|
||||||
|
olStorageItem = 113, // Represents a StorageItem object.
|
||||||
|
olStore = 107, // Represents a Store object.
|
||||||
|
olStores = 108, // Represents a Stores object.
|
||||||
|
olSyncObject = 72, // Represents a SyncObject object.
|
||||||
|
olSyncObjects = 73, // Represents a SyncObject object.
|
||||||
|
olTable = 120, // Represents a Table object.
|
||||||
|
olTask = 48, // Represents a TaskItem object.
|
||||||
|
olTaskRequest = 49, // Represents a TaskRequestItem object.
|
||||||
|
olTaskRequestAccept = 51, // Represents a TaskRequestAcceptItem object.
|
||||||
|
olTaskRequestDecline = 52, // Represents a TaskRequestDeclineItem object.
|
||||||
|
olTaskRequestUpdate = 50, // Represents a TaskRequestUpdateItem object.
|
||||||
|
olTasksModule = 161, // Represents a TasksModule object.
|
||||||
|
olTextRuleCondition = 134, // Represents a TextRuleCondition object.
|
||||||
|
olUserDefinedProperties = 172, // Represents a UserDefinedProperties object.
|
||||||
|
olUserDefinedProperty = 171, // Represents a UserDefinedProperty object.
|
||||||
|
olUserProperties = 38, // Represents a UserProperties object.
|
||||||
|
olUserProperty = 39, // Represents a UserProperty object.
|
||||||
|
olView = 80, // Represents a View object.
|
||||||
|
olViewField = 142, // Represents a ViewField object.
|
||||||
|
olViewFields = 141, // Represents a ViewFields object.
|
||||||
|
olViewFont = 146, // Represents a ViewFont object.
|
||||||
|
olViews = 79 // Represents a Views object.
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlDefaultFolders {
|
||||||
|
olFolderCalendar = 9, // The Calendar folder.
|
||||||
|
olFolderConflicts = 19, // The Conflicts folder (subfolder of Sync Issues folder). Only available for an Exchange account.
|
||||||
|
olFolderContacts = 10, // The Contacts folder.
|
||||||
|
olFolderDeletedItems = 3, // The Deleted Items folder.
|
||||||
|
olFolderDrafts = 16, // The Drafts folder.
|
||||||
|
olFolderInbox = 6, // The Inbox folder.
|
||||||
|
olFolderJournal = 11, // The Journal folder.
|
||||||
|
olFolderJunk = 23, // The Junk E-Mail folder.
|
||||||
|
olFolderLocalFailures = 21, // The Local Failures folder (subfolder of Sync Issues folder). Only available for an Exchange account.
|
||||||
|
olFolderManagedEmail = 29, // The top-level folder in the Managed Folders group. For more information on Managed Folders, see Help in Microsoft Outlook. Only available for an Exchange account.
|
||||||
|
olFolderNotes = 12, // The Notes folder.
|
||||||
|
olFolderOutbox = 4, // The Outbox folder.
|
||||||
|
olFolderSentMail = 5, // The Sent Mail folder.
|
||||||
|
olFolderServerFailures = 22, // The Server Failures folder (subfolder of Sync Issues folder). Only available for an Exchange account.
|
||||||
|
olFolderSyncIssues = 20, // The Sync Issues folder. Only available for an Exchange account.
|
||||||
|
olFolderTasks = 13, // The Tasks folder.
|
||||||
|
olFolderToDo = 28, // The To Do folder.
|
||||||
|
olPublicFoldersAllPublicFolders = 18, // The All Public Folders folder in the Exchange Public Folders store. Only available for an Exchange account.
|
||||||
|
olFolderRssFeeds = 25 // The RSS Feeds folder.
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlItemType {
|
||||||
|
// Fields
|
||||||
|
olAppointmentItem = 1,
|
||||||
|
olContactItem = 2,
|
||||||
|
olDistributionListItem = 7,
|
||||||
|
olJournalItem = 4,
|
||||||
|
olMailItem = 0,
|
||||||
|
olNoteItem = 5,
|
||||||
|
olPostItem = 6,
|
||||||
|
olTaskItem = 3
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlEditorType {
|
||||||
|
// Fields
|
||||||
|
olEditorHTML = 2,
|
||||||
|
olEditorRTF = 3,
|
||||||
|
olEditorText = 1,
|
||||||
|
olEditorWord = 4
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlWindowState {
|
||||||
|
// Fields
|
||||||
|
olMaximized = 0,
|
||||||
|
olMinimized = 1,
|
||||||
|
olNormalWindow = 2
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlInspectorClose {
|
||||||
|
// Fields
|
||||||
|
olDiscard = 1,
|
||||||
|
olPromptForSave = 2,
|
||||||
|
olSave = 0
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum MsoTriState {
|
||||||
|
msoTrue = -1,
|
||||||
|
msoFalse = 0,
|
||||||
|
msoCTrue = 1,
|
||||||
|
msoTriStateToggle = -3,
|
||||||
|
msoTriStateMixed = -2
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum OlReoccurenceState {
|
||||||
|
olApptException,
|
||||||
|
olApptMaster,
|
||||||
|
olApptNotRecurring,
|
||||||
|
olApptOccurrence
|
||||||
|
}
|
||||||
|
|
||||||
|
public enum MsoScaleFrom {
|
||||||
|
msoScaleFromTopLeft = 0,
|
||||||
|
msoScaleFromMiddle = 1,
|
||||||
|
msoScaleFromBottomRight = 2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using Jira;
|
using Jira;
|
||||||
|
|
||||||
namespace GreenshotJiraPlugin {
|
namespace GreenshotJiraPlugin {
|
||||||
|
|
|
@ -27,7 +27,7 @@ using System.Windows.Forms;
|
||||||
using GreenshotJiraPlugin;
|
using GreenshotJiraPlugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace Jira {
|
namespace Jira {
|
||||||
#region transport classes
|
#region transport classes
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotJiraPlugin {
|
namespace GreenshotJiraPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -29,7 +29,7 @@ using System.Text.RegularExpressions;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using Jira;
|
using Jira;
|
||||||
|
|
||||||
namespace GreenshotJiraPlugin {
|
namespace GreenshotJiraPlugin {
|
||||||
|
|
|
@ -28,7 +28,7 @@ using System.Windows.Forms;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using Jira;
|
using Jira;
|
||||||
|
|
||||||
namespace GreenshotJiraPlugin {
|
namespace GreenshotJiraPlugin {
|
||||||
|
|
|
@ -29,7 +29,7 @@ using System.Text.RegularExpressions;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using Jira;
|
using Jira;
|
||||||
|
|
||||||
namespace GreenshotJiraPlugin {
|
namespace GreenshotJiraPlugin {
|
||||||
|
|
|
@ -23,7 +23,7 @@ using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotNetworkImportPlugin {
|
namespace GreenshotNetworkImportPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace GreenshotNetworkImportPlugin {
|
namespace GreenshotNetworkImportPlugin {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -26,7 +26,7 @@ using Greenshot.Drawing;
|
||||||
using Greenshot.Forms;
|
using Greenshot.Forms;
|
||||||
using Greenshot.Helpers;
|
using Greenshot.Helpers;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
|
||||||
namespace Greenshot.Test
|
namespace Greenshot.Test
|
||||||
|
|
|
@ -23,7 +23,7 @@ using System.Windows.Forms;
|
||||||
using Greenshot.Configuration;
|
using Greenshot.Configuration;
|
||||||
using Greenshot.Forms;
|
using Greenshot.Forms;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
|
|
||||||
namespace Greenshot.Test
|
namespace Greenshot.Test
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace PluginExample {
|
namespace PluginExample {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -24,7 +24,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace PluginExample {
|
namespace PluginExample {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -28,7 +28,7 @@ using System.Windows.Forms;
|
||||||
|
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace PluginExample {
|
namespace PluginExample {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -23,7 +23,7 @@ using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace PluginExample {
|
namespace PluginExample {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -22,7 +22,7 @@ using System;
|
||||||
using System.Drawing;
|
using System.Drawing;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace PluginExample {
|
namespace PluginExample {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -29,7 +29,7 @@ using System.Text.RegularExpressions;
|
||||||
using Greenshot.Plugin;
|
using Greenshot.Plugin;
|
||||||
using GreenshotPlugin.Controls;
|
using GreenshotPlugin.Controls;
|
||||||
using GreenshotPlugin.Core;
|
using GreenshotPlugin.Core;
|
||||||
using IniFile;
|
using Greenshot.IniFile;
|
||||||
|
|
||||||
namespace PluginExample {
|
namespace PluginExample {
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue