RELEASE.
Patch by Philippe Roussel <p.o.roussel@free.fr>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34492 72102866-910b-0410-8b05-ffd578937521
* Source/NSImage.m: Correct _clearFileTypeCaches notification
method to take a NSNotification* parameter.
* Soure/NSImage.m (themeDidActivate:): Move to a class method,
and move the GSThemeDidActivateNotification subscription
to +[NSImage initialize]. Now the +_themeDidActivate: updates
all images by looking at all the values in nameDict. This should
function exactly the same as before, but seems to be quite a bit
faster due to fewer notifications being sent (?)
* Source/NSImage.m (+imageNamed:): Remove redundant fetch from
nameDict pointed out by Fred
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34482 72102866-910b-0410-8b05-ffd578937521
move to private category. Also remove use of lock as it is
unnecessary
* Source/NSImage.m: (-themeDidActivate:): Extract method
_resetAndUseFromFile:. Don't reset _size if
flags.sizeWasExplicitlySet was true.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34481 72102866-910b-0410-8b05-ffd578937521
fix bug reported by Riccardo where OK button is disabled when
selecting directories after selecting a file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34480 72102866-910b-0410-8b05-ffd578937521
on theme activation/deactivation.
* Source/NSImage.m (+imageNamed:): Factor out code for finding
the path for a name to a separate method, +pathForImageNamed.
The code is unchanged otherwise, except for fixing the retrieval
of images from the theme bundle, which was broken.
* Source/NSImage.m (-setName:): Remove code for creating theme
proxy. Subscribe/unscribe to theme change notification when
the receiver is added/removed from the name dictionary.
* Source/NSImage.m (-themeDidActivate:): Method called in
response to a GSThemeDidActivateNotification on images with
a name set. It does a path lookup in the same way that
+imageNamed: would, and checks if the path has changed due
to the theme change. If it has, all reps are discarded and
the image at the new path is loaded. This avoids the need for
the theme proxy objects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34474 72102866-910b-0410-8b05-ffd578937521
range exceptions when moving the cursor up in the first line and down
in the last line of a NSTextView, respectively.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34375 72102866-910b-0410-8b05-ffd578937521
variable, which was breaking printing of wrap-to-page mode in
TextEdit. TODO: Run the printing code through valgrind, there is
a lot of suspicious code.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34373 72102866-910b-0410-8b05-ffd578937521
the minimum size is not greater than the current size and the maximum
size is not smaller than the current size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34362 72102866-910b-0410-8b05-ffd578937521
by the placement value. Previously, we would translate only if the
rect parameter was empty, which doesn't make sense to me.
This fixes the bug where the last page of a document printed from
Ink/TextEdit was incorrectly positioned at the bottom of the
printed page.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34352 72102866-910b-0410-8b05-ffd578937521
Restore code to draw the background when the cell is highligted
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34337 72102866-910b-0410-8b05-ffd578937521
Set file icons on browser cells in the open/save panels.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34322 72102866-910b-0410-8b05-ffd578937521
When highlighted, use -image if -alternateImage is nil.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34321 72102866-910b-0410-8b05-ffd578937521
criteria for determining cell editability::
- the delegate (if present) must say YES
- and the cell itself must return YES for isEditable
- and the table column must return YES for isEditable
Previously you could edit cells that returned NO for
isEditable if the column they were in was editable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34320 72102866-910b-0410-8b05-ffd578937521
"_tableView = nil" which was causing a problem with my xib file.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34319 72102866-910b-0410-8b05-ffd578937521
implementation so these methods work without requiring the
cell to be an image cell.
* Source/NSBrowserCell.m (-drawInteriorWithFrame:inView:): Don't
draw background. Remove -(void) isOpaque { return YES; }. Also
pixel-align images and use modern -drawInRect: method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34317 72102866-910b-0410-8b05-ffd578937521
and unsigned with NSUInteger. This allows to recompile gui on
64 bit systems after the change to NSNotFound in base.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34312 72102866-910b-0410-8b05-ffd578937521
Move _finalWritePrintInfo: call to the end of _pickedButton:. This
fixes the save and preview buttons for me.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34294 72102866-910b-0410-8b05-ffd578937521
(-_scheduleTextCheckingInVisibleRectIfNeeded): Check for
nil before sending -rectValue to avoid crash
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34238 72102866-910b-0410-8b05-ffd578937521
index is given select the first item. This should fix bug #34923.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34228 72102866-910b-0410-8b05-ffd578937521
default line framgent padding from here ...
* Source/NSTextContainer.m (-initWithContainerSize:): ... to here.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34227 72102866-910b-0410-8b05-ffd578937521
* Source/NSToolbar.m:
* Source/GSToolbarCustomizationPalette.m:
* Source/GSToolbarView.m:
* Source/NSToolbarItem.m:
* Source/NSToolbarFrameworkPrivate.h:
* Headers/AppKit/NSToolbar.h: Implement -initWithCoder: for
NSToolbar. This required a bit more work that usual because
toolbars created with -initWithCoder can operate without a delegate.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34189 72102866-910b-0410-8b05-ffd578937521
change for the case where there are no representations for the
image.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34168 72102866-910b-0410-8b05-ffd578937521
([GSUserDefaultsHelper-valueForKey:]) Use a marker for values
being nil. This should fix bug #34790.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34167 72102866-910b-0410-8b05-ffd578937521
all other matching criteria fail, use the first image instead
of the last (arbitrary, but seems to match cocoa.)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34166 72102866-910b-0410-8b05-ffd578937521
as it is currently broken on the cairo backend.
* Source/NSApplication.m (-setApplicationIconImage:): Don't
use call -setScalesWhenResized:, because if it worked as it is
supposed to, it would scale all icon reps down to 48x48,
making large icon sizes useless.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34164 72102866-910b-0410-8b05-ffd578937521
NSImageScaleProportionallyUpOrDown.
This prevents icons with large sizes (e.g. 512x512 pixel) from
making the info panel really big.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34161 72102866-910b-0410-8b05-ffd578937521
* Headers/AppKit/NSCell.h: Move NSImageScaling constants to NSCell
* Source/NSImageCell.m:
* Source/NSCell.m: Refactor the image scaling logic to a private
method in NSCell, -_scaleImageWithSize:toFitInSize:scalingType:
which can be share by NSImageCell, NSButtonCell, and any other
cell classes that need it.
* Source/NSButtonCell.m:
* Headers/AppKit/NSButtonCell.h: Implement -imageScaling and
-setImageScaling methods.
* Source/GSThemeDrawing.m:
* Headers/Additions/GNUstepGUI/GSTheme.h: Remove the
-drawImage:inButtonCell:withFrame:position: API intended
to let themes substitute images right before drawing,
as IMHO it's the wrong place to hook in new images (by
the time this method was caleld, sizing/positionging
was already done).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34160 72102866-910b-0410-8b05-ffd578937521
to set the tool tips of an object. Should fix bug report #34783
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34155 72102866-910b-0410-8b05-ffd578937521
Don't use @"" when no null placeholder is defined.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34135 72102866-910b-0410-8b05-ffd578937521
HACK: PNG can not represent 72DPI exactly. If the pixels-per-meter value is
near 72DPI, assume it is exactly 72 DPI. Note that the same problem occurrs
at 144DPI, or 288DPI... so don't use PNG for resolution independent graphics.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34127 72102866-910b-0410-8b05-ffd578937521
the action on the menu item to -_popUpItemAction:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34126 72102866-910b-0410-8b05-ffd578937521
the color changes. NSColorPanel is always "continuous" for now...
to support -isContinuous == NO, we need to augment the API between
the color panel and the pickers so they can send a message when
the mouse is released.
* Source/NSTextView.m: Change typing attributes in response to
colorChanged:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34105 72102866-910b-0410-8b05-ffd578937521
Note that this makes the NSView autoresizing and rounding test pass,
but the new centerScanRect test I just added fail.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34104 72102866-910b-0410-8b05-ffd578937521
of the control view that the value has changed.
Should fix bug #34492
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34099 72102866-910b-0410-8b05-ffd578937521
NSMenuItemCell to a new method in GSThemeDrawing.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34079 72102866-910b-0410-8b05-ffd578937521
by 0xE00 in NSCellFlags2. The previous location they were being
read/written from was giving bogus values such as 7.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34073 72102866-910b-0410-8b05-ffd578937521
Correct keyed encoding and decoding of flags. NIB files created
from GNUstep will need to be recreated.
Should fix bug #34498.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@34008 72102866-910b-0410-8b05-ffd578937521
-initWithCoder:): Archive missing attributes in non-keyed
mode. This required updating the NSTextView version to 4.
Should fix bug #33884.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33962 72102866-910b-0410-8b05-ffd578937521
representation into the new cache. Use NSRectFillUsingOperation
instead of PScompositerect.
* Source/NSImage.m (-drawRepresentation:inRect:): Use DPS
operations instead of PS operations.
Should fix bug #34470
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33948 72102866-910b-0410-8b05-ffd578937521
The flag isDisplayedWhenStopped is stored negated.
Should fix bug #34487
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33947 72102866-910b-0410-8b05-ffd578937521
-setValue:forKey:): Add support for the bindings NSFontNameBinding
and NSFontSizeBinding.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33834 72102866-910b-0410-8b05-ffd578937521
locking focus on an image with no representations.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33827 72102866-910b-0410-8b05-ffd578937521
size (0, 0)
* Source/NSCachedImageRep.m: Throw an exception if you attempt to create a cached
image rep with a size of (0, 0).
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33819 72102866-910b-0410-8b05-ffd578937521
server can't be contacted; otherwise the user may be spammed with a series
of popups if automatic spellchecking (underlining) is turned on, but
the current language isn't set.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33816 72102866-910b-0410-8b05-ffd578937521
* Source/NSFontPanel.m: Use NSApplication method to order front character palette
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33815 72102866-910b-0410-8b05-ffd578937521
bit by using
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]
* Source/NSCell.m (-drawInteriorWithFrame:inView:): Switch from
-[NSImage compositeToPoint...] to
-[NSImage drawInRect:fromRect:operation:fraction:respectFlipped:hints:]
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33813 72102866-910b-0410-8b05-ffd578937521
in place of the _fileTypes ivar. Replace calls to _setupForTypes: with
-setAllowedFileTypes:.
* Headers/AppKit/NSOpenPanel.h: Remove now unused _fileTypes ivar
* Source/NSSavePanel.m: Treat directories whose names have extensions
in the _allowedFileTypes array as file packages.
Previously, we only relied on -[NSWorkspace isFilePackageAtPath:],
to determine if a director is a file package, which only considers the
info.plists of installed applications.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33810 72102866-910b-0410-8b05-ffd578937521
(if necessary) _invalidRect so it lies on integral device pixels.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33809 72102866-910b-0410-8b05-ffd578937521
* Source/GSHorizontalTypesetter.m: Split declaration of struct
GSHorizontalTypesetter_glyph_cache_s and struct
GSHorizontalTypesetter_line_frag_s from their typedefs to compile
under clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33793 72102866-910b-0410-8b05-ffd578937521
because we now cache the entire representation and not the rep scaled
to the image's size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33770 72102866-910b-0410-8b05-ffd578937521
on backends supporting GSdraw: (cairo). This means we don't have to
create a window for every call to draw an image, and gives me a 5-10x
speedup for image drawing.
* Source/NSCachedImageRep.m: Implement private method
-nativeDrawInRect:.. which is called by NSImageRep's
-drawInRect:fromRect:..., and efficiently draw the cached rep
using GSdraw:. Also make some changes so cached image reps can have a
DPI != 72.
* Headers/AppKit/NSCachedImageRep.h: New private init method that lets
you specify diferent pixel size and point size.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33765 72102866-910b-0410-8b05-ffd578937521