Landing all changes from CHIMERA_M1_0_1_BRANCH onto the trunk, and adapting to trunk API changes. Not part of any normal build.

This commit is contained in:
bryner%netscape.com 2002-12-12 11:34:25 +00:00
Родитель 3b3f720f15
Коммит 213a0b4218
199 изменённых файлов: 8126 добавлений и 1632 удалений

Разница между файлами не показана из-за своего большого размера Загрузить разницу

Просмотреть файл

@ -45,8 +45,12 @@ include $(DEPTH)/config/autoconf.mk
ifdef MOZ_DEBUG
BUILDSTYLE = Development
else
ifdef CHIMERA_OPT_SYMBOLS
BUILDSTYLE = DeploymentSymbols
else
BUILDSTYLE = Deployment
endif
endif
ifdef BUILD_STATIC_LIBS
TARGET = NavigatorStatic
@ -59,4 +63,6 @@ all:
clean clobber:
rm -rf build
rm -f resources/localized/English.lproj/Localized.rsrc

Просмотреть файл

@ -1,11 +1,42 @@
//
// TestingPref.h
// Testing
//
// Created by Simon Fraser on Wed Jun 19 2002.
// Copyright (c) 2000 __MyCompanyName__. All rights reserved.
//
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Simon Fraser <sfraser@netscape.com>
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#import <PreferencePaneBase.h>
@interface OrgMozillaChimeraPreferenceAppearance : PreferencePaneBase
@ -19,24 +50,39 @@
IBOutlet NSColorWell *colorwellUnvisitedLinks;
IBOutlet NSColorWell *colorwellVisitedLinks;
IBOutlet NSMatrix *matrixChooseFont;
IBOutlet NSTableView *tableViewFontRegion;
IBOutlet NSMatrix *matrixChooseFont;
IBOutlet NSPopUpButton *popupFontRegion;
IBOutlet NSTextField *fontSampleSerif;
IBOutlet NSTextField *fontSampleSansSerif;
IBOutlet NSTextField *fontSampleProportional;
IBOutlet NSTextField *fontSampleMonospace;
IBOutlet NSTextField *fontSampleCursive;
IBOutlet NSTextField *proportionalSampleLabel;
// advanced panel stuff
IBOutlet NSPanel *advancedFontsDialog;
IBOutlet NSPopUpButton *serifFontPopup;
IBOutlet NSPopUpButton *sansSerifFontPopup;
IBOutlet NSPopUpButton *cursiveFontPopup;
IBOutlet NSPopUpButton *fantasyFontPopup;
IBOutlet NSPopUpButton *minFontSizePopup;
IBOutlet NSTextField *advancedFontsLabel;
IBOutlet NSMatrix *defaultFontMatrix;
NSArray *regionMappingTable;
NSString *defaultFontType;
}
- (void) mainViewDidLoad;
- (void)mainViewDidLoad;
- (IBAction)buttonClicked:(id)sender;
- (IBAction)colorChanged:(id)sender;
- (IBAction)fontChoiceButtonClicked:(id)sender;
- (IBAction)fontRegionListClicked:(id)sender;
- (IBAction)fontRegionPopupClicked:(id)sender;
- (IBAction)showAdvancedFontsDialog:(id)sender;
- (IBAction)advancedFontsDone:(id)sender;
@end

Просмотреть файл

