affiche-0.6.0.orig/ 0042755 0001750 0001750 00000000000 07456605171 012534 5 ustar doko doko affiche-0.6.0.orig/CVS/ 0042755 0001750 0001750 00000000000 07456606076 013174 5 ustar doko doko affiche-0.6.0.orig/CVS/Root 0100644 0001750 0001750 00000000045 07456604302 014022 0 ustar doko doko :pserver:ludo@Sophos.ca:/opt/cvsroot
affiche-0.6.0.orig/CVS/Repository 0100644 0001750 0001750 00000000021 07456604302 015250 0 ustar doko doko projects/Affiche
affiche-0.6.0.orig/CVS/Entries 0100644 0001750 0001750 00000003135 07456606076 014525 0 ustar doko doko /.cvsignore/1.1/Mon Dec 3 03:20:17 2001//
/Affiche.h/1.6/Sat Feb 9 01:41:21 2002//
/Affiche.m/1.25/Tue Mar 12 17:18:59 2002//
/AfficheInfo.plist/1.10/Mon Mar 4 20:20:51 2002//
/COPYING/1.1/Mon Dec 3 14:45:33 2001//
/ColorView.h/1.1/Tue Feb 5 22:24:09 2002//
/ColorView.m/1.1/Tue Feb 5 22:24:09 2002//
/Constants.h/1.6/Wed Feb 6 19:54:31 2002//
/Constants.m/1.3/Wed Feb 27 16:27:06 2002//
/GNUmakefile/1.12/Mon Apr 8 01:24:14 2002//
/LabelWidget.h/1.1/Tue Feb 5 02:43:46 2002//
/LabelWidget.m/1.1/Tue Feb 5 02:43:46 2002//
/Note.h/1.5/Sat Feb 9 01:41:21 2002//
/Note.m/1.7/Sat Feb 9 01:41:21 2002//
/NoteInfoWindow.h/1.2/Wed Feb 6 19:54:31 2002//
/NoteInfoWindow.m/1.2/Wed Feb 6 19:54:31 2002//
/NoteInfoWindowController.h/1.2/Wed Feb 6 19:54:31 2002//
/NoteInfoWindowController.m/1.6/Mon Apr 8 19:09:11 2002//
/NoteView.h/1.1/Mon Feb 4 02:34:14 2002//
/NoteView.m/1.3/Mon Apr 8 01:55:34 2002//
/NoteWindow.h/1.4/Mon Feb 4 02:34:14 2002//
/NoteWindow.m/1.9/Fri Apr 5 17:18:54 2002//
/NoteWindowController.h/1.9/Wed Feb 6 19:54:31 2002//
/NoteWindowController.m/1.15/Fri Apr 5 17:18:54 2002//
/PreferencesPanel.h/1.4/Wed Feb 6 19:54:31 2002//
/PreferencesPanel.m/1.12/Mon Apr 8 01:24:14 2002//
/PreferencesPanelController.h/1.5/Wed Feb 6 19:54:31 2002//
/PreferencesPanelController.m/1.11/Mon Apr 8 19:09:11 2002//
/README/1.4/Thu Jan 17 20:49:19 2002//
/TODO/1.8/Fri Feb 22 02:25:35 2002//
D/Affiche.pbproj////
D/English.lproj////
D/French.lproj////
D/German.lproj////
D/Images////
D/Klingon.lproj////
D/Lojban.lproj////
D/Spanish.lproj////
D/Swedish.lproj////
/ChangeLog/1.62/Mon Apr 15 17:21:46 2002//
affiche-0.6.0.orig/Affiche.pbproj/ 0042755 0001750 0001750 00000000000 07456604302 015347 5 ustar doko doko affiche-0.6.0.orig/Affiche.pbproj/CVS/ 0042755 0001750 0001750 00000000000 07456604302 016002 5 ustar doko doko affiche-0.6.0.orig/Affiche.pbproj/CVS/Root 0100644 0001750 0001750 00000000045 07456604302 016642 0 ustar doko doko :pserver:ludo@Sophos.ca:/opt/cvsroot
affiche-0.6.0.orig/Affiche.pbproj/CVS/Repository 0100644 0001750 0001750 00000000040 07456604302 020071 0 ustar doko doko projects/Affiche/Affiche.pbproj
affiche-0.6.0.orig/Affiche.pbproj/CVS/Entries 0100644 0001750 0001750 00000000063 07456604302 017330 0 ustar doko doko /project.pbxproj/1.12/Mon Apr 8 01:45:04 2002//
D
affiche-0.6.0.orig/Affiche.pbproj/project.pbxproj 0100644 0001750 0001750 00000042062 07454173040 020420 0 ustar doko doko // !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 34;
objects = {
080E96DCFE201CFB7F000001 = {
fileRef = 29B97318FDCFA39411CA2CEA;
isa = PBXBuildFile;
settings = {
};
};
080E96DDFE201D6D7F000001 = {
children = (
F553E5C601B95E9B01F4D1DB,
F553E5C701B95E9B01F4D1DB,
F553E5CB01B961E101F4D1DB,
F553E5CC01B961E101F4D1DB,
F553E5D101B9692D01F4D1DB,
F553E5D201B9692D01F4D1DB,
F553E5D501B9929C01F4D1DB,
F553E5D601B9929C01F4D1DB,
F5B12D1E01B9F15701A1EDA9,
F5B12D1F01B9F15701A1EDA9,
F5174D0601BC3BD7011FC96B,
F5174D0701BC3BD7011FC96B,
F51BA5F001BC4C7C01FF517A,
F51BA5F101BC4C7C01FF517A,
F548F745020E354A0156A906,
F548F746020E354A0156A906,
F548F747020E354A0156A906,
F548F748020E354A0156A906,
F548F749020E354A0156A906,
F548F74A020E354A0156A906,
F539C0560216E1B201D24C11,
F539C0570216E1B201D24C11,
);
isa = PBXGroup;
name = Classes;
refType = 4;
};
089C165CFE840E0CC02AAC07 = {
children = (
089C165DFE840E0CC02AAC07,
);
isa = PBXVariantGroup;
name = InfoPlist.strings;
refType = 4;
};
089C165DFE840E0CC02AAC07 = {
fileEncoding = 10;
isa = PBXFileReference;
name = English;
path = English.lproj/InfoPlist.strings;
refType = 4;
};
089C165EFE840E0CC02AAC07 = {
fileRef = 089C165CFE840E0CC02AAC07;
isa = PBXBuildFile;
settings = {
};
};
//080
//081
//082
//083
//084
//100
//101
//102
//103
//104
1058C7A0FEA54F0111CA2CBB = {
children = (
1058C7A1FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = "Linked Frameworks";
refType = 4;
};
1058C7A1FEA54F0111CA2CBB = {
isa = PBXFrameworkReference;
name = Cocoa.framework;
path = /System/Library/Frameworks/Cocoa.framework;
refType = 0;
};
1058C7A2FEA54F0111CA2CBB = {
children = (
29B97325FDCFA39411CA2CEA,
29B97324FDCFA39411CA2CEA,
);
isa = PBXGroup;
name = "Other Frameworks";
refType = 4;
};
1058C7A3FEA54F0111CA2CBB = {
fileRef = 1058C7A1FEA54F0111CA2CBB;
isa = PBXBuildFile;
settings = {
};
};
//100
//101
//102
//103
//104
//170
//171
//172
//173
//174
17587328FF379C6511CA2CBB = {
isa = PBXApplicationReference;
path = Affiche.app;
refType = 3;
};
//170
//171
//172
//173
//174
//190
//191
//192
//193
//194
19C28FACFE9D520D11CA2CBB = {
children = (
17587328FF379C6511CA2CBB,
);
isa = PBXGroup;
name = Products;
refType = 4;
};
//190
//191
//192
//193
//194
//290
//291
//292
//293
//294
29B97313FDCFA39411CA2CEA = {
buildStyles = (
4A9504CCFFE6A4B311CA0CBA,
4A9504CDFFE6A4B311CA0CBA,
);
isa = PBXProject;
mainGroup = 29B97314FDCFA39411CA2CEA;
projectDirPath = "";
targets = (
29B97326FDCFA39411CA2CEA,
);
};
29B97314FDCFA39411CA2CEA = {
children = (
080E96DDFE201D6D7F000001,
29B97315FDCFA39411CA2CEA,
29B97317FDCFA39411CA2CEA,
29B97323FDCFA39411CA2CEA,
19C28FACFE9D520D11CA2CBB,
);
isa = PBXGroup;
name = Affiche;
path = "";
refType = 4;
};
29B97315FDCFA39411CA2CEA = {
children = (
);
isa = PBXGroup;
name = "Other Sources";
path = "";
refType = 4;
};
29B97317FDCFA39411CA2CEA = {
children = (
F548F754020E35CB0156A906,
29B97318FDCFA39411CA2CEA,
089C165CFE840E0CC02AAC07,
F5174D0301BC3AC3011FC96B,
F539C0530216DA4001D24C11,
);
isa = PBXGroup;
name = Resources;
path = "";
refType = 4;
};
29B97318FDCFA39411CA2CEA = {
children = (
29B97319FDCFA39411CA2CEA,
);
isa = PBXVariantGroup;
name = MainMenu.nib;
path = "";
refType = 4;
};
29B97319FDCFA39411CA2CEA = {
isa = PBXFileReference;
name = English;
path = English.lproj/MainMenu.nib;
refType = 4;
};
29B97323FDCFA39411CA2CEA = {
children = (
1058C7A0FEA54F0111CA2CBB,
1058C7A2FEA54F0111CA2CBB,
);
isa = PBXGroup;
name = Frameworks;
path = "";
refType = 4;
};
29B97324FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = AppKit.framework;
path = /System/Library/Frameworks/AppKit.framework;
refType = 0;
};
29B97325FDCFA39411CA2CEA = {
isa = PBXFrameworkReference;
name = Foundation.framework;
path = /System/Library/Frameworks/Foundation.framework;
refType = 0;
};
29B97326FDCFA39411CA2CEA = {
buildPhases = (
29B97327FDCFA39411CA2CEA,
29B97328FDCFA39411CA2CEA,
29B9732BFDCFA39411CA2CEA,
29B9732DFDCFA39411CA2CEA,
);
buildSettings = {
FRAMEWORK_SEARCH_PATHS = "";
HEADER_SEARCH_PATHS = "";
INSTALL_PATH = "$(HOME)/Applications";
LIBRARY_SEARCH_PATHS = "";
OTHER_CFLAGS = "-DMACOSX";
OTHER_LDFLAGS = "";
PRODUCT_NAME = Affiche;
SECTORDER_FLAGS = "";
WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
WRAPPER_EXTENSION = app;
};
dependencies = (
);
isa = PBXApplicationTarget;
name = Affiche;
productInstallPath = "$(HOME)/Applications";
productName = Affiche;
productReference = 17587328FF379C6511CA2CBB;
productSettingsXML = "
CFBundleDevelopmentRegion
English
CFBundleExecutable
Affiche
CFBundleGetInfoString
A place holder for your little notes!
CFBundleIconFile
Affiche.tiff
CFBundleIdentifier
com.collaboration-world.Affiche
CFBundleInfoDictionaryVersion
6.0
CFBundleName
Affiche
CFBundlePackageType
APPL
CFBundleShortVersionString
0.6.0
CFBundleSignature
AFFI
CFBundleVersion
0.6.0
NSMainNibFile
MainMenu
NSPrincipalClass
NSApplication
NSServices
NSKeyEquivalent
default
A
NSMenuItem
default
Make Note
NSMessage
newNote
NSPortName
Affiche
NSSendTypes
NSStringPboardType
";
shouldUseHeadermap = 1;
};
29B97327FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F553E5C801B95E9B01F4D1DB,
F553E5CD01B961E101F4D1DB,
F553E5D301B9692E01F4D1DB,
F553E5D701B9929C01F4D1DB,
F5174D0801BC3BD7011FC96B,
F548F74B020E354A0156A906,
F548F74D020E354A0156A906,
F548F74E020E354A0156A906,
F539C0580216E1B201D24C11,
);
isa = PBXHeadersBuildPhase;
name = Headers;
};
29B97328FDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
080E96DCFE201CFB7F000001,
089C165EFE840E0CC02AAC07,
F5174D0501BC3AC3011FC96B,
F548F760020E35F60156A906,
F548F761020E35F60156A906,
F548F762020E35F60156A906,
F548F763020E35F60156A906,
F548F764020E35F60156A906,
F548F765020E35F60156A906,
F548F766020E35F60156A906,
F548F767020E35F60156A906,
F548F768020E35F60156A906,
F548F769020E35F60156A906,
F548F76A020E35F60156A906,
F539C0550216DA4101D24C11,
);
isa = PBXResourcesBuildPhase;
name = "Bundle Resources";
};
29B9732BFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
F553E5C901B95E9B01F4D1DB,
F553E5CE01B961E101F4D1DB,
F553E5D401B9692E01F4D1DB,
F553E5D801B9929C01F4D1DB,
F5174D0901BC3BD7011FC96B,
F548F74F020E354A0156A906,
F548F751020E354A0156A906,
F548F752020E354A0156A906,
F539C0590216E1B201D24C11,
);
isa = PBXSourcesBuildPhase;
name = Sources;
};
29B9732DFDCFA39411CA2CEA = {
buildActionMask = 2147483647;
files = (
1058C7A3FEA54F0111CA2CBB,
);
isa = PBXFrameworksBuildPhase;
name = "Frameworks & Libraries";
};
//290
//291
//292
//293
//294
//4A0
//4A1
//4A2
//4A3
//4A4
4A9504CCFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = NO;
OPTIMIZATION_CFLAGS = "-O0";
};
isa = PBXBuildStyle;
name = Development;
};
4A9504CDFFE6A4B311CA0CBA = {
buildRules = (
);
buildSettings = {
COPY_PHASE_STRIP = YES;
};
isa = PBXBuildStyle;
name = Deployment;
};
//4A0
//4A1
//4A2
//4A3
//4A4
//F50
//F51
//F52
//F53
//F54
F5174D0301BC3AC3011FC96B = {
children = (
F5174D0401BC3AC3011FC96B,
);
isa = PBXVariantGroup;
name = NoteInfoWindow.nib;
path = "";
refType = 4;
};
F5174D0401BC3AC3011FC96B = {
isa = PBXFileReference;
name = English;
path = English.lproj/NoteInfoWindow.nib;
refType = 4;
};
F5174D0501BC3AC3011FC96B = {
fileRef = F5174D0301BC3AC3011FC96B;
isa = PBXBuildFile;
settings = {
};
};
F5174D0601BC3BD7011FC96B = {
isa = PBXFileReference;
path = NoteInfoWindowController.h;
refType = 4;
};
F5174D0701BC3BD7011FC96B = {
isa = PBXFileReference;
path = NoteInfoWindowController.m;
refType = 4;
};
F5174D0801BC3BD7011FC96B = {
fileRef = F5174D0601BC3BD7011FC96B;
isa = PBXBuildFile;
settings = {
};
};
F5174D0901BC3BD7011FC96B = {
fileRef = F5174D0701BC3BD7011FC96B;
isa = PBXBuildFile;
settings = {
};
};
F51BA5F001BC4C7C01FF517A = {
isa = PBXFileReference;
path = NoteInfoWindow.h;
refType = 4;
};
F51BA5F101BC4C7C01FF517A = {
isa = PBXFileReference;
path = NoteInfoWindow.m;
refType = 4;
};
F539C0530216DA4001D24C11 = {
children = (
F539C0540216DA4001D24C11,
);
isa = PBXVariantGroup;
name = PreferencesPanel.nib;
path = "";
refType = 4;
};
F539C0540216DA4001D24C11 = {
isa = PBXFileReference;
name = English;
path = English.lproj/PreferencesPanel.nib;
refType = 4;
};
F539C0550216DA4101D24C11 = {
fileRef = F539C0530216DA4001D24C11;
isa = PBXBuildFile;
settings = {
};
};
F539C0560216E1B201D24C11 = {
isa = PBXFileReference;
path = ColorView.h;
refType = 4;
};
F539C0570216E1B201D24C11 = {
isa = PBXFileReference;
path = ColorView.m;
refType = 4;
};
F539C0580216E1B201D24C11 = {
fileRef = F539C0560216E1B201D24C11;
isa = PBXBuildFile;
settings = {
};
};
F539C0590216E1B201D24C11 = {
fileRef = F539C0570216E1B201D24C11;
isa = PBXBuildFile;
settings = {
};
};
F548F745020E354A0156A906 = {
isa = PBXFileReference;
path = NoteView.h;
refType = 4;
};
F548F746020E354A0156A906 = {
isa = PBXFileReference;
path = NoteView.m;
refType = 4;
};
F548F747020E354A0156A906 = {
isa = PBXFileReference;
path = PreferencesPanel.h;
refType = 4;
};
F548F748020E354A0156A906 = {
isa = PBXFileReference;
path = PreferencesPanel.m;
refType = 4;
};
F548F749020E354A0156A906 = {
isa = PBXFileReference;
path = PreferencesPanelController.h;
refType = 4;
};
F548F74A020E354A0156A906 = {
isa = PBXFileReference;
path = PreferencesPanelController.m;
refType = 4;
};
F548F74B020E354A0156A906 = {
fileRef = F548F745020E354A0156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F74D020E354A0156A906 = {
fileRef = F548F749020E354A0156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F74E020E354A0156A906 = {
fileRef = F5B12D1E01B9F15701A1EDA9;
isa = PBXBuildFile;
settings = {
};
};
F548F74F020E354A0156A906 = {
fileRef = F548F746020E354A0156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F751020E354A0156A906 = {
fileRef = F548F74A020E354A0156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F752020E354A0156A906 = {
fileRef = F5B12D1F01B9F15701A1EDA9;
isa = PBXBuildFile;
settings = {
};
};
F548F754020E35CB0156A906 = {
children = (
F548F755020E35F60156A906,
F548F756020E35F60156A906,
F548F757020E35F60156A906,
F548F758020E35F60156A906,
F548F759020E35F60156A906,
F548F75A020E35F60156A906,
F548F75B020E35F60156A906,
F548F75C020E35F60156A906,
F548F75D020E35F60156A906,
F548F75E020E35F60156A906,
F548F75F020E35F60156A906,
);
isa = PBXGroup;
name = Images;
refType = 4;
};
F548F755020E35F60156A906 = {
isa = PBXFileReference;
name = Affiche.tiff;
path = Images/Affiche.tiff;
refType = 4;
};
F548F756020E35F60156A906 = {
isa = PBXFileReference;
name = buttons_blue.tiff;
path = Images/buttons_blue.tiff;
refType = 4;
};
F548F757020E35F60156A906 = {
isa = PBXFileReference;
name = buttons_gray.tiff;
path = Images/buttons_gray.tiff;
refType = 4;
};
F548F758020E35F60156A906 = {
isa = PBXFileReference;
name = buttons_green.tiff;
path = Images/buttons_green.tiff;
refType = 4;
};
F548F759020E35F60156A906 = {
isa = PBXFileReference;
name = buttons_purple.tiff;
path = Images/buttons_purple.tiff;
refType = 4;
};
F548F75A020E35F60156A906 = {
isa = PBXFileReference;
name = buttons_yellow.tiff;
path = Images/buttons_yellow.tiff;
refType = 4;
};
F548F75B020E35F60156A906 = {
isa = PBXFileReference;
name = resize_blue.tiff;
path = Images/resize_blue.tiff;
refType = 4;
};
F548F75C020E35F60156A906 = {
isa = PBXFileReference;
name = resize_gray.tiff;
path = Images/resize_gray.tiff;
refType = 4;
};
F548F75D020E35F60156A906 = {
isa = PBXFileReference;
name = resize_green.tiff;
path = Images/resize_green.tiff;
refType = 4;
};
F548F75E020E35F60156A906 = {
isa = PBXFileReference;
name = resize_purple.tiff;
path = Images/resize_purple.tiff;
refType = 4;
};
F548F75F020E35F60156A906 = {
isa = PBXFileReference;
name = resize_yellow.tiff;
path = Images/resize_yellow.tiff;
refType = 4;
};
F548F760020E35F60156A906 = {
fileRef = F548F755020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F761020E35F60156A906 = {
fileRef = F548F756020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F762020E35F60156A906 = {
fileRef = F548F757020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F763020E35F60156A906 = {
fileRef = F548F758020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F764020E35F60156A906 = {
fileRef = F548F759020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F765020E35F60156A906 = {
fileRef = F548F75A020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F766020E35F60156A906 = {
fileRef = F548F75B020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F767020E35F60156A906 = {
fileRef = F548F75C020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F768020E35F60156A906 = {
fileRef = F548F75D020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F769020E35F60156A906 = {
fileRef = F548F75E020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F548F76A020E35F60156A906 = {
fileRef = F548F75F020E35F60156A906;
isa = PBXBuildFile;
settings = {
};
};
F553E5C601B95E9B01F4D1DB = {
isa = PBXFileReference;
path = Note.h;
refType = 4;
};
F553E5C701B95E9B01F4D1DB = {
isa = PBXFileReference;
path = Note.m;
refType = 4;
};
F553E5C801B95E9B01F4D1DB = {
fileRef = F553E5C601B95E9B01F4D1DB;
isa = PBXBuildFile;
settings = {
};
};
F553E5C901B95E9B01F4D1DB = {
fileRef = F553E5C701B95E9B01F4D1DB;
isa = PBXBuildFile;
settings = {
};
};
F553E5CB01B961E101F4D1DB = {
isa = PBXFileReference;
path = NoteWindowController.h;
refType = 4;
};
F553E5CC01B961E101F4D1DB = {
isa = PBXFileReference;
path = NoteWindowController.m;
refType = 4;
};
F553E5CD01B961E101F4D1DB = {
fileRef = F553E5CB01B961E101F4D1DB;
isa = PBXBuildFile;
settings = {
};
};
F553E5CE01B961E101F4D1DB = {
fileRef = F553E5CC01B961E101F4D1DB;
isa = PBXBuildFile;
settings = {
};
};
F553E5D101B9692D01F4D1DB = {
isa = PBXFileReference;
path = Affiche.h;
refType = 4;
};
F553E5D201B9692D01F4D1DB = {
isa = PBXFileReference;
path = Affiche.m;
refType = 4;
};
F553E5D301B9692E01F4D1DB = {
fileRef = F553E5D101B9692D01F4D1DB;
isa = PBXBuildFile;
settings = {
ATTRIBUTES = (
);
};
};
F553E5D401B9692E01F4D1DB = {
fileRef = F553E5D201B9692D01F4D1DB;
isa = PBXBuildFile;
settings = {
};
};
F553E5D501B9929C01F4D1DB = {
isa = PBXFileReference;
path = Constants.h;
refType = 4;
};
F553E5D601B9929C01F4D1DB = {
isa = PBXFileReference;
path = Constants.m;
refType = 4;
};
F553E5D701B9929C01F4D1DB = {
fileRef = F553E5D501B9929C01F4D1DB;
isa = PBXBuildFile;
settings = {
ATTRIBUTES = (
);
};
};
F553E5D801B9929C01F4D1DB = {
fileRef = F553E5D601B9929C01F4D1DB;
isa = PBXBuildFile;
settings = {
};
};
F5B12D1E01B9F15701A1EDA9 = {
isa = PBXFileReference;
path = NoteWindow.h;
refType = 4;
};
F5B12D1F01B9F15701A1EDA9 = {
isa = PBXFileReference;
path = NoteWindow.m;
refType = 4;
};
};
rootObject = 29B97313FDCFA39411CA2CEA;
}
affiche-0.6.0.orig/.cvsignore 0100644 0001750 0001750 00000000035 07402567561 014526 0 ustar doko doko shared_obj
Affiche.app
build
affiche-0.6.0.orig/Affiche.h 0100644 0001750 0001750 00000004413 07431077101 014214 0 ustar doko doko /*
** Affiche.h
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@class Note;
@class PreferencesPanelController;
@interface Affiche : NSObject
{
// Outlets
IBOutlet NSMenu *menu;
IBOutlet NSMenu *info;
IBOutlet NSMenu *file;
IBOutlet NSMenu *edit;
IBOutlet NSMenu *note;
IBOutlet NSMenu *color;
IBOutlet NSMenu *windows;
IBOutlet NSMenu *services;
IBOutlet NSMenu *format;
IBOutlet NSMenuItem *blueMenuItem;
IBOutlet NSMenuItem *grayMenuItem;
IBOutlet NSMenuItem *greenMenuItem;
IBOutlet NSMenuItem *purpleMenuItem;
IBOutlet NSMenuItem *yellowMenuItem;
// ivars
NSMutableArray *allNotes;
}
- (id) init;
- (void) dealloc;
//
// action methods
//
- (IBAction) closeNote: (id) sender;
- (IBAction) exportText: (id) sender;
- (IBAction) importText: (id) sender;
- (IBAction) newNote: (id) sender;
- (IBAction) quitApplication: (id) sender;
- (IBAction) showPreferencesPanel: (id) sender;
- (IBAction) saveAllNotes: (id) sender;
- (IBAction) setNoteColor: (id) sender;
- (IBAction) showNoteInfo: (id) sender;
//
// delegate methods
//
- (void) applicationDidFinishLaunching: (NSNotification *) not;
- (void) applicationWillFinishLaunching: (NSNotification *) not;
//
// other methods
//
- (void) deleteNote: (Note *) theNote;
- (void) showNote: (Note *) theNote;
- (BOOL) synchronize;
- (PreferencesPanelController *) preferencesPanelController;
//
// static methods
//
+ (NSColor *) colorForCode: (int) theCode;
@end
@interface Affiche (Private)
- (void) _showNewNote: (Note *) theNote;
@end
affiche-0.6.0.orig/Affiche.m 0100644 0001750 0001750 00000041745 07443434203 014235 0 ustar doko doko /*
** Affiche.m
**
** Copyright (c) 2001, 2002
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "Affiche.h"
#import "Constants.h"
#import "Note.h"
#import "NoteInfoWindowController.h"
#import "NoteView.h"
#import "NoteWindowController.h"
#import "PreferencesPanelController.h"
NSString *PathToNotes()
{
return [NSString stringWithFormat: @"%@/%@",
AfficheUserLibraryPath(), @"Notes"];
}
static PreferencesPanelController *preferencesPanelController;
@implementation Affiche
//
//
//
- (id) init
{
self = [super init];
return self;
}
- (void) dealloc
{
RELEASE(allNotes);
[super dealloc];
}
//
// action methods
//
- (IBAction) closeNote: (id) sender
{
if ( [NoteWindowController lastNoteWindowOnTop] )
{
if ( [[[NoteWindowController lastNoteWindowOnTop]
windowController] windowShouldClose: nil] )
{
[[NoteWindowController lastNoteWindowOnTop] close];
}
}
else
{
NSBeep();
}
}
- (IBAction) exportText: (id) sender
{
if ( [NoteWindowController lastNoteWindowOnTop] )
{
NoteWindowController *noteWindowController;
NSSavePanel *aSavePanel;
int aChoice;
noteWindowController = [[NoteWindowController lastNoteWindowOnTop] delegate];
aSavePanel = [NSSavePanel savePanel];
[aSavePanel setAccessoryView: nil];
[aSavePanel setRequiredFileType: @""];
aChoice = [aSavePanel runModalForDirectory: NSHomeDirectory()
file: @"note.txt"];
/* if successful, save file under designated name */
if (aChoice == NSOKButton)
{
if (! [[[noteWindowController textView] string] writeToFile: [aSavePanel filename]
atomically: YES] )
{
NSBeep();
}
}
}
else
{
NSBeep();
}
}
- (IBAction) importText: (id) sender
{
NSArray *fileToOpen;
NSOpenPanel *oPanel;
int count, result;
oPanel = [NSOpenPanel openPanel];
[oPanel setAllowsMultipleSelection:NO];
result = [oPanel runModalForDirectory:NSHomeDirectory() file:nil types:nil];
if (result == NSOKButton)
{
fileToOpen = [oPanel filenames];
count = [fileToOpen count];
if (count > 0)
{
NSAttributedString *anAttributedString;
NSString *fileName;
Note *aNote;
fileName = [fileToOpen objectAtIndex: 0];
aNote = AUTORELEASE([[Note alloc] init]);
anAttributedString = [[NSAttributedString alloc] initWithString: [NSString stringWithContentsOfFile: fileName]];
[aNote setValue: anAttributedString];
RELEASE(anAttributedString);
[allNotes addObject: aNote];
[self synchronize];
[self _showNewNote: aNote];
}
}
}
- (IBAction) newNote: (id) sender
{
Note *aNote;
aNote = AUTORELEASE([[Note alloc] init]);
[allNotes addObject: aNote];
[self _showNewNote: aNote];
// We sync for saving that new note right now
[self synchronize];
}
//
// Our Affiche service!
//
- (void) newNote: (NSPasteboard *) pboard
userData: (NSString *) userData
error: (NSString **) error
{
NSString *aString;
NSArray *allTypes;
Note *aNote;
allTypes = [pboard types];
if ( ![allTypes containsObject: NSStringPboardType])
{
*error = @"No string type supplied on pasteboard";
return;
}
aString = [pboard stringForType: NSStringPboardType];
if (aString == nil)
{
*error = @"No string value supplied on pasteboard";
return;
}
aNote = AUTORELEASE([[Note alloc] init]);
[aNote setValue: AUTORELEASE([[NSAttributedString alloc] initWithString: aString]) ];
[allNotes addObject: aNote];
[self synchronize];
[self _showNewNote: aNote];
}
- (IBAction) quitApplication: (id) sender
{
[self synchronize];
[NSApp terminate: self];
}
- (IBAction) showPreferencesPanel: (id) sender
{
[[self preferencesPanelController] showWindow: self];
}
- (IBAction) saveAllNotes: (id) sender
{
[self synchronize];
}
- (IBAction) setNoteColor: (id) sender
{
if ( [NoteWindowController lastNoteWindowOnTop] )
{
NoteWindowController *aNoteWindowController;
NSColor *aColor;
int colorCode;
aNoteWindowController = [[NoteWindowController lastNoteWindowOnTop] delegate];
if (sender == blueMenuItem)
{
colorCode = BLUE;
}
else if (sender == grayMenuItem)
{
colorCode = GRAY;
}
else if (sender == greenMenuItem)
{
colorCode = GREEN;
}
else if (sender == purpleMenuItem)
{
colorCode = PURPLE;
}
// The default color is always yellow.
else
{
colorCode = YELLOW;
}
aColor = [Affiche colorForCode: colorCode];
[[aNoteWindowController note] setBackgroundColor: aColor];
[[aNoteWindowController note] setColorCode: colorCode];
[[aNoteWindowController textView] setBackgroundColor: aColor];
[[aNoteWindowController noteView] setColorCode: colorCode];
[[aNoteWindowController textView] setNeedsDisplay: YES];
}
else
{
NSBeep();
}
}
- (IBAction) showNoteInfo: (id) sender
{
if ( [NoteWindowController lastNoteWindowOnTop] )
{
NoteInfoWindowController *aNoteInfoWindowController;
Note *aNote;
aNote = [(NoteWindowController *)[[NoteWindowController lastNoteWindowOnTop] delegate] note];
aNoteInfoWindowController = [NoteInfoWindowController singleInstance];
[aNoteInfoWindowController setNote: aNote];
[aNoteInfoWindowController showWindow: self];
}
}
//
// delegate methods
//
- (void) applicationDidFinishLaunching: (NSNotification *) not
{
NSFileManager *fileManager;
BOOL isDir;
int i;
fileManager = [NSFileManager defaultManager];
if ( [fileManager fileExistsAtPath: (NSString *)AfficheUserLibraryPath()
isDirectory: &isDir] )
{
if ( ! isDir )
{
NSLog(@"%@ exists but it is a file not a directory.",
AfficheUserLibraryPath());
exit(1);
}
}
else {
if ( ! [fileManager createDirectoryAtPath: (NSString *)AfficheUserLibraryPath()
attributes: nil] )
{
// directory creation failed. quit.
NSLog(@"Could not create directory: %@", AfficheUserLibraryPath());
exit(1);
}
else
{
NSLog(@"Created directory: %@", AfficheUserLibraryPath());
}
}
// We verify if our archived NSMutableArray exists, if not,
// we create. If yes, we decode it.
if ( [fileManager fileExistsAtPath: PathToNotes()] )
{
allNotes = [NSUnarchiver unarchiveObjectWithFile: PathToNotes()];
RETAIN(allNotes);
}
else
{
allNotes = [[NSMutableArray alloc] init];
[self synchronize];
}
// For all notes, we show their window.
for (i = 0; i < [allNotes count]; i++)
{
[self showNote: [allNotes objectAtIndex: i]];
}
// We register our service
[NSApp setServicesProvider: self];
}
- (void) applicationWillFinishLaunching: (NSNotification *) not
{
// Local variable
#ifndef MACOSX
SEL action = NULL;
#endif
// We begin by setting our NSApp's logo
[NSApp setApplicationIconImage: [NSImage imageNamed: @"Affiche.tiff"]];
// We continue by creating our NSMenu
#ifndef MACOSX
menu = [[NSMenu alloc] init];
[menu addItemWithTitle:_(@"Info") action: action keyEquivalent: @""];
[menu addItemWithTitle:_(@"File") action: action keyEquivalent: @""];
[menu addItemWithTitle:_(@"Edit") action: action keyEquivalent: @""];
[menu addItemWithTitle:_(@"Note") action: action keyEquivalent: @""];
[menu addItemWithTitle:_(@"Color") action: action keyEquivalent: @"h"];
[menu addItemWithTitle:_(@"Windows") action: action keyEquivalent: @"p"];
[menu addItemWithTitle:_(@"Print") action: action keyEquivalent: @"p"];
[menu addItemWithTitle:_(@"Services") action: action keyEquivalent: @""];
[menu addItemWithTitle:_(@"Hide") action: @selector (hide:) keyEquivalent: @"h"];
[menu addItemWithTitle:_(@"Quit") action:@selector(quitApplication:) keyEquivalent: @"q"];
// Our Info menu / submenus
info = [[NSMenu alloc] init];
[menu setSubmenu:info forItem:[menu itemWithTitle:_(@"Info")]];
[info addItemWithTitle:_(@"Info Panel...")
action: @selector(orderFrontStandardInfoPanel:)
keyEquivalent:@""];
[info addItemWithTitle:_(@"Preferences...")
action: @selector(showPreferencesPanel:)
keyEquivalent:@""];
[info addItemWithTitle:_(@"Help...")
action: action
keyEquivalent:@"?"];
RELEASE(info);
// Our File menu / submenus
file = [[NSMenu alloc] init];
[menu setSubmenu:file forItem:[menu itemWithTitle:_(@"File")]];
[file addItemWithTitle: _(@"New Note")
action: @selector(newNote:)
keyEquivalent: @"n"];
[file addItemWithTitle: _(@"Close")
action: @selector(closeNote:)
keyEquivalent: @""];
[file addItemWithTitle: _(@"Save All")
action: @selector(saveAllNotes:)
keyEquivalent: @""];
[file addItemWithTitle: _(@"Import Text")
action: @selector(importText:)
keyEquivalent: @""];
[file addItemWithTitle: _(@"Export Text")
action: @selector(exportText:)
keyEquivalent: @""];
RELEASE(file);
// Our Edit menu / submenus
edit = [[NSMenu alloc] init];
[menu setSubmenu:edit forItem:[menu itemWithTitle:_(@"Edit")]];
[edit addItemWithTitle: _(@"Cut")
action: @selector(cut:)
keyEquivalent: @"x"];
[edit addItemWithTitle: _(@"Copy")
action: @selector(copy:)
keyEquivalent: @"c"];
[edit addItemWithTitle: _(@"Paste")
action: @selector(paste:)
keyEquivalent: @"v"];
[edit addItemWithTitle: _(@"Delete")
action: @selector(delete:)
keyEquivalent: @""];
[edit addItemWithTitle: _(@"Select All")
action: @selector(selectAll:)
keyEquivalent: @"a"];
RELEASE(edit);
// Our Edit menu / submenus
note = [[NSMenu alloc] init];
[menu setSubmenu: note
forItem: [menu itemWithTitle:_(@"Note")]];
[note addItemWithTitle: _(@"Format")
action: action
keyEquivalent: @""];
format = [[NSFontManager sharedFontManager] fontMenu: YES];
[note setSubmenu: format
forItem: [note itemWithTitle: _(@"Format")]];
RELEASE(format);
[note addItemWithTitle: _(@"Note Info")
action: @selector(showNoteInfo:)
keyEquivalent: @""];
RELEASE(note);
// Our Color menu / submenus
color = [[NSMenu alloc] init];
[menu setSubmenu:color forItem:[menu itemWithTitle:_(@"Color")]];
RELEASE(color);
blueMenuItem = [[NSMenuItem alloc] init];
[blueMenuItem setTitle: _(@"Blue")];
[blueMenuItem setAction: @selector(setNoteColor:)];
[blueMenuItem setKeyEquivalent: @""];
[color addItem: blueMenuItem];
RELEASE(blueMenuItem);
grayMenuItem = [[NSMenuItem alloc] init];
[grayMenuItem setTitle: _(@"Gray")];
[grayMenuItem setAction: @selector(setNoteColor:)];
[grayMenuItem setKeyEquivalent: @""];
[color addItem: grayMenuItem];
RELEASE(grayMenuItem);
greenMenuItem = [[NSMenuItem alloc] init];
[greenMenuItem setTitle: _(@"Green")];
[greenMenuItem setAction: @selector(setNoteColor:)];
[greenMenuItem setKeyEquivalent: @""];
[color addItem: greenMenuItem];
RELEASE(greenMenuItem);
purpleMenuItem = [[NSMenuItem alloc] init];
[purpleMenuItem setTitle: _(@"Purple")];
[purpleMenuItem setAction: @selector(setNoteColor:)];
[purpleMenuItem setKeyEquivalent: @""];
[color addItem: purpleMenuItem];
RELEASE(purpleMenuItem);
yellowMenuItem = [[NSMenuItem alloc] init];
[yellowMenuItem setTitle: _(@"Yellow")];
[yellowMenuItem setAction: @selector(setNoteColor:)];
[yellowMenuItem setKeyEquivalent: @""];
[color addItem: yellowMenuItem];
RELEASE(yellowMenuItem);
// Our Windows menu
windows = [[NSMenu alloc] init];
[menu setSubmenu:windows forItem: [menu itemWithTitle:_(@"Windows")]];
// Our Services menu
services = [[NSMenu alloc] init];
[menu setSubmenu: services forItem: [menu itemWithTitle: _(@"Services")]];
[NSApp setMainMenu: menu];
[NSApp setServicesMenu: services];
[NSApp setWindowsMenu: windows];
RELEASE(services);
RELEASE(windows);
RELEASE(menu);
#endif
}
//
// other methods
//
- (void) deleteNote: (Note *) theNote
{
if ( theNote )
{
[allNotes removeObject: theNote];
}
}
- (void) showNote: (Note *) theNote
{
if ( theNote )
{
NoteWindowController *noteWindowController;
noteWindowController = [[NoteWindowController alloc]
initWithWindowNibName: @"NoteWindow"];
[noteWindowController setNote: theNote];
[[noteWindowController window] orderFrontRegardless];
}
}
- (BOOL) synchronize
{
return [NSArchiver archiveRootObject: allNotes
toFile: PathToNotes()];
}
- (PreferencesPanelController *) preferencesPanelController
{
if ( ! preferencesPanelController )
{
preferencesPanelController =
[[PreferencesPanelController alloc]
initWithWindowNibName: @"PreferencesPanel"];
}
return preferencesPanelController;
}
//
// static methods
//
+ (NSColor *) colorForCode: (int) theCode
{
switch (theCode)
{
case BLUE:
return [NSColor colorWithDeviceRed: 0.44
green: 1.0
blue: 1.0
alpha: 1.0];
case GRAY:
return [NSColor colorWithDeviceRed: 0.93
green: 0.93
blue: 0.93
alpha: 1.0];
case GREEN:
return [NSColor colorWithDeviceRed: 0.70
green: 1.0
blue: 0.63
alpha: 1.0];
case PURPLE:
return[NSColor colorWithDeviceRed: 0.70
green: 0.78
blue: 1.0
alpha: 1.0];
case YELLOW:
default:
return [NSColor colorWithDeviceRed: 1.0
green: 1.0
blue: 0.63
alpha: 1.0];
}
}
@end
//
// Private interface
//
@implementation Affiche (Private)
- (void) _showNewNote: (Note *) theNote
{
NoteWindowController *noteWindowController;
NSRect aRect;
int position;
// We set our default note color
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"COLOR"] )
{
int colorCode;
colorCode = [[NSUserDefaults standardUserDefaults] integerForKey: @"COLOR"] + 1;
[theNote setColorCode: colorCode];
[theNote setBackgroundColor: [Affiche colorForCode: colorCode]];
}
// We set our note's title
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"TITLE"] )
{
[theNote setTitle: ([[NSUserDefaults standardUserDefaults] integerForKey: @"TITLE"] + 1)];
[theNote setTitleValue: [[NSUserDefaults standardUserDefaults] objectForKey: @"TITLE_VALUE"]];
}
// We create our note window's controller in order to set the rest of the attributes
noteWindowController = [[NoteWindowController alloc]
initWithWindowNibName: @"NoteWindow"];
[noteWindowController setNote: theNote];
// We set the font
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"FONT_NAME"] )
{
[[noteWindowController textView] setFont: [NSFont fontWithName: [[NSUserDefaults standardUserDefaults] stringForKey: @"FONT_NAME"]
size: [[NSUserDefaults standardUserDefaults] floatForKey: @"FONT_SIZE"]] ];
}
// We set the note position
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"POSITION"] )
{
position = [[NSUserDefaults standardUserDefaults] integerForKey: @"POSITION"];
}
else
{
position = CENTER;
}
// We get our screen's frame
aRect = [[NSScreen mainScreen] frame];
switch ( position )
{
case TOP_LEFT:
[[noteWindowController window] setFrameTopLeftPoint: NSMakePoint(70, aRect.size.height - 70)];
break;
case BOTTOM_LEFT:
[[noteWindowController window] setFrameTopLeftPoint: NSMakePoint(70, 70 + DEFAULT_NOTE_HEIGHT)];
break;
case TOP_RIGHT:
[[noteWindowController window] setFrameTopLeftPoint:
NSMakePoint(aRect.size.width - 70 - DEFAULT_NOTE_WIDTH,
aRect.size.height - 70)];
break;
case BOTTOM_RIGHT:
[[noteWindowController window] setFrameTopLeftPoint:
NSMakePoint(aRect.size.width - 70 - DEFAULT_NOTE_WIDTH,
70 + DEFAULT_NOTE_HEIGHT)];
break;
case CENTER:
default:
[[noteWindowController window] center];
}
// We finally put the new note on the screen!
[[noteWindowController window] orderFrontRegardless];
}
@end
//
// Starting point of Affiche
//
int main(int argc, const char *argv[], char *env[])
{
Affiche *affiche;
CREATE_AUTORELEASE_POOL(pool);
affiche = [[Affiche alloc] init];
[NSApplication sharedApplication];
[NSApp setDelegate: affiche];
NSApplicationMain(argc, argv);
RELEASE(affiche);
RELEASE(pool);
return 0;
}
affiche-0.6.0.orig/AfficheInfo.plist 0100644 0001750 0001750 00000001514 07440753443 015745 0 ustar doko doko {
ApplicationName = "Affiche";
ApplicationDescription = "A place holder for your little notes!";
ApplicationRelease = "Affiche 0.6.0";
FullVersionID = "0.6.0 March 2002";
Authors = ("Ludovic Marcotte ");
Copyright = "Copyright (C) 2001, 2002 Ludovic Marcotte";
CopyrightDescription = "Released under the GNU General Public License 2.0";
NSIcon = "Affiche.tiff";
NSServices = (
{
NSPortName = Affiche;
NSMessage = newNote;
NSSendTypes = (NSStringPboardType);
NSMenuItem = {
default = "Make Note";
English = "Make Note";
French = "Crer note";
German = "Notiz erstellen";
Swedish = "Skapa notis";
};
NSKeyEquivalent = {
default = n;
English = n;
French = n;
German = n;
Swedish = n;
};
}
);
}
affiche-0.6.0.orig/COPYING 0100644 0001750 0001750 00000043076 07402710015 013555 0 ustar doko doko GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
Appendix: How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
Copyright (C) 19yy
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.
affiche-0.6.0.orig/ChangeLog 0100644 0001750 0001750 00000021456 07456606052 014310 0 ustar doko doko 2002-04-15 Ludovic Marcotte
* Set the CVS tag to v0_6_0
* RELEASE OF VERSION 0.6.0.
2002-04-13 Erik Daln
* Added an initial Klingon translation. There's still three strings
untranslated though.
2002-04-08 Ludovic Marcotte
* Simplified some code.
2002-04-07 Ludovic Marcotte
* Added a Lojban translation from Jay Kominek
.
* Updated the nibs and the OS X project file.
Corrected some bugs in the nibs.
* Fixed the drawing of the note title under OS X.
2002-04-05 Ludovic Marcotte
* Added a new Affiche.tiff logo. This one was made
by Boris Anthony.
* Commented in the code some NSLog() calls.
2002-03-12 Ludovic Marcotte
* Replaced [Note note] by AUTORELEASE([[Note alloc] init]) to avoid
annoying compilation warnings.
* Improved the UI of the Preferences panel.
2002-03-04 Ludovic Marcotte
* Modified the plist to set the version number to 0.6.0.
2002-02-27 Ludovic Marcotte
* Added Spanish translation from Quique
* Refactored Constants: AfficheUserLibraryPath()
* Corrected a typo in the French translation
2002-02-11 Ludovic Marcotte
* RELEASE 0.5.0.
* Set the CVS tag to v0_5_0
2002-02-10 Ludovic Marcotte
* Updated NoteInfoWindow.nib for OSX.
* Updated some files like (PreferencesPanelController and
NoteInfoWindowController) for OSX.
* Added the ColorView class to the project
* Added PreferencesPanel.nib for OSX
* Modified some of the code to load the nib and to work
better in OSX.
* Added Preferences... menu item to MainMenu.nib
2002-02-09 Erik Dalen
* Initial Swedish translation added.
2002-02-08 Ludovic Marcotte
* Minor cleanups again.
* Fixed a small bug in Affiche: -importText. We weren't
considering defaults when creating new notes.
Added Affiche: _showNewNote (in a private category) to
generalize the process of showing notes in -importText
and -newNote.
* We now call _showNewNote in newNote: userData: error:.
* Updated AfficheInfo.plist to localize the text used for
the service.
* Added German translation from Martin Brecher
.
2002-02-07 Ludovic Marcotte
* Minor cleanups.
* Added a french translation (initial version)
2002-02-06 Ludovic Marcotte
* Finished implementing the preferences panel.
* Added two new attributes to a note: title
and titleValue. Also set the version number
to 3.
* We now update the modification date when we make
a change in the content of the note.
* Added the possibility to change the title (source)
and title value in NoteInfoWindow.
2002-02-05 Ludovic Marcotte
* Added the ColorView class and modified the GNUmakefile
to include the files.
* Added and positionned most UI widgets for the pref panel.
The logic and the outlets code need to be written.
* Implemented parts of the preferences panel. Not yet finished
and fully functionnal.
2002-02-04 Ludovic Marcotte
* Modified NoteView: -mouseDown to correct the
bottom right origin point. Suggestion by
Pierre-Yves Rivaille.
* Set the version number to 0.5.0 in
AfficheInfo.plist.
* Added the class LabelWidget (same one from
GNUMail.app)
* Modified the GNUmakefile to include this new class
* Added two constants in Constants: TextFieldHeight and
ButtonHeight.
* Started implementing the Preferences Panel.
2002-02-04 Ludovic Marcotte
* Modifed NoteWindowController: -windowShouldClose
to include the note's title in the message we show
to the user.
* RELEASE of v0.4.0
* Set the tag on the cvs server to v0_4_0
2002-02-03 Ludovic Marcotte
* Added Images/*
* Added the NoteView class
* Redesigned the entire application to draw our onw
title bar and use our own move/resize mechanisms.
Modified most classes to adapt to the new design.
The images have been supplied by Boris Anthony.
* Updated OS-X project file.
2002-01-27 Jonathan B. Leffert
* Affiche.m ([Affiche -dealloc]): added -dealloc method
to release allNotes ivar.
([Affiche -quitApplication:sender]): removed RELEASE of
allNotes ivar from here.
* Added the beginnings of a prefs panel.
2002-01-27 Ludovic Marcotte
* RELEASE OF 0.3.0
* Set the cvs tag to v0_3_0
2002-01-27 Francis Lachapelle
* Fixed property list (wrong type for NSMainNibFile).
* Added extra information in property list.
2002-01-27 Ludovic Marcotte
* Added a missing _ at the beginning of the method
NoteWindowController: -_updateWindowFrame in
NoteWindowController.h
* Added some casting to prevent the compiler from
whining about the -note method call on the delegate
in Affiche: -showNoteInfo.
* Modified MainMenu.nib (removed some unused items).
* Updated te InfoPlist.strings to set the version number
to 0.3.0.
2002-01-26 Francis Lachapelle
* Added Service definition in Mac OS X Project Builder file.
2002-01-24 Ludovic Marcotte
* Added a private interface to NoteWindowController and added
-_updateWindowFrame and _updateWindowTitle. Modified to the code
to use -_updateWindowFrame instead of -updateWindowFrame and also
modified the code to use _updateWindowTitle. This method
sets the title of a window to the first line of text in
the note.
* Fixed a bug in Affiche: -importText. We were not setting the note
value to an attributed string but rather a NSString.
* Refactored Affiche: -newNote: userData: error:
2002-01-17 Ludovic Marcotte
* Modified AfficheInfo.plist to set the version number to 0.3.0
and added services related informations.
* Modified Affiche.m to add -newNote: userData: error: used for
our service.
* Modified the README to explain how to install the service.
* Cleaned a little bit Affiche.m. Set the windows menu and
changed the way we show our note windows. We now use
orderFrontRegardless.
2002-01-16 Ludovic Marcotte
* Modified Note.m to include versionning support so v0.2.0 is now
able to load the previous notes from v0.1.0.
2002-01-15 Ludovic Marcotte
* Modified Affiche.m to NOT load the notes in -init but rather
in -applicationDidFinishLaunching since our backend under GNUstep
is NOT initialized at that time.
2002-01-04 Ludovic Marcotte
* Modified MainMenu.nib to make Affiche the delegate of the
NSApplication.
* Modified most files so that we new use atributed strings
instead of NSString when storing the notes. That allows us
to save attributes like bold/italic/underline...
WARNING - YOU MUST REMOVE ALL YOUR NOTES FIRST
(rm -f ~/Library/Affiche/Notes or
rm -f ~/GNUstep/Library/Affiche/Notes) or wait that I implement
'version' support in Note.m before using this version.
* Updated OS-X's project file and InfoPlist.strings and
AfficheInfo.plist to set the version number to 0.2.0
2001-12-05 Ludovic Marcotte
* Removed the accessor since the scrollView refresh bug
has been fixed in GNUstep GUI.
* Removed the refresh call in Affiche: -setNoteColor for
the scrollView.
2001-12-04 Ludovic Marcotte
* Changed the border to NoBorder
* Under GNUstep, we refresh the scrollView after changing the
color.
* Added an outlet and an accessor in NoteWindowController to
return then scrollView.
* Activated the Format menu / Font panel
2001-12-03 Ludovic Marcotte
* Added a TODO
* Added [textView setDrawsBackground: YES] in NoteWindow
just to be sure that we draw our background.
* Added NoteInfoWindow.nib
* Added NoteInfoWindowController.m/h.
* Added NoteInfoWindow.m/h.
* Updated the GNUmakefile
2001-12-03 Ludovic Marcotte
* Created the COPYING file
* RELEASE OF v0.1.0
2001-12-02 Ludovic Marcotte
* Initial import on CVS (0.1.0)
* We set lastNoteWindowOnTop to nil in
NoteWindowController: -dealloc.
* Modified Affiche: -showNoteInfo
* Added Localizable.strings for English
* Added .cvsignore
* Added README
* Removed the notifications and implemented
the methods for the delegate instead.
* Updated OS-X nib
affiche-0.6.0.orig/ColorView.h 0100644 0001750 0001750 00000002017 07430055611 014577 0 ustar doko doko /*
** ColorView.h
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface ColorView : NSView
{
NSColor *color;
}
//
// access/mutation methods
//
- (NSColor *) color;
- (void) setColor: (NSColor *) theColor;
//
// static methods
//
+ (id) colorView;
@end
affiche-0.6.0.orig/ColorView.m 0100644 0001750 0001750 00000002706 07430055611 014611 0 ustar doko doko /*
** ColorView.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "ColorView.h"
#import "Constants.h"
@implementation ColorView
- (id) init
{
self = [super init];
[self setColor: [NSColor colorWithDeviceRed: 0.44
green: 1.0
blue: 1.0
alpha: 1.0]];
return self;
}
- (void) dealloc
{
RELEASE(color);
[super dealloc];
}
- (void) drawRect: (NSRect) theRect
{
[[self color] set];
NSRectFill( theRect );
}
//
// access/mutation methods
//
- (NSColor *) color
{
return color;
}
- (void) setColor: (NSColor *) theColor
{
RETAIN(theColor);
RELEASE(color);
color = theColor;
}
//
// static methods
//
+ (id) colorView
{
return AUTORELEASE( [[ColorView alloc] init] );
}
@end
affiche-0.6.0.orig/Constants.h 0100644 0001750 0001750 00000004306 07430304767 014656 0 ustar doko doko //
// Constants.h
//
// Ludovic Marcotte
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#import
#ifndef GNUSTEP_BASE_VERSION
#define RETAIN(object) [object retain]
#define RELEASE(object) [object release]
#define AUTORELEASE(object) [object autorelease]
#define TEST_RELEASE(object) ({ if (object) [object release]; })
#define ASSIGN(object,value) ({\
id __value = (id)(value); \
id __object = (id)(object); \
if (__value != __object) \
{ \
if (__value != nil) \
{ \
[__value retain]; \
} \
object = __value; \
if (__object != nil) \
{ \
[__object release]; \
} \
} \
})
#define DESTROY(object) ({ \
if (object) \
{ \
id __o = object; \
object = nil; \
[__o release]; \
} \
})
#define CREATE_AUTORELEASE_POOL(X) \
NSAutoreleasePool *(X) = [NSAutoreleasePool new]
#define NSLocalizedString(key, comment) \
[[NSBundle mainBundle] localizedStringForKey:(key) value:@"" table:nil]
#define _(X) NSLocalizedString (X, @"")
#endif
#define BLUE 1
#define GRAY 2
#define GREEN 3
#define PURPLE 4
#define YELLOW 5
#define TOP_LEFT 1
#define TOP_RIGHT 2
#define CENTER 3
#define BOTTOM_LEFT 4
#define BOTTOM_RIGHT 5
#define NO_TITLE 1
#define FIRST_LINE_OF_NOTE 2
#define CUSTOM 3
#define DEFAULT_NOTE_WIDTH 200
#define DEFAULT_NOTE_HEIGHT 100
// Contants for the UI
extern const int TextFieldHeight;
extern const int ButtonHeight;
NSString *AfficheUserLibraryPath();
affiche-0.6.0.orig/Constants.m 0100644 0001750 0001750 00000002146 07437204332 014655 0 ustar doko doko //
// Constants.m
//
// Ludovic Marcotte
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#import "Constants.h"
// Constants for the UI
const int TextFieldHeight = 21;
const int ButtonHeight = 25;
NSString *AfficheUserLibraryPath()
{
NSString *aString;
aString = [NSString stringWithFormat: @"%@/Affiche",
[NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0] ];
return aString;
}
affiche-0.6.0.orig/GNUmakefile 0100644 0001750 0001750 00000003746 07454170476 014616 0 ustar doko doko #
# Affiche Makefile for GNUstep
# Copyright (C) 2001, 2002
#
# Author: Ludovic Marcotte
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */
include $(GNUSTEP_MAKEFILES)/common.make
# The application to be compiled
APP_NAME = Affiche
# The Objective-C source files to be compiled
Affiche_OBJC_FILES = Affiche.m ColorView.m Constants.m LabelWidget.m Note.m NoteInfoWindow.m NoteInfoWindowController.m NoteView.m NoteWindow.m NoteWindowController.m PreferencesPanel.m PreferencesPanelController.m
# The Objective-C headers
Affiche_HEADERS = Affiche.h ColorView.h Constants.h LabelWidget.h Note.h NoteInfoWindow.h NoteInfoWindowController.h NoteView.m NoteWindow.h NoteWindowController.h PreferencesPanel.h PreferencesPanelController.h
# The Resource files to be copied into the app's resources directory
Affiche_RESOURCE_FILES = Images/Affiche.tiff Images/buttons_blue.tiff Images/resize_blue.tiff Images/buttons_green.tiff Images/resize_green.tiff Images/buttons_gray.tiff Images/resize_gray.tiff Images/buttons_purple.tiff Images/resize_purple.tiff Images/buttons_yellow.tiff Images/resize_yellow.tiff
Affiche_LANGUAGES = English French Lojban German Spanish Swedish
Affiche_LOCALIZED_RESOURCE_FILES = Localizable.strings
# We want to get all the warnings...
ADDITIONAL_OBJCFLAGS = -Wall
include $(GNUSTEP_MAKEFILES)/application.make
affiche-0.6.0.orig/LabelWidget.h 0100644 0001750 0001750 00000002074 07427643342 015066 0 ustar doko doko /*
** LabelWidget.h
**
** Copyright (c) 2002
**
** Author: Jonathan B. Leffert
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface LabelWidget: NSTextField
{
}
- (id) initWithFrame: (NSRect) theFrame;
- (id) initWithFrame: (NSRect) theFrame label: (NSString *) theLabel;
+ (id) labelWidgetWithFrame: (NSRect) theFrame label: (NSString *) theLabel;
@end
affiche-0.6.0.orig/LabelWidget.m 0100644 0001750 0001750 00000003032 07427643342 015066 0 ustar doko doko /*
** LabelWidget.m
**
** Copyright (c) 2002
**
** Author: Jonathan B. Leffert
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "LabelWidget.h"
#import "Constants.h"
@implementation LabelWidget
- (id) initWithFrame: (NSRect) theFrame
{
self = [super initWithFrame: theFrame];
[self setEditable: NO];
[self setSelectable: NO];
[self setBezeled: NO];
[self setDrawsBackground: NO];
return self;
}
- (id) initWithFrame: (NSRect) theFrame label: (NSString *) theLabel
{
self = [self initWithFrame: theFrame];
if ( theLabel )
{
[self setStringValue: theLabel];
}
else
{
[self setStringValue: @""];
}
return self;
}
+ (id) labelWidgetWithFrame: (NSRect) theFrame label: (NSString *) theLabel
{
LabelWidget *lw = [[self alloc] initWithFrame: theFrame
label: theLabel];
return AUTORELEASE(lw);
}
@end
affiche-0.6.0.orig/Note.h 0100644 0001750 0001750 00000003676 07431077101 013606 0 ustar doko doko /*
** Note.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface Note : NSObject
{
NSAttributedString *value;
NSDate *creationDate;
NSDate *modificationDate;
NSColor *backgroundColor;
int colorCode;
NSRect frame;
int title;
NSString *titleValue;
}
- (id) initWithAttributedString: (NSAttributedString *) theAttributedString
backgroundColor: (NSColor *) theColor;
- (void) dealloc;
//
// coding protocol
//
- (void) encodeWithCoder: (NSCoder *) theCoder;
- (id) initWithCoder: (NSCoder *) theCoder;
//
// access / mutation methods
//
- (NSAttributedString *) value;
- (void) setValue: (NSAttributedString *) theValue;
- (NSColor *) backgroundColor;
- (void) setBackgroundColor: (NSColor *) theColor;
- (int) colorCode;
- (void) setColorCode: (int) theColorCode;
- (NSRect) frame;
- (void) setFrame: (NSRect) theFrame;
- (NSDate *) creationDate;
- (void) setCreationDate: (NSDate *) theDate;
- (NSDate *) modificationDate;
- (void) setModificationDate: (NSDate *) theDate;
- (int) title;
- (void) setTitle: (int) theTitle;
- (NSString *) titleValue;
- (void) setTitleValue: (NSString *) theTitleValue;
//
// class methods
//
+ (Note *) note;
@end
affiche-0.6.0.orig/Note.m 0100644 0001750 0001750 00000017632 07431077101 013610 0 ustar doko doko /*
** Note.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "Note.h"
#import "Affiche.h"
#import "Constants.h"
static int currentVersion = 3;
@implementation Note
- (id) init
{
self = [super init];
[Note setVersion: currentVersion];
[self setValue: nil];
[self setBackgroundColor: [Affiche colorForCode: YELLOW]];
[self setColorCode: YELLOW];
[self setFrame: NSMakeRect(10,10,DEFAULT_NOTE_WIDTH,DEFAULT_NOTE_HEIGHT)];
[self setCreationDate: nil];
[self setModificationDate: nil];
[self setTitle: NO_TITLE];
[self setTitleValue: nil];
return self;
}
- (id) initWithAttributedString: (NSAttributedString *) theAttributedString
backgroundColor: (NSColor *) theColor
{
self = [self init];
[self setValue: theAttributedString];
[self setBackgroundColor: theColor];
return self;
}
- (void) dealloc
{
NSLog(@"Note: -dealloc");
RELEASE(value);
RELEASE(backgroundColor);
RELEASE(titleValue);
[super dealloc];
}
//
// coding protocol
//
- (void) encodeWithCoder: (NSCoder *) theCoder
{
[Note setVersion: currentVersion];
//NSLog(@"Encoding = |%@| color code = %d", [[self value] string], [self colorCode]);
[theCoder encodeObject: [self value]];
[theCoder encodeObject: [self backgroundColor]];
[theCoder encodeObject: [NSNumber numberWithInt: [self colorCode]] ];
// We encode our frame
[theCoder encodeObject: [NSNumber numberWithFloat: frame.origin.x] ];
[theCoder encodeObject: [NSNumber numberWithFloat: frame.origin.y] ];
[theCoder encodeObject: [NSNumber numberWithFloat: frame.size.width] ];
[theCoder encodeObject: [NSNumber numberWithFloat: frame.size.height] ];
[theCoder encodeObject: [self creationDate]];
[theCoder encodeObject: [self modificationDate]];
[theCoder encodeObject: [NSNumber numberWithInt: [self title]] ];
[theCoder encodeObject: [self titleValue]];
}
- (id) initWithCoder: (NSCoder *) theCoder
{
int version;
version = [theCoder versionForClassName: NSStringFromClass([self class])];;
self = [self init];
//NSLog(@"Version = %d", version);
// Version 0 - Corresponds to Affiche v0.1.0
if ( version == 0 )
{
NSAttributedString *anAttributedString;
anAttributedString = [[NSAttributedString alloc] initWithString: [theCoder decodeObject]];
[self setValue: anAttributedString];
RELEASE(anAttributedString);
// We discard our color (we keep the defaults used in -init)
[theCoder decodeObject];
// We decode our frame
frame.origin.x = [[theCoder decodeObject] floatValue];
frame.origin.y = [[theCoder decodeObject] floatValue];
frame.size.width = [[theCoder decodeObject] floatValue];
frame.size.height = [[theCoder decodeObject] floatValue];
[self setCreationDate: [theCoder decodeObject]];
[self setModificationDate: [theCoder decodeObject]];
}
// Version 1 - Corresponds to Affiche v0.2.0 and v0.3.0
else if ( version == 1 )
{
[self setValue: [theCoder decodeObject]];
// We discard our color (we keep the defaults used in -init)
[theCoder decodeObject];
// We decode our frame
frame.origin.x = [[theCoder decodeObject] floatValue];
frame.origin.y = [[theCoder decodeObject] floatValue];
frame.size.width = [[theCoder decodeObject] floatValue];
frame.size.height = [[theCoder decodeObject] floatValue];
[self setCreationDate: [theCoder decodeObject]];
[self setModificationDate: [theCoder decodeObject]];
}
// Version 2 - Corresponds to Affiche v0.4.0
else if ( version == 2 )
{
[self setValue: [theCoder decodeObject]];
[self setBackgroundColor: [theCoder decodeObject]];
[self setColorCode: [[theCoder decodeObject] intValue]];
// We decode our frame
frame.origin.x = [[theCoder decodeObject] floatValue];
frame.origin.y = [[theCoder decodeObject] floatValue];
frame.size.width = [[theCoder decodeObject] floatValue];
frame.size.height = [[theCoder decodeObject] floatValue];
[self setCreationDate: [theCoder decodeObject]];
[self setModificationDate: [theCoder decodeObject]];
}
// Version 3 - Corresponds to Affiche v0.5.0
else
{
[self setValue: [theCoder decodeObject]];
[self setBackgroundColor: [theCoder decodeObject]];
[self setColorCode: [[theCoder decodeObject] intValue]];
// We decode our frame
frame.origin.x = [[theCoder decodeObject] floatValue];
frame.origin.y = [[theCoder decodeObject] floatValue];
frame.size.width = [[theCoder decodeObject] floatValue];
frame.size.height = [[theCoder decodeObject] floatValue];
[self setCreationDate: [theCoder decodeObject]];
[self setModificationDate: [theCoder decodeObject]];
[self setTitle: [[theCoder decodeObject] intValue]];
[self setTitleValue: [theCoder decodeObject]];
}
return self;
}
//
// access / mutation methods
//
- (NSAttributedString *) value
{
return value;
}
- (void) setValue: (NSAttributedString *) theValue
{
if ( theValue )
{
RETAIN(theValue);
RELEASE(value);
value = theValue;
//NSLog(@"value set to string = |%@|", [[self value] string]);
}
else
{
value = [[NSAttributedString alloc] initWithString: @""];
}
}
- (NSColor *) backgroundColor
{
return backgroundColor;
}
- (void) setBackgroundColor: (NSColor *) theColor
{
if ( theColor)
{
RETAIN(theColor);
RELEASE(backgroundColor);
backgroundColor = theColor;
}
else
{
RELEASE(backgroundColor);
backgroundColor = [NSColor whiteColor];
RETAIN(backgroundColor);
}
}
- (int) colorCode
{
return colorCode;
}
- (void) setColorCode: (int) theColorCode
{
colorCode = theColorCode;
}
- (NSRect) frame
{
return frame;
}
- (void) setFrame: (NSRect) theFrame
{
//NSLog(@"Setting frame to: (%f,%f) (%f,%f)", theFrame.origin.x, theFrame.origin.y,
//theFrame.size.width, theFrame.size.height);
frame = theFrame;
}
- (NSDate *) creationDate
{
return creationDate;
}
- (void) setCreationDate: (NSDate *) theDate
{
if ( theDate )
{
RETAIN(theDate);
RELEASE(creationDate);
creationDate = theDate;
}
else
{
RELEASE(creationDate);
creationDate = [NSDate date];
RETAIN(creationDate);
}
}
- (NSDate *) modificationDate
{
return modificationDate;
}
- (void) setModificationDate: (NSDate *) theDate
{
if ( theDate )
{
RETAIN(theDate);
RELEASE(modificationDate);
modificationDate = theDate;
}
else
{
RELEASE(modificationDate);
modificationDate = [NSDate date];
RETAIN(modificationDate);
}
}
- (int) title
{
return title;
}
- (void) setTitle: (int) theTitle
{
title = theTitle;
}
- (NSString *) titleValue
{
return titleValue;
}
- (void) setTitleValue: (NSString *) theTitleValue
{
if ( theTitleValue )
{
RETAIN(theTitleValue);
RELEASE(titleValue);
titleValue = theTitleValue;
}
else
{
RELEASE(titleValue);
titleValue = nil;
}
}
//
// class methods
//
+ (Note *) note
{
return AUTORELEASE([[Note alloc] init]);
}
@end
affiche-0.6.0.orig/NoteInfoWindow.h 0100644 0001750 0001750 00000002266 07430304767 015616 0 ustar doko doko /*
** NoteInfoWindow.h
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface NoteInfoWindow : NSWindow
{
NSTextField *creationDateField, *modificationDateField;
NSPopUpButton *titlePopUp;
NSTextField *titleField;
}
- (void) layoutWindow;
//
// access/mutation methods
//
- (NSTextField *) creationDateField;
- (NSTextField *) modificationDateField;
- (NSPopUpButton *) titlePopUp;
- (NSTextField *) titleField;
@end
affiche-0.6.0.orig/NoteInfoWindow.m 0100644 0001750 0001750 00000005661 07430304767 015625 0 ustar doko doko /*
** NoteInfoWindow.m
**
** Copyright (c) 2001, 2002
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "NoteInfoWindow.h"
#import "Constants.h"
#import "LabelWidget.h"
@implementation NoteInfoWindow
- (void) dealloc
{
RELEASE(creationDateField);
RELEASE(modificationDateField);
RELEASE(titlePopUp);
RELEASE(titleField);
[super dealloc];
}
- (void) layoutWindow
{
LabelWidget *creationDateLabel, *modificationDateLabel, *titleLabel;
creationDateLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,70,110,25)
label: _(@"Creation date:")];
[[self contentView] addSubview: creationDateLabel];
creationDateField = [[NSTextField alloc] initWithFrame: NSMakeRect(120,70,190,25)];
[creationDateField setEditable: NO];
[[self contentView] addSubview: creationDateField];
modificationDateLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,40,110,25)
label: _(@"Modification date:")];
[[self contentView] addSubview: modificationDateLabel];
modificationDateField = [[NSTextField alloc] initWithFrame: NSMakeRect(120,40,190,25)];
[modificationDateField setEditable: NO];
[[self contentView] addSubview: modificationDateField];
titleLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,10,50,TextFieldHeight)
label: _(@"Title:")];
[[self contentView] addSubview: titleLabel];
titlePopUp = [[NSPopUpButton alloc] initWithFrame: NSMakeRect(65,10,120,ButtonHeight)];
[titlePopUp addItemWithTitle: _(@"No title")];
[titlePopUp addItemWithTitle: _(@"First line of note")];
[titlePopUp addItemWithTitle: _(@"Custom")];
[titlePopUp setTarget: [self windowController]];
[titlePopUp setAction: @selector(selectionOfTitleHasChanged:)];
[[self contentView] addSubview: titlePopUp];
titleField = [[NSTextField alloc] initWithFrame: NSMakeRect(190,12,120,TextFieldHeight)];
[titleField setDelegate: [self windowController]];
[[self contentView] addSubview: titleField];
}
//
// access/mutation methods
//
- (NSTextField *) creationDateField
{
return creationDateField;
}
- (NSTextField *) modificationDateField
{
return modificationDateField;
}
- (NSPopUpButton *) titlePopUp
{
return titlePopUp;
}
- (NSTextField *) titleField
{
return titleField;
}
@end
affiche-0.6.0.orig/NoteInfoWindowController.h 0100644 0001750 0001750 00000003110 07430304767 017647 0 ustar doko doko /*
** NoteInfoWindowController.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@class Note;
@interface NoteInfoWindowController : NSWindowController
{
// Outlets
IBOutlet NSTextField *creationDateField;
IBOutlet NSTextField *modificationDateField;
IBOutlet NSPopUpButton *titlePopUp;
IBOutlet NSTextField *titleField;
// Ivar
Note *note;
}
- (id) initWithWindowNibName: (NSString *) theNibName;
- (void) dealloc;
//
// delegate methods
//
- (void) controlTextDidChange: (NSNotification *) aNotification;
- (void) windowDidLoad;
- (void) windowWillClose: (NSNotification *) theNotification;
//
// action methods
//
- (IBAction) selectionOfTitleHasChanged: (id) sender;
//
// access / mutation
//
- (Note *) note;
- (void) setNote: (Note *) theNote;
//
// class method
+ (id) singleInstance;
@end
affiche-0.6.0.orig/NoteInfoWindowController.m 0100644 0001750 0001750 00000010757 07454365327 017700 0 ustar doko doko /*
** NoteInfoWindowController.m
**
** Copyright (c) 2001, 2002
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "NoteInfoWindowController.h"
#import "Constants.h"
#import "Note.h"
#import "NoteView.h"
#import "NoteWindowController.h"
#ifndef MACOSX
#import "NoteInfoWindow.h"
#endif
static NoteInfoWindowController *singleInstance;
@implementation NoteInfoWindowController
- (id) initWithWindowNibName: (NSString *) theNibName
{
#ifdef MACOSX
self = [super initWithWindowNibName: theNibName];
#else
NoteInfoWindow *noteInfoWindow;
noteInfoWindow = [[NoteInfoWindow alloc] initWithContentRect:NSMakeRect(100,100,320,110)
styleMask: (NSClosableWindowMask|NSResizableWindowMask)
backing: NSBackingStoreBuffered
defer: NO];
self = [super initWithWindow: noteInfoWindow];
[noteInfoWindow layoutWindow];
[noteInfoWindow setDelegate: self];
// We link our outlets
creationDateField = [noteInfoWindow creationDateField];
modificationDateField = [noteInfoWindow modificationDateField];
titlePopUp = [noteInfoWindow titlePopUp];
titleField = [noteInfoWindow titleField];
#endif
// We set the title to an empty string
[[self window] setTitle: _(@"Note Information")];
return self;
}
- (void) dealloc
{
singleInstance = nil;
[super dealloc];
}
//
// delegate methods
//
- (void) controlTextDidChange: (NSNotification *) aNotification
{
//NSLog(@"Changing text...");
if ( [self note] && [NoteWindowController lastNoteWindowOnTop])
{
NoteWindowController *aNoteWindowController;
// We update our value
[[self note] setTitleValue: [titleField stringValue]];
// We refresh the UI
aNoteWindowController = [[NoteWindowController lastNoteWindowOnTop] windowController];
[aNoteWindowController updateWindowTitle];
[[aNoteWindowController noteView] setNeedsDisplay: YES];
}
}
- (void) windowDidLoad
{
[super windowDidLoad];
}
- (void) windowWillClose: (NSNotification *) theNotification
{
AUTORELEASE(self);
}
//
// action methods
//
- (IBAction) selectionOfTitleHasChanged: (id) sender
{
//NSLog(@"Changing note title...");
[titlePopUp synchronizeTitleAndSelectedItem];
switch ( [titlePopUp indexOfSelectedItem] )
{
case 2:
[titleField setEditable: YES];
break;
case 0:
case 1:
default:
[titleField setEditable: NO];
}
if ( [self note] && [NoteWindowController lastNoteWindowOnTop])
{
NoteWindowController *aNoteWindowController;
// We set our new values
[[self note] setTitle: ([titlePopUp indexOfSelectedItem] + 1)];
[[self note] setTitleValue: [titleField stringValue]];
// We refresh the UI
aNoteWindowController = [[NoteWindowController lastNoteWindowOnTop] windowController];
[aNoteWindowController updateWindowTitle];
[[aNoteWindowController noteView] setNeedsDisplay: YES];
}
else
{
NSBeep();
}
}
//
// access / mutation
//
- (Note *) note
{
return note;
}
- (void) setNote: (Note *) theNote
{
if (! singleInstance )
{
return;
}
if ( theNote )
{
note = theNote;
[creationDateField setStringValue: [[note creationDate] description] ];
[modificationDateField setStringValue: [[note modificationDate] description] ];
[titlePopUp selectItemAtIndex: ([note title] - 1)];
[titleField setStringValue: ([note titleValue] ? [note titleValue] : @"")];
}
else
{
note = nil;
}
}
//
// single instance
//
+ (id) singleInstance
{
if (!singleInstance)
{
singleInstance = [[NoteInfoWindowController alloc] initWithWindowNibName: @"NoteInfoWindow"];
}
return singleInstance;
}
@end
affiche-0.6.0.orig/NoteView.h 0100644 0001750 0001750 00000002141 07427371446 014441 0 ustar doko doko /*
** NoteView.h
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface NoteView : NSView
{
NSImage *buttons, *resize;
NSColor *titleBarColor, *noteColor;
NSWindow *window;
NSPoint lastLocationOfWindow;
}
//
// access/mutation methods
//
- (void) setColorCode: (int) theColorCode;
- (void) setWindow: (NSWindow *) theWindow;
@end
affiche-0.6.0.orig/NoteView.m 0100644 0001750 0001750 00000020406 07454174226 014447 0 ustar doko doko /*
** NoteView.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "NoteView.h"
#import "Constants.h"
@implementation NoteView
- (id) init
{
self = [super init];
buttons = nil;
resize = nil;
titleBarColor = nil;
noteColor = nil;
[self setColorCode: YELLOW];
return self;
}
- (void) dealloc
{
RELEASE(buttons);
RELEASE(resize);
RELEASE(titleBarColor);
RELEASE(noteColor);
[super dealloc];
}
- (BOOL) acceptsFirstResponder
{
return YES;
}
- (BOOL) acceptsFirstMouse: (NSEvent *) theEvent
{
return YES;
}
- (void) drawRect: (NSRect) theRect
{
NSMutableAttributedString *title;
NSFont *aFont;
// We fill our rect with the color of our title bar's image for the buttons
[titleBarColor set];
NSRectFill(theRect);
// Our top image is 36x11
[buttons compositeToPoint: NSMakePoint(theRect.size.width - 36, theRect.size.height - 11)
operation: NSCompositeSourceAtop];
// We now fill it with the color of the content of the note
[noteColor set];
NSRectFill( NSMakeRect(0,0,theRect.size.width, theRect.size.height - 11) );
// Our bottom image is 8x8
[resize compositeToPoint: NSMakePoint(theRect.size.width - 8, 0)
operation: NSCompositeSourceAtop];
// We draw the title
aFont = [NSFont boldSystemFontOfSize: 8];
title = [[NSMutableAttributedString alloc]
initWithString: [window title]];
[title addAttribute: NSFontAttributeName
value: aFont
range: NSMakeRange(0, [[title string] length])];
// FIXME - more intelligent replace
if ( [title size].width > (theRect.size.width - 50) )
{
[title replaceCharactersInRange: NSMakeRange(10, [[title string] length] - 10)
withString: @"..."];
}
#ifdef MACOSX
[title drawAtPoint: NSMakePoint(10, theRect.size.height - 10)];
#else
[title drawAtPoint: NSMakePoint(10, theRect.size.height)];
#endif
}
- (void) mouseDown: (NSEvent *) theEvent
{
NSRect windowRect, resizeRect;
NSPoint bottomRightOrigin;
NSEvent *nextEvent;
BOOL resizing;
lastLocationOfWindow = [theEvent locationInWindow];
windowRect = [window frame];
// We get the point corresponding to the origin of our bottom right corner
bottomRightOrigin = [window convertBaseToScreen: lastLocationOfWindow];
//NSLog(@"%@", NSStringFromRect(windowRect));
resizeRect = NSMakeRect(windowRect.size.width - 8, 0, 8, 8);
resizing = NSMouseInRect(lastLocationOfWindow, resizeRect, NO);
//NSLog(@"Resizing = %d", resizing);
while (YES)
{
nextEvent = [window nextEventMatchingMask: NSLeftMouseUpMask | NSLeftMouseDraggedMask];
if ( [nextEvent type] == NSLeftMouseUp )
{
[self mouseUp: theEvent];
break;
}
else if ( [nextEvent type] == NSLeftMouseDragged )
{
NSPoint aPoint;
aPoint = [window mouseLocationOutsideOfEventStream];
if (! resizing )
{
NSPoint origin;
origin = [window frame].origin;
origin.x += (aPoint.x - lastLocationOfWindow.x);
origin.y += (aPoint.y - lastLocationOfWindow.y);
[window setFrameOrigin: origin];
}
else
{
NSRect aRect;
float dx, dy;
aPoint = [window convertBaseToScreen: aPoint];
dx = (aPoint.x - bottomRightOrigin.x);
dy = (aPoint.y - bottomRightOrigin.y);
aRect = NSMakeRect(windowRect.origin.x,
windowRect.origin.y + dy,
windowRect.size.width + dx,
windowRect.size.height - dy);
// We don't resize if we reached our minimum size...
if (aRect.size.width < [window minSize].width)
{
aRect.size.width = [window minSize].width;
}
if (aRect.size.height < [window minSize].height)
{
aRect.origin.y -= [window minSize].height - aRect.size.height;
aRect.size.height = [window minSize].height;
}
if ( aRect.size.width >= [window minSize].width &&
aRect.size.height >= [window minSize].height )
{
[window setFrame: aRect
display: YES];
}
}
}
}
}
//
// Method used to detect when the user release the left mouse button
// in order to know if we must minimize, maximize or close the window.
//
- (void) mouseUp: (NSEvent *) theEvent
{
NSRect minimizeRect, maximizeRect, closeRect, windowRect;
NSPoint aPoint;
aPoint = [theEvent locationInWindow];
windowRect = [window frame];
minimizeRect = NSMakeRect(windowRect.size.width - 33, windowRect.size.height - 10, 7, 7);
maximizeRect = NSMakeRect(windowRect.size.width - 21, windowRect.size.height - 10, 7, 7);
closeRect = NSMakeRect(windowRect.size.width - 8, windowRect.size.height - 10, 7, 7);
//NSLog(@"Location = %f %f", aPoint.x, aPoint.y);
// We verify if we must minimize, maximize or close the window
if ( NSMouseInRect(aPoint, minimizeRect, NO) )
{
[window setFrame: NSMakeRect([window frame].origin.x,
[window frame].origin.y,
[window minSize].width,
[window minSize].height)
display: YES];
}
else if (NSMouseInRect(aPoint, maximizeRect, NO) )
{
[window setFrame: NSMakeRect(70,
70,
[window maxSize].width,
[window maxSize].height)
display: YES];
}
else if (NSMouseInRect(aPoint, closeRect, NO) )
{
if ( [[window windowController] windowShouldClose: nil] )
{
[window close];
}
}
}
//
// access/mutation methods
//
- (void) setColorCode: (int) theColorCode
{
TEST_RELEASE(buttons);
TEST_RELEASE(resize);
TEST_RELEASE(titleBarColor);
TEST_RELEASE(noteColor);
//NSLog(@"Setting color code = %d", theColorCode);
switch (theColorCode)
{
case BLUE:
buttons = [NSImage imageNamed: @"buttons_blue.tiff"];
resize = [NSImage imageNamed: @"resize_blue.tiff"];
titleBarColor = [NSColor colorWithDeviceRed: 0.24
green: 0.90
blue: 1.0
alpha: 1.0];
noteColor = [NSColor colorWithDeviceRed: 0.44
green: 1.0
blue: 1.0
alpha: 1.0];
break;
case GRAY:
buttons = [NSImage imageNamed: @"buttons_gray.tiff"];
resize = [NSImage imageNamed: @"resize_gray.tiff"];
titleBarColor = [NSColor colorWithDeviceRed: 0.83
green: 0.83
blue: 0.83
alpha: 1.0];
noteColor = [NSColor colorWithDeviceRed: 0.93
green: 0.93
blue: 0.93
alpha: 1.0];
break;
case GREEN:
buttons = [NSImage imageNamed: @"buttons_green.tiff"];
resize = [NSImage imageNamed: @"resize_green.tiff"];
titleBarColor = [NSColor colorWithDeviceRed: 0.58
green: 1.0
blue: 0.58
alpha: 1.0];
noteColor = [NSColor colorWithDeviceRed: 0.70
green: 1.0
blue: 0.63
alpha: 1.0];
break;
case PURPLE:
buttons = [NSImage imageNamed: @"buttons_purple.tiff"];
resize = [NSImage imageNamed: @"resize_purple.tiff"];
titleBarColor = [NSColor colorWithDeviceRed: 0.57
green: 0.72
blue: 1.0
alpha: 1.0];
noteColor = [NSColor colorWithDeviceRed: 0.70
green: 0.78
blue: 1.0
alpha: 1.0];
break;
case YELLOW:
default:
buttons = [NSImage imageNamed: @"buttons_yellow.tiff"];
resize = [NSImage imageNamed: @"resize_yellow.tiff"];
titleBarColor = [NSColor colorWithDeviceRed: 1.0
green: 0.9
blue: 0.24
alpha: 1.0];
noteColor = [NSColor colorWithDeviceRed: 1.0
green: 1.0
blue: 0.63
alpha: 1.0];
}
RETAIN(buttons);
RETAIN(resize);
RETAIN(titleBarColor);
RETAIN(noteColor);
[self setNeedsDisplay: YES];
}
- (void) setWindow: (NSWindow *) theWindow
{
window = theWindow;
}
@end
affiche-0.6.0.orig/NoteWindow.h 0100644 0001750 0001750 00000002100 07427371446 014771 0 ustar doko doko /*
** NoteWindow.h
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@class NoteView;
@interface NoteWindow : NSWindow
{
NoteView *noteView;
NSScrollView *scrollView;
NSTextView *textView;
}
- (void) layoutWindow;
//
// access/mutation methods
//
- (NoteView *) noteView;
- (NSTextView *) textView;
@end
affiche-0.6.0.orig/NoteWindow.m 0100644 0001750 0001750 00000005643 07453356176 015017 0 ustar doko doko /*
** NoteWindow.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "NoteWindow.h"
#import "Constants.h"
#import "NoteView.h"
@implementation NoteWindow
- (void) dealloc
{
//NSLog(@"NoteWindow: -dealloc");
RELEASE(noteView);
RELEASE(textView);
RELEASE(scrollView);
[super dealloc];
}
- (void) layoutWindow
{
noteView = [[NoteView alloc] init];
[noteView setFrame: NSMakeRect(0,0,DEFAULT_NOTE_WIDTH,DEFAULT_NOTE_HEIGHT)];
[noteView setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
[noteView setWindow: self];
scrollView = [[NSScrollView alloc] initWithFrame: NSMakeRect(3,8,DEFAULT_NOTE_WIDTH-6,DEFAULT_NOTE_HEIGHT - 19)];
textView = [[NSTextView alloc] initWithFrame: [[scrollView contentView] frame]];
//[textView setTextContainerInset: NSMakeSize(5,5)];
[textView setBackgroundColor: [NSColor whiteColor]];
[textView setDrawsBackground: YES];
[textView setRichText: YES];
[textView setUsesFontPanel: YES];
[textView setHorizontallyResizable: NO];
[textView setVerticallyResizable: YES];
[textView setMinSize: NSMakeSize (0, 0)];
[textView setMaxSize: NSMakeSize (1E7, 1E7)];
[textView setAutoresizingMask: NSViewHeightSizable | NSViewWidthSizable];
[[textView textContainer] setContainerSize: NSMakeSize([[scrollView contentView] frame].size.width,
1E7)];
[[textView textContainer] setWidthTracksTextView: YES];
[textView setEditable: YES];
[textView setDelegate: [self windowController]];
[scrollView setDocumentView: textView];
[scrollView setHasHorizontalScroller: NO];
[scrollView setHasVerticalScroller: NO];
[scrollView setBorderType: NSNoBorder];
[scrollView setAutoresizingMask: (NSViewWidthSizable|NSViewHeightSizable)];
[[self contentView] addSubview: noteView];
[[self contentView] addSubview: scrollView];
}
- (BOOL) canBecomeKeyWindow
{
return YES;
}
//
// access/mutation methods
//
- (NSSize) maxSize
{
NSRect aRect;
aRect = [[NSScreen mainScreen] frame];
return NSMakeSize(aRect.size.width - 140, aRect.size.height - 140);
}
- (NSSize) minSize
{
return NSMakeSize(100,50);
}
- (NoteView *) noteView
{
return noteView;
}
- (NSTextView *) textView
{
return textView;
}
@end
affiche-0.6.0.orig/NoteWindowController.h 0100644 0001750 0001750 00000003373 07430304767 017046 0 ustar doko doko /*
** NoteWindowController.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@class Note;
@class NoteView;
@interface NoteWindowController : NSWindowController
{
// Outlets
IBOutlet NSTextView *textView;
// Other ivar
Note *note;
}
- (id) initWithWindowNibName: (NSString *) theNibName;
- (void) dealloc;
- (void) updateWindowTitle;
//
// delegate methods
//
- (void) textDidChange: (NSNotification *) aNotification;
- (void) windowDidBecomeKey: (NSNotification *) aNotification;
- (void) windowDidLoad;
- (void) windowDidMove: (NSNotification *) aNotification;
- (void) windowDidResize: (NSNotification *) aNotification;
- (BOOL) windowShouldClose: (id) sender;
- (void) windowWillClose: (NSNotification *) theNotification;
//
// access / mutation
//
+ (id) lastNoteWindowOnTop;
- (Note *) note;
- (void) setNote: (Note *) theNote;
- (NSTextView *) textView;
- (NoteView *) noteView;
@end
//
// private methods
//
@interface NoteWindowController (Private)
- (void) _updateWindowFrame;
@end
affiche-0.6.0.orig/NoteWindowController.m 0100644 0001750 0001750 00000012632 07453356176 017057 0 ustar doko doko /*
** NoteWindowController.m
**
** Copyright (c) 2001
**
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "NoteWindowController.h"
#import "Affiche.h"
#import "Constants.h"
#import "Note.h"
#import "NoteInfoWindowController.h"
#import "NoteView.h"
#import "NoteWindow.h"
static id lastNoteWindowOnTop = nil;
@implementation NoteWindowController
- (id) initWithWindowNibName: (NSString *) theNibName
{
NoteWindow *noteWindow;
noteWindow = [[NoteWindow alloc] initWithContentRect:NSMakeRect(10,10,DEFAULT_NOTE_WIDTH,DEFAULT_NOTE_HEIGHT)
//styleMask: NSTitledWindowMask
styleMask: NSBorderlessWindowMask
backing: NSBackingStoreBuffered
defer: NO];
self = [super initWithWindow: noteWindow];
[noteWindow layoutWindow];
[noteWindow setDelegate: self];
// We link our outlets
textView = [noteWindow textView];
// We set the title to an empty string
[[self window] setTitle: @""];
RELEASE(noteWindow);
return self;
}
- (void) dealloc
{
//NSLog(@"NoteWindowController: -dealloc");
lastNoteWindowOnTop = nil;
RELEASE(note);
[super dealloc];
}
- (void) updateWindowTitle
{
if ( [[self note] title] == NO_TITLE )
{
[[self window] setTitle: @""];
}
else if ( [[self note] title] == FIRST_LINE_OF_NOTE )
{
NSArray *allLines;
allLines = [[textView string] componentsSeparatedByString: @"\n"];
if ( [allLines count] > 0 )
{
[[self window] setTitle: [allLines objectAtIndex: 0]];
}
}
else
{
[[self window] setTitle: [[self note] titleValue]];
}
}
//
// delegate methods
//
- (void) textDidChange: (NSNotification *) aNotification
{
NSAttributedString *anAttributedString;
anAttributedString = [[NSAttributedString alloc] initWithAttributedString: [textView textStorage]];
[[self note] setValue: anAttributedString];
[self updateWindowTitle];
[[self noteView] setNeedsDisplay: YES];
// We update the modification date of our note
[[self note] setModificationDate: [NSDate date]];
RELEASE(anAttributedString);
}
- (void) windowDidBecomeKey: (NSNotification *) aNotification
{
lastNoteWindowOnTop = [self window];
[[NoteInfoWindowController singleInstance] setNote: [self note]];
}
- (void) windowDidLoad
{
lastNoteWindowOnTop = [self window];
[super windowDidLoad];
}
- (void) windowDidMove: (NSNotification *) aNotification
{
[self _updateWindowFrame];
}
- (void) windowDidResize: (NSNotification *) aNotification
{
[self _updateWindowFrame];
}
- (BOOL) windowShouldClose: (id) sender
{
int choice;
choice = NSRunAlertPanel(_(@"Closing a note..."),
_(@"Would you like to save this note (%@...)\nto a file?"),
_(@"Cancel"), // default
_(@"Yes"), // alternate
_(@"No"), // other return
[[self window] title]);
if (choice == NSAlertDefaultReturn)
{
return NO;
}
else if ( choice == NSAlertAlternateReturn )
{
NSSavePanel *aSavePanel;
int aChoice;
aSavePanel = [NSSavePanel savePanel];
[aSavePanel setAccessoryView: nil];
[aSavePanel setRequiredFileType: @""];
aChoice = [aSavePanel runModalForDirectory:NSHomeDirectory() file: @"note.txt"];
/* if successful, save file under designated name */
if (aChoice == NSOKButton)
{
if (! [[textView string] writeToFile: [aSavePanel filename]
atomically: YES] )
{
NSBeep();
}
}
}
[(Affiche *)[NSApp delegate] deleteNote: [self note]];
[(Affiche *)[NSApp delegate] synchronize];
return YES;
}
- (void) windowWillClose: (NSNotification *) theNotification
{
AUTORELEASE(self);
}
//
// access / mutation
//
+ (id) lastNoteWindowOnTop
{
return lastNoteWindowOnTop;
}
- (Note *) note
{
return note;
}
- (void) setNote: (Note *) theNote
{
if ( theNote )
{
RETAIN(theNote);
RELEASE(note);
note = theNote;
[[textView textStorage] setAttributedString: [note value]];
[textView setBackgroundColor: [note backgroundColor]];
[[self noteView] setColorCode: [note colorCode]];
[[self window] setFrame: [note frame]
display: NO];
[self updateWindowTitle];
[textView setNeedsDisplay: YES];
[[self noteView] setNeedsDisplay: YES];
}
else
{
RELEASE(note);
note = nil;
}
}
- (NSTextView *) textView
{
return textView;
}
- (NoteView *) noteView
{
return [(NoteWindow *)[self window] noteView];
}
@end
//
// private methods
//
@implementation NoteWindowController (Private)
- (void) _updateWindowFrame
{
if ( [self note] )
{
[[self note] setFrame: [[self window] frame]];
}
}
@end
affiche-0.6.0.orig/PreferencesPanel.h 0100644 0001750 0001750 00000003077 07430304767 016127 0 ustar doko doko /*
** PreferencesPanel.h
**
** Copyright (c) 2002
**
** Author: Jonathan B. Leffert
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface PreferencesPanel : NSPanel
{
NSTextField *fontField;
NSPopUpButton *colorPopUp;
NSBox *titleBarColorBox, *noteContentColorBox;
NSButton *topLeft;
NSButton *topRight;
NSButton *bottomLeft;
NSButton *bottomRight;
NSButton *center;
NSPopUpButton *titlePopUp;
NSTextField *titleField;
}
- (void) layoutPanel;
//
// access/mutation methods
//
- (NSTextField *) fontField;
- (NSPopUpButton *) colorPopUp;
- (NSBox *) titleBarColorBox;
- (NSBox *) noteContentColorBox;
- (NSButton *) topLeft;
- (NSButton *) topRight;
- (NSButton *) bottomLeft;
- (NSButton *) bottomRight;
- (NSButton *) center;
- (NSPopUpButton *) titlePopUp;
- (NSTextField *) titleField;
@end
affiche-0.6.0.orig/PreferencesPanel.m 0100644 0001750 0001750 00000015403 07454170476 016134 0 ustar doko doko /*
** PreferencesPanel.m
**
** Copyright (c) 2002
**
** Author: Jonathan B. Leffert
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "PreferencesPanel.h"
#import "ColorView.h"
#import "Constants.h"
#import "LabelWidget.h"
@implementation PreferencesPanel
- (void) dealloc
{
NSLog(@"PreferencesPanel: -dealloc");
RELEASE(fontField);
RELEASE(colorPopUp);
RELEASE(titleBarColorBox);
RELEASE(noteContentColorBox);
RELEASE(topLeft);
RELEASE(topRight);
RELEASE(bottomLeft);
RELEASE(bottomRight);
RELEASE(center);
[super dealloc];
}
- (void) layoutPanel
{
LabelWidget *label, *colorLabel, *positionLabel, *fontLabel, *titleLabel;
NSButton *chooseFont;
// Default Font
fontLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,193,50,TextFieldHeight)
label: _(@"Font:")];
[[self contentView] addSubview: fontLabel];
fontField = [[NSTextField alloc] initWithFrame: NSMakeRect(65,185,240,40)];
[fontField setEditable: NO];
[fontField setSelectable: NO];
[fontField setStringValue: @""];
[fontField setBezeled: NO];
[fontField setBordered: YES];
[[self contentView] addSubview: fontField];
chooseFont = [[NSButton alloc] initWithFrame: NSMakeRect(310,185,35,22)];
[chooseFont setTitle: _(@"Set...")];
[chooseFont setTarget: [self windowController]];
[chooseFont setAction: @selector(chooseFont:)];
[[self contentView] addSubview: chooseFont];
// Default color
colorLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,129,50,TextFieldHeight)
label: _(@"Color:")];
[[self contentView] addSubview: colorLabel];
colorPopUp = [[NSPopUpButton alloc] initWithFrame: NSMakeRect(65,127,110,ButtonHeight)];
[colorPopUp addItemWithTitle: _(@"Blue")];
[colorPopUp addItemWithTitle: _(@"Gray")];
[colorPopUp addItemWithTitle: _(@"Green")];
[colorPopUp addItemWithTitle: _(@"Purple")];
[colorPopUp addItemWithTitle: _(@"Yellow")];
[colorPopUp setTarget: [self windowController]];
[colorPopUp setAction: @selector(selectionOfColorHasChanged:)];
[[self contentView] addSubview: colorPopUp];
titleBarColorBox = [[NSBox alloc] initWithFrame: NSMakeRect(180,125,80,50)];
[titleBarColorBox setTitlePosition: NSAboveTop];
[titleBarColorBox setTitle: _(@"Title bar")];
[titleBarColorBox setContentViewMargins: NSMakeSize(1,1)];
[titleBarColorBox setContentView: [ColorView colorView]];
[[self contentView] addSubview: titleBarColorBox];
noteContentColorBox = [[NSBox alloc] initWithFrame: NSMakeRect(265,125,80,50)];
[noteContentColorBox setTitlePosition: NSAboveTop];
[noteContentColorBox setTitle: _(@"Note content")];
[noteContentColorBox setContentViewMargins: NSMakeSize(1,1)];
[noteContentColorBox setContentView: [ColorView colorView]];
[[self contentView] addSubview: noteContentColorBox];
// Default position
positionLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,72,100,TextFieldHeight)
label: _(@"Position:")];
[[self contentView] addSubview: positionLabel];
topLeft = [[NSButton alloc] initWithFrame: NSMakeRect(65,90,20,20)];
[topLeft setTitle: @""];
[topLeft setButtonType: NSPushOnPushOffButton];
[topLeft setTarget: [self windowController]];
[topLeft setAction: @selector(selectionOfPositionHasChanged:)];
[[self contentView] addSubview: topLeft];
center = [[NSButton alloc] initWithFrame: NSMakeRect(85,70,20,20)];
[center setTitle: @""];
[center setButtonType: NSPushOnPushOffButton];
[center setTarget: [self windowController]];
[center setAction: @selector(selectionOfPositionHasChanged:)];
[[self contentView] addSubview: center];
topRight = [[NSButton alloc] initWithFrame: NSMakeRect(105,90,20,20)];
[topRight setTitle: @""];
[topRight setButtonType: NSPushOnPushOffButton];
[topRight setTarget: [self windowController]];
[topRight setAction: @selector(selectionOfPositionHasChanged:)];
[[self contentView] addSubview: topRight];
bottomLeft = [[NSButton alloc] initWithFrame: NSMakeRect(65,50,20,20)];
[bottomLeft setTitle: @""];
[bottomLeft setButtonType: NSPushOnPushOffButton];
[bottomLeft setTarget: [self windowController]];
[bottomLeft setAction: @selector(selectionOfPositionHasChanged:)];
[[self contentView] addSubview: bottomLeft];
bottomRight = [[NSButton alloc] initWithFrame: NSMakeRect(105,50,20,20)];
[bottomRight setTitle: @""];
[bottomRight setButtonType: NSPushOnPushOffButton];
[bottomRight setTarget: [self windowController]];
[bottomRight setAction: @selector(selectionOfPositionHasChanged:)];
[[self contentView] addSubview: bottomRight];
// Default title
titleLabel = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,12,50,TextFieldHeight)
label: _(@"Title:")];
[[self contentView] addSubview: titleLabel];
titlePopUp = [[NSPopUpButton alloc] initWithFrame: NSMakeRect(65,10,120,ButtonHeight)];
[titlePopUp addItemWithTitle: _(@"No title")];
[titlePopUp addItemWithTitle: _(@"First line of note")];
[titlePopUp addItemWithTitle: _(@"Custom")];
[titlePopUp setTarget: [self windowController]];
[titlePopUp setAction: @selector(selectionOfTitleHasChanged:)];
[[self contentView] addSubview: titlePopUp];
titleField = [[NSTextField alloc] initWithFrame: NSMakeRect(190,12,155,TextFieldHeight)];
[[self contentView] addSubview: titleField];
label = [LabelWidget labelWidgetWithFrame: NSMakeRect(10,235,250,TextFieldHeight)
label: _(@"Defaults used when creating a new note:")];
[[self contentView] addSubview: label];
}
//
// access/mutation methods
//
- (NSTextField *) fontField
{
return fontField;
}
- (NSPopUpButton *) colorPopUp
{
return colorPopUp;
}
- (NSBox *) titleBarColorBox
{
return titleBarColorBox;
}
- (NSBox *) noteContentColorBox
{
return noteContentColorBox;
}
- (NSButton *) topLeft
{
return topLeft;
}
- (NSButton *) topRight
{
return topRight;
}
- (NSButton *) bottomLeft
{
return bottomLeft;
}
- (NSButton *) bottomRight
{
return bottomRight;
}
- (NSButton *) center
{
return center;
}
- (NSPopUpButton *) titlePopUp
{
return titlePopUp;
}
- (NSTextField *) titleField
{
return titleField;
}
@end
affiche-0.6.0.orig/PreferencesPanelController.h 0100644 0001750 0001750 00000003433 07430304767 020167 0 ustar doko doko /*
** PreferencesPanelController.h
**
** Copyright (c) 2002
**
** Author: Jonathan B. Leffert
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import
@interface PreferencesPanelController : NSWindowController
{
IBOutlet NSTextField *fontField;
IBOutlet NSPopUpButton *colorPopUp;
IBOutlet NSBox *titleBarColorBox;
IBOutlet NSBox *noteContentColorBox;
IBOutlet NSButton *topLeft;
IBOutlet NSButton *topRight;
IBOutlet NSButton *bottomLeft;
IBOutlet NSButton *bottomRight;
IBOutlet NSButton *center;
IBOutlet NSPopUpButton *titlePopUp;
IBOutlet NSTextField *titleField;
// ivars
int position;
}
- (id) initWithWindowNibName: (NSString *) theNibName;
- (void) dealloc;
- (void) initializeFromDefaults;
//
// action methods
//
- (IBAction) chooseFont: (id) sender;
- (IBAction) selectionOfColorHasChanged: (id) sender;
- (IBAction) selectionOfPositionHasChanged: (id) sender;
- (IBAction) selectionOfTitleHasChanged: (id) sender;
@end
@interface PreferencesPanelController (Private)
- (void) _updatePositionSelection;
@end
affiche-0.6.0.orig/PreferencesPanelController.m 0100644 0001750 0001750 00000022734 07454365327 020206 0 ustar doko doko /*
** PreferencesPanelController.m
**
** Copyright (c) 2002
**
** Author: Jonathan B. Leffert
** Author: Ludovic Marcotte
**
** This program is free software; you can redistribute it and/or modify
** it under the terms of the GNU General Public License as published by
** the Free Software Foundation; either version 2 of the License, or
** (at your option) any later version.
**
** This program is distributed in the hope that it will be useful,
** but WITHOUT ANY WARRANTY; without even the implied warranty of
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
** GNU General Public License for more details.
**
** You should have received a copy of the GNU General Public License
** along with this program; if not, write to the Free Software
** Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#import "PreferencesPanelController.h"
#import "ColorView.h"
#import "Constants.h"
#import "PreferencesPanel.h"
@implementation PreferencesPanelController
- (id) initWithWindowNibName: (NSString *) theNibName
{
#ifdef MACOSX
self = [super initWithWindowNibName: theNibName];
#else
PreferencesPanel *thePanel;
thePanel = [[PreferencesPanel alloc] initWithContentRect:NSMakeRect(100,100,355,270)
styleMask: (NSClosableWindowMask)
backing: NSBackingStoreBuffered
defer: NO];
self = [super initWithWindow: thePanel];
[thePanel layoutPanel];
[thePanel setDelegate: self];
// We link our outlets
fontField = [thePanel fontField];
colorPopUp = [thePanel colorPopUp];
titleBarColorBox = [thePanel titleBarColorBox];
noteContentColorBox = [thePanel noteContentColorBox];
topLeft = [thePanel topLeft];
topRight = [thePanel topRight];
bottomLeft = [thePanel bottomLeft];
bottomRight = [thePanel bottomRight];
center = [thePanel center];
titlePopUp = [thePanel titlePopUp];
titleField = [thePanel titleField];
RELEASE(thePanel);
#endif
// We set our title
[[self window] setTitle: _(@"Preferences...")];
#ifdef MACOSX
[titleBarColorBox setContentView: [ColorView colorView]];
[noteContentColorBox setContentView: [ColorView colorView]];
#endif
// We get our defaults for this panel
[self initializeFromDefaults];
return self;
}
- (void) dealloc
{
[super dealloc];
}
//
//
//
- (void) initializeFromDefaults
{
if ( [[NSUserDefaults standardUserDefaults] stringForKey: @"FONT_NAME"] )
{
[fontField setFont: [NSFont fontWithName: [[NSUserDefaults standardUserDefaults] stringForKey: @"FONT_NAME"]
size: [[NSUserDefaults standardUserDefaults] floatForKey: @"FONT_SIZE"]]];
}
// We set the value of our textfield
[fontField setStringValue: [NSString stringWithFormat: @"%@ - %.1f PT",
[[fontField font] fontName],
[[fontField font] pointSize]] ];
// We select and update our selected color
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"COLOR"] )
{
[colorPopUp selectItemAtIndex: [[NSUserDefaults standardUserDefaults] integerForKey: @"COLOR"] ];
}
else
{
[colorPopUp selectItemAtIndex: (YELLOW - 1)];
}
[self selectionOfColorHasChanged: nil];
// We select our position
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"POSITION"] )
{
position = [[NSUserDefaults standardUserDefaults] integerForKey: @"POSITION"];
}
else
{
position = CENTER;
}
[self _updatePositionSelection];
// We select our title
[titlePopUp selectItemAtIndex: [[NSUserDefaults standardUserDefaults] integerForKey: @"TITLE"]];
if ( [titlePopUp indexOfSelectedItem] == (CUSTOM - 1) )
{
[titleField setEditable: YES];
}
else
{
[titleField setEditable: NO];
}
if ( [[NSUserDefaults standardUserDefaults] objectForKey: @"TITLE_VALUE"] )
{
[titleField setStringValue: [[NSUserDefaults standardUserDefaults] objectForKey: @"TITLE_VALUE"]];
}
else
{
[titleField setStringValue: @""];
}
}
//
// delegate methods
//
- (void) changeFont: (id) sender
{
NSFontManager *aFontManager;
NSFont *aFont;
//NSLog(@"font changed!");
aFontManager = sender;
aFont = [aFontManager convertFont: [fontField font]];
[fontField setFont: aFont];
// We set the value of our textfield
[fontField setStringValue: [NSString stringWithFormat: @"%@ - %.1f PT",
[[fontField font] fontName],
[[fontField font] pointSize]] ];
}
- (void) windowWillClose: (id) sender
{
NSLog(@"Closing the panel... - we save the preferences.");
[[NSUserDefaults standardUserDefaults] setObject: [[fontField font] fontName]
forKey: @"FONT_NAME"];
[[NSUserDefaults standardUserDefaults] setFloat: [[fontField font] pointSize]
forKey: @"FONT_SIZE"];
[[NSUserDefaults standardUserDefaults] setInteger: [colorPopUp indexOfSelectedItem]
forKey: @"COLOR"];
[[NSUserDefaults standardUserDefaults] setInteger: position
forKey: @"POSITION"];
[[NSUserDefaults standardUserDefaults] setInteger: [titlePopUp indexOfSelectedItem]
forKey: @"TITLE"];
[[NSUserDefaults standardUserDefaults] setObject: [titleField stringValue]
forKey: @"TITLE_VALUE"];
[[NSUserDefaults standardUserDefaults] synchronize];
}
//
// action methods
//
- (IBAction) chooseFont: (id) sender
{
NSFontPanel *aFontPanel;
//NSLog(@"Choosing font!");
aFontPanel = [NSFontPanel sharedFontPanel];
[[NSFontManager sharedFontManager] setSelectedFont: [fontField font]
isMultiple: NO];
[aFontPanel orderFront: nil];
}
- (IBAction) selectionOfColorHasChanged: (id) sender
{
ColorView *titleBarColorView, *noteContentColorView;
titleBarColorView = (ColorView *)[titleBarColorBox contentView];
noteContentColorView = (ColorView *)[noteContentColorBox contentView];
[colorPopUp synchronizeTitleAndSelectedItem];
switch ( [colorPopUp indexOfSelectedItem] )
{
case 0:
[titleBarColorView setColor: [NSColor colorWithDeviceRed: 0.24
green: 0.9
blue: 1.0
alpha: 1.0]];
[noteContentColorView setColor: [NSColor colorWithDeviceRed: 0.44
green: 1.0
blue: 1.0
alpha: 1.0]];
break;
case 1:
[titleBarColorView setColor: [NSColor colorWithDeviceRed: 0.83
green: 0.83
blue: 0.83
alpha: 1.0]];
[noteContentColorView setColor: [NSColor colorWithDeviceRed: 0.93
green: 0.93
blue: 0.93
alpha: 1.0]];
break;
case 2:
[titleBarColorView setColor: [NSColor colorWithDeviceRed: 0.58
green: 1.0
blue: 0.58
alpha: 1.0]];
[noteContentColorView setColor: [NSColor colorWithDeviceRed: 0.70
green: 1.0
blue: 0.63
alpha: 1.0]];
break;
case 3:
[titleBarColorView setColor: [NSColor colorWithDeviceRed: 0.57
green: 0.72
blue: 1.0
alpha: 1.0]];
[noteContentColorView setColor: [NSColor colorWithDeviceRed: 0.70
green: 0.78
blue: 1.0
alpha: 1.0]];
break;
case 4:
default:
[titleBarColorView setColor: [NSColor colorWithDeviceRed: 1.0
green: 0.90
blue: 0.24
alpha: 1.0]];
[noteContentColorView setColor: [NSColor colorWithDeviceRed: 1.0
green: 1.0
blue: 0.63
alpha: 1.0]];
}
[titleBarColorView setNeedsDisplay: YES];
[noteContentColorView setNeedsDisplay: YES];
}
//
//
//
- (IBAction) selectionOfPositionHasChanged: (id) sender
{
if ( sender == topLeft )
{
position = TOP_LEFT;
}
else if ( sender == bottomLeft )
{
position = BOTTOM_LEFT;
}
else if ( sender == topRight )
{
position = TOP_RIGHT;
}
else if ( sender == bottomRight )
{
position = BOTTOM_RIGHT;
}
// Center
else
{
position = CENTER;
}
[self _updatePositionSelection];
}
//
//
//
- (IBAction) selectionOfTitleHasChanged: (id) sender
{
[titlePopUp synchronizeTitleAndSelectedItem];
switch ( [titlePopUp indexOfSelectedItem] )
{
case 2:
[titleField setEditable: YES];
break;
case 0:
case 1:
default:
[titleField setEditable: NO];
}
}
@end
@implementation PreferencesPanelController (Private)
- (void) _updatePositionSelection
{
switch ( position )
{
case TOP_LEFT:
[topLeft setState: NSOnState];
[bottomLeft setState: NSOffState];
[topRight setState: NSOffState];
[bottomRight setState: NSOffState];
[center setState: NSOffState];
break;
case BOTTOM_LEFT:
[topLeft setState: NSOffState];
[bottomLeft setState: NSOnState];
[topRight setState: NSOffState];
[bottomRight setState: NSOffState];
[center setState: NSOffState];
break;
case TOP_RIGHT:
[topLeft setState: NSOffState];
[bottomLeft setState: NSOffState];
[topRight setState: NSOnState];
[bottomRight setState: NSOffState];
[center setState: NSOffState];
break;
case BOTTOM_RIGHT:
[topLeft setState: NSOffState];
[bottomLeft setState: NSOffState];
[topRight setState: NSOffState];
[bottomRight setState: NSOnState];
[center setState: NSOffState];
break;
case CENTER:
default:
[topLeft setState: NSOffState];
[bottomLeft setState: NSOffState];
[topRight setState: NSOffState];
[bottomRight setState: NSOffState];
[center setState: NSOnState];
}
}
@end
affiche-0.6.0.orig/README 0100644 0001750 0001750 00000001203 07421634317 013377 0 ustar doko doko Affiche
===============================================================================
Affiche is a little application that allows people to 'stick little notes'
on your desktop.
To use Affiche, you need GNUstep. You can get GNUstep here:
http://www.gnustep.org
To compile Affiche:
% cd Affiche
% make
% make install (optional but required if you want the Affiche service.)
% openapp Affiche.app
Enjoy!
PS: If you want the Affiche service, after you did make install, just
type:
% make_services
===============================================================================
(c) Ludovic Marcotte
affiche-0.6.0.orig/TODO 0100644 0001750 0001750 00000000065 07435326037 013216 0 ustar doko doko 6- Notes shouldn't show up in wmaker list of windows
affiche-0.6.0.orig/English.lproj/ 0042755 0001750 0001750 00000000000 07456604302 015245 5 ustar doko doko affiche-0.6.0.orig/English.lproj/CVS/ 0042755 0001750 0001750 00000000000 07456606065 015710 5 ustar doko doko affiche-0.6.0.orig/English.lproj/CVS/Root 0100644 0001750 0001750 00000000045 07456604302 016540 0 ustar doko doko :pserver:ludo@Sophos.ca:/opt/cvsroot
affiche-0.6.0.orig/English.lproj/CVS/Repository 0100644 0001750 0001750 00000000037 07456604302 017775 0 ustar doko doko projects/Affiche/English.lproj
affiche-0.6.0.orig/English.lproj/CVS/Entries 0100644 0001750 0001750 00000000263 07456606065 017240 0 ustar doko doko /InfoPlist.strings/1.6/Mon Apr 8 01:45:04 2002/-kb/
/Localizable.strings/1.2/Thu Feb 7 16:45:52 2002/-kb/
D/MainMenu.nib////
D/NoteInfoWindow.nib////
D/PreferencesPanel.nib////
affiche-0.6.0.orig/English.lproj/MainMenu.nib/ 0042755 0001750 0001750 00000000000 07456604302 017525 5 ustar doko doko affiche-0.6.0.orig/English.lproj/MainMenu.nib/CVS/ 0042755 0001750 0001750 00000000000 07456604302 020160 5 ustar doko doko affiche-0.6.0.orig/English.lproj/MainMenu.nib/CVS/Root 0100644 0001750 0001750 00000000045 07456604302 021020 0 ustar doko doko :pserver:ludo@Sophos.ca:/opt/cvsroot
affiche-0.6.0.orig/English.lproj/MainMenu.nib/CVS/Repository 0100644 0001750 0001750 00000000054 07456604302 022254 0 ustar doko doko projects/Affiche/English.lproj/MainMenu.nib
affiche-0.6.0.orig/English.lproj/MainMenu.nib/CVS/Entries 0100644 0001750 0001750 00000000214 07456604302 021504 0 ustar doko doko /classes.nib/1.4/Sun Feb 10 17:47:17 2002/-kb/
/info.nib/1.5/Sun Feb 10 17:47:17 2002/-kb/
/objects.nib/1.6/Sun Feb 10 17:47:17 2002/-kb/
D
affiche-0.6.0.orig/English.lproj/MainMenu.nib/classes.nib 0100644 0001750 0001750 00000002220 07431531045 021637 0 ustar doko doko {
IBClasses = (
{
ACTIONS = {
closeNote = id;
exportText = id;
importText = id;
newNote = id;
quitApplication = id;
saveAllNotes = id;
setNoteColor = id;
showNoteInfo = id;
showPreferencesPanel = id;
};
CLASS = Affiche;
LANGUAGE = ObjC;
OUTLETS = {
blueMenuItem = NSMenuItem;
color = NSMenu;
edit = NSMenu;
file = NSMenu;
format = NSMenu;
grayMenuItem = NSMenuItem;
greenMenuItem = NSMenuItem;
info = NSMenu;
menu = NSMenu;
note = NSMenu;
purpleMenuItem = NSMenuItem;
services = NSMenu;
windows = NSMenu;
yellowMenuItem = NSMenuItem;
};
SUPERCLASS = NSObject;
},
{CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }
);
IBVersion = 1;
} affiche-0.6.0.orig/English.lproj/MainMenu.nib/info.nib 0100644 0001750 0001750 00000001023 07431531045 021135 0 ustar doko doko
IBDocumentLocation
57 266 356 240 0 0 1024 746
IBEditorPositions
29
126 649 404 44 0 0 1024 746
IBFramework Version
248.0
IBOpenObjects
29
IBSystem Version
5P48
affiche-0.6.0.orig/English.lproj/MainMenu.nib/objects.nib 0100644 0001750 0001750 00000017151 07431531045 021644 0 ustar doko doko typedstream@NSIBObjectData NSObject NSCustomObject)@@NSMutableStringNSString+
NSApplicationi^
NSMenuItemNSMenu ̔i@@@ AfficheNSMutableArray NSArray
i@@IIi@@@@:i@
About Affiche NSCustomResource)NSImageNSMenuCheckmarkNSMenuMixedState Prefefences... @ Services submenuAction: Services _NSServicesMenu@ Hide Others Show All @ Quit Afficheq _NSAppleMenu Hide NewApplicationh Font
Show Fontst Boldb Italici Underlineu @ Kern KernӠ Use Default Ӡ Use None Ӡ Tighten Ӡ Loosen Baseline Baselineࠂ Use Default ࠂ Superscript ࠂ Subscript ࠂ Raise ࠂ Lower @ Show Colors @ Copy Font3
Paste Font4 _NSFontMenu Ligature Ligature Use Default Use None Use All Color Blue Gray Green Purple Yellow Spelling Spelling...: Check Spelling; Check Spelling As You Type Edit Undoz @ Cutx Copyc Pastev Clear
Select Alla @ Find Find3 Find...f 3 Find Nextg 3
Find Previousd 3 Use Selection for Finde 3 Scroll to Selectionj RedoZ % MainMenuI I File FileO New Noten O Closew O Save Alls O Import Text... O Export Text... HI Note `a Note Info I Font I I Window Windowj Minimizem j@ j Bring All to Front _NSWindowsMenuI Help Helpv
MyApp Help? _NSMainMenu Edit IB3XOE!a_ޖLyvjh"
NSFontManagerhII0MIcaeIӖ63gtIqjӖe_I+93ӖLI[O(31mjAffiche<3ӖpjHE
]O?3vt UO1RO-OMіgI>儙13%NSMenuItem114넙111鄙12"NSMenuItem30NSMenuItem123NSMenu
NSMenuItemNSMenuItem11ބ11212턙13Ą18O 1111File's OwnerBNSMenuItem1X3!
NSMenuItemU16
NSMenuItemENSMenuItem13(NSMenuItem9p H
NSMenuItemф1511DŽ110NSMenuNSMenǘ16ք11v211~Font Managerʄ19IMainMenu111M ?NSMenuItem2R9y j111<NSMenuItem3ㄙ11NSMenuItem61111NSMenuItem7܄12-NSMenuItem10t1 NSMenuItem8ӄ11NSMenuItem29NSMenuItem41711+NSMenuItem411NSMutableSet NSSet I 7NSNibControlConnector τNSNibConnector@@@mperformMiniaturize: qarrangeInFront: y showHelp: orderFrontStandardAboutPanel: hideOtherApplications: hide: unhideAllApplications: "cut: (paste: redo: -
selectAll: undo: %copy: +clear: showGuessPanel: checkSpelling: toggleContinuousSpellChecking: U
performClose: R newNote: quitApplication: X
saveAllNotes: useAllLigatures: useStandardLigatures: orderFrontColorPanel: ܅loosenKerning: copyFont: ~
addFontTrait: 년lowerBaseline: turnOffKerning: ㅄ unscript: 煄
subscript: turnOffLigatures: څtightenKerning: 酄raiseBaseline: ͅ
underline: ~orderFrontFontPanel: օuseStandardKerning:
pasteFont: 兄superscript: ~
addFontTrait:NSNibOutletConnector ρ blueMenuItem
greenMenuItem grayMenuItem purpleMenuItem yellowMenuItem
setNoteColor:
setNoteColor:
setNoteColor:
setNoteColor:
setNoteColor: [ importText: ] exportText: c
showNoteInfo: delegate showPreferencesPanel~ @i ͪ9 с L8 ֪ 1 6 ށ ު
"
+ m ݁ Ձ ɪ :$с ઁ ́ p\? , Ϫ Ӂ 㪁 3 ف I E ʁ ٪qh c~ ˪& ݪ ˁ ځ Ҫ! ĪXK ƪ vj RR
Ӂ ( Ϊ a zUI<