Added `-[NSArray validateAsPropertyList]` and `-[NSDictionary validateAsPropertyList...
[adiumx.git] / Source / DCMessageContextDisplayPlugin.h
blob708637a1cd9144ced93d394b5f962bcf22265edd
1 /*
2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
4 *
5 * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
6 * General Public License as published by the Free Software Foundation; either version 2 of the License,
7 * or (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even
10 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
11 * Public License for more details.
13 * You should have received a copy of the GNU General Public License along with this program; if not,
14 * write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17 #import <Adium/AIPlugin.h>
19 // Object pref keys
20 #define PREF_GROUP_CONTEXT_DISPLAY @"Message Context Display"
21 #define KEY_MESSAGE_CONTEXT @"Message Context"
23 // Pref keys
24 #define KEY_DISPLAY_CONTEXT @"Display Message Context"
25 #define KEY_DIM_RECENT_CONTEXT @"Dim Recent Context"
26 #define KEY_DISPLAY_LINES @"Lines to Display"
27 #define KEY_DISPLAY_MODE @"Display Mode"
28 #define KEY_HAVE_TALKED_DAYS @"Have Talked Days"
29 #define KEY_HAVE_NOT_TALKED_DAYS @"Have Not Talked Days"
30 #define KEY_HAVE_TALKED_UNITS @"Have Talked Units"
31 #define KEY_HAVE_NOT_TALKED_UNITS @"Have Not Talked Units"
33 #define CONTEXT_DISPLAY_DEFAULTS @"MessageContextDisplayDefaults"
35 // Possible Display Modes
36 typedef enum AIMessageHistoryDisplayModes {
37 MODE_ALWAYS = 0,
38 MODE_HAVE_TALKED,
39 MODE_HAVE_NOT_TALKED
40 } AIMessageHistoryDisplayModes;
42 // Possible Units
43 typedef enum AIMessageHistoryDisplayUnits {
44 UNIT_DAYS = 0,
45 UNIT_HOURS
46 } AIMessageHistoryDisplayUnits;
48 @class DCMessageContextDisplayPreferences, SMSQLiteLoggerPlugin;
50 @interface DCMessageContextDisplayPlugin : AIPlugin {
51 BOOL isObserving;
52 BOOL shouldDisplay;
53 BOOL dimRecentContext;
54 int linesToDisplay;
56 int displayMode;
57 int haveTalkedDays;
58 int haveNotTalkedDays;
60 int haveTalkedUnits;
61 int haveNotTalkedUnits;
63 DCMessageContextDisplayPreferences *preferences;
65 NSMutableArray *foundMessages;
66 NSMutableArray *elementStack;
69 @end