@ -1,11 +1,42 @@
//
// Appearance pref pane for chimera
//
//
// Created by Simon Fraser on Wed Jun 19 2002.
// Copyright (c) 2000 __MyCompanyName__. All rights reserved.
//
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Simon Fraser <sfraser@netscape.com>
*
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
#import "Appearance.h"
#include "nsIServiceManager.h"
@ -16,12 +47,16 @@
@interface OrgMozillaChimeraPreferenceAppearance(Private)
- (void)setupFontRegionTable;
- (void)setupFontRegionPopup;
- (void)updateFontPreviews;
- (void)loadFontPrefs;
- (void)saveFontPrefs;
- (NSMutableDictionary *)makeDictFromPrefsForFontType:(NSString*)fontType andRegion:(NSString*)regionCode;
- (void)saveToPrefsEntriesInDict:(NSDictionary*)entryDict forFontType:(NSString*)fontType;
- (NSMutableDictionary *)makeFontSizesDictFromPrefsForRegion:(NSString*)regionCode;
- (void)saveFontNamePrefsForRegion:(NSDictionary*)regionDict forFontType:(NSString*)fontType;
- (void)saveFontSizePrefsForRegion:(NSDictionary*)entryDict;
- (void)setupFontSamplesFromDict:(NSDictionary*)regionDict;
- (void)setupFontSampleOfType:(NSString*)fontType fromDict:(NSDictionary*)regionDict;
@ -29,20 +64,27 @@
- (NSFont*)getFontOfType:(NSString*)fontType fromDict:(NSDictionary*)regionDict;
- (void)setFontSampleOfType:(NSString *)fontType withFont:(NSFont*)font andDict:(NSMutableDictionary*)regionDict;
- (void)saveFont:(NSFont*)font toDict:(NSMutableDictionary*)regionDict forType:(NSString*)fontType;
- (void)updateFontSampleOfType:(NSString *)fontType;
- (NSTextField*)getFontSampleForType:(NSString *)fontType;
- (NSString*)getFontSizeType:(NSString*)fontType;
- (void)syncFontPanel;
- (void)saveCurrentFonts;
- (void)buildFontPopup:(NSPopUpButton*)popupButton;
- (void)setupFontPopup:(NSPopUpButton*)popupButton forType:(NSString*)fontType fromDict:(NSDictionary*)regionDict;
- (void)getFontFromPopup:(NSPopUpButton*)popupButton forType:(NSString*)fontType intoDict:(NSDictionary*)regionDict;
@end
@implementation OrgMozillaChimeraPreferenceAppearance
- (void) dealloc
- (void)dealloc
{
[regionMappingTable release];
[defaultFontType release];
[super dealloc];
}
@ -52,7 +94,7 @@
return self;
}
- (void) mainViewDidLoad
- (void)mainViewDidLoad
{
BOOL gotPref;
[checkboxUnderlineLinks setState:
@ -68,21 +110,25 @@
[colorwellUnvisitedLinks setColor:[self getColorPref:"browser.anchor_color" withSuccess:&gotPref]];
[colorwellVisitedLinks setColor:[self getColorPref:"browser.visited_color" withSuccess:&gotPref]];
[self setupFontRegionTable];
BOOL gotDefaultFont;
NSString* defaultFont = [self getStringPref:"font.default" withSuccess:&gotDefaultFont];
if (!gotDefaultFont || (![defaultFont isEqualTo:@"serif"] && ![defaultFont isEqualTo:@"sans-serif"]))
defaultFont = @"serif";
defaultFontType = [defaultFont retain];
// prep the font panel
NSFontPanel *fontPanel = [[NSFontManager sharedFontManager] fontPanel:YES];
//[fontPanel setBecomesKeyOnlyIfNeeded:NO];
[self setupFontRegionPopup];
[self updateFontPreviews];
}
- (void)willUnselect
{
// time to save stuff
[self saveCurrentFonts];
[self saveFontPrefs];
}
- (void)setupFontRegionTable
- (void)setupFontRegionPopup
{
NSBundle* prefBundle = [NSBundle bundleForClass:[self class]];
NSString* resPath = [prefBundle pathForResource:@"RegionMapping" ofType:@"plist"];
@ -92,13 +138,13 @@
regionMappingTable = [[NSArray arrayWithContentsOfFile:resPath] retain];
[self loadFontPrefs];
[tableViewFontRegion reloadData];
if ([tableViewFontRegion selectedRow] == 0)
[tableViewFontRegion selectRow:-1 byExtendingSelection:NO]; // make sure the next line triggers a change
[tableViewFontRegion selectRow:0 byExtendingSelection:NO]; // trigger initial setup
[popupFontRegion removeAllItems];
for (unsigned int i = 0; i < [regionMappingTable count]; i ++)
{
NSDictionary* regionDict = [regionMappingTable objectAtIndex:i];
[popupFontRegion addItemWithTitle:[regionDict objectForKey:@"region"]];
}
}
- (IBAction)buttonClicked:(id)sender
@ -138,14 +184,15 @@
[fontPanel makeKeyAndOrderFront:self];
}
- (IBAction)fontRegionListClicked:(id)sender
- (IBAction)fontRegionPopupClicked:(id)sender
{
// do nothing. we update stuff on selection change
// save the old values
[self updateFontPreviews];
}
- (void)loadFontPrefs
{
for (int i = 0; i < [regionMappingTable count]; i ++)
for (unsigned int i = 0; i < [regionMappingTable count]; i ++)
{
NSMutableDictionary *regionDict = [regionMappingTable objectAtIndex:i];
NSString *regionCode = [regionDict objectForKey:@"code"];
@ -160,21 +207,26 @@
serif = {
fontfamily = Times-Regular
fontsize = 16
}
sans-serif = {
fontfamily =
fontsize =
missing = // set if a font is missing
}
monospace = {
fontfamily =
fontsize =
}
cursive = {
fontfamily =
fontsize =
}
monospace = {
fontfamily =
}
and an entry that stores font sizes:
fontsize = {
variable =
fixed =
minimum = // optional
}
}
*/
NSString *regionName = NSLocalizedStringFromTableInBundle(regionCode, @"RegionNames",
@ -192,6 +244,13 @@
NSMutableDictionary *cursDict = [self makeDictFromPrefsForFontType:@"cursive" andRegion:regionCode];
[regionDict setObject:cursDict forKey:@"cursive"];
NSMutableDictionary *fantasyDict = [self makeDictFromPrefsForFontType:@"fantasy" andRegion:regionCode];
[regionDict setObject:fantasyDict forKey:@"fantasy"];
// font sizes dict
NSMutableDictionary *sizesDict = [self makeFontSizesDictFromPrefsForRegion:regionCode];
[regionDict setObject:sizesDict forKey:@"fontsize"];
}
}
@ -201,88 +260,130 @@
if (!regionMappingTable)
return;
for (int i = 0; i < [regionMappingTable count]; i ++)
for (unsigned int i = 0; i < [regionMappingTable count]; i ++)
{
NSMutableDictionary *regionDict = [regionMappingTable objectAtIndex:i];
[self saveToPrefsEntriesInDict:(NSDictionary*)regionDict forFontType:@"serif"];
[self saveToPrefsEntriesInDict:(NSDictionary*)regionDict forFontType:@"sans-serif"];
[self saveToPrefsEntriesInDict:(NSDictionary*)regionDict forFontType:@"monospace"];
[self saveToPrefsEntriesInDict:(NSDictionary*)regionDict forFontType:@"cursive"];
[self saveFontNamePrefsForRegion:regionDict forFontType:@"serif"];
[self saveFontNamePrefsForRegion:regionDict forFontType:@"sans-serif"];
[self saveFontNamePrefsForRegion:regionDict forFontType:@"monospace"];
[self saveFontNamePrefsForRegion:regionDict forFontType:@"cursive"];
[self saveFontNamePrefsForRegion:regionDict forFontType:@"fantasy"];
[self saveFontSizePrefsForRegion:regionDict];
}
if (defaultFontType && [defaultFontType length] > 0)
[self setPref:"font.default" toString:defaultFontType];
}
#pragma mark -
- (NSMutableDictionary *)makeDictFromPrefsForFontType:(NSString*)fontType andRegion:(NSString*)regionCode
{
NSMutableDictionary *fontDict = [NSMutableDictionary dictionaryWithCapacity:2];
NSMutableDictionary *fontDict = [NSMutableDictionary dictionaryWithCapacity:1];
NSString *fontPrefName = [NSString stringWithFormat:@"font.name.%@.%@", fontType, regionCode];
NSString *sizeType = ([fontType isEqualToString:@"monospace"]) ? @"fixed" : @"variable";
NSString *fontSizeName = [NSString stringWithFormat:@"font.size.%@.%@", sizeType, regionCode];
BOOL gotPref, gotSize;
BOOL gotPref;
NSString *fontName = [self getStringPref:[fontPrefName cString] withSuccess:&gotPref];
int fontSize = [self getIntPref:[fontSizeName cString] withSuccess:&gotSize];
//NSLog(@"Got font name %@ and size %d from prefs (success %d %d)", fontName, fontSize, gotPref, gotSize);
if (gotPref && gotSize)
{
if (gotPref)
[fontDict setObject:fontName forKey:@"fontfamily"];
[fontDict setObject:[NSNumber numberWithInt:fontSize] forKey:@"fontsize"];
}
return fontDict;
}
- (void)saveToPrefsEntriesInDict:(NSDictionary*)regionDict forFontType:(NSString*)fontType
- (NSMutableDictionary *)makeFontSizesDictFromPrefsForRegion:(NSString*)regionCode
{
NSDictionary *fontTypeDict = [regionDict objectForKey:fontType];
NSString *regionCode = [regionDict objectForKey:@"code"];
NSMutableDictionary *fontDict = [NSMutableDictionary dictionaryWithCapacity:2];
if (!fontTypeDict || !regionCode) return;
NSString *variableSizePref = [NSString stringWithFormat:@"font.size.variable.%@", regionCode];
NSString *fixedSizePref = [NSString stringWithFormat:@"font.size.fixed.%@", regionCode];
NSString *minSizePref = [NSString stringWithFormat:@"font.minimum-size.%@", regionCode];
BOOL gotFixed, gotVariable, gotMinSize;
int variableSize = [self getIntPref:[variableSizePref cString] withSuccess:&gotVariable];
int fixedSize = [self getIntPref:[fixedSizePref cString] withSuccess:&gotFixed];
int minSize = [self getIntPref:[minSizePref cString] withSuccess:&gotMinSize];
if (gotVariable)
[fontDict setObject:[NSNumber numberWithInt:variableSize] forKey:@"variable"];
if (gotFixed)
[fontDict setObject:[NSNumber numberWithInt:fixedSize] forKey:@"fixed"];
if (gotMinSize)
[fontDict setObject:[NSNumber numberWithInt:minSize] forKey:@"minimum"];
return fontDict;
}
- (void)saveFontNamePrefsForRegion:(NSDictionary*)regionDict forFontType:(NSString*)fontType;
{
NSString *regionCode = [regionDict objectForKey:@"code"];
if (!regionDict || !fontType || !regionCode) return;
NSDictionary* fontTypeDict = [regionDict objectForKey:fontType];
NSString *fontName = [fontTypeDict objectForKey:@"fontfamily"];
int fontSize = [[fontTypeDict objectForKey:@"fontsize"] intValue];
NSString *fontPrefName = [NSString stringWithFormat:@"font.name.%@.%@", fontType, regionCode];
NSString *sizeType = ([fontType isEqualToString:@"monospace"]) ? @"fixed" : @"variable";
NSString *fontSizeName = [NSString stringWithFormat:@"font.size.%@.%@", sizeType, regionCode];
if (fontName && fontSize > 0)
{
//NSLog(@"Setting '%@' to '%@' and '%@' to %d", fontPrefName, [theFont familyName], fontSizeName, (int)[theFont pointSize]);
if (fontName)
[self setPref:[fontPrefName cString] toString:fontName];
[self setPref:[fontSizeName cString] toInt:fontSize];
}
}
- (void)saveFontSizePrefsForRegion:(NSDictionary*)regionDict
{
NSString *regionCode = [regionDict objectForKey:@"code"];
NSString *variableSizePref = [NSString stringWithFormat:@"font.size.variable.%@", regionCode];
NSString *fixedSizePref = [NSString stringWithFormat:@"font.size.fixed.%@", regionCode];
NSString *minSizePref = [NSString stringWithFormat:@"font.minimum-size.%@", regionCode];
NSDictionary* fontSizeDict = [regionDict objectForKey:@"fontsize"];
int variableSize = [[fontSizeDict objectForKey:@"variable"] intValue];
int fixedSize = [[fontSizeDict objectForKey:@"fixed"] intValue];
int minSize = [[fontSizeDict objectForKey:@"minimum"] intValue];
if (variableSize)
[self setPref:[variableSizePref cString] toInt:variableSize];
if (fixedSize)
[self setPref:[fixedSizePref cString] toInt:fixedSize];
if (minSize)
[self setPref:[minSizePref cString] toInt:minSize];
else
[self clearPref:[minSizePref cString]];
}
#pragma mark -
- (void) saveFontsToDict:(NSMutableDictionary*)regionDict forFontType:(NSString*)fontType
- (void)saveFont:(NSFont*)font toDict:(NSMutableDictionary*)regionDict forType:(NSString*)fontType
{
NSMutableDictionary *fontTypeDict = [regionDict objectForKey:fontType];
NSMutableDictionary *fontSizeDict = [regionDict objectForKey:@"fontsize"];
BOOL missingFont = [[fontTypeDict objectForKey:@"missing"] boolValue]; // will be NO if no object
if (missingFont)
return;
NSFont *theFont = [[self getFontSampleForType:fontType] font];
if (theFont)
if (font)
{
[fontTypeDict setObject:[theFont familyName] forKey:@"fontfamily"];
[fontTypeDict setObject:[NSNumber numberWithInt:(int)[theFont pointSize]] forKey:@"fontsize"];
[fontTypeDict setObject:[font familyName] forKey:@"fontfamily"];
[fontSizeDict setObject:[NSNumber numberWithInt:(int)[font pointSize]] forKey:[self getFontSizeType:fontType]];
}
}
- (NSFont*)getFontOfType:(NSString*)fontType fromDict:(NSDictionary*)regionDict;
{
NSDictionary *fontTypeDict = [regionDict objectForKey:fontType];
NSDictionary *fontSizeDict = [regionDict objectForKey:@"fontsize"];
NSString *fontName = [fontTypeDict objectForKey:@"fontfamily"];
int fontSize = [[fontTypeDict objectForKey:@"fontsize"] intValue];
int fontSize = [[fontSizeDict objectForKey:[self getFontSizeType:fontType]] intValue];
NSFont *returnFont = nil;
@ -293,26 +394,27 @@
// returnFont = [NSFont fontWithName:fontName size:fontSize];
returnFont = [[NSFontManager sharedFontManager] fontWithFamily:fontName traits:0 weight:5 size:fontSize];
}
else if (fontName) // no size
else if (fontName)
{
// no size
returnFont = [[NSFontManager sharedFontManager] fontWithFamily:fontName traits:0 weight:5 size:16.0];
}
/*
if (returnFont == nil)
// if still no font, get defaults
if (fontName == nil && returnFont == nil)
returnFont = ([fontType isEqualToString:@"monospace"]) ?
[NSFont userFixedPitchFontOfSize:14.0] :
[NSFont userFontOfSize:16.0];
*/
// we return nil if the font was not found
return returnFont;
}
- (void)setupFontSamplesFromDict:(NSDictionary*)regionDict
{
[self setupFontSampleOfType:@"serif" fromDict:regionDict];
[self setupFontSampleOfType:@"sans-serif" fromDict:regionDict];
[self setupFontSampleOfType:@"serif" fromDict:regionDict]; // one of these...
[self setupFontSampleOfType:@"sans-serif" fromDict:regionDict]; // is a no-op
[self setupFontSampleOfType:@"monospace" fromDict:regionDict];
[self setupFontSampleOfType:@"cursive" fromDict:regionDict];
}
- (void)setupFontSampleOfType:(NSString*)fontType fromDict:(NSDictionary*)regionDict;
@ -334,11 +436,11 @@
{
if (regionDict)
{
NSString *fontName = [fontTypeDict objectForKey:@"fontfamily"];
int fontSize = [[fontTypeDict objectForKey:@"fontsize"] intValue];
NSDictionary *fontSizeDict = [regionDict objectForKey:@"fontsize"];
NSString *fontName = [fontTypeDict objectForKey:@"fontfamily"];
int fontSize = [[fontSizeDict objectForKey:[self getFontSizeType:fontType]] intValue];
// XXX localize
displayString = [NSString stringWithFormat:@"%@, %dpt (missing)", fontName, fontSize];
displayString = [NSString stringWithFormat:@"%@, %dpt %@", fontName, fontSize, [self getLocalizedString:@"Missing"]];
font = [NSFont userFontOfSize:14.0];
// set the missing flag in the dict
@ -374,35 +476,40 @@
- (void)updateFontSampleOfType:(NSString *)fontType
{
int selectedRow = [tableViewFontRegion selectedRow];
if (selectedRow == -1)
int selectedRegion = [popupFontRegion indexOfSelectedItem];
if (selectedRegion == -1)
return;
NSMutableDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRow];
NSMutableDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRegion];
NSTextField *sampleCell = [self getFontSampleForType:fontType];
NSFont *sampleFont = [[NSFontManager sharedFontManager] convertFont:[sampleCell font]];
// save the font in the dictionaries
[self saveFont:sampleFont toDict:regionDict forType:fontType];
// and update the sample
[self setFontSampleOfType:fontType withFont:sampleFont andDict:regionDict];
}
- (NSTextField*)getFontSampleForType:(NSString *)fontType
{
if ([fontType isEqualToString:@"serif"])
return fontSampleSerif;
if ([fontType isEqualToString:@"sans-serif"])
return fontSampleSansSerif;
if ([fontType isEqualToString:defaultFontType])
return fontSampleProportional;
if ([fontType isEqualToString:@"monospace"])
return fontSampleMonospace;
if ([fontType isEqualToString:@"cursive"])
return fontSampleCursive;
return nil;
}
- (NSString*)getFontSizeType:(NSString*)fontType
{
if ([fontType isEqualToString:@"monospace"])
return @"fixed";
return @"variable";
}
- (void)syncFontPanel
{
NSString *fontType = [[matrixChooseFont selectedCell] alternateTitle];
@ -411,66 +518,204 @@
[[NSFontManager sharedFontManager] setSelectedFont:newFont isMultiple:NO];
}
- (void)saveCurrentFonts
- (void)updateFontPreviews
{
int selectedRow = [tableViewFontRegion selectedRow];
if (selectedRow == -1)
int selectedRegion = [popupFontRegion indexOfSelectedItem];
if (selectedRegion == -1)
return;
NSDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRow];
NSDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRegion];
[self saveFontsToDict:regionDict forFontType:@"serif"];
[self saveFontsToDict:regionDict forFontType:@"sans-serif"];
[self saveFontsToDict:regionDict forFontType:@"monospace"];
[self saveFontsToDict:regionDict forFontType:@"cursive"];
}
[[matrixChooseFont cellWithTag:0] setAlternateTitle:defaultFontType];
@end
@implementation OrgMozillaChimeraPreferenceAppearance (FontRegionTableDelegate)
- (void)tableViewSelectionDidChange:(NSNotification *)aNotification
{
if ([aNotification object] != tableViewFontRegion)
return;
int selectedRow = [tableViewFontRegion selectedRow];
if (selectedRow == -1)
return;
NSDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRow];
// make sure the 'proportional' label matches
NSString* propLabelString = [NSString stringWithFormat:[self getLocalizedString:@"ProportionalLableFormat"], [self getLocalizedString:defaultFontType]];
[proportionalSampleLabel setStringValue:propLabelString];
[self setupFontSamplesFromDict:regionDict];
[self syncFontPanel];
}
- (BOOL)selectionShouldChangeInTableView:(NSTableView *)aTableView
#pragma mark -
const int kDefaultFontSerifTag = 0;
const int kDefaultFontSansSerifTag = 1;
- (IBAction)showAdvancedFontsDialog:(id)sender
{
[self saveCurrentFonts];
return YES;
int selectedRegion = [popupFontRegion indexOfSelectedItem];
if (selectedRegion == -1)
return;
NSDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRegion];
NSString* advancedLabel = [NSString stringWithFormat:[self getLocalizedString:@"AdditionalFontsLabelFormat"], [regionDict objectForKey:@"region"]];
[advancedFontsLabel setStringValue:advancedLabel];
// set up the dialog for the current region
[self setupFontPopup:serifFontPopup forType:@"serif" fromDict:regionDict];
[self setupFontPopup:sansSerifFontPopup forType:@"sans-serif" fromDict:regionDict];
[self setupFontPopup:cursiveFontPopup forType:@"cursive" fromDict:regionDict];
[self setupFontPopup:fantasyFontPopup forType:@"fantasy" fromDict:regionDict];
// setup min size popup
int itemIndex = 0;
NSMutableDictionary *fontSizeDict = [regionDict objectForKey:@"fontsize"];
NSNumber* minSize = [fontSizeDict objectForKey:@"minimum"];
if (minSize)
{
itemIndex = [minFontSizePopup indexOfItemWithTag:[minSize intValue]];
if (itemIndex == -1)
itemIndex = 0;
}
[minFontSizePopup selectItemAtIndex:itemIndex];
// set up default font radio buttons (default to serif)
[defaultFontMatrix selectCellWithTag:([defaultFontType isEqualToString:@"sans-serif"] ? kDefaultFontSansSerifTag : kDefaultFontSerifTag)];
[NSApp beginSheet:advancedFontsDialog
modalForWindow:[tabView window] // any old window accessor
modalDelegate:self
didEndSelector:@selector(advancedFontsSheetDidEnd:returnCode:contextInfo:)
contextInfo:NULL];
}
@end
@implementation OrgMozillaChimeraPreferenceAppearance (FontRegionTableDataSource)
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
- (IBAction)advancedFontsDone:(id)sender
{
if (aTableView == tableViewFontRegion)
return [regionMappingTable count];
// save settings
int selectedRegion = [popupFontRegion indexOfSelectedItem];
if (selectedRegion == -1)
return;
NSDictionary *regionDict = [regionMappingTable objectAtIndex:selectedRegion];
[self getFontFromPopup:serifFontPopup forType:@"serif" intoDict:regionDict];
[self getFontFromPopup:sansSerifFontPopup forType:@"sans-serif" intoDict:regionDict];
[self getFontFromPopup:cursiveFontPopup forType:@"cursive" intoDict:regionDict];
[self getFontFromPopup:fantasyFontPopup forType:@"fantasy" intoDict:regionDict];
int minSize = [[minFontSizePopup selectedItem] tag];
// a value of 0 indicates 'none'; we'll clear the pref on save
NSMutableDictionary *fontSizeDict = [regionDict objectForKey:@"fontsize"];
[fontSizeDict setObject:[NSNumber numberWithInt:(int)minSize] forKey:@"minimum"];
return 0;
// save the default font
[defaultFontType release];
defaultFontType = ([[defaultFontMatrix selectedCell] tag] == kDefaultFontSerifTag) ? @"serif" : @"sans-serif";
[defaultFontType retain];
[advancedFontsDialog orderOut:self];
[NSApp endSheet:advancedFontsDialog];
[self updateFontPreviews];
}
- (id)tableView:(NSTableView *)aTableView
objectValueForTableColumn:(NSTableColumn *)aTableColumn
row:(int)rowIndex
- (void)advancedFontsSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
{
NSParameterAssert(rowIndex >= 0 && rowIndex < [regionMappingTable count]);
NSDictionary* regionDict = [regionMappingTable objectAtIndex:rowIndex];
return [regionDict objectForKey:[aTableColumn identifier]];
}
const int kMissingFontPopupItemTag = 9999;
- (void)setupFontPopup:(NSPopUpButton*)popupButton forType:(NSString*)fontType fromDict:(NSDictionary*)regionDict
{
NSDictionary* fontTypeDict = [regionDict objectForKey:fontType];
NSString* defaultValue = [fontTypeDict objectForKey:@"fontfamily"];
[self buildFontPopup:popupButton];
// check to see if the font exists
NSFont *foundFont = nil;
if (defaultValue)
foundFont = [[NSFontManager sharedFontManager] fontWithFamily:defaultValue traits:0 weight:5 size:16.0];
else
{
foundFont = [fontType isEqualToString:@"monospace"]
? [NSFont userFixedPitchFontOfSize:16.0]
: [NSFont userFontOfSize:16.0];
defaultValue = [foundFont familyName];
}
if (!foundFont)
{
NSMenuItem* missingFontItem = [[popupButton menu] itemWithTag:kMissingFontPopupItemTag];
if (!missingFontItem)
{
missingFontItem = [[[NSMenuItem alloc] initWithTitle:@"temp" action:NULL keyEquivalent:@""] autorelease];
[missingFontItem setTag:kMissingFontPopupItemTag];
[[popupButton menu] addItem:missingFontItem];
}
NSString* itemTitle = [NSString stringWithFormat:@"%@ %@", defaultValue, [self getLocalizedString:@"Missing"]];
[missingFontItem setTitle:itemTitle];
[popupButton selectItem:missingFontItem];
}
else
{
// remove the missing item if it exists
NSMenuItem* missingFontItem = [[popupButton menu] itemWithTag:kMissingFontPopupItemTag];
if (missingFontItem)
[[popupButton menu] removeItem: missingFontItem];
[popupButton selectItemWithTitle:defaultValue];
}
}
- (void)getFontFromPopup:(NSPopUpButton*)popupButton forType:(NSString*)fontType intoDict:(NSDictionary*)regionDict
{
NSMenuItem* selectedItem = [popupButton selectedItem];
if ([selectedItem tag] != kMissingFontPopupItemTag)
[[regionDict objectForKey:fontType] setObject:[selectedItem title] forKey:@"fontfamily"];
}
- (void)buildFontPopup:(NSPopUpButton*)popupButton
{
NSMenu* menu = [popupButton menu];
[menu setAutoenablesItems:NO];
// remove existing items
while ([menu numberOfItems] > 0)
[menu removeItemAtIndex:0];
NSArray* fontList = [[NSFontManager sharedFontManager] availableFontFamilies];
NSArray* sortedFontList = [fontList sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
for (unsigned int i = 0; i < [sortedFontList count]; i ++)
{
NSString* fontFamilyName = [sortedFontList objectAtIndex:i];
unichar firstChar = [fontFamilyName characterAtIndex:0];
if (firstChar == unichar('.') || firstChar == unichar('#'))
continue; // skip fonts with ugly names
NSString* uiFamilyName = [[NSFontManager sharedFontManager] localizedNameForFamily:fontFamilyName face:nil];
NSMenuItem* newItem = [[NSMenuItem alloc] initWithTitle:uiFamilyName action:nil keyEquivalent:@""];
#if SUBMENUS_FOR_VARIANTS
NSArray* fontFamilyMembers = [[NSFontManager sharedFontManager] availableMembersOfFontFamily:fontFamilyName];
if ([fontFamilyMembers count] > 1)
{
NSMenu* familySubmenu = [[NSMenu alloc] initWithTitle:fontFamilyName];
[familySubmenu setAutoenablesItems:NO];
for (unsigned int j = 0; j < [fontFamilyMembers count]; j ++)
{
NSArray* fontFamilyItems = [fontFamilyMembers objectAtIndex:j];
NSString* fontItemName = [fontFamilyItems objectAtIndex:1];
NSMenuItem* newSubmenuItem = [[NSMenuItem alloc] initWithTitle:fontItemName action:nil keyEquivalent:@""];
[familySubmenu addItem:newSubmenuItem];
}
[newItem setSubmenu:familySubmenu];
}
else
{
// use the name from the font family info?
}
#endif
[menu addItem:newItem];
}
}
@end

Двоичный файл не отображается.

Просмотреть файл

@ -10,32 +10,46 @@
{
CLASS = NSPreferencePane;
LANGUAGE = ObjC;
OUTLETS = {_firstKeyView = id; _initialKeyView = id; _lastKeyView = id; _window = id; };
OUTLETS = {
"_firstKeyView" = id;
"_initialKeyView" = id;
"_lastKeyView" = id;
"_window" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
advancedFontsDone = id;
buttonClicked = id;
colorChanged = id;
fontChoiceButtonClicked = id;
fontRegionListClicked = id;
fontRegionPopupClicked = id;
showAdvancedFontsDialog = id;
};
CLASS = OrgMozillaChimeraPreferenceAppearance;
LANGUAGE = ObjC;
OUTLETS = {
advancedFontsDialog = NSPanel;
advancedFontsLabel = NSTextField;
checkboxUnderlineLinks = NSButton;
checkboxUseMyColors = NSButton;
colorwellBackgroundColor = NSColorWell;
colorwellTextColor = NSColorWell;
colorwellUnvisitedLinks = NSColorWell;
colorwellVisitedLinks = NSColorWell;
fontSampleCursive = NSTextField;
cursiveFontPopup = NSPopUpButton;
defaultFontMatrix = NSMatrix;
fantasyFontPopup = NSPopUpButton;
fontSampleMonospace = NSTextField;
fontSampleSansSerif = NSTextField;
fontSampleSerif = NSTextField;
fontSampleProportional = NSTextField;
matrixChooseFont = NSMatrix;
minFontSizePopup = NSPopUpButton;
popupFontRegion = NSPopUpButton;
proportionalSampleLabel = NSTextField;
sansSerifFontPopup = NSPopUpButton;
serifFontPopup = NSPopUpButton;
tabView = NSTabView;
tableViewFontRegion = NSTableView;
};
SUPERCLASS = PreferencePaneBase;
},

Просмотреть файл

@ -1,21 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>39 49 550 332 0 0 1280 1002 </string>
<string>646 106 458 263 0 0 1600 1002 </string>
<key>IBEditorPositions</key>
<dict>
<key>214</key>
<string>70 395 152 96 0 0 1152 746 </string>
</dict>
<key>IBFramework Version</key>
<string>248.0</string>
<key>IBOpenObjects</key>
<array>
<integer>99</integer>
</array>
<string>286.0</string>
<key>IBSystem Version</key>
<string>5S66</string>
<string>6D52</string>
</dict>
</plist>

Двоичные данные
camino/PreferencePanes/Appearance/English.lproj/Appearance.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,5 @@
"Missing" = "(missing)";
"ProportionalLableFormat" = "Proportional (%@):";
"serif" = "Serif";
"sans-serif" = "Sans-serif";
"AdditionalFontsLabelFormat" = "Additional fonts for %@ pages";

Двоичный файл не отображается.

Просмотреть файл

@ -5,10 +5,10 @@
CLASS = NSPreferencePane;
LANGUAGE = ObjC;
OUTLETS = {
_firstKeyView = NSView;
_initialKeyView = NSView;
_lastKeyView = NSView;
_window = NSWindow;
"_firstKeyView" = NSView;
"_initialKeyView" = NSView;
"_lastKeyView" = NSView;
"_window" = NSWindow;
};
SUPERCLASS = NSObject;
},
@ -28,12 +28,14 @@
checkboxLoadTabsInBackground = NSButton;
checkboxNewTabBlank = NSButton;
checkboxNewWindowBlank = NSButton;
checkboxOpenTabs = NSButton;
checkboxOpenTabsForAEs = NSButton;
checkboxUseSystemHomePage = NSButton;
sliderHistoryDays = NSSlider;
mDownloadFolder = NSTextField;
mEnableHelperApps = NSButton;
radioOpenForAE = id;
radioOpenTabsForCommand = id;
textFieldHistoryDays = NSTextField;
textFieldHomePage = NSTextField;
textFieldSearchPage = NSTextField;
};
SUPERCLASS = PreferencePaneBase;
},

