Skip to content

Commit

Permalink
Merge branch 'release/2.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
mjdescy committed Mar 11, 2016
2 parents e494737 + f90fd32 commit 5615937
Show file tree
Hide file tree
Showing 181 changed files with 606 additions and 407 deletions.
8 changes: 6 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,19 @@

# Overview

TodoTxtMac is a minimalist, keyboard-driven to-do manager for Mac OS X that conforms to the todo.txt format spec. Official support and testing are only done on Mac OS X 10.10 (Yosemite) at this time, though the application is built to run on Mac OS X 10.8 (Mountain Lion) and higher.
TodoTxtMac is a minimalist, keyboard-driven to-do manager for Mac OS X that conforms to the todo.txt format spec. Version 2.0.0 and up are supported only on Mac OS X 10.11 (El Capitan). Version 1.6.1 can be used on lower versions of Mac OS X, down to Mac OS X 10.8, though support is not guaranteed.

# Goals

This application is inspired by the [todotxt.net][] application for Microsoft Windows with numerous improvements and modifications specific to the Mac OS X platform.
This application is inspired by the [Todotxt.net][] application for Microsoft Windows with numerous improvements and modifications specific to the Mac OS X platform. It is designed to pair well with other todo.txt applications, such as [SwiftoDo][], [Todotxt.net][], [SimpleTask][], [topydo][], and [many others][].

From a design perspective the goal is to be the fastest, simplest, and cleanest implementation possible.

[todotxt.net]: http://benrhughes.github.io/todotxt.net/
[SwiftoDo]: https://itunes.apple.com/us/app/swiftodo-task-list-for-todo.txt/id1073798440?ls=1&mt=8
[SimpleTask]: https://play.google.com/store/apps/details?id=nl.mpcjanssen.todotxtholo
[topydo]: https://github.com/bram85/topydo
[many others]: http://todotxt.com

# Features

Expand Down
1 change: 1 addition & 0 deletions Sparkle.framework/Modules
1 change: 1 addition & 0 deletions Sparkle.framework/PrivateHeaders
14 changes: 5 additions & 9 deletions Sparkle.framework/Versions/A/Headers/SUAppcast.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,22 +9,18 @@
#ifndef SUAPPCAST_H
#define SUAPPCAST_H

@protocol SUAppcastDelegate;
#import <Foundation/Foundation.h>
#import "SUExport.h"

@class SUAppcastItem;
@interface SUAppcast : NSObject <NSURLDownloadDelegate>
SU_EXPORT @interface SUAppcast : NSObject<NSURLDownloadDelegate>

@property (weak) id<SUAppcastDelegate> delegate;
@property (copy) NSString *userAgentString;
@property (copy) NSDictionary *httpHeaders;

- (void)fetchAppcastFromURL:(NSURL *)url;
- (void)fetchAppcastFromURL:(NSURL *)url completionBlock:(void (^)(NSError *))err;

@property (readonly, copy) NSArray *items;
@end

@protocol SUAppcastDelegate <NSObject>
- (void)appcastDidFinishLoading:(SUAppcast *)appcast;
- (void)appcast:(SUAppcast *)appcast failedToLoadWithError:(NSError *)error;
@end

#endif
6 changes: 5 additions & 1 deletion Sparkle.framework/Versions/A/Headers/SUAppcastItem.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,10 @@
#ifndef SUAPPCASTITEM_H
#define SUAPPCASTITEM_H

@interface SUAppcastItem : NSObject
#import <Foundation/Foundation.h>
#import "SUExport.h"

SU_EXPORT @interface SUAppcastItem : NSObject
@property (copy, readonly) NSString *title;
@property (copy, readonly) NSDate *date;
@property (copy, readonly) NSString *itemDescription;
Expand All @@ -29,6 +32,7 @@

@property (getter=isDeltaUpdate, readonly) BOOL deltaUpdate;
@property (getter=isCriticalUpdate, readonly) BOOL criticalUpdate;
@property (getter=isInformationOnlyUpdate, readonly) BOOL informationOnlyUpdate;

// Returns the dictionary provided in initWithDictionary; this might be useful later for extensions.
@property (readonly, copy) NSDictionary *propertiesDictionary;
Expand Down
47 changes: 47 additions & 0 deletions Sparkle.framework/Versions/A/Headers/SUErrors.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
//
// SUErrors.h
// Sparkle
//
// Created by C.W. Betts on 10/13/14.
// Copyright (c) 2014 Sparkle Project. All rights reserved.
//

#ifndef SUERRORS_H
#define SUERRORS_H

#import <Foundation/Foundation.h>
#import "SUExport.h"

/**
* Error domain used by Sparkle
*/
SU_EXPORT extern NSString *const SUSparkleErrorDomain;

