Request info to get user icons when a Jabber contact signs on. Fixes #4205
[adiumx.git] / Source / AIInterfaceController.h
blob8be3388b3f7e3069dba8c84c2662387f60e7c07b
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/AIInterfaceControllerProtocol.h>
19 @class AIMenuController, AIChat, AIListObject;
20 @protocol AIAdium;
22 @interface AIInterfaceController : NSObject <AIInterfaceController> {
23 IBOutlet NSObject<AIAdium> *adium;
25 IBOutlet NSMenuItem *menuItem_close;
26 IBOutlet NSMenuItem *menuItem_closeChat;
27 IBOutlet NSMenuItem *menuItem_closeAllChats;
29 IBOutlet NSMenuItem *menuItem_paste;
30 IBOutlet NSMenuItem *menuItem_pasteWithImagesAndColors;
31 IBOutlet NSMenuItem *menuItem_pasteAndMatchStyle;
33 IBOutlet NSMenuItem *menuItem_showFonts;
34 IBOutlet NSMenuItem *menuItem_bold;
35 IBOutlet NSMenuItem *menuItem_italic;
37 IBOutlet NSMenuItem *menuItem_showToolbar;
38 IBOutlet NSMenuItem *menuItem_customizeToolbar;
40 IBOutlet NSMenuItem *menuItem_print;
42 NSMutableArray *contactListViewArray;
43 NSMutableArray *messageViewArray;
44 NSMutableArray *interfaceArray;
45 NSMutableArray *contactListTooltipEntryArray;
46 NSMutableArray *contactListTooltipSecondaryEntryArray;
47 float maxLabelWidth;
49 NSMutableArray *flashObserverArray;
50 NSTimer *flashTimer;
51 int flashState;
52 AIListObject *tooltipListObject;
53 NSMutableAttributedString *tooltipBody;
54 NSMutableAttributedString *tooltipTitle;
55 NSImage *tooltipImage;
57 NSString *errorTitle;
58 NSString *errorDesc;
60 BOOL closeMenuConfiguredForChat;
62 NSArray *_cachedOpenChats;
64 NSMutableArray *windowMenuArray;
66 AIChat *activeChat;
67 AIChat *mostRecentActiveChat;
69 BOOL tabbedChatting;
71 id <AIInterfaceComponent> interfacePlugin;
72 id <AIContactListComponent> contactListPlugin;
74 BOOL groupChatsByContactGroup;
76 IBOutlet NSView *fontPanelAccessoryView;
77 IBOutlet NSButton *button_fontPanelSetAsDefault;
80 - (IBAction)toggleContactList:(id)sender;
81 - (IBAction)showContactListAndBringToFront:(id)sender;
83 //Chat close menus
84 - (IBAction)closeMenu:(id)sender;
85 - (IBAction)closeChatMenu:(id)sender;
86 - (IBAction)closeAllChats:(id)sender;
88 //Custom pasting
89 - (IBAction)paste:(id)sender;
90 - (IBAction)pasteAndMatchStyle:(id)sender;
91 - (IBAction)pasteWithImagesAndColors:(id)sender;
93 //Custom printing
94 - (IBAction)adiumPrint:(id)sender;
96 //Font panel
97 - (IBAction)toggleFontPanel:(id)sender;
98 - (IBAction)setFontPanelSettingsAsDefaultFont:(id)sender;
100 //Custom Dimming menu items
101 - (IBAction)toggleFontTrait:(id)sender;
102 - (void)toggleToolbarShown:(id)sender;
103 - (void)runToolbarCustomizationPalette:(id)sender;
105 - (IBAction)showPreferenceWindow:(id)sender;
106 @end