2 * Adium is the legal property of its developers, whose names are listed in the copyright file included
3 * with this source distribution.
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.
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.
16 #import <Adium/AIObject.h>
17 #import <Adium/AIPlugin.h>
18 #import "AIXtraPreviewController.h"
20 @
class AIXtraInfo
, AIAlternatingRowTableView
;
22 #define AIXtraTypeDockIcon @"adiumicon"
23 #define AIXtraTypeStatusIcons @"adiumstatusicons"
24 #define AIXtraTypeEmoticons @"adiumemoticonset"
25 #define AIXtraTypeScript @"adiumscripts"
26 #define AIXtraTypeMessageStyle @"adiummessagestyle"
27 #define AIXtraTypeListTheme @"listtheme"
28 #define AIXtraTypeListLayout @"listlayout"
29 #define AIXtraTypeServiceIcons @"adiumserviceicons"
31 @interface AIXtrasManager
: AIPlugin
{
32 NSMutableDictionary
*disabledXtras
;
33 NSMutableArray
*categories
;
34 NSMutableArray
*selectedCategory
;
35 IBOutlet NSWindow
*window
;
36 IBOutlet AIAlternatingRowTableView
*tableView_categories
;;
37 IBOutlet NSTableView
*xtraList
;
38 IBOutlet NSTextView
*infoView
;
39 IBOutlet NSScrollView
*previewContainerView
;
40 IBOutlet id
<AIXtraPreviewController
> previewController
;
41 IBOutlet NSView
*readmeView
;
42 IBOutlet NSSegmentedControl
*showInfoControl
;
44 IBOutlet NSView
*view_shelf
;
45 IBOutlet NSView
*view_content
;
49 BOOL showInfo
; //YES = info, NO = preview
51 NSMutableDictionary
*toolbarItems
;
54 + (AIXtrasManager
*) sharedManager
;
57 - (NSArray
*) arrayOfXtrasAtPaths
:(NSArray
*)paths
;
58 - (IBAction
) browseXtras
:(id
)sender
;
59 - (IBAction
) deleteXtra
:(id
)sender
;
60 - (IBAction
) checkForUpdates
:(id
)sender
;
61 - (void) updatePreview
;
63 - (IBAction
) setShowsInfo
:(id
)sender
;
65 + (BOOL
) createXtraBundleAtPath
:(NSString
*)path
;