Просмотреть файл

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>1166 344 522 320 1152 -88 1280 1024 </string>
<string>140 56 522 320 0 0 1280 1002 </string>
<key>IBFramework Version</key>
<string>248.0</string>
<string>286.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>5</key>
@ -22,6 +22,6 @@
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>5S60</string>
<string>6F21</string>
</dict>
</plist>

Двоичные данные
camino/PreferencePanes/Navigation/English.lproj/Navigation.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -27,18 +27,20 @@
{
// IBOutlet NSButton *buttonSystemPreferences;
IBOutlet NSTextField *textFieldHomePage;
IBOutlet NSTextField *textFieldSearchPage;
IBOutlet NSButton *checkboxUseSystemHomePage;
IBOutlet NSButton *checkboxNewTabBlank;
IBOutlet NSButton *checkboxNewWindowBlank;
IBOutlet NSButton *checkboxOpenTabs;
IBOutlet NSButton *checkboxOpenTabsForAEs;
IBOutlet id radioOpenTabsForCommand;
IBOutlet id radioOpenForAE;
IBOutlet NSButton *checkboxLoadTabsInBackground;
IBOutlet NSSlider *sliderHistoryDays;
IBOutlet NSTextField *textFieldHistoryDays;
IBOutlet NSTextField* mDownloadFolder;
IBOutlet NSButton* mEnableHelperApps;
}
- (IBAction)openSystemInternetPanel:(id)sender;
@ -51,6 +53,9 @@
- (NSString*)getSystemHomePage;
- (NSString*)getCurrentHomePage;
- (NSString*)getSystemSearchPage;
- (NSString*)getCurrentSearchPage;
-(IBAction) clearDiskCache:(id)aSender;
@end

Просмотреть файл

@ -24,17 +24,40 @@
#import <Carbon/Carbon.h>
#import "Navigation.h"
#import "NSString+Utils.h"
#include "nsCOMPtr.h"
#include "nsIServiceManager.h"
#include "nsIPrefBranch.h"
#include "nsIPref.h"
#include "nsIBrowserHistory.h"
#include "nsICacheService.h"
#include "nsILocalFileMac.h"
#include "nsDirectoryServiceDefs.h"
#include "nsString.h"
const int kDefaultExpireDays = 9;
@interface OrgMozillaChimeraPreferenceNavigation(Private)
- (NSString*)getInternetConfigString:(Str255)icPref;
- (NSString*)getDownloadFolderDescription;
@end
@implementation OrgMozillaChimeraPreferenceNavigation
- (id)initWithBundle:(NSBundle *)bundle
{
self = [super initWithBundle:bundle];
return self;
}
- (void)dealloc
{
[super dealloc];
}
- (void)mainViewDidLoad
{
@ -56,18 +79,33 @@ const int kDefaultExpireDays = 9;
expireDays = kDefaultExpireDays;
[textFieldHistoryDays setIntValue:expireDays];
[sliderHistoryDays setIntValue:expireDays];
[checkboxOpenTabs setState:[self getBooleanPref:"browser.tabs.opentabfor.middleclick" withSuccess:&gotPref]];
[checkboxOpenTabsForAEs setState:[self getBooleanPref:"browser.always_reuse_window" withSuccess:&gotPref]];
[radioOpenTabsForCommand selectCellWithTag:[self getBooleanPref:"browser.tabs.opentabfor.middleclick" withSuccess:&gotPref]];
[radioOpenForAE selectCellWithTag:[self getIntPref:"browser.reuse_window" withSuccess:&gotPref]];
// [checkboxOpenTabs setState:[self getBooleanPref:"browser.tabs.opentabfor.middleclick" withSuccess:&gotPref]];
// [checkboxOpenTabsForAEs setState:[self getBooleanPref:"browser.always_reuse_window" withSuccess:&gotPref]];
[checkboxLoadTabsInBackground setState:[self getBooleanPref:"browser.tabs.loadInBackground" withSuccess:&gotPref]];
BOOL useSystemHomePage = [self getBooleanPref:"chimera.use_system_home_page" withSuccess:&gotPref] && gotPref;
if (useSystemHomePage)
{
[textFieldHomePage setEnabled:NO];
[textFieldSearchPage setEnabled:NO];
}
[checkboxUseSystemHomePage setState:useSystemHomePage];
[textFieldHomePage setStringValue: [self getCurrentHomePage]];
[textFieldHomePage setStringValue: [self getCurrentHomePage]];
[textFieldSearchPage setStringValue: [self getCurrentSearchPage]];
[mEnableHelperApps setState:[self getBooleanPref:"browser.download.autoDispatch" withSuccess:&gotPref]];
NSString* downloadFolderDesc = [self getDownloadFolderDescription];
if ([downloadFolderDesc length] == 0)
downloadFolderDesc = [self getLocalizedString:@"MissingDlFolder"];
[mDownloadFolder setStringValue:[self getDownloadFolderDescription]];
}
- (void) didUnselect
@ -77,7 +115,10 @@ const int kDefaultExpireDays = 9;
// only save the home page pref if it's not the system one
if (![checkboxUseSystemHomePage state])
[self setPref: "browser.startup.homepage" toString: [textFieldHomePage stringValue]];
{
[self setPref: "browser.startup.homepage" toString: [textFieldHomePage stringValue]];
[self setPref: "chimera.search_page" toString: [textFieldSearchPage stringValue]];
}
// ensure that the prefs exist
[self setPref:"browser.startup.page" toInt: [checkboxNewWindowBlank state] ? 1 : 0];
@ -97,17 +138,21 @@ const int kDefaultExpireDays = 9;
if (!mPrefService)
return;
if (sender == checkboxOpenTabs) {
[self setPref:"browser.tabs.opentabfor.middleclick" toBoolean:[sender state]];
if (sender == radioOpenTabsForCommand) {
[self setPref:"browser.tabs.opentabfor.middleclick" toBoolean:[[sender selectedCell] tag]];
}
else if (sender == checkboxOpenTabsForAEs) {
[self setPref:"browser.always_reuse_window" toBoolean:[sender state]];
else if (sender == radioOpenForAE) {
[self setPref:"browser.reuse_window" toInt:[[sender selectedCell] tag]];
}
else if (sender == checkboxLoadTabsInBackground) {
[self setPref:"browser.tabs.loadInBackground" toBoolean:[sender state]];
}
else if (sender == mEnableHelperApps) {
[self setPref:"browser.download.autoDispatch" toBoolean:[sender state]];
}
}
- (IBAction)checkboxUseSystemHomePageClicked:(id)sender
{
if (!mPrefService)
@ -117,11 +162,17 @@ const int kDefaultExpireDays = 9;
// save the mozilla pref
if (useSystemHomePage)
[self setPref: "browser.startup.homepage" toString: [textFieldHomePage stringValue]];
{
[self setPref: "browser.startup.homepage" toString: [textFieldHomePage stringValue]];
[self setPref: "chimera.search_page" toString: [textFieldSearchPage stringValue]];
}
[self setPref:"chimera.use_system_home_page" toBoolean: useSystemHomePage];
[textFieldHomePage setStringValue: [self getCurrentHomePage]];
[textFieldHomePage setEnabled:!useSystemHomePage];
[textFieldHomePage setStringValue: [self getCurrentHomePage]];
[textFieldSearchPage setStringValue: [self getCurrentSearchPage]];
[textFieldHomePage setEnabled:!useSystemHomePage];
[textFieldSearchPage setEnabled:!useSystemHomePage];
}
- (IBAction)checkboxStartPageClicked:(id)sender
@ -144,9 +195,7 @@ const int kDefaultExpireDays = 9;
if (!mPrefService)
return;
if (sender == sliderHistoryDays)
[textFieldHistoryDays setIntValue:[sliderHistoryDays intValue]];
else if (sender == textFieldHistoryDays) {
if (sender == textFieldHistoryDays) {
// If any non-numeric characters were entered make some noise and spit it out.
if (([[textFieldHistoryDays stringValue] rangeOfCharacterFromSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]).length) {
BOOL gotPref;
@ -154,11 +203,9 @@ const int kDefaultExpireDays = 9;
if (!gotPref)
prefValue = kDefaultExpireDays;
[textFieldHistoryDays setIntValue:prefValue];
[sliderHistoryDays setIntValue:prefValue];
NSBeep ();
return;
} else
[sliderHistoryDays setIntValue:[textFieldHistoryDays intValue]];
}
}
[self setPref:"browser.history_expire_days" toInt:[sender intValue]];
@ -177,10 +224,44 @@ const int kDefaultExpireDays = 9;
hist->RemoveAllPages();
}
- (NSString*) getSystemHomePage
- (NSString*)getDownloadFolderDescription
{
NSMutableString* homePageString = [[[NSMutableString alloc] init] autorelease];
NSString* downloadStr = @"";
nsCOMPtr<nsIFile> downloadsDir;
NS_GetSpecialDirectory(NS_MAC_DEFAULT_DOWNLOAD_DIR, getter_AddRefs(downloadsDir));
if (!downloadsDir)
return downloadStr;
nsCOMPtr<nsILocalFileMac> macDir = do_QueryInterface(downloadsDir);
if (!macDir)
return downloadStr;
FSRef folderRef;
nsresult rv = macDir->GetFSRef(&folderRef);
if (NS_FAILED(rv))
return downloadStr;
FSCatalogInfo catInfo;
HFSUniStr255 fileName;
OSErr err = FSGetCatalogInfo(&folderRef, kFSCatInfoVolume, &catInfo, &fileName, NULL, NULL);
if (err != noErr)
return downloadStr;
HFSUniStr255 volName;
err = FSGetVolumeInfo(catInfo.volume, 0, NULL, kFSVolInfoNone, NULL, &volName, NULL);
if (err != noErr)
return downloadStr;
NSString* fileNameStr = [NSString stringWithCharacters:fileName.unicode length:fileName.length];
NSString* volumeNameStr = [NSString stringWithCharacters:volName.unicode length:volName.length];
return [NSString stringWithFormat:[self getLocalizedString:@"DownloadFolderDesc"], fileNameStr, volumeNameStr];
}
- (NSString*)getInternetConfigString:(Str255)icPref
{
NSString* resultString = @"";
ICInstance icInstance = NULL;
OSStatus error;
@ -189,21 +270,26 @@ const int kDefaultExpireDays = 9;
error = ICStart(&icInstance, 'CHIM');
if (error != noErr) {
NSLog(@"Error from ICStart");
return @"";
return resultString;
}
ICAttr dummyAttr;
Str255 homePagePStr;
long prefSize = sizeof(homePagePStr);
error = ICGetPref(icInstance, kICWWWHomePage, &dummyAttr, homePagePStr, &prefSize);
error = ICGetPref(icInstance, icPref, &dummyAttr, homePagePStr, &prefSize);
if (error == noErr)
[homePageString setString: [NSString stringWithCString: (const char*)&homePagePStr[1] length:homePagePStr[0]]];
resultString = [NSString stringWithCString: (const char*)&homePagePStr[1] length:homePagePStr[0]];
else
NSLog(@"Error getting home page from Internet Config");
NSLog(@"Error getting pref from Internet Config");
ICStop(icInstance);
return homePageString;
return resultString;
}
- (NSString*) getSystemHomePage
{
return [self getInternetConfigString:kICWWWHomePage];
}
- (NSString*) getCurrentHomePage
@ -216,6 +302,21 @@ const int kDefaultExpireDays = 9;
return [self getStringPref: "browser.startup.homepage" withSuccess:&gotPref];
}
- (NSString*)getSystemSearchPage
{
return [self getInternetConfigString:kICWebSearchPagePrefs];
}
- (NSString*)getCurrentSearchPage
{
BOOL gotPref;
if ([self getBooleanPref:"chimera.use_system_home_page" withSuccess:&gotPref] && gotPref)
return [self getSystemSearchPage];
return [self getStringPref: "chimera.search_page" withSuccess:&gotPref];
}
//
// clearDiskCache:
@ -229,4 +330,9 @@ const int kDefaultExpireDays = 9;
cacheServ->EvictEntries(nsICache::STORE_ON_DISK);
}
- (IBAction)checkboxEnableHelperApps:(id)sender
{
}
@end

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,2 @@
"Allow" = "Allow";
"Deny" = "Deny";

