|
From: | Chad Hardin |
Subject: | Re: GSCUPS and GNUstep Printing |
Date: | Fri, 11 Jun 2004 16:06:17 -1000 |
Another thing, I think my modifications to the printing system will have to make changes to NSPageLayout too. This is because each printer has different page sizes, in order to get the page sizes you have to get the printers, the PPD for that printer, etc., etc.
Keep in mind that the changes I will be making will also mean different GORMs for each type. I guess that means there will be things like gnustep-gui/Panels/Language.lproj/GSCUPSPageLayout.gorm and GSLPRPageLayout.gorm.
I'm venturing into somewhat new territory here, so I'm thinking the very first patch I submit will *not* have any CUPS stuff in it at all. Instead it will have this printing backend type thing with the LPR printing backend. When that is working I will then work on the CUPS addition. That seems much more sane to me.
The CUPS backend will be much more complex than the current GNUstep printing stuff. It will have all kinds of user-configurable options like resolution, color/monochrome, saving of user-defined defaults, etc. Anyone who has interacted with OS X printing system will be familiar with what I'm talking about here. Pretty nifty stuff.
I remember reading that people who contribute code to official GNU projects need to sign legal documents. Should I start on that now so when my patches are done all is good. Or will that not apply to me?
Chad On Jun 11, 2004, at 12:46 PM, Adam Fedor wrote:
On Jun 11, 2004, at 4:37 PM, Chad Hardin wrote:Perhaps 'Printing' or something generic that describes what the files do.Probably these should go in a separate subdirectory under Source.Ok, under GSCUPS, I suppose?//find out what we are actually going to allocate, is it a GSLPRPrinter or a GSCUPSPrinter (maybe even a GSWindowsPrinter?)Sure, something like that is fine, although both NSPrinInfo and NSPrintPanel are shared, so you probably only need to change the shared factory method, plus you need to check if you can even use GSCupsPrinter even if the default requests it. Also you should put this in allocWithZone: since alloc just calls that.userDefault = //whatever the default is if( [userDefault isEqualToString: @"GSCUPS"]) { return [GSCUPSPrinter alloc]; } if( [userDefault isEqualToString: @"GSLPR"]) { return [GSCUPSLPR alloc]; }_______________________________________________ Discuss-gnustep mailing list Discuss-gnustep@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnustep
[Prev in Thread] | Current Thread | [Next in Thread] |