From 7bdc98ff6e26c110e5477681d94231589488baec Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Thu, 12 Feb 2015 18:01:30 -0800 Subject: [PATCH 01/15] Version bump to v4.9 and locaization update --- .../Resources/de.lproj/MailHeader.strings | 2 +- .../Resources/en.lproj/MailHeader-Info.plist | 4 ++-- .../Resources/en.lproj/MailHeader.strings | 2 +- .../Resources/es.lproj/MailHeader.strings | 2 +- .../Resources/fr.lproj/MailHeader.strings | 2 +- .../Resources/it.lproj/MailHeader.strings | 2 +- .../Resources/ja.lproj/MailHeader.strings | 2 +- .../Resources/ko.lproj/MailHeader.strings | 2 +- .../Resources/nb.lproj/MailHeader.strings | 2 +- .../Resources/nl.lproj/MailHeader.strings | 2 +- .../Resources/pt-PT.lproj/MailHeader.strings | 2 +- .../Resources/pt.lproj/MailHeader.strings | 2 +- .../Resources/ru.lproj/MailHeader.strings | 14 +++++++------- .../Resources/sv.lproj/MailHeader.strings | 2 +- .../Resources/uk.lproj/MailHeader.strings | 2 +- .../Resources/zh-Hans.lproj/MailHeader.strings | 2 +- .../Resources/zh-Hant.lproj/MailHeader.strings | 2 +- 17 files changed, 24 insertions(+), 24 deletions(-) diff --git a/ReplyWithHeader/Resources/de.lproj/MailHeader.strings b/ReplyWithHeader/Resources/de.lproj/MailHeader.strings index 1630661..fdea83c 100644 --- a/ReplyWithHeader/Resources/de.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/de.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Urheberrecht © 2014 Jeevanandam M., Alle Rechte vorbehalten."; + "COPYRIGHT" = "Urheberrecht © 2015 Jeevanandam M., Alle Rechte vorbehalten."; /* Message Strings */ "STRING_FROM" = "Von"; diff --git a/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist b/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist index 6e7fc43..950cf08 100644 --- a/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist +++ b/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist @@ -19,11 +19,11 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.8 + 4.9-beta CFBundleSignature ???? CFBundleVersion - 4.8 + 4.9-beta LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} MHAppCastURL diff --git a/ReplyWithHeader/Resources/en.lproj/MailHeader.strings b/ReplyWithHeader/Resources/en.lproj/MailHeader.strings index c967258..e3b8cc3 100644 --- a/ReplyWithHeader/Resources/en.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/en.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Copyright © 2014 Jeevanandam M., All rights reserved."; + "COPYRIGHT" = "Copyright © 2015 Jeevanandam M., All rights reserved."; /* Message Strings */ "STRING_FROM" = "From"; diff --git a/ReplyWithHeader/Resources/es.lproj/MailHeader.strings b/ReplyWithHeader/Resources/es.lproj/MailHeader.strings index 372d737..42f6ad5 100644 --- a/ReplyWithHeader/Resources/es.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/es.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "derechos de autor © 2014 Jeevanandam M., Reservados todos los derechos."; + "COPYRIGHT" = "derechos de autor © 2015 Jeevanandam M., Reservados todos los derechos."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings b/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings index 8fa09d1..878f4ef 100644 --- a/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "droit d'auteur © 2014 Jeevanandam M., Tous droits réservés."; + "COPYRIGHT" = "droit d'auteur © 2015 Jeevanandam M., Tous droits réservés."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/it.lproj/MailHeader.strings b/ReplyWithHeader/Resources/it.lproj/MailHeader.strings index d85a9f8..cf60fc8 100644 --- a/ReplyWithHeader/Resources/it.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/it.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "diritto d'autore © 2014 Jeevanandam M., Tutti i diritti riservati."; + "COPYRIGHT" = "diritto d'autore © 2015 Jeevanandam M., Tutti i diritti riservati."; /* Message Strings */ "STRING_FROM" = "Da"; diff --git a/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings index 5f671a6..b82702f 100644 --- a/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "著作権 © 2014 Jeevanandam M., 無断複写·転載を禁じます。"; + "COPYRIGHT" = "著作権 © 2015 Jeevanandam M., 無断複写·転載を禁じます。"; /* Message Strings */ "STRING_FROM" = "差出人"; diff --git a/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings index 918e616..e887a9c 100644 --- a/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "저작권 © 2014 Jeevanandam M., 판권 소유."; + "COPYRIGHT" = "저작권 © 2015 Jeevanandam M., 판권 소유."; /* Message Strings */ "STRING_FROM" = "보낸 사람"; diff --git a/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings b/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings index 7b732f0..f46b148 100644 --- a/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Copyright © 2014 Jeevanandam M., Alle rettigheter forbeholdt."; + "COPYRIGHT" = "Copyright © 2015 Jeevanandam M., Alle rettigheter forbeholdt."; /* Message Strings */ "STRING_FROM" = "Fra"; diff --git a/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings b/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings index cef58ca..39345bd 100644 --- a/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Auteursrecht © 2014 Jeevanandam M., Alle rechten voorbehouden."; + "COPYRIGHT" = "Auteursrecht © 2015 Jeevanandam M., Alle rechten voorbehouden."; /* Message Strings */ "STRING_FROM" = "Van"; diff --git a/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings b/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings index 11e27d9..fa46d16 100644 --- a/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Direitos autorais © 2014 Jeevanandam M., Todos os direitos reservados."; + "COPYRIGHT" = "Direitos autorais © 2015 Jeevanandam M., Todos os direitos reservados."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings b/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings index 01f57b3..bf7ed4a 100644 --- a/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Direitos autorais © 2014 Jeevanandam M., Todos os direitos reservados."; + "COPYRIGHT" = "Direitos autorais © 2015 Jeevanandam M., Todos os direitos reservados."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings index f1c26b1..97db134 100644 --- a/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings @@ -2,16 +2,16 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Aвторское право © 2014 Jeevanandam M., Все права защищены."; + "COPYRIGHT" = "Aвторское право © 2015 Jeevanandam M., Все права защищены."; /* Message Strings */ - "STRING_FROM" = "Отправитель"; - "STRING_SUBJECT" = "Тема"; - "STRING_DATE" = "Дата"; - "STRING_TO" = "Получатель"; - "STRING_CC" = "Копия"; + "STRING_FROM" = "От1"; + "STRING_SUBJECT" = "Тема2"; + "STRING_DATE" = "Дата3"; + "STRING_TO" = "Кому4"; + "STRING_CC" = "Копия5"; "STRING_REPLY_TO" = "Reply-To"; - "STRING_SENT" = "посланный"; + "STRING_SENT" = "Отправлено6"; "STRING_WROTE" = "написал(а)"; "STRING_FORWARDED_MESSAGE" = "переадресованного сообщения"; "STRING_SEARCH_PREFIX_SUBJECT_REPLY" = "Re: "; diff --git a/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings b/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings index 79e29f2..37ad7a0 100644 --- a/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Copyright © 2014 Jeevanandam M., Alla rättigheter förbehållna."; + "COPYRIGHT" = "Copyright © 2015 Jeevanandam M., Alla rättigheter förbehållna."; /* Message Strings */ "STRING_FROM" = "Från"; diff --git a/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings b/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings index 7e4e781..0661c0f 100644 --- a/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Авторське право © 2014 Jeevanandam M., Всі права захищені."; + "COPYRIGHT" = "Авторське право © 2015 Jeevanandam M., Всі права захищені."; /* Message Strings */ "STRING_FROM" = "Від кого"; diff --git a/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings b/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings index 2be224a..9be0229 100644 --- a/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "版权 © 2014 Jeevanandam M., 保留所有权利。"; + "COPYRIGHT" = "版权 © 2015 Jeevanandam M., 保留所有权利。"; /* Message Strings */ "STRING_FROM" = "发件人"; diff --git a/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings b/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings index 028490f..b23b05c 100644 --- a/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "版權 © 2014 Jeevanandam M., 保留所有權利。"; + "COPYRIGHT" = "版權 © 2015 Jeevanandam M., 保留所有權利。"; /* Message Strings */ "STRING_FROM" = "寄件人"; From 63fbd555babbd126bf727dbb8898ca83375ddfd4 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sat, 7 Mar 2015 22:29:34 -0800 Subject: [PATCH 02/15] #76 - Addressed Russian localization --- ReplyWithHeader.xcodeproj/project.pbxproj | 6 ++ ReplyWithHeader/MHHeaderString.m | 59 +++++++++++++---- ReplyWithHeader/NSString+MailHeader.h | 38 +++++++++++ ReplyWithHeader/NSString+MailHeader.m | 63 +++++++++++++++++++ .../Resources/ru.lproj/MailHeader.strings | 12 ++-- 5 files changed, 161 insertions(+), 17 deletions(-) create mode 100644 ReplyWithHeader/NSString+MailHeader.h create mode 100644 ReplyWithHeader/NSString+MailHeader.m diff --git a/ReplyWithHeader.xcodeproj/project.pbxproj b/ReplyWithHeader.xcodeproj/project.pbxproj index 5d383d6..65a570d 100644 --- a/ReplyWithHeader.xcodeproj/project.pbxproj +++ b/ReplyWithHeader.xcodeproj/project.pbxproj @@ -7,6 +7,7 @@ objects = { /* Begin PBXBuildFile section */ + 130238B01AABC48000AA2C01 /* NSString+MailHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 130238AF1AABC48000AA2C01 /* NSString+MailHeader.m */; }; 131C192417F627B70053C587 /* SUStandardVersionComparator.m in Sources */ = {isa = PBXBuildFile; fileRef = 131C192317F627B70053C587 /* SUStandardVersionComparator.m */; }; 132C66631827E23400CD7C1A /* language.png in Resources */ = {isa = PBXBuildFile; fileRef = 132C66621827E23400CD7C1A /* language.png */; }; 133A918017E9745A00E3CC62 /* MHHeaderString.m in Sources */ = {isa = PBXBuildFile; fileRef = 133A916E17E9745A00E3CC62 /* MHHeaderString.m */; }; @@ -42,6 +43,8 @@ /* Begin PBXFileReference section */ 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = /System/Library/Frameworks/Cocoa.framework; sourceTree = ""; }; + 130238AE1AABC48000AA2C01 /* NSString+MailHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSString+MailHeader.h"; sourceTree = ""; }; + 130238AF1AABC48000AA2C01 /* NSString+MailHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MailHeader.m"; sourceTree = ""; }; 1310991F1825524800C24D9F /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = nl; path = nl.lproj/MailHeader.strings; sourceTree = ""; }; 131099201825524800C24D9F /* nl */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = nl; path = nl.lproj/Config.plist; sourceTree = ""; }; 13109921182554C900C24D9F /* pt */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = pt; path = pt.lproj/MailHeader.strings; sourceTree = ""; }; @@ -242,6 +245,8 @@ 1376067E17F0C43200BDEB41 /* Category */ = { isa = PBXGroup; children = ( + 130238AE1AABC48000AA2C01 /* NSString+MailHeader.h */, + 130238AF1AABC48000AA2C01 /* NSString+MailHeader.m */, 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */, 135829F617FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.h */, 13A25F4217F9B0C7002394DF /* NSPreferences+MailHeader.h */, @@ -429,6 +434,7 @@ 133A918417E9745A00E3CC62 /* MHMailMessage.m in Sources */, 133A918617E9745A00E3CC62 /* MHPreferences.m in Sources */, 131C192417F627B70053C587 /* SUStandardVersionComparator.m in Sources */, + 130238B01AABC48000AA2C01 /* NSString+MailHeader.m in Sources */, 13B6E5D717F6F41E00878012 /* MHHeadersEditor.m in Sources */, 13A25F4417F9B0C7002394DF /* NSPreferences+MailHeader.m in Sources */, 135829F717FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m in Sources */, diff --git a/ReplyWithHeader/MHHeaderString.m b/ReplyWithHeader/MHHeaderString.m index e0fb331..954e24e 100644 --- a/ReplyWithHeader/MHHeaderString.m +++ b/ReplyWithHeader/MHHeaderString.m @@ -144,15 +144,15 @@ - (void)applyHeaderLabelOptions int headerLabelMode = GET_DEFAULT_INT(MHHeaderLabelMode); MHLog(@"Mail Header Order mode: %d and Label mode: %d", headerOrderMode, headerLabelMode); + if (headerLabelMode == 2) + [self applyHeaderLabelChange]; + // fix for #26 https://github.com/jeevatkm/ReplyWithHeader/issues/26 if ( [MailHeader isLocaleSupported] ) { if (headerOrderMode == 2) [self applyHeaderOrderChange]; } - - if (headerLabelMode == 2) - [self applyHeaderLabelChange]; } - (id)initWithMailMessage:(id)mailMessage @@ -240,8 +240,10 @@ - (void)applyHeaderOrderChange for (int i=0; i<[messageAttribution count]; i++) { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; + // for #76 - https://github.com/jeevatkm/ReplyWithHeader/issues/76 + NSString *rowNorm = [[row string] precomposedStringWithCanonicalMapping]; - if ([[row string] hasPrefix:subjectPrefix]) + if ([rowNorm hasPrefix:subjectPrefix]) { subjectIndex = i; subjectIndexFound = TRUE; @@ -249,10 +251,9 @@ - (void)applyHeaderOrderChange } } + MHLog(@"Subject Index found : %@", subjectIndexFound ? @"YES" : @"NO"); if (subjectIndexFound) { - MHLog(@"Subject Index found : %@", subjectIndexFound ? @"YES" : @"NO"); - @try { MHLog(@"Before: %@", messageAttribution); NSMutableAttributedString *subject = [[messageAttribution objectAtIndex:subjectIndex] mutableCopy]; @@ -307,6 +308,7 @@ - (NSString *)getFullNameFromEmailAddress:(NSString *)emailAddress isMailToNeede return emailAddress; } +// for #76 - https://github.com/jeevatkm/ReplyWithHeader/issues/76 - (void)applyHeaderLabelChange { NSString *fromPrefix = MHLocalizedStringByLocale(@"STRING_FROM", MHLocaleIdentifier); @@ -314,6 +316,7 @@ - (void)applyHeaderLabelChange NSString *ccPrefix = MHLocalizedStringByLocale(@"STRING_CC", MHLocaleIdentifier); NSString *datePrefix = MHLocalizedStringByLocale(@"STRING_DATE", MHLocaleIdentifier); NSString *dateToBePrefix = MHLocalizedStringByLocale(@"STRING_SENT", MHLocaleIdentifier); + NSString *subjectPrefix = MHLocalizedStringByLocale(@"STRING_SUBJECT", MHLocaleIdentifier); if ([MHLocaleIdentifier isNotEqualTo:choosenLocaleIdentifier]) { @@ -322,14 +325,26 @@ - (void)applyHeaderLabelChange ccPrefix = MHLocalizedStringByLocale(@"STRING_CC", choosenLocaleIdentifier); datePrefix = MHLocalizedStringByLocale(@"STRING_DATE", choosenLocaleIdentifier); dateToBePrefix = MHLocalizedStringByLocale(@"STRING_SENT", choosenLocaleIdentifier); + subjectPrefix = MHLocalizedStringByLocale(@"STRING_SUBJECT", choosenLocaleIdentifier); } + NSArray *choosenHeaderLabels = [MailHeader getConfigValue:@"AllowedHeaders" + languageCode:choosenLocaleIdentifier]; + NSLog(@"applyHeaderLabelChange: %@", messageAttribution); + NSLog(@"fromPrefix: %@, toPrefix: %@, ccPrefix: %@, datePrefix: %@, dateToBePrefix: %@", fromPrefix, toPrefix, ccPrefix, datePrefix, dateToBePrefix); + + //0 => from + //1 => subject + //2 => date + //3 => to + //4 ==> cc for (int i=0; i<[messageAttribution count]; i++) { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; + //NSString *rowNorm = [[row string] precomposedStringWithCanonicalMapping]; NSRange range; - if ([[row string] hasPrefix:fromPrefix]) + if (i == 0) { range = [[row string] rangeOfString:@":"]; NSString *fromString = [[row string] substringFromIndex:range.location + 2]; @@ -341,14 +356,25 @@ - (void)applyHeaderLabelChange fromString = [self getFullNameFromEmailAddress:fromString isMailToNeeded:mailToNeeded]; [row replaceCharactersInRange:NSMakeRange(range.location + 2, [row length] - (range.location + 2)) withString:fromString]; + + [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:fromPrefix]; } - if ([[row string] hasPrefix:datePrefix]) + if (i == 1) { - range = [[row string] rangeOfString:datePrefix]; + range = [[row string] rangeOfString:@":"]; + [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:subjectPrefix]; + } + + if (i == 2) + { + /*range = [[row string] rangeOfString:datePrefix]; if (range.location != NSNotFound) - [row replaceCharactersInRange:range withString:dateToBePrefix]; + [row replaceCharactersInRange:range withString:dateToBePrefix];*/ + + range = [[row string] rangeOfString:@":"]; + [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:dateToBePrefix]; // for issue #37 - https://github.com/jeevatkm/ReplyWithHeader/issues/37 // Just realized, this might have to wait for a while @@ -380,7 +406,7 @@ - (void)applyHeaderLabelChange [row replaceCharactersInRange:range withString:toDate];*/ } - if ([[row string] hasPrefix:toPrefix] || [[row string] hasPrefix:ccPrefix]) + if (i == 3 || i == 4) { range = [[row string] rangeOfString:@":"]; NSString *emailString = [[row string] substringFromIndex:range.location + 2]; @@ -412,6 +438,17 @@ - (void)applyHeaderLabelChange } [row replaceCharactersInRange:NSMakeRange(range.location + 2, [row length] - (range.location + 2)) withString:finalString]; + + range = [[row string] rangeOfString:@":"]; + if (i == 3) + { + [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:toPrefix]; + } + + if (i == 4) + { + [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:ccPrefix]; + } } } } diff --git a/ReplyWithHeader/NSString+MailHeader.h b/ReplyWithHeader/NSString+MailHeader.h new file mode 100644 index 0000000..a31ad60 --- /dev/null +++ b/ReplyWithHeader/NSString+MailHeader.h @@ -0,0 +1,38 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2013-2015 Jeevanandam M. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +// +// NSString+MailHeader.h +// ReplyWithHeader +// +// Created by Jeevanandam M. on 07/03/15. +// +// + +@interface NSString (MailHeader) + +- (BOOL)isBlank; +- (NSString *)trim; + +@end diff --git a/ReplyWithHeader/NSString+MailHeader.m b/ReplyWithHeader/NSString+MailHeader.m new file mode 100644 index 0000000..8da9d8e --- /dev/null +++ b/ReplyWithHeader/NSString+MailHeader.m @@ -0,0 +1,63 @@ +/* + * The MIT License (MIT) + * + * Copyright (c) 2013-2015 Jeevanandam M. + * + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + */ + +// +// NSString+MailHeader.m +// ReplyWithHeader +// +// Created by Jeevanandam M. on 07/03/15. +// +// + +#import "NSString+MailHeader.h" + +@implementation NSString (MailHeader) + +- (BOOL)isBlank +{ + if([[self trim] isEqualToString:@""]) + return YES; + return NO; +} + +- (NSString *)trim +{ + return [self stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; +} + +- (BOOL)contains:(NSString *)string +{ + if (string) + { + NSRange range = [self rangeOfString:string]; + return (range.location != NSNotFound); + } + else + { + return NO; + } + +} + +@end diff --git a/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings index 97db134..0bf708d 100644 --- a/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings @@ -5,13 +5,13 @@ "COPYRIGHT" = "Aвторское право © 2015 Jeevanandam M., Все права защищены."; /* Message Strings */ - "STRING_FROM" = "От1"; - "STRING_SUBJECT" = "Тема2"; - "STRING_DATE" = "Дата3"; - "STRING_TO" = "Кому4"; - "STRING_CC" = "Копия5"; + "STRING_FROM" = "От"; + "STRING_SUBJECT" = "Тема"; + "STRING_DATE" = "Дата"; + "STRING_TO" = "Кому"; + "STRING_CC" = "Копия"; "STRING_REPLY_TO" = "Reply-To"; - "STRING_SENT" = "Отправлено6"; + "STRING_SENT" = "Отправлено"; "STRING_WROTE" = "написал(а)"; "STRING_FORWARDED_MESSAGE" = "переадресованного сообщения"; "STRING_SEARCH_PREFIX_SUBJECT_REPLY" = "Re: "; From b6b2f0910ddea0364fd39e4b69bc37849fdb0c43 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sat, 7 Mar 2015 22:39:02 -0800 Subject: [PATCH 03/15] Comments update and logger removal --- ReplyWithHeader/MHCodeInjector.h | 2 +- ReplyWithHeader/MHCodeInjector.m | 2 +- ReplyWithHeader/MHConstants.h | 2 +- ReplyWithHeader/MHDisplayNotes.h | 2 +- ReplyWithHeader/MHDisplayNotes.m | 2 +- ReplyWithHeader/MHHeaderString.h | 2 +- ReplyWithHeader/MHHeaderString.m | 12 +++++------- ReplyWithHeader/MHHeadersEditor.h | 2 +- ReplyWithHeader/MHHeadersEditor.m | 2 +- ReplyWithHeader/MHMailMessage.h | 2 +- ReplyWithHeader/MHMailMessage.m | 2 +- ReplyWithHeader/MHPreferences.h | 2 +- ReplyWithHeader/MHPreferences.m | 2 +- ReplyWithHeader/MHQuotedMailOriginal.h | 2 +- ReplyWithHeader/MHQuotedMailOriginal.m | 2 +- ReplyWithHeader/MHSignature.h | 2 +- ReplyWithHeader/MHSignature.m | 2 +- ReplyWithHeader/MHUpdateAlert.h | 2 +- ReplyWithHeader/MHUpdateAlert.m | 2 +- ReplyWithHeader/MHUpdater.h | 2 +- ReplyWithHeader/MHUpdater.m | 2 +- ReplyWithHeader/MailHeader.h | 2 +- ReplyWithHeader/MailHeader.m | 2 +- .../NSMutableAttributedString+MailHeader.h | 2 +- .../NSMutableAttributedString+MailHeader.m | 2 +- ReplyWithHeader/NSPreferences+MailHeader.h | 2 +- ReplyWithHeader/NSPreferences+MailHeader.m | 2 +- ReplyWithHeader/Resources/LICENSE.txt | 2 +- 28 files changed, 32 insertions(+), 34 deletions(-) diff --git a/ReplyWithHeader/MHCodeInjector.h b/ReplyWithHeader/MHCodeInjector.h index f908962..3706abf 100644 --- a/ReplyWithHeader/MHCodeInjector.h +++ b/ReplyWithHeader/MHCodeInjector.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHCodeInjector.m b/ReplyWithHeader/MHCodeInjector.m index 75043f1..d3bef92 100644 --- a/ReplyWithHeader/MHCodeInjector.m +++ b/ReplyWithHeader/MHCodeInjector.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHConstants.h b/ReplyWithHeader/MHConstants.h index 77641ef..695c566 100644 --- a/ReplyWithHeader/MHConstants.h +++ b/ReplyWithHeader/MHConstants.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHDisplayNotes.h b/ReplyWithHeader/MHDisplayNotes.h index 7a8f38c..c59507d 100644 --- a/ReplyWithHeader/MHDisplayNotes.h +++ b/ReplyWithHeader/MHDisplayNotes.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHDisplayNotes.m b/ReplyWithHeader/MHDisplayNotes.m index cd430e9..b77832d 100644 --- a/ReplyWithHeader/MHDisplayNotes.m +++ b/ReplyWithHeader/MHDisplayNotes.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHHeaderString.h b/ReplyWithHeader/MHHeaderString.h index 470adb4..082bf10 100644 --- a/ReplyWithHeader/MHHeaderString.h +++ b/ReplyWithHeader/MHHeaderString.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHHeaderString.m b/ReplyWithHeader/MHHeaderString.m index 954e24e..30f5775 100644 --- a/ReplyWithHeader/MHHeaderString.m +++ b/ReplyWithHeader/MHHeaderString.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * @@ -262,7 +262,7 @@ - (void)applyHeaderOrderChange MHLog(@"After: %@", messageAttribution); } @catch (NSException *exception) { - NSLog(@"Exception occured: %@", exception.description); + MHLog(@"Exception occured: %@", exception.description); } } else @@ -327,11 +327,9 @@ - (void)applyHeaderLabelChange dateToBePrefix = MHLocalizedStringByLocale(@"STRING_SENT", choosenLocaleIdentifier); subjectPrefix = MHLocalizedStringByLocale(@"STRING_SUBJECT", choosenLocaleIdentifier); } - - NSArray *choosenHeaderLabels = [MailHeader getConfigValue:@"AllowedHeaders" - languageCode:choosenLocaleIdentifier]; - NSLog(@"applyHeaderLabelChange: %@", messageAttribution); - NSLog(@"fromPrefix: %@, toPrefix: %@, ccPrefix: %@, datePrefix: %@, dateToBePrefix: %@", fromPrefix, toPrefix, ccPrefix, datePrefix, dateToBePrefix); + + MHLog(@"applyHeaderLabelChange: %@", messageAttribution); + MHLog(@"fromPrefix: %@, toPrefix: %@, ccPrefix: %@, datePrefix: %@, dateToBePrefix: %@", fromPrefix, toPrefix, ccPrefix, datePrefix, dateToBePrefix); //0 => from //1 => subject diff --git a/ReplyWithHeader/MHHeadersEditor.h b/ReplyWithHeader/MHHeadersEditor.h index 8bcdad2..e93681a 100644 --- a/ReplyWithHeader/MHHeadersEditor.h +++ b/ReplyWithHeader/MHHeadersEditor.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHHeadersEditor.m b/ReplyWithHeader/MHHeadersEditor.m index bd91c7f..03ec3e9 100644 --- a/ReplyWithHeader/MHHeadersEditor.m +++ b/ReplyWithHeader/MHHeadersEditor.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHMailMessage.h b/ReplyWithHeader/MHMailMessage.h index eb34bc7..d03dfdd 100644 --- a/ReplyWithHeader/MHMailMessage.h +++ b/ReplyWithHeader/MHMailMessage.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHMailMessage.m b/ReplyWithHeader/MHMailMessage.m index a97bb7a..90ec688 100644 --- a/ReplyWithHeader/MHMailMessage.m +++ b/ReplyWithHeader/MHMailMessage.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHPreferences.h b/ReplyWithHeader/MHPreferences.h index 227c6d8..e624417 100644 --- a/ReplyWithHeader/MHPreferences.h +++ b/ReplyWithHeader/MHPreferences.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHPreferences.m b/ReplyWithHeader/MHPreferences.m index 2380ccc..66907ca 100644 --- a/ReplyWithHeader/MHPreferences.m +++ b/ReplyWithHeader/MHPreferences.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHQuotedMailOriginal.h b/ReplyWithHeader/MHQuotedMailOriginal.h index 6dc1c09..b353196 100644 --- a/ReplyWithHeader/MHQuotedMailOriginal.h +++ b/ReplyWithHeader/MHQuotedMailOriginal.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHQuotedMailOriginal.m b/ReplyWithHeader/MHQuotedMailOriginal.m index 68149a0..45d1d7c 100644 --- a/ReplyWithHeader/MHQuotedMailOriginal.m +++ b/ReplyWithHeader/MHQuotedMailOriginal.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MHSignature.h b/ReplyWithHeader/MHSignature.h index abb8bf2..b7a6c90 100644 --- a/ReplyWithHeader/MHSignature.h +++ b/ReplyWithHeader/MHSignature.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHSignature.m b/ReplyWithHeader/MHSignature.m index e42de73..23a399d 100644 --- a/ReplyWithHeader/MHSignature.m +++ b/ReplyWithHeader/MHSignature.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHUpdateAlert.h b/ReplyWithHeader/MHUpdateAlert.h index c79ee83..def9ec2 100644 --- a/ReplyWithHeader/MHUpdateAlert.h +++ b/ReplyWithHeader/MHUpdateAlert.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHUpdateAlert.m b/ReplyWithHeader/MHUpdateAlert.m index 208da78..165355b 100644 --- a/ReplyWithHeader/MHUpdateAlert.m +++ b/ReplyWithHeader/MHUpdateAlert.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHUpdater.h b/ReplyWithHeader/MHUpdater.h index 87c6460..1a5a2d6 100644 --- a/ReplyWithHeader/MHUpdater.h +++ b/ReplyWithHeader/MHUpdater.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MHUpdater.m b/ReplyWithHeader/MHUpdater.m index 4696381..649f8cc 100644 --- a/ReplyWithHeader/MHUpdater.m +++ b/ReplyWithHeader/MHUpdater.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/MailHeader.h b/ReplyWithHeader/MailHeader.h index 52b14c1..1a20b91 100644 --- a/ReplyWithHeader/MailHeader.h +++ b/ReplyWithHeader/MailHeader.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/MailHeader.m b/ReplyWithHeader/MailHeader.m index e0b9bff..1abc53a 100644 --- a/ReplyWithHeader/MailHeader.m +++ b/ReplyWithHeader/MailHeader.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013-2014 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * 2012, 2013 Jason Schroth * 2010, 2011 Saptarshi Guha * diff --git a/ReplyWithHeader/NSMutableAttributedString+MailHeader.h b/ReplyWithHeader/NSMutableAttributedString+MailHeader.h index 98b8333..69066bf 100644 --- a/ReplyWithHeader/NSMutableAttributedString+MailHeader.h +++ b/ReplyWithHeader/NSMutableAttributedString+MailHeader.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/NSMutableAttributedString+MailHeader.m b/ReplyWithHeader/NSMutableAttributedString+MailHeader.m index c621f8f..8d12947 100644 --- a/ReplyWithHeader/NSMutableAttributedString+MailHeader.m +++ b/ReplyWithHeader/NSMutableAttributedString+MailHeader.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/NSPreferences+MailHeader.h b/ReplyWithHeader/NSPreferences+MailHeader.h index b8093ff..f15fbcb 100644 --- a/ReplyWithHeader/NSPreferences+MailHeader.h +++ b/ReplyWithHeader/NSPreferences+MailHeader.h @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/NSPreferences+MailHeader.m b/ReplyWithHeader/NSPreferences+MailHeader.m index 0121ec4..54cb7b6 100644 --- a/ReplyWithHeader/NSPreferences+MailHeader.m +++ b/ReplyWithHeader/NSPreferences+MailHeader.m @@ -1,7 +1,7 @@ /* * The MIT License (MIT) * - * Copyright (c) 2013 Jeevanandam M. + * Copyright (c) 2013-2015 Jeevanandam M. * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal diff --git a/ReplyWithHeader/Resources/LICENSE.txt b/ReplyWithHeader/Resources/LICENSE.txt index 1be3ace..c43dbc9 100644 --- a/ReplyWithHeader/Resources/LICENSE.txt +++ b/ReplyWithHeader/Resources/LICENSE.txt @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2013-2014 Jeevanandam M. +Copyright (c) 2013-2015 Jeevanandam M. 2012, 2013 Jason Schroth 2010, 2011 Saptarshi Guha From ffbf378ee8384c9f5531e132f6d3835b940dc925 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sun, 8 Mar 2015 11:14:27 -0700 Subject: [PATCH 04/15] #73 - improved handling of localization chars --- ReplyWithHeader/MHHeaderString.m | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/ReplyWithHeader/MHHeaderString.m b/ReplyWithHeader/MHHeaderString.m index 30f5775..966359b 100644 --- a/ReplyWithHeader/MHHeaderString.m +++ b/ReplyWithHeader/MHHeaderString.m @@ -37,6 +37,7 @@ #import "MHHeaderString.h" #import "NSMutableAttributedString+MailHeader.h" #import "NSAttributedString+MailAttributedStringToHTML.h" +#import "NSString+MailHeader.h" @interface MHHeaderString (MHNoImplementation) - (id)originalMessageHeaders; @@ -273,8 +274,8 @@ - (void)applyHeaderOrderChange - (NSString *)getFullNameFromEmailAddress:(NSString *)emailAddress isMailToNeeded:(BOOL)mailTo { - emailAddress = [emailAddress - stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + //emailAddress = [emailAddress stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + emailAddress = [emailAddress trim]; if ([emailAddress length] > 0) { NSRange range = [emailAddress rangeOfString:@"<" options:NSCaseInsensitiveSearch]; @@ -297,8 +298,8 @@ - (NSString *)getFullNameFromEmailAddress:(NSString *)emailAddress isMailToNeede // for issue #38 - https://github.com/jeevatkm/ReplyWithHeader/issues/38 fullName = [fullName stringByReplacingOccurrencesOfString:@"'" withString:@""]; - return [fullName - stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + //return [fullName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; + return [fullName trim]; } emailAddress = [emailAddress stringByReplacingOccurrencesOfString:@"<" withString:@""]; @@ -340,12 +341,13 @@ - (void)applyHeaderLabelChange { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; //NSString *rowNorm = [[row string] precomposedStringWithCanonicalMapping]; + NSRange range; if (i == 0) { range = [[row string] rangeOfString:@":"]; - NSString *fromString = [[row string] substringFromIndex:range.location + 2]; + NSString *fromString = [[[[row string] precomposedStringWithCanonicalMapping] substringFromIndex:range.location + 2] trim]; NSInteger fromTagStyle = GET_DEFAULT_INT(MHHeaderAttributionFromTagStyle); BOOL mailToNeeded = FALSE; @@ -407,10 +409,11 @@ - (void)applyHeaderLabelChange if (i == 3 || i == 4) { range = [[row string] rangeOfString:@":"]; - NSString *emailString = [[row string] substringFromIndex:range.location + 2]; - emailString = [emailString + //NSString *emailString = [[[row string] substringFromIndex:range.location + 2] trim]; + NSString *emailString = [[[[row string] precomposedStringWithCanonicalMapping] substringFromIndex:range.location + 2] trim]; + /*emailString = [emailString stringByTrimmingCharactersInSet:[NSCharacterSet - whitespaceAndNewlineCharacterSet]]; + whitespaceAndNewlineCharacterSet]]; */ NSArray *emails = [emailString componentsSeparatedByString:@">, "]; From 9a86ea0526760c21ad72cd6e6427e5d692e664d9 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sun, 8 Mar 2015 14:30:52 -0700 Subject: [PATCH 05/15] #73 - improvements in string manipulation --- ReplyWithHeader/MHHeaderString.m | 61 +++++++++++++-------------- ReplyWithHeader/NSString+MailHeader.h | 3 ++ ReplyWithHeader/NSString+MailHeader.m | 21 ++++++++- 3 files changed, 53 insertions(+), 32 deletions(-) diff --git a/ReplyWithHeader/MHHeaderString.m b/ReplyWithHeader/MHHeaderString.m index 966359b..eead6ce 100644 --- a/ReplyWithHeader/MHHeaderString.m +++ b/ReplyWithHeader/MHHeaderString.m @@ -77,10 +77,11 @@ - (void)applyHeaderTypography [row addAttributes:@{ NSFontAttributeName:font, NSForegroundColorAttributeName:color, NSParagraphStyleAttributeName:paraStyle } range:NSMakeRange(0, [row length])]; - NSRange range = [[row string] rangeOfString:@":" + /*NSRange range = [[row string] rangeOfString:@":" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [row length]) - locale:choosenLocale]; + locale:choosenLocale];*/ + NSRange range = [[row string] rangeOf:@":" byLocale:choosenLocale]; if (range.location != NSNotFound) { [row applyFontTraits:NSBoldFontMask range:NSMakeRange(0, range.location + 1)]; @@ -99,10 +100,11 @@ - (void)applyChoosenLanguageLabels { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; - NSRange range = [[row string] rangeOfString:@":" + /*NSRange range = [[row string] rangeOfString:@":" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [row length]) - locale:[MailHeader currentLocale]]; + locale:[MailHeader currentLocale]];*/ + NSRange range = [[row string] rangeOf:@":"]; [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:[choosenHeaderLabels objectAtIndex:i]]; @@ -195,7 +197,7 @@ - (id)initWithMailMessage:(id)mailMessage MHLog(@"Original headers count %lu", noOfHeaderLabels); // for issue #27 - https://github.com/jeevatkm/ReplyWithHeader/issues/27 - allowedHeaders = [MailHeader getConfigValue:@"AllowedHeaders"]; + allowedHeaders = [MailHeader getConfigValue:@"AllowedHeaders" languageCode:MHLocaleIdentifier]; messageAttribution = [[NSMutableArray alloc] init]; for (NSString *str in allowedHeaders) @@ -203,17 +205,18 @@ - (id)initWithMailMessage:(id)mailMessage for (int i=0; i<[headers count]; i++) { NSString *row = [headers objectAtIndex:i]; - NSRange range = [row rangeOfString:@":" + /*NSRange range = [row rangeOfString:@":" options:NSCaseInsensitiveSearch range:NSMakeRange(0, [row length]) - locale:[MailHeader currentLocale]]; + locale:[MailHeader currentLocale]];*/ + NSRange range = [row rangeOf:@":"]; if (range.location != NSNotFound) { NSString *label = [row substringToIndex:range.location]; if (NSOrderedSame == [str localizedCaseInsensitiveCompare:label]) { - NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:row]; - [messageAttribution addObject:attrString]; + //NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:[row trim]]; + [messageAttribution addObject:[row mutableAttributedString]]; break; } } @@ -242,7 +245,7 @@ - (void)applyHeaderOrderChange { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; // for #76 - https://github.com/jeevatkm/ReplyWithHeader/issues/76 - NSString *rowNorm = [[row string] precomposedStringWithCanonicalMapping]; + NSString *rowNorm = [[[row string] precomposedStringWithCanonicalMapping] trim]; if ([rowNorm hasPrefix:subjectPrefix]) { @@ -272,13 +275,14 @@ - (void)applyHeaderOrderChange } } -- (NSString *)getFullNameFromEmailAddress:(NSString *)emailAddress isMailToNeeded:(BOOL)mailTo +- (NSString *)fullNameFromEmailAddress:(NSString *)emailAddress isMailToNeeded:(BOOL)mailTo { //emailAddress = [emailAddress stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; emailAddress = [emailAddress trim]; if ([emailAddress length] > 0) { - NSRange range = [emailAddress rangeOfString:@"<" options:NSCaseInsensitiveSearch]; + //NSRange range = [emailAddress rangeOfString:@"<" options:NSCaseInsensitiveSearch]; + NSRange range = [emailAddress rangeOf:@"<"]; if (range.location != NSNotFound && range.location != 0) { @@ -332,11 +336,12 @@ - (void)applyHeaderLabelChange MHLog(@"applyHeaderLabelChange: %@", messageAttribution); MHLog(@"fromPrefix: %@, toPrefix: %@, ccPrefix: %@, datePrefix: %@, dateToBePrefix: %@", fromPrefix, toPrefix, ccPrefix, datePrefix, dateToBePrefix); - //0 => from - //1 => subject - //2 => date - //3 => to - //4 ==> cc + // Attribution position + // 0 => from + // 1 => subject + // 2 => date + // 3 => to + // 4 => cc for (int i=0; i<[messageAttribution count]; i++) { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; @@ -353,7 +358,7 @@ - (void)applyHeaderLabelChange BOOL mailToNeeded = FALSE; if (fromTagStyle == 1) mailToNeeded = TRUE; - fromString = [self getFullNameFromEmailAddress:fromString isMailToNeeded:mailToNeeded]; + fromString = [self fullNameFromEmailAddress:fromString isMailToNeeded:mailToNeeded]; [row replaceCharactersInRange:NSMakeRange(range.location + 2, [row length] - (range.location + 2)) withString:fromString]; @@ -408,8 +413,9 @@ - (void)applyHeaderLabelChange if (i == 3 || i == 4) { - range = [[row string] rangeOfString:@":"]; + //range = [[row string] rangeOfString:@":"]; //NSString *emailString = [[[row string] substringFromIndex:range.location + 2] trim]; + range = [[row string] rangeOf:@":"]; NSString *emailString = [[[[row string] precomposedStringWithCanonicalMapping] substringFromIndex:range.location + 2] trim]; /*emailString = [emailString stringByTrimmingCharactersInSet:[NSCharacterSet @@ -422,7 +428,7 @@ - (void)applyHeaderLabelChange { for (NSString *emailId in emails) { - NSString *response = [self getFullNameFromEmailAddress:emailId isMailToNeeded:FALSE]; + NSString *response = [self fullNameFromEmailAddress:emailId isMailToNeeded:FALSE]; finalString = [finalString stringByAppendingString:response]; finalString = [finalString stringByAppendingString:@"; "]; } @@ -435,21 +441,14 @@ - (void)applyHeaderLabelChange } else { - finalString = [self getFullNameFromEmailAddress:emailString isMailToNeeded:FALSE]; + finalString = [self fullNameFromEmailAddress:emailString isMailToNeeded:FALSE]; } [row replaceCharactersInRange:NSMakeRange(range.location + 2, [row length] - (range.location + 2)) withString:finalString]; - range = [[row string] rangeOfString:@":"]; - if (i == 3) - { - [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:toPrefix]; - } - - if (i == 4) - { - [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:ccPrefix]; - } + range = [[row string] rangeOf:@":"]; + [row replaceCharactersInRange:NSMakeRange(0, range.location) + withString:(i == 3) ? toPrefix : ccPrefix]; } } } diff --git a/ReplyWithHeader/NSString+MailHeader.h b/ReplyWithHeader/NSString+MailHeader.h index a31ad60..0ac1763 100644 --- a/ReplyWithHeader/NSString+MailHeader.h +++ b/ReplyWithHeader/NSString+MailHeader.h @@ -34,5 +34,8 @@ - (BOOL)isBlank; - (NSString *)trim; +- (NSRange)rangeOf:(NSString *)str; +- (NSRange)rangeOf:(NSString *)str byLocale:(NSLocale *)locale; +- (NSMutableAttributedString *)mutableAttributedString; @end diff --git a/ReplyWithHeader/NSString+MailHeader.m b/ReplyWithHeader/NSString+MailHeader.m index 8da9d8e..12b5baa 100644 --- a/ReplyWithHeader/NSString+MailHeader.m +++ b/ReplyWithHeader/NSString+MailHeader.m @@ -31,6 +31,7 @@ // #import "NSString+MailHeader.h" +#import "MailHeader.h" @implementation NSString (MailHeader) @@ -50,7 +51,7 @@ - (BOOL)contains:(NSString *)string { if (string) { - NSRange range = [self rangeOfString:string]; + NSRange range = [self rangeOf:string]; return (range.location != NSNotFound); } else @@ -60,4 +61,22 @@ - (BOOL)contains:(NSString *)string } +- (NSRange)rangeOf:(NSString *)str +{ + return [self rangeOf:str byLocale:[MailHeader currentLocale]]; +} + +- (NSRange)rangeOf:(NSString *)str byLocale:(NSLocale *)locale +{ + return [self rangeOfString:@":" + options:NSCaseInsensitiveSearch + range:NSMakeRange(0, self.length) + locale:locale]; +} + +- (NSMutableAttributedString *)mutableAttributedString +{ + return [[NSMutableAttributedString alloc] initWithString:[[self trim] copy]]; +} + @end From 2958105973d69d3eddd8177094ac52f3ba7b0574 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sun, 8 Mar 2015 22:12:15 -0700 Subject: [PATCH 06/15] #37 - Addressed localized date format issue --- ReplyWithHeader/MHHeaderString.m | 99 ++++++++++----------------- ReplyWithHeader/NSString+MailHeader.h | 1 + ReplyWithHeader/NSString+MailHeader.m | 5 ++ 3 files changed, 43 insertions(+), 62 deletions(-) diff --git a/ReplyWithHeader/MHHeaderString.m b/ReplyWithHeader/MHHeaderString.m index eead6ce..ff31ff9 100644 --- a/ReplyWithHeader/MHHeaderString.m +++ b/ReplyWithHeader/MHHeaderString.m @@ -76,11 +76,7 @@ - (void)applyHeaderTypography NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; [row addAttributes:@{ NSFontAttributeName:font, NSForegroundColorAttributeName:color, NSParagraphStyleAttributeName:paraStyle } range:NSMakeRange(0, [row length])]; - - /*NSRange range = [[row string] rangeOfString:@":" - options:NSCaseInsensitiveSearch - range:NSMakeRange(0, [row length]) - locale:choosenLocale];*/ + NSRange range = [[row string] rangeOf:@":" byLocale:choosenLocale]; if (range.location != NSNotFound) { @@ -99,11 +95,6 @@ - (void)applyChoosenLanguageLabels for (int i=0; i<[messageAttribution count]; i++) { NSMutableAttributedString *row = [messageAttribution objectAtIndex:i]; - - /*NSRange range = [[row string] rangeOfString:@":" - options:NSCaseInsensitiveSearch - range:NSMakeRange(0, [row length]) - locale:[MailHeader currentLocale]];*/ NSRange range = [[row string] rangeOf:@":"]; [row replaceCharactersInRange:NSMakeRange(0, range.location) @@ -205,17 +196,13 @@ - (id)initWithMailMessage:(id)mailMessage for (int i=0; i<[headers count]; i++) { NSString *row = [headers objectAtIndex:i]; - /*NSRange range = [row rangeOfString:@":" - options:NSCaseInsensitiveSearch - range:NSMakeRange(0, [row length]) - locale:[MailHeader currentLocale]];*/ NSRange range = [row rangeOf:@":"]; - if (range.location != NSNotFound) { + if (range.location != NSNotFound) + { NSString *label = [row substringToIndex:range.location]; - - if (NSOrderedSame == [str localizedCaseInsensitiveCompare:label]) { - //NSMutableAttributedString *attrString = [[NSMutableAttributedString alloc] initWithString:[row trim]]; + if (NSOrderedSame == [str localizedCaseInsensitiveCompare:label]) + { [messageAttribution addObject:[row mutableAttributedString]]; break; } @@ -277,11 +264,10 @@ - (void)applyHeaderOrderChange - (NSString *)fullNameFromEmailAddress:(NSString *)emailAddress isMailToNeeded:(BOOL)mailTo { - //emailAddress = [emailAddress stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; emailAddress = [emailAddress trim]; - if ([emailAddress length] > 0) { - //NSRange range = [emailAddress rangeOfString:@"<" options:NSCaseInsensitiveSearch]; + if ([emailAddress length] > 0) + { NSRange range = [emailAddress rangeOf:@"<"]; if (range.location != NSNotFound && range.location != 0) @@ -302,7 +288,6 @@ - (NSString *)fullNameFromEmailAddress:(NSString *)emailAddress isMailToNeeded:( // for issue #38 - https://github.com/jeevatkm/ReplyWithHeader/issues/38 fullName = [fullName stringByReplacingOccurrencesOfString:@"'" withString:@""]; - //return [fullName stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; return [fullName trim]; } @@ -367,60 +352,50 @@ - (void)applyHeaderLabelChange if (i == 1) { - range = [[row string] rangeOfString:@":"]; + range = [[row string] rangeOf:@":"]; [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:subjectPrefix]; } if (i == 2) { - /*range = [[row string] rangeOfString:datePrefix]; - - if (range.location != NSNotFound) - [row replaceCharactersInRange:range withString:dateToBePrefix];*/ - - range = [[row string] rangeOfString:@":"]; + range = [[row string] rangeOf:@":"]; [row replaceCharactersInRange:NSMakeRange(0, range.location) withString:dateToBePrefix]; // for issue #37 - https://github.com/jeevatkm/ReplyWithHeader/issues/37 - // Just realized, this might have to wait for a while - // thinking of universal solution - /*range.location = [dateToBePrefix length] + 2; - range.length = [row length] - ([dateToBePrefix length] + 2); - - NSString *dateTimeString = [[row string] substringFromIndex:range.location]; - - NSDateFormatter *sourceFormatter = [NSDateFormatter new]; - [sourceFormatter setLocale:[MailHeader currentLocale]]; - [sourceFormatter setDateFormat:@"d MMM yyyy h:mm:ss a zzz"]; - NSDate *fromDate = [sourceFormatter dateFromString:dateTimeString]; - - NSLog(@"fromDate %@", fromDate); - - NSDateFormatter *targetFormatter = [NSDateFormatter new]; - if ([[MailHeader localeIdentifier] isNotEqualTo:choosenLocaleIdentifier]) { - [targetFormatter setLocale:choosenLocale]; - } - - [targetFormatter setDateFormat:@"EEEE, LLLL d, yyyy h:mm a"]; - [targetFormatter setAMSymbol:@"AM"]; - [targetFormatter setPMSymbol:@"PM"]; - NSString *toDate = [targetFormatter stringFromDate:fromDate]; - - NSLog(@"finalString of toDate %@", toDate); - - [row replaceCharactersInRange:range withString:toDate];*/ + // trying this universal solution + if ([MHLocaleIdentifier isNotEqualTo:choosenLocaleIdentifier]) + { + range = [[[row string] precomposedStringWithCanonicalMapping] rangeOf:@":"]; + NSUInteger start = range.location + 2; + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + [dateFormatter setDateStyle:NSDateFormatterLongStyle]; + [dateFormatter setTimeStyle:NSDateFormatterLongStyle]; + MHLog(@"Date format: %@", [dateFormatter dateFormat]); + + @try { + NSString *dateTimeStr = [[[row string] precomposedStringWithCanonicalMapping] substringFromIndex:start]; + NSDate *date = [dateFormatter dateFromString:dateTimeStr]; + MHLog(@"dateTimeStr: %@, date: %@", dateTimeStr, date); + + [dateFormatter setLocale:choosenLocale]; + NSString *newLocalDateStr = [dateFormatter stringFromDate:date]; + MHLog(@"Localized date: %@", newLocalDateStr); + + NSUInteger length = [[row string] length] - start; + MHLog(@"Before date: %@", [row string]); + [row replaceCharactersInRange:NSMakeRange(start, length) withString:newLocalDateStr]; + MHLog(@"After date: %@", [row string]); + } + @catch (NSException *exception) { + MHLog(@"Exception occured: %@", exception.description); + } + } } if (i == 3 || i == 4) { - //range = [[row string] rangeOfString:@":"]; - //NSString *emailString = [[[row string] substringFromIndex:range.location + 2] trim]; range = [[row string] rangeOf:@":"]; NSString *emailString = [[[[row string] precomposedStringWithCanonicalMapping] substringFromIndex:range.location + 2] trim]; - /*emailString = [emailString - stringByTrimmingCharactersInSet:[NSCharacterSet - whitespaceAndNewlineCharacterSet]]; */ - NSArray *emails = [emailString componentsSeparatedByString:@">, "]; NSString *finalString = @""; diff --git a/ReplyWithHeader/NSString+MailHeader.h b/ReplyWithHeader/NSString+MailHeader.h index 0ac1763..3092aa2 100644 --- a/ReplyWithHeader/NSString+MailHeader.h +++ b/ReplyWithHeader/NSString+MailHeader.h @@ -37,5 +37,6 @@ - (NSRange)rangeOf:(NSString *)str; - (NSRange)rangeOf:(NSString *)str byLocale:(NSLocale *)locale; - (NSMutableAttributedString *)mutableAttributedString; +- (NSAttributedString *)attributedString; @end diff --git a/ReplyWithHeader/NSString+MailHeader.m b/ReplyWithHeader/NSString+MailHeader.m index 12b5baa..6344746 100644 --- a/ReplyWithHeader/NSString+MailHeader.m +++ b/ReplyWithHeader/NSString+MailHeader.m @@ -79,4 +79,9 @@ - (NSMutableAttributedString *)mutableAttributedString return [[NSMutableAttributedString alloc] initWithString:[[self trim] copy]]; } +- (NSAttributedString *)attributedString +{ + return [[NSAttributedString alloc] initWithString:[[self trim] copy]]; +} + @end From dde8620444d60a35092a096ccdcb09644a9453b3 Mon Sep 17 00:00:00 2001 From: "Jeevanandam M." Date: Mon, 9 Mar 2015 13:07:13 -0700 Subject: [PATCH 07/15] Added bitcoins donation button --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5399631..f9396b5 100644 --- a/README.md +++ b/README.md @@ -2,6 +2,9 @@ Quoting Headers and Signatures in Mail.app ------------------------------------------ [ReplyWithHeader][2] is an Apple Mail bundle/plugin that enables quoting of message header and signature in a email. It brings Outlook Mail Header capabilities to Apple Mail and adds missing functionality of headers to Mail.app. Blends with corporate world email communication. + + * [Home page][2] * [Download Latest Release - MacUpdate.com][5] * [Reporting Issues](#reporting-issues) From 5434f9110648e73edf848076ba75f0e435c2e9ba Mon Sep 17 00:00:00 2001 From: "Jeevanandam M." Date: Mon, 9 Mar 2015 13:45:44 -0700 Subject: [PATCH 08/15] added image alt text --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f9396b5..3002749 100644 --- a/README.md +++ b/README.md @@ -3,7 +3,7 @@ Quoting Headers and Signatures in Mail.app [ReplyWithHeader][2] is an Apple Mail bundle/plugin that enables quoting of message header and signature in a email. It brings Outlook Mail Header capabilities to Apple Mail and adds missing functionality of headers to Mail.app. Blends with corporate world email communication. +alt="Donate Bitcoins" width="195" height="48" border="0" /> * [Home page][2] * [Download Latest Release - MacUpdate.com][5] From eba6f63eadb25b0df3d93dc0ddffa0e0e75db2f4 Mon Sep 17 00:00:00 2001 From: "Jeevanandam M." Date: Tue, 10 Mar 2015 13:09:45 -0700 Subject: [PATCH 09/15] removed bitcoin address --- README.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/README.md b/README.md index 3002749..5399631 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,6 @@ Quoting Headers and Signatures in Mail.app ------------------------------------------ [ReplyWithHeader][2] is an Apple Mail bundle/plugin that enables quoting of message header and signature in a email. It brings Outlook Mail Header capabilities to Apple Mail and adds missing functionality of headers to Mail.app. Blends with corporate world email communication. - - * [Home page][2] * [Download Latest Release - MacUpdate.com][5] * [Reporting Issues](#reporting-issues) From f6ef8c19fa17d5a44fe6638660030b7598dac8b8 Mon Sep 17 00:00:00 2001 From: Jeevanandam M Date: Sat, 14 Mar 2015 11:20:31 -0700 Subject: [PATCH 10/15] #78 - UI design is done --- ReplyWithHeader.xcodeproj/project.pbxproj | 12 + .../Resources/bitcoin-donate_64.png | Bin 0 -> 10374 bytes .../Resources/btn_donate_pp_142x27.png | Bin 0 -> 5532 bytes .../Resources/en.lproj/MHPreferencesView.xib | 749 +++++++++++++++--- .../Resources/qr-code-bitcoin-donation.png | Bin 0 -> 903 bytes 5 files changed, 668 insertions(+), 93 deletions(-) create mode 100644 ReplyWithHeader/Resources/bitcoin-donate_64.png create mode 100644 ReplyWithHeader/Resources/btn_donate_pp_142x27.png create mode 100644 ReplyWithHeader/Resources/qr-code-bitcoin-donation.png diff --git a/ReplyWithHeader.xcodeproj/project.pbxproj b/ReplyWithHeader.xcodeproj/project.pbxproj index 65a570d..ec66486 100644 --- a/ReplyWithHeader.xcodeproj/project.pbxproj +++ b/ReplyWithHeader.xcodeproj/project.pbxproj @@ -18,6 +18,9 @@ 13423DA817EDACF700623E45 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; }; 13423DA917EDACF700623E45 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D5FF0A9127255C500A945C5 /* WebKit.framework */; }; 13423DAA17EDACF700623E45 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; + 13503BF81AB49B4800AF09CC /* bitcoin-donate_64.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */; }; + 13503BF91AB49B4800AF09CC /* btn_donate_pp_142x27.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */; }; + 13503BFD1AB49CB200AF09CC /* qr-code-bitcoin-donation.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BFC1AB49CB200AF09CC /* qr-code-bitcoin-donation.png */; }; 135829F717FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */; }; 1365843917FAC12700E8C57D /* MailHeader.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1365843B17FAC12700E8C57D /* MailHeader.strings */; }; 1371DD1817F864FE00320B54 /* ReplyWithHeader.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1371DD0F17F864FE00320B54 /* ReplyWithHeader.icns */; }; @@ -71,6 +74,9 @@ 133A917A17E9745A00E3CC62 /* MHPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHPreferences.h; sourceTree = ""; }; 133A917B17E9745A00E3CC62 /* MHPreferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MHPreferences.m; sourceTree = ""; }; 133B7F7117F1B5E4000531ED /* NSAttributedString+MailAttributedStringToHTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSAttributedString+MailAttributedStringToHTML.h"; sourceTree = ""; }; + 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bitcoin-donate_64.png"; sourceTree = ""; }; + 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = btn_donate_pp_142x27.png; sourceTree = ""; }; + 13503BFC1AB49CB200AF09CC /* qr-code-bitcoin-donation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "qr-code-bitcoin-donation.png"; sourceTree = ""; }; 135829F117FD5A6A00FC5C1F /* MHConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHConstants.h; sourceTree = ""; }; 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableAttributedString+MailHeader.m"; sourceTree = ""; }; 135829F617FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableAttributedString+MailHeader.h"; sourceTree = ""; }; @@ -226,6 +232,9 @@ 1371DD0117F864FE00320B54 /* Resources */ = { isa = PBXGroup; children = ( + 13503BFC1AB49CB200AF09CC /* qr-code-bitcoin-donation.png */, + 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */, + 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */, 9CE4222219BFDFE1005E7C07 /* MHDisplayNotes.xib */, 132C66621827E23400CD7C1A /* language.png */, 138BAEBA1820218C00738ADB /* MHUpdateAlert.xib */, @@ -396,9 +405,12 @@ 9CE4222419BFDFE1005E7C07 /* MHDisplayNotes.xib in Resources */, 1365843917FAC12700E8C57D /* MailHeader.strings in Resources */, 1372350F17FD8316007E7B71 /* MHPreferencesView.xib in Resources */, + 13503BF91AB49B4800AF09CC /* btn_donate_pp_142x27.png in Resources */, 132C66631827E23400CD7C1A /* language.png in Resources */, + 13503BFD1AB49CB200AF09CC /* qr-code-bitcoin-donation.png in Resources */, 138BAEBD182022AA00738ADB /* Config.plist in Resources */, 9C3230E619BD578200757AA4 /* Credits.rtf in Resources */, + 13503BF81AB49B4800AF09CC /* bitcoin-donate_64.png in Resources */, 1372351517FD8F3D007E7B71 /* MHPreferencesView.strings in Resources */, 13882A3018073509004BCC6D /* LICENSE.txt in Resources */, ); diff --git a/ReplyWithHeader/Resources/bitcoin-donate_64.png b/ReplyWithHeader/Resources/bitcoin-donate_64.png new file mode 100644 index 0000000000000000000000000000000000000000..1d2a7928dccac2e0e3af0b0bf54b205bb94bd152 GIT binary patch literal 10374 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 literal 0 HcmV?d00001 diff --git a/ReplyWithHeader/Resources/btn_donate_pp_142x27.png b/ReplyWithHeader/Resources/btn_donate_pp_142x27.png new file mode 100644 index 0000000000000000000000000000000000000000..b2e98596c7ec5f95f0a4ddc515dd379fcecf7682 GIT binary patch literal 5532 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 su_dImh;6hNdlyJ=8hVhQrGQI`; 1070 - 13E28 - 5056 - 1265.21 - 698.00 + 14D87p + 6245 + 1347.24 + 758.40 com.apple.InterfaceBuilder.CocoaPlugin - 5056 + 6245 NSBox @@ -77,7 +77,7 @@ 268435456 Enable - .LucidaGrandeUI + YES 13 1044 @@ -124,7 +124,7 @@ 205520896 Applied customization and manages Forward header. - .LucidaGrandeUI + YES 11 3100 @@ -228,7 +228,7 @@ 71304192 Font: - .LucidaGrandeUI + YES 12 787 @@ -295,7 +295,7 @@ 1077941248 Font Name and Size - .LucidaGrandeUI-Bold + YES 11 3357 @@ -557,10 +557,10 @@ -2080374784 0 Default (From: Name) - - LucidaGrande + + YES 12 - 16 + 787 1211912448 @@ -575,7 +575,7 @@ 67108864 0 Extended (From: Name [mailto:email-address]) - + 1 1211912448 @@ -1067,7 +1067,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 4352 {170, 106} - + _NS:13 YES NO @@ -1098,7 +1098,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 2048 Accounts - .LucidaGrandeUI + YES 12 787 @@ -1161,6 +1161,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 4 + YES @@ -1170,6 +1171,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 _NS:58 NO + _doScroller: + _doScroller: 37 @@ -1183,6 +1186,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 _NS:60 NO + _doScroller: + 1 _doScroller: @@ -1199,13 +1204,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 _NS:15 - - 4 + YES {{37, 134}, {172, 124}} - + _NS:9 133650 @@ -1252,7 +1256,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 4352 {182, 106} - + _NS:13 YES NO @@ -1324,6 +1328,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 4 + YES @@ -1335,8 +1340,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 - - 4 + YES @@ -1346,6 +1350,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 _NS:58 NO + _doScroller: + _doScroller: 0.99065420560747663 @@ -1358,6 +1364,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 _NS:60 NO + _doScroller: + 1 _doScroller: @@ -1366,7 +1374,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{217, 134}, {184, 124}} - + _NS:9 133650 @@ -1425,7 +1433,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 4457472 ReplyWithHeader - .LucidaGrandeUI-Bold + YES 13 2072 @@ -1539,9 +1547,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 268 - {{157, 131}, {231, 18}} + {{157, 169}, {231, 18}} + YES -2080374784 @@ -1591,6 +1600,209 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO YES + + + 12 + + + + 274 + + + + 12 + {{305, 12}, {5, 55}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Box + + + 6 + System + textBackgroundColor + + + + 6 + System + labelColor + + + + 3 + 2 + 0 + NO + + + + 268 + + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + {{15, 12}, {54, 53}} + + + + _NS:9 + {251, 251} + YES + + 0 + 33554432 + + NSImage + qr-code-bitcoin-donation + + _NS:9 + 0 + 0 + 0 + NO + + NO + YES + + + + 268 + + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + {{82, 35}, {210, 33}} + + + + _NS:9 + {251, 251} + YES + + 0 + 33554432 + + NSImage + bitcoin-donate_64 + + _NS:9 + 0 + 0 + 0 + NO + + NO + YES + + + + 268 + + Apple PDF pasteboard type + Apple PICT pasteboard type + Apple PNG pasteboard type + NSFilenamesPboardType + NeXT Encapsulated PostScript v1.2 pasteboard type + NeXT TIFF v4.0 pasteboard type + + {{339, 25}, {147, 27}} + + + + _NS:9 + {251, 251} + YES + + 0 + 33554432 + + NSImage + btn_donate_pp_142x27 + + _NS:9 + 0 + 0 + 0 + NO + + NO + YES + + + + 268 + {{80, 7}, {216, 17}} + + + + _NS:526 + {251, 750} + YES + + 70254657 + 272630784 + 1PcLR3X9uw2qyhZizDsJ3B4CPS72qKK8J5 + + YES + 10 + 1044 + + _NS:526 + + + + + NO + 1 + + + {{1, 1}, {521, 75}} + + + + _NS:11 + + + {{12, 9}, {523, 77}} + + + + _NS:9 + {0, 0} + + 67108864 + 0 + Your kind support + + + + + + 1 + 3 + 0 + NO + + 6 + System + selectedInactiveColor + + + {{10, 33}, {546, 340}} @@ -1622,7 +1834,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 67108928 133120 - + 112869376 129 @@ -1700,20 +1912,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 134217728 - .LucidaGrandeUI + YES 11 1558 - - 6 - System - textBackgroundColor - - - - 3 - MCAwLjgAA - + + 1 @@ -1734,7 +1938,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO - + _MHBundleEnabled @@ -2515,6 +2719,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 + @@ -2850,6 +3055,75 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 + + xSL-yP-Ylj + + + + + + + + + + + + 78d-Id-KCz + + + + + msl-xd-CLU + + + + + + + + yfI-sO-ruN + + + + + WNT-d4-dYa + + + + + + + + vZB-TD-jcl + + + + + vWI-VE-mHZ + + + + + + + + mO7-Sw-uWc + + + + + 1DQ-oC-BLS + + + + + + + + 2WJ-2n-R0f + + + @@ -2859,6 +3133,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin @@ -2882,12 +3157,22 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Copy bitcoin address to donate + + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -2940,6 +3225,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3042,6 +3328,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin ToolTip @@ -3069,6 +3356,15 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Click here to donate + + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3092,14 +3388,37 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin accountsTable + + ToolTip + + ToolTip + + Scan here to donate + + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Click here to donate + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3113,60 +3432,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 MHPreferences NSPreferencesModule - - id - id - id - id - id - id - id - id - id - id - - - - headerLabelModePressed: - id - - - headerTypographyPressed: - id - - - mailHeaderBundlePressed: - id - - - notifyNewVersionPressed: - id - - - openCredits: - id - - - openFeedback: - id - - - openSupport: - id - - - openWebsite: - id - - - selectFontButtonPressed: - id - - - signatureMatrixPressed: - id - - NSButton NSTabView @@ -3258,7 +3523,68 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 IBProjectSource - ./Classes/MHPreferences.h + ../ReplyWithHeader/MHPreferences.h + + + + MHPreferences + + id + id + id + id + id + id + id + id + id + id + + + + headerLabelModePressed: + id + + + headerTypographyPressed: + id + + + mailHeaderBundlePressed: + id + + + notifyNewVersionPressed: + id + + + openCredits: + id + + + openFeedback: + id + + + openSupport: + id + + + openWebsite: + id + + + selectFontButtonPressed: + id + + + signatureMatrixPressed: + id + + + + IBProjectSource + ../ReplyWithHeader/MHPreferences.m @@ -3277,7 +3603,241 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 IBProjectSource - ./Classes/NSPreferencesModule.h + ../ReplyWithHeader/NSPreferencesModule.h + + + + + + NSActionCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSActionCell.h + + + + NSApplication + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSApplication.h + + + + NSBox + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSBox.h + + + + NSButton + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSButton.h + + + + NSButtonCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSButtonCell.h + + + + NSCell + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSCell.h + + + + NSColorWell + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSColorWell.h + + + + NSControl + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSControl.h + + + + NSController + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSController.h + + + + NSFormatter + NSObject + + IBFrameworkSource + Foundation.framework/Headers/NSFormatter.h + + + + NSImageCell + NSCell + + IBFrameworkSource + AppKit.framework/Headers/NSImageCell.h + + + + NSImageView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSImageView.h + + + + NSMatrix + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSMatrix.h + + + + NSMenu + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSMenu.h + + + + NSMenuItemCell + NSButtonCell + + IBFrameworkSource + AppKit.framework/Headers/NSMenuItemCell.h + + + + NSPopUpButton + NSButton + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButton.h + + + + NSPopUpButtonCell + NSMenuItemCell + + IBFrameworkSource + AppKit.framework/Headers/NSPopUpButtonCell.h + + + + NSResponder + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSResponder.h + + + + NSScrollView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSScrollView.h + + + + NSScroller + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSScroller.h + + + + NSTabView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTabView.h + + + + NSTabViewItem + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTabViewItem.h + + + + NSTableColumn + NSObject + + IBFrameworkSource + AppKit.framework/Headers/NSTableColumn.h + + + + NSTableHeaderView + NSView + + IBFrameworkSource + AppKit.framework/Headers/NSTableHeaderView.h + + + + NSTableView + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTableView.h + + + + NSTextField + NSControl + + IBFrameworkSource + AppKit.framework/Headers/NSTextField.h + + + + NSTextFieldCell + NSActionCell + + IBFrameworkSource + AppKit.framework/Headers/NSTextFieldCell.h + + + + NSUserDefaultsController + NSController + + IBFrameworkSource + AppKit.framework/Headers/NSUserDefaultsController.h + + + + NSView + NSResponder + + IBFrameworkSource + AppKit.framework/Headers/NSView.h @@ -3303,7 +3863,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {16, 15} {15, 15} {128, 128} + {163.75221238938053, 40.778761061946902} + {142, 27} {32, 32} + {125, 125} diff --git a/ReplyWithHeader/Resources/qr-code-bitcoin-donation.png b/ReplyWithHeader/Resources/qr-code-bitcoin-donation.png new file mode 100644 index 0000000000000000000000000000000000000000..63e94b85c8e613861d5f7bbb9c3c6f78f12fbcb1 GIT binary patch literal 903 zcmeAS@N?(olHy`uVBq!ia0vp^wIIyF1SA88D?$@r)G)JKV5jB|om^3{JYrQXhUyes*tZkb!wIk%>kj^Hkf z?WZ%|^SnA&aQnPV(W0MEuJ9_i2RYAi09&wY{>`aZ&X~uj*mYmb{u!<-^J?*4pd+1c zoj2)T-5iy@vAPOygN`+0(+6 z6IR;n`gU%?JD!Ub%ci-wJWF2kZPKg-F>Oas&IVYJOZw_1Buvmf~vN zVE%2{=|}1>f?S<=cvsol=(KR9vWKar($hDy-vY(VlF!T1QiOK;pAt9qU$@rbtFjC@ zBrkpRG4{@y)~vVX`O=z>k7o`8W2MR_IJ!^Lq`9|vZMpH*L!Y2w{`%HgrqerXJvGa8 z<94t6%L5FbH^0-fLhnCgYe}=MEIfDYoGm1F-Yfb~)lbVhI{8`O%eUE{*V5(Mb{WTX zrHi%Cn!ERQ_^#~r%?9~ZY_HA*#OKfA*S#Uiy0q;^D0^H_D8y&C-(SxDw%6s|=Djkx zHlJ-*STldKJ+-X5lV_q-t)0luQ@_B@ynTQ1npDr-Mk}v`YWAehYusgg=bv0^iga2^ z$5G3zb6zad{(bSDCeW4N${(f85}o9DIbQc&vi*nez!;n{f2HX Date: Sat, 14 Mar 2015 12:16:08 -0700 Subject: [PATCH 11/15] #78 - WIP of implementation --- ReplyWithHeader.xcodeproj/project.pbxproj | 8 +- ReplyWithHeader/MHPreferences.h | 1 + ReplyWithHeader/MHPreferences.m | 17 +- .../Resources/en.lproj/MHPreferencesView.xib | 178 +++++++++--------- .../Resources/qr-code-bitcoin-rwh.png | Bin 0 -> 411 bytes 5 files changed, 115 insertions(+), 89 deletions(-) create mode 100644 ReplyWithHeader/Resources/qr-code-bitcoin-rwh.png diff --git a/ReplyWithHeader.xcodeproj/project.pbxproj b/ReplyWithHeader.xcodeproj/project.pbxproj index ec66486..1bf8128 100644 --- a/ReplyWithHeader.xcodeproj/project.pbxproj +++ b/ReplyWithHeader.xcodeproj/project.pbxproj @@ -20,7 +20,7 @@ 13423DAA17EDACF700623E45 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; 13503BF81AB49B4800AF09CC /* bitcoin-donate_64.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */; }; 13503BF91AB49B4800AF09CC /* btn_donate_pp_142x27.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */; }; - 13503BFD1AB49CB200AF09CC /* qr-code-bitcoin-donation.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BFC1AB49CB200AF09CC /* qr-code-bitcoin-donation.png */; }; + 13503BFF1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BFE1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png */; }; 135829F717FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */; }; 1365843917FAC12700E8C57D /* MailHeader.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1365843B17FAC12700E8C57D /* MailHeader.strings */; }; 1371DD1817F864FE00320B54 /* ReplyWithHeader.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1371DD0F17F864FE00320B54 /* ReplyWithHeader.icns */; }; @@ -76,7 +76,7 @@ 133B7F7117F1B5E4000531ED /* NSAttributedString+MailAttributedStringToHTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSAttributedString+MailAttributedStringToHTML.h"; sourceTree = ""; }; 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bitcoin-donate_64.png"; sourceTree = ""; }; 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = btn_donate_pp_142x27.png; sourceTree = ""; }; - 13503BFC1AB49CB200AF09CC /* qr-code-bitcoin-donation.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "qr-code-bitcoin-donation.png"; sourceTree = ""; }; + 13503BFE1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "qr-code-bitcoin-rwh.png"; sourceTree = ""; }; 135829F117FD5A6A00FC5C1F /* MHConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHConstants.h; sourceTree = ""; }; 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableAttributedString+MailHeader.m"; sourceTree = ""; }; 135829F617FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableAttributedString+MailHeader.h"; sourceTree = ""; }; @@ -232,7 +232,7 @@ 1371DD0117F864FE00320B54 /* Resources */ = { isa = PBXGroup; children = ( - 13503BFC1AB49CB200AF09CC /* qr-code-bitcoin-donation.png */, + 13503BFE1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png */, 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */, 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */, 9CE4222219BFDFE1005E7C07 /* MHDisplayNotes.xib */, @@ -407,7 +407,7 @@ 1372350F17FD8316007E7B71 /* MHPreferencesView.xib in Resources */, 13503BF91AB49B4800AF09CC /* btn_donate_pp_142x27.png in Resources */, 132C66631827E23400CD7C1A /* language.png in Resources */, - 13503BFD1AB49CB200AF09CC /* qr-code-bitcoin-donation.png in Resources */, + 13503BFF1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png in Resources */, 138BAEBD182022AA00738ADB /* Config.plist in Resources */, 9C3230E619BD578200757AA4 /* Credits.rtf in Resources */, 13503BF81AB49B4800AF09CC /* bitcoin-donate_64.png in Resources */, diff --git a/ReplyWithHeader/MHPreferences.h b/ReplyWithHeader/MHPreferences.h index e624417..09e1fad 100644 --- a/ReplyWithHeader/MHPreferences.h +++ b/ReplyWithHeader/MHPreferences.h @@ -57,6 +57,7 @@ IBOutlet NSMatrix *_MHHeaderAttributionFromTagStyle; IBOutlet NSTableView *_accountsTableView; IBOutlet NSTableView *_signaturesTableView; + IBOutlet NSImageView *_bitcoinImageView; } @property(weak, readonly) NSString *NameAndVersion, *Copyright; diff --git a/ReplyWithHeader/MHPreferences.m b/ReplyWithHeader/MHPreferences.m index 66907ca..d9840eb 100644 --- a/ReplyWithHeader/MHPreferences.m +++ b/ReplyWithHeader/MHPreferences.m @@ -51,7 +51,7 @@ - (IBAction)notifyNewVersionPressed:(id)sender; @implementation MHPreferences -#pragma mark Class private methods +#pragma mark Class instance methods - (void)toggleMailPreferencesOptions:(BOOL *)state { @@ -212,6 +212,21 @@ - (IBAction)notifyNewVersionPressed:(id)sender } } +- (IBAction)openBitcoin:(id)sender +{ + [self openURL:@"bitcoin:1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD?message=Support%20ReplyWithHeader!&amount=0.01"]; +} + +- (IBAction)openPaypal:(id)sender +{ + [self openURL:@"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QWMZG74FW4QYC&lc=US&item_name=Jeevanandam%20M%2e&item_number=ReplyWithHeader¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"]; +} + +- (void)openURL:(NSString *)url +{ + [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:url]]; +} + - (void)loadSignatures { id signatureBundle = [[NSClassFromString(@"SignatureBundle") alloc] init]; diff --git a/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib b/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib index 21cebda..34ba406 100644 --- a/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib +++ b/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib @@ -557,7 +557,7 @@ -2080374784 0 Default (From: Name) - + YES 12 787 @@ -575,7 +575,7 @@ 67108864 0 Extended (From: Name [mailto:email-address]) - + 1 1211912448 @@ -1403,7 +1403,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 292 - {{220, 258}, {207, 30}} + {{220, 258}, {271, 30}} @@ -1550,7 +1550,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{157, 169}, {231, 18}} - + YES -2080374784 @@ -1600,21 +1600,21 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO YES - + 12 - - + + 274 - - + + 12 {{305, 12}, {5, 55}} - + - + _NS:9 {0, 0} @@ -1622,13 +1622,13 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 0 Box - + 6 System textBackgroundColor - + 6 System labelColor @@ -1640,8 +1640,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 0 NO - - + + 268 Apple PDF pasteboard type @@ -1651,19 +1651,19 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NeXT Encapsulated PostScript v1.2 pasteboard type NeXT TIFF v4.0 pasteboard type - {{15, 12}, {54, 53}} - + {{8, 3}, {59, 69}} + - + _NS:9 {251, 251} YES - + 0 33554432 NSImage - qr-code-bitcoin-donation + qr-code-bitcoin-rwh _NS:9 0 @@ -1674,8 +1674,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO YES - - + + 268 Apple PDF pasteboard type @@ -1686,13 +1686,13 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NeXT TIFF v4.0 pasteboard type {{82, 35}, {210, 33}} - + - + _NS:9 {251, 251} YES - + 0 33554432 @@ -1708,8 +1708,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO YES - - + + 268 Apple PDF pasteboard type @@ -1720,13 +1720,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NeXT TIFF v4.0 pasteboard type {{339, 25}, {147, 27}} - + - _NS:9 {251, 251} YES - + 0 33554432 @@ -1742,45 +1741,45 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO YES - - + + 268 {{80, 7}, {216, 17}} - + _NS:526 {251, 750} YES - + 70254657 272630784 - 1PcLR3X9uw2qyhZizDsJ3B4CPS72qKK8J5 + 1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD YES 10 1044 _NS:526 - + - + NO 1 {{1, 1}, {521, 75}} - + - + _NS:11 {{12, 9}, {523, 77}} - + _NS:9 {0, 0} @@ -1788,10 +1787,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 0 Your kind support - - + + - + 1 3 0 @@ -1819,6 +1818,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 0 YES YES + @@ -1834,7 +1834,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 67108928 133120 - + 112869376 129 @@ -1916,8 +1916,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 11 1558 - - + + 1 @@ -2719,7 +2719,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 - + @@ -3057,72 +3057,72 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 xSL-yP-Ylj - + - - - - - + + + + + 78d-Id-KCz - - + + msl-xd-CLU - + - + - + yfI-sO-ruN - - + + WNT-d4-dYa - + - + - + vZB-TD-jcl - - + + - vWI-VE-mHZ - + 1DQ-oC-BLS + - + - + - mO7-Sw-uWc - - + 2WJ-2n-R0f + + - 1DQ-oC-BLS - + vWI-VE-mHZ + - + - + - 2WJ-2n-R0f - - + mO7-Sw-uWc + + @@ -3168,7 +3168,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip ToolTip - + Copy bitcoin address to donate @@ -3360,7 +3360,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip ToolTip - + Click here to donate @@ -3395,7 +3395,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip ToolTip - + Scan here to donate @@ -3410,7 +3410,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 ToolTip ToolTip - + Click here to donate @@ -3533,8 +3533,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 id id id + id id id + id id id id @@ -3557,6 +3559,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 notifyNewVersionPressed: id + + openBitcoin: + id + openCredits: id @@ -3565,6 +3571,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 openFeedback: id + + openPaypal: + id + openSupport: id @@ -3866,7 +3876,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {163.75221238938053, 40.778761061946902} {142, 27} {32, 32} - {125, 125} + {200, 200} diff --git a/ReplyWithHeader/Resources/qr-code-bitcoin-rwh.png b/ReplyWithHeader/Resources/qr-code-bitcoin-rwh.png new file mode 100644 index 0000000000000000000000000000000000000000..ab8db1617ef18bba0b009107aecc7592883320a4 GIT binary patch literal 411 zcmV;M0c8G(P)~Rmf{w?bjr!Y7Rf$>rC|?5J#u~?C^KJh2*qi*3biyI5fzC5G&5G&mL~Yud9$^M`i2?91!ayMP{=cuO4w-8xHE!BFwg(xurQve)$e| z5>`p~z~lW^KRZc0EMMe2z4*>f;#%H94s&&pd~78Mmy>xeNI1e@*%lz}v@b1(ub0-_ z3Bw%pVc-@%M&5-J- zV-3PcaX>j;UA7Jt!YYX-#&Lja1=5euG6v7Y=C-EJ-6Y0LH&sfA|g*h?}4L%5YtM))OME z;6$6bb=4qo%UL1&cI2r+qDs7cFP}gynwtc9|6ldL Date: Fri, 20 Mar 2015 22:43:19 -0700 Subject: [PATCH 12/15] #78 - donate options added into About tab --- ReplyWithHeader.xcodeproj/project.pbxproj | 8 - ReplyWithHeader/MHPreferences.h | 2 +- ReplyWithHeader/MHPreferences.m | 11 +- .../Resources/bitcoin-donate_64.png | Bin 10374 -> 0 bytes .../Resources/en.lproj/MHPreferencesView.xib | 364 ++++++++++++------ .../Resources/qr-code-bitcoin-rwh.png | Bin 411 -> 0 bytes 6 files changed, 241 insertions(+), 144 deletions(-) delete mode 100644 ReplyWithHeader/Resources/bitcoin-donate_64.png delete mode 100644 ReplyWithHeader/Resources/qr-code-bitcoin-rwh.png diff --git a/ReplyWithHeader.xcodeproj/project.pbxproj b/ReplyWithHeader.xcodeproj/project.pbxproj index 1bf8128..640aa50 100644 --- a/ReplyWithHeader.xcodeproj/project.pbxproj +++ b/ReplyWithHeader.xcodeproj/project.pbxproj @@ -18,9 +18,7 @@ 13423DA817EDACF700623E45 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 29B97324FDCFA39411CA2CEA /* AppKit.framework */; }; 13423DA917EDACF700623E45 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 4D5FF0A9127255C500A945C5 /* WebKit.framework */; }; 13423DAA17EDACF700623E45 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; }; - 13503BF81AB49B4800AF09CC /* bitcoin-donate_64.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */; }; 13503BF91AB49B4800AF09CC /* btn_donate_pp_142x27.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */; }; - 13503BFF1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png in Resources */ = {isa = PBXBuildFile; fileRef = 13503BFE1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png */; }; 135829F717FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */; }; 1365843917FAC12700E8C57D /* MailHeader.strings in Resources */ = {isa = PBXBuildFile; fileRef = 1365843B17FAC12700E8C57D /* MailHeader.strings */; }; 1371DD1817F864FE00320B54 /* ReplyWithHeader.icns in Resources */ = {isa = PBXBuildFile; fileRef = 1371DD0F17F864FE00320B54 /* ReplyWithHeader.icns */; }; @@ -74,9 +72,7 @@ 133A917A17E9745A00E3CC62 /* MHPreferences.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHPreferences.h; sourceTree = ""; }; 133A917B17E9745A00E3CC62 /* MHPreferences.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MHPreferences.m; sourceTree = ""; }; 133B7F7117F1B5E4000531ED /* NSAttributedString+MailAttributedStringToHTML.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSAttributedString+MailAttributedStringToHTML.h"; sourceTree = ""; }; - 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "bitcoin-donate_64.png"; sourceTree = ""; }; 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = btn_donate_pp_142x27.png; sourceTree = ""; }; - 13503BFE1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "qr-code-bitcoin-rwh.png"; sourceTree = ""; }; 135829F117FD5A6A00FC5C1F /* MHConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MHConstants.h; sourceTree = ""; }; 135829F517FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSMutableAttributedString+MailHeader.m"; sourceTree = ""; }; 135829F617FD5C0600FC5C1F /* NSMutableAttributedString+MailHeader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSMutableAttributedString+MailHeader.h"; sourceTree = ""; }; @@ -232,8 +228,6 @@ 1371DD0117F864FE00320B54 /* Resources */ = { isa = PBXGroup; children = ( - 13503BFE1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png */, - 13503BF61AB49B4800AF09CC /* bitcoin-donate_64.png */, 13503BF71AB49B4800AF09CC /* btn_donate_pp_142x27.png */, 9CE4222219BFDFE1005E7C07 /* MHDisplayNotes.xib */, 132C66621827E23400CD7C1A /* language.png */, @@ -407,10 +401,8 @@ 1372350F17FD8316007E7B71 /* MHPreferencesView.xib in Resources */, 13503BF91AB49B4800AF09CC /* btn_donate_pp_142x27.png in Resources */, 132C66631827E23400CD7C1A /* language.png in Resources */, - 13503BFF1AB4BA2C00AF09CC /* qr-code-bitcoin-rwh.png in Resources */, 138BAEBD182022AA00738ADB /* Config.plist in Resources */, 9C3230E619BD578200757AA4 /* Credits.rtf in Resources */, - 13503BF81AB49B4800AF09CC /* bitcoin-donate_64.png in Resources */, 1372351517FD8F3D007E7B71 /* MHPreferencesView.strings in Resources */, 13882A3018073509004BCC6D /* LICENSE.txt in Resources */, ); diff --git a/ReplyWithHeader/MHPreferences.h b/ReplyWithHeader/MHPreferences.h index 09e1fad..a48b2cd 100644 --- a/ReplyWithHeader/MHPreferences.h +++ b/ReplyWithHeader/MHPreferences.h @@ -57,7 +57,7 @@ IBOutlet NSMatrix *_MHHeaderAttributionFromTagStyle; IBOutlet NSTableView *_accountsTableView; IBOutlet NSTableView *_signaturesTableView; - IBOutlet NSImageView *_bitcoinImageView; + IBOutlet NSButton *_MHPaypalBtn; } @property(weak, readonly) NSString *NameAndVersion, *Copyright; diff --git a/ReplyWithHeader/MHPreferences.m b/ReplyWithHeader/MHPreferences.m index d9840eb..9788e8b 100644 --- a/ReplyWithHeader/MHPreferences.m +++ b/ReplyWithHeader/MHPreferences.m @@ -152,7 +152,7 @@ - (void)changeFont:(id)sender - (IBAction)openWebsite:(id)sender { - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://myjeeva.com/replywithheader"]]; + [self openURL:@"http://myjeeva.com/replywithheader"]; } - (IBAction)openFeedback:(id)sender @@ -169,12 +169,12 @@ - (IBAction)openFeedback:(id)sender [infoAlert runModal]; - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://myjeeva.com/replywithheader#wp-comments"]]; + [self openURL:@"http://myjeeva.com/replywithheader#wp-comments"]; } - (IBAction)openSupport:(id)sender { - [[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://github.com/jeevatkm/ReplyWithHeader/issues"]]; + [self openURL:@"https://github.com/jeevatkm/ReplyWithHeader/issues"]; } - (IBAction)openCredits:(id)sender @@ -212,11 +212,6 @@ - (IBAction)notifyNewVersionPressed:(id)sender } } -- (IBAction)openBitcoin:(id)sender -{ - [self openURL:@"bitcoin:1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD?message=Support%20ReplyWithHeader!&amount=0.01"]; -} - - (IBAction)openPaypal:(id)sender { [self openURL:@"https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QWMZG74FW4QYC&lc=US&item_name=Jeevanandam%20M%2e&item_number=ReplyWithHeader¤cy_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted"]; diff --git a/ReplyWithHeader/Resources/bitcoin-donate_64.png b/ReplyWithHeader/Resources/bitcoin-donate_64.png deleted file mode 100644 index 1d2a7928dccac2e0e3af0b0bf54b205bb94bd152..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 10374 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 diff --git a/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib b/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib index 34ba406..93ce20a 100644 --- a/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib +++ b/ReplyWithHeader/Resources/en.lproj/MHPreferencesView.xib @@ -2,10 +2,10 @@ 1070 - 14D87p + 14D105g 6245 - 1347.24 - 758.40 + 1347.45 + 758.60 com.apple.InterfaceBuilder.CocoaPlugin 6245 @@ -101,6 +101,9 @@ 268 + + public.item + {{11, 9}, {566, 386}} @@ -294,7 +297,7 @@ 68157504 1077941248 Font Name and Size - + YES 11 3357 @@ -500,7 +503,7 @@ 268 {{15, 24}, {516, 18}} - + YES -2080374784 @@ -1550,7 +1553,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{157, 169}, {231, 18}} - + YES -2080374784 @@ -1611,10 +1614,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 12 - {{305, 12}, {5, 55}} + {{321, 12}, {5, 55}} - + _NS:9 {0, 0} @@ -1640,7 +1643,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 0 NO - + 268 @@ -1651,19 +1654,19 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NeXT Encapsulated PostScript v1.2 pasteboard type NeXT TIFF v4.0 pasteboard type - {{8, 3}, {59, 69}} + {{339, 25}, {147, 27}} - + _NS:9 {251, 251} YES - + 0 33554432 NSImage - qr-code-bitcoin-rwh + btn_donate_pp_142x27 _NS:9 0 @@ -1674,94 +1677,125 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NO YES - + 268 - - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - {{82, 35}, {210, 33}} + {{73, 13}, {247, 17}} - _NS:9 - {251, 251} + _NS:526 + {251, 750} YES - - 0 - 33554432 - - NSImage - bitcoin-donate_64 - - _NS:9 - 0 - 0 - 0 - NO + + 70254657 + 4195328 + LLtwC5ovFdRECXPSUznJC3jKfFGRbcfVLY + + _NS:526 + + + NO - YES + 1 - + 268 - - Apple PDF pasteboard type - Apple PICT pasteboard type - Apple PNG pasteboard type - NSFilenamesPboardType - NeXT Encapsulated PostScript v1.2 pasteboard type - NeXT TIFF v4.0 pasteboard type - - {{339, 25}, {147, 27}} + {{72, 41}, {245, 17}} - _NS:9 - {251, 251} + + _NS:526 + {251, 750} YES - - 0 - 33554432 - - NSImage - btn_donate_pp_142x27 + + 70254657 + 4195328 + 1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD + + _NS:526 + + + + + NO + 1 + + + + 268 + {{339, 23}, {147, 30}} + + + + _NS:22 + YES + + -2080374784 + 134217728 + Textured Button + + _NS:22 + + -2033401856 + 160 + + + 400 + 75 + + NO + + + + 268 + {{13, 43}, {56, 17}} + + + + _NS:526 + {251, 750} + YES + + 68157504 + 71304192 + Bitcoin: + + YES + 12 + 4883 - _NS:9 - 0 - 0 - 0 - NO + _NS:526 + + + NO - YES + 1 - + 268 - {{80, 7}, {216, 17}} + {{13, 15}, {56, 17}} - + _NS:526 {251, 750} YES - - 70254657 - 272630784 - 1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD + + 68157504 + 71304192 + Litecoin: YES - 10 - 1044 + 12 + 787 _NS:526 - + @@ -1772,7 +1806,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {{1, 1}, {521, 75}} - + _NS:11 @@ -1802,6 +1836,29 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 + + + 268 + {{169, 91}, {208, 14}} + + + + _NS:526 + {251, 750} + YES + + 68157504 + 138675200 + -- Support ReplyWithHeader -- + + _NS:526 + + + + + NO + 1 + {{10, 33}, {546, 340}} @@ -1818,7 +1875,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 0 YES YES - @@ -2163,6 +2219,22 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 7AR-ky-mPf + + + _MHPaypalBtn + + + + 1aV-t9-mqU + + + + openPaypal: + + + + cyA-2b-K2V + values.MailHeaderBundleEnabled @@ -2720,6 +2792,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 + @@ -3060,10 +3133,12 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 - - + + + + @@ -3073,56 +3148,95 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 - msl-xd-CLU - + 1DQ-oC-BLS + - + - yfI-sO-ruN - - + 2WJ-2n-R0f + + - WNT-d4-dYa - + vWI-VE-mHZ + - + - vZB-TD-jcl - - + mO7-Sw-uWc + + - 1DQ-oC-BLS - + sfl-Bb-h4P + - + - 2WJ-2n-R0f - - + gTl-pM-cJs + + - vWI-VE-mHZ - + DUl-hg-Lkp + - + - mO7-Sw-uWc - - + bPa-0W-wjW + + + + + Xqb-fh-5sp + + + + + + + + I0q-3o-7zJ + + + + + eOg-ux-rYf + + + + + + + + yx9-x5-FGG + + + + + 727-4N-ch9 + + + + + + + + IgX-4K-TEe + + @@ -3328,6 +3442,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3349,24 +3464,27 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + + ToolTip + + ToolTip + + Copy bitcoin address to donate + + + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - - ToolTip - - ToolTip - - Click here to donate - - - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3385,25 +3503,20 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin accountsTable - - ToolTip - - ToolTip - - Scan here to donate - - - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3415,10 +3528,9 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin com.apple.InterfaceBuilder.CocoaPlugin @@ -3445,6 +3557,7 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 NSButton NSPopUpButton NSButton + NSButton NSMatrix NSButton NSButton @@ -3500,6 +3613,10 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 _MHNotifyNewVersion NSButton + + _MHPaypalBtn + NSButton + _MHRemoveSignatureEnabled NSMatrix @@ -3533,7 +3650,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 id id id - id id id id @@ -3559,10 +3675,6 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 notifyNewVersionPressed: id - - openBitcoin: - id - openCredits: id @@ -3873,10 +3985,8 @@ y7bMNcy1zTXNtc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ8dp2 {16, 15} {15, 15} {128, 128} - {163.75221238938053, 40.778761061946902} {142, 27} {32, 32} - {200, 200} diff --git a/ReplyWithHeader/Resources/qr-code-bitcoin-rwh.png b/ReplyWithHeader/Resources/qr-code-bitcoin-rwh.png deleted file mode 100644 index ab8db1617ef18bba0b009107aecc7592883320a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 411 zcmV;M0c8G(P)~Rmf{w?bjr!Y7Rf$>rC|?5J#u~?C^KJh2*qi*3biyI5fzC5G&5G&mL~Yud9$^M`i2?91!ayMP{=cuO4w-8xHE!BFwg(xurQve)$e| z5>`p~z~lW^KRZc0EMMe2z4*>f;#%H94s&&pd~78Mmy>xeNI1e@*%lz}v@b1(ub0-_ z3Bw%pVc-@%M&5-J- zV-3PcaX>j;UA7Jt!YYX-#&Lja1=5euG6v7Y=C-EJ-6Y0LH&sfA|g*h?}4L%5YtM))OME z;6$6bb=4qo%UL1&cI2r+qDs7cFP}gynwtc9|6ldL Date: Fri, 20 Mar 2015 22:53:36 -0700 Subject: [PATCH 13/15] Version promote from beta and Updated localization strings --- ReplyWithHeader/Resources/de.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist | 6 +++--- ReplyWithHeader/Resources/en.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/es.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/fr.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/it.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/ja.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/ko.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/nb.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/nl.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/pt.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/ru.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/sv.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/uk.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings | 2 +- ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings | 2 +- 17 files changed, 19 insertions(+), 19 deletions(-) diff --git a/ReplyWithHeader/Resources/de.lproj/MailHeader.strings b/ReplyWithHeader/Resources/de.lproj/MailHeader.strings index fdea83c..0f07e64 100644 --- a/ReplyWithHeader/Resources/de.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/de.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Urheberrecht © 2015 Jeevanandam M., Alle Rechte vorbehalten."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nAlle Rechte vorbehalten."; /* Message Strings */ "STRING_FROM" = "Von"; diff --git a/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist b/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist index 950cf08..f047128 100644 --- a/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist +++ b/ReplyWithHeader/Resources/en.lproj/MailHeader-Info.plist @@ -19,17 +19,17 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.9-beta + 4.9 CFBundleSignature ???? CFBundleVersion - 4.9-beta + 4.9 LSMinimumSystemVersion ${MACOSX_DEPLOYMENT_TARGET} MHAppCastURL http://myjeeva.com/replywithheader.json NSHumanReadableCopyright - © 2014 Jeevanandam M., All rights reserved. + © 2015 Jeevanandam M., All rights reserved. NSPrincipalClass MailHeader diff --git a/ReplyWithHeader/Resources/en.lproj/MailHeader.strings b/ReplyWithHeader/Resources/en.lproj/MailHeader.strings index e3b8cc3..247d5a8 100644 --- a/ReplyWithHeader/Resources/en.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/en.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Copyright © 2015 Jeevanandam M., All rights reserved."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nAll rights reserved."; /* Message Strings */ "STRING_FROM" = "From"; diff --git a/ReplyWithHeader/Resources/es.lproj/MailHeader.strings b/ReplyWithHeader/Resources/es.lproj/MailHeader.strings index 42f6ad5..0f5250c 100644 --- a/ReplyWithHeader/Resources/es.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/es.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "derechos de autor © 2015 Jeevanandam M., Reservados todos los derechos."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nReservados todos los derechos."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings b/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings index 878f4ef..c8934dc 100644 --- a/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/fr.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "droit d'auteur © 2015 Jeevanandam M., Tous droits réservés."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nTous droits réservés."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/it.lproj/MailHeader.strings b/ReplyWithHeader/Resources/it.lproj/MailHeader.strings index cf60fc8..ac0d15f 100644 --- a/ReplyWithHeader/Resources/it.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/it.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "diritto d'autore © 2015 Jeevanandam M., Tutti i diritti riservati."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nTutti i diritti riservati."; /* Message Strings */ "STRING_FROM" = "Da"; diff --git a/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings index b82702f..f9324d6 100644 --- a/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ja.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "著作権 © 2015 Jeevanandam M., 無断複写·転載を禁じます。"; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\n無断複写·転載を禁じます。"; /* Message Strings */ "STRING_FROM" = "差出人"; diff --git a/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings index e887a9c..27ba901 100644 --- a/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ko.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "저작권 © 2015 Jeevanandam M., 판권 소유."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\n판권 소유."; /* Message Strings */ "STRING_FROM" = "보낸 사람"; diff --git a/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings b/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings index f46b148..6a2e806 100644 --- a/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/nb.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Copyright © 2015 Jeevanandam M., Alle rettigheter forbeholdt."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nAlle rettigheter forbeholdt."; /* Message Strings */ "STRING_FROM" = "Fra"; diff --git a/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings b/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings index 39345bd..f71a09d 100644 --- a/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/nl.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Auteursrecht © 2015 Jeevanandam M., Alle rechten voorbehouden."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nAlle rechten voorbehouden."; /* Message Strings */ "STRING_FROM" = "Van"; diff --git a/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings b/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings index fa46d16..ccc4763 100644 --- a/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/pt-PT.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Direitos autorais © 2015 Jeevanandam M., Todos os direitos reservados."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nTodos os direitos reservados."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings b/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings index bf7ed4a..6cfcb61 100644 --- a/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/pt.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Direitos autorais © 2015 Jeevanandam M., Todos os direitos reservados."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nTodos os direitos reservados."; /* Message Strings */ "STRING_FROM" = "De"; diff --git a/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings b/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings index 0bf708d..b9702e1 100644 --- a/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/ru.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Aвторское право © 2015 Jeevanandam M., Все права защищены."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nВсе права защищены."; /* Message Strings */ "STRING_FROM" = "От"; diff --git a/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings b/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings index 37ad7a0..9f0fdb5 100644 --- a/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/sv.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Copyright © 2015 Jeevanandam M., Alla rättigheter förbehållna."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nAlla rättigheter förbehållna."; /* Message Strings */ "STRING_FROM" = "Från"; diff --git a/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings b/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings index 0661c0f..9f71f5a 100644 --- a/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/uk.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "Авторське право © 2015 Jeevanandam M., Всі права захищені."; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\nВсі права захищені."; /* Message Strings */ "STRING_FROM" = "Від кого"; diff --git a/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings b/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings index 9be0229..edc2a59 100644 --- a/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/zh-Hans.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "版权 © 2015 Jeevanandam M., 保留所有权利。"; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\n保留所有权利。"; /* Message Strings */ "STRING_FROM" = "发件人"; diff --git a/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings b/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings index b23b05c..8966362 100644 --- a/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings +++ b/ReplyWithHeader/Resources/zh-Hant.lproj/MailHeader.strings @@ -2,7 +2,7 @@ /* Plugin Info */ "PLUGIN_NAME" = "ReplyWithHeader"; "MAIL_HEADER_PREFERENCES" = "RWH"; - "COPYRIGHT" = "版權 © 2015 Jeevanandam M., 保留所有權利。"; + "COPYRIGHT" = "© 2015 Jeevanandam M.,\n保留所有權利。"; /* Message Strings */ "STRING_FROM" = "寄件人"; From ac97a3986b1f823a209506efd1e0f15eeb71af32 Mon Sep 17 00:00:00 2001 From: "Jeevanandam M." Date: Sat, 21 Mar 2015 10:56:28 -0700 Subject: [PATCH 14/15] Added donate info into read --- README.md | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 5399631..bd3c445 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,16 @@ Quoting Headers and Signatures in Mail.app ------------------------------------------ -[ReplyWithHeader][2] is an Apple Mail bundle/plugin that enables quoting of message header and signature in a email. It brings Outlook Mail Header capabilities to Apple Mail and adds missing functionality of headers to Mail.app. Blends with corporate world email communication. -* [Home page][2] -* [Download Latest Release - MacUpdate.com][5] -* [Reporting Issues](#reporting-issues) -* [Installation](#installation) -* [FAQ][7] +[ReplyWithHeader][2] [aka RWH] is an Apple Mail bundle/plugin that enables quoting of message header and signature in a email. It brings Outlook Mail Header capabilities to Apple Mail and adds missing functionality of headers to Mail.app. Blends with corporate world email communication. -* * * +**| [Home page][2] | [Download RWH][5] | [Report Issues][8] | [Installation][9] | [FAQ][7] | [Changelogs][10] |** + +Support RWH :moneybag: +---------------- + +BTC | LTC | PayPal +--- | --- | --- +1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD | LLtwC5ovFdRECXPSUznJC3jKfFGRbcfVLY | [![Donate with Paypal](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QWMZG74FW4QYC&lc=US&item_name=Jeevanandam%20M%2e&item_number=ReplyWithHeader&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) Installation ------------ @@ -28,8 +30,8 @@ RWH:: Installation complete =================================================== * Restart Mail.app -Reporting Issues ----------------- +Report Issues +------------- ReplyWithHeader uses [GitHub’s integrated issue tracking system][3] to record bugs and feature requests. If you want to raise an issue, please follow the recommendations bellow: * Before you log a bug, please search the issue tracker to see if someone has already reported the problem. If the issue doesn’t already exist, create a new issue. @@ -58,3 +60,6 @@ ReplyWithHeader is released under [MIT License][4] [5]: https://www.macupdate.com/app/mac/49256/replywithheader [6]: https://github.com/jeevatkm [7]: http://myjeeva.com/replywithheader#faq +[8]: #report-issues +[9]: #installation +[10]: http://myjeeva.com/replywithheader-change-log.html From df12968ac517bb7c4928132919b08652a2bf8b3e Mon Sep 17 00:00:00 2001 From: "Jeevanandam M." Date: Sat, 21 Mar 2015 11:19:50 -0700 Subject: [PATCH 15/15] Update README.md --- README.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index bd3c445..42f21a6 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,18 @@ Quoting Headers and Signatures in Mail.app ------------------------------------------ -[ReplyWithHeader][2] [aka RWH] is an Apple Mail bundle/plugin that enables quoting of message header and signature in a email. It brings Outlook Mail Header capabilities to Apple Mail and adds missing functionality of headers to Mail.app. Blends with corporate world email communication. +[ReplyWithHeader][2] [aka RWH] is an Apple Mail bundle/plugin that enables quoting of message header and automatic selection of signature while reply or fowward an email. RWH brings Outlook mail header capabilities into Apple Mail.app. Adds missing functionality of headers and signature into Mail.app. **| [Home page][2] | [Download RWH][5] | [Report Issues][8] | [Installation][9] | [FAQ][7] | [Changelogs][10] |** Support RWH :moneybag: ---------------- -BTC | LTC | PayPal ---- | --- | --- -1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD | LLtwC5ovFdRECXPSUznJC3jKfFGRbcfVLY | [![Donate with Paypal](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QWMZG74FW4QYC&lc=US&item_name=Jeevanandam%20M%2e&item_number=ReplyWithHeader&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) +BTC | LTC +--- | --- +1Q87wEWvQyxFHag77fqvabrEuPsAidWpyD | LLtwC5ovFdRECXPSUznJC3jKfFGRbcfVLY + +[![Donate with Paypal](https://www.paypalobjects.com/webstatic/en_US/btn/btn_donate_pp_142x27.png)](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=QWMZG74FW4QYC&lc=US&item_name=Jeevanandam%20M%2e&item_number=ReplyWithHeader&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donateCC_LG%2egif%3aNonHosted) Installation ------------