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"
30 #define AIXtraTypeMenuBarIcons @"adiummenubaricons"
32 @interface AIXtrasManager
: AIPlugin
{
33 NSMutableDictionary
*disabledXtras
;
34 NSMutableArray
*categories
;
35 NSMutableArray
*selectedCategory
;
36 IBOutlet NSWindow
*window
;
37 IBOutlet AIAlternatingRowTableView
*tableView_categories
;;
38 IBOutlet NSTableView
*xtraList
;
39 IBOutlet NSTextView
*infoView
;
40 IBOutlet NSScrollView
*previewContainerView
;
41 IBOutlet id
<AIXtraPreviewController
> previewController
;
42 IBOutlet NSView
*readmeView
;
43 IBOutlet NSSegmentedControl
*showInfoControl
;
45 IBOutlet NSView
*view_shelf
;
46 IBOutlet NSView
*view_content
;
50 BOOL showInfo
; //YES = info, NO = preview
52 NSMutableDictionary
*toolbarItems
;
55 + (AIXtrasManager
*) sharedManager
;
58 - (NSArray
*) arrayOfXtrasAtPaths
:(NSArray
*)paths
;
59 - (IBAction
) browseXtras
:(id
)sender
;
60 - (IBAction
) deleteXtra
:(id
)sender
;
61 - (IBAction
) checkForUpdates
:(id
)sender
;
62 - (void) updatePreview
;
64 - (IBAction
) setShowsInfo
:(id
)sender
;
66 + (BOOL
) createXtraBundleAtPath
:(NSString
*)path
;