typedef NS_ENUM(OSStatus, SUError) {
// Appcast phase errors.
SUAppcastParseError = 1000,
SUNoUpdateError = 1001,
SUAppcastError = 1002,
SURunningFromDiskImageError = 1003,

// Downlaod phase errors.
SUTemporaryDirectoryError = 2000,

// Extraction phase errors.
SUUnarchivingError = 3000,
SUSignatureError = 3001,

// Installation phase errors.
SUFileCopyFailure = 4000,
SUAuthenticationFailure = 4001,
SUMissingUpdateError = 4002,
SUMissingInstallerToolError = 4003,
SURelaunchError = 4004,
SUInstallationError = 4005,
SUDowngradeError = 4006,

// System phase errors
SUSystemPowerOffError = 5000
};

#endif
18 changes: 18 additions & 0 deletions Sparkle.framework/Versions/A/Headers/SUExport.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
//
// SUExport.h
// Sparkle
//
// Created by Jake Petroules on 2014-08-23.
// Copyright (c) 2014 Sparkle Project. All rights reserved.
//

#ifndef SUEXPORT_H
#define SUEXPORT_H

#ifdef BUILDING_SPARKLE
#define SU_EXPORT __attribute__((visibility("default")))
#else
#define SU_EXPORT
#endif

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
#ifndef SUSTANDARDVERSIONCOMPARATOR_H
#define SUSTANDARDVERSIONCOMPARATOR_H


#import <Foundation/Foundation.h>
#import "SUExport.h"
#import "SUVersionComparisonProtocol.h"

/*!
Expand All @@ -19,7 +20,7 @@
It's "dumb" in that it does essentially string comparison,
in components split by character type.
*/
@interface SUStandardVersionComparator : NSObject <SUVersionComparison>
SU_EXPORT @interface SUStandardVersionComparator : NSObject <SUVersionComparison>

/*!
Returns a singleton instance of the comparator.
Expand Down
80 changes: 55 additions & 25 deletions Sparkle.framework/Versions/A/Headers/SUUpdater.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
#ifndef SUUPDATER_H
#define SUUPDATER_H

#import <Foundation/Foundation.h>
#import "SUExport.h"
#import "SUVersionComparisonProtocol.h"
#import "SUVersionDisplayProtocol.h"

Expand All @@ -22,15 +24,16 @@
This class is used to configure the update paramters as well as manually
and automatically schedule and control checks for updates.
*/
@interface SUUpdater : NSObject
SU_EXPORT @interface SUUpdater : NSObject

@property (weak) IBOutlet id<SUUpdaterDelegate> delegate;
@property (unsafe_unretained) IBOutlet id<SUUpdaterDelegate> delegate;

+ (SUUpdater *)sharedUpdater;
+ (SUUpdater *)updaterForBundle:(NSBundle *)bundle;
- (instancetype)initForBundle:(NSBundle *)bundle;

@property (readonly, strong) NSBundle *hostBundle;
@property (strong, readonly) NSBundle *sparkleBundle;

@property BOOL automaticallyChecksForUpdates;

Expand All @@ -45,6 +48,8 @@

@property (nonatomic, copy) NSString *userAgentString;

@property (copy) NSDictionary *httpHeaders;

@property BOOL sendsSystemProfile;

@property BOOL automaticallyDownloadsUpdates;
Expand Down Expand Up @@ -72,6 +77,16 @@
*/
- (void)checkForUpdatesInBackground;

/*!
Checks for updates and, if available, immediately downloads and installs them.
A progress dialog is shown but the user will never be prompted to read the
release notes.
You may want to respond to the userDidCancelDownload delegate method in case
the user clicks the "Cancel" button while the update is downloading.
*/
- (void)installUpdatesIfAvailable;

/*!
Returns the date of last update check.
Expand Down Expand Up @@ -107,17 +122,17 @@
// SUUpdater Notifications for events that might be interesting to more than just the delegate
// The updater will be the notification object
// -----------------------------------------------------------------------------
extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
extern NSString *const SUUpdaterDidFindValidUpdateNotification;
extern NSString *const SUUpdaterDidNotFindUpdateNotification;
extern NSString *const SUUpdaterWillRestartNotification;
SU_EXPORT extern NSString *const SUUpdaterDidFinishLoadingAppCastNotification;
SU_EXPORT extern NSString *const SUUpdaterDidFindValidUpdateNotification;
SU_EXPORT extern NSString *const SUUpdaterDidNotFindUpdateNotification;
SU_EXPORT extern NSString *const SUUpdaterWillRestartNotification;
#define SUUpdaterWillRelaunchApplicationNotification SUUpdaterWillRestartNotification;
#define SUUpdaterWillInstallUpdateNotification SUUpdaterWillRestartNotification;

// Key for the SUAppcastItem object in the SUUpdaterDidFindValidUpdateNotification userInfo
extern NSString *const SUUpdaterAppcastItemNotificationKey;
SU_EXPORT extern NSString *const SUUpdaterAppcastItemNotificationKey;
// Key for the SUAppcast object in the SUUpdaterDidFinishLoadingAppCastNotification userInfo
extern NSString *const SUUpdaterAppcastNotificationKey;
SU_EXPORT extern NSString *const SUUpdaterAppcastNotificationKey;

// -----------------------------------------------------------------------------
// SUUpdater Delegate:
Expand Down Expand Up @@ -205,6 +220,31 @@ extern NSString *const SUUpdaterAppcastNotificationKey;
*/
- (void)updaterDidNotFindUpdate:(SUUpdater *)updater;