Просмотреть файл

@ -4,33 +4,41 @@
{
CLASS = NSPreferencePane;
LANGUAGE = ObjC;
OUTLETS = {_firstKeyView = id; _initialKeyView = id; _lastKeyView = id; _window = id; };
OUTLETS = {
"_firstKeyView" = id;
"_initialKeyView" = id;
"_lastKeyView" = id;
"_window" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
clearCookies = id;
clickAskAboutCookies = id;
clickAutoFillPasswords = id;
clickEnableCookies = id;
clickEnableJS = id;
clickEnableJava = id;
clickEnableLeaveEncrypted = id;
clickEnableLoadLowGrade = id;
clickEnableViewMixed = id;
clickPromptForCookie = id;
clickStorePasswords = id;
editCookieSites = id;
editCookieSitesDone = id;
launchKeychainAccess = id;
removeCookieSite = id;
};
CLASS = OrgMozillaChimeraPreferencePrivacy;
LANGUAGE = ObjC;
OUTLETS = {
mCookies = id;
mEnableJS = NSButton;
mEnableJava = NSButton;
mLeaveEncrypted = NSButton;
mLoadLowGrade = NSButton;
mPromptForCookie = NSButton;
mViewMixed = NSButton;
mAskAboutCookies = NSButton;
mAutoFillPasswords = NSButton;
mCookieSitePanel = id;
mCookiesEnabled = NSButton;
mEditSitesButton = NSButton;
mEditSitesText = NSTextField;
mSiteTable = NSTableView;
mStorePasswords = NSButton;
};
SUPERCLASS = NSPreferencePane;
}
SUPERCLASS = PreferencePaneBase;
},
{CLASS = PreferencePaneBase; LANGUAGE = ObjC; SUPERCLASS = NSPreferencePane; }
);
IBVersion = 1;
}

Просмотреть файл

@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>1218 97 356 240 1152 -88 1280 1024 </string>
<string>655 84 356 240 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>248.0</string>
<string>286.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>3</key>
@ -16,11 +16,7 @@
</dict>
<key>IBLastGroupID</key>
<string>4</string>
<key>IBOpenObjects</key>
<array>
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>5S60</string>
<string>6F21</string>
</dict>
</plist>

Двоичные данные
camino/PreferencePanes/Privacy/English.lproj/Privacy.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Двоичные данные
camino/PreferencePanes/Privacy/Privacy.tiff

Двоичный файл не отображается.

Просмотреть файл

@ -3,29 +3,45 @@
#import "PreferencePaneBase.h"
class nsIPref;
class nsIPermissionManager;
class nsISimpleEnumerator;
class nsISupportsArray;
@interface OrgMozillaChimeraPreferencePrivacy : PreferencePaneBase
{
IBOutlet id mCookies;
IBOutlet NSButton* mPromptForCookie;
IBOutlet NSButton* mCookiesEnabled;
IBOutlet NSButton* mAskAboutCookies;
IBOutlet id mCookieSitePanel;
IBOutlet NSButton* mEditSitesButton;
IBOutlet NSTextField* mEditSitesText;
IBOutlet NSButton* mEnableJS;
IBOutlet NSButton* mEnableJava;
IBOutlet NSButton* mStorePasswords;
IBOutlet NSButton* mAutoFillPasswords;
IBOutlet NSButton* mLeaveEncrypted;
IBOutlet NSButton* mLoadLowGrade;
IBOutlet NSButton* mViewMixed;
IBOutlet NSTableView* mSiteTable;
nsIPermissionManager* mManager; // STRONG (should be nsCOMPtr)
nsISupportsArray* mCachedPermissions; // parallel list of permissions for speed, STRONG (should be nsCOMPtr)
}
-(IBAction) clearCookies:(id)aSender;
-(IBAction) editCookieSites:(id)aSender;
-(IBAction) editCookieSitesDone:(id)aSender;
-(IBAction) removeCookieSite:(id)aSender;
- (void) editCookieSitesSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
// data source informal protocol (NSTableDataSource)
- (int)numberOfRowsInTableView:(NSTableView *)aTableView;
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex;
-(IBAction) clickPromptForCookie:(id)sender;
-(IBAction) clickEnableCookies:(id)sender;
-(IBAction) clickEnableJS:(id)sender;
-(IBAction) clickEnableJava:(id)sender;
-(IBAction) clickAskAboutCookies:(id)sender;
-(IBAction) clickEnableLeaveEncrypted:(id)sender;
-(IBAction) clickEnableLoadLowGrade:(id)sender;
-(IBAction) clickEnableViewMixed:(id)sender;
-(IBAction) clickStorePasswords:(id)sender;
-(IBAction) clickAutoFillPasswords:(id)sender;
-(IBAction) launchKeychainAccess:(id)sender;
// helpers going between the enable cookie checkbox and the mozilla pref
-(BOOL)mapCookiePrefToCheckbox:(int)inCookiePref;
-(int)mapCookieCheckboxToPref:(BOOL)inCheckboxValue;
@end

Просмотреть файл

@ -4,62 +4,92 @@
#include "nsIServiceManagerUtils.h"
#include "nsIPref.h"
#include "nsCCookieManager.h"
#include "nsIPermissionManager.h"
#include "nsISimpleEnumerator.h"
#include "nsIPermission.h"
#include "nsISupportsArray.h"
#include "nsXPIDLString.h"
#include "nsString.h"
// prefs for showing security dialogs
#define WEAK_SITE_PREF "security.warn_entering_weak"
#define LEAVE_SITE_PREF "security.warn_leaving_secure"
#define MIXEDCONTENT_PREF "security.warn_viewing_mixed"
// prefs for keychain password autofill
static const char* const gUseKeychainPref = "chimera.store_passwords_with_keychain";
static const char* const gAutoFillEnabledPref = "chimera.keychain_passwords_autofill";
const int kPromptForCookiesTag = 99;
const int kEnableAllCookies = 0;
const int kDisableAllCookies = 2;
@implementation OrgMozillaChimeraPreferencePrivacy
- (void) dealloc
{
NS_IF_RELEASE(mPrefService);
NS_IF_RELEASE(mManager);
[super dealloc];
}
//
// mapCookiePrefToCheckbox:
//
// Takes an int from the mozilla cookie pref and turns it into a BOOL
// that can be used by our "enable cookies" checkbox.
//
-(BOOL)mapCookiePrefToCheckbox:(int)inCookiePref
{
BOOL retval = YES;
if ( inCookiePref == kDisableAllCookies )
retval = NO;
return retval;
}
//
// mapCookieCheckboxToPref:
//
// Takes a BOOL from a checkbox and maps it to the mozilla pref values
//
-(int)mapCookieCheckboxToPref:(BOOL)inCheckboxValue
{
PRInt32 retval = kDisableAllCookies;
if ( inCheckboxValue )
retval = kEnableAllCookies;
return retval;
}
- (void)mainViewDidLoad
{
if ( !mPrefService )
return;
// Hookup cookie prefs. Relies on the tags of the radio buttons in the matrix being
// set such that "enable all" is 0 and "disable all" is 2. If mozilla has other prefs
// that we don't quite know about, we assume they were remapped by the PreferenceManager
// at startup.
PRInt32 acceptCookies = 0;
// Hookup cookie prefs. The "ask about" and "cookie sites" buttons need to
// be disabled when cookies aren't enabled because they aren't applicable.
PRInt32 acceptCookies = kEnableAllCookies;
mPrefService->GetIntPref("network.cookie.cookieBehavior", &acceptCookies);
if ( [mCookies selectCellWithTag:acceptCookies] != YES )
NS_WARNING("Bad value for network.cookie.cookieBehavior");
BOOL cookiesEnabled = [self mapCookiePrefToCheckbox:acceptCookies];
[mCookiesEnabled setState:cookiesEnabled];
if ( !cookiesEnabled ) {
[mAskAboutCookies setEnabled:NO];
[mEditSitesButton setEnabled:NO];
[mEditSitesText setTextColor:[NSColor lightGrayColor]];
}
PRBool warnAboutCookies = PR_TRUE;
mPrefService->GetBoolPref("network.cookie.warnAboutCookies", &warnAboutCookies);
[mPromptForCookie setState:(warnAboutCookies ? NSOnState : NSOffState)];
if ( warnAboutCookies )
[mAskAboutCookies setState:YES];
// Set initial value on Java/JavaScript checkboxes
// store permission manager service and cache the enumerator.
nsCOMPtr<nsIPermissionManager> pm ( do_GetService(NS_PERMISSIONMANAGER_CONTRACTID) );
mManager = pm.get();
NS_IF_ADDREF(mManager);
PRBool jsEnabled = PR_TRUE;
mPrefService->GetBoolPref("javascript.enabled", &jsEnabled);
[mEnableJS setState:(jsEnabled ? NSOnState : NSOffState)];
// Keychain checkboxes
PRBool javaEnabled = PR_TRUE;
mPrefService->GetBoolPref("security.enable_java", &javaEnabled);
[mEnableJava setState:(javaEnabled ? NSOnState : NSOffState)];
// Set initial value on Security checkboxes
PRBool leaveEncrypted = PR_TRUE;
mPrefService->GetBoolPref(LEAVE_SITE_PREF, &leaveEncrypted);
[mLeaveEncrypted setState:(leaveEncrypted ? NSOnState : NSOffState)];
PRBool loadLowGrade = PR_TRUE;
mPrefService->GetBoolPref(WEAK_SITE_PREF, &loadLowGrade);
[mLoadLowGrade setState:(loadLowGrade ? NSOnState : NSOffState)];
PRBool storePasswords = PR_TRUE;
mPrefService->GetBoolPref(gUseKeychainPref, &storePasswords);
[mStorePasswords setState:(storePasswords ? NSOnState : NSOffState)];
[mAutoFillPasswords setEnabled:storePasswords ? YES : NO];
PRBool viewMixed = PR_TRUE;
mPrefService->GetBoolPref(MIXEDCONTENT_PREF, &viewMixed);
[mViewMixed setState:(viewMixed ? NSOnState : NSOffState)];
PRBool autoFillPasswords = PR_TRUE;
mPrefService->GetBoolPref(gAutoFillEnabledPref, &autoFillPasswords);
[mAutoFillPasswords setState:(autoFillPasswords ? NSOnState : NSOffState)];
}
//
@ -74,70 +104,193 @@
cookieMonster->RemoveAll();
}
//
// clickPromptForCookie:
//
// Set if the user should be prompted for each cookie
//
-(IBAction) clickPromptForCookie:(id)sender
{
[self setPref:"network.cookie.warnAboutCookies" toBoolean:[sender state] == NSOnState];
}
//
// clickEnableCookies:
//
// Set cookie prefs. Relies on the tags of the radio buttons in the matrix being
// set such that "enable all" is 0 and "disable all" is 2.
// Set cookie prefs and updates the enabled/disabled states of the
// "ask" and "edit sites" buttons.
//
-(IBAction) clickEnableCookies:(id)sender
{
if ( !mPrefService )
return;
mPrefService->SetIntPref("network.cookie.cookieBehavior", [[mCookies selectedCell] tag]);
// set the pref
BOOL enabled = [mCookiesEnabled state];
[self setPref:"network.cookie.cookieBehavior" toInt:[self mapCookieCheckboxToPref:enabled]];
// update the buttons
[mAskAboutCookies setEnabled:enabled];
[mEditSitesButton setEnabled:enabled];
[mEditSitesText setTextColor:(enabled ? [NSColor blackColor] : [NSColor lightGrayColor])];
}
//
// clickEnableJS
//
// Set pref if JavaScript is enabled
//
-(IBAction) clickEnableJS:(id)sender
-(IBAction) clickAskAboutCookies:(id)sender
{
[self setPref:"javascript.enabled" toBoolean:[sender state] == NSOnState];
[self setPref:"network.cookie.warnAboutCookies" toBoolean:[sender state]];
}
//
// clickEnableJava
//
// Set pref if Java is enabled
//
-(IBAction) clickEnableJava:(id)sender
-(IBAction) editCookieSites:(id)aSender
{
[self setPref:"security.enable_java" toBoolean:[sender state] == NSOnState];
nsCOMPtr<nsISimpleEnumerator> permEnum;
if ( mManager )
mManager->GetEnumerator(getter_AddRefs(permEnum));
// build parallel permission list for speed with a lot of blocked sites
NS_NewISupportsArray(&mCachedPermissions); // ADDREFs
if ( mCachedPermissions && permEnum ) {
PRBool hasMoreElements = PR_FALSE;
permEnum->HasMoreElements(&hasMoreElements);
while ( hasMoreElements ) {
nsCOMPtr<nsISupports> curr;
permEnum->GetNext(getter_AddRefs(curr));
mCachedPermissions->AppendElement(curr);
permEnum->HasMoreElements(&hasMoreElements);
}
}
[NSApp beginSheet:mCookieSitePanel
modalForWindow:[mCookiesEnabled window] // any old window accessor
modalDelegate:self
didEndSelector:@selector(editCookieSitesSheetDidEnd:returnCode:contextInfo:)
contextInfo:NULL];
// ensure a row is selected (cocoa doesn't do this for us, but will keep
// us from unselecting a row once one is set; go figure).
[mSiteTable selectRow:0 byExtendingSelection:NO];
// we shouldn't need to do this, but the scrollbar won't enable unless we
// force the table to reload its data. Oddly it gets the number of rows correct,
// it just forgets to tell the scrollbar. *shrug*
[mSiteTable reloadData];
}
-(IBAction) editCookieSitesDone:(id)aSender
{
// save stuff
[mCookieSitePanel orderOut:self];
[NSApp endSheet:mCookieSitePanel];
NS_IF_RELEASE(mCachedPermissions);
}
- (void)editCookieSitesSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo
{
}
-(IBAction) removeCookieSite:(id)aSender
{
if ( mCachedPermissions && mManager ) {
// remove from parallel array and cookie permissions list
int row = [mSiteTable selectedRow];
// remove from permission manager (which is done by host, not by row), then
// remove it from our parallel array (which is done by row). Since we keep a
// parallel array, removing multiple items by row is very difficult since after
// deleting, the array is out of sync with the next cocoa row we're told to remove. Punt!
nsCOMPtr<nsISupports> rowItem = dont_AddRef(mCachedPermissions->ElementAt(row));
nsCOMPtr<nsIPermission> perm ( do_QueryInterface(rowItem) );
if ( perm ) {
nsXPIDLCString host;
perm->GetHost(getter_Copies(host));
mManager->Remove(nsDependentCString(host), 0); // could this api _be_ any worse? Come on!
mCachedPermissions->RemoveElementAt(row);
}
[mSiteTable reloadData];
}
}
//
// NSTableDataSource protocol methods
//
- (int)numberOfRowsInTableView:(NSTableView *)aTableView
{
PRUint32 numRows = 0;
if ( mCachedPermissions )
mCachedPermissions->Count(&numRows);
return (int) numRows;
}
- (id)tableView:(NSTableView *)aTableView objectValueForTableColumn:(NSTableColumn *)aTableColumn row:(int)rowIndex
{
NSString* retVal = nil;
if ( mCachedPermissions ) {
nsCOMPtr<nsISupports> rowItem = dont_AddRef(mCachedPermissions->ElementAt(rowIndex));
nsCOMPtr<nsIPermission> perm ( do_QueryInterface(rowItem) );
if ( perm ) {
if ( [[aTableColumn identifier] isEqualToString:@"Website"] ) {
// website url column
nsXPIDLCString host;
perm->GetHost(getter_Copies(host));
retVal = [NSString stringWithCString:host];
}
else {
// allow/deny column
PRBool capability = PR_FALSE; // false = deny, true = accept;
perm->GetCapability(&capability);
if ( capability )
retVal = [self getLocalizedString:@"Allow"];
else
retVal = [self getLocalizedString:@"Deny"];
}
}
}
return retVal;
}
//
// clickStorePasswords
//
-(IBAction) clickStorePasswords:(id)sender
{
if ( !mPrefService )
return;
if([mStorePasswords state] == NSOnState)
{
mPrefService->SetBoolPref("chimera.store_passwords_with_keychain", PR_TRUE);
[mAutoFillPasswords setEnabled:YES];
}
else
{
mPrefService->SetBoolPref("chimera.store_passwords_with_keychain", PR_FALSE);
[mAutoFillPasswords setEnabled:NO];
}
}
//
// clickEnableViewMixed:
// clickEnableLoadLowGrade:
// clickEnableLeaveEncrypted:
// clickAutoFillPasswords
//
// Set prefs for warnings/alerts wrt secure sites
// Set pref if autofill is enabled
//
-(IBAction) clickEnableViewMixed:(id)sender
-(IBAction) clickAutoFillPasswords:(id)sender
{
[self setPref:MIXEDCONTENT_PREF toBoolean:[sender state] == NSOnState];
if ( !mPrefService )
return;
mPrefService->SetBoolPref("chimera.keychain_passwords_autofill",
[mAutoFillPasswords state] == NSOnState ? PR_TRUE : PR_FALSE);
}
-(IBAction) clickEnableLoadLowGrade:(id)sender
-(IBAction) launchKeychainAccess:(id)sender
{
[self setPref:WEAK_SITE_PREF toBoolean:[sender state] == NSOnState];
FSRef fsRef;
CFURLRef urlRef;
OSErr err = ::LSGetApplicationForInfo('APPL', 'kcmr', NULL, kLSRolesAll, &fsRef, &urlRef);
if ( !err ) {
CFStringRef fileSystemURL = ::CFURLCopyFileSystemPath(urlRef, kCFURLPOSIXPathStyle);
[[NSWorkspace sharedWorkspace] launchApplication:(NSString*)fileSystemURL];
CFRelease(fileSystemURL);
}
}
-(IBAction) clickEnableLeaveEncrypted:(id)sender
{
[self setPref:LEAVE_SITE_PREF toBoolean:[sender state] == NSOnState];
}
@end

