зеркало из https://github.com/mozilla/pjs.git
crop really long page titles in Go menu
This commit is contained in:
Родитель
7a70d3095d
Коммит
1caf4a6e63
|
@ -35,7 +35,7 @@
|
||||||
mButtons = [[NSMutableArray alloc] init];
|
mButtons = [[NSMutableArray alloc] init];
|
||||||
mDragInsertionButton = nil;
|
mDragInsertionButton = nil;
|
||||||
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
||||||
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", nil]];
|
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", NSStringPboardType, nil]];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -284,10 +284,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*src=(null)
|
||||||
|
pasteboard=CFPasteboardUnique-11c50e715b
|
||||||
|
types=(
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0000",
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0001",
|
||||||
|
"CorePasteboardFlavorType 0x75747874",
|
||||||
|
"NeXT plain ascii pasteboard type",
|
||||||
|
"CorePasteboardFlavorType 0x54455854",
|
||||||
|
"Apple CorePasteboard Fallback Text Script",
|
||||||
|
"CorePasteboardFlavorType 0x4D4F5A6D",
|
||||||
|
NSStringPboardType,
|
||||||
|
NSStringPboardType
|
||||||
|
)
|
||||||
|
op=Copy Link Generic Private Move Delete
|
||||||
|
*/
|
||||||
// NSDraggingDestination ///////////
|
// NSDraggingDestination ///////////
|
||||||
|
|
||||||
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
return NSDragOperationGeneric;
|
return NSDragOperationGeneric;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,6 +335,9 @@
|
||||||
|
|
||||||
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
|
NSString *value = [[sender draggingPasteboard] stringForType:@"CorePasteboardFlavorType 0x4D4F5A6D"];
|
||||||
|
NSLog(@"*** DROP %s",[value cString]);
|
||||||
|
|
||||||
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
||||||
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
||||||
mDragInsertionPosition);
|
mDragInsertionPosition);
|
||||||
|
|
|
@ -38,7 +38,9 @@ static const int kDividerTag = 4000;
|
||||||
// the maximum number of history entry menuitems to display
|
// the maximum number of history entry menuitems to display
|
||||||
static const int kMaxItems = 15;
|
static const int kMaxItems = 15;
|
||||||
// the maximum number of characters in a menu title before cropping it
|
// the maximum number of characters in a menu title before cropping it
|
||||||
static const int kMaxTitleLength = 20;
|
static const unsigned int kMaxTitleLength = 60;
|
||||||
|
// the ellipsis string to insert into cropped strings
|
||||||
|
static const NSString *kEllipsis = @"...";
|
||||||
|
|
||||||
@implementation CHGoMenu
|
@implementation CHGoMenu
|
||||||
|
|
||||||
|
@ -131,9 +133,18 @@ static const int kMaxTitleLength = 20;
|
||||||
PRUnichar *text;
|
PRUnichar *text;
|
||||||
entry->GetTitle(&text);
|
entry->GetTitle(&text);
|
||||||
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
||||||
|
|
||||||
|
// if the title is too long, crop it in the middle
|
||||||
if ([title length] > kMaxTitleLength) {
|
if ([title length] > kMaxTitleLength) {
|
||||||
|
NSMutableString *croppedTitle = [NSMutableString stringWithCapacity:kMaxTitleLength+[kEllipsis length]];
|
||||||
|
int len1 = kMaxTitleLength/2;
|
||||||
|
int len2 = kMaxTitleLength - len1;
|
||||||
|
NSString *part1 = [title substringWithRange:NSMakeRange(0, len1)];
|
||||||
|
NSString *part2 = [title substringWithRange:NSMakeRange([title length]-len2, len2)];
|
||||||
|
[croppedTitle appendString:part1];
|
||||||
|
[croppedTitle appendString:kEllipsis];
|
||||||
|
[croppedTitle appendString:part2];
|
||||||
|
title = croppedTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
mButtons = [[NSMutableArray alloc] init];
|
mButtons = [[NSMutableArray alloc] init];
|
||||||
mDragInsertionButton = nil;
|
mDragInsertionButton = nil;
|
||||||
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
||||||
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", nil]];
|
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", NSStringPboardType, nil]];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -284,10 +284,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*src=(null)
|
||||||
|
pasteboard=CFPasteboardUnique-11c50e715b
|
||||||
|
types=(
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0000",
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0001",
|
||||||
|
"CorePasteboardFlavorType 0x75747874",
|
||||||
|
"NeXT plain ascii pasteboard type",
|
||||||
|
"CorePasteboardFlavorType 0x54455854",
|
||||||
|
"Apple CorePasteboard Fallback Text Script",
|
||||||
|
"CorePasteboardFlavorType 0x4D4F5A6D",
|
||||||
|
NSStringPboardType,
|
||||||
|
NSStringPboardType
|
||||||
|
)
|
||||||
|
op=Copy Link Generic Private Move Delete
|
||||||
|
*/
|
||||||
// NSDraggingDestination ///////////
|
// NSDraggingDestination ///////////
|
||||||
|
|
||||||
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
return NSDragOperationGeneric;
|
return NSDragOperationGeneric;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,6 +335,9 @@
|
||||||
|
|
||||||
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
|
NSString *value = [[sender draggingPasteboard] stringForType:@"CorePasteboardFlavorType 0x4D4F5A6D"];
|
||||||
|
NSLog(@"*** DROP %s",[value cString]);
|
||||||
|
|
||||||
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
||||||
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
||||||
mDragInsertionPosition);
|
mDragInsertionPosition);
|
||||||
|
|
|
@ -38,7 +38,9 @@ static const int kDividerTag = 4000;
|
||||||
// the maximum number of history entry menuitems to display
|
// the maximum number of history entry menuitems to display
|
||||||
static const int kMaxItems = 15;
|
static const int kMaxItems = 15;
|
||||||
// the maximum number of characters in a menu title before cropping it
|
// the maximum number of characters in a menu title before cropping it
|
||||||
static const int kMaxTitleLength = 20;
|
static const unsigned int kMaxTitleLength = 60;
|
||||||
|
// the ellipsis string to insert into cropped strings
|
||||||
|
static const NSString *kEllipsis = @"...";
|
||||||
|
|
||||||
@implementation CHGoMenu
|
@implementation CHGoMenu
|
||||||
|
|
||||||
|
@ -131,9 +133,18 @@ static const int kMaxTitleLength = 20;
|
||||||
PRUnichar *text;
|
PRUnichar *text;
|
||||||
entry->GetTitle(&text);
|
entry->GetTitle(&text);
|
||||||
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
||||||
|
|
||||||
|
// if the title is too long, crop it in the middle
|
||||||
if ([title length] > kMaxTitleLength) {
|
if ([title length] > kMaxTitleLength) {
|
||||||
|
NSMutableString *croppedTitle = [NSMutableString stringWithCapacity:kMaxTitleLength+[kEllipsis length]];
|
||||||
|
int len1 = kMaxTitleLength/2;
|
||||||
|
int len2 = kMaxTitleLength - len1;
|
||||||
|
NSString *part1 = [title substringWithRange:NSMakeRange(0, len1)];
|
||||||
|
NSString *part2 = [title substringWithRange:NSMakeRange([title length]-len2, len2)];
|
||||||
|
[croppedTitle appendString:part1];
|
||||||
|
[croppedTitle appendString:kEllipsis];
|
||||||
|
[croppedTitle appendString:part2];
|
||||||
|
title = croppedTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
mButtons = [[NSMutableArray alloc] init];
|
mButtons = [[NSMutableArray alloc] init];
|
||||||
mDragInsertionButton = nil;
|
mDragInsertionButton = nil;
|
||||||
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
||||||
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", nil]];
|
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", NSStringPboardType, nil]];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -284,10 +284,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*src=(null)
|
||||||
|
pasteboard=CFPasteboardUnique-11c50e715b
|
||||||
|
types=(
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0000",
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0001",
|
||||||
|
"CorePasteboardFlavorType 0x75747874",
|
||||||
|
"NeXT plain ascii pasteboard type",
|
||||||
|
"CorePasteboardFlavorType 0x54455854",
|
||||||
|
"Apple CorePasteboard Fallback Text Script",
|
||||||
|
"CorePasteboardFlavorType 0x4D4F5A6D",
|
||||||
|
NSStringPboardType,
|
||||||
|
NSStringPboardType
|
||||||
|
)
|
||||||
|
op=Copy Link Generic Private Move Delete
|
||||||
|
*/
|
||||||
// NSDraggingDestination ///////////
|
// NSDraggingDestination ///////////
|
||||||
|
|
||||||
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
return NSDragOperationGeneric;
|
return NSDragOperationGeneric;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,6 +335,9 @@
|
||||||
|
|
||||||
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
|
NSString *value = [[sender draggingPasteboard] stringForType:@"CorePasteboardFlavorType 0x4D4F5A6D"];
|
||||||
|
NSLog(@"*** DROP %s",[value cString]);
|
||||||
|
|
||||||
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
||||||
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
||||||
mDragInsertionPosition);
|
mDragInsertionPosition);
|
||||||
|
|
|
@ -38,7 +38,9 @@ static const int kDividerTag = 4000;
|
||||||
// the maximum number of history entry menuitems to display
|
// the maximum number of history entry menuitems to display
|
||||||
static const int kMaxItems = 15;
|
static const int kMaxItems = 15;
|
||||||
// the maximum number of characters in a menu title before cropping it
|
// the maximum number of characters in a menu title before cropping it
|
||||||
static const int kMaxTitleLength = 20;
|
static const unsigned int kMaxTitleLength = 60;
|
||||||
|
// the ellipsis string to insert into cropped strings
|
||||||
|
static const NSString *kEllipsis = @"...";
|
||||||
|
|
||||||
@implementation CHGoMenu
|
@implementation CHGoMenu
|
||||||
|
|
||||||
|
@ -131,9 +133,18 @@ static const int kMaxTitleLength = 20;
|
||||||
PRUnichar *text;
|
PRUnichar *text;
|
||||||
entry->GetTitle(&text);
|
entry->GetTitle(&text);
|
||||||
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
||||||
|
|
||||||
|
// if the title is too long, crop it in the middle
|
||||||
if ([title length] > kMaxTitleLength) {
|
if ([title length] > kMaxTitleLength) {
|
||||||
|
NSMutableString *croppedTitle = [NSMutableString stringWithCapacity:kMaxTitleLength+[kEllipsis length]];
|
||||||
|
int len1 = kMaxTitleLength/2;
|
||||||
|
int len2 = kMaxTitleLength - len1;
|
||||||
|
NSString *part1 = [title substringWithRange:NSMakeRange(0, len1)];
|
||||||
|
NSString *part2 = [title substringWithRange:NSMakeRange([title length]-len2, len2)];
|
||||||
|
[croppedTitle appendString:part1];
|
||||||
|
[croppedTitle appendString:kEllipsis];
|
||||||
|
[croppedTitle appendString:part2];
|
||||||
|
title = croppedTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
||||||
|
|
|
@ -35,7 +35,7 @@
|
||||||
mButtons = [[NSMutableArray alloc] init];
|
mButtons = [[NSMutableArray alloc] init];
|
||||||
mDragInsertionButton = nil;
|
mDragInsertionButton = nil;
|
||||||
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
mDragInsertionPosition = BookmarksService::CHInsertNone;
|
||||||
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", nil]];
|
[self registerForDraggedTypes:[NSArray arrayWithObjects:@"MozURLType", @"MozBookmarkType", NSStringPboardType, nil]];
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -284,10 +284,25 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*src=(null)
|
||||||
|
pasteboard=CFPasteboardUnique-11c50e715b
|
||||||
|
types=(
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0000",
|
||||||
|
"CorePasteboardFlavorType 0x4D5A0001",
|
||||||
|
"CorePasteboardFlavorType 0x75747874",
|
||||||
|
"NeXT plain ascii pasteboard type",
|
||||||
|
"CorePasteboardFlavorType 0x54455854",
|
||||||
|
"Apple CorePasteboard Fallback Text Script",
|
||||||
|
"CorePasteboardFlavorType 0x4D4F5A6D",
|
||||||
|
NSStringPboardType,
|
||||||
|
NSStringPboardType
|
||||||
|
)
|
||||||
|
op=Copy Link Generic Private Move Delete
|
||||||
|
*/
|
||||||
// NSDraggingDestination ///////////
|
// NSDraggingDestination ///////////
|
||||||
|
|
||||||
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
- (unsigned int)draggingEntered:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
return NSDragOperationGeneric;
|
return NSDragOperationGeneric;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -320,6 +335,9 @@
|
||||||
|
|
||||||
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
- (BOOL)performDragOperation:(id <NSDraggingInfo>)sender
|
||||||
{
|
{
|
||||||
|
NSString *value = [[sender draggingPasteboard] stringForType:@"CorePasteboardFlavorType 0x4D4F5A6D"];
|
||||||
|
NSLog(@"*** DROP %s",[value cString]);
|
||||||
|
|
||||||
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
BookmarksService::CompleteBookmarkDrag([sender draggingPasteboard], BookmarksService::gToolbarRoot,
|
||||||
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
mDragInsertionButton ? [mDragInsertionButton element] : nil,
|
||||||
mDragInsertionPosition);
|
mDragInsertionPosition);
|
||||||
|
|
|
@ -38,7 +38,9 @@ static const int kDividerTag = 4000;
|
||||||
// the maximum number of history entry menuitems to display
|
// the maximum number of history entry menuitems to display
|
||||||
static const int kMaxItems = 15;
|
static const int kMaxItems = 15;
|
||||||
// the maximum number of characters in a menu title before cropping it
|
// the maximum number of characters in a menu title before cropping it
|
||||||
static const int kMaxTitleLength = 20;
|
static const unsigned int kMaxTitleLength = 60;
|
||||||
|
// the ellipsis string to insert into cropped strings
|
||||||
|
static const NSString *kEllipsis = @"...";
|
||||||
|
|
||||||
@implementation CHGoMenu
|
@implementation CHGoMenu
|
||||||
|
|
||||||
|
@ -131,9 +133,18 @@ static const int kMaxTitleLength = 20;
|
||||||
PRUnichar *text;
|
PRUnichar *text;
|
||||||
entry->GetTitle(&text);
|
entry->GetTitle(&text);
|
||||||
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
NSString* title = [NSString stringWithCharacters: text length: nsCRT::strlen(text)];
|
||||||
|
|
||||||
|
// if the title is too long, crop it in the middle
|
||||||
if ([title length] > kMaxTitleLength) {
|
if ([title length] > kMaxTitleLength) {
|
||||||
|
NSMutableString *croppedTitle = [NSMutableString stringWithCapacity:kMaxTitleLength+[kEllipsis length]];
|
||||||
|
int len1 = kMaxTitleLength/2;
|
||||||
|
int len2 = kMaxTitleLength - len1;
|
||||||
|
NSString *part1 = [title substringWithRange:NSMakeRange(0, len1)];
|
||||||
|
NSString *part2 = [title substringWithRange:NSMakeRange([title length]-len2, len2)];
|
||||||
|
[croppedTitle appendString:part1];
|
||||||
|
[croppedTitle appendString:kEllipsis];
|
||||||
|
[croppedTitle appendString:part2];
|
||||||
|
title = croppedTitle;
|
||||||
}
|
}
|
||||||
|
|
||||||
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
NSMenuItem *newItem = [self addItemWithTitle:title action:@selector(historyItemAction:) keyEquivalent:@""];
|
||||||
|
|
Загрузка…
Ссылка в новой задаче