/*!
Called immediately before downloading the specified update.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that is proposed to be downloaded.
\param request The mutable URL request that will be used to download the update.
*/
- (void)updater:(SUUpdater *)updater willDownloadUpdate:(SUAppcastItem *)item withRequest:(NSMutableURLRequest *)request;

/*!
Called after the specified update failed to download.
\param updater The SUUpdater instance.
\param item The appcast item corresponding to the update that failed to download.
\param error The error generated by the failed download.
*/
- (void)updater:(SUUpdater *)updater failedToDownloadUpdate:(SUAppcastItem *)item error:(NSError *)error;

/*!
Called when the user clicks the cancel button while and update is being downloaded.
\param updater The SUUpdater instance.
*/
- (void)userDidCancelDownload:(SUUpdater *)updater;

/*!
Called immediately before installing the specified update.
Expand Down Expand Up @@ -311,24 +351,14 @@ extern NSString *const SUUpdaterAppcastNotificationKey;
*/
- (void)updater:(SUUpdater *)updater didCancelInstallUpdateOnQuit:(SUAppcastItem *)item;

@end


// -----------------------------------------------------------------------------
// Constants:
// -----------------------------------------------------------------------------
/*!
Called after an update is aborted due to an error.
// Define some minimum intervals to avoid DOS-like checking attacks. These are in seconds.
#if defined(DEBUG) && DEBUG && 0
#define SU_MIN_CHECK_INTERVAL 60
#else
#define SU_MIN_CHECK_INTERVAL 60 * 60
#endif
\param updater The SUUpdater instance.
\param error The error that caused the abort
*/
- (void)updater:(SUUpdater *)updater didAbortWithError:(NSError *)error;

#if defined(DEBUG) && DEBUG && 0
#define SU_DEFAULT_CHECK_INTERVAL 60
#else
#define SU_DEFAULT_CHECK_INTERVAL 60 * 60 * 24
#endif
@end

#endif
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@
#define SUVERSIONCOMPARISONPROTOCOL_H

#import <Cocoa/Cocoa.h>
#import "SUExport.h"

/*!
Provides version comparison facilities for Sparkle.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
//

#import <Cocoa/Cocoa.h>

#import "SUExport.h"

/*!
Applies special display formatting to version numbers.
Expand Down
15 changes: 9 additions & 6 deletions Sparkle.framework/Versions/A/Headers/Sparkle.h
Original file line number Diff line number Diff line change
Expand Up @@ -9,14 +9,17 @@
#ifndef SPARKLE_H
#define SPARKLE_H

#import <Cocoa/Cocoa.h>

// This list should include the shared headers. It doesn't matter if some of them aren't shared (unless
// there are name-space collisions) so we can list all of them to start with:

#import <Sparkle/SUUpdater.h>

#import <Sparkle/SUAppcast.h>
#import <Sparkle/SUAppcastItem.h>
#import <Sparkle/SUVersionComparisonProtocol.h>
#import <Sparkle/SUStandardVersionComparator.h>
#import "SUAppcast.h"
#import "SUAppcastItem.h"
#import "SUStandardVersionComparator.h"
#import "SUUpdater.h"
#import "SUVersionComparisonProtocol.h"
#import "SUVersionDisplayProtocol.h"
#import "SUErrors.h"

#endif
6 changes: 6 additions & 0 deletions Sparkle.framework/Versions/A/Modules/module.modulemap
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
framework module Sparkle {
umbrella header "Sparkle.h"

export *
module * { export * }
}
35 changes: 35 additions & 0 deletions Sparkle.framework/Versions/A/PrivateHeaders/SUUnarchiver.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
//
// SUUnarchiver.h
// Sparkle
//
// Created by Andy Matuschak on 3/16/06.
// Copyright 2006 Andy Matuschak. All rights reserved.
//

#ifndef SUUNARCHIVER_H
#define SUUNARCHIVER_H

#import <Foundation/Foundation.h>

@class SUHost;
@protocol SUUnarchiverDelegate;

@interface SUUnarchiver : NSObject

@property (copy, readonly) NSString *archivePath;
@property (copy, readonly) NSString *updateHostBundlePath;
@property (weak) id<SUUnarchiverDelegate> delegate;

+ (SUUnarchiver *)unarchiverForPath:(NSString *)path updatingHostBundlePath:(NSString *)host;

- (void)start;
@end

@protocol SUUnarchiverDelegate <NSObject>
- (void)unarchiverDidFinish:(SUUnarchiver *)unarchiver;
- (void)unarchiverDidFail:(SUUnarchiver *)unarchiver;
@optional
- (void)unarchiver:(SUUnarchiver *)unarchiver extractedProgress:(double)progress;
@end

#endif
Loading

0 comments on commit 5615937

Please sign in to comment.