29
camino/PreferencePanes/Security/English.lproj/Security.nib/classes.nib сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,29 @@
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
CLASS = NSPreferencePane;
LANGUAGE = ObjC;
OUTLETS = {
"_firstKeyView" = id;
"_initialKeyView" = id;
"_lastKeyView" = id;
"_window" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
clickEnableLeaveEncrypted = id;
clickEnableLoadLowGrade = id;
clickEnableViewMixed = id;
};
CLASS = OrgMozillaChimeraPreferenceSecurity;
LANGUAGE = ObjC;
OUTLETS = {mLeaveEncrypted = NSButton; mLoadLowGrade = NSButton; mViewMixed = NSButton; };
SUPERCLASS = PreferencePaneBase;
},
{CLASS = PreferencePaneBase; LANGUAGE = ObjC; SUPERCLASS = NSPreferencePane; }
);
IBVersion = 1;
}

22
camino/PreferencePanes/Security/English.lproj/Security.nib/info.nib сгенерированный Normal file
Просмотреть файл

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>403 287 356 240 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>286.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>3</key>
<array>
<string>0</string>
<string>0</string>
</array>
</dict>
<key>IBLastGroupID</key>
<string>4</string>
<key>IBSystem Version</key>
<string>6D52</string>
</dict>
</plist>

Двоичные данные
camino/PreferencePanes/Security/English.lproj/Security.nib/objects.nib сгенерированный Normal file

Двоичный файл не отображается.

Двоичные данные
camino/PreferencePanes/Security/Security.tiff Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,18 @@
#import <Cocoa/Cocoa.h>
#import <PreferencePanes/NSPreferencePane.h>
#import "PreferencePaneBase.h"
class nsIPref;
@interface OrgMozillaChimeraPreferenceSecurity : PreferencePaneBase
{
IBOutlet NSButton* mLeaveEncrypted;
IBOutlet NSButton* mLoadLowGrade;
IBOutlet NSButton* mViewMixed;
}
-(IBAction) clickEnableLeaveEncrypted:(id)sender;
-(IBAction) clickEnableLoadLowGrade:(id)sender;
-(IBAction) clickEnableViewMixed:(id)sender;
@end

Просмотреть файл

@ -0,0 +1,64 @@
#import "SecurityPane.h"
#include "nsCOMPtr.h"
#include "nsIServiceManagerUtils.h"
#include "nsIPref.h"
// prefs for showing security dialogs
#define WEAK_SITE_PREF "security.warn_entering_weak"
#define LEAVE_SITE_PREF "security.warn_leaving_secure"
#define MIXEDCONTENT_PREF "security.warn_viewing_mixed"
@implementation OrgMozillaChimeraPreferenceSecurity
- (void) dealloc
{
[super dealloc];
}
- (void)mainViewDidLoad
{
if ( !mPrefService )
return;
// Set initial value on Security checkboxes
PRBool leaveEncrypted = PR_TRUE;
mPrefService->GetBoolPref(LEAVE_SITE_PREF, &leaveEncrypted);
[mLeaveEncrypted setState:(leaveEncrypted ? NSOnState : NSOffState)];
PRBool loadLowGrade = PR_TRUE;
mPrefService->GetBoolPref(WEAK_SITE_PREF, &loadLowGrade);
[mLoadLowGrade setState:(loadLowGrade ? NSOnState : NSOffState)];
PRBool viewMixed = PR_TRUE;
mPrefService->GetBoolPref(MIXEDCONTENT_PREF, &viewMixed);
[mViewMixed setState:(viewMixed ? NSOnState : NSOffState)];
}
//
// clickEnableViewMixed:
// clickEnableLoadLowGrade:
// clickEnableLeaveEncrypted:
//
// Set prefs for warnings/alerts wrt secure sites
//
-(IBAction) clickEnableViewMixed:(id)sender
{
[self setPref:MIXEDCONTENT_PREF toBoolean:[sender state] == NSOnState];
}
-(IBAction) clickEnableLoadLowGrade:(id)sender
{
[self setPref:WEAK_SITE_PREF toBoolean:[sender state] == NSOnState];
}
-(IBAction) clickEnableLeaveEncrypted:(id)sender
{
[self setPref:LEAVE_SITE_PREF toBoolean:[sender state] == NSOnState];
}
@end

Просмотреть файл

@ -24,4 +24,8 @@ class nsIPref;
- (void)setPref: (const char*)prefName toBoolean:(BOOL)value;
- (void)setPref: (const char*)prefName toInt:(int)value;
- (void)clearPref: (const char*)prefName;
- (NSString*)getLocalizedString:(NSString*)key;
@end

Просмотреть файл

@ -129,4 +129,16 @@
}
}
- (void)clearPref: (const char*)prefName
{
if (mPrefService) {
mPrefService->ClearUserPref(prefName);
}
}
- (NSString*)getLocalizedString:(NSString*)key
{
return NSLocalizedStringFromTableInBundle(key, nil, [NSBundle bundleForClass:[self class]], @"");
}
@end

Просмотреть файл

@ -0,0 +1,35 @@
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{
CLASS = NSPreferencePane;
LANGUAGE = ObjC;
OUTLETS = {
"_firstKeyView" = id;
"_initialKeyView" = id;
"_lastKeyView" = id;
"_window" = id;
};
SUPERCLASS = NSObject;
},
{
ACTIONS = {
clickEnableJS = id;
clickEnableJava = id;
clickEnablePlugins = id;
clickEnablePopupBlocking = id;
};
CLASS = OrgMozillaChimeraPreferenceWebFeatures;
LANGUAGE = ObjC;
OUTLETS = {
mEnableJS = NSButton;
mEnableJava = NSButton;
mEnablePlugins = NSButton;
mEnablePopupBlocking = NSButton;
};
SUPERCLASS = PreferencePaneBase;
},
{CLASS = PreferencePaneBase; LANGUAGE = ObjC; SUPERCLASS = NSPreferencePane; }
);
IBVersion = 1;
}

Просмотреть файл

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>302 81 356 240 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>286.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>3</key>
<array>
<string>0</string>
<string>0</string>
</array>
</dict>
<key>IBLastGroupID</key>
<string>4</string>
<key>IBSystem Version</key>
<string>6D52</string>
</dict>
</plist>

Двоичные данные
camino/PreferencePanes/WebFeatures/English.lproj/WebFeatures.nib/objects.nib сгенерированный Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -0,0 +1,22 @@
#import <Cocoa/Cocoa.h>
#import <PreferencePanes/NSPreferencePane.h>
#import "PreferencePaneBase.h"
class nsIPref;
@interface OrgMozillaChimeraPreferenceWebFeatures : PreferencePaneBase
{
IBOutlet NSButton* mEnableJS;
IBOutlet NSButton* mEnableJava;
IBOutlet NSButton* mEnablePlugins;
IBOutlet NSButton *mEnablePopupBlocking;
}
-(IBAction) clickEnableJS:(id)sender;
-(IBAction) clickEnableJava:(id)sender;
-(IBAction) clickEnablePlugins:(id)sender;
-(IBAction) clickEnablePopupBlocking:(id)sender;
@end

Просмотреть файл

@ -0,0 +1,91 @@
#import "WebFeatures.h"
#include "nsCOMPtr.h"
#include "nsIServiceManagerUtils.h"
#include "nsIPref.h"
@implementation OrgMozillaChimeraPreferenceWebFeatures
- (void) dealloc
{
[super dealloc];
}
- (void)mainViewDidLoad
{
if ( !mPrefService )
return;
// Set initial value on Java/JavaScript checkboxes
PRBool jsEnabled = PR_TRUE;
mPrefService->GetBoolPref("javascript.enabled", &jsEnabled);
[mEnableJS setState:(jsEnabled ? NSOnState : NSOffState)];
PRBool javaEnabled = PR_TRUE;
mPrefService->GetBoolPref("security.enable_java", &javaEnabled);
[mEnableJava setState:(javaEnabled ? NSOnState : NSOffState)];
PRBool pluginsEnabled = PR_TRUE;
mPrefService->GetBoolPref("chimera.enable_plugins", &pluginsEnabled);
[mEnablePlugins setState:(pluginsEnabled ? NSOnState : NSOffState)];
// set initial value on popup blocking checkbox
BOOL gotPref = NO;
BOOL enablePopupBlocking = [self getBooleanPref:"dom.disable_open_during_load" withSuccess:&gotPref] && gotPref;
[mEnablePopupBlocking setState:enablePopupBlocking];
}
//
// clickEnableJS
//
// Set pref if JavaScript is enabled
//
-(IBAction) clickEnableJS:(id)sender
{
[self setPref:"javascript.enabled" toBoolean:[sender state] == NSOnState];
}
//
// clickEnableJava
//
// Set pref if Java is enabled
//
-(IBAction) clickEnableJava:(id)sender
{
[self setPref:"security.enable_java" toBoolean:[sender state] == NSOnState];
}
//
// clickEnablePlugins
//
// Set pref if plugins are enabled
//
-(IBAction) clickEnablePlugins:(id)sender
{
[self setPref:"chimera.enable_plugins" toBoolean:[sender state] == NSOnState];
}
//
// clickEnablePopupBlocking
//
// Enable and disable mozilla's popup blocking feature. We use a combination of
// two prefs to suppress bad popups.
//
- (IBAction)clickEnablePopupBlocking:(id)sender
{
if ( [sender state] ) {
[self setPref:"dom.disable_open_during_load" toBoolean: YES];
[self setPref:"dom.disable_open_click_delay" toInt: 1000];
}
else {
[self setPref:"dom.disable_open_during_load" toBoolean: NO];
[self setPref:"dom.disable_open_click_delay" toInt: 0];
}
}
@end

Двоичные данные
camino/PreferencePanes/WebFeatures/WebFeatures.tiff Normal file

Двоичный файл не отображается.

74
camino/docs/ReadMe.rtf Normal file
Просмотреть файл

