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

View File

@ -57,7 +57,6 @@
@property (nonatomic, retain) NSDateFormatter *timeFormatter;
@property (nonatomic, retain) UILabel *labelTitle;
@property (nonatomic, retain) UILabel *labelText;
@end
@ -69,13 +68,9 @@
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if (self) {
// Initialization code
_style = BITFeedbackListViewCellStyleNormal;
_backgroundStyle = BITFeedbackListViewCellBackgroundStyleNormal;
_sent = YES;
_date = nil;
_name = nil;
_text = nil;
_message = nil;
self.dateFormatter = [[[NSDateFormatter alloc] init] autorelease];
[self.dateFormatter setTimeStyle:NSDateFormatterNoStyle];
@ -92,10 +87,11 @@
self.labelTitle = [[[UILabel alloc] init] autorelease];
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.numberOfLines = 0;
self.labelText.textAlignment = UITextAlignmentLeft;
self.labelText.dataDetectorTypes = UIDataDetectorTypeAll;
}
return self;
}
@ -107,9 +103,7 @@
[_labelTitle release], _labelTitle = nil;
[_labelText release], _labelText = nil;
[_date release], _date = nil;
[_name release], _name = nil;
[_text release], _text = nil;
[_message release], _message = nil;
[super dealloc];
}
@ -132,15 +126,15 @@
#pragma mark - Layout
+ (CGFloat) heightForRowWithText:(NSString *)text tableViewWidth:(CGFloat)width {
CGFloat calculatedHeight = [text sizeWithFont:[UIFont systemFontOfSize:TEXT_FONTSIZE]
+ (CGFloat) heightForRowWithMessage:(BITFeedbackMessage *)message tableViewWidth:(CGFloat)width {
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;
return calculatedHeight;
}
- (void)layoutSubviews {
UIView *accessoryViewBackground = [[[UIView alloc] initWithFrame:CGRectMake(0, 2, self.frame.size.width * 2, self.frame.size.height - 2)] autorelease];
// colors
if (_backgroundStyle == BITFeedbackListViewCellBackgroundStyleNormal) {
accessoryViewBackground.backgroundColor = BACKGROUNDCOLOR_DEFAULT;
@ -154,30 +148,30 @@
self.labelText.backgroundColor = BACKGROUNDCOLOR_ALTERNATE;
}
self.labelTitle.textColor = TEXTCOLOR_TITLE;
if (self.sent) {
[self.labelText setTextColor:TEXTCOLOR_DEFAULT];
} else {
if (_message.status == BITFeedbackMessageStatusSendPending || _message.status == BITFeedbackMessageStatusSendInProgress) {
[self.labelText setTextColor:TEXTCOLOR_PENDING];
} else {
[self.labelText setTextColor:TEXTCOLOR_DEFAULT];
}
// background for deletion accessory view
[self addSubview:accessoryViewBackground];
// header
NSString *dateString;
if (self.date) {
if ([self isSameDayWithDate1:[NSDate date] date2:self.date]) {
dateString = [self.timeFormatter stringFromDate:self.date];
} else {
dateString = [self.dateFormatter stringFromDate:self.date];
}
} else {
if (_message.status == BITFeedbackMessageStatusSendPending || _message.status == BITFeedbackMessageStatusSendInProgress) {
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 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.labelText.textAlignment = UITextAlignmentRight;
} else {
@ -188,9 +182,9 @@
[self addSubview:self.labelTitle];
// text
[self.labelText setText:self.text];
[self.labelText setText:_message.text];
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)];

View File

@ -36,6 +36,7 @@
#import "BITFeedbackComposeViewController.h"
#import "BITFeedbackUserDataViewController.h"
#import "BITFeedbackMessage.h"
#import "BITAttributedLabel.h"
#import "BITHockeyHelper.h"
#import <QuartzCore/QuartzCore.h>
@ -54,7 +55,7 @@
#define BORDER_COLOR2 BIT_RGBCOLOR(221, 221, 221)
#define BORDER_COLOR3 BIT_RGBCOLOR(255, 255, 255)
@interface BITFeedbackListViewController () <BITFeedbackUserDataDelegate>
@interface BITFeedbackListViewController () <BITFeedbackUserDataDelegate, BITAttributedLabelDelegate>
@property (nonatomic, assign) BITFeedbackManager *manager;
@property (nonatomic, retain) NSDateFormatter *lastUpdateDateFormatter;
@ -217,6 +218,7 @@
destructiveButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllDelete")
otherButtonTitles:nil
];
[deleteAction setTag:0];
[deleteAction setActionSheetStyle:UIActionSheetStyleBlackTranslucent];
[deleteAction showInView:self.view];
[deleteAction release];
@ -227,9 +229,9 @@
cancelButtonTitle:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllCancel")
otherButtonTitles:BITHockeyLocalizedString(@"HockeyFeedbackListDeleteAllDelete"), nil];
[deleteAction setTag:0];
[deleteAction show];
[deleteAction release];
}
}
@ -316,7 +318,7 @@
cell.textLabel.numberOfLines = 0;
cell.accessoryType = UITableViewCellAccessoryNone;
cell.selectionStyle = UITableViewCellSelectionStyleNone;
// button
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button.layer setMasksToBounds:YES];
@ -413,31 +415,9 @@
}
BITFeedbackMessage *message = [self.manager messageAtIndex:indexPath.row];
cell.date = message.date;
if (message.userMessage) {
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 = @"";
}
cell.message = message;
cell.labelText.delegate = self;
cell.labelText.userInteractionEnabled = YES;
UIView *lineView1 = [[[UIView alloc] initWithFrame:CGRectMake(0, 0, cell.contentView.bounds.size.width, 1)] autorelease];
lineView1.backgroundColor = BORDER_COLOR1;
@ -468,8 +448,13 @@
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
NSLog(@"%i %i", indexPath.section, 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];
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
- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == [alertView firstOtherButtonIndex]) {
[self deleteAllMessages];
if (buttonIndex == alertView.cancelButtonIndex) {
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
- (void)actionSheet:(UIActionSheet *)actionSheet didDismissWithButtonIndex:(NSInteger)buttonIndex {
if (buttonIndex == [actionSheet destructiveButtonIndex]) {
[self deleteAllMessages];
if (buttonIndex == actionSheet.cancelButtonIndex) {
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

View File

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

View File

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

View File

@ -161,17 +161,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -183,6 +177,15 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -158,17 +158,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -180,6 +174,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */

View File

@ -159,17 +159,11 @@
/* Button title for deleting all local 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 */
"HockeyFeedbackListMessagePending" = "Pending";
/* Delete All Messages Action Sheet */
/* Delete All Messages Action Sheet / Alert View */
/* Title for the Action Sheet */
"HockeyFeedbackListDeleteAllTitle" = "This will delete all messages on this device.";
@ -181,6 +175,14 @@
"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 */
/* Activity Sharing Button Title, App Name will be inserted */