diff options
| -rw-r--r-- | plugins/HistoryPlusPlus/m_historypp.inc | 191 | 
1 files changed, 191 insertions, 0 deletions
diff --git a/plugins/HistoryPlusPlus/m_historypp.inc b/plugins/HistoryPlusPlus/m_historypp.inc new file mode 100644 index 0000000000..e2f547da2d --- /dev/null +++ b/plugins/HistoryPlusPlus/m_historypp.inc @@ -0,0 +1,191 @@ +{ +    History++ plugin for Miranda IM: the free IM client for Microsoft* Windows* + +    Copyright (C) 2006-2009 theMIROn, 2003-2006 Art Fedorov. +    History+ parts (C) 2001 Christian Kastner + +    This program is free software; you can redistribute it and/or modify +    it under the terms of the GNU General Public License as published by +    the Free Software Foundation; either version 2 of the License, or +    (at your option) any later version. + +    This program is distributed in the hope that it will be useful, +    but WITHOUT ANY WARRANTY; without even the implied warranty of +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +    GNU General Public License for more details. + +    You should have received a copy of the GNU General Public License +    along with this program; if not, write to the Free Software +    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA +} + +{----------------------------------------------------------------------------- + m_historypp (historypp project) + + Version:   1.5 + Created:   06.08.2004 + Author:    Oxygen + + [ Description ] + + Header with History++ services declaration + + [ History ] + + 1.5 (05.08.2004) +   First version + + [ Modifications ] + none + + [ Known Issues ] + none + + Contributors: theMIROn, Art Fedorov +-----------------------------------------------------------------------------} + +{$IFNDEF M_HISTORYPP} +{$DEFINE M_HISTORYPP} + +const + +    //** VALUES FOR TItemRenderDetails.dwHistoryWindow +    //** Used in ME_HPP_RICHEDIT_ITEMPROCESS event +    //** This is one of the following params, +    //** saying what kind of history window displays +    //** processed item. + +    // IRDHW_CONTACTHISTORY. The window is ordinary +    // contact history. +    IRDHW_CONTACTHISTORY = $0001; +    // IRDHW_GLOBALHISTORY. The window is global +    // history (system history). Invokes by +    // Menu -> System History +    IRDHW_GLOBALHISTORY  = $0002; +    // IRDHW_GLOBALSEARCH. The window is search +    // window and the processed item is the +    // result of the global search. +    IRDHW_GLOBALSEARCH   = $0003; +    // IRDHW_EXTERNAL. The window is external window +    IRDHW_EXTERNALGRID   = $0004; + +    //** VALUES FOR TItemRenderDetails.dwFlags +    //** Used in ME_HPP_RICHEDIT_ITEMPROCESS event +    //** These flags inform you about what you are +    //** processing. Like saying that the item is +    //** selected or it's inline or such stuff + +    // IRDF_SELECTED. The processed item is selected. +    // The background color will always be clHighlight +    // even if you change it (i will change it back). +    // Though, I will not touch font or font color. +    IRDF_SELECTED = $0001; +    // IRDF_INLINE. The RichEdit provided is not one +    // that is used for drawing a cell, but the one +    // used for "inline editing". +    IRDF_INLINE   = $0002; +    // IRDF_EVENT. The RichEdit provided is from "Open Event" +    // window. It's the window which opens when you right-click +    // item in contact's history and select "Open" +    IRDF_EVENT    = $0004; + +type +  TItemRenderDetails = record +    cbSize        : DWord;     // size of the structure in bytes +    hContact      : TMCONTACT; // handle to the contact for which the event is processed +    hDBEvent      : TMEVENT;   // handle to the event which is processed +    dwEventTime   : DWord;     // timestamp of the event +    wEventType    : Word;      // Event's flags (see m_database, EVENTTYPE_*; m_icq, ICQEVENTTYPE_*) +    IsEventSent   : ByteBool;  // Outgoing event. True if DBEF_SENT event flag is present (see m_database) +    bHistoryWindow: Byte;      // What kind of window history. See IRDHW_* values +    dwFlags       : DWord;     // Any reasonable combination of IRDF_* flags. +    pProto        : PAnsiChar; // Proto of the event, if available +    pModule       : PAnsiChar; // Module of the event, if available +    pText         : PWideChar; // Text of the event, not used now +    pExtended     : PAnsiChar; // Extended text, used for storing urls, paths and so on +  end; + +  PItemRenderDetails = ^TItemRenderDetails; + +const +  // ME_HPP_RICHEDIT_ITEMPROCESS +  // (supported from 1.5.0) +  // Called when next RichEdit history item +  // is rendered. Third-party plugins can alter it +  // like adding smileys, changing color and so on. +  // wParam - RichEdit control handle +  // lParam - pointer to TItemRenderDetails structure, information +  //          about processed item, see TItemRenderDetails for details +  // +  // Note: Changing richedit background color will change the background +  //       color of the whole cell! Additionally, the background color +  //       of the *selected* cell and richedit is ALWAYS clHighlight, +  //       no matter what you do. But font is untouched, so if your +  //       plugin changes font color, you may need to handle selected +  //       cells differently (use IF_SELECTED flag). +  // +  // Warn: Remeber about changing fonts. You CAN NOT have *different* fonts +  //       for the *same* item, depening on your wish. For example, the +  //       first time event is fired you set font for Item1 'Arial 10', +  //       and the next time you set font for the same Item1 'Arial 12'. +  //       Because height is calculated only once, and you may have +  //       problems with text painting (when you change font text can +  //       become too large and be cut or override another cell) +  // +  // See:  hpp_itemprocess_samples.pas for some sample event handlers +  //       like SmileyAdd and TextFormat support and special handler +  //       kinda of conversation separation +  ME_HPP_RICHEDIT_ITEMPROCESS = 'History++/RichEdit/ItemProcessEvent'; + +  // MS_HPP_SHOWGLOBALSEARCH +  // (supported from 1.5.0) +  // Show Global history search window +  // If already opened, bring it to front +  // wParam - zero +  // lParam - zero +  MS_HPP_SHOWGLOBALSEARCH = 'History++/ShowGlobalSearch'; + +  type +    POpenEventParams = ^TOpenEventParams; +    TOpenEventParams = record +      cbSize   : DWord; +      hContact : TMCONTACT; +      hDBEvent : TMEVENT; +      pPassword: PAnsiChar; +    end; + +const + +  // MS_HPP_OPENHISTORYEVENT +  // (supported from 1.5.0) +  // (changed in 1.5.110) +  // +  // Opens contact's history and selects +  // provided event +  // wParam - pointer to TOpenEventParams structure +  // lParam - zero +  // Return - BOOL, True if contact opened, False if password +  //          field opened +  // Note: if you just want to show contact's history, +  //       use system service MS_HISTORY_SHOWCONTACTHISTORY +  MS_HPP_OPENHISTORYEVENT = 'History++/OpenHistoryEvent2'; + +  // MS_HPP_GETVERSION +  // (supported from 1.5.0) +  // Get current History++ version +  // Third-party plugins can use it to know if installed +  // version of History++ supports particular feature +  // wParam - zero +  // lParam - zero +  // Return - current version, via PLUGIN_MAKE_VERSION macro +  MS_HPP_GETVERSION = 'History++/GetVersion'; + +  // MS_HPP_EMPTYHISTORY +  // (supported from 1.5.0.118) +  // Erases contact's history +  // wParam - hContact +  // lParam - zero +  // Notes  - hContact can be NULL(0) to empty system history +  MS_HPP_EMPTYHISTORY = 'History++/EmptyHistory'; + +{$ENDIF}  | 