@ -0,0 +1,74 @@
{\rtf1\mac\ansicpg10000\cocoartf102
\readonlydoc1{\fonttbl\f0\fswiss\fcharset77 Optima-Bold;\f1\fswiss\fcharset77 Optima-Regular;\f2\fswiss\fcharset77 Helvetica;
\f3\fnil\fcharset77 Monaco;}
{\colortbl;\red255\green255\blue255;\red4\green16\blue255;}
\margl1440\margr1440\vieww13740\viewh16200\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs48 \cf0 Chimera Read Me\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf2 http://www.mozilla.org/projects/chimera/\cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f2 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1 \cf0 Thank you for downloading Chimera! Please take a moment to read this information to find out about what\'d5s new in Chimera, and to learn about known issues.\
\
Chimera is still under development. It is stable enough to use day-to-day, but you may still encounter bugs. You should always keep backup copies of important data that you use with Chimera (e.g. your bookmarks file). \
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs36 \cf0 Installation
\f1\b0\fs24 \
\
To install Chimera, simply drag the Navigator icon onto your hard disk. We recommend that you copy it to the Applications folder. You can then Eject the disk image. If you like, you can drag Navigator to your dock to have it easily accessible at all times. You might also wish to select Navigator as your default browser in the Internet system preferences pane (under the Web tab). Note that although the project is called \'d2Chimera\'d3, the name of the application is \'d2Navigator\'d3.\
\
After installation, you may want to import bookmarks from another browser. Run Navigator, choose \'d3Manage Bookmarks\'d3 from the Bookmarks menu, and choose \'d2Import Bookmarks\'d3 from the submenu. In the resulting file dialog, choose the bookmarks file you wish to import, and click Open. The bookmarks will be imported.\
\
\f0\b\fs36 Where information is kept on disk
\f1\b0\fs24 \
\
When you first run Chimera, it makes a folder in
\f3\fs20 ~/Library/Application Support/
\f1\fs24 (where
\f3\fs20 ~
\f1\fs24 is your Home directory) called \'d2Chimera\'d3. A folder down inside this folder contains your \'d3profile\'d3 information (bookmarks, cookies, cache etc). One of the containing folders has an odd-looking \'d2salted\'d3 name for security reasons.\
\
There are two files in your profile that you might need to know about. First,
\f3\fs20 bookmarks.xml
\f1\fs24 contains your bookmarks. You might want to regularly make copies of this file if you run nightly builds.
\f3\fs20 prefs.js
\f1\fs24 contains most of the application preferences. Not all preferences are exposed in the preferences window yet, so you might see advice to \'d2edit your prefs file\'d3. To do that, drag prefs.js onto your favorite editor, make whatever changes are necessary, and save. Make sure the file gets saved in plain text format.\
\
\f0\b\fs36 Uninstall
\f1\b0\fs24 \
\
To get rid of all the files related to Chimera, do the following:\
\
1. Drag the Navigator icon to the trash\
2. Drag the
\f3\fs20 ~/Library/Application Support/Chimera
\f1\fs24 folder to the trash\
\
\f0\b\fs36 Changes, and known issues, in this version\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf0 \
See the accompanying \'d2Release Notes\'d3 file for information about what has changed in this version of Chimera, and a list of the known issues.\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs36 \cf0 More information, and feedback\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf0 \
To find out more about Chimera, see the project page at:\
\
\cf2 http://www.mozilla.org/projects/chimera/\cf0 \
\
This page contains information about how to give feedback on Chimera, has links that allow you to query for known bugs, see what\'d5s going on with current development, and about how to build it yourself from source.}

Просмотреть файл

@ -0,0 +1,156 @@
{\rtf1\mac\ansicpg10000\cocoartf100
\readonlydoc1{\fonttbl\f0\fswiss\fcharset77 Optima-Bold;\f1\fswiss\fcharset77 Optima-Regular;\f2\fswiss\fcharset77 Optima-Italic;
\f3\fnil\fcharset77 Monaco;}
{\colortbl;\red255\green255\blue255;\red4\green16\blue255;}
\margl1440\margr1440\vieww12200\viewh15420\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs48 \cf0 Chimera 0.5 Release Notes\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf2 http://www.mozilla.org/projects/chimera/\cf0 \
\
The focus of Chimera 0.5 is bug fixing. The Chimera 0.5 release delivers a significant number of improvements over Chimera 0.4. Most notably, performance has improved significantly when a large number of tabs are open. Other bug fixes are described below.\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs36 \cf0 New and improved features in Chimera 0.5\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf0 \
The following bug fixes and improvements have been made since Chimera 0.4:\
\
\pard\tx360\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\sl320\ql\qnatural
\f2\i \cf0 Performance:\
\f1\i0 \'a5 Performance is much better with large numbers of tabs open. The tabs are now all equal width, and can show the site icon (which is draggable).\
\f2\i Downloading:\
\f1\i0 \'a5 A downloading dialog is shown now, for file downloads, and when saving pages. A number of bugs were fixed, related to the download file disappearing, and downloading BinHex files.\
\f2\i Plugins:\
\f1\i0 \'a5 Several fixes make the Java plugin more stable now, particularly on Mac OS 10.2.\
\'a5 Some other plugin drawing and stability fixes were done.\
\f2\i Internationalization:\
\f1\i0 \'a5 Fixed display of non-Roman characters in bookmarks text in the UI.\
\'a5 Added the Universal Character set detector, which improves the display of pages in non-Roman character encodings.\
\'a5 Changed the package layout of the Navigator package to allow for localizations.\
\'a5 Typing in Japanese and other multi-byte languages mostly works now.\
\f2\i Bookmarks:\
\f1\i0 \'a5 Importing of bookmarks files containing illegal characters was made more reliable, and can no longer leave you with a corrupted bookmarks file.\
\'a5 Fixed some issues that caused a multi-line bookmarks toolbar to display incorrectly.\
\f2\i Keyboard shortcuts:\
\f1\i0 \'a5 Changed forward/back and next/previous tab keyboard shortcuts, to avoid conflicting with the use of Command-arrow key combinations for text navigation.\
\f2\i Drag and drop:\
\f1\i0 \'a5 Improved dragging of links from browser window; page links can now be dragged onto other tabs, into the bookmarks sidebar, and onto the bookmarks toolbar.\
\'a5 Improved drag and drop of bookmarks, and items on the bookmarks toolbar, which can now be reordered, dragged to the trash to delete them, and cloned with option-drag.\
\'a5 You can now drag bookmarks and links to tabs, and drag from tabs to other tabs or bookmark locations (click on the tab icon to drag). Dragging into the background area behind the tabs will create a new tab.\
\f2\i Copy and paste:\
\f1\i0 \'a5 Fixed some issues with linebreaks, and Unicode data, when copying and pasting between Chimera and other applications.\
\f2\i Tabbed browsing:\
\f1\i0 \'a5 New tabs now always appear on the right-hand side of the tabbed browser view, because having tabs appear next to the current view confused some users.\
\f2\i User Interface:\
\f1\i0 \'a5 Added site icons (favicons) for the url bar, and tabs. You can also make them visible for bookmarks by setting the pref
\f3\fs20 browser.chrome.favicons
\f1\fs24 to
\f3\fs20 true
\f1\fs24 in
\f3\fs20 prefs.js
\f1\fs24 , but this can cause some page-loading delays at startup.\
\'a5 Added some updated icons for various toolbar buttons.\
\f2\i Search:\
\f1\i0 \'a5 The search page (loaded in response to Go->Search Page) uses the Internet Config setting now. Unfortunately, Apple removed UI for that setting from the Internet system preferences pane in Mac OS 10.2 (Jaguar). See the \'d2Known issues\'d3 section below for a workaround.\
\f2\i Other:\
\f1\i0 \'a5 The Build ID, which identifies the day the build was made, is shown on the splash screen, and in the About window now.\
\'a5 Updated Chimera to use a more recent version of the Mozilla 1.0 code, which brings with it changes in many parts of the code, many of which are security related.\
\'a5 On quitting, the prefs.js file is backed up now to prefs.bak.\
\'a5 Holding down the shift key while clicking the reload button always fetches the page from the server now.\
\'a5 XHTML files are loaded correctly now.\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs36 \cf0 Known issues
\f1\b0\fs24 \
\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\cf0 \'a5 Cosmetic issues occur with many plugins, especially if you switch tabs on pages with plugins. Some stability issues affect plugins; visiting pages with some plugins can crash.\
\'a5 Sometimes, on Mac OS 10.2 (Jaguar), Navigator won\'d5t stick as your default browser. If you have this problem, try removing the following files:\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\f3\fs20 \cf0 ~/Library/Caches/com.apple.LaunchServices.UserCache.csstore
\f1\fs24 (where ~ is your Home directory)
\f3\fs20 \
/Library/Caches/com.apple.LaunchServices.LocalCache.csstore\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\f1\fs24 \cf0 and reboot your machine.\
\'a5 Typing in Japanese, and other multi-byte languages, is not fully implemented yet.\
\'a5 You may see some redraw issues when pasting into textareas, and doing Find Again. Resizing the window will correct these.\
\'a5 Sometimes, a background window will pop to the front when its page finishes loading.\
\'a5 For reasons not yet understood, Chimera will sometimes use a lot of CPU time for a few minutes, then gradually reduce to its usual low CPU usage. This seems to happen mostly after waking from sleep.\
\'a5 The Fonts tab of the Appearance prefs pane is work in progress. In particular, the font sizes can interfere with eachother, and sometimes the fonts default back to Lucida Grande.\
\'a5 Services support isn\'d5t fully implemented in the web content yet.\
\'a5 There is no way to export bookmarks to HTML at present.\
\'a5 Dragging an image to the Finder doesn\'d5t do the right thing.\
\'a5 In Mac OS 10.2 (Jaguar), form buttons sometimes draw incorrectly (with a horizontal stripe).\
\'a5 Trying to import a large bookmarks file sometimes fails to import all of the bookmarks. Breaking the file into a number of smaller files should help.\
\'a5 After doing a \'d2View Source\'d3\'caon a page, you can\'d5t save the page source. As a workaround, save the original page as HTML, or Select All in the source, and Copy.\
\'a5 There is no History visible in the UI by default. You can make the History tab in the sidebar visible by adding this line to your
\f3\fs20 prefs.js
\f1\fs24 file in the Chimera profile folder:\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\f3\fs20 \cf0 user_pref("chimera.show_history", true);\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\f1\fs24 \cf0 \'a5 If your machine crashes while Navigator is running, sometimes Navigator will refuse to launch afterwards, stating that another copy is already running. To fix this, go into your Chimera profile folder, in\
\f3\fs20 ~/Library/Application Support/Chimera/Profiles/default/<salted name>/\
\f1\fs24 and delete the file called
\f3\fs20 lock
\f1\fs24 .\
\'a5 The Go->Search Page command always loads an excite.com url in Mac OS 10.2 (Jaguar), and there is no system UI to change it. As a workaround, you can edit a string in the Navigator package to set your preferred search page. Context-click on the Navigator icon, and choose \'d2Show Package Contents\'d3. In the resulting Finder window, go down into Contents/Resources, and open the
\f3\fs20 WebsiteDefaults.strings
\f1\fs24 \'cafile in your favorite text editor. On the line containing
\f3\fs20 SearchPageDefault
\f1\fs24 , remove the
\f3\fs20 /*
\f1\fs24 at the start, change
\f3\fs20 www.dmoz.org
\f1\fs24 to your preferred search site, and delete everything after the semicolon. Then save the file.\
\'a5 After blocking popups for the first time, there is no way to have popups show up again. If you need popups to work (say, to access a site that requires them, edit your
\f3\fs20 prefs.js
\f1\fs24 file, changing the line that contains
\f3\fs20 dom.disable_open_during_load
\f1\fs24 to:\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\f3\fs20 \cf0 user_pref("dom.disable_open_during_load", false);\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\fs24 \cf0 \
To find out more about known issues in Chimera, see the project page, at \cf2 http://www.mozilla.org/projects/chimera/\cf0 .\
}

Просмотреть файл

@ -0,0 +1,101 @@
{\rtf1\mac\ansicpg10000\cocoartf102
\readonlydoc1{\fonttbl\f0\fswiss\fcharset77 Optima-Bold;\f1\fswiss\fcharset77 Optima-Regular;\f2\fswiss\fcharset77 Optima-Italic;
\f3\fnil\fcharset77 Monaco;}
{\colortbl;\red255\green255\blue255;\red4\green16\blue255;}
\margl1440\margr1440\vieww13960\viewh15920\viewkind0
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs48 \cf0 Chimera 0.6 Release Notes\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf2 http://www.mozilla.org/projects/chimera/\cf0 \
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs36 \cf0 New and improved features in Chimera 0.6\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\b0\fs24 \cf0 \
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f2\i \cf0 Important
\f1\i0 \
\
There is a known issue with Chimera and Macromedia Shockwave Flash 6.0r47, which can cause crashes. To avoid this, download the Macromedia Flash Player 6 Beta from \cf2 http://www.macromedia.com/software/flashplayer/special/beta/\cf0 .\
\
The following bug fixes and improvements have been made since Chimera 0.5:\
\
\pard\tx360\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\sl320\ql\qnatural
\f2\i \cf0 New features\
\
\f1\i0 \'a5 Added support of Keychain to save web site passwords.\
\'a5 Buttons for \'d2Bigger Text\'d3/\'d2Smaller Text\'d3, and \'d2Add Bookmark\'d3 can now be added to the main toolbar.\
\'a5 Can now bring up contextual menus on tabs, to close or reload them.\
\'a5 Can now set your preferred search page in the preferences.\
\'a5 Clicking the proxy icon (next to the url bar) now selects the url.\
\'a5 Can now edit the list of sites from which you wish to accept cookies.\
\'a5 Added Talkback, which reports data about crashes back to Netscape.\
\f2\i \
Bug fixes\
\
\f1\i0 \'a5 Improved stability and fixed a number of drawing issues with plugins\
\'a5 Fix startup crash when RealPlayer is installed.\
\'a5 Disk image (\'d2.dmg\'d3) files downloaded from misconfigured web servers no longer load in the browser window\
\'a5 Changed the scheme used to detect whether other copies of Chimera are running, to fix stale lock problems.\
\'a5 Local file listings work now (drag a folder from the Finder into the browser window).\
\'a5 The expanded state of bookmark folders in the sidebar is now saved between sessions.\
\'a5 Rearranged the Preference panes; exposed preferences to re-enable popups, and disable plugins.\
\'a5 The font preferences in the Appearance preferences pane was redone to simplify it, and fix bugs.\
\'a5 Fixed various security issues in the layout engine.\
\'a5 Saving a page with non-Roman characters in the title works better now.\
\'a5 Fixed the keyboard shortcuts for forward/back to respect Command-arrow combinations, when not editing text.\
\'a5 Improved drag and drop support between Chimera and Carbon applications, and to the dock.\
\'a5 Fixed some problems launching helper applications on Mac OS 10.1\
\'a5 Fixed some cosmetic issues toggling the visibility of the bookmarks toolbar.\
\'a5 Changed the default bookmarks for new profiles.\
\'a5 Fixed some issues with importing large bookmarks files.\
\'a5 If loading the bookmarks file fails, because it is invalid XML, save a "parser error" file that indicates where the problem lies.\
\'a5 Chimera's User-Agent string now contains "Chimera" to allow for browser tracking.\
\'a5 Various memory leaks were fixed\
\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f0\b\fs36 \cf0 Known issues
\f1\b0\fs24 \
\
\pard\tx360\tx1080\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\li360\fi-360\ql\qnatural
\cf0 \'a5 Cosmetic issues occur with some plugins, notably Java, RealPlayer video, and QuickTime, particularly when scrolling. To work around problems displaying RealPlayer videos, open another tab, then back to the tab with the video.\
\'a5 Clicking and typing in Java applets doesn\'d5t always work correctly.\
\'a5 Crashes can occur with \'d2scriptable\'d3\'caplugins which are built for previous Netscape browsers. To avoid this, go into your
\f3\fs20 /Library/Internet Plug-ins
\f1\fs24 folder, and remove the files that have ".xpt" extensions. Note that this will disable some plugin capabilities in Netscape browsers, but will prevent Chimera from crashing.\
\'a5 Chimera may crash at startup if your home directory is on a network volume.\
\'a5 Page Setup options are not honored yet, and there are issues with the Print dialog on Mac OS 10.1.\
\'a5 Sometimes, on Mac OS 10.2 (Jaguar), Navigator won\'d5t stick as your default browser. If you have this problem, try removing the following files:\
\f3\fs20 ~/Library/Caches/com.apple.LaunchServices.UserCache.csstore
\f1\fs24 (where ~ is your Home directory)
\f3\fs20 \
/Library/Caches/com.apple.LaunchServices.LocalCache.csstore\
\f1\fs24 and reboot your machine.\
\'a5 Sometimes, a background window will pop to the front when its page finishes loading.\
\'a5 Chimera will sometimes use a lot of CPU after waking from sleep. To avoid this, close Chimera windows before putting the machine to sleep.\
\'a5 Services support isn\'d5t fully implemented in the web content yet.\
\'a5 There is no way to export bookmarks to HTML.\
\'a5 Dragging an image to the Finder doesn\'d5t do the right thing.\
\'a5 After doing a \'d2View Source\'d3\'caon a page, you can\'d5t save the page source. As a workaround, save the original page as HTML, or Select All in the source, and Copy.\
\'a5 There is no History visible in the UI by default. You can make the History tab in the sidebar visible by adding this line to your
\f3\fs20 prefs.js
\f1\fs24 file in the Chimera profile folder:\
\f3\fs20 user_pref("chimera.show_history", true);\
\pard\tx720\tx1440\tx2160\tx2880\tx3600\tx4320\tx5040\tx5760\tx6480\tx7200\tx7920\tx8640\ql\qnatural
\f1\fs24 \cf0 \
To find out more about known issues in Chimera, see the project page, at \cf2 http://www.mozilla.org/projects/chimera/\cf0 .\
}

Просмотреть файл

@ -0,0 +1,14 @@
Checklist of things to do before releasing a new Chimera version:
- Update version number in project file
- Update version number in chimera.js
- Update version number in Credits.rtf
- Update version number in InfoPlist.strings
- Flip switch on Talkback server to enable wizard UI
- Check in new release notes
- Update automation to pick up new release notes
- Run a new automated build
- Tag the tree
- Move the build to releases/
- Flip the wizard UI switch back to off on the Talkback server
- Update version number in chimera.js to (N.n+)

Просмотреть файл

@ -0,0 +1,94 @@
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* ***** BEGIN LICENSE BLOCK *****
* Version: NPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Netscape Public License
* Version 1.1 (the "License"); you may not use this file except in
* compliance with the License. You may obtain a copy of the License at
* http://www.mozilla.org/NPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is mozilla.org code.
*
* The Initial Developer of the Original Code is
* Netscape Communications Corporation.
* Portions created by the Initial Developer are Copyright (C) 2002
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Simon Fraser <sfraser@netscape.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the NPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the NPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
/*
This version resource is little more than a placeholder.
It only exists so that certain plugins (e.g. Shockwave Director)
which fail if they can't get a 'vers' resource, can initialize
successfully.
*/
#include <Carbon/Carbon.r>
// Version Numbers //
#define VERSION_MAJOR 0
#define VERSION_MINOR 0x60 // revision & fix in BCD
#define VERSION_KIND beta // alpha, beta, or final
#define VERSION_MICRO 0 // internal stage: alpha or beta number
// Version Strings (Finder's Get Info dialog box) //
#define VERSION_STRING "0.6+"
#define COPYRIGHT_STRING "© 1998-2002 The Mozilla Organization"
#define GETINFO_VERSION VERSION_STRING ", " COPYRIGHT_STRING
#define PACKAGE_NAME "Chimera " VERSION_STRING
// Resources definition
resource 'vers' (1, "Program") {
VERSION_MAJOR,
VERSION_MINOR,
VERSION_KIND,
VERSION_MICRO,
verUS,
VERSION_STRING,
GETINFO_VERSION
};
resource 'vers' (2, "Suite") {
VERSION_MAJOR,
VERSION_MINOR,
VERSION_KIND,
VERSION_MICRO,
verUS,
VERSION_STRING,
PACKAGE_NAME
};
resource 'STR ' (1000, "Why here?") {
"This 'vers' resource is required to make the Shockwave Director plugin work."
};

Просмотреть файл

@ -1,4 +1,4 @@
{\rtf1\mac\ansicpg10000\cocoartf100
{\rtf1\mac\ansicpg10000\cocoartf102
{\fonttbl\f0\fswiss\fcharset77 Optima-BoldItalic;\f1\fswiss\fcharset77 Optima-Italic;\f2\fswiss\fcharset77 Optima-Regular;
\f3\fswiss\fcharset77 Optima-Bold;}
{\colortbl;\red255\green255\blue255;}
@ -6,7 +6,7 @@
\f0\i\b\fs18 \cf0 \
\fs68 Navigator 0.4.0\
\fs68 Navigator\
\f1\b0\fs24 \
\
@ -17,7 +17,7 @@
\
\
\f2\i0 Navigator version 0.4.0\
\f2\i0 Navigator version 0.6\
http://www.mozilla.org\
http://chimera.mozdev.org\
@ -32,8 +32,10 @@ http://chimera.mozdev.org\
\f2\i0\b0\fs24 \
\f3\b Patrick Beard\
Kathy Brade\
Alco Blom\
Kathleen Brade\
Conrad Carlen\
Steve Dagley\
Ugo Dantas De Santana\
Simon Fraser\
Ben Goodger\
@ -42,12 +44,17 @@ http://chimera.mozdev.org\
Max Horn
\f2\b0 \
\f3\b David Hyatt
\f3\b David Hyatt\
Greg Kolanek\
Winnie Lam\
Sarah Liberman\
Chris McAfee
\f2\b0 \
\f3\b Matt Judy\
\f3\b Chris Petersen\
Mike Pinkerton\
Brian Ryner\
Chris Saari\
Richard Schreyer\
William Dell Wisner\
\
@ -64,9 +71,8 @@ http://chimera.mozdev.org\
\f0\i\b\fs28 Special Thanks:\
\f2\i0\b0\fs24 \
\f3\b Apple Computer Software Engineering\
The Chimera Mailing List\
\f3\b The Chimera Mailing List\
\f1\i\b0\fs36 \
\

Просмотреть файл

@ -1,11 +1,66 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AppleEventCode</key>
<string>CHIM</string>
<key>Classes</key>
<dict>
<key>BrowserWindow</key>
<dict>
<key>AppleEventCode</key>
<string>BrWn</string>
<key>Attributes</key>
<dict>
<key>URL</key>
<dict>
<key>AppleEventCode</key>
<string>curl</string>
<key>ReadOnly</key>
<string>YES</string>
<key>Type</key>
<string>NSString</string>
</dict>
</dict>
<key>Superclass</key>
<string>NSCoreSuite.NSWindow</string>
</dict>
<key>NSApplication</key>
<dict>
<key>AppleEventCode</key>
<string>capp</string>
<key>Superclass</key>
<string>NSCoreSuite.NSApplication</string>
<key>ToManyRelationships</key>
<dict>
<key>orderedDocuments</key>
<dict>
<key>AppleEventCode</key>
<string>docu</string>
<key>Type</key>
<string>NSDocument</string>
</dict>
<key>orderedWindows</key>
<dict>
<key>AppleEventCode</key>
<string>cwin</string>
<key>Type</key>
<string>NSWindow</string>
</dict>
</dict>
</dict>
</dict>
<key>Commands</key>
<dict>
<key>DoJavaScript</key>
<dict>
<key>AppleEventClassCode</key>
<string>MOZZ</string>
<key>AppleEventCode</key>
<string>JSRC</string>
<key>CommandClass</key>
<string>NSScriptCommand</string>
</dict>
<key>GetURL</key>
<dict>
<key>AppleEventClassCode</key>
@ -24,6 +79,24 @@
<key>CommandClass</key>
<string>GetURLCommand</string>
</dict>
<key>RegisterEchoHandler</key>
<dict>
<key>AppleEventClassCode</key>
<string>WWW!</string>
<key>AppleEventCode</key>
<string>RGUE</string>
<key>CommandClass</key>
<string>NSScriptCommand</string>
</dict>
<key>UnregisterEchoHandler</key>
<dict>
<key>AppleEventClassCode</key>
<string>WWW!</string>
<key>AppleEventCode</key>
<string>UNRU</string>
<key>CommandClass</key>
<string>NSScriptCommand</string>
</dict>
</dict>
<key>Name</key>
<string>Navigator</string>

Просмотреть файл

@ -1,6 +1,7 @@
HomePageDefault = "http://www.mozilla.org";
/* SearchPageDefault = "http://www.dmoz.org"; Leave commented out to get search engine from IC */
StartPageDefault = "about:blank";
ThrobberPageDefault = "http://www.mozilla.org";
FeedbackPageDefault = "http://chimera.mozdev.org";
InfoPageDefault = "http://chimera.mozdev.org/installation.html";
HomePageDefault = "http://www.mozilla.org/projects/chimera/homepage.html";
SearchPageDefault = "http://www.google.com/";
StartPageDefault = "http://www.mozilla.org/projects/chimera/welcome.html";
ThrobberPageDefault = "http://www.mozilla.org/projects/chimera/";
FeedbackPageDefault = "http://www.mozilla.org/projects/chimera/feedback.html";
InfoPageDefault = "http://www.mozilla.org/projects/chimera/";
RendezvousPageDefault="http://www.zeroconf.org/webbrowsers.html";

Просмотреть файл

@ -41,8 +41,7 @@
// What to load in a new tab: 0 = blank, 1 = homepage, 2 = last page
pref("browser.tabs.startPage", 0);
// Disable the print progress dialog
pref("print.show_print_progress", false);
pref("print.use_global_printsettings", true);
// Pick some reasonable OS X default fonts
pref("font.name.serif.x-western", "Lucida Grande");
@ -51,7 +50,26 @@ pref("font.size.variable.x-western", 15);
pref("font.size.fixed.x-western", 12);
pref("font.size.minimum-size.x-western", 10);
// Unsuppress painting sooner (XXXbryner, why is this here?)
pref("nglayout.initialpaint.delay", 250);
// turn on universal character detection
pref("intl.charset.detector", "universal_charset_detector");
pref("chimera.store_passwords_with_keychain", true);
pref("chimera.keychain_passwords_autofill", true);
pref("chimera.enable_plugins", true);
pref("chimera.log_js_to_console", true);
// Identify Chimera in the UA string
pref("general.useragent.vendor", "Chimera");
pref("general.useragent.vendorSub", "0.6+");
pref("network.dir.generate_html", true);
pref("browser.chrome.favicons", true);
// Default to auto download enabled but auto helper dispatch disabled
pref("browser.download.autoDownload", true);
pref("browser.download.autoDispatch", false);
pref("chimera.enable_rendezvous", false);

Просмотреть файл

@ -1,23 +1,65 @@
<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE bookmarks SYSTEM "http://www.mozilla.org/DTDs/ChimeraBookmarks.dtd">
<bookmarks xmlns="http://chimera.mozdev.org/bookmarks/">
<folder name="Toolbar Bookmarks" type="toolbar">
<bookmark name="Chimera Install Page"
href="http://chimera.mozdev.org/installation.html"/>
<bookmark name="Mozilla.Org"
href="http://www.mozilla.org"/>
<folder name="Entertainment">
<bookmark href="http://www.ew.com" name="Entertainment Weekly"/>
<bookmark href="http://www.rottentomatoes.com" name="Rotten Tomatoes"/>
<bookmark href="http://www.theonering.net" name="The One Ring"/>
</folder>
</folder>
<folder name="My Panels" type="panels">
<bookmark href="http://tinderbox.mozilla.org/SeaMonkey/panel.html"
name="Tinderbox"/>
</folder>
<folder name="News">
<bookmark name="CNet" href="http://www.cnet.com"/>
<bookmark name="CNN" href="http://www.cnn.com"/>
</folder>
<folder name="Toolbar Bookmarks" type="toolbar" open="true">
<folder name="Chimera Info">
<bookmark name="Chimera" href="http://www.mozilla.org/projects/chimera/" />
<bookmark name="Chimera Feedback" href="http://www.mozilla.org/projects/chimera/feedback.html" />
<bookmark name="Mozilla.org" href="http://www.mozilla.org" />
</folder>
<folder name="News">
<bookmark name="BBC News" href="http://news.bbc.co.uk/" />
<bookmark name="CNN" href="http://www.cnn.com" />
<bookmark name="International Herald Tribune" href="http://iht.com/frontpage.html" />
<bookmark name="Salon.com" href="http://www.salon.com/" />
</folder>
<folder name="Mac News Tabs" group="true">
<bookmark name="MacCentral Online" href="http://www.maccentral.com/" />
<bookmark name="MacNN | The Macintosh News Network" href="http://www.macnn.com/" />
<bookmark name="MacInTouch: Mac news, information and analysis" href="http://www.macintouch.com/" />
</folder>
<bookmark name="Google" href="http://www.google.com/" keyword="google" id="google" description="" />
</folder>
<folder name="Apple Stuff">
<bookmark name="Apple" href="http://www.apple.com/" />
<bookmark name="Apple - Mac OS X" href="http://www.apple.com/macosx/" />
<bookmark name="Apple .Mac Welcome" href="http://www.mac.com/" />
</folder>
<folder name="Mac News">
<bookmark name="MacSurfer's Headline News" href="http://www.macsurfer.com/" />
<bookmark name="MacCentral Online" href="http://maccentral.macworld.com/" />
<bookmark name="MacNN | The Macintosh News Network" href="http://www.macnn.com/" />
<bookmark name="MacInTouch: Mac news, information and analysis" href="http://www.macintouch.com/" />
<bookmark name="TidBITS Electronic Publishing" href="http://www.tidbits.com/" />
</folder>
<folder name="Mac Support">
<bookmark name="Apple Support" href="http://www.info.apple.com/" />
<bookmark name="MacFixIt - Troubleshooting Solution for the Macintosh" href="http://www.macfixit.com/" />
<bookmark name="Mac OS X Hints" href="http://www.macosxhints.com/" />
<bookmark name="OSXFAQ" href="http://www.osxfaq.com/" />
</folder>
<folder name="Mac Software">
<bookmark name="Apple - Mac OS X - Downloads" href="http://www.apple.com/downloads/macosx/" />
<bookmark name="Mac OS X Apps" href="http://www.macosxapps.com/" />
<bookmark name="VersionTracker: Mac OS X Software" href="http://www.versiontracker.com/macosx/" />
</folder>
<folder name="Tech News">
<bookmark name="CNet" href="http://www.cnet.com" />
<bookmark name="Wired News" href="http://www.wired.com/" />
</folder>
<folder name="Web Standards">
<bookmark name="Netscape DevEdge" href="http://devedge.netscape.com/" />
<bookmark name="The World Wide Web Consortium" href="http://www.w3.org/" />
<bookmark name="W3C HTML Home Page" href="http://www.w3.org/MarkUp/" />
<bookmark name="W3C Document Object Model" href="http://www.w3.org/DOM/#what" />
<bookmark name="Cascading Style Sheets" href="http://www.w3.org/Style/CSS/" />
<bookmark name="WebReview.com: Style Sheet Reference Guide" href="http://www.webreview.com/style/" />
<folder name="Demos" open="true">
<bookmark name="Eric Meyer's css/edge" href="http://www.meyerweb.com/eric/css/edge/" />
<bookmark name="Mozilla Demos" href="http://www.mozilla.org/start/1.0/demos.html" />
</folder>
</folder>
<bookmark name="Netscape.com" href="http://www.netscape.com/" />
<bookmark name="Yahoo!" href="http://www.yahoo.com/" />
<bookmark name="dmoz - Open Directory Project" href="http://dmoz.org/" />
</bookmarks>

Двоичные данные
camino/resources/images/app/splash.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/chrome/folder.tiff

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/chrome/groupbookmark.tif

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/chrome/security_lock.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/chrome/smallbookmark.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/add_to_bookmark.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/back.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/bookmark_on.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/closeTab.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/delete_on.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/edit_on.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/folder_on.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/forward.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/home.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/newTab.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/print.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/reload.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/saveCancel.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/saveOpenFile.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/saveShowFile.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/searchWeb.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/search_the_web.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/sendLink.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/showsource.tif

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/stop.tif

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/textBigger.tif Normal file

Двоичный файл не отображается.

Двоичные данные
camino/resources/images/toolbar/textSmaller.tif Normal file

Двоичный файл не отображается.

Просмотреть файл

@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBFramework Version</key>
<string>248.0</string>
<string>283.0</string>
<key>IBLockedObjects</key>
<array>
<integer>7</integer>
@ -13,6 +13,6 @@
<integer>5</integer>
</array>
<key>IBSystem Version</key>
<string>5S66</string>
<string>6C115</string>
</dict>
</plist>

Двоичные данные
camino/resources/localized/English.lproj/AboutBox.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -1,17 +1,21 @@
{
IBClasses = (
{
ACTIONS = {dockMenuCheckboxClicked = id; tabGroupCheckboxClicked = id; };
CLASS = BookmarkInfoController;
LANGUAGE = ObjC;
OUTLETS = {
mDescriptionField = NSTextField;
mDescriptionLabel = NSTextField;
mDockMenuCheckbox = NSButton;
mKeywordField = NSTextField;
mKeywordLabel = NSTextField;
mLocationField = NSTextField;
mLocationLabel = NSTextField;
mNameField = NSTextField;
mNameLabel = NSTextField;
mTabgroupCheckbox = NSButton;
mVariableFieldsContainer = NSView;
};
SUPERCLASS = NSWindowController;
},

Просмотреть файл

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>144 74 366 258 0 0 1280 1002 </string>
<string>97 65 366 258 0 0 1600 1002 </string>
<key>IBFramework Version</key>
<string>248.0</string>
<string>286.0</string>
<key>IBSystem Version</key>
<string>5S66</string>
<string>6F21</string>
</dict>
</plist>

Двоичные данные
camino/resources/localized/English.lproj/BookmarkInfoPanel.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -33,7 +33,23 @@
LANGUAGE = ObjC;
SUPERCLASS = ExtendedOutlineView;
},
{CLASS = BookmarksToolbar; LANGUAGE = ObjC; SUPERCLASS = NSView; },
{
ACTIONS = {addFolder = id; };
CLASS = BookmarksToolbar;
LANGUAGE = ObjC;
SUPERCLASS = NSView;
},
{CLASS = BrowserContainerView; LANGUAGE = ObjC; SUPERCLASS = NSView; },
{
CLASS = BrowserContentView;
LANGUAGE = ObjC;
OUTLETS = {
mBookmarksToolbar = BookmarksToolbar;
mBrowserContainerView = NSView;
mStatusBar = NSView;
};
SUPERCLASS = NSView;
},
{CLASS = BrowserTabView; LANGUAGE = ObjC; SUPERCLASS = NSTabView; },
{
CLASS = BrowserWindow;
@ -44,28 +60,47 @@
{
ACTIONS = {
back = id;
biggerTextSize = id;
bookmarkLink = id;
bookmarkPage = id;
cancelAddBookmarkSheet = id;
cancelLocationSheet = id;
closeCurrentTab = id;
closeOtherTabs = id;
closeSendersTab = id;
copyImageLocation = id;
copyLinkLocation = id;
endAddBookmarkSheet = id;
endLocationSheet = id;
forward = id;
frameToNewTab = id;
frameToNewWindow = id;
frameToThisWindow = id;
getInfo = id;
goToLocationFromToolbarURLField = id;
home = id;
manageBookmarks = id;
moveTabToNewWindow = id;
newTab = id;
nextTab = id;
openLinkInNewTab = id;
openLinkInNewWindow = id;
pageSetup = id;
performSearch = id;
previousTab = id;
printDocument = id;
reload = id;
reloadSendersTab = id;
saveFrameAs = id;
saveImageAs = id;
saveLinkAs = id;
savePageAs = id;
sendURL = id;
smallerTextSize = id;
stop = id;
toggleSidebar = id;
viewOnlyThisImage = id;
viewPageSource = id;
viewSource = id;
};
CLASS = BrowserWindowController;
@ -76,7 +111,8 @@
mAddBookmarkSheetWindow = NSWindow;
mAddBookmarkTitleField = NSTextField;
mBackItem = NSMenuItem;
mCachedBMDS = id;
mContentView = BrowserContentView;
mCopyItem = NSMenuItem;
mForwardItem = NSMenuItem;
mHistoryDataSource = HistoryDataSource;
mImageLinkMenu = NSMenu;
@ -90,15 +126,15 @@
mPageMenu = NSMenu;
mPersonalToolbar = BookmarksToolbar;
mProgress = NSProgressIndicator;
mProxyIcon = NSImageView;
mProxyIcon = PageProxyIcon;
mSidebarBookmarksDataSource = BookmarksDataSource;
mSidebarBrowserView = id;
mSidebarDrawer = NSDrawer;
mSidebarSourceTabView = NSTabView;
mSidebarTabView = NSTabView;
mStatus = NSTextField;
mStatusBar = NSView;
mTabBrowser = BrowserTabView;
mTabMenu = NSMenu;
mURLBar = NSTextField;
};
SUPERCLASS = NSWindowController;

Просмотреть файл

@ -1,45 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>172 80 630 599 0 0 1280 1002 </string>
<string>66 21 653 383 0 0 1152 848 </string>
<key>IBEditorPositions</key>
<dict>
<key>124</key>
<string>345 803 170 144 0 0 1280 1002 </string>
<string>107 563 170 144 0 0 1600 1002 </string>
<key>160</key>
<string>165 292 195 666 0 0 1280 1002 </string>
<string>496 172 195 666 0 0 1152 848 </string>
<key>28</key>
<string>524 439 195 457 0 0 1280 1002 </string>
<string>478 352 195 457 0 0 1152 848 </string>
<key>297</key>
<string>233 646 176 162 0 0 1152 848 </string>
<string>107 466 213 294 0 0 1600 1002 </string>
<key>314</key>
<string>418 732 139 66 0 0 1152 848 </string>
<string>73 542 213 132 0 0 1600 1002 </string>
<key>336</key>
<string>630 666 200 132 0 0 1152 848 </string>
<string>486 756 213 180 0 0 1600 1002 </string>
<key>365</key>
<string>22 587 93 162 0 0 1152 848 </string>
<string>31 719 93 162 0 0 1600 1002 </string>
<key>463</key>
<string>22 619 200 180 0 0 1152 848 </string>
<string>97 693 213 246 0 0 1600 1002 </string>
<key>56</key>
<string>450 634 343 68 0 0 1280 1002 </string>
<key>654</key>
<string>206 785 198 144 0 0 1600 1002 </string>
</dict>
<key>IBFramework Version</key>
<string>248.0</string>
<string>286.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>3</key>
<key>7</key>
<array>
<string>8</string>
<string>9</string>
<string>641</string>
<string>640</string>
</array>
</dict>
<key>IBLastGroupID</key>
<string>4</string>
<string>8</string>
<key>IBLockedObjects</key>
<array/>
<key>IBSystem Version</key>
<string>5S66</string>
<string>6F21</string>
</dict>
</plist>

Двоичные данные
camino/resources/localized/English.lproj/BrowserWindow.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -1,9 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Classes</key>
<dict>
<key>BrowserWindow</key>
<dict>
<key>Attributes</key>
<dict>
<key>URL</key>
<dict>
<key>Description</key>
<string>Current URL</string>
<key>Name</key>
<string>URL</string>
</dict>
</dict>
<key>Description</key>
<string>A browser window</string>
<key>Name</key>
<string>browser window</string>
<key>PluralName</key>
<string>browser windows</string>
</dict>
<key>NSApplication</key>
<dict>
<key>Description</key>
<string>The Chimera application</string>
<key>Name</key>
<string>application</string>
<key>PluralName</key>
<string>applications</string>
</dict>
</dict>
<key>Commands</key>
<dict>
<key>DoJavaScript</key>
<dict>
<key>Description</key>
<string>Execute the supplied JS in the context of the frontmost window. (Not yet implemented)</string>
<key>Name</key>
<string>do javascript</string>
</dict>
<key>GetURL</key>
<dict>
<key>Description</key>
@ -18,6 +56,20 @@
<key>Name</key>
<string>open url</string>
</dict>
<key>RegisterEchoHandler</key>
<dict>
<key>Description</key>
<string>Register a URL echo handler. The handler will get called whenever a new URL is loaded. (Not yet implemented)</string>
<key>Name</key>
<string>register echo handler</string>
</dict>
<key>UnregisterEchoHandler</key>
<dict>
<key>Description</key>
<string>Unregister a URL echo handler. (Not yet implemented)</string>
<key>Name</key>
<string>unregister echo handler</string>
</dict>
</dict>
<key>Description</key>
<string>Navigator's scripting suite</string>

Двоичный файл не отображается.

Двоичный файл не отображается.

Двоичный файл не отображается.

Просмотреть файл

@ -9,15 +9,18 @@
{CLASS = GoMenu; LANGUAGE = ObjC; SUPERCLASS = NSMenu; },
{
ACTIONS = {
aboutServers = id;
addBookmark = id;
addFolder = id;
addSeparator = id;
biggerTextSize = id;
closeTab = id;
connectToServer = id;
displayPreferencesWindow = id;
doReload = id;
doSearch = id;
doStop = id;
exportBookmarks = id;
feedbackLink = id;
findAgain = id;
findInPage = id;
@ -27,17 +30,18 @@
goHome = id;
importBookmarks = id;
infoLink = id;
manageBookmarks = id;
manageSidebar = id;
newTab = id;
newWindow = id;
nextTab = id;
openFile = id;
openLocation = id;
openMenuBookmark = id;
pageSetup = id;
previousTab = id;
printPage = id;
printPreview = id;
savePage = id;
sendURL = id;
showAboutBox = id;
smallerTextSize = id;
toggleBookmarksToolbar = id;
@ -56,8 +60,11 @@
mCloseWindowMenuItem = NSMenuItem;
mCreateBookmarksFolderMenuItem = NSMenuItem;
mCreateBookmarksSeparatorMenuItem = NSMenuItem;
mDockMenu = NSMenu;
mFilterList = NSPopUpButton;
mFilterView = NSView;
mGoMenu = NSMenu;
mServersSubmenu = NSMenu;
mToggleSidebarMenuItem = NSMenuItem;
};
SUPERCLASS = NSObject;

Просмотреть файл

@ -1,18 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>108 107 477 485 0 0 1280 1002 </string>
<string>237 33 482 372 0 0 1600 1002 </string>
<key>IBEditorPositions</key>
<dict>
<key>266</key>
<string>483 623 277 90 0 0 1280 1002 </string>
<string>437 533 277 90 0 0 1152 848 </string>
<key>29</key>
<string>8 957 446 44 0 0 1280 1002 </string>
<string>11 957 446 44 0 0 1600 1002 </string>
<key>494</key>
<string>117 597 185 48 0 0 1280 1002 </string>
</dict>
<key>IBFramework Version</key>
<string>248.0</string>
<string>286.0</string>
<key>IBGroupedObjects</key>
<dict>
<key>0</key>
@ -29,11 +31,7 @@
</dict>
<key>IBLastGroupID</key>
<string>2</string>
<key>IBOpenObjects</key>
<array>
<integer>29</integer>
</array>
<key>IBSystem Version</key>
<string>5S66</string>
<string>6F21</string>
</dict>
</plist>

Двоичные данные
camino/resources/localized/English.lproj/MainMenu.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -1,9 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Classes</key>
<dict>
<key>BrowserWindow</key>
<dict>
<key>Attributes</key>
<dict>
<key>URL</key>
<dict>
<key>Description</key>
<string>Current URL</string>
<key>Name</key>
<string>URL</string>
</dict>
</dict>
<key>Description</key>
<string>A browser window</string>
<key>Name</key>
<string>browser window</string>
<key>PluralName</key>
<string>browser windows</string>
</dict>
<key>NSApplication</key>
<dict>
<key>Description</key>
<string>The Chimera application</string>
<key>Name</key>
<string>application</string>
<key>PluralName</key>
<string>applications</string>
</dict>
</dict>
<key>Commands</key>
<dict>
<key>DoJavaScript</key>
<dict>
<key>Description</key>
<string>Execute the supplied JS in the context of the frontmost window. (Not yet implemented)</string>
<key>Name</key>
<string>do javascript</string>
</dict>
<key>GetURL</key>
<dict>
<key>Description</key>
@ -18,6 +56,20 @@
<key>Name</key>
<string>open url</string>
</dict>
<key>RegisterEchoHandler</key>
<dict>
<key>Description</key>
<string>Register a URL echo handler. The handler will get called whenever a new URL is loaded. (Not yet implemented)</string>
<key>Name</key>
<string>register echo handler</string>
</dict>
<key>UnregisterEchoHandler</key>
<dict>
<key>Description</key>
<string>Unregister a URL echo handler. (Not yet implemented)</string>
<key>Name</key>
<string>unregister echo handler</string>
</dict>
</dict>
<key>Description</key>
<string>Navigator's scripting suite</string>

Просмотреть файл

@ -7,6 +7,6 @@
<key>IBFramework Version</key>
<string>248.0</string>
<key>IBSystem Version</key>
<string>5S66</string>
<string>5S60</string>
</dict>
</plist>

Двоичные данные
camino/resources/localized/English.lproj/ProgressDialog.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Просмотреть файл

@ -1,7 +1,7 @@
{
IBClasses = (
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; },
{CLASS = java.lang.Object; LANGUAGE = Java; },
{CLASS = "java.lang.Object"; LANGUAGE = Java; },
{
ACTIONS = {hitButton1 = id; hitButton2 = id; hitButton3 = id; };
CLASS = nsAlertController;
@ -12,17 +12,17 @@
alertCheckPanelText = id;
alertPanel = id;
alertPanelText = id;
confirmChangePasswordPanel = id;
confirmCheckPanel = id;
confirmCheckPanelButton1 = id;
confirmCheckPanelButton2 = id;
confirmCheckPanelButton3 = id;
confirmCheckPanelCheck = id;
confirmCheckPanelText = id;
confirmPanel = id;
confirmPanelButton1 = id;
confirmPanelButton2 = id;
confirmPanelButton3 = id;
confirmPanelText = id;
confirmStorePasswordPanel = id;
expiredCertPanel = id;
owner = id;
passwordPanel = id;

Просмотреть файл

@ -1,12 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
<plist version="0.9">
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IBDocumentLocation</key>
<string>285 97 356 301 0 0 1024 746 </string>
<string>410 67 356 301 0 0 1152 848 </string>
<key>IBFramework Version</key>
<string>248.0</string>
<string>286.0</string>
<key>IBOpenObjects</key>
<array>
<integer>251</integer>
</array>
<key>IBSystem Version</key>
<string>5S66</string>
<string>6F21</string>
</dict>
</plist>

Двоичные данные
camino/resources/localized/English.lproj/alert.nib/objects.nib сгенерированный

Двоичный файл не отображается.

Двоичные данные
camino/resources/package/chimera.dsstore Executable file

Двоичный файл не отображается.

Двоичные данные
camino/resources/package/image_image.jpg Normal file

Двоичный файл не отображается.

После

Ширина:  |  Высота:  |  Размер: 60 KiB

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше