discuss-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GSCUPS and GNUstep Printing


From: Chad Hardin
Subject: Re: GSCUPS and GNUstep Printing
Date: Fri, 11 Jun 2004 16:06:17 -1000

I'm a bit confused about something in the PageLayout GORM Panel. In there there is a "Layout" option for selecting how many pages to print per sheet of paper. I think this option is best kept in the actual print panel. In fact, it already is in tha panel. Also, I can't think of a single app which is actually using the NSPageLayout class and panel, why is that?

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:

Probably these should go in a separate subdirectory under Source.
Ok, under GSCUPS, I suppose?

Perhaps 'Printing' or something generic that describes what the files do.
//find out what we are actually going to allocate, is it a GSLPRPrinter or a GSCUPSPrinter (maybe even a GSWindowsPrinter?)
        userDefault = //whatever the default is

        if( [userDefault isEqualToString: @"GSCUPS"])
        {
                return [GSCUPSPrinter alloc];
        }

        if( [userDefault isEqualToString: @"GSLPR"])
        {
                return [GSCUPSLPR alloc];
        }

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.



_______________________________________________
Discuss-gnustep mailing list
Discuss-gnustep@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnustep





reply via email to

[Prev in Thread] Current Thread [Next in Thread]