Adjusting the feedback UI to use BITAttributedLabel and fix some bugs

This commit is contained in:
Andreas Linde 2012-10-17 19:20:07 +02:00
parent 806812098e
commit dc654a0a3f
19 changed files with 218 additions and 171 deletions

View File

@ -28,11 +28,8 @@
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "BITFeedbackMessage.h"
typedef enum { #import "BITAttributedLabel.h"
BITFeedbackListViewCellStyleNormal = 0, // right aligned header style
BITFeedbackListViewCellStyleRepsonse = 1 // left aligned header style for dev responses
} BITFeedbackListViewCellStyle;
typedef enum { typedef enum {
BITFeedbackListViewCellBackgroundStyleNormal = 0, BITFeedbackListViewCellBackgroundStyleNormal = 0,
@ -41,14 +38,12 @@ typedef enum {
@interface BITFeedbackListViewCell : UITableViewCell @interface BITFeedbackListViewCell : UITableViewCell
@property (nonatomic) BITFeedbackListViewCellStyle style; @property (nonatomic, retain) BITFeedbackMessage *message;
@property (nonatomic) BITFeedbackListViewCellBackgroundStyle backgroundStyle; @property (nonatomic) BITFeedbackListViewCellBackgroundStyle backgroundStyle;
@property (nonatomic) BOOL sent;
@property (nonatomic, copy) NSDate *date; @property (nonatomic, retain) BITAttributedLabel *labelText;
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *text;
+ (CGFloat) heightForRowWithText:(NSString *)text tableViewWidth:(CGFloat)width; + (CGFloat) heightForRowWithMessage:(BITFeedbackMessage *)message tableViewWidth:(CGFloat)width;
@end @end

View File

@ -57,7 +57,6 @@
@property (nonatomic, retain) NSDateFormatter *timeFormatter; @property (nonatomic, retain) NSDateFormatter *timeFormatter;
@property (nonatomic, retain) UILabel *labelTitle; @property (nonatomic, retain) UILabel *labelTitle;
@property (nonatomic, retain) UILabel *labelText;
@end @end
@ -69,13 +68,9 @@
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) { if (self) {
// Initialization code // Initialization code
_style = BITFeedbackListViewCellStyleNormal;
_backgroundStyle = BITFeedbackListViewCellBackgroundStyleNormal; _backgroundStyle = BITFeedbackListViewCellBackgroundStyleNormal;
_sent = YES;
_date = nil; _message = nil;
_name = nil;
_text = nil;
self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[self.dateFormatter setTimeStyle:NSDateFormatterNoStyle]; [self.dateFormatter setTimeStyle:NSDateFormatterNoStyle];
@ -92,10 +87,11 @@
self.labelTitle = [[[UILabel alloc] init] autorelease]; self.labelTitle = [[[UILabel alloc] init] autorelease];
self.labelTitle.font = [UIFont systemFontOfSize:TITLE_FONTSIZE]; self.labelTitle.font = [UIFont systemFontOfSize:TITLE_FONTSIZE];
self.labelText = [[[UILabel alloc] init] autorelease]; self.labelText = [[[BITAttributedLabel alloc] init] autorelease];
self.labelText.font = [UIFont systemFontOfSize:TEXT_FONTSIZE]; self.labelText.font = [UIFont systemFontOfSize:TEXT_FONTSIZE];
self.labelText.numberOfLines = 0; self.labelText.numberOfLines = 0;
self.labelText.textAlignment = UITextAlignmentLeft; self.labelText.textAlignment = UITextAlignmentLeft;
self.labelText.dataDetectorTypes = UIDataDetectorTypeAll;
} }
return self; return self;
} }
@ -107,9 +103,7 @@
[_labelTitle release], _labelTitle = nil; [_labelTitle release], _labelTitle = nil;
[_labelText release], _labelText = nil; [_labelText release], _labelText = nil;
[_date release], _date = nil; [_message release], _message = nil;
[_name release], _name = nil;
[_text release], _text = nil;
[super dealloc]; [super dealloc];
} }
@ -132,8 +126,8 @@
#pragma mark - Layout #pragma mark - Layout
+ (CGFloat) heightForRowWithText:(NSString *)text tableViewWidth:(CGFloat)width { + (CGFloat) heightForRowWithMessage:(BITFeedbackMessage *)message tableViewWidth:(CGFloat)width {
CGFloat calculatedHeight = [text sizeWithFont:[UIFont systemFontOfSize:TEXT_FONTSIZE] CGFloat calculatedHeight = [message.text sizeWithFont:[UIFont systemFontOfSize:TEXT_FONTSIZE]
constrainedToSize:CGSizeMake(width - (2 * FRAME_SIDE_BORDER), CGFLOAT_MAX)].height + FRAME_TOP_BORDER + LABEL_TEXT_Y + FRAME_BOTTOM_BORDER; constrainedToSize:CGSizeMake(width - (2 * FRAME_SIDE_BORDER), CGFLOAT_MAX)].height + FRAME_TOP_BORDER + LABEL_TEXT_Y + FRAME_BOTTOM_BORDER;
return calculatedHeight; return calculatedHeight;
} }
@ -154,10 +148,10 @@
self.labelText.backgroundColor = BACKGROUNDCOLOR_ALTERNATE; self.labelText.backgroundColor = BACKGROUNDCOLOR_ALTERNATE;
} }
self.labelTitle.textColor = TEXTCOLOR_TITLE; self.labelTitle.textColor = TEXTCOLOR_TITLE;
if (self.sent) { if (_message.status == BITFeedbackMessageStatusSendPending || _message.status == BITFeedbackMessageStatusSendInProgress) {
[self.labelText setTextColor:TEXTCOLOR_DEFAULT];
} else {
[self.labelText setTextColor:TEXTCOLOR_PENDING]; [self.labelText setTextColor:TEXTCOLOR_PENDING];
} else {
[self.labelText setTextColor:TEXTCOLOR_DEFAULT];
} }
// background for deletion accessory view // background for deletion accessory view
@ -165,19 +159,19 @@
// header // header
NSString *dateString; NSString *dateString;
if (self.date) { if (_message.status == BITFeedbackMessageStatusSendPending || _message.status == BITFeedbackMessageStatusSendInProgress) {
if ([self isSameDayWithDate1:[NSDate date] date2:self.date]) {
dateString = [self.timeFormatter stringFromDate:self.date];
} else {
dateString = [self.dateFormatter stringFromDate:self.date];
}
} else {
dateString = BITHockeyLocalizedString(@"Pending"); dateString = BITHockeyLocalizedString(@"Pending");
} else {
if ([self isSameDayWithDate1:[NSDate date] date2:_message.date]) {
dateString = [self.timeFormatter stringFromDate:_message.date];
} else {
dateString = [self.dateFormatter stringFromDate:_message.date];
}
} }
[self.labelTitle setText:dateString];// [self.date description]]; [self.labelTitle setText:dateString];// [self.date description]];
[self.labelTitle setFrame:CGRectMake(FRAME_SIDE_BORDER, FRAME_TOP_BORDER + LABEL_TITLE_Y, self.frame.size.width - (2 * FRAME_SIDE_BORDER), LABEL_TITLE_HEIGHT)]; [self.labelTitle setFrame:CGRectMake(FRAME_SIDE_BORDER, FRAME_TOP_BORDER + LABEL_TITLE_Y, self.frame.size.width - (2 * FRAME_SIDE_BORDER), LABEL_TITLE_HEIGHT)];
if (_style == BITFeedbackListViewCellStyleNormal) { if (_message.userMessage) {
self.labelTitle.textAlignment = UITextAlignmentRight; self.labelTitle.textAlignment = UITextAlignmentRight;
self.labelText.textAlignment = UITextAlignmentRight; self.labelText.textAlignment = UITextAlignmentRight;
} else { } else {
@ -188,9 +182,9 @@
[self addSubview:self.labelTitle]; [self addSubview:self.labelTitle];
// text // text
[self.labelText setText:self.text]; [self.labelText setText:_message.text];
CGSize size = CGSizeMake(self.frame.size.width - (2 * FRAME_SIDE_BORDER), CGSize size = CGSizeMake(self.frame.size.width - (2 * FRAME_SIDE_BORDER),
[[self class] heightForRowWithText:self.text tableViewWidth:self.frame.size.width] - LABEL_TEXT_Y - FRAME_BOTTOM_BORDER); [[self class] heightForRowWithMessage:_message tableViewWidth:self.frame.size.width] - LABEL_TEXT_Y - FRAME_BOTTOM_BORDER);
[self.labelText setFrame:CGRectMake(FRAME_SIDE_BORDER, LABEL_TEXT_Y, size.width, size.height)]; [self.labelText setFrame:CGRectMake(FRAME_SIDE_BORDER, LABEL_TEXT_Y, size.width, size.height)];

View File

@ -36,6 +36,7 @@
#import "BITFeedbackComposeViewController.h" #import "BITFeedbackComposeViewController.h"
#import "BITFeedbackUserDataViewController.h" #import "BITFeedbackUserDataViewController.h"
#import "BITFeedbackMessage.h" #import "BITFeedbackMessage.h"
#import "BITAttributedLabel.h"
#import "BITHockeyHelper.h" #import "BITHockeyHelper.h"
#import <QuartzCore/QuartzCore.h> #import <QuartzCore/QuartzCore.h>
@ -54,7 +55,7 @@
#define BORDER_COLOR2 BIT_RGBCOLOR(221, 221, 221) #define BORDER_COLOR2 BIT_RGBCOLOR(221, 221, 221)
#define BORDER_COLOR3 BIT_RGBCOLOR(255, 255, 255) #define BORDER_COLOR3 BIT_RGBCOLOR(255, 255, 255)
@interface BITFeedbackListViewController () <BITFeedbackUserDataDelegate> @interface BITFeedbackListViewController () <BITFeedbackUserDataDelegate, BITAttributedLabelDelegate>
@property (nonatomic, assign) BITFeedbackManager *manager; @property (nonatomic, assign) BITFeedbackManager *manager;
@property (nonatomic, retain) NSDateFormatter *lastUpdateDateFormatter; @property (nonatomic, retain) NSDateFormatter *lastUpdateDateFormatter;
@ -217,6 +218,7 @@
destructiveButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllDelete") destructiveButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllDelete")
otherButtonTitles:nil otherButtonTitles:nil
]; ];
[deleteAction setTag:0];
[deleteAction setActionSheetStyle:UIActionSheetStyleBlackTranslucent]; [deleteAction setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
[deleteAction showInView:self.view]; [deleteAction showInView:self.view];
[deleteAction release]; [deleteAction release];
@ -227,9 +229,9 @@
cancelButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllCancel") cancelButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllCancel")
otherButtonTitles:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllDelete"), nil]; otherButtonTitles:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllDelete"), nil];
[deleteAction setTag:0];
[deleteAction show]; [deleteAction show];
[deleteAction release]; [deleteAction release];
} }
} }
@ -413,31 +415,9 @@
} }
BITFeedbackMessage *message = [self.manager messageAtIndex:indexPath.row]; BITFeedbackMessage *message = [self.manager messageAtIndex:indexPath.row];
cell.date = message.date; cell.message = message;
cell.labelText.delegate = self;
if (message.userMessage) { cell.labelText.userInteractionEnabled = YES;
cell.style = BITFeedbackListViewCellStyleNormal;
if ([self.manager requireUserName] == BITFeedbackUserDataElementRequired ||
([self.manager requireUserName] == BITFeedbackUserDataElementOptional && [self.manager userName] != nil)
) {
cell.name = [self.manager userName];
} else {
cell.name = BITHockeyLocalizedString(@"HockeyFeedbackListMessageUserNameNotSet");
}
} else {
cell.style = BITFeedbackListViewCellStyleRepsonse;
if (message.name && [message.name length] > 0) {
cell.name = message.name;
} else {
cell.name = BITHockeyLocalizedString(@"HockeyFeedbackListMessageResponseNameNotSet");
}
}
if (message.text) {
cell.text = message.text;
} else {
cell.text = @"";
}
UIView *lineView1 = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, cell.contentView.bounds.size.width, 1)] autorelease]; UIView *lineView1 = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, cell.contentView.bounds.size.width, 1)] autorelease];
lineView1.backgroundColor = BORDER_COLOR1; lineView1.backgroundColor = BORDER_COLOR1;
@ -468,8 +448,13 @@
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath { - (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) { if (editingStyle == UITableViewCellEditingStyleDelete) {
NSLog(@"%i %i", indexPath.section, indexPath.row);
if ([_manager deleteMessageAtIndex:indexPath.row]) { if ([_manager deleteMessageAtIndex:indexPath.row]) {
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic]; if ([_manager numberOfMessages] > 0) {
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
} else {
[tableView reloadData];
}
} }
} }
} }
@ -488,15 +473,23 @@
BITFeedbackMessage *message = [self.manager messageAtIndex:indexPath.row]; BITFeedbackMessage *message = [self.manager messageAtIndex:indexPath.row];
if (!message) return 44; if (!message) return 44;
return [BITFeedbackListViewCell heightForRowWithText:message.text tableViewWidth:self.view.frame.size.width]; return [BITFeedbackListViewCell heightForRowWithMessage:message tableViewWidth:self.view.frame.size.width];
} }
#pragma mark - UIAlertViewDelegate #pragma mark - UIAlertViewDelegate
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex { - (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == [alertView firstOtherButtonIndex]) { if (buttonIndex == alertView.cancelButtonIndex) {
[self deleteAllMessages]; return;
}
if ([alertView tag] == 0) {
if (buttonIndex == [alertView firstOtherButtonIndex]) {
[self deleteAllMessages];
}
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:alertView.title]];
} }
} }
@ -504,10 +497,45 @@
#pragma mark - UIActionSheetDelegate #pragma mark - UIActionSheetDelegate
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex { - (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == [actionSheet destructiveButtonIndex]) { if (buttonIndex == actionSheet.cancelButtonIndex) {
[self deleteAllMessages]; return;
}
if ([actionSheet tag] == 0) {
if (buttonIndex == [actionSheet destructiveButtonIndex]) {
[self deleteAllMessages];
}
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:actionSheet.title]];
} }
} }
#pragma mark - BITAttributedLabelDelegate
- (void)attributedLabel:(BITAttributedLabel *)label didSelectLinkWithURL:(NSURL *)url {
if (UI_USER_INTERFACE_IDIOM() != UIUserInterfaceIdiomPad) {
UIActionSheet *linkAction = [[UIActionSheet alloc] initWithTitle:[url absoluteString]
delegate:self
cancelButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListCancelOpenLink")
destructiveButtonTitle:nil
otherButtonTitles:BITHockeyLocalizedString(@"HockeyFeedbackListOpenLinkInSafari"), nil
];
[linkAction setTag:1];
[linkAction setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
[linkAction showInView:self.view];
[linkAction release];
} else {
UIAlertView *linkAction = [[UIAlertView alloc] initWithTitle:[url absoluteString]
message:nil
delegate:self
cancelButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListCancelOpenLink")
otherButtonTitles:BITHockeyLocalizedString(@"HockeyFeedbackListOpenLinkInSafari"), nil];
[linkAction setTag:1];
[linkAction show];
[linkAction release];
}
}
@end @end

View File

@ -799,6 +799,7 @@
// app defined user data may have changed, update it // app defined user data may have changed, update it
[self updateAppDefinedUserData]; [self updateAppDefinedUserData];
[self saveMessages];
NSArray *pendingMessages = [self messagesWithStatus:BITFeedbackMessageStatusSendPending]; NSArray *pendingMessages = [self messagesWithStatus:BITFeedbackMessageStatusSendPending];

View File

@ -39,7 +39,7 @@
_text = nil; _text = nil;
_name = nil; _name = nil;
_email = nil; _email = nil;
_date = nil; _date = [[NSDate alloc] init];
_token = nil; _token = nil;
_id = [[NSNumber alloc] initWithInteger:0]; _id = [[NSNumber alloc] initWithInteger:0];
_status = BITFeedbackMessageStatusSendPending; _status = BITFeedbackMessageStatusSendPending;

View File

@ -161,17 +161,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -183,6 +177,15 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -158,17 +158,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -180,6 +174,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local messages*/ /* Button title for deleting all local messages*/
"HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages"; "HockeyFeedbackListButonDeleteAllMessages" = "Delete All Messages";
/* User Name In Message If Name Not Set */
"HockeyFeedbackListMessageUserNameNotSet" = "You";
/* Name In Message From Server If Name Not Set */
"HockeyFeedbackListMessageResponseNameNotSet" = "Response";
/* Message pending to be send */ /* Message pending to be send */
"HockeyFeedbackListMessagePending" = "Pending"; "HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */ /* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */ /* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device."; "HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"HockeyFeedbackListDeleteAllCancel" = "Cancel"; "HockeyFeedbackListDeleteAllCancel" = "Cancel";
/* Open Link In Safari Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListCancelOpenLink" = "Cancel";
/* Title for the Action Sheet */
"HockeyFeedbackListOpenLinkInSafari" = "Open Link in Safari";
/* UIActivity */ /* UIActivity */
/* Activity Sharing Button Title, App Name will be inserted */ /* Activity Sharing Button Title, App Name will be inserted */