2024-05-26 Fred Kiefer * ChangeLog: Update for new release * ANNOUNCE: * NEWS: * Documentation/news.texi: Update of release notes for 0.31.0. * Version: bump to 0.31.0 2024-05-13 Adam Fox * Source/NSParagraphStyle.m (-init): Apply the old default tab stop behavior from +defaultParagraphStyle to -init, and therefore also to +defaultParagraphStyle. 2024-03-18 Fred Kiefer * Source/NSTextView.m: Add support for NSFilenamenPboardType. Change by OnFlApp (https://githup.com/onflapp) 2023-12-28 Fred Kiefer * Documentation/manual/AppKit.texi: Move table of contents outside of title page. This fixes building the documentation with newer texinfo. 2023-12-27 Gregory John Casamento * Headers/AppKit/NSView.h: Add ivar for NSShadow, update version of class for NSArchiver so this can be properly read and saved in .gorm files. * Source/GSXib5KeyedUnarchiver.m: Add code to handle XIB keys for NSShadow. * Source/NSShadow.m: Minor cleanup to use ASSIGN macro in -initWithCoder: * Source/NSView.m: Add code to -encodeWithCoder: and -initWithCoder: to properly handle NSViewShadow. 2023-11-27 Gregory John Casamento * Source/GSGormLoading.m * Source/GSNibLoading.m * Source/GSXibLoading.m: Remove calls to respondsToSelector: for awakeFromNib. This method is now implemented on a category on NSObject called NSNibAwaking. Also add a call to prepareForInterfaceBuilder when we are in Gorm/IB. 2023-11-25 Gregory John Casamento * Documentation/manual/applicationmakefiles.texi: Update documentation. * Documentation/manual/gnustepapplication.texi: Update documentation. Update installation path default. * Documentation/manual/interfacefiles.texi: Update documentation. Add information about model files (xib, nib, etc). * Documentation/manual/intro.texi: Update documentation. Add information about themes. 2023-11-25 Gregory John Casamento * Headers/AppKit/NSNibLoading.h: Add declaration for -prepareForInterfaceBuilder to NSNibLoading category. * Source/NSNib.m: Add new empty method implementation for -awakeFromNib and -prepareForInterfaceBuilder to NSNibLoading category on NSObject. * Source/NSView.m: Remove empty implementation of awakeFromNib. 2023-09-05 Richard Frith-Macdonald * Source/DocMakefile: Fix issue #198 ... headers had added a new APPKIT_EXPORT_CLASS value added without telling autogsdoc how to handle it, breaking parsing. Mapped it to an empty string. 2023-08-30 Gregory John Casamento * Source/GSXib5KeyedUnarchive.m: Fix for issue#192. Added code to -decodeObjectForXib:forClassName:withID: to decode toolTip using alternative format described in the issue. 2023-08-13 Fred Kiefer * Source/NSSwitch.m (-drawRect:): Correct drawing as suggested by Austin Clow (dr_clow@me.com). 2023-02-12 Gregory John Casamento * Source/NSCollectionView.m: Implementation of methods to support selection by indexPaths and use of NSCollectionViewLayout * Source/NSCollectionViewLayout.m: Implementation of NSCollectionViewLayout class to support custom collection view layouts. * Source/NSCollectionViewGridLayout.m: Implementation of the Grid layout. * Source/NSCollectionViewFlowLayout.m: Implementation of the flow layout. * Source/NSCollectionViewItem.m: Minor changes to support new functionality. * Headers/AppKit/NSCollectionView.h: Add new methods. * Headers/AppKit/NSCollectionViewLayout.h: * Headers/AppKit/NSCollectionViewGridLayout: * Headers/AppKit/NSCollectionViewFlowLayout: Add new classes. 2023-01-03 Gregory John Casamento * Source/NSDrawer.m: Open drawer on the opposite edge if needed when close to the boundary of the screen. 2022-12-29 Richard Frith-Macdonald * ChangeLog: Update for new release * ANNOUNCE: * NEWS: * Documentation/news.texi: Update of release notes for 0.30.0 by Fred. * Version: bump to 0.30.0 -defaultLineHeightForFont: and -defaultBaselineOffsetForFont:. 2022-10-11 Riccardo Mottola * Source/NSTextView.m Fix click on TextAttachmentCells, where the left side was not respected. This was because index was respecting fraction and thus loosing the attachment when clicking on the right part, only for this case, recalculate character index without respectFraction. 2022-09-01 Gregory John Casamento * Source/NSButtonCell.m: Move method to detect if button is a radio button to this class (- _isRadio) * Source/NSButton.m: Add method to check current state of button clicked and flip other buttons to off (-_handleRadioStates) 2022-08-27 Gregory John Casamento * Source/NSButton.m: Fix to address issue #151, NSRadio button behavior on 10.7 should now be implemented. 2022-08-09 Gregory John Casamento * Headers/AppKit/NSPredicateEditorRowTemplate.h: Add missing constants NSTransformableAttributeType and NSObjectIDAttributeType. 2022-06-12 Fred Kiefer * Source/NSImageCell.m, * Source/NSAccessibilityCustomAction.m, * Source/NSStackView.m, * Source/NSGridView.m: Fix compiler warnings 2022-03-31 Riccardo Mottola * Headers/Additions/GNUstepGUI/GSTheme.h * Source/GSStandardWindowDecorationView.m * Source/GSThemeDrawing.m Refactor resize bar notch width to be a constant and private inside GSTheme, making it accessible through -[GSTheme resizebarNotchWidth]. 2022-03-31 Riccardo Mottola * Source/GSStandardWindowDecorationView.m: Fix resizing mode by fixing initialization order. 2022-03-29 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSXibKeyedUnarchiver.h * Source/GSXib5KeyedUnarchiver.h * Source/GSXib5KeyedUnarchiver.m * Source/GSXibKeyedUnarchiver.m: Change format of customClass dictionary. 2022-03-26 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSXibKeyedUnarchiver.h: Add customClasses method and _customClasses ivar. * Source/GSXib5KeyedUnarchiver.h: Remove _customClasses from declarations here and the method as well. * Source/GSXib5KeyedUnarchiver.m: Remove customClasses method from here. * Source/GSXibKeyedUnarchiver.m: Implement logic here to build _customClasses array when loading a XIB of version 3 or 4. 2022-03-22 Riccardo Mottola * Source/NSImageCell.m: subclass initImageCell, so that RefusesFirstResponder can be set, matching Mac. 2022-02-26 Wolfgang Lux * Source/NSPopUpButtonCell.m(setMenu:): Select the first item of the menu instead of the last, as this is the only selection that makes sense for pull downs. * Source/NSPopUpButtonCell.m: Never change the state of the selected item when configured as a pull down to match Apple's documentation and implementation. 2022-02-06 Wolfgang Lux * Source/NSPopUpButtonCell.m: Add fix to avoid a dangling pointer when changing the menu. 2022-01-11 Gregory John Casamento * Source/NSBundleAdditions.m: Use FOR_IN macro instead of for(... in...) for compiler compatibility. 2021-12-28 Fred Kiefer * Headers/Additions/GNUstepGUI/GSWindowDecorationView.h: Move new addon methods for Wayland to correct class GSStandardWindowDecorationView. * Source/GSWindowDecorationView.m: Keep variables declarations together. 2021-12-26 Fred Kiefer * Source/NSPopUpButtonCell.m: Try to prevent segmenation fault when deallocating a popup button. 2021-12-26 Fred Kiefer * Source/NSMenu.m: Rename method on NSMenuPanel for the Wayland backend to -_menu to keep it apart from the already existing method -menu on NSResponder. * Source/NSSplitView.m: Correct decoded integer type. 2021-11-15 Gregory John Casamento * Source/NSSplitView.m: Correct issue introduced in the previous change for this class. The code now uses the older, somewhat broken, logic for version 0 and the newer logic for later versions. 2021-11-18 Gregory John Casamento * Source/NSBrowser.m: Check [bc isLoaded] in _remapColumnSubviews before making the window first responder. 2021-11-15 Gregory John Casamento * Headers/AppKit/NSSplitView.h * Source/NSSplitView.m: Incorporate and refactor changes to NSSplitView to support Think, Thin, and PaneSplitter NSSplitViewDividerStyle settings. 2021-11-15 Gregory John Casamento * Source/NSView.m: Add cast to id in case nil is not "id". This is the same fix that was done by Frederick Seiffert on base. 2021-10-27 Gregory John Casamento * Source/NSPopUpButtonCell.m * Source/NSTabView.m * Source/NSTextContainer.m * Source/NSTextFieldCell.m * Source/NSTextField.m * Source/NSTextView.m * Source/NSWindowController.m: Remaining improvements and stability changes contributed by testplant. 2021-10-27 Gregory John Casamento * Source/GSToolbarView.m: Toolbar fixes to prevent the index from exceeding the number of visibleBackViews. 2021-10-27 Gregory John Casamento * Source/NSScrollView.m: Add scrollview keys from TP merge. 2021-10-27 Gregory John Casamento * Source/GSToolTips.m: Add extra pixels so that tool tip doesn't overrun the window. 2021-10-25 Riccardo Mottola * Source/NSTextStorage.m: Keep local variables to ensure correct values during recursion. 2021-10-21 Gregory John Casamento * Headers/AppKit/NSGlyphInfo.[hm]: Class which provides info about each glyph depending on mappings. Currently only identity mapping is supported. 2021-10-13 Gregory John Casamento * Headers/AppKit/NSToolbar.h: Update to use formal protocol if API level is 10.6+. 2021-10-13 Gregory John Casamento * Headers/AppKit/NSTabView.h: Update NSTabView.h to have a formal protocol for NSTabViewDelegate if the API we are using is 10.6 or later. 2021-10-13 Gregory John Casamento * Source/NSTableView.m: Remove exception where lastIndex is greater than number of columns. 2021-10-13 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSTheme.h: Add tabview enum * Source/GSAutocompleteWindow.h: Fix signature mismatch * Source/GSThemeDrawing.m: Move tabview enum to header. 2021-10-12 Gregory John Casamento * Source/NSBitmapImageRep.m: Change initWithBitmapDataPlanes:... to conform to Apple documented behavior and return nil if it cannot initialize with the given arguments. 2021-10-03 Gregory John Casamento * Headers/AppKit/NSComboBox.h: Add check to see if @optional is available. 2021-10-02 Gregory John Casamento * Source/GSToolTips.m: Use RELEASE and AUTORELEASE macros where appropriate. Minor fixes. * Source/NSPopover.m: Add code to draw an outline outside of the view. Add GSPopoverPanel and GSPopoverView private classes. 2021-09-30 Gregory John Casamento * Source/NSPopover.m: Fix an issue with NSPopover loading the model (nib/xib/gorm) when it is loaded by a setContentViewController: in an non-storyboard based application. 2021-09-29 Gregory John Casamento * TextConverters/RTF/RTFConsumer.m: Improve error message for when a field being added to the RTF document is NULL. 2021-09-29 Gregory John Casamento * Headers/AppKit/NSComboBox.h: Add @optional to protocol declarations for NSComboBoxDelegate and NSComboBoxDataSource. 2021-06-17 Riccardo Mottola * Source/NSHelpPanel.m: (initWithContentRect) When initializing the text view do not use the document view of the scroll view which is not yet set and invalid. (Fixes exceptions/crashes) 2021-05-20 Gregory John Casamento * Headers/AppKit/AppKit.h: Add NSStackView.h to header. * Headers/AppKit/NSStackView.h: Header * MISSING: Remove NSStackView from the list and update others. * Source/GNUmakefile: Add NSStackView.[hm] to GNUmakefile. * Source/GSXib5KeyedUnarchiver.m: Add decoders and mappings to decode NSStackView content. * Source/NSStackView.m: Implementation of NSStackView. 2021-05-01 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSXibLoading.h: Add declaration for customClassNames so that we can use that to collect the names of all of the custom classes and their associations. * Source/GNUmakefile: Remove classes which are not used. * Source/GSXib5KeyedUnarchiver.m: In parserDidStartElement... call isInInterfaceBuilder to determine if we should allocate custom classes. * Source/GSXibLoading.m: Add in code in nibInstantiate which uses [NSClassSwapper isInInterfaceBuilder] to prevent connections from being established if the XIB is being loaded in IB/Gorm. 2021-04-30 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSModelLoaderFactory.h: Declaration of canReadData: in the GSModelLoader class and declaration of modelLoaderForData: in GSModelLoaderFactory. * Source/GSGModelLoader.m: Prototype method for canReadData: Implementation of modelLoaderForData:. * Source/GSGormLoader.m * Source/GSModelLoaderFactory.m * Source/GSNibLoader.m * Source/GSXibLoader.m: Implement -canReadData: method to determine for each loader if that loader can handle the data passed into it. * Source/NSNib.m: Use of [GSModelLoaderFactory modelLoaderForData:] to more generically implement methods that initialize an archive from archived data since we have no file extention to rely on to identify the archive contents. 2021-04-26 Ivan Vucica * ANNOUNCE: * Documentation/ReleaseNotes.gsdoc: * Documentation/news.texi: * NEWS: Updating documentation for the 0.29.0 release. * Version: Bumping requirement to gnustep-base 1.28.0. 2021-04-23 Gregory John Casamento * Source/Functions.m: QuickFix. Remove unecessary warning about storyboard in NSApplicationMain function. 2021-03-29 Gregory John Casamento * Source/NSGridView.[hm]: Add implementation of NSGridView. * Source/GSXib5KeyedUnarchiver.m: Add keys to decode NSGridView. 2021-03-27 Fred Kiefer * Source/NSControl.m (-textDidChange:): If there is a binding with continious update, pass on the changed text. * Source/GSXibElement.m: Correct the handling of boolean values in attributes. * Source/GSBindingHelpers.h, * Source/NSKeyValueBinding.m: Prevent recursion when reverseSetValue: is used. * Source/NSTextField.m (-textDidChange:): Remove empty code line. 2021-03-12 Fred Kiefer * Source/NSMenu.m (-_setOwnedByPopUp:): Only update the menu if there is a new popup. 2021-02-21 Fred Kiefer * Source/NSPasteboard.m (-_pasteboardWithTarget:name:): Correct wrong order of arguments to NSMapInsert. * Source/NSPasteboard.m (-generalPasteboard): Simplify implementation. 2021-02-12 Fred Kiefer * Source/NSSearchFieldCell.m: Correct encoding/decoding that was broken in last commit of this file. 2021-02-05 Fred Kiefer * Resources/Italian.lproj/Localizable.strings, * Resources/Esperanto.lproj/Localizable.strings: Readd BOM which was lost when regenerating these files. 2021-01-22 Fred Kiefer * Source/NSTableView.m (-_numRows): Take column value binding into consideration. * Source/NSTableColumn.m (-setValue:forKey:): Reload table data. 2021-01-22 Fred Kiefer * Source/NSWindow.m (GSOrderedWindows): Don't try to handle already gone windows that may be returned from a slow window manager. 2021-01-16 Fred Kiefer * Source/GSHorizontalTypesetter.m: Small cleanups for nerged pull request. * Resources: Regenerate translation files. * Documentation/news.texi, * Version: Updating documentation for the upcoming 0.29.0 release. 2021-01-15 Fred Kiefer * Source/NSControl.m: Change encoding/decoding to protect against differences in integer size. 2021-01-08 Fred Kiefer * Headers/AppKit/NSComboBoxCell.h: Correct type of instance variables. * Source/GSGuiPrivate.h: Add macros for encoding/decoding. * Source/NSActionCell.m, * Source/NSButtonCell.m, * Source/NSCell.m, * Source/NSComboBoxCell.m, * Source/NSImageCell.m, * Source/NSLevelIndicatorCell.m, * Source/NSPathCell.m, * Source/NSPopUpButtonCell.m, * Source/NSSearchFieldCell.m, * Source/NSSliderCell.m, * Source/NSStepperCell.m: Change encoding/decoding to protect against differences in integer size. 2020-12-13 Fred Kiefer * Source/NSSearchFieldCell.m: Use GSTheme to display the popup. 2020-12-12 Fred Kiefer * Source/NSSearchField.m, * Source/NSSearchFieldCell.m: Small cleanups in formatting and int types. 2020-12-11 Riccardo Mottola * Source/GSToolbarView.m, Use centerScanRect to correct Items frame and avoid flickering. 2020-12-06 Fred Kiefer * Source/NSToolbarFrameworkPrivate.h, * Source/GSToolbarView.m, * Source/NSToolbar.m: Minor changes to format code, remove unused methods and introduce some new helper methods. 2020-11-29 Fred Kiefer * Source/NSMenuView.m (-mouseDown:): Protect against _window going away during tracking. 2020-11-23 Riccardo Mottola * Source/NSPopUpButtonCell.m (release): Use standard setMenu: in release and avoid leaking the Menu. (Proposed by Fred) 2020-11-03 Riccardo Mottola * Source/NSBitmapImageRep+JPEG.m (_JPEGRepresentationWithProperties:): Support greyscape output colorspace in JPEG decompression, fix Alpha output to NO, since JPEGs do not support it. 2020-10-18 Fred Kiefer * Source/NSTableView.m (-validateEditing): Reset _isValidating on intermediate return. Patch by Andreas Höschler . 2020-10-04 Fred Kiefer * Source/NSColor.m: Protect against theme colour list missing out on default colours. 2020-09-14 Fred Kiefer * Source/GSToolTips.m: Revert bogus last commit. 2020-09-12 Gregory John Casamento * Source/GSToolTips.m: Fix issue where setting the theme causes tooltips to become all black. This is happening on windows and other platforms. * Source/NSCell.m: Fix for issue on Windows were contents are reset when initWithCoder: coder is called. If the contents are set, they determine the type. Currently investigating why this is occuring ONLY on Windows. 2020-09-12 Fred Kiefer * Source/NSTextView.m (-initWithCoder:): Make sure text container is in sync with the text view resize behaviour. * Source/NSScrollView.m (-initWithCoder:): Add scrollers as subviews when decoded. 2020-09-11 Fred Kiefer * Source/GSLayoutManager.m (-glyphRangeForCharacterRange:actualCharacterRange:): Handle zero length charRagne at end of text correctly. 2020-09-07 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m (-decodeCellPrototypeForElement:): Fix misuse of setType:. 2020-07-28 Gregory John Casamento * Headers/AppKit/AppKit.h: Add all new headers * Headers/AppKit/NSTextCheckingClient.h: Protocol for NSTextCheckingController.m * Headers/AppKit/NSTextCheckingController.h: New controller for text checking - spelling/grammar * Headers/AppKit/NSTextFinder.h: Text finder, currently delegates all functionality to GSTextFinder. * Headers/AppKit/NSTextInputClient.h: Protocol * Headers/AppKit/NSTextInputContext.h: Protocol * Headers/AppKit/NSTextView.h: Implementation of methods needed for NSTextFinder. * Headers/AppKit/NSUserInterfaceValidation.h: Minor changes * MISSING: Removed these from MISSING list * Source/GNUmakefile: Add files to be compiled or copied to list. * Source/NSTextCheckingController.m: Implementation using NSSpellChecker * Source/NSTextFinder.m: Implementation using GSTextFinder * Source/NSTextInputContext.m: Skeleton implementation. * Source/NSTextView.m: Implementation of methods 2020-08-06 Fred Kiefer * Source/GSStoryboardTransform.h, * Source/NSPageController.m, * Source/NSPersistentDocument.m, * Source/NSSplitViewItem.m, * Source/NSViewController.m: Fix compiler warnings mit gcc. 2020-07-31 Gregory John Casamento * Headers/AppKit/AppKit.h: Add header * Headers/AppKit/NSStatusBarButton.h: Declaration * MISSING: Remove file from list * Source/GNUmakefile: Add to compilation * Source/NSStatusBarButton.m: Definition of class. 2020-07-30 Gregory John Casamento * Headers/AppKit/AppKit.h * Headers/AppKit/NSLayoutAnchor.h * Headers/AppKit/NSLayoutConstraint.h * Headers/AppKit/NSLayoutGuide.h * MISSING: Remove classes from list. * Source/GNUmakefile * Source/GSXib5KeyedUnarchiver.m: Add code to decode constraints. * Source/NSLayoutAnchor.m * Source/NSLayoutConstraint.m * Source/NSLayoutGuide.m: Add infrastructure for layouts. This needs additional work and study. Comitting now so others can more easily help. 2020-07-28 Gregory John Casamento * Headers/AppKit/AppKit.h: Add includes for splitviewcontroller, pagecontroller and tabviewcontroller. * Headers/AppKit/NSPageController.h: Interface for page view controller * Headers/AppKit/NSSplitViewController.h: Interface for splitview controller * Headers/AppKit/NSSplitViewItem.h: Enhancements to splitview item to add logic for controller * Headers/AppKit/NSStoryboardSegue.h: Add methods to handle popovers * Headers/AppKit/NSTabViewController.h: Interface for tabViewController * Headers/AppKit/NSTabViewItem.h: methods to support NSViewController * Headers/AppKit/NSToolbar.h: Minor changes to support tabview controller * Headers/AppKit/NSViewController.h: Additional enum * MISSING: Remove implemented classes from list * Source/GNUmakefile: Add new classes * Source/GSStoryboardTransform.h: Additional methods on proxy * Source/GSStoryboardTransform.m: Additional methods on proxy * Source/GSThemeDrawing.m: minor changes * Source/GSXib5KeyedUnarchiver.m: Handle pagecontroller element, set certain things to true if abesnt * Source/NSPageController.m: Implementation of NSPageController * Source/NSSplitViewController.m: Implementation of NSSplitViewController * Source/NSSplitViewItem.m: Implementation * Source/NSStoryboardSegue.m: New methods for segue * Source/NSTabViewController.m: Implementation of NSTabViewController * Source/NSTabViewItem.m: New methods implementation * Source/NSTabView.m: Add methods to handle NSViewController changes * Source/NSViewController.m: New methods. * Source/NSView.m: Private methods to insert a view * Source/NSViewPrivate.h: Private method to insert view, declaration * Source/NSWindow.m: Minor fixes. 2020-07-19 Gregory John Casamento * Headers/AppKit/AppKit.h: Add include files for NSSegue* and other classes. * Headers/AppKit/NSSeguePerforming.h: Protocol for segue performing so that classes that conform can be queried to determine if the segue should be performed in the first place. * Headers/AppKit/NSStoryboard.h: Class which loads the storyboard and loads the individual scenes and controllers. * Headers/AppKit/NSStoryboardSegue.h: This class handles the transition between controllers/scenes. * Headers/AppKit/NSViewController.h: Modifications to handle segues. * Headers/AppKit/NSWindowController.h: Modifications to handle segues. * Headers/AppKit/NSWindow.h: New method to create window controller for view controllers. * MISSING: Remove the classes implemented here from the missing list. * Source/Functions.m: Enhance NSApplicationMain() function to handle the loading of a storyboard. * Source/GNUmakefile: Add the new classes to the build and copy the headers. * Source/GSStoryboardTransform.[hm]: Class to handle the transformation of the storyboard file into "XIB" files for loading. Also handles the intermediate processes of instantiation of the destination controller. * Source/NSStoryboard.m: Implementation of the above described class. * Source/NSStoryboardSegue.m: Implementation of the above described class. * Source/NSViewController.m: Implementation of private methods to handle transitions. * Source/NSWindowController.m: Implementation of private methods to handle transitions. * Source/NSWindow.m: Implementation of method to create window controller for view controllers. 2020-07-10 Gregory John Casamento * Headers/AppKit/NSOutlineView.h: Formalize protocols for NSOutlineViewDelegate and NSOutlineViewDataSource. 2020-07-03 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m (alternateName:): Be more careful when chopping of part of the name. 2020-07-03 Fred Kiefer * Headers/AppKit/NSNib.h, * Source/NSNib.m: Add missing MacOSX methods. * Source/GSXibLoader.m: Remove semicolon. Add debug logs. 2020-06-15 Gregory John Casamento * Headers/AppKit/AppKit.h * Headers/AppKit/NSAccessibilityCustomAction.h * Headers/AppKit/NSAccessibilityCustomRotor.h * Headers/AppKit/NSAccessibilityElement.h * Headers/AppKit/NSAccessibilityProtocols.h * Source/GNUmakefile * Source/NSAccessibilityCustomAction.m * Source/NSAccessibilityCustomRotor.m * Source/NSAccessibilityElement.m: Add skeletons for these classes. Future support of accessibility features will fill these in. 2020-06-12 Yavor Doganov * Headers/AppKit/NSApplication.h: Remove semicolons from the NSAppKitVersionNumber* definitions. 2020-05-29 Fred Kiefer * TextConverters/RTF/rtfGrammar.y: Correct encoding handling. * TextConverters/RTF/rtfGrammar.tab.h, * TextConverters/RTF/rtfGrammar.tab.m: Regenerated. * TextConverters/RTF/RTFConsumer.m: Add code to handle code page 10000. 2020-05-18 Fred Kiefer * Headers/AppKit/NSColor.h, * Source/NSColor.m: Add newer Cocoa methods. 2020-05-14 Fred Kiefer * Source/NSWindow.m (-makeFirstResponder, -sendEvent:): Correct handling of new first responder not becoming first responder. Patch suggested by Josh Freeman . 2020-05-10 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m: Clean up NSPathCell decoding. 2020-05-09 Fred Kiefer * Source/NSStringDrawing.m: Initialize all the cache entries as not used. 2020-05-09 Gregory John Casamento * Source/NSPersistentDocument.[hm]: Add implementation of abstract class for NSPersistentDocument. 2020-05-09 Fred Kiefer * Source/GSHorizontalTypesetter.m (_addExtraLineFragment): Make sure curParagraphStyle and line_height always have useful values. 2020-05-08 Fred Kiefer * Source/NSWindow.m (-initWithContentRect:...defer:): Call setFrame:display: to ensure the minium and maximum size gets enforced. * Source/NSFont.m (-description): Add this method. 2020-05-06 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSTheme.h: Add declarations for new drawing methods. * Headers/AppKit/AppKit.h: Add headers to main header * Headers/AppKit/NSMenu.h: Add method to draw the popup in the appropriate positin * Headers/AppKit/NSPathCell.h: Implementation of path cell header * Headers/AppKit/NSPathComponentCell.h: Component cell * Headers/AppKit/NSPathControl.h: Control * Headers/AppKit/NSPathControlItem.h: Control item * MISSING: Remove NSPath* classes since they have been implemented * Source/GNUmakefile: Add files to compile and copy * Source/GSThemeDrawing.m: Add new drawing methods. * Source/GSXib5KeyedUnarchiver.m: Add new decoding methods * Source/NSMenu.m: Implement method to position popup * Source/NSPathCell.m: Implementation path cell. * Source/NSPathComponentCell.m: Cell representation of each component * Source/NSPathControlItem.m: Path items * Source/NSPathControl.m: Path control to contain path cell and components. 2020-04-30 Yavor Doganov * Documentation/GSSpeechRecognitionServer.1: Add simplistic manpage for GSSpeechRecognitionServer. * Documentation/GNUmakefile: Install it conditionally. 2020-04-26 Gregory John Casamento * Headers/Additions/GNUstepGUI/GSTheme.h: Add declarations for new drawing methods. * Headers/AppKit/AppKit.h: Add new headers * Headers/AppKit/NSAccessibilityProtocols.h * Headers/AppKit/NSCell.h: Add NSControlStateValue enum * Headers/AppKit/NSSwitch.h: Header for NSSwitch * MISSING: Remove NSSwitch * Source/GNUmakefile: Add .h and .m files * Source/GSThemeDrawing.m: Add drawing code for knob and switch basin. * Source/GSXib5KeyedUnarchiver.m: Add decoding for NSControlContents. Make sure enabled is YES when not present. * Source/NSColor.m: Minor changes * Source/NSMatrix.m: Remove unneeded code * Source/NSSwitch.m: Implementation of NSSwitch * Source/NSToolbarItem.m: Remove unneeded code 2020-04-13 Gregory John Casamento * Headers/AppKit/AppKitErrors.h: * Headers/AppKit/AppKit.h: * Headers/AppKit/NSFontAssetRequest.h: * Headers/AppKit/NSMediaLibraryBrowserController.h: * Headers/AppKit/NSScrubber.h: * Headers/AppKit/NSScrubberItemView.h: * Headers/AppKit/NSScrubberLayout.h: * Headers/AppKit/NSSharingServicePickerToolbarItem.h: * Headers/AppKit/NSUserInterfaceCompression.h: * Headers/AppKit/NSUserInterfaceItemSearching.h: * Headers/AppKit/NSWindowRestoration.h: * MISSING: Remove mention of these classes. * Source/GNUmakefile * Source/NSFontAssetRequest.m: * Source/NSMediaLibraryBrowserController.m: * Source/NSScrubberItemView.m: * Source/NSScrubberLayout.m: * Source/NSScrubber.m: * Source/NSSharingServicePickerToolbarItem.m: Add code to allow compilation using these classes. These are Mac specific so they can't be implemented on any other platform due to HW or service limitations. At some point these might be able to be implemented, but, for now, they are here to allow apps which use them to compile. 2020-04-13 Ivan Vucica * Documentation/announce.texi: * ANNOUNCE: Normalize the accompanying text for the release announcement across core packages: standardize chapter name and GPG information. 2020-04-05 Ivan Vucica * ANNOUNCE: * Documentation/ReleaseNotes.gsdoc: * Documentation/news.texi: * NEWS: Updating documentation for the 0.28.0 release. 2020-04-01 Wolfgang Lux * Source/NSAlert.m (NSBeginAlertSheet): Restore call to delegate method which was lost a while ago. * Source/NSAlert.m (NSBeginCriticalAlertSheet, NSBeginInformationalAlertSheet): Remove redundant calls to close method. * Source/NSAlert.m (NSBeginAlertSheet, NSBeginCriticalAlertSheet, NSBeginInformationalAlertSheet): Change arguments names to reduce confusion about the intended use of the corresponding selectors. 2020-03-26 Fred Kiefer * Documentation/news.texi: Started to fill in some details for pending release. * .travis.yml: Try to keep up with Niels' changes in base. 2020-03-12 Sergii Stoian * Model/GNUmakefile: do not overwrite ADDITIONAL_INCLUDE_DIRS value to help RPM build. In spec file ADDITIONAL_INCLUDE_DIRS can be sat to subdirectories which are create by RPM build tool. 2020-03-05 Sergii Stoian * Source/NSWindow.m (_applyFrame:): new helper method to do actual resizing. (setFrame:display:): use _applyFrame method. (applicationDidChangeScreenParameters:): Use _applyFrame: because our origin in OpenStep coordinates might be unchanged and `setFrame:display:` has check for it. 2020-02-28 Sergii Stoian * Source/NSWindow.m (center): always center window on main screen - monitor where user expects to see window. 2020-02-26 Sergii Stoian * Source/NSWindow.m (sendEvent:): removed usage of extra local variables in GSAppKitWindowMoved code block. 2020-02-23 Sergii Stoian * Source/NSWindow.m (applicationDidChangeScreenParameters:): quit while loop after screen was found. (sendEvent:): use `_screen` ivar to get screen befor frame change. * Source/NSMenu.m (windowDidChangeScreen:): join two if statements. 2020-02-23 Fred Kiefer * Headers/Additions/GNUstepGUI/GSXibLoading.h, * Source/GSXib5KeyedUnarchiver.m, * Source/GSXibLoading.m: Move more behaviour from the IBActionConnection5 and IBOutletConnection5 classes to the original ones. 2020-02-23 Fred Kiefer * .travis.yml * travis-deps.sh: Try to keep up with Niels' changes in base. 2020-02-20 Sergii Stoian * Source/NSMenu.m (_setGeometry): take into account main screen origin when calculating horizontal menu postion. * Source/NSApplication.m (_appIconInit): take into account main screen origin when placing application icon. 2020-02-13 Sergii Stoian * Source/NSWindow.m (setFrame:display:): use _screeForFrame: here to prevent `_screen` reassign - it will be reassigned in sendEvent: (GSAppKitWindowMoved event) after call to [self screen]. (setFrameFromString:): removed unused code because _screenForFrame: never returns `nil`. Do not reassign `_screen` here. 2020-02-12 Sergii Stoian * Source/NSWindow.m (sendEvent:): set current screen to ivar and send WindowDidChangeScreen notification if window was moved to other screen. * Source/NSScreen.m (mainScreen): returns screen of main menu if no key window exists. With this implementation default screen (screen at index 0 in screens array) should never be returned. * Source/NSMenu.m (initWithTitle:): observe WindowDidBecomeKey and WindowDidChangeScreen notifications. (windowDidChangeScreen:): new method to handle observed notification added above. Moves menu to screen of key window for both cases: when key window moved to or activated on different screen. 2020-02-09 Fred Kiefer * Source/NSFontDescriptor.m: Correct key for encoding and decoding. 2020-01-31 Sergii Stoian * Source/GSTitleView.m (mouseDown:): limit menu movement to screen frame for top/left/right edges. Menu can be moved to the bottom until title is completely visible. 2020-01-27 Sergii Stoian * Source/NSWindow.m (applicationDidChangeScreenParameters): take into account screen origin change during window position recalculation. 2020-01-26 Sergii Stoian * Source/NSWindow.m (initWithContentRect:styleMask:backing:defer:): added observer of NSApplicationDidChangeScreenParametersNotification. (applicationDidChangeScreenParameters:): callback for added notification - updates window position, set new screen object and saves frame if autosave name exists. 2020-01-23 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m: Remove NSWindowTemplate5. * Source/GSXibLoader.m: Clean up code. * Headers/Additions/GNUstepGUI/GSXibKeyedUnarchiver.h, * Source/GSXibKeyedUnarchiver.m: Provide method to load both sorts of XIB files. * Source/NSArrayController.m: Add horrible hack to get KVB on array controller to work. 2020-01-22 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m, * Headers/Additions/GNUstepGUI/GSNibLoading.h, * Source/GSXibLoading.m: Move toolbar ivar from NSWindowTemplate5 to NSWindowTemplate. 2020-01-22 Fred Kiefer * TextConverters/RTF/rtfScanner.m: Add RTFansicpg. * TextConverters/RTF/rtfGrammar.y: Handle encoding and code pages. * TextConverters/RTF/rtfGrammar.tab.h, * TextConverters/RTF/rtfGrammar.tab.m: Regenerated. * TextConverters/RTF/RTFConsumerFunctions.h, * TextConverters/RTF/RTFConsumer.m: Add code to handle encoding. 2020-01-20 Fred Kiefer * Headers/AppKit/NSAppearance.h, * Source/NSPDFInfo.m, * Source/NSWorkspace.m: Fix compiler warnings. 2020-01-19 Fred Kiefer * Source/GSXibKeyedUnarchiver.m: Remove references of XIB 5. * Headers/Additions/GNUstepGUI/GSNibLoading.h: Add one method definition. * Source/GSXibLoader.m, * Source/GSXibLoading.m: Move helper classes to the correct file. 2020-01-19 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m: Handle dictionary elements correctly. * Source/NSKeyValueBinding.m: Transform each element of an array. 2020-01-18 Fred Kiefer * Source/NSArrayController.m: Only filter if there is a filter predicate. * Source/NSTableView.m: Use destionationValue instead of sourceValueFor: to get the row numbers and the display values. * Source/GSThemeDrawing.m: Don't use the datasource of the table directly to get the values to display. * Source/NSTabView.m: Mark for redisplay when removing tab item. * Source/NSKeyValueBinding.m: Add some debugging logs. 2020-01-12 Fred Kiefer * Source/NSToolbarItem.m (-initWithCoder:): Use decodeSizeForKey:. * Source/GSBindingHelpers.h, * Source/NSArrayController.m: Add observable array and use it for arrangeObjects. * Source/GSXib5KeyedUnarchiver.m: Add generic mechanism to decode keys that include the class name. Also add header clip view to subviews of scroller. 2020-01-11 Fred Kiefer * Headers/AppKit/NSRuleEditor.h * Source/NSRuleEditor.m: Add action and target. * Source/NSPredicateEditor.m: Add encoding and decoding. * Source/GSXib5KeyedUnarchiver.m: Decode row templates. 2020-01-10 Fred Kiefer * Headers/AppKit/NSKeyValueBinding.h, * Source/externs.m: Add some more bindings. * Source/NSPopUpButton.m, * Source/NSPopUpButtonCell.m, * Source/NSTableView.m: Use the new bindings. 2020-01-01 Fred Kiefer * Source/GSXib5KeyedUnarchiver.m, * Source/GSXibKeyedUnarchiver.m, * Headers/Additions/GNUstepGUI/GSNibLoading.h, * Headers/Additions/GNUstepGUI/GSXibElement.h, * Headers/AppKit/NSCell.h, * Headers/AppKit/NSWindow.h, * Source/GSCodingFlags.h, * Source/GSNibLoading.m, * Source/GSXib5KeyedUnarchiver.h, * Source/GSXibElement.m, * Source/GSXibLoader.m, * Source/NSButtonCell.m, * Source/NSCell.m, * Source/NSMatrix.m, * Source/NSNibBindingConnector.m, * Source/NSToolbar.m: Merge XIB document loading from the old Eggplant branch with lots of cleanup. * Headers/Additions/GNUstepGUI/GSXibParser.h, * Source/GSXibParser.m, * Source/GNUmakefile: Remove now obsolete class. 2020-01-19 Fred Kiefer * Headers/AppKit/NSNibOutletConnector.h, * Headers/AppKit/NSNibControlConnector.h, * Source/NSNibOutletConnector.m, * Source/NSNibControlConnector.m, * Source/NSNibConnector.m: Add files missing in last commit from Gregory. 2020-01-10 Sergii Stoian * Images/common_StepperDown.tiff, * Images/common_StepperDownHighlighted.tiff, * Images/common_StepperUp.tiff, * Images/common_StepperUpHighlighted.tiff: new images with arrows similar to scroll view buttons'. * Source/GSThemeDrawing.m (stepperUpButtonRectWithFrame:), (stepperDownButtonRectWithFrame:): center buttons horizontally; simplify and cleanup. * Source/NSStepper.m (acceptsFirstResponder): return NO. Returning YES makes sense only if `keyDown:` is implemented. (acceptsFirstMouse:): return YES. * Source/NSStepperCell.m (cellSize): initial implementation. Returns minimum size based on up and button sizes. 2020-01-07 Fred Kiefer * Headers/AppKit/NSDatePicker.h, * Headers/AppKit/NSDatePickerCell.h, * Source/NSDatePicker.m, * Source/NSDatePickerCell.m: Small cleanup. * Headers/AppKit/AppKit.h * Headers/AppKit/NSPredicateEditor.h * Headers/AppKit/NSPredicateEditorRowTemplate.h * Headers/AppKit/NSRuleEditor.h * Source/GNUmakefile * Source/NSPredicateEditor.m * Source/NSPredicateEditorRowTemplate.m * Source/NSRuleEditor.m * Source/externs.m: Add minimal version of predicate editor copied over from mySTEP. 2020-01-06 Fred Kiefer * Headers/AppKit/NSDatePickerCell.h, * Headers/AppKit/NSDatePicker.h, * Source/NSDatePickerCell.m, * Source/NSDatePicker.m: Add minimal version of date picker copied over from mySTEP. 2019-12-29 Fred Kiefer * Source/NSBundleAdditions.m (-pathForNibResource:): Report type not filename while iterating. 2019-12-18 Sergii Stoian * Source/NSBrowser.m (frameOfColumn:): shift up column only for browser with separated columns layout. (tile): fix column height calculation; moved sanity check of column height closer to calculation; removed code that duplicates code below. 2019-12-17 Sergii Stoian * Source/NSScrollView.m (tile): tweak location and height of vertical scroller if header or corner view available. * Source/GSThemeDrawing.m: (drawTableCornerView:withClip:): do not draw black rectangle because -drawDarkButton:withClip: draws all necessary elements. * Source/GSThemeDrawing.m (drawScrollViewRect:inView:): further cleanup of method implementation. Removed all tweaks of scroller length - all required calculations must be done in NSScrollView's -tile method. Simplified caluclations of X and Y positions of scroller. 2019-12-17 Sergii Stoian * Source/GSThemeDrawing.m (drawScrollViewRect:inView:): fixed scroller border positionning and length - do not overlap border if any. Use [self sizeForBorderType: borderType] to determine border width. 2019-12-12 Sergii Stoian * Source/NSFont.m (smallSystemFontSize): return 10 as default value. Update documention comment regarding default values for NSMiniFontSize ans NSSmallFontSize. 2019-12-11 Sergii Stoian * Source/NSWindow.m (initialize): use MiniWindowTile image for miniwindow tile. (drawRect:): adjusted position of title cell to fit tile image. (setTitle:): disable drawing of title cell background; use NSMiniControlSize font size for miniwindow title cell. * Source/NSFont.m (systemFontSizeForControlSize:): increased default font size for NSMiniControlSize. 2019-12-11 Sergii Stoian * Source/GSHorizontalTypesetter.m: removed extra imports left from last 2 commits. 2019-12-10 Sergii Stoian * Headers/Additions/GNUstepGUI/GSLayoutManager.h, * Source/GSLayoutManager.m: new method -typingAttributes returns default typing attributes of NSTextView. * Source/NSLayoutManager.m: override GSLayoutManager's -typingAttributes - primitive method - provides access to _typingAttributes ivar. * Source/GSHorizontalTypesetter.m: use new GSLayoutManager's -typingAttributes method to get paragraph style and font of new empty text container. Normally `curLayoutManager` is a NSLayoutManager object so, actually, we get NSLayoutManager's _typingAttributes. * Source/GSHorizontalTypesetter.m: (_addExtraLineFragment) get paragraph style and font from NSLayoutManager's typing attributes. Fixes insertion point height for empty text objects (NSTextView, NSTexField etc.). 2019-12-09 Sergii Stoian * Source/NSStringDrawing.m: fixed incorrect string drawing (shortened, misplaced) in ART backend. It seems that third parameter to `cache_lookup` function (BOOL useScreenFonts) is valuable for ART but not for Cairo backend. 2019-12-07 Fred Kiefer * .travis.yml * travis-deps.sh: Try to keep up with Niels' changes in base. 2019-12-06 Fred Kiefer * Headers/AppKit/NSGestureRecognizer.h * Source/NSGestureRecognizer.m: Restore code by Daniel Ferreira * Headers/AppKit/NSButtonTouchBarItem.h * Headers/AppKit/NSCandidateListTouchBarItem.h * Headers/AppKit/NSClickGestureRecognizer.h * Headers/AppKit/NSColorPickerTouchBarItem.h * Headers/AppKit/NSCustomTouchBarItem.h * Headers/AppKit/NSGroupTouchBarItem.h * Headers/AppKit/NSMagnificationGestureRecognizer.h * Headers/AppKit/NSPanGestureRecognizer.h * Headers/AppKit/NSPickerTouchBarItem.h * Headers/AppKit/NSPopoverTouchBarItem.h * Headers/AppKit/NSPressGestureRecognizer.h * Headers/AppKit/NSRotationGestureRecognizer.h * Headers/AppKit/NSSharingServicePickerTouchBarItem.h * Headers/AppKit/NSSliderTouchBarItem.h * Headers/AppKit/NSStepperTouchBarItem.h * Headers/AppKit/NSTouchBarItem.h Clean up after Greg's commit. 2019-12-06 Fred Kiefer * .travis.yml * travis-deps.sh: Update to match changes in base by Niels Grewe. 2019-12-02 Fred Kiefer * Source/NSBitmapImageRep.m (-_convertToFormatBitsPerSample:...): Correct division by zero bug in image conversion. 2019-11-03 Riccardo Mottola * Headers/AppKit/NSWorkspace.h Remove fake typedef for NSAppleEventDescriptor since now we have a stub in Foundation. 2019-07-28 Fred Kiefer * Source/NSSliderCell.m: Fix encoding/decoding as the types don't match. * Source/NSApplication.m (-targetForAction:to:from:): Warn only in debug mode about the target not responding to the action. 2019-07-07 Fred Kiefer * Headers/AppKit/NSColor.h, * Source/NSColor.m: Add tool tip named colours. * Source/GSToolTips.m (+initialize, -_timedOut:): Get colours from NSColor. 2019-04-17 Sergii Stoian * Source/GSDragView.m (_setCursor): Do not hold `cursors` array - use NSCursor's methods. Do not recolor cursor and just use [NSCursor greenArrowCursor]. * Headers/AppKit/NSCursor.h: * Source/NSCursor.m (greenArrowCursor): Use getStandardCursor() to get GSGreenArrowCursor. New cursor type GSGreeanArrowCursor was added. * Images/GSContextualMenuCursor.tiff, * Images/GSDisappearingItemCursor.tiff, * Images/GSDragCopyCursor.tiff, * Images/GSDragLinkCursor.tiff, * Images/GSGreenArrowCursor.tiff, * Images/GSOperationNotAllowedCursor.tiff: New cursor images. * Images/common_ClosedHandCursor.tiff, * Images/common_OpenHandCursor.tiff, * Images/common_copyCursor.tiff, * Images/common_linkCursor.tiff, * Images/common_noCursor.tiff: Removed from nsmapping.strings. * Images/GNUmakefile (Images_RESOURCE_FILES): Update resource list according to cursor images addition/removal. 2019-04-10 Sergii Stoian * Source/NSMenuItemCell.m (drawKeyEquivalentWithFrame:inView:): use NCell's textColor instead of check if we're disabled/enabled. 2019-04-10 Sergii Stoian * Source/NSMenuItemCell.m (drawKeyEquivalentWithFrame:inView:): check if item is disabled/enabled and set color attribute for attributed key equivalent string. 2019-04-09 Sergii Stoian * Source/NSMenuItemCell.m (_keyEquivalentString): if modifier key string is not defined - set key equivalent font trait: Italic for Alternate modifier Bold - for Control. (_sizeKeyEquivalentText:): new method to calculate string size wrt font set in `_keyEquivalentString:`. (drawKeyEquivalentWithFrame:inView:): draw key equivalent as attributed string. 2019-04-08 Sergii Stoian * Source/NSApplication.m (becomesKeyOnlyIfNeeded): override NSWindow methodin appicon to reduce number of order front calls. The source of the call is NSWindow's sendEvent:. 2019-04-06 Sergii Stoian * Headers/Additions/GNUstepGUI/GSDisplayServer.h, * Source/NSApplication.m, * Source/GSDisplayServer.m: `hidewindow` method was renamed to `hideApplication` * Source/NSApplication.m (hide:): Change comment before call to `hidewindow`. * Source/GSDisplayServer.m (hidewindow:): fixes to return value and type. Change comment. 2019-04-05 Sergii Stoian * Headers/AppKit/NSEvent.h: new event subtype `GSAppKitAppHide` was added. * Source/NSWindow.m (sendEvent:): handle "GSAppKitAppHide" event subtype. * Headers/Additions/GNUstepGUI/GSDisplayServer.h, * Source/GSDisplayServer.m (hidewindow:): new methods was added. * Source/NSApplication.m (hide:): Send -hidewindow: to to the main menu. If window manager doesn't support _GNUSTEP_HIDE_APP atom - hide windows by ourself. 2019-04-03 Sergii Stoian * Source/NSApplication.m (activateIgnoringOtherApps:): Optimize `-autolaunch YES` checking code. 2019-04-02 Sergii Stoian * Source/NSApplication.m: (activateIgnoringOtherApps:) Do not activate application on first run if commandline argument `-autolaunch YES` was specified. 2019-03-27 Sergii Stoian * Headers/AppKit/NSWindow.h: Lowering down NSFloatingWindowLevel number by one to distinguish floating panels from menus. 2019-02-26 Fred Kiefer * Source/NSBitmapImageRep+ICNS.m (_imageRepsWithICNSData:): Try to put the best suited image first. 2019-02-10 Fred Kiefer * Headers/Additions/GNUstepGUI/GSHorizontalTypesetter.h: Add comment to describe cache variables. * Source/GSHorizontalTypesetter.m: Restructure glyph attribute cache filling and make _addExtraLineFragment saver by providing a default for curParagraphStyle. 2019-01-21 Riccardo Mottola * Source/NSWorkspace.m Do guard includes for getmntinfo and mntent separately, should help building on Debian/kFreeBSD and fix 55526, but could need more work. 2019-01-06 Ivan Vucica * ANNOUNCE * Documentation/ReleaseNotes.gsdoc * Documentation/news.texi * NEWS * Version: Updating documentation for the 0.27.0 release. 2019-01-06 Ivan Vucica * configure: Regenerated with autoconf 2.69. 2019-01-05 Fred Kiefer * Documentation/news.texi: Fill in some details for pending release. * Source/NSTableView.m (encodeWithCoder:,initWithCoder:): Use unsigned int instead of unsigned long for flags. 2018-11-19 Riccardo Mottola * Headers/Additions/GNUstepGUI/config.h.in * configure * configure.ac New getmntent structure checks. * Source/NSWorkspace.m (getFileSystemInfoForPath) On linux, try to read /sys/block/xxx/removable information to get information about removable volumes, while continue honoring preferences. This can be a little inefficient if called for each volume. Furthermore in mountedLocalVolumePaths, enhance skipping reserved mount names by using filesystem type also if getmmntent is available. 2018-09-14 Fred Kiefer * Source/NSGraphicsContext.m (+graphicsContextWithGraphicsPort:flipped:): Rewrite using an init method. 2018-08-05 * Source/NSApplication.m (-setApplicationIconImage:): Avoid calling iconSize method on a null pointer. 2018-08-03 Fred Kiefer * Source/NSApplication.m (-applicationIconImage): Lazy load the app icon. 2018-07-27 Fred Kiefer * Source/NSView.m (-beginPageInRect:atPlacement): Remove check for empty rect. This will now use the placement translation all the time. 2018-07-14 Fred Kiefer * Source/NSPrinter.m (-addPPDKeyword:withScanner:withPPDPath:): Protect against value being nil. * Source/NSPageLayout.m (-tableView:objectValueForTableColumn:row:): With standard papers, calculate margins taking into account factorValue. * Source/NSPrintInfo.m (-initWithDictionary): Fix border calculation. Idea by Yavor Doganov 2018-07-08 Ivan Vucica * Source/NSOpenGLView.m: Fix docstring for -[NSOpenGLView initWithFrame:pixelFormat:]. There is no such thing as +[NSOpenGLContext defaultPixelFormat]. 2018-06-11 Riccardo Mottola * Headers/Additions/GNUstepGUI/config.h.in * configure * configure.ac * Source/NSBitmapImageRep+JPEG.m Check for floorf() and provide simple replacement. 2018-06-04 Stjepan Brkić * Headers/AppKit/NSView.h: Add 'id _coreAnimationData' variable. The variable will point to another class instance that will contain data necessary data for future implementation of methods regarding CA layers. 2018-03-30 Fred Kiefer * Source/NSDocument.m (-revertToContentsOfURL:ofType:error:): Add override calls for deprecated methods. 2018-03-29 Graham Lee * Source/NSWindowController.m: gsdoc 2018-03-11 Fred Kiefer * Headers/AppKit/NSSliderCell.h, * Source/NSSliderCell.m: Rewrite this class to store and access the value directly. This brings the behaviour closer to Apple's horrible implementation. 2018-02-27 Fred Kiefer * Source/NSSegmentedCell.m (-startTrackingAt:inView:, -continueTracking:at:inView:): Add this methods to enable tracking for this class. Patch suggested by Josh Freeman . 2018-02-27 Fred Kiefer * Headers/Additions/GNUstepGUI/GSTheme.h, * Source/GSThemeDrawing.m: Correct int/NSInteger mismatch detected by Josh Freeman . 2018-02-25 Fred Kiefer * Headers/AppKit/NSKeyValueBinding.h, * Source/NSKeyValueBinding.m: Add helper function NSIsControllerMarker. 2018-02-09 Fred Kiefer * Source/GSDisplayServer.m: Store the current display server in a static variable and not in a thread variable. Idea by Yavor Doganov 2018-02-05 Fred Kiefer * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Make sure nominal gets always set. 2018-02-04 Fred Kiefer * Source/NSAlert.m (NSBeginAlertSheet): Move closing the sheet from here... * Source/NSApplication.m (-beginSheet:...:contextInfo:): ...to here. 2018-01-29 Fred Kiefer * Tools/speech/GNUmakefile, * configure.ac: Give up on dynamic library detecion. * configure: Regnerate 2018-01-29 Fred Kiefer * configure.ac: Correct last commit. * configure: Regnerate 2018-01-28 Fred Kiefer * configure.ac: Improve checks for flite. * configure: Regnerate * Tools/speech/GNUmakefile: Use variables for flite libraries. * Tools/speech/FliteSpeechEngine.m: Switch to use register_cmu_us_kal16. 2018-01-24 Fred Kiefer * Printing/GSCUPS/GSCUPSPrintOperation.m: Restore -allocWithZone: methods as this is needed to override behaviour in superclass. 2018-01-23 Fred Kiefer * Source/NSApplication.m (-targetForAction:to:from:): Warn about the target not responding to the action. * Source/NSSavePanel.m (_initWithoutGModel): Don't set the OK button as the target of the browser. Use helper method instead. 2018-01-22 Gregory John Casamento * Tools/speech/GSSpeechSynthesizer.m: Correct compilation error in for loop in connectionDied: method. 2018-01-21 Fred Kiefer * Tools/speech/GNUmakefile: Remove specific OBJC flags. Fixes bug #46939. 2018-01-14 Fred Kiefer * Source/NSMenu.m (-update): Restructure by splitting up into two helper methods. * Source/NSMenu.m (-performKeyEquivalent:): Use new helper method to only autoenable menu item with matching key equivalent. 2018-01-14 Fred Kiefer * Source/GSLayoutManager.m (-glyphRangeForCharacterRange:actualCharacterRange:): Try to handle attachments at the end of the file more graceful. 2018-01-07 Fred Kiefer * Source/NSView.m (-_rebuildCoordinates): Use simple path only when both window and superview are nil. Set the visibleRect in this case to bounds. 2018-01-07 Fred Kiefer * Source/NSApplication.m (-targetForAction:to:from:): Return nil if the target is non-nil but does not respond to the action. 2018-01-01 Ivan Vucica * ANNOUNCE * Documentation/ReleaseNotes.gsdoc * Documentation/news.texi * NEWS * Version: Updating documentation for the 0.26.2 release. 2018-01-01 Fred Kiefer * Printing/GSCUPS/GSCUPSPrinter.m, * Printing/GSCUPS/GSCUPSPrintInfo.m: Restore -allocWithZone: methods as this is needed to override behaviour in superclass. 2018-01-01 Yavor Doganov * Documentation/make_services.1: Typo fix. 2018-01-01 Fred Kiefer * config/pkg.m4: Update to serial 12. * Headers/Additions/GNUstepGUI/config.h.in, * configure: Regnerate Fixes bug #52779. Patch by Yavor Doganov 2017-12-31 Ivan Vucica * Documentation/announce.texi * Documentation/news.texi * Documentation/ReleaseNotes.gsdoc * ANNOUNCE * NEWS * Version: Cut a new release of gnustep-gui which requires gnustep-base 1.25.1. 2017-12-28 Fred Kiefer * Tests/gui/NSBezierPath/windingCountAtPoint.m * Tests/gui/NSCell/basic.m * Tests/gui/NSEvent/delta.m * Tests/gui/NSPasteboard/lazy_copy.m * Tests/gui/NSSavePanel/setDelegate_reload.m * Tests/gui/NSSliderCell/minMax.m Remove comipler warnings in test code. * Tests/gui/TextSystem/deallocation.m Move auto release pool inside of the test set to get the test working again. 2017-12-28 Fred Kiefer * Printing/GSCUPS/GSCUPSPrinter.m, * Printing/GSCUPS/GSCUPSPrintInfo.m, * Printing/GSCUPS/GSCUPSPrintOperation.m: Undefine __BLOCKS__ before the cups.h import as some versions of this header file expect unconditional that libdispatch is present when that variable is defined. Remove duplicated -allocWithZone: methods. 2017-12-27 Richard Frith-Macdonald * Source/NSGraphicsContext.m: When using clang and the gnustep runtime (the nonfragile API), it seems the compiler calculates the offset of the _gcontext instance variable in the NSThread object incorrectly, causing a crash. Until we know why and can fix it, we need a workaround. The simplest one would be not to use the instance variable at all, but on the assumption that the instance variable was added to address a real performance issue it seems better to use the runtime to access the instance variable. 2017-12-10 Ivan Vucica * NEWS: Regenerate NEWS file for the 0.26.0 release. 2017-12-07 Ivan Vucica * Documentation/announce.texi: Use GNUSTEP-GUI-VERSION even when talking about -back. * Documentation/ReleaseNotes.gsdoc: * Documentation/news.texi: Update with notable changes for 0.26.0. * ANNOUNCE: Regenerated the ANNOUNCE file from announce.texi and news.texi. 2017-12-07 Ivan Vucica * Source/NSImage.m (-initWithCoder:): Clean up and reduce amount of releases of self. 2017-12-03 Fred Kiefer * Headers/AppKit/NSScreen.h * Source/NSScreen.m (-backingScaleFactor): Add new method. Change return value of -userSpaceScaleFactor to CGFloat. * Source/NSWindow.m (-backingScaleFactor): Return 1 instead of 0. 2017-10-28 Graham Lee * Source/NSImage.m (initWithCoder:): restore image name when loading an archived image with a name that can't be resolved at load time. Fixes Gorm bug #46317. 2017-10-05 Fred Kiefer * Source/NSMenu.m (-isPartlyOffScreen): Protect agains window or screen being nil. * Source/NSWindow.m (-_screenForFrame:): Try not to return nil, as other code uses the result without checks. 2017-10-01 Ivan Vucica * Documentation/ReleaseNotes.gsdoc: Backfill 0.24.1 through 0.25.1. Add stub 0.26.0 entry. * Documentation/news.texi: Add stub 0.26.0 entry. * Version: Bump to 0.26.0. 2017-08-31 Fred Kiefer * Source/NSStepperCell.m (-trackMouse:...untilMouseUp:): Adjust to changes in super class. 2017-08-27 Fred Kiefer * Source/NSButtonCell.m (-setButtonType:): Warn about unsupported button types. * Source/NSCell.m (-performClickWithFrame:inView:): Highlight the cell only if drawing is possible. 2017-08-27 Fred Kiefer * Source/NSCell.m (-trackMouse:...untilMouseUp:): Rewrote mouse tracking logic to be closer to the Cocoa definition. 2017-08-25 Riccardo Mottola * Source/NSBitmapImageRep.m Initialize density to 0, so that in case it is unset (72dpi) it is not a random value in case the struct is not zeroed. 2017-08-24 Daniel Ferreira * Source/externs.m: Define some private NSAttributedString attribute name definitions. Their functionality is not yet implemented. 2017-08-24 Daniel Ferreira * Headers/AppKit/NSWindow.h: Define new values for the NSWindowCollectionBehavior enum for compatibility purposes. 2017-08-24 Daniel Ferreira * Headers/AppKit/NSGestureRecognizer.h * Source/NSGestureRecognizer.m: Implement stub for -[NSGestureRecognizer locationInView:] for compatibility purposes. * Headers/AppKit/NSWindow.h * Source/NSWindow.m: Add stub for +[NSWindow windowNumberAtPoint:belowWindowWithWindowNumber:] for compatibility purposes. * Headers/AppKit/NSSpellChecker.h * Source/NSSpellChecker.m: Add a stub for the -checkGrammarOfString:... method for compatibility purposes. * Headers/AppKit/NSSpellChecker.h * Source/NSSpellChecker.m: Add stubs for: - +[NSSpellChecker isAutomaticTextReplacementEnabled], - +[NSSpellChecker isAutomaticDashSubstitutionEnabled] - +[NSSpellChecker isAutomaticQuoteSubstitutionEnabled] for compatibility purposes. 2017-08-15 Daniel Ferreira * Headers/AppKit/NSDragging.h: Create NSDraggingSource protocol for increased compatibility with GUI. * Headers/AppKit/NSSpellChecker.h: Add definitions for the NSCorrectionResponse for increased compatibility. * Headers/AppKit/NSWindow.h * Source/NSWindow.m: Add stub for -[NSWindow backingScaleFactor] for compatibility purposes. * Headers/AppKit/NSApplication.h * Headers/AppKit/NSWindow.h * Source/NSWindow.m: Define constants and stubs related to modal sheets in GUI for increased compatibility. * Headers/AppKit/NSFont.h * Source/externs.m: Define font weight constants introduced in macOS 10.11. * Source/externs.m: Export the private _NXSmartPaste constant for compatibility purposes. * Headers/AppKit/NSAttributedString.h * Source/externs.m: Add a stub for NSTextInsertionUndoableAttributeName, a private NSAttributedString attribute. * Headers/AppKit/NSButtonCell.h: Define new button cell constants in the NSButtonCell header. These buttons are not yet implemented, however. * Headers/AppKit/NSText.h: Define new-style NSTextAlignment* constants on GUI for compatibility purposes with new macOS versions. 2017-08-09 Svetlana Tkachenko * ColorPickers/Russian.lproj/StandardPicker.strings Add translation. 2017-08-04 Daniel Ferreira * .travis.yml * travis-deps.sh: Add a Travis CI build to gnustep-gui to check if everything is really okay before accepting patches. Recent events have shown that bad patches have passed through the review process, specially when it comes to breaking compatibility with GCC. A CI routine would distinctly avoid these cases. 2017-08-04 Alex Myczko * ColorPickers/Polish.lproj: Added translation. 2017-08-02 Alex Myczko * ColorPickers/German.lproj: Added translation. 2017-07-31 Fred Kiefer * Headers/AppKit/NSPasteboardItem.h * Source/NSPasteboardItem.m: Clean up these files. 2017-07-31 Ivan Vucica * Source/NSTextList.m: Add _startingItemNumber-related TODOs to NSTextList. * Source/NSPasteboardItem.m: Remove RETAIN() when returning -[NSPasteboardItem types]. 2017-07-28 Fred Kiefer * Source/NSMenuView.m (-attachSubmenuForItemAtIndex:): We should not use [NSMenu display] for NSWindows95InterfaceStyle as there we have two NSMenuViews for the NSMenu. 2017-07-28 Riccardo Mottola * Headers/AppKit/NSRunningApplication.h: We can actually use retain as an equivalent property when not using ARC. 2017-07-26 Fred Kiefer * Headers/AppKit/NSRunningApplication.h: Remove property attribute "strong" as gcc does not support this. 2017-07-26 Daniel Ferreira * Headers/AppKit/NSTextList.h * Source/NSTextList.m: Add the `startingItemNumber` property to NSTextList introduced in macOS 10.6. 2017-07-26 Daniel Ferreira * Headers/AppKit/AppKit.h * Headers/AppKit/NSPasteboardItem.h * Source/GNUmakefile * Source/NSPasteboardItem.m: Implement the NSPasteboardItem class. For now, it remains relatively useless since NSPasteboard does not yet know how to use it. However, it should be pluggable into NSPasteboard once NSPasteboard learns about NSPasteboardReading and NSPasteboardWriting. * Headers/AppKit/NSPasteboard.h: Define the NSPasteboardReading and NSPasteboardWriting protocols introduced in OSX 10.6, which remain unimplemented in NSPasteboard. 2017-07-26 Daniel Ferreira * Headers/AppKit/AppKit.h * Headers/AppKit/NSTextAlternatives.h * Source/GNUmakefile * Source/NSTextAlternatives.m: Implement NSTextAlternatives, a class usually used for choosing alternatives from a basic string usually for dictation purposes. 2017-07-26 Daniel Ferreira * Headers/AppKit/NSScroller.h * Source/NSScroller.m: As of macOS 10.7, scrollers gained two types: Legacy and Overlay. Here, we define these styles as well as a method to determine which is the "default" style to be used. 2017-07-25 Riccardo Mottola * Source/externs.m Do not initialize a string constant with another string constant or it breaks GCC build as is. Better proposals to ensure the exact same string pointer is used welcome. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSAttributedString.h * Source/externs.m: Define an (unimplemented) NSAttributedString attribute for an NSTextAlternatives object. Define an (unimplemented) NSAttributedString attribute for Unicode writing direction. * Headers/AppKit/NSParagraphStyle.h * Headers/AppKit/NSText.h: Define constants for defining an attributed string's writing direction. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSCell.h * Headers/AppKit/NSView.h * Source/NSCell.m * Source/NSView.m: Implement stubs for the layout direction properties in NSCell and NSView. Currently, they default to left-to-right layouting. 2017-07-25 Daniel Ferreira * Headers/AppKit/AppKit.h * Headers/AppKit/NSAccessibility.h * Headers/AppKit/NSAccessibilityConstants.h * Source/GNUmakefile * Source/NSAccessibility.m: Declare base NSAccessibility functions and constants, which have been implemented as stubs. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSWindow.h: Define a missing enum value for a window mask. This mask remains unimplemented. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSControl.h * Source/NSControl.m: Create a stub for the -[NSControl sizeThatFits:] function. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSScrollView.h * Source/NSScrollView.m: Create stubs for the content/scroller inset properties in NSScrollView. 2017-07-25 Daniel Ferreira * Headers/AppKit/AppKit.h * Source/GNUmakefile: Create new classes in the GUI library. * Headers/AppKit/NSRunningApplication.h * Source/NSRunningApplication.m: Create a stub for the NSRunningApplication class. * Headers/AppKit/NSGestureRecognizer.h * Source/NSGestureRecognizer.m: Create stub for the NSGestureRecognizer class. * Headers/AppKit/NSVisualEffectView.h * Source/NSVisualEffectView.m: Create stub for the NSVisualEffectView class. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSSpeechSynthesizer.h * Source/NSSpeechSynthesizer.m: Define new constants in NSSpeechSynthesizer. These are not yet handled by the implementation. * Headers/AppKit/NSSpellChecker.h: Define new constants on NSSpellChecker. They are not yet handled by the implementation. 2017-07-25 Daniel Ferreira * Headers/AppKit/AppKit.h * Headers/AppKit/NSUserInterfaceLayout.h * Source/GNUmakefile: Define interface layout enums to be used by AppKit. This improves compatibility with the reference platform. 2017-07-25 Daniel Ferreira * Headers/AppKit/AppKit.h * Headers/AppKit/NSUserInterfaceItemIdentification.h * Source/GNUmakefile: Introduce the NSUserInterfaceItemIdentification protocol, which required an user interface class provide an unique identifier. 2017-07-25 Daniel Ferreira * Headers/AppKit/AppKit.h * Headers/AppKit/NSSharingService.h * Source/GNUmakefile * Source/NSSharingService.m: Define the NSSharingService class as an unimplemented stub for compatibility purposes. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSView.h * Source/NSView.m: Define layer-related properties in NSView for compatibility purposes, and keep their getters and setters as stubs, since they will not have any effect before NSView-CALayer integration is implemented. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSPasteboard.h * Source/NSPasteboard.m * Source/externs.m: Define new constants for NSPasteboard type identifiers. Most of them are aliases to the old "Pboard"-style types, although some new ones are not fully implemented. 2017-07-25 Daniel Ferreira * Headers/AppKit/NSSpeechSynthesizer.h: Modern applications require NSSpeechSynthesizerDelegate to be an actual @protocol in order to conform to it. Here, we allow it to be one if we are on an Objective-C runtime that supports it. 2017-07-22 Fred Kiefer * Source/GSModelLoaderFactory.m (-supportedModelFileAtPath:): Fix bug found by compiler. 2017-07-22 Fred Kiefer * Headers/AppKit/NSEvent.h * Source/NSEvent.m: Add some newer Cocoa enums and one method with dummy implementation. 2017-07-09 Fred Kiefer * Headers/AppKit/NSEvent.h * Source/NSEvent.m: Add some newer Cocoa methods with dummy implementations. 2017-07-09 Fred Kiefer * .gitignore: Add a .gitignore file. 2017-06-17 Riccardo Mottola * Source/NSBitmapImageRep+JPEG.m Save resolution information if it is different from 72 dpi. 2017-06-13 Fred Kiefer * Source/externs.m: Added semicolons missing in last commit. * Source/NSSavePanel.m: Fix return type of sorting function. 2017-06-12 Ivan Vucica * Source/NSAttributedString.m, * Source/externs.m: Merge pull request from TheDharc . 2017-04-24 Riccardo Mottola * Source/tiff.m * Source/NSBitmapImageRep.m Support for writing resolution. 2017-04-22 Fred Kiefer * Version: Correct required base version that has been off for a year. 2017-04-16 Fred Kiefer * Printing/GSCUPS/GSCUPSPrinter.m: Add include to get deprecated function cupsGetPPD() on newer CUPS systems. 2017-04-16 Fred Kiefer * Model/IMLoading.m * Source/GSTextStorage.m * Source/GSToolbarView.m * Source/NSLayoutManager.m * Source/NSTableView.m Fix some clang static analyser warnings reported by Sebastian Reitenbach . 2017-04-06 Ivan Vucica * Releasing 0.25.1. 2017-04-05 Fred Kiefer * Headers/Additions/GNUstepGUI/GSXibKeyedUnarchiver.h: Moved from Source. * Headers/Additions/GNUstepGUI/GSXibLoading.h, * Source/GSXibLoader.m, * Source/GSXibKeyedUnarchiver.m, * Source/GNUmakefile: Use and install moved header file. 2017-04-01 Fred Kiefer * Source/NSMenu.m (-displayTransient): Update menu before displaying. * Source/NSMenuView.m (-attachSubmenuForItemAtIndex:): Use NSMenu display method. 2017-03-31 Fred Kiefer * Source/NSAttributedString.m: Check for surrogate UTF16 characters to prevent nil strings when trying to attempt font substitution. 2017-03-31 Riccardo Mottola * Source/NSBitmapImageRep+JPEG.m (-_initBitmapFromJPEG:errorMessage:) Ignore density if unit is 0 2017-03-28 Riccardo Mottola * Source/NSBitmapImageRep+JPEG.m (-_initBitmapFromJPEG:errorMessage:) Parse density data and set size accordingly. 2017-03-24 Fred Kiefer * Source/NSBitmapImageRep+JPEG.m(-_JPEGRepresentationWithProperties:errorMessage:): Correct JPEG export which was using size instead of pixelsWide and pixelsHigh. 2017-03-20 Fred Kiefer * Source/GSXibKeyedUnarchiver.m: Merge some of the changes from the testplant branch. 2017-03-19 Fred Kiefer * Source/NSBrowser.m: Add encoding of NSColumnsAutosaveName. * Headers/Additions/GNUstepGUI/GSXibLoading.h, * Source/GSXibLoader.m, * Source/GSXibKeyedUnarchiver.h, * Source/GSXibKeyedUnarchiver.m, * Source/GNUmakefile: Split of GSXibKeyedUnarchiver in separate file. * Source/GSXibLoading.m: Add description method for IBUserDefinedRuntimeAttribute. Merge some of the changes from the testplant branch. 2017-03-05 Fred Kiefer * Headers/AppKit/NSImage.h * Headers/AppKit/NSSplitView.h * Source/NSImage.m * Source/NSProgressIndicator.m * Source/NSTableHeaderView.m Merge some of the changes from the testplant branch. 2017-02-20 Fred Kiefer * Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:): Add extra line fragment for empty string here. 2017-02-17 Fred Kiefer * Source/GSLayoutManager.m (-usedRectForTextContainer:): Add extra line rect when needed. * Source/NSTextView.m (sizeToFit): Don't add extra line rect, as it is now already included. * Source/NSStringDrawing.m (cache_lookup): Remove hack for empty string. 2017-02-12 Fred Kiefer * Source/NSStringDrawing.m: Use shared drawing code. * Source/NSStringDrawing.m (cache_lookup): Try to handle case of empty string. 2017-02-12 Fred Kiefer * Source/NSStringDrawing.m: Clean up string drawing cache code. 2017-01-08 Fred Kiefer * Source/NSMenu.m (-_isVisible, -_isMain): Add two helper methods. And make sure we update the menu items before display and keyEquivalent processing.