mirror of
https://github.com/arsenetar/dupeguru-cocoa.git
synced 2026-01-27 09:01:39 +00:00
Un-xibless-ified ResultWindow
This commit is contained in:
@@ -1,30 +0,0 @@
|
||||
ownerclass = 'IgnoreListDialog'
|
||||
ownerimport = 'IgnoreListDialog.h'
|
||||
|
||||
result = Window(550, 350, "Ignore List")
|
||||
table = TableView(result)
|
||||
removeSelectedButton = Button(result, "Remove Selected")
|
||||
clearButton = Button(result, "Clear")
|
||||
closeButton = Button(result, "Close")
|
||||
|
||||
owner.ignoreListTableView = table
|
||||
|
||||
result.canMinimize = False
|
||||
removeSelectedButton.action = Action(owner.model, 'removeSelected')
|
||||
clearButton.action = Action(owner.model, 'clear')
|
||||
closeButton.action = Action(result, 'performClose:')
|
||||
closeButton.keyEquivalent = '\\r'
|
||||
table.allowsColumnReordering = False
|
||||
table.allowsColumnSelection = False
|
||||
table.allowsMultipleSelection = True
|
||||
|
||||
removeSelectedButton.width = 142
|
||||
clearButton.width = 142
|
||||
closeButton.width = 84
|
||||
buttonLayout = HLayout([removeSelectedButton, clearButton, None, closeButton])
|
||||
buttonLayout.packToCorner(Pack.LowerLeft)
|
||||
buttonLayout.fill(Pack.Right)
|
||||
buttonLayout.setAnchor(Pack.Below)
|
||||
table.packRelativeTo(buttonLayout, Pack.Above)
|
||||
table.fill(Pack.UpperRight)
|
||||
table.setAnchor(Pack.UpperLeft, growX=True, growY=True)
|
||||
@@ -25,7 +25,7 @@ appMenu.addItem("Quit dupeGuru", Action(NSApp, 'terminate:'), 'cmd+q')
|
||||
|
||||
fileMenu.addItem("Load Results...", Action(None, 'loadResults'), 'cmd+o')
|
||||
owner.recentResultsMenu = fileMenu.addMenu("Load Recent Results")
|
||||
fileMenu.addItem("Save Results...", Action(None, 'saveResults'), 'cmd+s')
|
||||
fileMenu.addItem("Save Results...", Action(None, 'saveResults:'), 'cmd+s')
|
||||
fileMenu.addItem("Export Results to XHTML", Action(owner.model, 'exportToXHTML'), 'cmd+shift+e')
|
||||
fileMenu.addItem("Export Results to CSV", Action(owner.model, 'exportToCSV'))
|
||||
fileMenu.addItem("Clear Picture Cache", Action(owner, 'clearPictureCache'), 'cmd+shift+p')
|
||||
@@ -39,35 +39,35 @@ editMenu.addItem("Cut", Action(None, 'cut:'), 'cmd+x')
|
||||
editMenu.addItem("Copy", Action(None, 'copy:'), 'cmd+c')
|
||||
editMenu.addItem("Paste", Action(None, 'paste:'), 'cmd+v')
|
||||
editMenu.addSeparator()
|
||||
editMenu.addItem("Filter Results...", Action(None, 'focusOnFilterField'), 'cmd+alt+f')
|
||||
editMenu.addItem("Filter Results...", Action(None, 'focusOnFilterField:'), 'cmd+alt+f')
|
||||
|
||||
actionMenu.addItem("Start Duplicate Scan", Action(owner, 'startScanning'), 'cmd+d')
|
||||
actionMenu.addSeparator()
|
||||
actionMenu.addItem("Send Marked to Trash...", Action(None, 'trashMarked'), 'cmd+t')
|
||||
actionMenu.addItem("Move Marked to...", Action(None, 'moveMarked'), 'cmd+m')
|
||||
actionMenu.addItem("Copy Marked to...", Action(None, 'copyMarked'), 'cmd+alt+m')
|
||||
actionMenu.addItem("Remove Marked from Results", Action(None, 'removeMarked'), 'cmd+r')
|
||||
actionMenu.addItem("Re-Prioritize Results...", Action(None, 'reprioritizeResults'))
|
||||
actionMenu.addItem("Send Marked to Trash...", Action(None, 'trashMarked:'), 'cmd+t')
|
||||
actionMenu.addItem("Move Marked to...", Action(None, 'moveMarked:'), 'cmd+m')
|
||||
actionMenu.addItem("Copy Marked to...", Action(None, 'copyMarked:'), 'cmd+alt+m')
|
||||
actionMenu.addItem("Remove Marked from Results", Action(None, 'removeMarked:'), 'cmd+r')
|
||||
actionMenu.addItem("Re-Prioritize Results...", Action(None, 'reprioritizeResults:'))
|
||||
actionMenu.addSeparator()
|
||||
actionMenu.addItem("Remove Selected from Results", Action(None, 'removeSelected'), 'cmd+backspace')
|
||||
actionMenu.addItem("Add Selected to Ignore List", Action(None, 'ignoreSelected'), 'cmd+g')
|
||||
actionMenu.addItem("Make Selected into Reference", Action(None, 'switchSelected'), 'cmd+arrowup')
|
||||
actionMenu.addItem("Remove Selected from Results", Action(None, 'removeSelected:'), 'cmd+backspace')
|
||||
actionMenu.addItem("Add Selected to Ignore List", Action(None, 'ignoreSelected:'), 'cmd+g')
|
||||
actionMenu.addItem("Make Selected into Reference", Action(None, 'switchSelected:'), 'cmd+arrowup')
|
||||
actionMenu.addSeparator()
|
||||
actionMenu.addItem("Open Selected with Default Application", Action(None, 'openSelected'), 'cmd+return')
|
||||
actionMenu.addItem("Reveal Selected in Finder", Action(None, 'revealSelected'), 'cmd+alt+return')
|
||||
actionMenu.addItem("Invoke Custom Command", Action(None, 'invokeCustomCommand'), 'cmd+shift+c')
|
||||
actionMenu.addItem("Rename Selected", Action(None, 'renameSelected'), 'enter')
|
||||
actionMenu.addItem("Open Selected with Default Application", Action(None, 'openSelected:'), 'cmd+return')
|
||||
actionMenu.addItem("Reveal Selected in Finder", Action(None, 'revealSelected:'), 'cmd+alt+return')
|
||||
actionMenu.addItem("Invoke Custom Command", Action(None, 'invokeCustomCommand:'), 'cmd+shift+c')
|
||||
actionMenu.addItem("Rename Selected", Action(None, 'renameSelected:'), 'enter')
|
||||
|
||||
modeMenu.addItem("Show Dupes Only", Action(None, 'togglePowerMarker'), 'cmd+1')
|
||||
modeMenu.addItem("Show Delta Values", Action(None, 'toggleDelta'), 'cmd+2')
|
||||
modeMenu.addItem("Show Dupes Only", Action(None, 'togglePowerMarker:'), 'cmd+1')
|
||||
modeMenu.addItem("Show Delta Values", Action(None, 'toggleDelta:'), 'cmd+2')
|
||||
|
||||
windowMenu.addItem("Results Window", Action(owner, 'showResultWindow'))
|
||||
windowMenu.addItem("Folder Selection Window", Action(owner, 'showDirectoryWindow'))
|
||||
windowMenu.addItem("Ignore List", Action(owner, 'showIgnoreList'))
|
||||
windowMenu.addItem("Details Panel", Action(None, 'toggleDetailsPanel'), 'cmd+i')
|
||||
windowMenu.addItem("Quick Look", Action(None, 'toggleQuicklookPanel'), 'cmd+l')
|
||||
windowMenu.addItem("Details Panel", Action(None, 'toggleDetailsPanel:'), 'cmd+i')
|
||||
windowMenu.addItem("Quick Look", Action(None, 'toggleQuicklookPanel:'), 'cmd+l')
|
||||
windowMenu.addSeparator()
|
||||
windowMenu.addItem("Minimize", Action(None, 'performMinimize:'))
|
||||
windowMenu.addItem("Minimize", Action(None, 'performMiniaturize:'))
|
||||
windowMenu.addItem("Zoom", Action(None, 'performZoom:'))
|
||||
windowMenu.addItem("Close Window", Action(None, 'performClose:'), 'cmd+w')
|
||||
windowMenu.addSeparator()
|
||||
|
||||
@@ -1,97 +0,0 @@
|
||||
ownerclass = 'ResultWindow'
|
||||
ownerimport = 'ResultWindow.h'
|
||||
|
||||
result = Window(557, 400, "dupeGuru Results")
|
||||
toolbar = result.createToolbar('ResultsToolbar')
|
||||
table = TableView(result)
|
||||
table.OBJC_CLASS = 'HSTableView'
|
||||
statsLabel = Label(result, "")
|
||||
contextMenu = Menu("")
|
||||
|
||||
#Setup toolbar items
|
||||
toolbar.displayMode = const.NSToolbarDisplayModeIconOnly
|
||||
directoriesToolItem = toolbar.addItem('Directories', "Directories", image='folder32')
|
||||
actionToolItem = toolbar.addItem('Action', "Action")
|
||||
filterToolItem = toolbar.addItem('Filter', "Filter")
|
||||
optionsToolItem = toolbar.addItem('Options', "Options")
|
||||
quicklookToolItem = toolbar.addItem('QuickLook', "Quick Look")
|
||||
toolbar.defaultItems = [actionToolItem, optionsToolItem, quicklookToolItem, directoriesToolItem,
|
||||
toolbar.flexibleSpace(), filterToolItem]
|
||||
actionPopup = Popup(None)
|
||||
actionPopup.pullsdown = True
|
||||
actionPopup.bezelStyle = const.NSTexturedRoundedBezelStyle
|
||||
actionPopup.arrowPosition = const.NSPopUpArrowAtBottom
|
||||
item = actionPopup.menu.addItem("") # First item is invisible
|
||||
item.hidden = True
|
||||
item.image = 'NSActionTemplate'
|
||||
actionPopup.width = 44
|
||||
actionToolItem.view = actionPopup
|
||||
filterField = SearchField(None, "Filter")
|
||||
filterField.action = Action(owner, 'filter')
|
||||
filterField.sendsWholeSearchString = True
|
||||
filterToolItem.view = filterField
|
||||
filterToolItem.minSize = Size(80, 22)
|
||||
filterToolItem.maxSize = Size(300, 22)
|
||||
quickLookButton = Button(None, "")
|
||||
quickLookButton.bezelStyle = const.NSTexturedRoundedBezelStyle
|
||||
quickLookButton.image = 'NSQuickLookTemplate'
|
||||
quickLookButton.width = 44
|
||||
quickLookButton.action = Action(owner, 'toggleQuicklookPanel')
|
||||
quicklookToolItem.view = quickLookButton
|
||||
optionsSegments = SegmentedControl(None)
|
||||
optionsSegments.segmentStyle = const.NSSegmentStyleCapsule
|
||||
optionsSegments.trackingMode = const.NSSegmentSwitchTrackingSelectAny
|
||||
optionsSegments.font = Font(FontFamily.System, 11)
|
||||
optionsSegments.addSegment("Details", 57)
|
||||
optionsSegments.addSegment("Dupes Only", 82)
|
||||
optionsSegments.addSegment("Delta", 48)
|
||||
optionsSegments.action = Action(owner, 'changeOptions')
|
||||
optionsToolItem.view = optionsSegments
|
||||
|
||||
# Popuplate menus
|
||||
actionPopup.menu.addItem("Send Marked to Trash...", action=Action(owner, 'trashMarked'))
|
||||
actionPopup.menu.addItem("Move Marked to...", action=Action(owner, 'moveMarked'))
|
||||
actionPopup.menu.addItem("Copy Marked to...", action=Action(owner, 'copyMarked'))
|
||||
actionPopup.menu.addItem("Remove Marked from Results", action=Action(owner, 'removeMarked'))
|
||||
actionPopup.menu.addSeparator()
|
||||
for menu in (actionPopup.menu, contextMenu):
|
||||
menu.addItem("Remove Selected from Results", action=Action(owner, 'removeSelected'))
|
||||
menu.addItem("Add Selected to Ignore List", action=Action(owner, 'ignoreSelected'))
|
||||
menu.addItem("Make Selected into Reference", action=Action(owner, 'switchSelected'))
|
||||
menu.addSeparator()
|
||||
menu.addItem("Open Selected with Default Application", action=Action(owner, 'openSelected'))
|
||||
menu.addItem("Reveal Selected in Finder", action=Action(owner, 'revealSelected'))
|
||||
menu.addItem("Rename Selected", action=Action(owner, 'renameSelected'))
|
||||
|
||||
# Doing connections
|
||||
owner.filterField = filterField
|
||||
owner.matches = table
|
||||
owner.optionsSwitch = optionsSegments
|
||||
owner.optionsToolbarItem = optionsToolItem
|
||||
owner.stats = statsLabel
|
||||
table.bind('rowHeight', defaults, 'values.TableFontSize', valueTransformer='vtRowHeightOffset')
|
||||
|
||||
# Rest of the setup
|
||||
result.minSize = Size(340, 340)
|
||||
result.autosaveName = 'MainWindow'
|
||||
statsLabel.alignment = TextAlignment.Center
|
||||
table.alternatingRows = True
|
||||
table.menu = contextMenu
|
||||
table.allowsColumnReordering = True
|
||||
table.allowsColumnResizing = True
|
||||
table.allowsColumnSelection = False
|
||||
table.allowsEmptySelection = False
|
||||
table.allowsMultipleSelection = True
|
||||
table.allowsTypeSelect = True
|
||||
table.gridStyleMask = const.NSTableViewSolidHorizontalGridLineMask
|
||||
table.setAnchor(Pack.UpperLeft, growX=True, growY=True)
|
||||
statsLabel.setAnchor(Pack.LowerLeft, growX=True)
|
||||
|
||||
# Layout
|
||||
# It's a little weird to pack with a margin of -1, but if I don't do that, I get too thick of a
|
||||
# border on the upper side of the table.
|
||||
table.packToCorner(Pack.UpperLeft, margin=-1)
|
||||
table.fill(Pack.Right, margin=0)
|
||||
statsLabel.packRelativeTo(table, Pack.Below, margin=6)
|
||||
statsLabel.fill(Pack.Right, margin=0)
|
||||
table.fill(Pack.Below, margin=5)
|
||||
Reference in New Issue
Block a user