mirror of
https://github.com/transmission/transmission
synced 2024-12-26 09:37:56 +00:00
in the groups popup in the add window, have an option to show the groups window
This commit is contained in:
parent
57bc23edc5
commit
fac74ffd7b
4 changed files with 576 additions and 459 deletions
|
@ -43,6 +43,7 @@
|
||||||
NSString * fDestination;
|
NSString * fDestination;
|
||||||
|
|
||||||
BOOL fDeleteTorrent, fDeleteEnable;
|
BOOL fDeleteTorrent, fDeleteEnable;
|
||||||
|
int fGroupValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id) initWithTorrent: (Torrent *) torrent destination: (NSString *) path controller: (Controller *) controller
|
- (id) initWithTorrent: (Torrent *) torrent destination: (NSString *) path controller: (Controller *) controller
|
||||||
|
@ -56,5 +57,6 @@
|
||||||
- (void) cancelAdd: (id) sender;
|
- (void) cancelAdd: (id) sender;
|
||||||
|
|
||||||
- (void) updateGroupMenu: (NSNotification *) notification;
|
- (void) updateGroupMenu: (NSNotification *) notification;
|
||||||
|
- (void) showGroupsWindow: (id) sender;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -26,11 +26,14 @@
|
||||||
#import "Controller.h"
|
#import "Controller.h"
|
||||||
#import "GroupsWindowController.h"
|
#import "GroupsWindowController.h"
|
||||||
#import "NSStringAdditions.h"
|
#import "NSStringAdditions.h"
|
||||||
|
#import "NSMenuAdditions.h"
|
||||||
#import "ExpandedPathToIconTransformer.h"
|
#import "ExpandedPathToIconTransformer.h"
|
||||||
|
|
||||||
@interface AddWindowController (Private)
|
@interface AddWindowController (Private)
|
||||||
|
|
||||||
- (void) folderChoiceClosed: (NSOpenPanel *) openPanel returnCode: (int) code contextInfo: (void *) contextInfo;
|
- (void) folderChoiceClosed: (NSOpenPanel *) openPanel returnCode: (int) code contextInfo: (void *) contextInfo;
|
||||||
|
- (void) setGroupsMenu;
|
||||||
|
- (void) changeGroupValue: (id) sender;
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
|
@ -50,6 +53,8 @@
|
||||||
fDeleteTorrent = deleteTorrent == TORRENT_FILE_DELETE || (deleteTorrent == TORRENT_FILE_DEFAULT
|
fDeleteTorrent = deleteTorrent == TORRENT_FILE_DELETE || (deleteTorrent == TORRENT_FILE_DEFAULT
|
||||||
&& [[NSUserDefaults standardUserDefaults] boolForKey: @"DeleteOriginalTorrent"]);
|
&& [[NSUserDefaults standardUserDefaults] boolForKey: @"DeleteOriginalTorrent"]);
|
||||||
fDeleteEnable = deleteTorrent == TORRENT_FILE_DEFAULT;
|
fDeleteEnable = deleteTorrent == TORRENT_FILE_DEFAULT;
|
||||||
|
|
||||||
|
fGroupValue = -1;
|
||||||
}
|
}
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
@ -85,7 +90,8 @@
|
||||||
}
|
}
|
||||||
[fStatusField setStringValue: statusString];
|
[fStatusField setStringValue: statusString];
|
||||||
|
|
||||||
[fGroupPopUp setMenu: [[GroupsWindowController groups] groupMenuWithTarget: nil action: NULL isSmall: NO]];
|
[self setGroupsMenu];
|
||||||
|
[fGroupPopUp selectItemWithTag: -1];
|
||||||
|
|
||||||
[fStartCheck setState: [[NSUserDefaults standardUserDefaults] boolForKey: @"AutoStartDownload"] ? NSOnState : NSOffState];
|
[fStartCheck setState: [[NSUserDefaults standardUserDefaults] boolForKey: @"AutoStartDownload"] ? NSOnState : NSOffState];
|
||||||
|
|
||||||
|
@ -164,11 +170,18 @@
|
||||||
|
|
||||||
- (void) updateGroupMenu: (NSNotification *) notification
|
- (void) updateGroupMenu: (NSNotification *) notification
|
||||||
{
|
{
|
||||||
#warning add option to go to group window
|
[self setGroupsMenu];
|
||||||
|
if (![fGroupPopUp selectItemWithTag: fGroupValue])
|
||||||
int groupValue = [[fGroupPopUp selectedItem] tag];
|
{
|
||||||
[fGroupPopUp setMenu: [[GroupsWindowController groups] groupMenuWithTarget: nil action: NULL isSmall: NO]];
|
fGroupValue = -1;
|
||||||
[fGroupPopUp selectItemWithTag: groupValue];
|
[fGroupPopUp selectItemWithTag: fGroupValue];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) showGroupsWindow: (id) sender
|
||||||
|
{
|
||||||
|
[fGroupPopUp selectItemWithTag: fGroupValue];
|
||||||
|
[fController showGroups: sender];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void) mouseMoved: (NSEvent *) event
|
- (void) mouseMoved: (NSEvent *) event
|
||||||
|
@ -205,4 +218,22 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
- (void) setGroupsMenu
|
||||||
|
{
|
||||||
|
NSMenu * menu = [fGroupPopUp menu];
|
||||||
|
|
||||||
|
int i;
|
||||||
|
for (i = [menu numberOfItems]-1 - 2; i >= 0; i--)
|
||||||
|
[menu removeItemAtIndex: i];
|
||||||
|
|
||||||
|
NSMenu * groupMenu = [[GroupsWindowController groups] groupMenuWithTarget: self action: @selector(changeGroupValue:) isSmall: NO];
|
||||||
|
[menu appendItemsFromMenu: groupMenu atIndexes: [NSIndexSet indexSetWithIndexesInRange:
|
||||||
|
NSMakeRange(0, [groupMenu numberOfItems])] atBottom: NO];
|
||||||
|
}
|
||||||
|
|
||||||
|
- (void) changeGroupValue: (id) sender
|
||||||
|
{
|
||||||
|
fGroupValue = [sender tag];
|
||||||
|
}
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
|
@ -798,8 +798,6 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
||||||
|
|
||||||
- (void) askOpenConfirmed: (AddWindowController *) addController add: (BOOL) add
|
- (void) askOpenConfirmed: (AddWindowController *) addController add: (BOOL) add
|
||||||
{
|
{
|
||||||
[addController close];
|
|
||||||
|
|
||||||
Torrent * torrent = [addController torrent];
|
Torrent * torrent = [addController torrent];
|
||||||
if (add)
|
if (add)
|
||||||
{
|
{
|
||||||
|
@ -2055,8 +2053,8 @@ void sleepCallBack(void * controller, io_service_t y, natural_t messageType, voi
|
||||||
{
|
{
|
||||||
if (menu == fGroupsSetMenu || menu == fGroupsSetContextMenu)
|
if (menu == fGroupsSetMenu || menu == fGroupsSetContextMenu)
|
||||||
{
|
{
|
||||||
int i, keep = (menu == fGroupsSetMenu || menu == fGroupsSetContextMenu) ? 2 : 0;
|
int i;
|
||||||
for (i = [menu numberOfItems]-1 - keep; i >= 0; i--)
|
for (i = [menu numberOfItems]-1 - 2; i >= 0; i--)
|
||||||
[menu removeItemAtIndex: i];
|
[menu removeItemAtIndex: i];
|
||||||
|
|
||||||
NSMenu * groupMenu = [[GroupsWindowController groups] groupMenuWithTarget: self action: @selector(setGroup:) isSmall: NO];
|
NSMenu * groupMenu = [[GroupsWindowController groups] groupMenuWithTarget: self action: @selector(setGroup:) isSmall: NO];
|
||||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue