diff --git a/Support/environment.rb b/Support/environment.rb index a47a953..05e3808 100644 --- a/Support/environment.rb +++ b/Support/environment.rb @@ -130,6 +130,31 @@ def update_pbfind(search) IO.popen('pbcopy -pboard find', 'w') {|pbcopy| pbcopy.write @pbfind} end + # read file type filter + def search_filetype_filter + + unless @search_filetype_filter + filetype_filter_command = "defaults read com.macromates.textmate fileTypeString 2>/dev/null" + @search_filetype_filter = OSX::PropertyList::load(Base64.decode64(%x{#{filetype_filter_command}})) + end + + @search_filetype_filter + + rescue + @search_filetype_filter = [] # oh the humanity! + end + + # update file type filter + def update_search_filetype_filter(filetype_filter) + search_filetype_filter = filetype_filter + + filter_history = Base64.encode64(search_filetype_filter.to_plist) + + history_command = %Q|defaults write com.macromates.textmate fileTypeString -string #{e_sh filter_history} 2>/dev/null| + %x{#{history_command}} + rescue + end + end end diff --git a/Support/lib/search.rb b/Support/lib/search.rb index 1365f0e..5b048d1 100644 --- a/Support/lib/search.rb +++ b/Support/lib/search.rb @@ -4,7 +4,7 @@ class AckInProject::Search include AckInProject::Environment AckInProject::Environment.ghetto_include %w(escape), binding - attr_accessor :plist, :current_file, :lines_matched, :files_matched + attr_accessor :plist, :current_file, :lines_matched, :files_matched, :filter def initialize(plist) self.plist = plist; @@ -79,6 +79,7 @@ def scrub(content) def prepare_search # TODO: bail if the search term is empty result = plist['result'] + fileTypes = result['fileTypeString'].split(',') if result['fileTypeString'] options = %w(--group --color --flush) options << '-w' if result['matchWholeWords'] == 1 @@ -87,13 +88,37 @@ def prepare_search options << '-C' if result['showContext'] == 1 options << "--#{result['followSymLinks'] == 1 ? '' : 'no'}follow" options << "--#{result['loadAckRC'] == 1 ? '' : 'no'}env" + + # add file type filters + self.filter = "" + if result['fileTypeString'] + fileTypes.each do |f| + f = f.gsub(/\s+/, "") + f = parse_filters(f) + # options << "#{f}" if f != self.filter + end + end + + options << "-G '#{self.filter[0..self.filter.length-2]}'" if self.filter != "" AckInProject.update_search_history result['returnArgument'] AckInProject.update_pbfind result['returnArgument'] + AckInProject.update_search_filetype_filter result['fileTypeString'] || '' %{cd #{e_sh search_directory}; #{e_sh ack} #{options.join(' ')} -- #{e_sh result['returnArgument']}} end + # check to see it's a big filter or small filter + # update: only support small filter + # TODO: add more types support + def parse_filters(filter) + # if ['ruby', 'shell', 'rake', 'php', 'html', 'xml', 'yaml'].include?(filter) + # " --#{filter} " + # else + self.filter << "\\.#{filter}$|" + # end + end + def search # tell ack about potential .ackrc files in the project directory ENV['ACKRC'] = File.join(project_directory, '.ackrc') diff --git a/Support/lib/search_dialog.rb b/Support/lib/search_dialog.rb index aef8234..3e78815 100644 --- a/Support/lib/search_dialog.rb +++ b/Support/lib/search_dialog.rb @@ -9,6 +9,7 @@ def show(&block) command = %Q{#{TM_DIALOG} -cm -p #{e_sh params.to_plist} -d #{e_sh defaults.to_plist} #{e_sh nib_file('AckInProjectSearch.nib')}} plist = OSX::PropertyList::load(%x{#{command}}) + if plist['result'] block.call(plist) end @@ -26,8 +27,10 @@ def defaults def params history = AckInProject.search_history + filetype_filter = AckInProject.search_filetype_filter { - #'contentHeight' => 168, + #'contentHeight' => 150, + 'fileTypeString' => filetype_filter, 'ackExpression' => AckInProject.pbfind, 'ackHistory' => history } diff --git a/Support/nibs/AckInProjectSearch.nib/classes.nib b/Support/nibs/AckInProjectSearch.nib/classes.nib deleted file mode 100644 index a731b33..0000000 --- a/Support/nibs/AckInProjectSearch.nib/classes.nib +++ /dev/null @@ -1,7 +0,0 @@ -{ - IBClasses = ( - {CLASS = FirstResponder; LANGUAGE = ObjC; SUPERCLASS = NSObject; }, - {ACTIONS = {performButtonClick = id; }; CLASS = NSObject; LANGUAGE = ObjC; } - ); - IBVersion = 1; -} \ No newline at end of file diff --git a/Support/nibs/AckInProjectSearch.nib/designable.nib b/Support/nibs/AckInProjectSearch.nib/designable.nib new file mode 100644 index 0000000..0b46d78 --- /dev/null +++ b/Support/nibs/AckInProjectSearch.nib/designable.nib @@ -0,0 +1,1575 @@ + + + + 1060 + 10K549 + 1306 + 1038.36 + 461.00 + + com.apple.InterfaceBuilder.CocoaPlugin + 1306 + + + NSUserDefaultsController + NSObjectController + NSComboBoxCell + NSButton + NSButtonCell + NSTextFieldCell + NSBox + NSComboBox + NSMatrix + NSCustomObject + NSCustomView + NSView + NSWindowTemplate + NSTextField + NSDrawer + + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + NSObject + + + FirstResponder + + + NSApplication + + + 3 + 2 + {{228, 753}, {501, 225}} + 1886912512 + Ack In Project + NSWindow + + View + + {502, 226} + {501, 225} + + + 256 + + + + 288 + {{405, 14}, {82, 32}} + + + + YES + + 67239424 + 134217728 + Find + + LucidaGrande + 13 + 1044 + + + -2038284033 + 1 + + + DQ + 200 + 25 + + + + + 272 + + + + 256 + + + + 264 + {{13, 131}, {75, 17}} + + + + YES + + 67239424 + 272629760 + RXhwcmVzc2lvbgo + + + + 6 + System + controlColor + + 3 + MC42NjY2NjY2NjY3AA + + + + 6 + System + controlTextColor + + 3 + MAA + + + + + + + 264 + {{93, 126}, {351, 26}} + + + + YES + + 343014976 + 272630784 + + + + + + YES + + 6 + System + textBackgroundColor + + 3 + MQA + + + + 10 + YES + + + + 274 + {15, 0} + + + YES + + + + 12 + 10 + 1000 + + 75628032 + 0 + + + LucidaGrande + 12 + 16 + + + 3 + MC4zMzMzMzI5OQA + + + + + 338820672 + 1024 + + + YES + + 6 + System + controlBackgroundColor + + + + + 3 + YES + + + + 3 + 2 + + + 6 + System + gridColor + + 3 + MC41AA + + + 19 + tableViewAction: + -767524864 + + + + 1 + 15 + 0 + YES + 0 + + + + + + -2147483392 + {{91, 103}, {217, 18}} + + + + YES + 1 + 2 + + + -2080244224 + 131072 + Search folder + + LucidaGrande + 11 + 3100 + + + 1211912703 + 0 + + NSRadioButton + + + + + + 200 + 25 + + + 67239424 + 131072 + Search project + + + 1211912703 + 0 + + + + 400 + 75 + + + {100, 18} + {17, 2} + 1143472128 + NSActionCell + + 67239424 + 0 + Radio + + 1211912703 + 0 + + 549453824 + {18, 18} + + + + + + TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw +IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ +29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 +dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA +AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG +AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ +0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ +7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ +5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ +3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD +AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns +AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ +6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ +/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ +///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl +YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA +AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD +AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu +AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB +AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES +AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS +AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA + + + + + + 3 + MCAwAA + + + + 400 + 75 + + + + + + + + + 288 + {{90, 81}, {92, 18}} + + + + YES + + 67239424 + 131072 + Literal match + + + 1211912703 + 2 + + NSSwitch + + + + 200 + 25 + + + + + 288 + {{208, 81}, {84, 18}} + + + + YES + + 67239424 + 131072 + Ignore case + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 288 + {{318, 81}, {125, 18}} + + + + YES + + 67239424 + 131072 + Match whole words + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 264 + {{13, 48}, {75, 17}} + + + + YES + + 67239424 + 272629760 + File Types + + + + + + + + + 268 + {{93, 45}, {348, 22}} + + + + YES + + -1804468671 + 272630784 + + + + YES + + + 6 + System + textColor + + + + + + + 268 + {{90, 12}, {169, 17}} + + + + YES + + 68288064 + 272630784 + Seperated by comma (,) + + + + + + + + {{3, 3}, {461, 160}} + + + + + + {{17, 41}, {467, 166}} + + + + {0, 0} + + 67239424 + 0 + Box + + + + 3 + MCAwLjgwMDAwMDAxAA + + + + 2 + 1 + 0 + NO + + + + 288 + {{323, 14}, {82, 32}} + + + + 1 + YES + + 67239424 + 134217728 + Cancel + + + 1 + -2038284033 + 1 + + + Gw + 200 + 25 + + + + + 288 + {{20, 24}, {13, 13}} + + + + YES + + 67239424 + 0 + + + + -1198636801 + 5 + + + + + + 200 + 25 + + + + + 288 + {{31, 24}, {104, 14}} + + + + YES + + 67239424 + 134348800 + Advanced options + + + -939376385 + 34 + + LucidaGrande + 11 + 16 + + + + + + 200 + 25 + + + + {{7, 11}, {501, 225}} + + + + + {{0, 0}, {1920, 1058}} + {501, 247} + {502, 248} + + + + searchString + performButtonClick + fileTypeString + ignoreCaseBoolean + useExtendedRegularExpressionBoolean + ackExpression + ackLiteral + ackIgnoreCase + ackWholeWords + ackLiteralMatch + ackMatchWholeWords + ackShowContext + ackFollowSymlinks + controller + showAdvanced + searchProject + contentHeight + ackHistory + + YES + + + + YES + + + + {200, 124} + {50, 50} + {600, 400} + 0 + 0.0 + 15 + + + + + + 256 + + + + 288 + {{17, 58}, {94, 18}} + + YES + + 67239424 + 131072 + Show context + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 288 + {{17, 38}, {107, 18}} + + YES + + 67239424 + 131072 + Follow symlinks + + + 1211912703 + 2 + + + + 200 + 25 + + + + + 256 + {{17, 18}, {159, 18}} + + YES + + 67239424 + 131072 + Load defaults from .ackrc + + + 1211912703 + 2 + + + + 200 + 25 + + + + {194, 94} + + + NSView + + NSResponder + + + + + + + contentObject: parameters + + + + + + contentObject: parameters + contentObject + parameters + 2 + + + 8 + + + + performButtonClick: + + + + 90 + + + + enabled: selection.ackExpression + + + + + + enabled: selection.ackExpression + enabled + selection.ackExpression + + NSValueTransformerName + NSIsNotNil + + 2 + + + 100 + + + + value: selection.showAdvanced + + + + + + value: selection.showAdvanced + value + selection.showAdvanced + 2 + + + 169 + + + + parentWindow + + + + 171 + + + + visible: selection.showAdvanced + + + + + + visible: selection.showAdvanced + visible + selection.showAdvanced + + NSNullPlaceholder + + + 2 + + + 173 + + + + performClick: + + + + 177 + + + + contentView + + + + 188 + + + + value: values.ackShowContext + + + + + + value: values.ackShowContext + value + values.ackShowContext + 2 + + + 192 + + + + value: values.ackFollowSymlinks + + + + + + value: values.ackFollowSymlinks + value + values.ackFollowSymlinks + 2 + + + 194 + + + + value: values.ackLoadAckRC + + + + + + value: values.ackLoadAckRC + value + values.ackLoadAckRC + 2 + + + 197 + + + + contentValues: selection.ackHistory + + + + + + contentValues: selection.ackHistory + contentValues + selection.ackHistory + 2 + + + 215 + + + + value: selection.ackExpression + + + + + + value: selection.ackExpression + value + selection.ackExpression + + NSContinuouslyUpdatesValue + + + + 2 + + + 216 + + + + contentHeight: selection.contentHeight + + + + + + contentHeight: selection.contentHeight + contentHeight + selection.contentHeight + + NSNullPlaceholder + + 0 + 1 + NO + YES + 1 + kAAAAAAAAAAAAAAAAAAAAA + + + 2 + + + 226 + + + + value: values.ackLiteralMatch + + + + + + value: values.ackLiteralMatch + value + values.ackLiteralMatch + 2 + + + 228 + + + + value: values.ackIgnoreCase + + + + + + value: values.ackIgnoreCase + value + values.ackIgnoreCase + 2 + + + 230 + + + + value: values.ackMatchWholeWords + + + + + + value: values.ackMatchWholeWords + value + values.ackMatchWholeWords + 2 + + + 232 + + + + value: selection.fileTypeString + + + + + + value: selection.fileTypeString + value + selection.fileTypeString + 2 + + + 306 + + + + argument: selection.ackExpression + + + + + + argument: selection.ackExpression + argument + selection.ackExpression + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + 2 + + + 323 + + + + argument2: values.ackLiteralMatch + + + + + + argument2: values.ackLiteralMatch + argument2 + values.ackLiteralMatch + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 324 + + + + argument3: values.ackIgnoreCase + + + + + + argument3: values.ackIgnoreCase + argument3 + values.ackIgnoreCase + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 325 + + + + argument4: values.ackMatchWholeWords + + + + + + argument4: values.ackMatchWholeWords + argument4 + values.ackMatchWholeWords + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 326 + + + + argument5: values.ackShowContext + + + + + + argument5: values.ackShowContext + argument5 + values.ackShowContext + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 327 + + + + argument6: values.ackFollowSymlinks + + + + + + argument6: values.ackFollowSymlinks + argument6 + values.ackFollowSymlinks + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 328 + + + + argument7: values.ackLoadAckRC + + + + + + argument7: values.ackLoadAckRC + argument7 + values.ackLoadAckRC + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 329 + + + + argument8: selection.fileTypeString + + + + + + argument8: selection.fileTypeString + argument8 + selection.fileTypeString + + + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 333 + + + + target: selection.controller + + + + + + target: selection.controller + target + selection.controller + + NSSelectorName + returnArgument:literalMatch:ignoreCase:matchWholeWords:showContext:followSymLinks:loadAckRC:fileTypeString: + + + 2 + + + 334 + + + + + + 0 + + + + + + -2 + + + File's Owner + + + -1 + + + First Responder + + + 5 + + + + + + Window + + + 6 + + + + + + + + + + + + 11 + + + + + + + + 40 + + + + + + + + + + + + + + + + 89 + + + + + + + + 168 + + + + + + + + 176 + + + + + + + + 7 + + + Parameters + + + 120 + + + Shared Defaults + + + 170 + + + AdvancedDrawer + + + 185 + + + + + + + + AdvancedOptions + + + 186 + + + + + + + + 187 + + + + + + + + 195 + + + + + + + + 234 + + + + + 240 + + + + + 241 + + + + + 242 + + + + + 243 + + + + + 244 + + + + + 245 + + + + + -3 + + + Application + + + 43 + + + + + + + + 235 + + + + + 210 + + + + + + + + 236 + + + + + 220 + + + + + + + + + + 246 + + + + + 222 + + + + + 221 + + + + + 223 + + + + + + + + 237 + + + + + 224 + + + + + + + + 238 + + + + + 225 + + + + + + + + 239 + + + + + 247 + + + + + + + + 248 + + + + + 249 + + + + + + + + 250 + + + + + 251 + + + + + + + + 252 + + + + + + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + com.apple.InterfaceBuilder.CocoaPlugin + + + + + + + 334 + + + 0 + IBCocoaFramework + + com.apple.InterfaceBuilder.CocoaPlugin.macosx + + + YES + 3 + + diff --git a/Support/nibs/AckInProjectSearch.nib/info.nib b/Support/nibs/AckInProjectSearch.nib/info.nib deleted file mode 100644 index 97c8dd1..0000000 --- a/Support/nibs/AckInProjectSearch.nib/info.nib +++ /dev/null @@ -1,22 +0,0 @@ - - - - - IBDocumentLocation - 425 98 703 386 0 0 1680 1028 - IBEditorPositions - - 185 - 756 617 214 136 0 0 1680 1028 - - IBFramework Version - 443.0 - IBOpenObjects - - 5 - 185 - - IBSystem Version - 8S2167 - - diff --git a/Support/nibs/AckInProjectSearch.nib/keyedobjects.nib b/Support/nibs/AckInProjectSearch.nib/keyedobjects.nib index 5489a5c..4f9ace4 100644 Binary files a/Support/nibs/AckInProjectSearch.nib/keyedobjects.nib and b/Support/nibs/AckInProjectSearch.nib/keyedobjects.nib differ